@mixin ps-draggable {
    & {
        --shift-x: 0px;
        --shift-y: 0px;
        --drag-x: 0px;
        --drag-y: 0px;
        --translate-x: var(--drag-x, 0px);
        --translate-y: var(--drag-y, 0px);

        inset-inline-start: var(--shift-x, 0px);
        inset-block-start : var(--shift-y, 0px);
        transform-origin  : 0% 0%;
        inset-inline-end  : auto;
        inset-block-end   : auto;
        touch-action: none;
        writing-mode: horizontal-tb;
        translate: 0% 0% 0%;
        direction: ltr;
        position: fixed;

        transform:
            scale3d(var(--scale, 1), var(--scale, 1), var(--scale, 1))
            translate3d(var(--drag-x, 0px), var(--drag-y, 0px), 0px);
    };
};
