@oscarpalmer/oui 0.35.0 → 0.37.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 (128) hide show
  1. package/dist/css/badge.css +18 -15
  2. package/dist/css/button.css +35 -31
  3. package/dist/css/color.css +20 -20
  4. package/dist/css/combobox.css +134 -35
  5. package/dist/css/content.css +29 -10
  6. package/dist/css/floatable.css +10 -10
  7. package/dist/css/form.css +393 -129
  8. package/dist/css/listbox.css +176 -0
  9. package/dist/css/message.css +13 -10
  10. package/dist/css/reset.css +29 -88
  11. package/dist/css/splitter.css +2 -2
  12. package/dist/css/tabs.css +103 -0
  13. package/dist/js/combobox/constants.combobox.d.mts +2 -2
  14. package/dist/js/combobox/constants.combobox.mjs +40 -33
  15. package/dist/js/combobox/dom.combobox.d.mts +8 -91
  16. package/dist/js/combobox/dom.combobox.mjs +204 -2
  17. package/dist/js/combobox/event.combobox.d.mts +14 -8
  18. package/dist/js/combobox/event.combobox.mjs +2 -2
  19. package/dist/js/combobox/index.d.mts +1 -1
  20. package/dist/js/combobox/index.mjs +20 -18
  21. package/dist/js/combobox/misc.combobox.d.mts +2 -2
  22. package/dist/js/combobox/misc.combobox.mjs +2 -2
  23. package/dist/js/combobox/models.combobox.d.mts +44 -2
  24. package/dist/js/combobox/state.combobox.d.mts +9 -10
  25. package/dist/js/combobox/state.combobox.mjs +2 -2
  26. package/dist/js/constants.combobox-DmRAMC64.d.mts +26 -0
  27. package/dist/js/constants.listbox-DRsXUxd3.d.mts +14 -0
  28. package/dist/js/focus-trap/focus-trap.embedded.mjs +6 -10
  29. package/dist/js/index-EfkUSals.d.mts +139 -0
  30. package/dist/js/index.d.mts +5 -2
  31. package/dist/js/index.mjs +5 -2
  32. package/dist/js/internal/attributable.mjs +4 -3
  33. package/dist/js/internal/draggable.mjs +16 -22
  34. package/dist/js/internal/listbox/listbox.constants.d.mts +11 -0
  35. package/dist/js/internal/listbox/listbox.constants.mjs +23 -0
  36. package/dist/js/internal/listbox/listbox.data.d.mts +20 -0
  37. package/dist/js/internal/listbox/listbox.data.mjs +2 -0
  38. package/dist/js/internal/listbox/listbox.dom.d.mts +66 -0
  39. package/dist/js/internal/listbox/listbox.dom.mjs +2 -0
  40. package/dist/js/internal/listbox/listbox.event.d.mts +5 -0
  41. package/dist/js/internal/listbox/listbox.event.mjs +63 -0
  42. package/dist/js/internal/listbox/listbox.form.d.mts +6 -0
  43. package/dist/js/internal/listbox/listbox.form.mjs +52 -0
  44. package/dist/js/internal/listbox/listbox.misc.d.mts +12 -0
  45. package/dist/js/internal/listbox/listbox.misc.mjs +2 -0
  46. package/dist/js/internal/listbox/listbox.model.d.mts +2 -0
  47. package/dist/js/internal/listbox/listbox.model.mjs +1 -0
  48. package/dist/js/internal/listbox/listbox.state.d.mts +7 -0
  49. package/dist/js/internal/listbox/listbox.state.mjs +40 -0
  50. package/dist/js/internal/misc.d.mts +6 -0
  51. package/dist/js/internal/misc.mjs +13 -0
  52. package/dist/js/internal/navigable.d.mts +11 -5
  53. package/dist/js/internal/navigable.mjs +44 -18
  54. package/dist/js/l10n-Bn-7RcwR.d.mts +20 -0
  55. package/dist/js/l10n.d.mts +2 -20
  56. package/dist/js/listbox/constants.listbox.d.mts +2 -0
  57. package/dist/js/listbox/constants.listbox.mjs +40 -0
  58. package/dist/js/listbox/event.listbox.d.mts +8 -0
  59. package/dist/js/listbox/event.listbox.mjs +2 -0
  60. package/dist/js/listbox/index.d.mts +116 -0
  61. package/dist/js/listbox/index.mjs +189 -0
  62. package/dist/js/listbox/misc.listbox.d.mts +2 -0
  63. package/dist/js/listbox/misc.listbox.mjs +2 -0
  64. package/dist/js/listbox/state.listbox.d.mts +11 -0
  65. package/dist/js/listbox/state.listbox.mjs +2 -0
  66. package/dist/js/listbox.data-BWd0PCy7.mjs +424 -0
  67. package/dist/js/listbox.model-CRReGOmu.d.mts +125 -0
  68. package/dist/js/misc.listbox-BI-XsTOf.mjs +197 -0
  69. package/dist/js/misc.listbox-gnoJhrTr.d.mts +20 -0
  70. package/dist/js/movable/movable.embedded.mjs +3 -6
  71. package/dist/js/resizable/resizable.embedded.mjs +16 -26
  72. package/dist/js/sortable/sortable.embedded.mjs +4 -2
  73. package/dist/js/splitter.mjs +15 -12
  74. package/dist/js/state.combobox-4xq0FPCF.mjs +365 -0
  75. package/dist/js/tabs.d.mts +25 -0
  76. package/dist/js/tabs.mjs +240 -0
  77. package/dist/js/tooltip.mjs +13 -12
  78. package/package.json +7 -3
  79. package/src/css/badge.scss +6 -18
  80. package/src/css/button.scss +6 -45
  81. package/src/css/color.scss +20 -20
  82. package/src/css/combobox.scss +21 -52
  83. package/src/css/content.scss +30 -3
  84. package/src/css/floatable.scss +17 -17
  85. package/src/css/form.scss +84 -72
  86. package/src/css/listbox.scss +120 -0
  87. package/src/css/message.scss +13 -28
  88. package/src/css/mixins.scss +253 -28
  89. package/src/css/reset.scss +37 -86
  90. package/src/css/splitter.scss +2 -2
  91. package/src/css/tabs.scss +85 -0
  92. package/src/js/combobox/constants.combobox.ts +46 -25
  93. package/src/js/combobox/dom.combobox.ts +36 -454
  94. package/src/js/combobox/event.combobox.ts +129 -218
  95. package/src/js/combobox/index.ts +37 -30
  96. package/src/js/combobox/misc.combobox.ts +30 -114
  97. package/src/js/combobox/models.combobox.ts +7 -47
  98. package/src/js/combobox/state.combobox.ts +126 -127
  99. package/src/js/focus-trap/focus-trap.embedded.ts +11 -19
  100. package/src/js/index.ts +2 -0
  101. package/src/js/internal/draggable.ts +29 -33
  102. package/src/js/internal/listbox/listbox.constants.ts +25 -0
  103. package/src/js/{combobox/data.combobox.ts → internal/listbox/listbox.data.ts} +94 -43
  104. package/src/js/internal/listbox/listbox.dom.ts +445 -0
  105. package/src/js/internal/listbox/listbox.event.ts +129 -0
  106. package/src/js/{combobox/form.combobox.ts → internal/listbox/listbox.form.ts} +13 -14
  107. package/src/js/internal/listbox/listbox.misc.ts +135 -0
  108. package/src/js/internal/listbox/listbox.model.ts +169 -0
  109. package/src/js/internal/listbox/listbox.state.ts +82 -0
  110. package/src/js/internal/misc.ts +27 -0
  111. package/src/js/internal/navigable.ts +80 -23
  112. package/src/js/l10n.ts +8 -8
  113. package/src/js/listbox/constants.listbox.ts +61 -0
  114. package/src/js/listbox/event.listbox.ts +106 -0
  115. package/src/js/listbox/index.ts +302 -0
  116. package/src/js/listbox/misc.listbox.ts +70 -0
  117. package/src/js/listbox/state.listbox.ts +196 -0
  118. package/src/js/movable/movable.embedded.ts +11 -13
  119. package/src/js/resizable/resizable.embedded.ts +25 -39
  120. package/src/js/splitter.ts +21 -18
  121. package/src/js/tabs.ts +447 -0
  122. package/src/js/tooltip.ts +20 -17
  123. package/dist/js/combobox/data.combobox.d.mts +0 -18
  124. package/dist/js/combobox/data.combobox.mjs +0 -2
  125. package/dist/js/combobox/form.combobox.d.mts +0 -6
  126. package/dist/js/combobox/form.combobox.mjs +0 -2
  127. package/dist/js/constants.combobox-h_kyDegw.d.mts +0 -248
  128. package/dist/js/data.combobox-B8HMkDOh.mjs +0 -1030
@@ -1,248 +0,0 @@
1
- import { r as OuiFloatable } from "./floatable.embedded-Bct4U5Dm.mjs";
2
- import { AnyAriaBooleanAttribute, RemovableEventListener } from "@oscarpalmer/toretto/models";
3
- //#region src/js/combobox/misc.combobox.d.ts
4
- declare function generateComboboxIds(prefix: string, select: HTMLSelectElement): void;
5
- declare function getComboboxAttributeValue<Value>(element: HTMLElement, attribute: string, possible: Set<Value>, defaultValue: Value): Value;
6
- declare function getComboboxAutoComplete(element: OuiComboboxElement, select: boolean): OuiComboboxAutoComplete;
7
- declare function getComboboxBooleanAria(element: HTMLElement, attribute: AnyAriaBooleanAttribute): boolean;
8
- declare function getComboboxId(): string;
9
- declare function getComboboxVisibleOptions(state: OuiComboboxState): HTMLElement[];
10
- declare function hasTextSelection(element: HTMLElement): element is HTMLInputElement;
11
- declare function setComboboxFilter(state: OuiComboboxState, value: unknown): void;
12
- declare function setComboboxLimit(type: 'max' | 'min', state: OuiComboboxState, value?: unknown): void;
13
- /**
14
- * Set combobox localizations for a specific language
15
- *
16
- * @param language Language code
17
- * @param localizations Localizations for language
18
- */
19
- declare function setComboboxLocalizations(language: string, localizations: Partial<OuiComboboxLocalizations>): void;
20
- /**
21
- * Set combobox localizations for one or more languages
22
- *
23
- * @param localizations Localizations for one or more languages
24
- */
25
- declare function setComboboxLocalizations(localizations: Record<string, Partial<OuiComboboxLocalizations>>): void;
26
- //#endregion
27
- //#region src/js/combobox/index.d.ts
28
- declare global {
29
- interface HTMLElementTagNameMap {
30
- [COMBOBOX_TAGNAME]: OuiComboboxElement;
31
- }
32
- }
33
- declare class OuiComboboxElement extends HTMLElement {
34
- #private;
35
- static formAssociated: boolean;
36
- static observedAttributes: string[];
37
- /**
38
- * Is the combobox disabled?
39
- */
40
- get disabled(): boolean;
41
- /**
42
- * Should the combobox be disabled?
43
- */
44
- set disabled(value: boolean);
45
- /**
46
- * Current filter value
47
- */
48
- get filter(): string;
49
- /**
50
- * Set the filter value
51
- */
52
- set filter(value: string);
53
- /**
54
- * Maximum number of selected options
55
- */
56
- get max(): number | undefined;
57
- /**
58
- * Set the maximum number of selected options
59
- */
60
- set max(value: number);
61
- /**
62
- * Minimum number of selected options
63
- */
64
- get min(): number | undefined;
65
- /**
66
- * Set the minimum number of selected options
67
- */
68
- set min(value: number);
69
- /**
70
- * Does the combobox allow multiple values?
71
- */
72
- get multiple(): boolean;
73
- /**
74
- * Name of the combobox
75
- */
76
- get name(): string;
77
- /**
78
- * Is the combobox readonly?
79
- */
80
- get readonly(): boolean;
81
- /**
82
- * Should the combobox be readonly?
83
- */
84
- set readonly(value: boolean);
85
- /**
86
- * Is the combobox required?
87
- */
88
- get required(): boolean;
89
- /**
90
- * Should the combobox be required?
91
- */
92
- set required(value: boolean);
93
- /**
94
- * Selected options
95
- */
96
- get selected(): HTMLElement[];
97
- /**
98
- * Type of combobox
99
- */
100
- get type(): OuiComboboxType;
101
- /**
102
- * Current value
103
- */
104
- get value(): string;
105
- /**
106
- * Set the value
107
- */
108
- set value(value: unknown);
109
- /**
110
- * Current values
111
- */
112
- get values(): string[];
113
- /**
114
- * Set the values
115
- */
116
- set values(value: unknown[]);
117
- constructor();
118
- attributeChangedCallback(name: string, _: string | null, value: string | null): void;
119
- /**
120
- * Clear all selected options
121
- */
122
- clear(): void;
123
- connectedCallback(): void;
124
- disconnectedCallback(): void;
125
- formDisabledCallback(disabled: boolean): void;
126
- formResetCallback(): void;
127
- formStateRestoreCallback(state: string | File | FormData, reason: unknown): void;
128
- /**
129
- * Set combobox localizations for a specific language
130
- *
131
- * @param language Language code
132
- * @param localizations Localizations for language
133
- */
134
- setLocalizations(language: string, localizations: Partial<OuiComboboxLocalizations>): void;
135
- /**
136
- * Set combobox localizations for one or more languages
137
- *
138
- * @param localizations Localizations for one or more languages
139
- */
140
- setLocalizations(localizations: Record<string, Partial<OuiComboboxLocalizations>>): void;
141
- }
142
- //#endregion
143
- //#region src/js/combobox/models.combobox.d.ts
144
- type OuiComboboxAnchor = {
145
- container?: HTMLElement;
146
- element: HTMLElement;
147
- };
148
- type OuiComboboxAutoComplete = Record<OuiComboboxAutoCompleteType, boolean> & {
149
- value: OuiComboboxAutoCompleteType;
150
- };
151
- type OuiComboboxAutoCompleteType = 'both' | 'inline' | 'list' | 'none';
152
- type OuiComboboxFilter = {
153
- element: HTMLInputElement;
154
- value: string;
155
- };
156
- type OuiComboboxGroup = {
157
- element: HTMLElement;
158
- header: HTMLElement;
159
- options: HTMLElement[];
160
- };
161
- type OuiComboboxLabel = {
162
- element: HTMLLabelElement;
163
- id: string;
164
- };
165
- type OuiComboboxLocalizations = {
166
- empty: string | (() => string);
167
- input: string | (() => string);
168
- invalid: string | (() => string);
169
- max: string | ((max: number) => string);
170
- min: string | ((min: number) => string);
171
- remove: string | ((label: string, value: string) => string);
172
- results: string | ((amount: number) => string);
173
- selected: string | ((amount: number) => string);
174
- };
175
- type OuiComboboxOptions = {
176
- all: HTMLElement[];
177
- selected: HTMLElement[];
178
- };
179
- type OuiComboboxPreview = 'none' | 'set' | 'typed';
180
- type OuiComboboxSelection = {
181
- container: HTMLElement;
182
- items: OuiComboboxSelectionItem[];
183
- };
184
- type OuiComboboxSelectionItem = {
185
- button: HTMLButtonElement;
186
- element: HTMLElement;
187
- };
188
- type OuiComboboxState = {
189
- active?: HTMLElement;
190
- anchor: OuiComboboxAnchor;
191
- autocomplete: OuiComboboxAutoComplete;
192
- content: HTMLElement;
193
- disabled: boolean;
194
- filter: OuiComboboxFilter;
195
- floatable: OuiFloatable;
196
- groups?: OuiComboboxGroup[];
197
- host: OuiComboboxElement;
198
- id: string;
199
- internals: ElementInternals;
200
- label: OuiComboboxLabel;
201
- listeners: RemovableEventListener[];
202
- localizations: Record<string, Partial<OuiComboboxLocalizations>>;
203
- max?: number;
204
- min?: number;
205
- message: HTMLElement;
206
- name: string;
207
- multiple: boolean;
208
- options: OuiComboboxOptions;
209
- readonly: boolean;
210
- required: boolean;
211
- select: HTMLSelectElement;
212
- selection?: OuiComboboxSelection;
213
- type: OuiComboboxType;
214
- values: OuiComboboxValues;
215
- };
216
- type OuiComboboxType = 'autocomplete' | 'select';
217
- type OuiComboboxValues = {
218
- current: string[];
219
- initial: string[];
220
- };
221
- //#endregion
222
- //#region src/js/combobox/constants.combobox.d.ts
223
- declare const COMBOBOX_TAGNAME = "oui-combobox";
224
- declare const COMBOBOX_ATTRIBUTE_ANCHOR = "oui-combobox-anchor";
225
- declare const COMBOBOX_ATTRIBUTE_CONTENT = "oui-combobox-content";
226
- declare const COMBOBOX_ATTRIBUTE_FILTER = "oui-combobox-filter";
227
- declare const COMBOBOX_ATTRIBUTE_FILTER_INPUT = "oui-combobox-filter-input";
228
- declare const COMBOBOX_ATTRIBUTE_HEADER = "oui-combobox-header";
229
- declare const COMBOBOX_ATTRIBUTE_HIDDEN = "oui-combobox-hidden";
230
- declare const COMBOBOX_ATTRIBUTE_LIST = "oui-combobox-list";
231
- declare const COMBOBOX_ATTRIBUTE_MESSAGE = "oui-combobox-message";
232
- declare const COMBOBOX_ATTRIBUTE_OPTION = "oui-combobox-option";
233
- declare const COMBOBOX_ATTRIBUTE_OPTION_ACTIVE = "oui-combobox-option-active";
234
- declare const COMBOBOX_ATTRIBUTE_SELECTION = "oui-combobox-selection";
235
- declare const COMBOBOX_ATTRIBUTE_SELECTION_ITEM = "oui-combobox-selection-item";
236
- declare const COMBOBOX_AUTOCOMPLETES: Set<OuiComboboxAutoCompleteType>;
237
- declare const COMBOBOX_KEYS_ACTIVATION: Set<string>;
238
- declare const COMBOBOX_KEYS_NAVIGATION: Set<string>;
239
- declare const COMBOBOX_KEYS_SELECTION: Set<string>;
240
- declare const COMBOBOX_MESSAGE_LABEL = "<oui-combobox> must contain a <label> element for the <select> element";
241
- declare const COMBOBOX_MESSAGE_SELECT = "<oui-combobox> must contain a valid <select> element";
242
- declare const COMBOBOX_SELECTOR_ANCHOR = "[oui-combobox-anchor]";
243
- declare const COMBOBOX_SELECTOR_SELECTION_ITEM = "[oui-combobox-selection-item]";
244
- declare const COMBOBOX_SELECTOR_OPTION = "[oui-combobox-option]";
245
- declare const COMBOBOX_TYPES: Set<OuiComboboxType>;
246
- declare const comboboxScrollOptions: ScrollIntoViewOptions;
247
- //#endregion
248
- export { OuiComboboxLabel as A, generateComboboxIds as B, COMBOBOX_TYPES as C, OuiComboboxAutoCompleteType as D, OuiComboboxAutoComplete as E, OuiComboboxSelectionItem as F, getComboboxVisibleOptions as G, getComboboxAutoComplete as H, OuiComboboxState as I, setComboboxLimit as J, hasTextSelection as K, OuiComboboxType as L, OuiComboboxOptions as M, OuiComboboxPreview as N, OuiComboboxFilter as O, OuiComboboxSelection as P, OuiComboboxValues as R, COMBOBOX_TAGNAME as S, OuiComboboxAnchor as T, getComboboxBooleanAria as U, getComboboxAttributeValue as V, getComboboxId as W, setComboboxLocalizations as Y, COMBOBOX_MESSAGE_LABEL as _, COMBOBOX_ATTRIBUTE_HEADER as a, COMBOBOX_SELECTOR_OPTION as b, COMBOBOX_ATTRIBUTE_MESSAGE as c, COMBOBOX_ATTRIBUTE_SELECTION as d, COMBOBOX_ATTRIBUTE_SELECTION_ITEM as f, COMBOBOX_KEYS_SELECTION as g, COMBOBOX_KEYS_NAVIGATION as h, COMBOBOX_ATTRIBUTE_FILTER_INPUT as i, OuiComboboxLocalizations as j, OuiComboboxGroup as k, COMBOBOX_ATTRIBUTE_OPTION as l, COMBOBOX_KEYS_ACTIVATION as m, COMBOBOX_ATTRIBUTE_CONTENT as n, COMBOBOX_ATTRIBUTE_HIDDEN as o, COMBOBOX_AUTOCOMPLETES as p, setComboboxFilter as q, COMBOBOX_ATTRIBUTE_FILTER as r, COMBOBOX_ATTRIBUTE_LIST as s, COMBOBOX_ATTRIBUTE_ANCHOR as t, COMBOBOX_ATTRIBUTE_OPTION_ACTIVE as u, COMBOBOX_MESSAGE_SELECT as v, comboboxScrollOptions as w, COMBOBOX_SELECTOR_SELECTION_ITEM as x, COMBOBOX_SELECTOR_ANCHOR as y, OuiComboboxElement as z };