@oscarpalmer/oui 0.40.0 → 0.42.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.
Files changed (174) hide show
  1. package/dist/css/color-picker.css +80 -69
  2. package/dist/css/listbox.css +169 -0
  3. package/dist/js/color-picker/color-picker.constants.d.mts +2 -2
  4. package/dist/js/color-picker/color-picker.constants.mjs +5 -3
  5. package/dist/js/color-picker/color-picker.dom.d.mts +1 -1
  6. package/dist/js/color-picker/color-picker.dom.mjs +31 -14
  7. package/dist/js/color-picker/color-picker.event.d.mts +2 -2
  8. package/dist/js/color-picker/color-picker.event.mjs +232 -1
  9. package/dist/js/color-picker/color-picker.form.d.mts +1 -1
  10. package/dist/js/color-picker/color-picker.form.mjs +1 -3
  11. package/dist/js/color-picker/color-picker.misc.d.mts +2 -2
  12. package/dist/js/color-picker/color-picker.misc.mjs +104 -2
  13. package/dist/js/color-picker/color-picker.model.d.mts +2 -2
  14. package/dist/js/color-picker/color-picker.output.d.mts +1 -1
  15. package/dist/js/color-picker/color-picker.output.mjs +7 -8
  16. package/dist/js/color-picker/color-picker.state.d.mts +1 -1
  17. package/dist/js/color-picker/color-picker.state.mjs +167 -1
  18. package/dist/js/color-picker/index.d.mts +7 -15
  19. package/dist/js/color-picker/index.mjs +11 -6
  20. package/dist/js/{color-picker.constants-D1mxw_Le.d.mts → color-picker.constants-BZgXQr5o.d.mts} +6 -8
  21. package/dist/js/{color-picker.misc-CtsXGrOe.d.mts → color-picker.misc-BIS3R6jk.d.mts} +8 -4
  22. package/dist/js/combobox/combobox.constants.d.mts +1 -1
  23. package/dist/js/combobox/combobox.dom.d.mts +14 -14
  24. package/dist/js/combobox/combobox.dom.mjs +15 -17
  25. package/dist/js/combobox/combobox.event.d.mts +8 -8
  26. package/dist/js/combobox/combobox.event.mjs +1 -2
  27. package/dist/js/combobox/combobox.misc.d.mts +2 -2
  28. package/dist/js/combobox/combobox.misc.mjs +1 -2
  29. package/dist/js/combobox/combobox.model.d.mts +2 -2
  30. package/dist/js/combobox/combobox.state.d.mts +3 -4
  31. package/dist/js/combobox/combobox.state.mjs +1 -2
  32. package/dist/js/combobox/index.d.mts +8 -19
  33. package/dist/js/combobox/index.mjs +21 -23
  34. package/dist/js/{combobox.constants-DZVkMP5g.d.mts → combobox.constants-Hb3bqqQJ.d.mts} +3 -3
  35. package/dist/js/combobox.misc-DRDFk6X8.d.mts +26 -0
  36. package/dist/js/combobox.model-gjEI2VqZ.d.mts +46 -0
  37. package/dist/js/{combobox.state-BfJ3Hxg8.mjs → combobox.state-AstCICiH.mjs} +30 -41
  38. package/dist/js/dialog/dialog.model.d.mts +1 -1
  39. package/dist/js/dialog/index.d.mts +1 -1
  40. package/dist/js/{dialog.model-DX2mndMh.d.mts → dialog.model-Dv_h9Kns.d.mts} +3 -3
  41. package/dist/js/floatable/floatable.embedded.d.mts +1 -1
  42. package/dist/js/floatable/floatable.embedded.mjs +2 -2
  43. package/dist/js/floatable/floatable.standalone.d.mts +1 -1
  44. package/dist/js/floatable/floatable.standalone.mjs +1 -2
  45. package/dist/js/{floatable.embedded-MeTyXjFn.d.mts → floatable.embedded-ncshL3Sa.d.mts} +3 -3
  46. package/dist/js/focus-trap/focus-trap.embedded.d.mts +1 -1
  47. package/dist/js/focus-trap/focus-trap.embedded.mjs +10 -9
  48. package/dist/js/focus-trap/focus-trap.model.d.mts +1 -1
  49. package/dist/js/focus-trap/focus-trap.standalone.d.mts +2 -2
  50. package/dist/js/focus-trap/focus-trap.standalone.mjs +1 -2
  51. package/dist/js/{focus-trap.embedded-DIU05m1z.d.mts → focus-trap.embedded-DpcPkP7c.d.mts} +3 -3
  52. package/dist/js/{focus-trap.model-BeX6UYlw.d.mts → focus-trap.model-CpltX5B5.d.mts} +1 -1
  53. package/dist/js/index.d.mts +16 -16
  54. package/dist/js/index.mjs +3 -3
  55. package/dist/js/internal/attributable.d.mts +1 -1
  56. package/dist/js/internal/draggable/draggable.model.d.mts +1 -1
  57. package/dist/js/internal/draggable/index.d.mts +8 -8
  58. package/dist/js/internal/draggable/index.mjs +27 -18
  59. package/dist/js/internal/l10n/index.d.mts +5 -0
  60. package/dist/js/internal/l10n/index.mjs +147 -0
  61. package/dist/js/internal/l10n/l10n.model.d.mts +2 -0
  62. package/dist/js/{l10n → internal/l10n}/l10n.model.mjs +5 -2
  63. package/dist/js/internal/misc.d.mts +2 -2
  64. package/dist/js/internal/navigable/index.d.mts +3 -3
  65. package/dist/js/internal/navigable/index.mjs +1 -1
  66. package/dist/js/internal/navigable/navigable.model.d.mts +1 -1
  67. package/dist/js/internal/option-list/option-list.constants.d.mts +8 -0
  68. package/dist/js/internal/option-list/option-list.constants.mjs +22 -0
  69. package/dist/js/internal/option-list/option-list.data.d.mts +22 -0
  70. package/dist/js/internal/option-list/option-list.data.mjs +1 -0
  71. package/dist/js/internal/option-list/option-list.dom.d.mts +18 -0
  72. package/dist/js/internal/option-list/option-list.dom.mjs +1 -0
  73. package/dist/js/internal/option-list/option-list.event.d.mts +6 -0
  74. package/dist/js/internal/{listbox/listbox.event.mjs → option-list/option-list.event.mjs} +7 -7
  75. package/dist/js/internal/option-list/option-list.form.d.mts +7 -0
  76. package/dist/js/internal/{listbox/listbox.form.mjs → option-list/option-list.form.mjs} +10 -13
  77. package/dist/js/internal/option-list/option-list.misc.d.mts +13 -0
  78. package/dist/js/internal/option-list/option-list.misc.mjs +1 -0
  79. package/dist/js/internal/option-list/option-list.model.d.mts +2 -0
  80. package/dist/js/internal/option-list/option-list.state.d.mts +8 -0
  81. package/dist/js/internal/option-list/option-list.state.mjs +39 -0
  82. package/dist/js/l10n/index.d.mts +3 -9
  83. package/dist/js/l10n/index.mjs +1 -107
  84. package/dist/js/l10n.model-D1E1u35L.d.mts +54 -0
  85. package/dist/js/listbox/index.d.mts +6 -17
  86. package/dist/js/listbox/index.mjs +22 -23
  87. package/dist/js/listbox/{constants.listbox.d.mts → listbox.constants.d.mts} +1 -1
  88. package/dist/js/listbox/{constants.listbox.mjs → listbox.constants.mjs} +1 -1
  89. package/dist/js/listbox/listbox.dom.d.mts +5 -0
  90. package/dist/js/listbox/listbox.dom.mjs +1 -0
  91. package/dist/js/listbox/listbox.event.d.mts +9 -0
  92. package/dist/js/listbox/listbox.event.mjs +1 -0
  93. package/dist/js/listbox/listbox.misc.d.mts +2 -0
  94. package/dist/js/listbox/listbox.misc.mjs +1 -0
  95. package/dist/js/listbox/listbox.model.d.mts +2 -0
  96. package/dist/js/listbox/listbox.model.mjs +1 -0
  97. package/dist/js/listbox/listbox.state.d.mts +9 -0
  98. package/dist/js/listbox/listbox.state.mjs +1 -0
  99. package/dist/js/{constants.listbox-C5Ap6Ag_.d.mts → listbox.constants-DOBMwKup.d.mts} +3 -3
  100. package/dist/js/listbox.misc-DwfB4Mu_.d.mts +24 -0
  101. package/dist/js/listbox.model-C0MYWXZe.d.mts +20 -0
  102. package/dist/js/listbox.state-BrN296BM.mjs +240 -0
  103. package/dist/js/menu/index.mjs +10 -6
  104. package/dist/js/menu/menu.model.d.mts +7 -7
  105. package/dist/js/movable/movable.embedded.d.mts +1 -1
  106. package/dist/js/movable/movable.embedded.mjs +21 -18
  107. package/dist/js/movable/movable.model.d.mts +1 -1
  108. package/dist/js/movable/movable.standalone.d.mts +2 -2
  109. package/dist/js/movable/movable.standalone.mjs +1 -2
  110. package/dist/js/{movable.embedded-DoyXLegc.d.mts → movable.embedded-C1bDTLGs.d.mts} +2 -2
  111. package/dist/js/{movable.model-BHaK_mKw.d.mts → movable.model-D9nnPWKk.d.mts} +41 -41
  112. package/dist/js/{navigable.model-BPOM8DZk.d.mts → navigable.model-BqoR6iBv.d.mts} +1 -1
  113. package/dist/js/{listbox.data-BQyZGKgr.mjs → option-list.data-CgMyUwPc.mjs} +70 -71
  114. package/dist/js/option-list.model-CCPUlPeX.d.mts +169 -0
  115. package/dist/js/popover/index.d.mts +2 -2
  116. package/dist/js/popover/index.mjs +1 -1
  117. package/dist/js/popover/popover.model.d.mts +1 -1
  118. package/dist/js/{popover.model-ubKNG612.d.mts → popover.model-DiLdz0Hc.d.mts} +4 -4
  119. package/dist/js/resizable/resizable.embedded.d.mts +1 -1
  120. package/dist/js/resizable/resizable.embedded.mjs +16 -7
  121. package/dist/js/resizable/resizable.model.d.mts +2 -2
  122. package/dist/js/resizable/resizable.model.mjs +4 -1
  123. package/dist/js/resizable/resizable.standalone.d.mts +2 -2
  124. package/dist/js/resizable/resizable.standalone.mjs +1 -2
  125. package/dist/js/{resizable.embedded-Bf1qBUdt.d.mts → resizable.embedded-D9mb-Wm_.d.mts} +2 -2
  126. package/dist/js/{resizable.model-BwzJcTVJ.d.mts → resizable.model-vCxaFdOA.d.mts} +10 -4
  127. package/dist/js/sortable/sortable.embedded.d.mts +1 -1
  128. package/dist/js/sortable/sortable.embedded.mjs +46 -38
  129. package/dist/js/sortable/sortable.model.d.mts +1 -1
  130. package/dist/js/sortable/sortable.standalone.d.mts +2 -2
  131. package/dist/js/sortable/sortable.standalone.mjs +1 -2
  132. package/dist/js/{sortable.embedded-DzBKAwSG.d.mts → sortable.embedded-CrEGff9k.d.mts} +2 -2
  133. package/dist/js/splitter/index.d.mts +1 -1
  134. package/dist/js/splitter/index.mjs +1 -1
  135. package/dist/js/splitter/splitter.model.d.mts +1 -1
  136. package/dist/js/{splitter.model-DOLNjLVS.d.mts → splitter.model-C24W6eZ7.d.mts} +2 -2
  137. package/dist/js/tabs/index.d.mts +2 -2
  138. package/dist/js/tabs/index.mjs +1 -1
  139. package/dist/js/tabs/tabs.model.d.mts +1 -1
  140. package/dist/js/{tabs.model-DRBX_JtI.d.mts → tabs.model-BHPy7fPo.d.mts} +1 -1
  141. package/dist/js/toolbar/toolbar.model.d.mts +2 -2
  142. package/dist/js/tooltip/index.d.mts +2 -2
  143. package/dist/js/tooltip/index.mjs +1 -1
  144. package/dist/js/tooltip/tooltip.model.d.mts +1 -1
  145. package/dist/js/{tooltip.model-DRkY_BsL.d.mts → tooltip.model-BpNStw5z.d.mts} +3 -3
  146. package/package.json +3 -3
  147. package/dist/js/color-picker.event-Cksj5TvS.mjs +0 -500
  148. package/dist/js/combobox.misc-C1tPZZDi.d.mts +0 -22
  149. package/dist/js/combobox.model-oDV06XCN.d.mts +0 -44
  150. package/dist/js/internal/listbox/listbox.constants.d.mts +0 -8
  151. package/dist/js/internal/listbox/listbox.constants.mjs +0 -22
  152. package/dist/js/internal/listbox/listbox.data.d.mts +0 -19
  153. package/dist/js/internal/listbox/listbox.data.mjs +0 -2
  154. package/dist/js/internal/listbox/listbox.dom.d.mts +0 -65
  155. package/dist/js/internal/listbox/listbox.dom.mjs +0 -2
  156. package/dist/js/internal/listbox/listbox.event.d.mts +0 -4
  157. package/dist/js/internal/listbox/listbox.form.d.mts +0 -5
  158. package/dist/js/internal/listbox/listbox.misc.d.mts +0 -11
  159. package/dist/js/internal/listbox/listbox.misc.mjs +0 -2
  160. package/dist/js/internal/listbox/listbox.model.d.mts +0 -2
  161. package/dist/js/internal/listbox/listbox.state.d.mts +0 -6
  162. package/dist/js/internal/listbox/listbox.state.mjs +0 -39
  163. package/dist/js/l10n/l10n.model.d.mts +0 -2
  164. package/dist/js/l10n.model-D6a9frgl.d.mts +0 -26
  165. package/dist/js/listbox/event.listbox.d.mts +0 -7
  166. package/dist/js/listbox/event.listbox.mjs +0 -48
  167. package/dist/js/listbox/misc.listbox.d.mts +0 -2
  168. package/dist/js/listbox/misc.listbox.mjs +0 -2
  169. package/dist/js/listbox/state.listbox.d.mts +0 -9
  170. package/dist/js/listbox/state.listbox.mjs +0 -2
  171. package/dist/js/listbox.model-CuBOj4qe.d.mts +0 -129
  172. package/dist/js/misc.listbox-CjfBUbHD.mjs +0 -154
  173. package/dist/js/misc.listbox-CtoGvXQo.d.mts +0 -20
  174. /package/dist/js/internal/{listbox/listbox.model.mjs → option-list/option-list.model.mjs} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { attributable } from "../internal/attributable.mjs";
2
- import { RESIZABLE_ATTRIBUTE, RESIZABLE_ATTRIBUTE_MAXIMUM, RESIZABLE_ATTRIBUTE_MINIMUM, RESIZABLE_MESSAGE_ELEMENT, RESIZABLE_MESSAGE_HANDLE, RESIZABLE_MESSAGE_HEIGHT, RESIZABLE_MESSAGE_WIDTH, RESIZABLE_SELECTOR, RESIZABLE_SELECTOR_HANDLE, RESIZABLE_SELECTOR_HANDLE_SCOPED, RESIZABLE_SYMBOL, resizableItems, resizableStyles } from "./resizable.model.mjs";
2
+ import { RESIZABLE_ATTRIBUTE, RESIZABLE_ATTRIBUTE_DIRECTION, RESIZABLE_MESSAGE_ELEMENT, RESIZABLE_MESSAGE_HANDLE, RESIZABLE_MESSAGE_HEIGHT, RESIZABLE_MESSAGE_WIDTH, RESIZABLE_SELECTOR_HANDLE, RESIZABLE_SELECTOR_HANDLE_SCOPED, RESIZABLE_SYMBOL, resizableHorizontals, resizableItems, resizableStyles, resizableVerticals } from "./resizable.model.mjs";
3
3
  import { getAttribute, setAttribute } from "@oscarpalmer/toretto/attribute";
4
4
  import { dispatch, getEventPosition, on } from "@oscarpalmer/toretto/event";
5
5
  import { findAncestor } from "@oscarpalmer/toretto/find";
@@ -46,7 +46,7 @@ function cancelResize(item) {
46
46
  */
47
47
  function createResizable(element, options) {
48
48
  if (!isHTMLOrSVGElement(element)) throw new TypeError(RESIZABLE_MESSAGE_ELEMENT);
49
- if (!isHTMLOrSVGElement(element.querySelector(RESIZABLE_SELECTOR_HANDLE_SCOPED))) throw new Error(RESIZABLE_MESSAGE_HANDLE);
49
+ if (!isHTMLOrSVGElement(element.querySelector(":scope > [oui-resizable-handle]"))) throw new Error(RESIZABLE_MESSAGE_HANDLE);
50
50
  return addResizable(element, options ?? {});
51
51
  }
52
52
  function destroyResizable() {
@@ -68,6 +68,12 @@ function getAndSetDimensions(element, options, input) {
68
68
  });
69
69
  return [width, height];
70
70
  }
71
+ function getDirections(element) {
72
+ const attribute = getAttribute(element, RESIZABLE_ATTRIBUTE_DIRECTION);
73
+ if (resizableHorizontals.has(attribute)) return [true, false];
74
+ if (resizableVerticals.has(attribute)) return [false, true];
75
+ return [true, true];
76
+ }
71
77
  function getProperties(element, widthProperty, heightProperty) {
72
78
  const computed = getComputedStyle(element);
73
79
  return [computed[widthProperty], computed[heightProperty]];
@@ -88,18 +94,21 @@ function getState(element, handle, input) {
88
94
  setAttribute(element, RESIZABLE_ATTRIBUTE, "");
89
95
  const options = getValidOptions(element, input);
90
96
  const [width, height] = getAndSetDimensions(element, options);
97
+ const [horizontal, vertical] = getDirections(element);
91
98
  return {
92
99
  element,
93
100
  handle,
94
101
  height,
102
+ horizontal,
95
103
  options,
104
+ vertical,
96
105
  width,
97
106
  styles: toggleStyles(element, resizableStyles)
98
107
  };
99
108
  }
100
109
  function getValidOptions(element, input) {
101
110
  const original = isPlainObject(input) ? input : {};
102
- return { ...getRestrictions(input == null ? getAttribute(element, RESIZABLE_ATTRIBUTE_MAXIMUM) ?? getProperties(element, "maxWidth", "maxHeight") : [original.maximumWidth, original.maximumHeight], input == null ? getAttribute(element, RESIZABLE_ATTRIBUTE_MINIMUM) ?? getProperties(element, "minWidth", "minHeight") : [original.minimumWidth, original.minimumHeight]) };
111
+ return { ...getRestrictions(input == null ? getAttribute(element, "oui-resizable-maximum") ?? getProperties(element, "maxWidth", "maxHeight") : [original.maximumWidth, original.maximumHeight], input == null ? getAttribute(element, "oui-resizable-minimum") ?? getProperties(element, "minWidth", "minHeight") : [original.minimumWidth, original.minimumHeight]) };
103
112
  }
104
113
  function getXAndY(first, second) {
105
114
  const [x, y] = typeof first === "string" && second == null ? first.split(",") : [first, second];
@@ -115,7 +124,7 @@ function onKeydown(event) {
115
124
  function onPointerdown(event) {
116
125
  if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || (supportsTouch.value ? event.type === "mousedown" : event.type === "touchstart" || event.button !== 0)) return;
117
126
  const handle = findAncestor(event, RESIZABLE_SELECTOR_HANDLE);
118
- const element = handle && findAncestor(handle, RESIZABLE_SELECTOR);
127
+ const element = handle && findAncestor(handle, "[oui-resizable]");
119
128
  const stored = element && resizableItems.get(element);
120
129
  const position = getEventPosition(event);
121
130
  if (stored == null || position == null) return;
@@ -130,9 +139,9 @@ function onPointermove(event) {
130
139
  if (current == null) return;
131
140
  const { x, y } = getEventPosition(event) ?? {};
132
141
  if (x == null || y == null) return;
133
- const width = current.state.width + (x - (start?.x ?? 0));
134
- const height = current.state.height + (y - (start?.y ?? 0));
135
- getAndSetDimensions(current.state.element, current.state.options, {
142
+ let width = current.state.horizontal ? current.state.width + (x - (start?.x ?? 0)) : current.state.width;
143
+ let height = current.state.vertical ? current.state.height + (y - (start?.y ?? 0)) : current.state.height;
144
+ [width, height] = getAndSetDimensions(current.state.element, current.state.options, {
136
145
  height,
137
146
  width
138
147
  });
@@ -1,2 +1,2 @@
1
- import { _ as resizableItems, a as RESIZABLE_ATTRIBUTE, c as RESIZABLE_ATTRIBUTE_MINIMUM, d as RESIZABLE_MESSAGE_HEIGHT, f as RESIZABLE_MESSAGE_WIDTH, g as RESIZABLE_SYMBOL, h as RESIZABLE_SELECTOR_HANDLE_SCOPED, i as OuiResizableState, l as RESIZABLE_MESSAGE_ELEMENT, m as RESIZABLE_SELECTOR_HANDLE, n as OuiResizable, o as RESIZABLE_ATTRIBUTE_HANDLE, p as RESIZABLE_SELECTOR, r as OuiResizableItem, s as RESIZABLE_ATTRIBUTE_MAXIMUM, t as CreateOuiResizableOptions, u as RESIZABLE_MESSAGE_HANDLE, v as resizableStyles } from "../resizable.model-BwzJcTVJ.mjs";
2
- export { CreateOuiResizableOptions, OuiResizable, OuiResizableItem, OuiResizableState, RESIZABLE_ATTRIBUTE, RESIZABLE_ATTRIBUTE_HANDLE, RESIZABLE_ATTRIBUTE_MAXIMUM, RESIZABLE_ATTRIBUTE_MINIMUM, RESIZABLE_MESSAGE_ELEMENT, RESIZABLE_MESSAGE_HANDLE, RESIZABLE_MESSAGE_HEIGHT, RESIZABLE_MESSAGE_WIDTH, RESIZABLE_SELECTOR, RESIZABLE_SELECTOR_HANDLE, RESIZABLE_SELECTOR_HANDLE_SCOPED, RESIZABLE_SYMBOL, resizableItems, resizableStyles };
1
+ import { S as resizableVerticals, _ as RESIZABLE_SELECTOR_HANDLE_SCOPED, a as OuiResizableState, b as resizableItems, c as RESIZABLE_ATTRIBUTE_HANDLE, d as RESIZABLE_MESSAGE_ELEMENT, f as RESIZABLE_MESSAGE_HANDLE, g as RESIZABLE_SELECTOR_HANDLE, h as RESIZABLE_SELECTOR, i as OuiResizableItem, l as RESIZABLE_ATTRIBUTE_MAXIMUM, m as RESIZABLE_MESSAGE_WIDTH, n as OuiResizable, o as RESIZABLE_ATTRIBUTE, p as RESIZABLE_MESSAGE_HEIGHT, r as OuiResizableDirection, s as RESIZABLE_ATTRIBUTE_DIRECTION, t as CreateOuiResizableOptions, u as RESIZABLE_ATTRIBUTE_MINIMUM, v as RESIZABLE_SYMBOL, x as resizableStyles, y as resizableHorizontals } from "../resizable.model-vCxaFdOA.mjs";
2
+ export { CreateOuiResizableOptions, OuiResizable, OuiResizableDirection, OuiResizableItem, OuiResizableState, RESIZABLE_ATTRIBUTE, RESIZABLE_ATTRIBUTE_DIRECTION, RESIZABLE_ATTRIBUTE_HANDLE, RESIZABLE_ATTRIBUTE_MAXIMUM, RESIZABLE_ATTRIBUTE_MINIMUM, RESIZABLE_MESSAGE_ELEMENT, RESIZABLE_MESSAGE_HANDLE, RESIZABLE_MESSAGE_HEIGHT, RESIZABLE_MESSAGE_WIDTH, RESIZABLE_SELECTOR, RESIZABLE_SELECTOR_HANDLE, RESIZABLE_SELECTOR_HANDLE_SCOPED, RESIZABLE_SYMBOL, resizableHorizontals, resizableItems, resizableStyles, resizableVerticals };
@@ -1,5 +1,6 @@
1
1
  //#region src/js/resizable/resizable.model.ts
2
2
  const RESIZABLE_ATTRIBUTE = "oui-resizable";
3
+ const RESIZABLE_ATTRIBUTE_DIRECTION = `${RESIZABLE_ATTRIBUTE}-direction`;
3
4
  const RESIZABLE_ATTRIBUTE_HANDLE = `${RESIZABLE_ATTRIBUTE}-handle`;
4
5
  const RESIZABLE_ATTRIBUTE_MAXIMUM = `${RESIZABLE_ATTRIBUTE}-maximum`;
5
6
  const RESIZABLE_ATTRIBUTE_MINIMUM = `${RESIZABLE_ATTRIBUTE}-minimum`;
@@ -11,11 +12,13 @@ const RESIZABLE_SELECTOR = `[${RESIZABLE_ATTRIBUTE}]`;
11
12
  const RESIZABLE_SELECTOR_HANDLE = `[${RESIZABLE_ATTRIBUTE_HANDLE}]`;
12
13
  const RESIZABLE_SELECTOR_HANDLE_SCOPED = `:scope > ${RESIZABLE_SELECTOR_HANDLE}`;
13
14
  const RESIZABLE_SYMBOL = Symbol(RESIZABLE_ATTRIBUTE);
15
+ const resizableHorizontals = /* @__PURE__ */ new Set(["horizontal", "x"]);
14
16
  const resizableItems = /* @__PURE__ */ new WeakMap();
15
17
  const resizableStyles = {
16
18
  touchAction: "none",
17
19
  userSelect: "none",
18
20
  webkitUserSelect: "none"
19
21
  };
22
+ const resizableVerticals = /* @__PURE__ */ new Set(["vertical", "y"]);
20
23
  //#endregion
21
- export { RESIZABLE_ATTRIBUTE, RESIZABLE_ATTRIBUTE_HANDLE, RESIZABLE_ATTRIBUTE_MAXIMUM, RESIZABLE_ATTRIBUTE_MINIMUM, RESIZABLE_MESSAGE_ELEMENT, RESIZABLE_MESSAGE_HANDLE, RESIZABLE_MESSAGE_HEIGHT, RESIZABLE_MESSAGE_WIDTH, RESIZABLE_SELECTOR, RESIZABLE_SELECTOR_HANDLE, RESIZABLE_SELECTOR_HANDLE_SCOPED, RESIZABLE_SYMBOL, resizableItems, resizableStyles };
24
+ export { RESIZABLE_ATTRIBUTE, RESIZABLE_ATTRIBUTE_DIRECTION, RESIZABLE_ATTRIBUTE_HANDLE, RESIZABLE_ATTRIBUTE_MAXIMUM, RESIZABLE_ATTRIBUTE_MINIMUM, RESIZABLE_MESSAGE_ELEMENT, RESIZABLE_MESSAGE_HANDLE, RESIZABLE_MESSAGE_HEIGHT, RESIZABLE_MESSAGE_WIDTH, RESIZABLE_SELECTOR, RESIZABLE_SELECTOR_HANDLE, RESIZABLE_SELECTOR_HANDLE_SCOPED, RESIZABLE_SYMBOL, resizableHorizontals, resizableItems, resizableStyles, resizableVerticals };
@@ -1,3 +1,3 @@
1
- import { n as OuiResizable, t as CreateOuiResizableOptions } from "../resizable.model-BwzJcTVJ.mjs";
2
- import { t as createResizable } from "../resizable.embedded-Bf1qBUdt.mjs";
1
+ import { n as OuiResizable, t as CreateOuiResizableOptions } from "../resizable.model-vCxaFdOA.mjs";
2
+ import { t as createResizable } from "../resizable.embedded-D9mb-Wm_.mjs";
3
3
  export { type CreateOuiResizableOptions, type OuiResizable, createResizable as createOuiResizable };
@@ -1,2 +1 @@
1
- import { createResizable } from "./resizable.embedded.mjs";
2
- export { createResizable as createOuiResizable };
1
+ export { createResizable as createOuiResizable } from "./resizable.embedded.mjs";
@@ -1,4 +1,4 @@
1
- import { n as OuiResizable, t as CreateOuiResizableOptions } from "./resizable.model-BwzJcTVJ.mjs";
1
+ import { n as OuiResizable, t as CreateOuiResizableOptions } from "./resizable.model-vCxaFdOA.mjs";
2
2
  //#region src/js/resizable/resizable.embedded.d.ts
3
3
  /**
4
4
  * Creates _(or retrieves)_ a _OuiResizable_ instance for an element
@@ -6,6 +6,6 @@ import { n as OuiResizable, t as CreateOuiResizableOptions } from "./resizable.m
6
6
  * @param element Element to make resizable
7
7
  * @returns _OuiResizable_ instance
8
8
  */
9
- declare function createResizable(element: HTMLElement, options?: CreateOuiResizableOptions): OuiResizable;
9
+ declare function createResizable(element: Element, options?: CreateOuiResizableOptions): OuiResizable;
10
10
  //#endregion
11
11
  export { createResizable as t };
@@ -12,19 +12,23 @@ type OuiResizable = {
12
12
  reset(): void;
13
13
  set(): void;
14
14
  };
15
+ type OuiResizableDirection = "horizontal" | "vertical" | "x" | "y";
15
16
  type OuiResizableItem = {
16
17
  instance: OuiResizable;
17
18
  state: OuiResizableState;
18
19
  };
19
20
  type OuiResizableState = {
20
- element: HTMLElement;
21
- handle: HTMLElement;
21
+ element: Element;
22
+ handle: Element;
22
23
  height: number;
24
+ horizontal: boolean;
23
25
  options: Required<CreateOuiResizableOptions>;
24
26
  styles: StyleToggler;
27
+ vertical: boolean;
25
28
  width: number;
26
29
  };
27
30
  declare const RESIZABLE_ATTRIBUTE = "oui-resizable";
31
+ declare const RESIZABLE_ATTRIBUTE_DIRECTION: string;
28
32
  declare const RESIZABLE_ATTRIBUTE_HANDLE: string;
29
33
  declare const RESIZABLE_ATTRIBUTE_MAXIMUM: string;
30
34
  declare const RESIZABLE_ATTRIBUTE_MINIMUM: string;
@@ -36,11 +40,13 @@ declare const RESIZABLE_SELECTOR: string;
36
40
  declare const RESIZABLE_SELECTOR_HANDLE: string;
37
41
  declare const RESIZABLE_SELECTOR_HANDLE_SCOPED: string;
38
42
  declare const RESIZABLE_SYMBOL: unique symbol;
39
- declare const resizableItems: WeakMap<HTMLElement, OuiResizableItem>;
43
+ declare const resizableHorizontals: Set<OuiResizableDirection>;
44
+ declare const resizableItems: WeakMap<Element, OuiResizableItem>;
40
45
  declare const resizableStyles: {
41
46
  touchAction: string;
42
47
  userSelect: string;
43
48
  webkitUserSelect: string;
44
49
  };
50
+ declare const resizableVerticals: Set<OuiResizableDirection>;
45
51
  //#endregion
46
- export { resizableItems as _, RESIZABLE_ATTRIBUTE as a, RESIZABLE_ATTRIBUTE_MINIMUM as c, RESIZABLE_MESSAGE_HEIGHT as d, RESIZABLE_MESSAGE_WIDTH as f, RESIZABLE_SYMBOL as g, RESIZABLE_SELECTOR_HANDLE_SCOPED as h, OuiResizableState as i, RESIZABLE_MESSAGE_ELEMENT as l, RESIZABLE_SELECTOR_HANDLE as m, OuiResizable as n, RESIZABLE_ATTRIBUTE_HANDLE as o, RESIZABLE_SELECTOR as p, OuiResizableItem as r, RESIZABLE_ATTRIBUTE_MAXIMUM as s, CreateOuiResizableOptions as t, RESIZABLE_MESSAGE_HANDLE as u, resizableStyles as v };
52
+ export { resizableVerticals as S, RESIZABLE_SELECTOR_HANDLE_SCOPED as _, OuiResizableState as a, resizableItems as b, RESIZABLE_ATTRIBUTE_HANDLE as c, RESIZABLE_MESSAGE_ELEMENT as d, RESIZABLE_MESSAGE_HANDLE as f, RESIZABLE_SELECTOR_HANDLE as g, RESIZABLE_SELECTOR as h, OuiResizableItem as i, RESIZABLE_ATTRIBUTE_MAXIMUM as l, RESIZABLE_MESSAGE_WIDTH as m, OuiResizable as n, RESIZABLE_ATTRIBUTE as o, RESIZABLE_MESSAGE_HEIGHT as p, OuiResizableDirection as r, RESIZABLE_ATTRIBUTE_DIRECTION as s, CreateOuiResizableOptions as t, RESIZABLE_ATTRIBUTE_MINIMUM as u, RESIZABLE_SYMBOL as v, resizableStyles as x, resizableHorizontals as y };
@@ -1,2 +1,2 @@
1
- import { t as createSortable } from "../sortable.embedded-DzBKAwSG.mjs";
1
+ import { t as createSortable } from "../sortable.embedded-CrEGff9k.mjs";
2
2
  export { createSortable };
@@ -1,5 +1,5 @@
1
1
  import { attributable } from "../internal/attributable.mjs";
2
- import { DRAGGABLE_SYMBOL } from "../internal/draggable/draggable.model.mjs";
2
+ import { DRAGGABLE_SYMBOL, draggableGlobals } from "../internal/draggable/draggable.model.mjs";
3
3
  import { addDraggable, destroyDraggable, getDraggableElement, getDraggableStates, initializeDraggable, removeDraggable } from "../internal/draggable/index.mjs";
4
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";
5
5
  import { getAttribute, setAttribute, setAttributes } from "@oscarpalmer/toretto/attribute";
@@ -28,7 +28,7 @@ function OuiSortable(element, options) {
28
28
  getOriginal: getOriginalPosition
29
29
  },
30
30
  getDragged: getDragPlaceholder,
31
- getOrigin: () => (getDraggableStates(element)?.sortable)?.origin
31
+ getOrigin: () => getState(element)?.origin
32
32
  }, { connections: getAttribute(element, SORTABLE_ATTRIBUTE_CONNECTIONS) });
33
33
  }
34
34
  OuiSortable.prototype.destroy = destroySortable;
@@ -70,14 +70,17 @@ function getDragPlaceholder() {
70
70
  sortablePlaceholder.drag.default ??= createElement("div");
71
71
  return sortablePlaceholder.drag.custom ?? sortablePlaceholder.drag.default;
72
72
  }
73
- function getOffsetPosition(_, item, element, position) {
73
+ function getInstance(element) {
74
+ return element == null ? void 0 : draggableGlobals.instances.get(element)?.sortable;
75
+ }
76
+ function getOffsetPosition(item, element, position) {
74
77
  const rectangle = element.getBoundingClientRect();
75
78
  return {
76
79
  x: item.state.horizontal ? 0 : position.x - rectangle.left,
77
80
  y: item.state.vertical ? 0 : position.y - rectangle.top
78
81
  };
79
82
  }
80
- function getOriginalPosition(_, __, position) {
83
+ function getOriginalPosition(__, position) {
81
84
  return position;
82
85
  }
83
86
  function getPositionPlaceholder(item) {
@@ -86,51 +89,55 @@ function getPositionPlaceholder(item) {
86
89
  if (item.state.origin != null) setStyle(sortablePlaceholder.position, "--placeholder-height", `${item.state.origin.getBoundingClientRect().height}px`);
87
90
  return sortablePlaceholder.position;
88
91
  }
89
- function onBegin(_, globals, item, element) {
92
+ function getState(element) {
93
+ return element == null ? void 0 : draggableGlobals.states.get(element)?.sortable;
94
+ }
95
+ function onBegin(_, item, element) {
90
96
  item.state.origin = element;
91
- setPlaceholder(globals, item, element);
97
+ setPlaceholder(item, element);
92
98
  setAttribute(element, SORTABLE_ATTRIBUTE_ORIGIN, "");
93
99
  setAttribute(document.body, SORTABLE_ATTRIBUTE_ACTIVE, "");
94
100
  }
95
- function onCancel(_, item) {
101
+ function onCancel(item) {
96
102
  item.state.origin?.removeAttribute(SORTABLE_ATTRIBUTE_ORIGIN);
97
103
  document.body.removeAttribute(SORTABLE_ATTRIBUTE_ACTIVE);
98
104
  resetPlaceholders();
99
105
  item.state.origin = void 0;
100
106
  }
101
- function onEnd(event, globals, item, reset) {
107
+ function onEnd(event, item, reset) {
108
+ const { original } = draggableGlobals;
102
109
  const { origin } = item.state;
103
110
  const position = getEventPosition(event) ?? {
104
111
  x: 0,
105
112
  y: 0
106
113
  };
107
- const target = getElementFromPosition(position)[0];
114
+ const [target] = getElementFromPosition(position);
108
115
  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;
111
- else element = element.nextElementSibling;
112
- }
116
+ const attribute = element?.getAttribute(SORTABLE_ATTRIBUTE_PLACEHOLDER_POSITION);
117
+ if (attribute != null && attribute === "after") element = element?.previousElementSibling;
118
+ else if (attribute != null) element = element?.nextElementSibling;
113
119
  let insert = "insert";
114
- let toInstance;
115
- let toState;
120
+ let instance;
121
+ let state;
116
122
  if (element == null) {
117
123
  element = findAncestor(target, SORTABLE_SELECTOR_ITEM);
118
- toInstance = globals.instances.get(element)?.sortable;
119
- toState = globals.states.get(element)?.sortable;
124
+ instance = getInstance(element);
125
+ state = getState(element);
120
126
  insert = element == null ? void 0 : element.children.length === 0 ? "append" : "prepend";
121
127
  } else {
122
- toInstance = globals.instances.get(element.parentElement)?.sortable;
123
- toState = globals.states.get(element.parentElement)?.sortable;
128
+ instance = getInstance(element.parentElement);
129
+ state = getState(element.parentElement);
124
130
  }
125
- const valid = insert != null && validatePosition(globals, item, {
126
- instance: toInstance,
127
- state: toState
131
+ if (element == null || instance == null || state == null) return;
132
+ const valid = insert != null && validatePosition(item, {
133
+ instance,
134
+ state
128
135
  }, position);
129
136
  const options = {
130
137
  detail: valid ? {
131
138
  from: {
132
139
  element: origin,
133
- position: { ...globals.original }
140
+ position: { ...original }
134
141
  },
135
142
  to: {
136
143
  element,
@@ -142,7 +149,7 @@ function onEnd(event, globals, item, reset) {
142
149
  };
143
150
  const dispatchedFrom = dispatch(item.instance.element, "sortable:end", options);
144
151
  let dispatchedTo;
145
- if (item.instance !== toInstance && toInstance != null) dispatchedTo = dispatch(toInstance.element, "sortable:end", options);
152
+ if (item.instance !== instance && instance != null) dispatchedTo = dispatch(instance.element, "sortable:end", options);
146
153
  setTimeout(() => {
147
154
  afterEnd(insert, item, [dispatchedFrom, dispatchedTo], {
148
155
  origin,
@@ -151,22 +158,23 @@ function onEnd(event, globals, item, reset) {
151
158
  reset();
152
159
  });
153
160
  }
154
- function onMove(event, globals, item, position) {
161
+ function onMove(event, item, position) {
162
+ const { original } = draggableGlobals;
155
163
  const fromElement = item.state.origin;
156
164
  const toElement = findAncestor(event, SORTABLE_SELECTOR_ITEM);
157
- let toInstance;
158
- let toState;
165
+ let instance;
166
+ let state;
159
167
  if (toElement == null) {
160
168
  const element = findAncestor(event, SORTABLE_SELECTOR_ITEM);
161
- toInstance = globals.instances.get(element)?.sortable;
162
- toState = globals.states.get(element)?.sortable;
169
+ instance = getInstance(element);
170
+ state = getState(element);
163
171
  } else {
164
- toInstance = globals.instances.get(toElement.parentElement)?.sortable;
165
- toState = globals.states.get(toElement.parentElement)?.sortable;
172
+ instance = getInstance(toElement.parentElement);
173
+ state = getState(toElement.parentElement);
166
174
  }
167
- if (toInstance == null || !validatePosition(globals, item, {
168
- instance: toInstance,
169
- state: toState
175
+ if (instance == null || state == null || !validatePosition(item, {
176
+ instance,
177
+ state
170
178
  }, position.original)) return;
171
179
  const placeholder = getPositionPlaceholder(item);
172
180
  if (toElement != null && toElement !== fromElement) {
@@ -184,7 +192,7 @@ function onMove(event, globals, item, position) {
184
192
  return {
185
193
  from: {
186
194
  element: fromElement,
187
- position: { ...globals.original }
195
+ position: { ...original }
188
196
  },
189
197
  to: {
190
198
  element: toElement,
@@ -198,7 +206,7 @@ function resetPlaceholders() {
198
206
  sortablePlaceholder.position?.remove();
199
207
  sortablePlaceholder.drag.custom = void 0;
200
208
  }
201
- function setPlaceholder(state, item, origin) {
209
+ function setPlaceholder(item, origin) {
202
210
  const element = getDragPlaceholder();
203
211
  if (sortablePlaceholder.drag.default != null) sortablePlaceholder.drag.default.innerHTML = "";
204
212
  updatePlaceholder(item, element);
@@ -211,7 +219,7 @@ function setPlaceholder(state, item, origin) {
211
219
  const element = value;
212
220
  sortablePlaceholder.drag.custom = element;
213
221
  updatePlaceholder(item, element);
214
- state.element = {
222
+ draggableGlobals.element = {
215
223
  rectangle: element.getBoundingClientRect(),
216
224
  node: element
217
225
  };
@@ -232,7 +240,7 @@ function updatePlaceholder(item, element) {
232
240
  [SORTABLE_ATTRIBUTE_VERTICAL]: state.vertical ? "" : void 0
233
241
  });
234
242
  }
235
- function validatePosition(_, from, to, position) {
243
+ function validatePosition(from, to, position) {
236
244
  let valid = true;
237
245
  const rectangle = from.state.origin?.getBoundingClientRect();
238
246
  const fromState = getDraggableStates(from.state.element)?.sortable;
@@ -1,2 +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";
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-D9nnPWKk.mjs";
2
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 };
@@ -1,3 +1,3 @@
1
- import { $ as OuiSortable, p as CreateOuiDraggableOptions } from "../movable.model-BHaK_mKw.mjs";
2
- import { t as createSortable } from "../sortable.embedded-DzBKAwSG.mjs";
1
+ import { $ as OuiSortable, p as CreateOuiDraggableOptions } from "../movable.model-D9nnPWKk.mjs";
2
+ import { t as createSortable } from "../sortable.embedded-CrEGff9k.mjs";
3
3
  export { type CreateOuiDraggableOptions as CreateOuiSortableOptions, type OuiSortable, createSortable };
@@ -1,2 +1 @@
1
- import { createSortable } from "./sortable.embedded.mjs";
2
- export { createSortable };
1
+ export { createSortable } from "./sortable.embedded.mjs";
@@ -1,4 +1,4 @@
1
- import { $ as OuiSortable, p as CreateOuiDraggableOptions } from "./movable.model-BHaK_mKw.mjs";
1
+ import { $ as OuiSortable, p as CreateOuiDraggableOptions } from "./movable.model-D9nnPWKk.mjs";
2
2
  //#region src/js/sortable/sortable.embedded.d.ts
3
3
  /**
4
4
  * Creates _(or retrieves)_ a _OuiSortable_ instance for an element
@@ -6,6 +6,6 @@ import { $ as OuiSortable, p as CreateOuiDraggableOptions } from "./movable.mode
6
6
  * @param element Element to make sortable
7
7
  * @returns _OuiSortable_ instance
8
8
  */
9
- declare function createSortable(element: HTMLElement, options?: CreateOuiDraggableOptions): OuiSortable;
9
+ declare function createSortable(element: Element, options?: CreateOuiDraggableOptions): OuiSortable;
10
10
  //#endregion
11
11
  export { createSortable as t };
@@ -1,4 +1,4 @@
1
- import { D as SPLITTER_SYMBOL, O as SPLITTER_TAGNAME, n as OuiSplitter } from "../splitter.model-DOLNjLVS.mjs";
1
+ import { D as SPLITTER_SYMBOL, O as SPLITTER_TAGNAME, n as OuiSplitter } from "../splitter.model-C24W6eZ7.mjs";
2
2
  //#region src/js/splitter/index.d.ts
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
@@ -204,7 +204,7 @@ function onObservation(entries) {
204
204
  if (frame != null) cancelAnimationFrame(frame);
205
205
  frame = requestAnimationFrame(() => {
206
206
  for (const entry of entries) {
207
- const splitter = entry.target instanceof OuiSplitterElement || entry.target.hasAttribute(SPLITTER_ATTRIBUTE_HANDLE) || entry.target.hasAttribute(SPLITTER_ATTRIBUTE_SEPARATOR) ? findAncestor(entry.target, SPLITTER_TAGNAME)?.[SPLITTER_SYMBOL] : void 0;
207
+ const splitter = entry.target instanceof OuiSplitterElement || entry.target.hasAttribute("oui-splitter-handle") || entry.target.hasAttribute("oui-splitter-separator") ? findAncestor(entry.target, SPLITTER_TAGNAME)?.[SPLITTER_SYMBOL] : void 0;
208
208
  if (splitter == null) return;
209
209
  splitter.types = getTypes(splitter, entry.contentRect.width, entry.contentRect.height);
210
210
  setAttribute(splitter.element, SPLITTER_ATTRIBUTE_HORIZONTAL, splitter.types.horizontal ? "" : void 0);
@@ -1,2 +1,2 @@
1
- import { A as splitterStyling, C as SPLITTER_NAVIGATION_MAXIMUM_TOTAL, D as SPLITTER_SYMBOL, E as SPLITTER_SELECTOR_HANDLE, O as SPLITTER_TAGNAME, S as SPLITTER_NAVIGATION_MAXIMUM_PERCENTAGE, T as SPLITTER_NAVIGATION_MODIFIER, _ as SPLITTER_KEYS_NEGATIVE, a as OuiSplitterValuesNow, b as SPLITTER_METHODS_CONNECT, c as SPLITTER_ATTRIBUTE_HORIZONTAL, d as SPLITTER_ATTRIBUTE_SEPARATOR, f as SPLITTER_ATTRIBUTE_SIZE, g as SPLITTER_KEYS_HORIZONTAL, h as SPLITTER_KEYS_ALL, i as OuiSplitterValues, k as SPLITTER_VALUE_DECIMALS, l as SPLITTER_ATTRIBUTE_MAX, m as SPLITTER_KEYS_ABSOLUTE, n as OuiSplitter, o as SPLITTER_ATTRIBUTE_ACTIVE, p as SPLITTER_ATTRIBUTE_TYPE, r as OuiSplitterTypes, s as SPLITTER_ATTRIBUTE_HANDLE, t as GenericOuiSplitterElement, u as SPLITTER_ATTRIBUTE_MIN, v as SPLITTER_KEYS_VERTICAL, w as SPLITTER_NAVIGATION_MINIMUM_PERCENTAGE, x as SPLITTER_METHODS_OBSERVE, y as SPLITTER_MESSAGE } from "../splitter.model-DOLNjLVS.mjs";
1
+ import { A as splitterStyling, C as SPLITTER_NAVIGATION_MAXIMUM_TOTAL, D as SPLITTER_SYMBOL, E as SPLITTER_SELECTOR_HANDLE, O as SPLITTER_TAGNAME, S as SPLITTER_NAVIGATION_MAXIMUM_PERCENTAGE, T as SPLITTER_NAVIGATION_MODIFIER, _ as SPLITTER_KEYS_NEGATIVE, a as OuiSplitterValuesNow, b as SPLITTER_METHODS_CONNECT, c as SPLITTER_ATTRIBUTE_HORIZONTAL, d as SPLITTER_ATTRIBUTE_SEPARATOR, f as SPLITTER_ATTRIBUTE_SIZE, g as SPLITTER_KEYS_HORIZONTAL, h as SPLITTER_KEYS_ALL, i as OuiSplitterValues, k as SPLITTER_VALUE_DECIMALS, l as SPLITTER_ATTRIBUTE_MAX, m as SPLITTER_KEYS_ABSOLUTE, n as OuiSplitter, o as SPLITTER_ATTRIBUTE_ACTIVE, p as SPLITTER_ATTRIBUTE_TYPE, r as OuiSplitterTypes, s as SPLITTER_ATTRIBUTE_HANDLE, t as GenericOuiSplitterElement, u as SPLITTER_ATTRIBUTE_MIN, v as SPLITTER_KEYS_VERTICAL, w as SPLITTER_NAVIGATION_MINIMUM_PERCENTAGE, x as SPLITTER_METHODS_OBSERVE, y as SPLITTER_MESSAGE } from "../splitter.model-C24W6eZ7.mjs";
2
2
  export { GenericOuiSplitterElement, OuiSplitter, OuiSplitterTypes, OuiSplitterValues, OuiSplitterValuesNow, SPLITTER_ATTRIBUTE_ACTIVE, SPLITTER_ATTRIBUTE_HANDLE, SPLITTER_ATTRIBUTE_HORIZONTAL, SPLITTER_ATTRIBUTE_MAX, SPLITTER_ATTRIBUTE_MIN, SPLITTER_ATTRIBUTE_SEPARATOR, SPLITTER_ATTRIBUTE_SIZE, SPLITTER_ATTRIBUTE_TYPE, SPLITTER_KEYS_ABSOLUTE, SPLITTER_KEYS_ALL, SPLITTER_KEYS_HORIZONTAL, SPLITTER_KEYS_NEGATIVE, SPLITTER_KEYS_VERTICAL, SPLITTER_MESSAGE, SPLITTER_METHODS_CONNECT, SPLITTER_METHODS_OBSERVE, SPLITTER_NAVIGATION_MAXIMUM_PERCENTAGE, SPLITTER_NAVIGATION_MAXIMUM_TOTAL, SPLITTER_NAVIGATION_MINIMUM_PERCENTAGE, SPLITTER_NAVIGATION_MODIFIER, SPLITTER_SELECTOR_HANDLE, SPLITTER_SYMBOL, SPLITTER_TAGNAME, SPLITTER_VALUE_DECIMALS, splitterStyling };
@@ -5,8 +5,8 @@ type GenericOuiSplitterElement = {
5
5
  } & HTMLElement;
6
6
  type OuiSplitter = {
7
7
  element: GenericOuiSplitterElement;
8
- handle: HTMLSpanElement;
9
- panels: HTMLElement[];
8
+ handle: Element;
9
+ panels: Element[];
10
10
  rectangle: DOMRect;
11
11
  separator: HTMLDivElement;
12
12
  types: OuiSplitterTypes;
@@ -1,4 +1,4 @@
1
- import { a as OuiTabsState, c as TABS_SYMBOL, r as OuiTabsEvent } from "../tabs.model-DRBX_JtI.mjs";
1
+ import { a as OuiTabsState, c as TABS_SYMBOL, r as OuiTabsEvent } from "../tabs.model-BHPy7fPo.mjs";
2
2
  //#region src/js/tabs/index.d.ts
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
@@ -12,7 +12,7 @@ export declare class OuiTabsElement extends HTMLElement {
12
12
  static observedAttributes: string[];
13
13
  get active(): number;
14
14
  set active(value: number);
15
- get panel(): HTMLElement;
15
+ get panel(): Element;
16
16
  get tab(): HTMLButtonElement;
17
17
  constructor();
18
18
  attributeChangedCallback(name: string, _: string | null, value: string | null): void;
@@ -21,7 +21,7 @@ var OuiTabsElement = class extends HTMLElement {
21
21
  }
22
22
  constructor() {
23
23
  super();
24
- this[TABS_SYMBOL] = { component: null };
24
+ this[TABS_SYMBOL] = { component: void 0 };
25
25
  }
26
26
  attributeChangedCallback(name, _, value) {
27
27
  switch (name) {
@@ -1,2 +1,2 @@
1
- import { a as OuiTabsState, c as TABS_SYMBOL, i as OuiTabsPanels, l as TABS_TAGNAME, n as OuiTabsContent, o as OuiTabsStateComponent, r as OuiTabsEvent, s as OuiTabsTabList, t as GenericOuiTabsElement } from "../tabs.model-DRBX_JtI.mjs";
1
+ import { a as OuiTabsState, c as TABS_SYMBOL, i as OuiTabsPanels, l as TABS_TAGNAME, n as OuiTabsContent, o as OuiTabsStateComponent, r as OuiTabsEvent, s as OuiTabsTabList, t as GenericOuiTabsElement } from "../tabs.model-BHPy7fPo.mjs";
2
2
  export { GenericOuiTabsElement, OuiTabsContent, OuiTabsEvent, OuiTabsPanels, OuiTabsState, OuiTabsStateComponent, OuiTabsTabList, TABS_SYMBOL, TABS_TAGNAME };
@@ -1,4 +1,4 @@
1
- import { d as OuiNavigable, h as OuiNavigableOrientation } from "./navigable.model-BPOM8DZk.mjs";
1
+ import { d as OuiNavigable, h as OuiNavigableOrientation } from "./navigable.model-BqoR6iBv.mjs";
2
2
  //#region src/js/tabs/tabs.model.d.ts
3
3
  type GenericOuiTabsElement = {
4
4
  [TABS_SYMBOL]: OuiTabsState;
@@ -1,4 +1,4 @@
1
- import { d as OuiNavigable } from "../navigable.model-BPOM8DZk.mjs";
1
+ import { d as OuiNavigable } from "../navigable.model-BqoR6iBv.mjs";
2
2
  //#region src/js/toolbar/toolbar.model.d.ts
3
3
  export type OuiToolbar = {
4
4
  [TOOLBAR_SYMBOL]: OuiNavigable;
@@ -7,5 +7,5 @@ export type OuiToolbar = {
7
7
  export declare const TOOLBAR_ATTRIBUTE = "oui-toolbar";
8
8
  export declare const TOOLBAR_SYMBOL: unique symbol;
9
9
  export declare const TOOLBAR_SELECTOR: string;
10
- export declare const toolbars: WeakMap<HTMLElement, OuiToolbar>;
10
+ export declare const toolbars: WeakMap<Element, OuiToolbar>;
11
11
  //#endregion
@@ -1,4 +1,4 @@
1
- import { n as OuiTooltipState, t as OuiTooltip } from "../tooltip.model-DRkY_BsL.mjs";
1
+ import { n as OuiTooltipState, t as OuiTooltip } from "../tooltip.model-BpNStw5z.mjs";
2
2
  //#region src/js/tooltip/index.d.ts
3
3
  declare function OuiTooltip(this: OuiTooltip, state: OuiTooltipState): void;
4
4
  /**
@@ -7,7 +7,7 @@ declare function OuiTooltip(this: OuiTooltip, state: OuiTooltipState): void;
7
7
  * @param element Element to get _OuiTooltip_ for
8
8
  * @returns _OuiTooltip_ instance
9
9
  */
10
- export declare function getTooltip(element: HTMLElement): OuiTooltip | undefined;
10
+ export declare function getTooltip(element: Element): OuiTooltip | undefined;
11
11
  /**
12
12
  * Set the delay before showing the tooltip, in milliseconds
13
13
  *
@@ -132,7 +132,7 @@ function onFocusout() {
132
132
  if (activeTooltip == null) return;
133
133
  if (focusTimer != null) clearTimeout(focusTimer);
134
134
  focusTimer = setTimeout(() => {
135
- if (activeTooltip == null || document.activeElement == null || findAncestor(document.activeElement, TOOLTIP_SELECTOR) != null) return;
135
+ if (activeTooltip == null || document.activeElement == null || findAncestor(document.activeElement, "[oui-tooltip]") != null) return;
136
136
  closeTooltip(true, activeTooltip);
137
137
  activeTooltip = void 0;
138
138
  });
@@ -1,2 +1,2 @@
1
- import { a as TOOLTIP_ATTRIBUTE_CONTENT_OPEN, c as TOOLTIP_SYMBOL, i as TOOLTIP_ATTRIBUTE_CONTENT, l as tooltipFloatableOptions, n as OuiTooltipState, o as TOOLTIP_SELECTOR, r as TOOLTIP_ATTRIBUTE, s as TOOLTIP_SELECTOR_CONTENT, t as OuiTooltip, u as tooltips } from "../tooltip.model-DRkY_BsL.mjs";
1
+ import { a as TOOLTIP_ATTRIBUTE_CONTENT_OPEN, c as TOOLTIP_SYMBOL, i as TOOLTIP_ATTRIBUTE_CONTENT, l as tooltipFloatableOptions, n as OuiTooltipState, o as TOOLTIP_SELECTOR, r as TOOLTIP_ATTRIBUTE, s as TOOLTIP_SELECTOR_CONTENT, t as OuiTooltip, u as tooltips } from "../tooltip.model-BpNStw5z.mjs";
2
2
  export { OuiTooltip, OuiTooltipState, TOOLTIP_ATTRIBUTE, TOOLTIP_ATTRIBUTE_CONTENT, TOOLTIP_ATTRIBUTE_CONTENT_OPEN, TOOLTIP_SELECTOR, TOOLTIP_SELECTOR_CONTENT, TOOLTIP_SYMBOL, tooltipFloatableOptions, tooltips };
@@ -20,8 +20,8 @@ type OuiTooltip = {
20
20
  show(): void;
21
21
  };
22
22
  type OuiTooltipState = {
23
- anchor: HTMLElement;
24
- elements: HTMLElement[];
23
+ anchor: Element;
24
+ elements: Element[];
25
25
  floatable: OuiFloatable;
26
26
  timer?: number;
27
27
  };
@@ -32,6 +32,6 @@ declare const TOOLTIP_SELECTOR: string;
32
32
  declare const TOOLTIP_SELECTOR_CONTENT: string;
33
33
  declare const TOOLTIP_SYMBOL: unique symbol;
34
34
  declare const tooltipFloatableOptions: OuiFloatableOptions;
35
- declare const tooltips: WeakMap<HTMLElement, OuiTooltip>;
35
+ declare const tooltips: WeakMap<Element, OuiTooltip>;
36
36
  //#endregion
37
37
  export { TOOLTIP_ATTRIBUTE_CONTENT_OPEN as a, TOOLTIP_SYMBOL as c, TOOLTIP_ATTRIBUTE_CONTENT as i, tooltipFloatableOptions as l, OuiTooltipState as n, TOOLTIP_SELECTOR as o, TOOLTIP_ATTRIBUTE as r, TOOLTIP_SELECTOR_CONTENT as s, OuiTooltip as t, tooltips as u };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oscarpalmer/oui",
3
- "version": "0.40.0",
3
+ "version": "0.42.0",
4
4
  "description": "Styles, components, and utilities for building websites and applications.",
5
5
  "keywords": [
6
6
  "css",
@@ -109,7 +109,7 @@
109
109
  "watch": "concurrently \"cd ./demo/public && php -qS localhost:4567 \" \"vp run postcss:watch\" \"vp run css:watch\" \"vp run tsdown\""
110
110
  },
111
111
  "dependencies": {
112
- "@oscarpalmer/atoms": "^0.216",
112
+ "@oscarpalmer/atoms": "^0.220",
113
113
  "@oscarpalmer/toretto": "^0.56"
114
114
  },
115
115
  "devDependencies": {
@@ -120,7 +120,7 @@
120
120
  "postcss-cli": "^12",
121
121
  "postcss-input-range": "^6",
122
122
  "postcss-scss": "^4",
123
- "sass": "^1.105",
123
+ "sass": "^1.106",
124
124
  "stylelint": "^17.16",
125
125
  "stylelint-config-standard-scss": "^17",
126
126
  "tsdown": "^0.23",