@oscarpalmer/oui 0.39.0 → 0.41.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 (227) hide show
  1. package/README.md +1 -1
  2. package/dist/css/color-picker.css +80 -69
  3. package/dist/css/listbox.css +169 -0
  4. package/dist/js/color-picker/color-picker.constants.d.mts +2 -0
  5. package/dist/js/color-picker/{constants.color-picker.mjs → color-picker.constants.mjs} +7 -4
  6. package/dist/js/color-picker/{dom.color-picker.d.mts → color-picker.dom.d.mts} +2 -2
  7. package/dist/js/color-picker/{dom.color-picker.mjs → color-picker.dom.mjs} +33 -16
  8. package/dist/js/color-picker/{event.color-picker.d.mts → color-picker.event.d.mts} +3 -3
  9. package/dist/js/color-picker/color-picker.event.mjs +233 -0
  10. package/dist/js/color-picker/{form.color-picker.d.mts → color-picker.form.d.mts} +2 -2
  11. package/dist/js/color-picker/{form.color-picker.mjs → color-picker.form.mjs} +9 -8
  12. package/dist/js/color-picker/color-picker.misc.d.mts +2 -0
  13. package/dist/js/color-picker/color-picker.misc.mjs +104 -0
  14. package/dist/js/color-picker/color-picker.model.d.mts +2 -0
  15. package/dist/js/color-picker/{models.color-picker.mjs → color-picker.model.mjs} +1 -1
  16. package/dist/js/color-picker/{output.color-picker.d.mts → color-picker.output.d.mts} +2 -2
  17. package/dist/js/color-picker/{output.color-picker.mjs → color-picker.output.mjs} +19 -18
  18. package/dist/js/color-picker/color-picker.state.d.mts +8 -0
  19. package/dist/js/color-picker/color-picker.state.mjs +168 -0
  20. package/dist/js/color-picker/index.d.mts +172 -2
  21. package/dist/js/color-picker/index.mjs +66 -59
  22. package/dist/js/color-picker.constants-BZgXQr5o.d.mts +177 -0
  23. package/dist/js/color-picker.misc-BIS3R6jk.d.mts +31 -0
  24. package/dist/js/combobox/combobox.constants.d.mts +2 -0
  25. package/dist/js/combobox/{constants.combobox.mjs → combobox.constants.mjs} +21 -21
  26. package/dist/js/combobox/combobox.dom.d.mts +25 -0
  27. package/dist/js/combobox/{dom.combobox.mjs → combobox.dom.mjs} +51 -49
  28. package/dist/js/combobox/{event.combobox.d.mts → combobox.event.d.mts} +9 -9
  29. package/dist/js/combobox/{event.combobox.mjs → combobox.event.mjs} +1 -1
  30. package/dist/js/combobox/combobox.misc.d.mts +2 -0
  31. package/dist/js/combobox/combobox.misc.mjs +2 -0
  32. package/dist/js/combobox/combobox.model.d.mts +2 -0
  33. package/dist/js/combobox/combobox.state.d.mts +9 -0
  34. package/dist/js/combobox/combobox.state.mjs +2 -0
  35. package/dist/js/combobox/index.d.mts +152 -2
  36. package/dist/js/combobox/index.mjs +54 -55
  37. package/dist/js/combobox.constants-Hb3bqqQJ.d.mts +19 -0
  38. package/dist/js/combobox.misc-DRDFk6X8.d.mts +26 -0
  39. package/dist/js/combobox.model-gjEI2VqZ.d.mts +46 -0
  40. package/dist/js/{state.combobox-BWDFHwoi.mjs → combobox.state-AstCICiH.mjs} +109 -106
  41. package/dist/js/dialog/dialog.model.d.mts +2 -0
  42. package/dist/js/dialog/dialog.model.mjs +11 -0
  43. package/dist/js/dialog/index.d.mts +12 -0
  44. package/dist/js/dialog/index.mjs +123 -0
  45. package/dist/js/dialog.model-HVzYWoDo.d.mts +45 -0
  46. package/dist/js/floatable/floatable.embedded.d.mts +2 -2
  47. package/dist/js/floatable/floatable.embedded.mjs +64 -92
  48. package/dist/js/floatable/floatable.model.d.mts +2 -0
  49. package/dist/js/floatable/floatable.model.mjs +23 -0
  50. package/dist/js/floatable/floatable.standalone.d.mts +2 -1
  51. package/dist/js/floatable.embedded-ncshL3Sa.d.mts +17 -0
  52. package/dist/js/{floatable.embedded-DQYkXt8X.d.mts → floatable.model-DXsQgoU7.d.mts} +13 -20
  53. package/dist/js/focus-trap/focus-trap.embedded.d.mts +2 -2
  54. package/dist/js/focus-trap/focus-trap.embedded.mjs +117 -138
  55. package/dist/js/focus-trap/focus-trap.model.d.mts +2 -0
  56. package/dist/js/focus-trap/focus-trap.model.mjs +15 -0
  57. package/dist/js/focus-trap/focus-trap.standalone.d.mts +2 -1
  58. package/dist/js/focus-trap.embedded-DpcPkP7c.d.mts +13 -0
  59. package/dist/js/{focus-trap.embedded-CjyFQYow.d.mts → focus-trap.model-CpltX5B5.d.mts} +16 -18
  60. package/dist/js/index.d.mts +26 -14
  61. package/dist/js/index.mjs +18 -17
  62. package/dist/js/internal/attributable.d.mts +1 -1
  63. package/dist/js/internal/attributable.mjs +3 -2
  64. package/dist/js/internal/draggable/draggable.model.d.mts +2 -0
  65. package/dist/js/internal/draggable/draggable.model.mjs +37 -0
  66. package/dist/js/internal/draggable/index.d.mts +13 -0
  67. package/dist/js/internal/draggable/index.mjs +243 -0
  68. package/dist/js/internal/l10n/index.d.mts +5 -0
  69. package/dist/js/internal/l10n/index.mjs +147 -0
  70. package/dist/js/internal/l10n/l10n.model.d.mts +2 -0
  71. package/dist/js/internal/l10n/l10n.model.mjs +12 -0
  72. package/dist/js/internal/misc.d.mts +3 -2
  73. package/dist/js/internal/misc.mjs +4 -6
  74. package/dist/js/internal/navigable/index.d.mts +6 -0
  75. package/dist/js/internal/navigable/index.mjs +125 -0
  76. package/dist/js/internal/navigable/navigable.model.d.mts +2 -0
  77. package/dist/js/internal/navigable/navigable.model.mjs +18 -0
  78. package/dist/js/internal/option-list/option-list.constants.d.mts +8 -0
  79. package/dist/js/internal/option-list/option-list.constants.mjs +22 -0
  80. package/dist/js/internal/option-list/option-list.data.d.mts +21 -0
  81. package/dist/js/internal/option-list/option-list.data.mjs +2 -0
  82. package/dist/js/internal/option-list/option-list.dom.d.mts +18 -0
  83. package/dist/js/internal/option-list/option-list.dom.mjs +2 -0
  84. package/dist/js/internal/option-list/option-list.event.d.mts +6 -0
  85. package/dist/js/internal/option-list/option-list.event.mjs +66 -0
  86. package/dist/js/internal/option-list/option-list.form.d.mts +7 -0
  87. package/dist/js/internal/option-list/option-list.form.mjs +53 -0
  88. package/dist/js/internal/option-list/option-list.misc.d.mts +13 -0
  89. package/dist/js/internal/option-list/option-list.misc.mjs +2 -0
  90. package/dist/js/internal/option-list/option-list.model.d.mts +2 -0
  91. package/dist/js/internal/option-list/option-list.state.d.mts +8 -0
  92. package/dist/js/internal/option-list/option-list.state.mjs +39 -0
  93. package/dist/js/l10n/index.d.mts +3 -0
  94. package/dist/js/l10n/index.mjs +2 -0
  95. package/dist/js/l10n.model-D1E1u35L.d.mts +54 -0
  96. package/dist/js/listbox/index.d.mts +9 -18
  97. package/dist/js/listbox/index.mjs +49 -52
  98. package/dist/js/listbox/listbox.constants.d.mts +2 -0
  99. package/dist/js/listbox/{constants.listbox.mjs → listbox.constants.mjs} +11 -15
  100. package/dist/js/listbox/listbox.dom.d.mts +5 -0
  101. package/dist/js/listbox/listbox.dom.mjs +2 -0
  102. package/dist/js/listbox/listbox.event.d.mts +9 -0
  103. package/dist/js/listbox/listbox.event.mjs +2 -0
  104. package/dist/js/listbox/listbox.misc.d.mts +2 -0
  105. package/dist/js/listbox/listbox.misc.mjs +2 -0
  106. package/dist/js/listbox/listbox.model.d.mts +2 -0
  107. package/dist/js/listbox/listbox.model.mjs +1 -0
  108. package/dist/js/listbox/listbox.state.d.mts +9 -0
  109. package/dist/js/listbox/listbox.state.mjs +2 -0
  110. package/dist/js/listbox.constants-DOBMwKup.d.mts +9 -0
  111. package/dist/js/listbox.misc-DwfB4Mu_.d.mts +24 -0
  112. package/dist/js/listbox.model-C0MYWXZe.d.mts +20 -0
  113. package/dist/js/listbox.state-BrN296BM.mjs +240 -0
  114. package/dist/js/menu/index.mjs +171 -0
  115. package/dist/js/menu/menu.model.d.mts +33 -0
  116. package/dist/js/menu/menu.model.mjs +15 -0
  117. package/dist/js/movable/movable.embedded.d.mts +2 -2
  118. package/dist/js/movable/movable.embedded.mjs +77 -86
  119. package/dist/js/movable/movable.model.d.mts +2 -0
  120. package/dist/js/movable/movable.model.mjs +12 -0
  121. package/dist/js/movable/movable.standalone.d.mts +2 -1
  122. package/dist/js/movable.embedded-C1bDTLGs.d.mts +11 -0
  123. package/dist/js/movable.model-D9nnPWKk.d.mts +186 -0
  124. package/dist/js/navigable.model-BqoR6iBv.d.mts +44 -0
  125. package/dist/js/option-list.data-CgMyUwPc.mjs +441 -0
  126. package/dist/js/option-list.model-CCPUlPeX.d.mts +169 -0
  127. package/dist/js/popover/index.d.mts +12 -0
  128. package/dist/js/{popover.mjs → popover/index.mjs} +41 -51
  129. package/dist/js/popover/popover.model.d.mts +2 -0
  130. package/dist/js/popover/popover.model.mjs +12 -0
  131. package/dist/js/popover.model-DiLdz0Hc.d.mts +38 -0
  132. package/dist/js/resizable/resizable.embedded.d.mts +2 -2
  133. package/dist/js/resizable/resizable.embedded.mjs +43 -58
  134. package/dist/js/resizable/resizable.model.d.mts +2 -0
  135. package/dist/js/resizable/resizable.model.mjs +21 -0
  136. package/dist/js/resizable/resizable.standalone.d.mts +2 -1
  137. package/dist/js/resizable.embedded-BemH-7Re.d.mts +11 -0
  138. package/dist/js/resizable.model-YEtcC9li.d.mts +46 -0
  139. package/dist/js/sortable/sortable.embedded.d.mts +2 -2
  140. package/dist/js/sortable/sortable.embedded.mjs +111 -116
  141. package/dist/js/sortable/sortable.model.d.mts +2 -0
  142. package/dist/js/sortable/sortable.model.mjs +24 -0
  143. package/dist/js/sortable/sortable.standalone.d.mts +2 -1
  144. package/dist/js/sortable.embedded-CrEGff9k.d.mts +11 -0
  145. package/dist/js/{splitter.d.mts → splitter/index.d.mts} +6 -4
  146. package/dist/js/{splitter.mjs → splitter/index.mjs} +90 -128
  147. package/dist/js/splitter/splitter.model.d.mts +2 -0
  148. package/dist/js/splitter/splitter.model.mjs +37 -0
  149. package/dist/js/splitter.model-C24W6eZ7.d.mts +57 -0
  150. package/dist/js/{tabs.d.mts → tabs/index.d.mts} +8 -8
  151. package/dist/js/{tabs.mjs → tabs/index.mjs} +58 -58
  152. package/dist/js/tabs/tabs.model.d.mts +2 -0
  153. package/dist/js/tabs/tabs.model.mjs +18 -0
  154. package/dist/js/tabs.model-BHPy7fPo.d.mts +40 -0
  155. package/dist/js/toolbar/index.mjs +27 -0
  156. package/dist/js/toolbar/toolbar.model.d.mts +11 -0
  157. package/dist/js/toolbar/toolbar.model.mjs +7 -0
  158. package/dist/js/tooltip/index.d.mts +19 -0
  159. package/dist/js/{tooltip.mjs → tooltip/index.mjs} +61 -86
  160. package/dist/js/tooltip/tooltip.model.d.mts +2 -0
  161. package/dist/js/tooltip/tooltip.model.mjs +15 -0
  162. package/dist/js/tooltip.model-BpNStw5z.d.mts +37 -0
  163. package/package.json +30 -24
  164. package/dist/js/color-picker/constants.color-picker.d.mts +0 -2
  165. package/dist/js/color-picker/event.color-picker.mjs +0 -2
  166. package/dist/js/color-picker/misc.color-picker.d.mts +0 -2
  167. package/dist/js/color-picker/misc.color-picker.mjs +0 -2
  168. package/dist/js/color-picker/models.color-picker.d.mts +0 -2
  169. package/dist/js/color-picker/state.color-picker.d.mts +0 -8
  170. package/dist/js/color-picker/state.color-picker.mjs +0 -2
  171. package/dist/js/combobox/constants.combobox.d.mts +0 -2
  172. package/dist/js/combobox/dom.combobox.d.mts +0 -26
  173. package/dist/js/combobox/misc.combobox.d.mts +0 -2
  174. package/dist/js/combobox/misc.combobox.mjs +0 -2
  175. package/dist/js/combobox/models.combobox.d.mts +0 -43
  176. package/dist/js/combobox/state.combobox.d.mts +0 -11
  177. package/dist/js/combobox/state.combobox.mjs +0 -2
  178. package/dist/js/constants.color-picker-B-gFjL8m.d.mts +0 -364
  179. package/dist/js/constants.combobox-8EMRmv09.d.mts +0 -18
  180. package/dist/js/constants.listbox-DGnX32kv.d.mts +0 -8
  181. package/dist/js/dialog.d.mts +0 -47
  182. package/dist/js/dialog.mjs +0 -131
  183. package/dist/js/draggable-B5-70SZm.d.mts +0 -155
  184. package/dist/js/event.color-picker-BEpq0Adu.mjs +0 -485
  185. package/dist/js/index-C5D3-oiI.d.mts +0 -177
  186. package/dist/js/internal/draggable.d.mts +0 -2
  187. package/dist/js/internal/draggable.mjs +0 -265
  188. package/dist/js/internal/listbox/listbox.constants.d.mts +0 -8
  189. package/dist/js/internal/listbox/listbox.constants.mjs +0 -22
  190. package/dist/js/internal/listbox/listbox.data.d.mts +0 -19
  191. package/dist/js/internal/listbox/listbox.data.mjs +0 -2
  192. package/dist/js/internal/listbox/listbox.dom.d.mts +0 -65
  193. package/dist/js/internal/listbox/listbox.dom.mjs +0 -2
  194. package/dist/js/internal/listbox/listbox.event.d.mts +0 -4
  195. package/dist/js/internal/listbox/listbox.event.mjs +0 -63
  196. package/dist/js/internal/listbox/listbox.form.d.mts +0 -5
  197. package/dist/js/internal/listbox/listbox.form.mjs +0 -53
  198. package/dist/js/internal/listbox/listbox.misc.d.mts +0 -11
  199. package/dist/js/internal/listbox/listbox.misc.mjs +0 -2
  200. package/dist/js/internal/listbox/listbox.model.d.mts +0 -2
  201. package/dist/js/internal/listbox/listbox.state.d.mts +0 -6
  202. package/dist/js/internal/listbox/listbox.state.mjs +0 -40
  203. package/dist/js/internal/navigable.d.mts +0 -36
  204. package/dist/js/internal/navigable.mjs +0 -135
  205. package/dist/js/l10n-Bn-7RcwR.d.mts +0 -20
  206. package/dist/js/l10n.d.mts +0 -2
  207. package/dist/js/l10n.mjs +0 -80
  208. package/dist/js/listbox/constants.listbox.d.mts +0 -2
  209. package/dist/js/listbox/event.listbox.d.mts +0 -7
  210. package/dist/js/listbox/event.listbox.mjs +0 -2
  211. package/dist/js/listbox/misc.listbox.d.mts +0 -2
  212. package/dist/js/listbox/misc.listbox.mjs +0 -2
  213. package/dist/js/listbox/state.listbox.d.mts +0 -10
  214. package/dist/js/listbox/state.listbox.mjs +0 -2
  215. package/dist/js/listbox.data-DQ7-x2uY.mjs +0 -425
  216. package/dist/js/listbox.model-BHPA7GM4.d.mts +0 -125
  217. package/dist/js/menu.mjs +0 -172
  218. package/dist/js/misc.listbox-DKB-j0UK.mjs +0 -196
  219. package/dist/js/misc.listbox-mZMuYOxg.d.mts +0 -20
  220. package/dist/js/popover.d.mts +0 -38
  221. package/dist/js/resizable.embedded-dvhdfQgt.d.mts +0 -34
  222. package/dist/js/toolbar.mjs +0 -31
  223. package/dist/js/tooltip.d.mts +0 -45
  224. /package/dist/js/combobox/{models.combobox.mjs → combobox.model.mjs} +0 -0
  225. /package/dist/js/internal/{listbox/listbox.model.mjs → option-list/option-list.model.mjs} +0 -0
  226. /package/dist/js/{menu.d.mts → menu/index.d.mts} +0 -0
  227. /package/dist/js/{toolbar.d.mts → toolbar/index.d.mts} +0 -0
@@ -1,144 +1,114 @@
1
+ import { SPLITTER_ATTRIBUTE_ACTIVE, SPLITTER_ATTRIBUTE_HANDLE, SPLITTER_ATTRIBUTE_HORIZONTAL, 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_OBSERVE, SPLITTER_NAVIGATION_MAXIMUM_PERCENTAGE, SPLITTER_NAVIGATION_MINIMUM_PERCENTAGE, SPLITTER_NAVIGATION_MODIFIER, SPLITTER_SELECTOR_HANDLE, SPLITTER_SYMBOL, SPLITTER_TAGNAME, splitterStyling } from "./splitter.model.mjs";
1
2
  import { setAria } from "@oscarpalmer/toretto/aria";
3
+ import { getAttribute, setAttribute } from "@oscarpalmer/toretto/attribute";
2
4
  import { getEventPosition, on } from "@oscarpalmer/toretto/event";
5
+ import { findAncestor } from "@oscarpalmer/toretto/find";
3
6
  import { isNullableOrWhitespace } from "@oscarpalmer/atoms/is";
4
- import { getAttribute, setAttribute } from "@oscarpalmer/toretto/attribute";
5
- import { setStyle, toggleStyles } from "@oscarpalmer/toretto/style";
7
+ import { setStyle } from "@oscarpalmer/toretto/style";
8
+ import { filter } from "@oscarpalmer/atoms/array/filter";
6
9
  import { clamp } from "@oscarpalmer/atoms/number";
7
- import { findAncestor } from "@oscarpalmer/toretto/find";
8
10
  import { supportsTouch } from "@oscarpalmer/toretto/touch";
9
- import { round } from "@oscarpalmer/atoms/math";
10
11
  import { createElement } from "@oscarpalmer/toretto/create";
11
- //#region src/js/splitter.ts
12
- const ATTRIBUTE_MAX = "max";
13
- const ATTRIBUTE_MIN = "min";
14
- const ATTRIBUTE_SIZE = "size";
15
- const ATTRIBUTE_TYPE = "type";
16
- var OuiSplitter = class {
17
- element;
18
- handle;
19
- panels;
20
- rectangle;
21
- separator;
22
- types;
23
- values;
24
- constructor(element, panels) {
25
- this.element = element;
26
- this.panels = panels;
27
- if (isNullableOrWhitespace(element.id)) element.id = `oui_splitter_${++index}`;
28
- this.values = getValues(element);
29
- this.handle = createHandle();
30
- this.rectangle = element.getBoundingClientRect();
31
- this.separator = createSeparator(this);
32
- this.separator.append(this.handle);
33
- panels[0].insertAdjacentElement("afterend", this.separator);
34
- this.updateOrientation();
35
- this.updateValues();
36
- }
37
- updateConnections(add) {
38
- const method = METHODS_CONNECT[add];
39
- MAPPED_ELEMENTS[method](this.element, this);
40
- MAPPED_ELEMENTS[method](this.handle, this);
41
- MAPPED_ELEMENTS[method](this.separator, this);
42
- if (this.types.auto) RESIZE_OBSERVER[METHODS_OBSERVE[add]](this.element);
43
- }
44
- updateOrientation() {
45
- this.types = getTypes(this);
46
- if (this.types.auto) RESIZE_OBSERVER.observe(this.element);
47
- else RESIZE_OBSERVER.unobserve(this.element);
48
- setAttribute(this.element, ATTRIBUTE_HORIZONTAL, this.types.horizontal ? "" : void 0);
49
- setAriaOrientation(this);
50
- }
51
- updateValues() {
52
- this.values = getValues(this.element);
53
- requestAnimationFrame(() => {
54
- setSize(this, this.values.now.current);
55
- setAriaValue(this);
56
- });
57
- }
58
- };
12
+ import { round } from "@oscarpalmer/atoms/math";
13
+ //#region src/js/splitter/index.ts
14
+ function OuiSplitter(element, panels) {
15
+ this.element = element;
16
+ this.panels = panels;
17
+ if (isNullableOrWhitespace(element.id)) element.id = `oui_splitter_${++index}`;
18
+ this.values = getValues(element);
19
+ this.handle = createHandle();
20
+ this.rectangle = element.getBoundingClientRect();
21
+ this.separator = createSeparator(this);
22
+ this.separator.append(this.handle);
23
+ panels[0].insertAdjacentElement("afterend", this.separator);
24
+ this.updateOrientation();
25
+ this.updateValues();
26
+ }
27
+ OuiSplitter.prototype.updateObserver = updateObserver;
28
+ OuiSplitter.prototype.updateOrientation = updateOrientation;
29
+ OuiSplitter.prototype.updateValues = updateValues;
59
30
  var OuiSplitterElement = class extends HTMLElement {
60
31
  static observedAttributes = [
61
- ATTRIBUTE_MAX,
62
- ATTRIBUTE_MIN,
63
- ATTRIBUTE_SIZE,
64
- ATTRIBUTE_TYPE
32
+ "max",
33
+ "min",
34
+ SPLITTER_ATTRIBUTE_SIZE,
35
+ SPLITTER_ATTRIBUTE_TYPE
65
36
  ];
66
- #splitter;
67
37
  /**
68
38
  * Maximum size for the first panel
69
39
  */
70
40
  get max() {
71
- return this.#splitter.values.max;
41
+ return this[SPLITTER_SYMBOL].values.max;
72
42
  }
73
43
  /**
74
44
  * Maximum size for the first panel
75
45
  */
76
46
  set max(value) {
77
- if (typeof value === "number") setAttribute(this, ATTRIBUTE_MAX, value.toString());
47
+ if (typeof value === "number") setAttribute(this, "max", value.toString());
78
48
  }
79
49
  /**
80
50
  * Minimum size for the first panel
81
51
  */
82
52
  get min() {
83
- return this.#splitter.values.min;
53
+ return this[SPLITTER_SYMBOL].values.min;
84
54
  }
85
55
  /**
86
56
  * Minimum size for the first panel
87
57
  */
88
58
  set min(value) {
89
- if (typeof value === "number") setAttribute(this, ATTRIBUTE_MIN, value.toString());
59
+ if (typeof value === "number") setAttribute(this, "min", value.toString());
90
60
  }
91
61
  /**
92
62
  * Current size for the first panel
93
63
  */
94
64
  get size() {
95
- return this.#splitter.values.now.current;
65
+ return this[SPLITTER_SYMBOL].values.now.current;
96
66
  }
97
67
  /**
98
68
  * Current size for the first panel
99
69
  */
100
70
  set size(value) {
101
- if (typeof value === "number") setAttribute(this, ATTRIBUTE_SIZE, value.toString());
71
+ if (typeof value === "number") setAttribute(this, SPLITTER_ATTRIBUTE_SIZE, value.toString());
102
72
  }
103
73
  /**
104
74
  * Orientation of the splitter
105
75
  */
106
76
  get type() {
107
- return getAttribute(this, ATTRIBUTE_TYPE) ?? "vertical";
77
+ return getAttribute(this, "type") ?? "vertical";
108
78
  }
109
79
  /**
110
80
  * Orientation of the splitter
111
81
  */
112
82
  set type(value) {
113
- setAttribute(this, ATTRIBUTE_TYPE, value);
83
+ setAttribute(this, SPLITTER_ATTRIBUTE_TYPE, value);
114
84
  }
115
85
  constructor() {
116
86
  super();
117
- const panels = [...this.children].filter((child) => child instanceof Element);
118
- if (panels.length !== 2) throw new Error(MESSAGE);
119
- this.#splitter = new OuiSplitter(this, panels);
87
+ const panels = filter([...this.children], (child) => child instanceof Element);
88
+ if (panels.length !== 2) throw new Error(SPLITTER_MESSAGE);
89
+ this[SPLITTER_SYMBOL] = new OuiSplitter(this, panels);
120
90
  }
121
91
  connectedCallback() {
122
- this.#splitter.updateConnections(1);
92
+ this[SPLITTER_SYMBOL].updateObserver(1);
123
93
  }
124
94
  disconnectedCallback() {
125
- this.#splitter.updateConnections(0);
95
+ this[SPLITTER_SYMBOL].updateObserver(0);
126
96
  }
127
97
  attributeChangedCallback(name) {
128
98
  switch (name) {
129
- case ATTRIBUTE_MAX:
130
- case ATTRIBUTE_MIN:
131
- case ATTRIBUTE_SIZE:
132
- this.#splitter.updateValues();
99
+ case "max":
100
+ case "min":
101
+ case SPLITTER_ATTRIBUTE_SIZE:
102
+ this[SPLITTER_SYMBOL].updateValues();
133
103
  break;
134
- case ATTRIBUTE_TYPE: this.#splitter.updateOrientation();
104
+ case SPLITTER_ATTRIBUTE_TYPE: this[SPLITTER_SYMBOL].updateOrientation();
135
105
  }
136
106
  }
137
107
  };
138
108
  function createHandle() {
139
109
  return createElement("span", {
140
110
  aria: { hidden: true },
141
- attribute: { [ATTRIBUTE_HANDLE]: "" }
111
+ attribute: { [SPLITTER_ATTRIBUTE_HANDLE]: "" }
142
112
  });
143
113
  }
144
114
  function createSeparator(splitter) {
@@ -147,7 +117,7 @@ function createSeparator(splitter) {
147
117
  controls: splitter.element.id,
148
118
  label: "Resize panels"
149
119
  },
150
- attribute: { [ATTRIBUTE_SEPARATOR]: "" },
120
+ attribute: { [SPLITTER_ATTRIBUTE_SEPARATOR]: "" },
151
121
  property: {
152
122
  role: "separator",
153
123
  tabIndex: 0
@@ -155,7 +125,7 @@ function createSeparator(splitter) {
155
125
  });
156
126
  }
157
127
  function getContained(min, value, max) {
158
- return round(clamp(value, min, max), VALUE_DECIMALS);
128
+ return round(clamp(value, min, max), 6);
159
129
  }
160
130
  function getSize(splitter, value) {
161
131
  const { height, left, top, width } = splitter.rectangle;
@@ -183,59 +153,61 @@ function getValue(element, name, defaultValue) {
183
153
  const parsed = Number.parseFloat(value);
184
154
  if (Number.isNaN(parsed)) return defaultValue;
185
155
  if (parsed < 0) return defaultValue;
186
- return parsed > 1 ? parsed / NAVIGATION_MAXIMUM_TOTAL : parsed;
156
+ return parsed > 1 ? parsed / 100 : parsed;
187
157
  }
188
158
  function getValues(element) {
189
159
  const values = {
190
- max: getValue(element, ATTRIBUTE_MAX, NAVIGATION_MAXIMUM_PERCENTAGE),
191
- min: getValue(element, ATTRIBUTE_MIN, NAVIGATION_MINIMUM_PERCENTAGE),
160
+ max: getValue(element, "max", SPLITTER_NAVIGATION_MAXIMUM_PERCENTAGE),
161
+ min: getValue(element, "min", SPLITTER_NAVIGATION_MINIMUM_PERCENTAGE),
192
162
  now: {
193
163
  current: .5,
194
164
  previous: .5
195
165
  }
196
166
  };
197
- const value = getContained(values.min, getValue(element, ATTRIBUTE_SIZE, values.now.current), values.max);
167
+ const value = getContained(values.min, getValue(element, SPLITTER_ATTRIBUTE_SIZE, values.now.current), values.max);
198
168
  values.now.current = value;
199
169
  values.now.previous = value;
200
170
  return values;
201
171
  }
202
172
  function onEnd(reset) {
203
173
  if (splitter == null) return;
204
- splitter.handle.removeAttribute(ATTRIBUTE_ACTIVE);
205
- splitter.separator.removeAttribute(ATTRIBUTE_ACTIVE);
174
+ splitter.handle.removeAttribute(SPLITTER_ATTRIBUTE_ACTIVE);
175
+ splitter.separator.removeAttribute(SPLITTER_ATTRIBUTE_ACTIVE);
206
176
  if (reset) setSize(splitter, splitter.values.now.previous);
207
177
  else splitter.values.now.previous = splitter.values.now.current;
208
178
  splitter = void 0;
209
- STYLING_TOGGLER.remove();
179
+ splitterStyling.remove();
210
180
  }
211
181
  function onKeydown(event) {
212
182
  switch (true) {
213
- case KEYS_ALL.has(event.key):
183
+ case SPLITTER_KEYS_ALL.has(event.key):
214
184
  onNavigate(event);
215
185
  break;
216
186
  case event.key === "Escape": onEnd(true);
217
187
  }
218
188
  }
219
189
  function onNavigate(event) {
220
- const splitter = MAPPED_ELEMENTS.get(findAncestor(event, "[oui-splitter-separator]"));
190
+ const separator = findAncestor(event, "[oui-splitter-separator]");
191
+ if (separator == null) return;
192
+ const splitter = findAncestor(separator, SPLITTER_TAGNAME)?.[SPLITTER_SYMBOL];
221
193
  if (splitter == null) return;
222
194
  const { types, values } = splitter;
223
- if (KEYS_ABSOLUTE.has(event.key)) {
195
+ if (SPLITTER_KEYS_ABSOLUTE.has(event.key)) {
224
196
  setSize(splitter, event.key === "End" ? values.max : values.min, true);
225
197
  return;
226
198
  }
227
- if (types.horizontal && !KEYS_HORIZONTAL.has(event.key) || !(types.horizontal || KEYS_VERTICAL.has(event.key))) return;
228
- const offset = KEYS_NEGATIVE.has(event.key) ? -1 : 1;
229
- setSize(splitter, getContained(values.min, values.now.current + offset * NAVIGATION_MODIFIER, values.max), true);
199
+ if (types.horizontal && !SPLITTER_KEYS_HORIZONTAL.has(event.key) || !(types.horizontal || SPLITTER_KEYS_VERTICAL.has(event.key))) return;
200
+ const offset = SPLITTER_KEYS_NEGATIVE.has(event.key) ? -1 : 1;
201
+ setSize(splitter, getContained(values.min, values.now.current + offset * SPLITTER_NAVIGATION_MODIFIER, values.max), true);
230
202
  }
231
203
  function onObservation(entries) {
232
204
  if (frame != null) cancelAnimationFrame(frame);
233
205
  frame = requestAnimationFrame(() => {
234
206
  for (const entry of entries) {
235
- const splitter = MAPPED_ELEMENTS.get(entry.target);
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;
236
208
  if (splitter == null) return;
237
209
  splitter.types = getTypes(splitter, entry.contentRect.width, entry.contentRect.height);
238
- setAttribute(splitter.element, ATTRIBUTE_HORIZONTAL, splitter.types.horizontal ? "" : void 0);
210
+ setAttribute(splitter.element, SPLITTER_ATTRIBUTE_HORIZONTAL, splitter.types.horizontal ? "" : void 0);
239
211
  setAriaOrientation(splitter);
240
212
  }
241
213
  frame = void 0;
@@ -243,13 +215,15 @@ function onObservation(entries) {
243
215
  }
244
216
  function onPointerdown(event) {
245
217
  if (supportsTouch.value ? event.type === "mousedown" : event.type === "touchstart") return;
246
- splitter = MAPPED_ELEMENTS.get(findAncestor(event, SELECTOR_HANDLE));
218
+ const handle = findAncestor(event, SPLITTER_SELECTOR_HANDLE);
219
+ if (handle == null) return;
220
+ splitter = findAncestor(handle, SPLITTER_TAGNAME)?.[SPLITTER_SYMBOL];
247
221
  if (splitter == null) return;
248
222
  if (supportsTouch.value) event.preventDefault();
249
- setAttribute(splitter.handle, ATTRIBUTE_ACTIVE, "");
250
- setAttribute(splitter.separator, ATTRIBUTE_ACTIVE, "");
223
+ setAttribute(splitter.handle, SPLITTER_ATTRIBUTE_ACTIVE, "");
224
+ setAttribute(splitter.separator, SPLITTER_ATTRIBUTE_ACTIVE, "");
251
225
  splitter.rectangle = splitter.element.getBoundingClientRect();
252
- STYLING_TOGGLER.set();
226
+ splitterStyling.set();
253
227
  }
254
228
  function onPointermove(event) {
255
229
  if (splitter == null) return;
@@ -278,36 +252,24 @@ function setSize(splitter, size, previous) {
278
252
  setStyle(splitter.element, "--oui-splitter-size", `${size}`);
279
253
  setAriaValue(splitter);
280
254
  }
281
- const TAGNAME = "oui-splitter";
282
- const ATTRIBUTE_ACTIVE = `${TAGNAME}-active`;
283
- const ATTRIBUTE_HANDLE = `${TAGNAME}-handle`;
284
- const ATTRIBUTE_HORIZONTAL = `${TAGNAME}-horizontal`;
285
- const ATTRIBUTE_SEPARATOR = `${TAGNAME}-separator`;
286
- const KEYS_ABSOLUTE = /* @__PURE__ */ new Set(["End", "Home"]);
287
- const KEYS_HORIZONTAL = /* @__PURE__ */ new Set(["ArrowDown", "ArrowUp"]);
288
- const KEYS_NEGATIVE = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowUp"]);
289
- const KEYS_VERTICAL = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowRight"]);
290
- const KEYS_ALL = /* @__PURE__ */ new Set([
291
- ...KEYS_ABSOLUTE,
292
- ...KEYS_HORIZONTAL,
293
- ...KEYS_VERTICAL
294
- ]);
295
- const MAPPED_ELEMENTS = /* @__PURE__ */ new WeakMap();
296
- const MESSAGE = `<${TAGNAME}> must have exactly two panels.`;
297
- const METHODS_CONNECT = ["delete", "set"];
298
- const METHODS_OBSERVE = ["unobserve", "observe"];
299
- const NAVIGATION_MAXIMUM_PERCENTAGE = .9;
300
- const NAVIGATION_MAXIMUM_TOTAL = 100;
301
- const NAVIGATION_MINIMUM_PERCENTAGE = .1;
302
- const NAVIGATION_MODIFIER = .05;
303
- const RESIZE_OBSERVER = new ResizeObserver(onObservation);
304
- const SELECTOR_HANDLE = `[${ATTRIBUTE_HANDLE}]`;
305
- const STYLING_TOGGLER = toggleStyles(document.body, {
306
- touchAction: "none",
307
- userSelect: "none",
308
- webkitUserSelect: "none"
309
- });
310
- const VALUE_DECIMALS = 6;
255
+ function updateObserver(add) {
256
+ if (this.types.auto) observer[SPLITTER_METHODS_OBSERVE[add]](this.element);
257
+ }
258
+ function updateOrientation() {
259
+ this.types = getTypes(this);
260
+ if (this.types.auto) observer.observe(this.element);
261
+ else observer.unobserve(this.element);
262
+ setAttribute(this.element, SPLITTER_ATTRIBUTE_HORIZONTAL, this.types.horizontal ? "" : void 0);
263
+ setAriaOrientation(this);
264
+ }
265
+ function updateValues() {
266
+ this.values = getValues(this.element);
267
+ requestAnimationFrame(() => {
268
+ setSize(this, this.values.now.current);
269
+ setAriaValue(this);
270
+ });
271
+ }
272
+ const observer = new ResizeObserver(onObservation);
311
273
  let index = 0;
312
274
  let frame;
313
275
  let splitter;
@@ -317,6 +279,6 @@ on(document, "pointermove", onPointermove);
317
279
  on(document, "pointerup", onPointerup);
318
280
  on(document, "touchcancel", onPointerup);
319
281
  on(document, "touchstart", onPointerdown, { passive: false });
320
- customElements.define(TAGNAME, OuiSplitterElement);
282
+ customElements.define(SPLITTER_TAGNAME, OuiSplitterElement);
321
283
  //#endregion
322
284
  export { OuiSplitterElement };
@@ -0,0 +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-C24W6eZ7.mjs";
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 };
@@ -0,0 +1,37 @@
1
+ import { toggleStyles } from "@oscarpalmer/toretto/style";
2
+ //#region src/js/splitter/splitter.model.ts
3
+ const SPLITTER_TAGNAME = "oui-splitter";
4
+ const SPLITTER_ATTRIBUTE_ACTIVE = `${SPLITTER_TAGNAME}-active`;
5
+ const SPLITTER_ATTRIBUTE_HANDLE = `${SPLITTER_TAGNAME}-handle`;
6
+ const SPLITTER_ATTRIBUTE_HORIZONTAL = `${SPLITTER_TAGNAME}-horizontal`;
7
+ const SPLITTER_ATTRIBUTE_MAX = "max";
8
+ const SPLITTER_ATTRIBUTE_MIN = "min";
9
+ const SPLITTER_ATTRIBUTE_SIZE = "size";
10
+ const SPLITTER_ATTRIBUTE_TYPE = "type";
11
+ const SPLITTER_ATTRIBUTE_SEPARATOR = `${SPLITTER_TAGNAME}-separator`;
12
+ const SPLITTER_KEYS_ABSOLUTE = /* @__PURE__ */ new Set(["End", "Home"]);
13
+ const SPLITTER_KEYS_HORIZONTAL = /* @__PURE__ */ new Set(["ArrowDown", "ArrowUp"]);
14
+ const SPLITTER_KEYS_NEGATIVE = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowUp"]);
15
+ const SPLITTER_KEYS_VERTICAL = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowRight"]);
16
+ const SPLITTER_KEYS_ALL = /* @__PURE__ */ new Set([
17
+ ...SPLITTER_KEYS_ABSOLUTE,
18
+ ...SPLITTER_KEYS_HORIZONTAL,
19
+ ...SPLITTER_KEYS_VERTICAL
20
+ ]);
21
+ const SPLITTER_MESSAGE = `<${SPLITTER_TAGNAME}> must have exactly two panels.`;
22
+ const SPLITTER_METHODS_CONNECT = ["delete", "set"];
23
+ const SPLITTER_METHODS_OBSERVE = ["unobserve", "observe"];
24
+ const SPLITTER_NAVIGATION_MAXIMUM_PERCENTAGE = .9;
25
+ const SPLITTER_NAVIGATION_MAXIMUM_TOTAL = 100;
26
+ const SPLITTER_NAVIGATION_MINIMUM_PERCENTAGE = .1;
27
+ const SPLITTER_NAVIGATION_MODIFIER = .05;
28
+ const SPLITTER_SELECTOR_HANDLE = `[${SPLITTER_ATTRIBUTE_HANDLE}]`;
29
+ const SPLITTER_SYMBOL = Symbol(SPLITTER_TAGNAME);
30
+ const SPLITTER_VALUE_DECIMALS = 6;
31
+ const splitterStyling = toggleStyles(document.body, {
32
+ touchAction: "none",
33
+ userSelect: "none",
34
+ webkitUserSelect: "none"
35
+ });
36
+ //#endregion
37
+ export { 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 };
@@ -0,0 +1,57 @@
1
+ import { StyleToggler } from "@oscarpalmer/toretto/style";
2
+ //#region src/js/splitter/splitter.model.d.ts
3
+ type GenericOuiSplitterElement = {
4
+ [SPLITTER_SYMBOL]: OuiSplitter;
5
+ } & HTMLElement;
6
+ type OuiSplitter = {
7
+ element: GenericOuiSplitterElement;
8
+ handle: Element;
9
+ panels: Element[];
10
+ rectangle: DOMRect;
11
+ separator: HTMLDivElement;
12
+ types: OuiSplitterTypes;
13
+ values: OuiSplitterValues;
14
+ updateObserver(add: 0 | 1): void;
15
+ updateOrientation(): void;
16
+ updateValues(): void;
17
+ };
18
+ type OuiSplitterTypes = {
19
+ auto: boolean;
20
+ horizontal: boolean;
21
+ };
22
+ type OuiSplitterValues = {
23
+ max: number;
24
+ min: number;
25
+ now: OuiSplitterValuesNow;
26
+ };
27
+ type OuiSplitterValuesNow = {
28
+ current: number;
29
+ previous: number;
30
+ };
31
+ declare const SPLITTER_TAGNAME = "oui-splitter";
32
+ declare const SPLITTER_ATTRIBUTE_ACTIVE: string;
33
+ declare const SPLITTER_ATTRIBUTE_HANDLE: string;
34
+ declare const SPLITTER_ATTRIBUTE_HORIZONTAL: string;
35
+ declare const SPLITTER_ATTRIBUTE_MAX = "max";
36
+ declare const SPLITTER_ATTRIBUTE_MIN = "min";
37
+ declare const SPLITTER_ATTRIBUTE_SIZE = "size";
38
+ declare const SPLITTER_ATTRIBUTE_TYPE = "type";
39
+ declare const SPLITTER_ATTRIBUTE_SEPARATOR: string;
40
+ declare const SPLITTER_KEYS_ABSOLUTE: Set<string>;
41
+ declare const SPLITTER_KEYS_HORIZONTAL: Set<string>;
42
+ declare const SPLITTER_KEYS_NEGATIVE: Set<string>;
43
+ declare const SPLITTER_KEYS_VERTICAL: Set<string>;
44
+ declare const SPLITTER_KEYS_ALL: Set<string>;
45
+ declare const SPLITTER_MESSAGE: string;
46
+ declare const SPLITTER_METHODS_CONNECT: readonly ["delete", "set"];
47
+ declare const SPLITTER_METHODS_OBSERVE: readonly ["unobserve", "observe"];
48
+ declare const SPLITTER_NAVIGATION_MAXIMUM_PERCENTAGE = .9;
49
+ declare const SPLITTER_NAVIGATION_MAXIMUM_TOTAL = 100;
50
+ declare const SPLITTER_NAVIGATION_MINIMUM_PERCENTAGE = .1;
51
+ declare const SPLITTER_NAVIGATION_MODIFIER = .05;
52
+ declare const SPLITTER_SELECTOR_HANDLE: string;
53
+ declare const SPLITTER_SYMBOL: unique symbol;
54
+ declare const SPLITTER_VALUE_DECIMALS = 6;
55
+ declare const splitterStyling: StyleToggler;
56
+ //#endregion
57
+ export { splitterStyling as A, SPLITTER_NAVIGATION_MAXIMUM_TOTAL as C, SPLITTER_SYMBOL as D, SPLITTER_SELECTOR_HANDLE as E, SPLITTER_TAGNAME as O, SPLITTER_NAVIGATION_MAXIMUM_PERCENTAGE as S, SPLITTER_NAVIGATION_MODIFIER as T, SPLITTER_KEYS_NEGATIVE as _, OuiSplitterValuesNow as a, SPLITTER_METHODS_CONNECT as b, SPLITTER_ATTRIBUTE_HORIZONTAL as c, SPLITTER_ATTRIBUTE_SEPARATOR as d, SPLITTER_ATTRIBUTE_SIZE as f, SPLITTER_KEYS_HORIZONTAL as g, SPLITTER_KEYS_ALL as h, OuiSplitterValues as i, SPLITTER_VALUE_DECIMALS as k, SPLITTER_ATTRIBUTE_MAX as l, SPLITTER_KEYS_ABSOLUTE as m, OuiSplitter as n, SPLITTER_ATTRIBUTE_ACTIVE as o, SPLITTER_ATTRIBUTE_TYPE as p, OuiSplitterTypes as r, SPLITTER_ATTRIBUTE_HANDLE as s, GenericOuiSplitterElement as t, SPLITTER_ATTRIBUTE_MIN as u, SPLITTER_KEYS_VERTICAL as v, SPLITTER_NAVIGATION_MINIMUM_PERCENTAGE as w, SPLITTER_METHODS_OBSERVE as x, SPLITTER_MESSAGE as y };
@@ -1,24 +1,24 @@
1
- //#region src/js/tabs.d.ts
1
+ import { a as OuiTabsState, c as TABS_SYMBOL, r as OuiTabsEvent } from "../tabs.model-BHPy7fPo.mjs";
2
+ //#region src/js/tabs/index.d.ts
2
3
  declare global {
3
4
  interface HTMLElementTagNameMap {
4
5
  [TAGNAME]: OuiTabsElement;
5
6
  }
6
7
  }
7
- export declare class OuiTabsEvent extends Event {
8
- oldIndex: number;
9
- newIndex: number;
10
- constructor(name: "oui:beforechange" | "oui:change", oldIndex: number, newIndex: number, cancelable: boolean);
8
+ export interface OuiTabsElement {
9
+ [TABS_SYMBOL]: OuiTabsState;
11
10
  }
12
11
  export declare class OuiTabsElement extends HTMLElement {
13
- #private;
14
12
  static observedAttributes: string[];
15
13
  get active(): number;
16
14
  set active(value: number);
17
- get panel(): HTMLElement;
15
+ get panel(): Element;
18
16
  get tab(): HTMLButtonElement;
17
+ constructor();
19
18
  attributeChangedCallback(name: string, _: string | null, value: string | null): void;
20
19
  connectedCallback(): void;
21
20
  disconnectedCallback(): void;
22
21
  }
23
22
  declare const TAGNAME = "oui-tabs";
24
- //#endregion
23
+ //#endregion
24
+ export { OuiTabsEvent };