@oscarpalmer/oui 0.39.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/js/color-picker/color-picker.constants.d.mts +2 -0
- package/dist/js/color-picker/{constants.color-picker.mjs → color-picker.constants.mjs} +5 -4
- package/dist/js/color-picker/{dom.color-picker.d.mts → color-picker.dom.d.mts} +2 -2
- package/dist/js/color-picker/{dom.color-picker.mjs → color-picker.dom.mjs} +3 -3
- package/dist/js/color-picker/{event.color-picker.d.mts → color-picker.event.d.mts} +2 -2
- package/dist/js/color-picker/{event.color-picker.mjs → color-picker.event.mjs} +1 -1
- package/dist/js/color-picker/{form.color-picker.d.mts → color-picker.form.d.mts} +2 -2
- package/dist/js/color-picker/{form.color-picker.mjs → color-picker.form.mjs} +9 -6
- package/dist/js/color-picker/color-picker.misc.d.mts +2 -0
- package/dist/js/color-picker/{misc.color-picker.mjs → color-picker.misc.mjs} +1 -1
- package/dist/js/color-picker/color-picker.model.d.mts +2 -0
- package/dist/js/color-picker/{models.color-picker.mjs → color-picker.model.mjs} +1 -1
- package/dist/js/color-picker/{output.color-picker.d.mts → color-picker.output.d.mts} +2 -2
- package/dist/js/color-picker/{output.color-picker.mjs → color-picker.output.mjs} +13 -11
- package/dist/js/color-picker/color-picker.state.d.mts +8 -0
- package/dist/js/color-picker/color-picker.state.mjs +2 -0
- package/dist/js/color-picker/index.d.mts +180 -2
- package/dist/js/color-picker/index.mjs +59 -57
- package/dist/js/color-picker.constants-D1mxw_Le.d.mts +179 -0
- package/dist/js/{event.color-picker-BEpq0Adu.mjs → color-picker.event-Cksj5TvS.mjs} +105 -90
- package/dist/js/color-picker.misc-CtsXGrOe.d.mts +27 -0
- package/dist/js/combobox/combobox.constants.d.mts +2 -0
- package/dist/js/combobox/{constants.combobox.mjs → combobox.constants.mjs} +21 -21
- package/dist/js/combobox/{dom.combobox.d.mts → combobox.dom.d.mts} +3 -3
- package/dist/js/combobox/{dom.combobox.mjs → combobox.dom.mjs} +40 -36
- package/dist/js/combobox/{event.combobox.d.mts → combobox.event.d.mts} +3 -3
- package/dist/js/combobox/{event.combobox.mjs → combobox.event.mjs} +1 -1
- package/dist/js/combobox/combobox.misc.d.mts +2 -0
- package/dist/js/combobox/{misc.combobox.mjs → combobox.misc.mjs} +1 -1
- package/dist/js/combobox/combobox.model.d.mts +2 -0
- package/dist/js/combobox/combobox.state.d.mts +10 -0
- package/dist/js/combobox/combobox.state.mjs +2 -0
- package/dist/js/combobox/index.d.mts +163 -2
- package/dist/js/combobox/index.mjs +53 -52
- package/dist/js/combobox.constants-DZVkMP5g.d.mts +19 -0
- package/dist/js/combobox.misc-C1tPZZDi.d.mts +22 -0
- package/dist/js/combobox.model-oDV06XCN.d.mts +44 -0
- package/dist/js/{state.combobox-BWDFHwoi.mjs → combobox.state-BfJ3Hxg8.mjs} +94 -80
- package/dist/js/constants.listbox-C5Ap6Ag_.d.mts +9 -0
- package/dist/js/dialog/dialog.model.d.mts +2 -0
- package/dist/js/dialog/dialog.model.mjs +11 -0
- package/dist/js/dialog/index.d.mts +12 -0
- package/dist/js/dialog/index.mjs +123 -0
- package/dist/js/dialog.model-DX2mndMh.d.mts +45 -0
- package/dist/js/floatable/floatable.embedded.d.mts +2 -2
- package/dist/js/floatable/floatable.embedded.mjs +64 -92
- package/dist/js/floatable/floatable.model.d.mts +2 -0
- package/dist/js/floatable/floatable.model.mjs +23 -0
- package/dist/js/floatable/floatable.standalone.d.mts +2 -1
- package/dist/js/floatable.embedded-MeTyXjFn.d.mts +17 -0
- package/dist/js/{floatable.embedded-DQYkXt8X.d.mts → floatable.model-DXsQgoU7.d.mts} +13 -20
- package/dist/js/focus-trap/focus-trap.embedded.d.mts +2 -2
- package/dist/js/focus-trap/focus-trap.embedded.mjs +113 -135
- package/dist/js/focus-trap/focus-trap.model.d.mts +2 -0
- package/dist/js/focus-trap/focus-trap.model.mjs +15 -0
- package/dist/js/focus-trap/focus-trap.standalone.d.mts +2 -1
- package/dist/js/focus-trap.embedded-DIU05m1z.d.mts +13 -0
- package/dist/js/{focus-trap.embedded-CjyFQYow.d.mts → focus-trap.model-BeX6UYlw.d.mts} +16 -18
- package/dist/js/index.d.mts +26 -14
- package/dist/js/index.mjs +18 -17
- package/dist/js/internal/attributable.mjs +3 -2
- package/dist/js/internal/draggable/draggable.model.d.mts +2 -0
- package/dist/js/internal/draggable/draggable.model.mjs +37 -0
- package/dist/js/internal/draggable/index.d.mts +13 -0
- package/dist/js/internal/{draggable.mjs → draggable/index.mjs} +82 -113
- package/dist/js/internal/listbox/listbox.constants.d.mts +1 -1
- package/dist/js/internal/listbox/listbox.data.d.mts +1 -1
- package/dist/js/internal/listbox/listbox.data.mjs +1 -1
- package/dist/js/internal/listbox/listbox.dom.d.mts +1 -1
- package/dist/js/internal/listbox/listbox.dom.mjs +1 -1
- package/dist/js/internal/listbox/listbox.event.d.mts +1 -1
- package/dist/js/internal/listbox/listbox.event.mjs +20 -17
- package/dist/js/internal/listbox/listbox.form.d.mts +1 -1
- package/dist/js/internal/listbox/listbox.form.mjs +15 -12
- package/dist/js/internal/listbox/listbox.misc.d.mts +1 -1
- package/dist/js/internal/listbox/listbox.misc.mjs +1 -1
- package/dist/js/internal/listbox/listbox.model.d.mts +2 -2
- package/dist/js/internal/listbox/listbox.state.d.mts +4 -4
- package/dist/js/internal/listbox/listbox.state.mjs +19 -20
- package/dist/js/internal/misc.d.mts +1 -0
- package/dist/js/internal/misc.mjs +4 -6
- package/dist/js/internal/navigable/index.d.mts +6 -0
- package/dist/js/internal/navigable/index.mjs +125 -0
- package/dist/js/internal/navigable/navigable.model.d.mts +2 -0
- package/dist/js/internal/navigable/navigable.model.mjs +18 -0
- package/dist/js/l10n/index.d.mts +9 -0
- package/dist/js/{l10n.mjs → l10n/index.mjs} +50 -23
- package/dist/js/l10n/l10n.model.d.mts +2 -0
- package/dist/js/l10n/l10n.model.mjs +9 -0
- package/dist/js/l10n.model-D6a9frgl.d.mts +26 -0
- package/dist/js/listbox/constants.listbox.d.mts +2 -2
- package/dist/js/listbox/constants.listbox.mjs +10 -14
- package/dist/js/listbox/event.listbox.d.mts +1 -1
- package/dist/js/listbox/event.listbox.mjs +47 -1
- package/dist/js/listbox/index.d.mts +6 -4
- package/dist/js/listbox/index.mjs +47 -49
- package/dist/js/listbox/misc.listbox.d.mts +1 -1
- package/dist/js/listbox/misc.listbox.mjs +1 -1
- package/dist/js/listbox/state.listbox.d.mts +4 -5
- package/dist/js/listbox/state.listbox.mjs +2 -2
- package/dist/js/{listbox.data-DQ7-x2uY.mjs → listbox.data-BQyZGKgr.mjs} +87 -70
- package/dist/js/{listbox.model-BHPA7GM4.d.mts → listbox.model-CuBOj4qe.d.mts} +12 -8
- package/dist/js/menu/index.mjs +167 -0
- package/dist/js/menu/menu.model.d.mts +33 -0
- package/dist/js/menu/menu.model.mjs +15 -0
- package/dist/js/{misc.listbox-DKB-j0UK.mjs → misc.listbox-CjfBUbHD.mjs} +25 -67
- package/dist/js/{misc.listbox-mZMuYOxg.d.mts → misc.listbox-CtoGvXQo.d.mts} +2 -2
- package/dist/js/movable/movable.embedded.d.mts +2 -2
- package/dist/js/movable/movable.embedded.mjs +60 -72
- package/dist/js/movable/movable.model.d.mts +2 -0
- package/dist/js/movable/movable.model.mjs +12 -0
- package/dist/js/movable/movable.standalone.d.mts +2 -1
- package/dist/js/movable.embedded-DoyXLegc.d.mts +11 -0
- package/dist/js/{draggable-B5-70SZm.d.mts → movable.model-BHaK_mKw.d.mts} +81 -50
- package/dist/js/navigable.model-BPOM8DZk.d.mts +44 -0
- package/dist/js/popover/index.d.mts +12 -0
- package/dist/js/{popover.mjs → popover/index.mjs} +41 -51
- package/dist/js/popover/popover.model.d.mts +2 -0
- package/dist/js/popover/popover.model.mjs +12 -0
- package/dist/js/popover.model-ubKNG612.d.mts +38 -0
- package/dist/js/resizable/resizable.embedded.d.mts +2 -2
- package/dist/js/resizable/resizable.embedded.mjs +43 -58
- package/dist/js/resizable/resizable.model.d.mts +2 -0
- package/dist/js/resizable/resizable.model.mjs +21 -0
- package/dist/js/resizable/resizable.standalone.d.mts +2 -1
- package/dist/js/resizable.embedded-Bf1qBUdt.d.mts +11 -0
- package/dist/js/resizable.model-BwzJcTVJ.d.mts +46 -0
- package/dist/js/sortable/sortable.embedded.d.mts +2 -2
- package/dist/js/sortable/sortable.embedded.mjs +69 -82
- package/dist/js/sortable/sortable.model.d.mts +2 -0
- package/dist/js/sortable/sortable.model.mjs +24 -0
- package/dist/js/sortable/sortable.standalone.d.mts +2 -1
- package/dist/js/sortable.embedded-DzBKAwSG.d.mts +11 -0
- package/dist/js/{splitter.d.mts → splitter/index.d.mts} +6 -4
- package/dist/js/{splitter.mjs → splitter/index.mjs} +90 -128
- package/dist/js/splitter/splitter.model.d.mts +2 -0
- package/dist/js/splitter/splitter.model.mjs +37 -0
- package/dist/js/splitter.model-DOLNjLVS.d.mts +57 -0
- package/dist/js/{tabs.d.mts → tabs/index.d.mts} +7 -7
- package/dist/js/{tabs.mjs → tabs/index.mjs} +58 -58
- package/dist/js/tabs/tabs.model.d.mts +2 -0
- package/dist/js/tabs/tabs.model.mjs +18 -0
- package/dist/js/tabs.model-DRBX_JtI.d.mts +40 -0
- package/dist/js/toolbar/index.mjs +27 -0
- package/dist/js/toolbar/toolbar.model.d.mts +11 -0
- package/dist/js/toolbar/toolbar.model.mjs +7 -0
- package/dist/js/tooltip/index.d.mts +19 -0
- package/dist/js/{tooltip.mjs → tooltip/index.mjs} +61 -86
- package/dist/js/tooltip/tooltip.model.d.mts +2 -0
- package/dist/js/tooltip/tooltip.model.mjs +15 -0
- package/dist/js/tooltip.model-DRkY_BsL.d.mts +37 -0
- package/package.json +30 -24
- package/dist/js/color-picker/constants.color-picker.d.mts +0 -2
- package/dist/js/color-picker/misc.color-picker.d.mts +0 -2
- package/dist/js/color-picker/models.color-picker.d.mts +0 -2
- package/dist/js/color-picker/state.color-picker.d.mts +0 -8
- package/dist/js/color-picker/state.color-picker.mjs +0 -2
- package/dist/js/combobox/constants.combobox.d.mts +0 -2
- package/dist/js/combobox/misc.combobox.d.mts +0 -2
- package/dist/js/combobox/models.combobox.d.mts +0 -43
- package/dist/js/combobox/state.combobox.d.mts +0 -11
- package/dist/js/combobox/state.combobox.mjs +0 -2
- package/dist/js/constants.color-picker-B-gFjL8m.d.mts +0 -364
- package/dist/js/constants.combobox-8EMRmv09.d.mts +0 -18
- package/dist/js/constants.listbox-DGnX32kv.d.mts +0 -8
- package/dist/js/dialog.d.mts +0 -47
- package/dist/js/dialog.mjs +0 -131
- package/dist/js/index-C5D3-oiI.d.mts +0 -177
- package/dist/js/internal/draggable.d.mts +0 -2
- package/dist/js/internal/navigable.d.mts +0 -36
- package/dist/js/internal/navigable.mjs +0 -135
- package/dist/js/l10n-Bn-7RcwR.d.mts +0 -20
- package/dist/js/l10n.d.mts +0 -2
- package/dist/js/menu.mjs +0 -172
- package/dist/js/popover.d.mts +0 -38
- package/dist/js/resizable.embedded-dvhdfQgt.d.mts +0 -34
- package/dist/js/toolbar.mjs +0 -31
- package/dist/js/tooltip.d.mts +0 -45
- /package/dist/js/combobox/{models.combobox.mjs → combobox.model.mjs} +0 -0
- /package/dist/js/{menu.d.mts → menu/index.d.mts} +0 -0
- /package/dist/js/{toolbar.d.mts → toolbar/index.d.mts} +0 -0
|
@@ -1,38 +1,43 @@
|
|
|
1
1
|
import { attributable } from "../internal/attributable.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { DRAGGABLE_SYMBOL } from "../internal/draggable/draggable.model.mjs";
|
|
3
|
+
import { addDraggable, destroyDraggable, getDraggableElement, getDraggableStates, initializeDraggable, removeDraggable } from "../internal/draggable/index.mjs";
|
|
4
|
+
import { SORTABLE_ATTRIBUTE, SORTABLE_ATTRIBUTE_ACTIVE, SORTABLE_ATTRIBUTE_CONNECTIONS, SORTABLE_ATTRIBUTE_CONTAINER, SORTABLE_ATTRIBUTE_DIRECTION, SORTABLE_ATTRIBUTE_HORIZONTAL, SORTABLE_ATTRIBUTE_ORIGIN, SORTABLE_ATTRIBUTE_PLACEHOLDER_DRAG, SORTABLE_ATTRIBUTE_PLACEHOLDER_POSITION, SORTABLE_ATTRIBUTE_VERTICAL, SORTABLE_CONTAINERS, SORTABLE_MESSAGE, SORTABLE_SELECTOR_ITEM, sortablePlaceholder } from "./sortable.model.mjs";
|
|
4
5
|
import { getAttribute, setAttribute, setAttributes } from "@oscarpalmer/toretto/attribute";
|
|
6
|
+
import { dispatch, getEventPosition } from "@oscarpalmer/toretto/event";
|
|
7
|
+
import { findAncestor, getElementFromPosition } from "@oscarpalmer/toretto/find";
|
|
5
8
|
import { isHTMLOrSVGElement } from "@oscarpalmer/toretto/is";
|
|
6
9
|
import { setStyle } from "@oscarpalmer/toretto/style";
|
|
7
|
-
import { findAncestor, getElementFromPosition } from "@oscarpalmer/toretto/find";
|
|
8
10
|
import { createElement } from "@oscarpalmer/toretto/create";
|
|
9
11
|
//#region src/js/sortable/sortable.embedded.ts
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
12
|
+
function OuiSortable(element, options) {
|
|
13
|
+
this[DRAGGABLE_SYMBOL] = initializeDraggable(this, "sortable", "sort", SORTABLE_ATTRIBUTE, element, {
|
|
14
|
+
container: {
|
|
15
|
+
attribute: SORTABLE_ATTRIBUTE_CONTAINER,
|
|
16
|
+
map: SORTABLE_CONTAINERS
|
|
17
|
+
},
|
|
18
|
+
direction: { attribute: SORTABLE_ATTRIBUTE_DIRECTION },
|
|
19
|
+
drag: {
|
|
20
|
+
onBegin,
|
|
21
|
+
onCancel,
|
|
22
|
+
onEnd,
|
|
23
|
+
onMove
|
|
24
|
+
},
|
|
25
|
+
input: options,
|
|
26
|
+
position: {
|
|
27
|
+
getOffset: getOffsetPosition,
|
|
28
|
+
getOriginal: getOriginalPosition
|
|
29
|
+
},
|
|
30
|
+
getDragged: getDragPlaceholder,
|
|
31
|
+
getOrigin: () => (getDraggableStates(element)?.sortable)?.origin
|
|
32
|
+
}, { connections: getAttribute(element, SORTABLE_ATTRIBUTE_CONNECTIONS) });
|
|
33
|
+
}
|
|
34
|
+
OuiSortable.prototype.destroy = destroySortable;
|
|
35
|
+
Object.defineProperties(OuiSortable.prototype, { element: {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: getDraggableElement
|
|
38
|
+
} });
|
|
34
39
|
function afterEnd(insert, from, events, elements, position, valid) {
|
|
35
|
-
elements.origin?.removeAttribute(
|
|
40
|
+
elements.origin?.removeAttribute(SORTABLE_ATTRIBUTE_ORIGIN);
|
|
36
41
|
from.state.origin = void 0;
|
|
37
42
|
resetPlaceholders();
|
|
38
43
|
if (!valid || events.some((event) => event?.defaultPrevented)) return;
|
|
@@ -46,7 +51,7 @@ function afterEnd(insert, from, events, elements, position, valid) {
|
|
|
46
51
|
if (position.y < top + height / 2) insertion = "beforebegin";
|
|
47
52
|
else insertion = "afterend";
|
|
48
53
|
elements.target?.insertAdjacentElement(insertion, elements.origin);
|
|
49
|
-
document.body.removeAttribute(
|
|
54
|
+
document.body.removeAttribute(SORTABLE_ATTRIBUTE_ACTIVE);
|
|
50
55
|
}
|
|
51
56
|
/**
|
|
52
57
|
* Creates _(or retrieves)_ a _OuiSortable_ instance for an element
|
|
@@ -55,12 +60,15 @@ function afterEnd(insert, from, events, elements, position, valid) {
|
|
|
55
60
|
* @returns _OuiSortable_ instance
|
|
56
61
|
*/
|
|
57
62
|
function createSortable(element, options) {
|
|
58
|
-
if (!isHTMLOrSVGElement(element)) throw new TypeError(
|
|
63
|
+
if (!isHTMLOrSVGElement(element)) throw new TypeError(SORTABLE_MESSAGE);
|
|
59
64
|
return addSortable(element, options);
|
|
60
65
|
}
|
|
66
|
+
function destroySortable() {
|
|
67
|
+
destroyDraggable(this);
|
|
68
|
+
}
|
|
61
69
|
function getDragPlaceholder() {
|
|
62
|
-
|
|
63
|
-
return
|
|
70
|
+
sortablePlaceholder.drag.default ??= createElement("div");
|
|
71
|
+
return sortablePlaceholder.drag.custom ?? sortablePlaceholder.drag.default;
|
|
64
72
|
}
|
|
65
73
|
function getOffsetPosition(_, item, element, position) {
|
|
66
74
|
const rectangle = element.getBoundingClientRect();
|
|
@@ -73,20 +81,20 @@ function getOriginalPosition(_, __, position) {
|
|
|
73
81
|
return position;
|
|
74
82
|
}
|
|
75
83
|
function getPositionPlaceholder(item) {
|
|
76
|
-
|
|
77
|
-
setAttribute(
|
|
78
|
-
if (item.state.origin != null) setStyle(
|
|
79
|
-
return
|
|
84
|
+
sortablePlaceholder.position ??= createElement("div");
|
|
85
|
+
setAttribute(sortablePlaceholder.position, SORTABLE_ATTRIBUTE_PLACEHOLDER_POSITION, "");
|
|
86
|
+
if (item.state.origin != null) setStyle(sortablePlaceholder.position, "--placeholder-height", `${item.state.origin.getBoundingClientRect().height}px`);
|
|
87
|
+
return sortablePlaceholder.position;
|
|
80
88
|
}
|
|
81
89
|
function onBegin(_, globals, item, element) {
|
|
82
90
|
item.state.origin = element;
|
|
83
91
|
setPlaceholder(globals, item, element);
|
|
84
|
-
setAttribute(element,
|
|
85
|
-
setAttribute(document.body,
|
|
92
|
+
setAttribute(element, SORTABLE_ATTRIBUTE_ORIGIN, "");
|
|
93
|
+
setAttribute(document.body, SORTABLE_ATTRIBUTE_ACTIVE, "");
|
|
86
94
|
}
|
|
87
95
|
function onCancel(_, item) {
|
|
88
|
-
item.state.origin?.removeAttribute(
|
|
89
|
-
document.body.removeAttribute(
|
|
96
|
+
item.state.origin?.removeAttribute(SORTABLE_ATTRIBUTE_ORIGIN);
|
|
97
|
+
document.body.removeAttribute(SORTABLE_ATTRIBUTE_ACTIVE);
|
|
90
98
|
resetPlaceholders();
|
|
91
99
|
item.state.origin = void 0;
|
|
92
100
|
}
|
|
@@ -97,16 +105,16 @@ function onEnd(event, globals, item, reset) {
|
|
|
97
105
|
y: 0
|
|
98
106
|
};
|
|
99
107
|
const target = getElementFromPosition(position)[0];
|
|
100
|
-
let element = findAncestor(target,
|
|
101
|
-
if (element?.hasAttribute(
|
|
102
|
-
if (getAttribute(element,
|
|
108
|
+
let element = findAncestor(target, SORTABLE_SELECTOR_ITEM);
|
|
109
|
+
if (element?.hasAttribute(SORTABLE_ATTRIBUTE_PLACEHOLDER_POSITION)) {
|
|
110
|
+
if (getAttribute(element, SORTABLE_ATTRIBUTE_PLACEHOLDER_POSITION) === "after") element = element.previousElementSibling;
|
|
103
111
|
else element = element.nextElementSibling;
|
|
104
112
|
}
|
|
105
113
|
let insert = "insert";
|
|
106
114
|
let toInstance;
|
|
107
115
|
let toState;
|
|
108
116
|
if (element == null) {
|
|
109
|
-
element = findAncestor(target,
|
|
117
|
+
element = findAncestor(target, SORTABLE_SELECTOR_ITEM);
|
|
110
118
|
toInstance = globals.instances.get(element)?.sortable;
|
|
111
119
|
toState = globals.states.get(element)?.sortable;
|
|
112
120
|
insert = element == null ? void 0 : element.children.length === 0 ? "append" : "prepend";
|
|
@@ -145,11 +153,11 @@ function onEnd(event, globals, item, reset) {
|
|
|
145
153
|
}
|
|
146
154
|
function onMove(event, globals, item, position) {
|
|
147
155
|
const fromElement = item.state.origin;
|
|
148
|
-
const toElement = findAncestor(event,
|
|
156
|
+
const toElement = findAncestor(event, SORTABLE_SELECTOR_ITEM);
|
|
149
157
|
let toInstance;
|
|
150
158
|
let toState;
|
|
151
159
|
if (toElement == null) {
|
|
152
|
-
const element = findAncestor(event,
|
|
160
|
+
const element = findAncestor(event, SORTABLE_SELECTOR_ITEM);
|
|
153
161
|
toInstance = globals.instances.get(element)?.sortable;
|
|
154
162
|
toState = globals.states.get(element)?.sortable;
|
|
155
163
|
} else {
|
|
@@ -171,7 +179,7 @@ function onMove(event, globals, item, position) {
|
|
|
171
179
|
place = "after";
|
|
172
180
|
toElement.insertAdjacentElement("afterend", placeholder);
|
|
173
181
|
}
|
|
174
|
-
setAttribute(placeholder,
|
|
182
|
+
setAttribute(placeholder, SORTABLE_ATTRIBUTE_PLACEHOLDER_POSITION, place);
|
|
175
183
|
} else placeholder.remove();
|
|
176
184
|
return {
|
|
177
185
|
from: {
|
|
@@ -185,23 +193,23 @@ function onMove(event, globals, item, position) {
|
|
|
185
193
|
};
|
|
186
194
|
}
|
|
187
195
|
function resetPlaceholders() {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
196
|
+
sortablePlaceholder.drag.custom?.remove();
|
|
197
|
+
sortablePlaceholder.drag.default?.remove();
|
|
198
|
+
sortablePlaceholder.position?.remove();
|
|
199
|
+
sortablePlaceholder.drag.custom = void 0;
|
|
192
200
|
}
|
|
193
201
|
function setPlaceholder(state, item, origin) {
|
|
194
202
|
const element = getDragPlaceholder();
|
|
195
|
-
|
|
203
|
+
if (sortablePlaceholder.drag.default != null) sortablePlaceholder.drag.default.innerHTML = "";
|
|
196
204
|
updatePlaceholder(item, element);
|
|
197
205
|
const dispatched = dispatch(item.instance.element, "sortable:placeholder", { detail: {
|
|
198
206
|
origin,
|
|
199
|
-
parent: item.
|
|
207
|
+
parent: item.instance.element,
|
|
200
208
|
placeholder: element,
|
|
201
209
|
create: (value) => {
|
|
202
210
|
if (!isHTMLOrSVGElement(value)) return;
|
|
203
211
|
const element = value;
|
|
204
|
-
|
|
212
|
+
sortablePlaceholder.drag.custom = element;
|
|
205
213
|
updatePlaceholder(item, element);
|
|
206
214
|
state.element = {
|
|
207
215
|
rectangle: element.getBoundingClientRect(),
|
|
@@ -210,18 +218,18 @@ function setPlaceholder(state, item, origin) {
|
|
|
210
218
|
}
|
|
211
219
|
} });
|
|
212
220
|
setTimeout(() => {
|
|
213
|
-
if (!dispatched.defaultPrevented &&
|
|
214
|
-
document.body.append(
|
|
221
|
+
if (!dispatched.defaultPrevented && sortablePlaceholder.drag.custom == null) sortablePlaceholder.drag.default?.append(element.cloneNode(true));
|
|
222
|
+
document.body.append(sortablePlaceholder.drag.custom ?? sortablePlaceholder.drag.default ?? "");
|
|
215
223
|
});
|
|
216
224
|
}
|
|
217
225
|
function updatePlaceholder(item, element) {
|
|
218
|
-
setAttribute(element,
|
|
226
|
+
setAttribute(element, SORTABLE_ATTRIBUTE_PLACEHOLDER_DRAG, "");
|
|
219
227
|
setStyle(element, "position", "fixed");
|
|
220
228
|
const state = getDraggableStates(item.state.element)?.sortable;
|
|
221
229
|
if (state == null) return;
|
|
222
230
|
setAttributes(element, {
|
|
223
|
-
[
|
|
224
|
-
[
|
|
231
|
+
[SORTABLE_ATTRIBUTE_HORIZONTAL]: state.horizontal ? "" : void 0,
|
|
232
|
+
[SORTABLE_ATTRIBUTE_VERTICAL]: state.vertical ? "" : void 0
|
|
225
233
|
});
|
|
226
234
|
}
|
|
227
235
|
function validatePosition(_, from, to, position) {
|
|
@@ -234,33 +242,12 @@ function validatePosition(_, from, to, position) {
|
|
|
234
242
|
if (valid && to?.state.connections != null) valid = from.state.element.matches(to.state.connections);
|
|
235
243
|
return valid;
|
|
236
244
|
}
|
|
237
|
-
const ATTRIBUTE = "oui-sortable";
|
|
238
|
-
const ATTRIBUTE_ACTIVE = `${ATTRIBUTE}-active`;
|
|
239
|
-
const ATTRIBUTE_CONNECTIONS = `${ATTRIBUTE}-connections`;
|
|
240
|
-
const ATTRIBUTE_CONTAINER = `${ATTRIBUTE}-container`;
|
|
241
|
-
const ATTRIBUTE_DIRECTION = `${ATTRIBUTE}-direction`;
|
|
242
|
-
const ATTRIBUTE_HORIZONTAL = `${ATTRIBUTE}-horizontal`;
|
|
243
|
-
const ATTRIBUTE_ORIGIN = `${ATTRIBUTE}-origin`;
|
|
244
|
-
const ATTRIBUTE_PLACEHOLDER_DRAG = `${ATTRIBUTE}-placeholder-drag`;
|
|
245
|
-
const ATTRIBUTE_PLACEHOLDER_POSITION = `${ATTRIBUTE}-placeholder-position`;
|
|
246
|
-
const ATTRIBUTE_VERTICAL = `${ATTRIBUTE}-vertical`;
|
|
247
|
-
const CONTAINERS = /* @__PURE__ */ new Map();
|
|
248
|
-
const MESSAGE = "The element must be an instance of HTMLElement or SVGElement";
|
|
249
|
-
const SELECTOR = `[${ATTRIBUTE}]`;
|
|
250
|
-
const SELECTOR_ITEM = `[${ATTRIBUTE}] > *`;
|
|
251
245
|
const bound = {
|
|
252
246
|
constructor: OuiSortable,
|
|
253
247
|
property: "sortable"
|
|
254
248
|
};
|
|
255
|
-
const placeholder = {
|
|
256
|
-
drag: {
|
|
257
|
-
custom: void 0,
|
|
258
|
-
default: void 0
|
|
259
|
-
},
|
|
260
|
-
position: void 0
|
|
261
|
-
};
|
|
262
249
|
const addSortable = addDraggable.bind(bound);
|
|
263
250
|
const removeSortable = removeDraggable.bind(bound);
|
|
264
|
-
attributable(
|
|
251
|
+
attributable(SORTABLE_ATTRIBUTE, addSortable, removeSortable);
|
|
265
252
|
//#endregion
|
|
266
|
-
export {
|
|
253
|
+
export { createSortable };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { $ as OuiSortable, _t as sortablePlaceholder, at as SORTABLE_ATTRIBUTE_CONNECTIONS, ct as SORTABLE_ATTRIBUTE_HORIZONTAL, dt as SORTABLE_ATTRIBUTE_PLACEHOLDER_POSITION, et as OuiSortablePlaceholder, ft as SORTABLE_ATTRIBUTE_VERTICAL, gt as SORTABLE_SELECTOR_ITEM, ht as SORTABLE_SELECTOR, it as SORTABLE_ATTRIBUTE_ACTIVE, lt as SORTABLE_ATTRIBUTE_ORIGIN, mt as SORTABLE_MESSAGE, nt as OuiSortableState, ot as SORTABLE_ATTRIBUTE_CONTAINER, pt as SORTABLE_CONTAINERS, rt as SORTABLE_ATTRIBUTE, st as SORTABLE_ATTRIBUTE_DIRECTION, tt as OuiSortablePlaceholderDrag, ut as SORTABLE_ATTRIBUTE_PLACEHOLDER_DRAG } from "../movable.model-BHaK_mKw.mjs";
|
|
2
|
+
export { OuiSortable, OuiSortablePlaceholder, OuiSortablePlaceholderDrag, OuiSortableState, SORTABLE_ATTRIBUTE, SORTABLE_ATTRIBUTE_ACTIVE, SORTABLE_ATTRIBUTE_CONNECTIONS, SORTABLE_ATTRIBUTE_CONTAINER, SORTABLE_ATTRIBUTE_DIRECTION, SORTABLE_ATTRIBUTE_HORIZONTAL, SORTABLE_ATTRIBUTE_ORIGIN, SORTABLE_ATTRIBUTE_PLACEHOLDER_DRAG, SORTABLE_ATTRIBUTE_PLACEHOLDER_POSITION, SORTABLE_ATTRIBUTE_VERTICAL, SORTABLE_CONTAINERS, SORTABLE_MESSAGE, SORTABLE_SELECTOR, SORTABLE_SELECTOR_ITEM, sortablePlaceholder };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/js/sortable/sortable.model.ts
|
|
2
|
+
const SORTABLE_ATTRIBUTE = "oui-sortable";
|
|
3
|
+
const SORTABLE_ATTRIBUTE_ACTIVE = `${SORTABLE_ATTRIBUTE}-active`;
|
|
4
|
+
const SORTABLE_ATTRIBUTE_CONNECTIONS = `${SORTABLE_ATTRIBUTE}-connections`;
|
|
5
|
+
const SORTABLE_ATTRIBUTE_CONTAINER = `${SORTABLE_ATTRIBUTE}-container`;
|
|
6
|
+
const SORTABLE_ATTRIBUTE_DIRECTION = `${SORTABLE_ATTRIBUTE}-direction`;
|
|
7
|
+
const SORTABLE_ATTRIBUTE_HORIZONTAL = `${SORTABLE_ATTRIBUTE}-horizontal`;
|
|
8
|
+
const SORTABLE_ATTRIBUTE_ORIGIN = `${SORTABLE_ATTRIBUTE}-origin`;
|
|
9
|
+
const SORTABLE_ATTRIBUTE_PLACEHOLDER_DRAG = `${SORTABLE_ATTRIBUTE}-placeholder-drag`;
|
|
10
|
+
const SORTABLE_ATTRIBUTE_PLACEHOLDER_POSITION = `${SORTABLE_ATTRIBUTE}-placeholder-position`;
|
|
11
|
+
const SORTABLE_ATTRIBUTE_VERTICAL = `${SORTABLE_ATTRIBUTE}-vertical`;
|
|
12
|
+
const SORTABLE_CONTAINERS = /* @__PURE__ */ new Map();
|
|
13
|
+
const SORTABLE_MESSAGE = "The element must be an instance of HTMLElement or SVGElement";
|
|
14
|
+
const SORTABLE_SELECTOR = `[${SORTABLE_ATTRIBUTE}]`;
|
|
15
|
+
const SORTABLE_SELECTOR_ITEM = `[${SORTABLE_ATTRIBUTE}] > *`;
|
|
16
|
+
const sortablePlaceholder = {
|
|
17
|
+
drag: {
|
|
18
|
+
custom: void 0,
|
|
19
|
+
default: void 0
|
|
20
|
+
},
|
|
21
|
+
position: void 0
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { SORTABLE_ATTRIBUTE, SORTABLE_ATTRIBUTE_ACTIVE, SORTABLE_ATTRIBUTE_CONNECTIONS, SORTABLE_ATTRIBUTE_CONTAINER, SORTABLE_ATTRIBUTE_DIRECTION, SORTABLE_ATTRIBUTE_HORIZONTAL, SORTABLE_ATTRIBUTE_ORIGIN, SORTABLE_ATTRIBUTE_PLACEHOLDER_DRAG, SORTABLE_ATTRIBUTE_PLACEHOLDER_POSITION, SORTABLE_ATTRIBUTE_VERTICAL, SORTABLE_CONTAINERS, SORTABLE_MESSAGE, SORTABLE_SELECTOR, SORTABLE_SELECTOR_ITEM, sortablePlaceholder };
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as OuiSortable, p as CreateOuiDraggableOptions } from "../movable.model-BHaK_mKw.mjs";
|
|
2
|
+
import { t as createSortable } from "../sortable.embedded-DzBKAwSG.mjs";
|
|
2
3
|
export { type CreateOuiDraggableOptions as CreateOuiSortableOptions, type OuiSortable, createSortable };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { $ as OuiSortable, p as CreateOuiDraggableOptions } from "./movable.model-BHaK_mKw.mjs";
|
|
2
|
+
//#region src/js/sortable/sortable.embedded.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Creates _(or retrieves)_ a _OuiSortable_ instance for an element
|
|
5
|
+
*
|
|
6
|
+
* @param element Element to make sortable
|
|
7
|
+
* @returns _OuiSortable_ instance
|
|
8
|
+
*/
|
|
9
|
+
declare function createSortable(element: HTMLElement, options?: CreateOuiDraggableOptions): OuiSortable;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { createSortable as t };
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import { D as SPLITTER_SYMBOL, O as SPLITTER_TAGNAME, n as OuiSplitter } from "../splitter.model-DOLNjLVS.mjs";
|
|
2
|
+
//#region src/js/splitter/index.d.ts
|
|
2
3
|
declare global {
|
|
3
4
|
interface HTMLElementTagNameMap {
|
|
4
|
-
[
|
|
5
|
+
[SPLITTER_TAGNAME]: OuiSplitterElement;
|
|
5
6
|
}
|
|
6
7
|
}
|
|
8
|
+
export interface OuiSplitterElement {
|
|
9
|
+
[SPLITTER_SYMBOL]: OuiSplitter;
|
|
10
|
+
}
|
|
7
11
|
export declare class OuiSplitterElement extends HTMLElement {
|
|
8
|
-
#private;
|
|
9
12
|
static readonly observedAttributes: string[];
|
|
10
13
|
/**
|
|
11
14
|
* Maximum size for the first panel
|
|
@@ -44,5 +47,4 @@ export declare class OuiSplitterElement extends HTMLElement {
|
|
|
44
47
|
disconnectedCallback(): void;
|
|
45
48
|
attributeChangedCallback(name: string): void;
|
|
46
49
|
}
|
|
47
|
-
declare const TAGNAME = "oui-splitter";
|
|
48
50
|
//#endregion
|