@odx/foundation 1.0.0-beta.9 → 1.0.0-beta.90

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 (234) hide show
  1. package/README.md +7 -8
  2. package/dist/_virtual_class-decorator-runtime.js +13 -0
  3. package/dist/components/accordion/accordion.d.ts +11 -1
  4. package/dist/components/accordion-item/accordion-item.d.ts +16 -0
  5. package/dist/components/action-button/action-button.d.ts +27 -0
  6. package/dist/components/anchor-navigation/anchor-navigation.d.ts +3 -3
  7. package/dist/components/area-header/area-header.d.ts +11 -4
  8. package/dist/components/avatar/avatar.d.ts +28 -6
  9. package/dist/components/avatar-group/avatar-group.d.ts +3 -3
  10. package/dist/components/badge/badge.d.ts +14 -5
  11. package/dist/components/breadcrumbs/breadcrumbs-item.d.ts +1 -1
  12. package/dist/components/breadcrumbs/breadcrumbs.d.ts +1 -2
  13. package/dist/components/breadcrumbs/index.d.ts +1 -1
  14. package/dist/components/button/button.d.ts +31 -20
  15. package/dist/components/button-group/button-group.d.ts +7 -0
  16. package/dist/components/checkbox/checkbox.d.ts +2 -2
  17. package/dist/components/checkbox-group/checkbox-group.d.ts +8 -3
  18. package/dist/components/chip/chip.d.ts +14 -5
  19. package/dist/components/circular-progress-bar/circular-progress-bar.d.ts +12 -5
  20. package/dist/components/combobox/autocomplete.d.ts +23 -0
  21. package/dist/components/dropdown/dropdown.d.ts +10 -9
  22. package/dist/components/format/format-bytes.d.ts +1 -1
  23. package/dist/components/format/format-number.d.ts +1 -1
  24. package/dist/components/format/relative-time.d.ts +2 -2
  25. package/dist/components/header/index.d.ts +1 -1
  26. package/dist/components/headline/headline.d.ts +14 -5
  27. package/dist/components/highlight/highlight.d.ts +14 -5
  28. package/dist/components/icon-button/icon-button.d.ts +4 -15
  29. package/dist/components/image/image.d.ts +4 -4
  30. package/dist/components/inline-message/inline-message.d.ts +15 -5
  31. package/dist/components/input/input.d.ts +15 -8
  32. package/dist/components/kpi/kpi.d.ts +36 -0
  33. package/dist/components/line-clamp/line-clamp.d.ts +2 -2
  34. package/dist/components/link/link.d.ts +3 -3
  35. package/dist/components/list/list.d.ts +3 -0
  36. package/dist/components/{list → list-item}/list-item.d.ts +7 -6
  37. package/dist/components/loader.d.ts +2 -0
  38. package/dist/components/loading-overlay/loading-overlay.d.ts +2 -3
  39. package/dist/components/loading-spinner/loading-spinner.d.ts +1 -2
  40. package/dist/components/logo/logo.d.ts +11 -3
  41. package/dist/components/main-menu/index.d.ts +1 -1
  42. package/dist/components/main-menu/main-menu-link.d.ts +2 -2
  43. package/dist/components/main-menu/main-menu.d.ts +0 -1
  44. package/dist/components/main.d.ts +62 -54
  45. package/dist/components/menu/index.d.ts +1 -1
  46. package/dist/components/menu/menu.d.ts +4 -7
  47. package/dist/components/menu-item/menu-item.d.ts +5 -6
  48. package/dist/components/modal/modal.d.ts +8 -6
  49. package/dist/components/navigation-item/navigation-item.d.ts +15 -7
  50. package/dist/components/option/option.d.ts +0 -1
  51. package/dist/components/page/page.d.ts +16 -6
  52. package/dist/components/popover/popover-host.d.ts +34 -0
  53. package/dist/components/popover/popover-observer.d.ts +11 -0
  54. package/dist/{cdk → components}/popover/popover.d.ts +1 -0
  55. package/dist/components/progress-bar/progress-bar.d.ts +12 -6
  56. package/dist/components/radio-group/radio-group.d.ts +8 -3
  57. package/dist/components/search-bar/index.d.ts +0 -1
  58. package/dist/components/search-bar/search-bar.d.ts +9 -3
  59. package/dist/components/select/select.d.ts +12 -7
  60. package/dist/components/separator/separator.d.ts +9 -4
  61. package/dist/components/skeleton/skeleton.d.ts +21 -6
  62. package/dist/components/slider/index.d.ts +2 -2
  63. package/dist/components/slider/slider-handle.d.ts +5 -6
  64. package/dist/components/slider/slider-marks.d.ts +1 -1
  65. package/dist/components/slider/slider.d.ts +2 -3
  66. package/dist/components/slider/slider.models.d.ts +3 -2
  67. package/dist/components/spinbox/spinbox.d.ts +13 -11
  68. package/dist/components/stack/stack.d.ts +26 -6
  69. package/dist/components/status/status.d.ts +23 -0
  70. package/dist/components/table/index.d.ts +3 -3
  71. package/dist/components/table/table-header.d.ts +1 -1
  72. package/dist/components/table/table-row.d.ts +1 -1
  73. package/dist/components/text/text.d.ts +23 -4
  74. package/dist/components/title/title.d.ts +14 -5
  75. package/dist/components/toast/toast.d.ts +14 -3
  76. package/dist/components/toggle-button/toggle-button.d.ts +1 -4
  77. package/dist/components/toggle-button-group/toggle-button-group.d.ts +10 -0
  78. package/dist/components/toggle-content/toggle-content.d.ts +2 -2
  79. package/dist/components/tooltip/tooltip.d.ts +24 -8
  80. package/dist/components.js +2886 -3631
  81. package/dist/i18n/{lib/is-localized.d.ts → is-localized.d.ts} +2 -2
  82. package/dist/i18n/{lib/localization.d.ts → localization.d.ts} +1 -1
  83. package/dist/i18n/main.d.ts +6 -6
  84. package/dist/i18n/{lib/translate.d.ts → translate.d.ts} +1 -1
  85. package/dist/i18n.js +11 -18
  86. package/dist/lib/{facade → control}/checkbox-form-control.d.ts +4 -4
  87. package/dist/lib/control/checkbox-group-form-control.d.ts +22 -0
  88. package/dist/lib/control/form-control.d.ts +29 -0
  89. package/dist/lib/control/listbox-form-control.d.ts +25 -0
  90. package/dist/lib/control/number-form-control.d.ts +12 -0
  91. package/dist/lib/control/option-control.d.ts +23 -0
  92. package/dist/lib/control/radio-group-form-control.d.ts +22 -0
  93. package/dist/lib/controllers/active-descendants-controller.d.ts +29 -0
  94. package/dist/{cdk/drag-drop → lib/controllers}/drag.controller.d.ts +2 -1
  95. package/dist/lib/controllers/expandable-controller.d.ts +1 -2
  96. package/dist/lib/custom-element.d.ts +12 -5
  97. package/dist/lib/interactive/interactive-element.d.ts +23 -0
  98. package/dist/lib/interactive/interactive-link.d.ts +21 -0
  99. package/dist/lib/main.d.ts +20 -25
  100. package/dist/lib/mixins/can-be-disabled.d.ts +1 -9
  101. package/dist/lib/mixins/can-be-expanded.d.ts +5 -7
  102. package/dist/lib/mixins/is-draggable.d.ts +16 -0
  103. package/dist/{cdk/drag-drop/drag-events.d.ts → lib/models/drag-event.d.ts} +1 -1
  104. package/dist/lib/models/placement.d.ts +17 -0
  105. package/dist/lib/models/shape.d.ts +7 -0
  106. package/dist/lib/models/size.d.ts +11 -0
  107. package/dist/lib/models/variant.d.ts +12 -0
  108. package/dist/lib/utils/compute-popover-placement.d.ts +14 -0
  109. package/dist/lib/utils/dom.d.ts +25 -15
  110. package/dist/lib/utils/get-unique-id.d.ts +6 -23
  111. package/dist/lib/utils/lit.d.ts +1 -3
  112. package/dist/lib/utils/shared-resize-observer.d.ts +0 -7
  113. package/dist/lib/utils/{a11y.d.ts → types.d.ts} +3 -6
  114. package/dist/loader.js +6 -11
  115. package/dist/main.js +901 -867
  116. package/dist/styles.css +1 -1
  117. package/dist/vendor.js +1982 -0
  118. package/package.json +47 -27
  119. package/dist/cdk/drag-drop/is-draggable.d.ts +0 -18
  120. package/dist/cdk/main.d.ts +0 -7
  121. package/dist/cdk/popover/popover-host.d.ts +0 -20
  122. package/dist/cdk/popover/popover.models.d.ts +0 -34
  123. package/dist/cdk/popover/popover.utils.d.ts +0 -5
  124. package/dist/cdk.js +0 -357
  125. package/dist/components/accordion/accordion-header.d.ts +0 -18
  126. package/dist/components/accordion/index.d.ts +0 -4
  127. package/dist/components/action-group/action-group.d.ts +0 -24
  128. package/dist/components/action-group/index.d.ts +0 -2
  129. package/dist/components/area-header/area-header.models.d.ts +0 -12
  130. package/dist/components/area-header/index.d.ts +0 -3
  131. package/dist/components/avatar/avatar.models.d.ts +0 -13
  132. package/dist/components/avatar/index.d.ts +0 -3
  133. package/dist/components/avatar-group/index.d.ts +0 -2
  134. package/dist/components/badge/badge.models.d.ts +0 -14
  135. package/dist/components/badge/index.d.ts +0 -3
  136. package/dist/components/button/base-button.d.ts +0 -30
  137. package/dist/components/button/button.models.d.ts +0 -26
  138. package/dist/components/button/index.d.ts +0 -4
  139. package/dist/components/button-group/index.d.ts +0 -2
  140. package/dist/components/card/index.d.ts +0 -2
  141. package/dist/components/checkbox/index.d.ts +0 -2
  142. package/dist/components/checkbox-group/checkbox-group.models.d.ts +0 -6
  143. package/dist/components/checkbox-group/index.d.ts +0 -3
  144. package/dist/components/chip/chip.models.d.ts +0 -10
  145. package/dist/components/chip/index.d.ts +0 -3
  146. package/dist/components/circular-progress-bar/circular-progress-bar.models.d.ts +0 -7
  147. package/dist/components/circular-progress-bar/index.d.ts +0 -3
  148. package/dist/components/content-box/content-box.models.d.ts +0 -2
  149. package/dist/components/content-box/index.d.ts +0 -2
  150. package/dist/components/dropdown/dropdown.models.d.ts +0 -6
  151. package/dist/components/dropdown/index.d.ts +0 -3
  152. package/dist/components/form-field/index.d.ts +0 -2
  153. package/dist/components/headline/headline.models.d.ts +0 -8
  154. package/dist/components/headline/index.d.ts +0 -3
  155. package/dist/components/highlight/index.d.ts +0 -2
  156. package/dist/components/icon-button/index.d.ts +0 -2
  157. package/dist/components/image/index.d.ts +0 -2
  158. package/dist/components/inline-message/index.d.ts +0 -3
  159. package/dist/components/inline-message/inline-message.models.d.ts +0 -12
  160. package/dist/components/input/index.d.ts +0 -3
  161. package/dist/components/input/input.models.d.ts +0 -7
  162. package/dist/components/line-clamp/index.d.ts +0 -2
  163. package/dist/components/link/base-link.d.ts +0 -15
  164. package/dist/components/link/index.d.ts +0 -3
  165. package/dist/components/list/index.d.ts +0 -3
  166. package/dist/components/loading-overlay/index.d.ts +0 -2
  167. package/dist/components/loading-spinner/index.d.ts +0 -2
  168. package/dist/components/logo/index.d.ts +0 -3
  169. package/dist/components/logo/logo.models.d.ts +0 -9
  170. package/dist/components/menu-item/index.d.ts +0 -2
  171. package/dist/components/modal/index.d.ts +0 -3
  172. package/dist/components/modal/modal.models.d.ts +0 -5
  173. package/dist/components/navigation-item/index.d.ts +0 -3
  174. package/dist/components/navigation-item/navigation-item.models.d.ts +0 -6
  175. package/dist/components/option/index.d.ts +0 -2
  176. package/dist/components/page/index.d.ts +0 -3
  177. package/dist/components/page/page.models.d.ts +0 -10
  178. package/dist/components/page-layout/index.d.ts +0 -2
  179. package/dist/components/pagination/index.d.ts +0 -2
  180. package/dist/components/progress-bar/index.d.ts +0 -3
  181. package/dist/components/progress-bar/progress-bar.models.d.ts +0 -7
  182. package/dist/components/radio-button/index.d.ts +0 -2
  183. package/dist/components/radio-group/index.d.ts +0 -3
  184. package/dist/components/radio-group/radio-group.models.d.ts +0 -6
  185. package/dist/components/rail-navigation/index.d.ts +0 -2
  186. package/dist/components/search-bar/search-bar.models.d.ts +0 -6
  187. package/dist/components/select/index.d.ts +0 -2
  188. package/dist/components/separator/index.d.ts +0 -3
  189. package/dist/components/separator/separator.models.d.ts +0 -6
  190. package/dist/components/skeleton/index.d.ts +0 -3
  191. package/dist/components/skeleton/skeleton.models.d.ts +0 -13
  192. package/dist/components/spacer/index.d.ts +0 -2
  193. package/dist/components/spacer/spacer.models.d.ts +0 -7
  194. package/dist/components/spinbox/index.d.ts +0 -2
  195. package/dist/components/stack/index.d.ts +0 -3
  196. package/dist/components/stack/stack.models.d.ts +0 -25
  197. package/dist/components/switch/index.d.ts +0 -2
  198. package/dist/components/text/index.d.ts +0 -3
  199. package/dist/components/text/text.models.d.ts +0 -14
  200. package/dist/components/title/index.d.ts +0 -3
  201. package/dist/components/title/title.models.d.ts +0 -10
  202. package/dist/components/toast/index.d.ts +0 -3
  203. package/dist/components/toast/toast.models.d.ts +0 -5
  204. package/dist/components/toggle-button/index.d.ts +0 -2
  205. package/dist/components/toggle-content/index.d.ts +0 -2
  206. package/dist/components/tooltip/index.d.ts +0 -3
  207. package/dist/components/tooltip/tooltip.models.d.ts +0 -8
  208. package/dist/components/translate/index.d.ts +0 -2
  209. package/dist/components/visually-hidden/index.d.ts +0 -2
  210. package/dist/lib/controllers/focus-trap.controller.d.ts +0 -14
  211. package/dist/lib/facade/checkbox-group-form-control.d.ts +0 -21
  212. package/dist/lib/facade/option-control.d.ts +0 -16
  213. package/dist/lib/facade/radio-group-form-control.d.ts +0 -22
  214. package/dist/lib/facade/select-form-control.d.ts +0 -19
  215. package/dist/lib/mixins/can-be-readonly.d.ts +0 -7
  216. package/dist/lib/mixins/can-be-required.d.ts +0 -7
  217. package/dist/lib/mixins/can-be-selected.d.ts +0 -9
  218. package/dist/lib/mixins/can-be-validated.d.ts +0 -12
  219. package/dist/lib/mixins/form-control.d.ts +0 -17
  220. package/dist/lib/mixins/number-control.d.ts +0 -12
  221. package/dist/lib/mixins/with-loading-state.d.ts +0 -8
  222. package/dist/lib/utils/date.d.ts +0 -2
  223. package/dist/lib/utils/dedupe-mixin.d.ts +0 -3
  224. package/dist/lib/utils/empty-slot-fallback-fix.d.ts +0 -8
  225. package/dist/lib/utils/keyboard-events.d.ts +0 -43
  226. package/dist/lib/utils/search-text-content.d.ts +0 -7
  227. package/dist/lib/utils/shared-intersection-observer.d.ts +0 -18
  228. package/dist/lib/utils/transformers.d.ts +0 -5
  229. package/dist/loader/main.d.ts +0 -2
  230. package/dist/vendor-dJxQG085.js +0 -138
  231. /package/dist/components/{accordion → accordion-panel}/accordion-panel.d.ts +0 -0
  232. /package/dist/i18n/{lib/config.d.ts → config.d.ts} +0 -0
  233. /package/dist/i18n/{lib/format.d.ts → format.d.ts} +0 -0
  234. /package/dist/i18n/{lib/models.d.ts → models.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
- import { ReadonlySignal } from '@lit-labs/preact-signals';
2
- import { Constructor, CustomElement } from '../../lib/main.js';
1
+ import { Constructor, CustomElement } from '../lib/main.js';
2
+ import { ReadonlySignal } from '@preact/signals-core';
3
3
  import { formatDate, formatList, formatNumber, formatRelativeTime } from './format.js';
4
4
  import { getLocale } from './localization.js';
5
5
  import { translate } from './translate.js';
@@ -1,5 +1,5 @@
1
1
  import { LocaleInput } from './models.js';
2
2
  export declare function getLocale(localeInput?: LocaleInput | null): Intl.Locale;
3
3
  export declare function setLocale(localeInput?: LocaleInput | null): void;
4
- export declare function syncDocumentLanguage(root?: HTMLElement): () => void;
4
+ export declare function syncDocumentLanguage(root?: HTMLElement): void;
5
5
  //# sourceMappingURL=localization.d.ts.map
@@ -1,7 +1,7 @@
1
- export * from './lib/config.js';
2
- export * from './lib/format.js';
3
- export * from './lib/is-localized.js';
4
- export * from './lib/localization.js';
5
- export * from './lib/models.js';
6
- export * from './lib/translate.js';
1
+ export * from './config.js';
2
+ export * from './format.js';
3
+ export * from './is-localized.js';
4
+ export * from './localization.js';
5
+ export * from './models.js';
6
+ export * from './translate.js';
7
7
  //# sourceMappingURL=main.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ReadonlySignal } from '@lit-labs/preact-signals';
1
+ import { ReadonlySignal } from '@preact/signals-core';
2
2
  import { LocaleInput } from './models.js';
3
3
  type Translation = {
4
4
  [key: string]: Translation | string;
package/dist/i18n.js CHANGED
@@ -1,7 +1,9 @@
1
- import { signal, effect, computed, SignalWatcher } from '@lit-labs/preact-signals';
2
- import { parseDate, dedupeMixin } from '@odx/foundation';
1
+ import { signal, effect, computed } from '@preact/signals-core';
2
+ import { parseDate } from '@odx/foundation';
3
+ import { _ as __decorateClass } from './_virtual_class-decorator-runtime.js';
4
+ import { k as flattenObject, e } from './vendor.js';
5
+ import 'lit/html.js';
3
6
  import { property } from 'lit/decorators.js';
4
- import { f as flattenObject } from './vendor-dJxQG085.js';
5
7
 
6
8
  const I18nConfig = (config) => ({
7
9
  defaultLocale: () => navigator.language,
@@ -67,7 +69,7 @@ function formatRelativeTime(input, options) {
67
69
  const value = parseDate(input);
68
70
  if (!value) return "";
69
71
  const { relativeTimeFormatOptions } = getI18nOptions({ relativeTimeFormatOptions: options });
70
- const relativeTime = value.getTime() - (/* @__PURE__ */ new Date()).getTime();
72
+ const relativeTime = value.getTime() - Date.now();
71
73
  const timeUnit = findTimeUnit(Math.abs(relativeTime), relativeTimeFormatOptions?.minUnit);
72
74
  return new Intl.RelativeTimeFormat(options?.locale, relativeTimeFormatOptions).format(Math.round(relativeTime / timeUnit.value), timeUnit.unit);
73
75
  }
@@ -80,9 +82,10 @@ function setLocale(localeInput) {
80
82
  activeLocale.value = localeInput ? getLocale(localeInput) : null;
81
83
  }
82
84
  function syncDocumentLanguage(root = document.documentElement) {
83
- return effect(() => {
85
+ const cleanup = effect(() => {
84
86
  root.lang = getLocale().toString();
85
87
  });
88
+ window.addEventListener("unload", cleanup);
86
89
  }
87
90
 
88
91
  const translations = signal({});
@@ -111,18 +114,8 @@ function getTranslationRecord(localeInput) {
111
114
  return translations.value[locale.toString()] ?? translations.value[locale.language] ?? null;
112
115
  }
113
116
 
114
- var __defProp = Object.defineProperty;
115
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
116
- var __decorateClass = (decorators, target, key, kind) => {
117
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
118
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
119
- if (decorator = decorators[i])
120
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
121
- if (kind && result) __defProp(target, key, result);
122
- return result;
123
- };
124
- const IsLocalized = dedupeMixin((superClass) => {
125
- class IsLocalizedElement extends SignalWatcher(superClass) {
117
+ const IsLocalized = (superClass) => {
118
+ class IsLocalizedElement extends e(superClass) {
126
119
  constructor() {
127
120
  super(...arguments);
128
121
  this.locale = computed(() => getLocale(this.lang));
@@ -147,6 +140,6 @@ const IsLocalized = dedupeMixin((superClass) => {
147
140
  property()
148
141
  ], IsLocalizedElement.prototype, "lang", 2);
149
142
  return IsLocalizedElement;
150
- });
143
+ };
151
144
 
152
145
  export { I18nConfig, IsLocalized, formatDate, formatList, formatNumber, formatRelativeTime, getI18nOptions, getLocale, interpolate, setI18nOptions, setLocale, setTranslation, syncDocumentLanguage, translate };
@@ -1,15 +1,15 @@
1
- import { CustomElement } from '../custom-element.js';
2
- declare const CheckboxFormControl_base: import('../main.js').Constructor<import('../mixins/form-control.js').IsFormControl<string>> & typeof CustomElement;
3
- export declare abstract class CheckboxFormControl extends CheckboxFormControl_base {
1
+ import { FormControl } from './form-control.js';
2
+ export declare abstract class CheckboxFormControl extends FormControl<string> {
4
3
  #private;
4
+ /** @internal */
5
5
  static shadowRootOptions: ShadowRootInit;
6
6
  role: 'checkbox' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'radio' | 'switch' | null;
7
7
  checked: boolean;
8
+ value: string;
8
9
  constructor();
9
10
  toFormValue(): string | File | FormData | null;
10
11
  toggle(state?: boolean, emitEvent?: boolean): void;
11
12
  connectedCallback(): void;
12
13
  updateAriaAttributes(): void;
13
14
  }
14
- export {};
15
15
  //# sourceMappingURL=checkbox-form-control.d.ts.map
@@ -0,0 +1,22 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { CheckboxFormControl } from './checkbox-form-control.js';
3
+ import { FormControl } from './form-control.js';
4
+ export declare abstract class CheckboxGroupFormControl extends FormControl<string[]> {
5
+ #private;
6
+ private elements;
7
+ protected get childGroups(): CheckboxGroupFormControl[];
8
+ get controls(): CheckboxFormControl[];
9
+ get selectedControls(): CheckboxFormControl[];
10
+ get groupControl(): CheckboxFormControl | null;
11
+ value: string[];
12
+ constructor();
13
+ protected firstUpdated(_changedProperties: PropertyValues): Promise<void>;
14
+ toFormValue(): FormData;
15
+ protected isControl(element: unknown): element is CheckboxFormControl;
16
+ protected isGroupControl(element: unknown): element is CheckboxFormControl;
17
+ protected isControlChecked(control: CheckboxFormControl): boolean;
18
+ protected updated(props: PropertyValues<this>): void;
19
+ protected updateControls(updateFn: (control: CheckboxFormControl, index: number) => void): void;
20
+ protected updateValue(value: string[], dispatchEvent?: boolean): void;
21
+ }
22
+ //# sourceMappingURL=checkbox-group-form-control.d.ts.map
@@ -0,0 +1,29 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { CustomElement } from '../custom-element.js';
3
+ import { CanBeDisabled } from '../mixins/can-be-disabled.js';
4
+ declare const FormControl_base: import('../main.js').Constructor<CanBeDisabled> & typeof CustomElement;
5
+ export declare class FormControl<V extends string | number | string[] = string> extends FormControl_base {
6
+ /** @internal */
7
+ static readonly formAssociated = true;
8
+ /** @internal */
9
+ static shadowRootOptions: ShadowRootInit;
10
+ /** @internal */
11
+ readonly internals: ElementInternals;
12
+ name: string;
13
+ value: V;
14
+ readonly: boolean;
15
+ required: boolean;
16
+ get form(): HTMLFormElement | null;
17
+ get validity(): ValidityState;
18
+ get validationMessage(): string;
19
+ get willValidate(): boolean;
20
+ constructor();
21
+ updateAriaAttributes?(): void;
22
+ toFormValue(): string | File | FormData | null;
23
+ checkValidity(): boolean;
24
+ setValidity(flags?: ValidityStateFlags, target?: HTMLElement): void;
25
+ reportValidity(): void;
26
+ protected willUpdate(props: PropertyValues<this>): void;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=form-control.d.ts.map
@@ -0,0 +1,25 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { ActiveDescendantsController } from '../controllers/active-descendants-controller.js';
3
+ import { FormControl } from './form-control.js';
4
+ import { OptionControl } from './option-control.js';
5
+ export declare abstract class ListboxFormControl<Option extends OptionControl> extends FormControl<string | string[]> {
6
+ #private;
7
+ protected readonly activeDescendants: ActiveDescendantsController<Option>;
8
+ protected abstract options: Option[];
9
+ autoSelect: boolean;
10
+ multiple: boolean;
11
+ placeholder: string;
12
+ value: string[] | string;
13
+ get selectedOptions(): Option[];
14
+ get selectedIndices(): number[];
15
+ constructor();
16
+ protected canAutoSelect(option: Option): boolean;
17
+ protected canSelect(option: Option): boolean;
18
+ toggleOption(option: Option, state?: boolean): void;
19
+ connectedCallback(): void;
20
+ protected handleSlotChange(): void;
21
+ protected updateValue(option?: Option): void;
22
+ protected willUpdate(props: PropertyValues<this>): void;
23
+ protected updateSelection(): void;
24
+ }
25
+ //# sourceMappingURL=listbox-form-control.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { FormControl } from './form-control.js';
3
+ export declare class NumberFormControl extends FormControl<number> {
4
+ min: number;
5
+ max: number;
6
+ step: number;
7
+ value: number;
8
+ getValueText(): string;
9
+ protected willUpdate(props: PropertyValues<this>): void;
10
+ toFormValue(): string;
11
+ }
12
+ //# sourceMappingURL=number-form-control.d.ts.map
@@ -0,0 +1,23 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { ActiveDescendant } from '../controllers/active-descendants-controller.js';
3
+ import { CustomElement } from '../custom-element.js';
4
+ import { CanBeDisabled } from '../mixins/can-be-disabled.js';
5
+ declare const OptionControl_base: import('../main.js').Constructor<CanBeDisabled> & typeof CustomElement;
6
+ export declare abstract class OptionControl extends OptionControl_base implements ActiveDescendant {
7
+ #private;
8
+ role: 'option' | 'gridcell' | 'row' | 'tab' | null;
9
+ set label(value: string);
10
+ get label(): string;
11
+ value: string;
12
+ selected: boolean;
13
+ type?: 'checkbox' | null;
14
+ canActivate(): boolean;
15
+ canSelect(): boolean;
16
+ isActive(): boolean;
17
+ activate(): void;
18
+ deactivate(): void;
19
+ connectedCallback(): void;
20
+ protected willUpdate(props: PropertyValues<this>): void;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=option-control.d.ts.map
@@ -0,0 +1,22 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { CheckboxFormControl } from './checkbox-form-control.js';
3
+ import { FormControl } from './form-control.js';
4
+ export declare abstract class RadioGroupFormControl extends FormControl<string> {
5
+ #private;
6
+ static shadowRootOptions: {
7
+ delegatesFocus: boolean;
8
+ mode: ShadowRootMode;
9
+ serializable?: boolean;
10
+ slotAssignment?: SlotAssignmentMode;
11
+ };
12
+ private elements;
13
+ value: string;
14
+ constructor();
15
+ getControls(): CheckboxFormControl[];
16
+ connectedCallback(): void;
17
+ protected isControl(element: unknown): element is CheckboxFormControl;
18
+ protected isControlChecked(control: CheckboxFormControl): boolean;
19
+ protected willUpdate(changes: PropertyValues<this>): void;
20
+ protected updateControls(updateFn: (control: CheckboxFormControl, index: number) => void): void;
21
+ }
22
+ //# sourceMappingURL=radio-group-form-control.d.ts.map
@@ -0,0 +1,29 @@
1
+ import { ReactiveController, ReactiveElement } from 'lit';
2
+ export interface ActiveDescendant {
3
+ canActivate(): boolean;
4
+ isActive(): boolean;
5
+ activate(): void;
6
+ deactivate(): void;
7
+ }
8
+ export interface ActiveDescendantsControllerOptions<T extends ActiveDescendant & Element> {
9
+ getItems: () => T[];
10
+ onChange?: (previousActiveDescendant: T | undefined, activeDescendant: T | undefined, firstChange: boolean) => void;
11
+ }
12
+ export declare const ActiveDescendantsControllerOptions: <T extends ActiveDescendant & Element>(options?: Partial<ActiveDescendantsControllerOptions<T>>) => ActiveDescendantsControllerOptions<T>;
13
+ export declare class ActiveDescendantsController<T extends ActiveDescendant & Element> implements ReactiveController {
14
+ #private;
15
+ get activeIndex(): number;
16
+ get activeItem(): T | undefined;
17
+ get items(): T[];
18
+ constructor(host: ReactiveElement, options?: Partial<ActiveDescendantsControllerOptions<T>>);
19
+ hostConnected?(): void;
20
+ activate(initialActiveIndex?: number): void;
21
+ deactivate(): void;
22
+ previous(): void;
23
+ next(): void;
24
+ first(): void;
25
+ last(): void;
26
+ select(item: T): void;
27
+ update(index?: number, force?: boolean): void;
28
+ }
29
+ //# sourceMappingURL=active-descendants-controller.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import { ReactiveController, ReactiveElement } from 'lit';
2
- import { DraggableElement } from './is-draggable.js';
2
+ import { IsDraggable } from '../mixins/is-draggable.js';
3
+ export type DraggableElement = IsDraggable & HTMLElement;
3
4
  export interface DragControllerOptions<T extends DraggableElement = DraggableElement> {
4
5
  getDraggableElements: () => T[];
5
6
  getContainer?: () => HTMLElement;
@@ -3,7 +3,6 @@ import { CanBeExpanded } from '../mixins/can-be-expanded.js';
3
3
  export type ExpandableItem = CanBeExpanded & HTMLElement;
4
4
  export interface ExpandableItemManagerHost extends ReactiveElement {
5
5
  multiple?: boolean;
6
- toggleAll?: (force?: boolean, ...exclude: ExpandableItem[]) => void;
7
6
  }
8
7
  export interface ExpandableItemManagerOptions<T extends ExpandableItem = ExpandableItem> {
9
8
  getItems?: () => T[];
@@ -11,7 +10,7 @@ export interface ExpandableItemManagerOptions<T extends ExpandableItem = Expanda
11
10
  export declare const ExpandableItemManagerOptions: (options?: Partial<ExpandableItemManagerOptions>) => ExpandableItemManagerOptions;
12
11
  export declare class ExpandableItemManager<T extends ExpandableItem> implements ReactiveController {
13
12
  #private;
14
- get expandableItems(): T[];
13
+ get items(): T[];
15
14
  constructor(host: ExpandableItemManagerHost, options?: ExpandableItemManagerOptions);
16
15
  hostConnected?(): void;
17
16
  }
@@ -1,9 +1,16 @@
1
- import { CSSResultGroup, HTMLTemplateResult, LitElement, TemplateResult } from 'lit';
2
- export declare function customElement(selector?: keyof HTMLElementTagNameMap, styles?: Array<string | CSSResultGroup>): (target: typeof CustomElement) => void;
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ type CustomElementTag = keyof HTMLElementTagNameMap & `odx-${string}`;
3
+ /** @internal */
4
+ export declare function customElement(tagName: CustomElementTag, ...styles: string[]): (target: typeof CustomElement) => void;
5
+ /** @internal */
3
6
  export declare class CustomElement extends LitElement {
4
- static selector: string;
5
- static define: () => void;
6
- protected render(): HTMLTemplateResult | TemplateResult | string;
7
+ /** @internal */
8
+ static tagName: string;
9
+ /** @internal */
10
+ static define?: () => void;
11
+ protected render(): TemplateResult | string;
12
+ /** @internal */
7
13
  emit(event: string | Event, eventInit?: CustomEventInit): boolean;
8
14
  }
15
+ export {};
9
16
  //# sourceMappingURL=custom-element.d.ts.map
@@ -0,0 +1,23 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { InteractiveLink } from './interactive-link.js';
3
+ /**
4
+ * @csspart base
5
+ * @csspart loader
6
+ * @csspart label
7
+ *
8
+ * @slot prefix - Prefix slot
9
+ * @slot suffix - Suffix slot
10
+ * @slot - Default slot
11
+ */
12
+ export declare class InteractiveElement extends InteractiveLink {
13
+ #private;
14
+ static readonly styles: import('lit').CSSResult;
15
+ /** @internal */
16
+ protected loaderSlot?: 'prefix' | 'suffix' | 'default';
17
+ loading: boolean;
18
+ lineClamp: number;
19
+ protected render(): TemplateResult;
20
+ protected renderContent(withSpinner?: boolean): TemplateResult;
21
+ protected renderLoader(): TemplateResult;
22
+ }
23
+ //# sourceMappingURL=interactive-element.d.ts.map
@@ -0,0 +1,21 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { CustomElement } from '../custom-element.js';
3
+ import { CanBeDisabled } from '../mixins/can-be-disabled.js';
4
+ declare const InteractiveLink_base: import('../utils/types.js').Constructor<CanBeDisabled> & typeof CustomElement;
5
+ /**
6
+ * @attr {boolean} disabled
7
+ */
8
+ export declare class InteractiveLink extends InteractiveLink_base {
9
+ /** @internal */
10
+ static shadowRootOptions: ShadowRootInit;
11
+ /** @internal */
12
+ readonly nativeElement: HTMLLinkElement | HTMLButtonElement;
13
+ href: string;
14
+ target: '_blank' | '_parent' | '_self' | '_top' | '';
15
+ rel: string;
16
+ download?: string;
17
+ protected render(): TemplateResult;
18
+ protected renderContent(): TemplateResult;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=interactive-link.d.ts.map
@@ -1,33 +1,28 @@
1
- import { ExtractAssetName } from '@odx/assets-utils';
1
+ export * from './control/checkbox-form-control.js';
2
+ export * from './control/checkbox-group-form-control.js';
3
+ export * from './control/form-control.js';
4
+ export * from './control/listbox-form-control.js';
5
+ export * from './control/number-form-control.js';
6
+ export * from './control/option-control.js';
7
+ export * from './control/radio-group-form-control.js';
8
+ export * from './controllers/active-descendants-controller.js';
9
+ export * from './controllers/drag.controller.js';
2
10
  export * from './controllers/expandable-controller.js';
3
- export * from './controllers/focus-trap.controller.js';
4
- export * from './facade/checkbox-form-control.js';
5
- export * from './facade/checkbox-group-form-control.js';
6
- export * from './facade/option-control.js';
7
- export * from './facade/radio-group-form-control.js';
8
- export * from './facade/select-form-control.js';
11
+ export * from './custom-element.js';
12
+ export * from './interactive/interactive-element.js';
13
+ export * from './interactive/interactive-link.js';
9
14
  export * from './mixins/can-be-disabled.js';
10
15
  export * from './mixins/can-be-expanded.js';
11
- export * from './mixins/can-be-readonly.js';
12
- export * from './mixins/can-be-required.js';
13
- export * from './mixins/can-be-selected.js';
14
- export * from './mixins/can-be-validated.js';
15
- export * from './mixins/form-control.js';
16
- export * from './mixins/number-control.js';
17
- export * from './mixins/with-loading-state.js';
18
- export * from './utils/a11y.js';
19
- export * from './utils/date.js';
20
- export * from './utils/dedupe-mixin.js';
16
+ export * from './mixins/is-draggable.js';
17
+ export * from './models/drag-event.js';
18
+ export * from './models/placement.js';
19
+ export * from './models/shape.js';
20
+ export * from './models/size.js';
21
+ export * from './models/variant.js';
22
+ export * from './utils/compute-popover-placement.js';
21
23
  export * from './utils/dom.js';
22
- export * from './utils/empty-slot-fallback-fix.js';
23
24
  export * from './utils/get-unique-id.js';
24
- export * from './utils/keyboard-events.js';
25
25
  export * from './utils/lit.js';
26
- export * from './utils/search-text-content.js';
27
- export * from './utils/shared-intersection-observer.js';
28
26
  export * from './utils/shared-resize-observer.js';
29
- export * from './utils/transformers.js';
30
- export * from './custom-element.js';
31
- export { effect } from '@lit-labs/preact-signals';
32
- export type AvailableIcons = keyof _OdxIcon | ExtractAssetName<keyof _OdxIcon>;
27
+ export * from './utils/types.js';
33
28
  //# sourceMappingURL=main.d.ts.map
@@ -1,15 +1,7 @@
1
- import { ContextProvider } from '@lit/context';
2
1
  import { CustomElement } from '../custom-element.js';
3
- import { Constructor } from '../utils/dedupe-mixin.js';
2
+ import { Constructor } from '../utils/types.js';
4
3
  export interface CanBeDisabled {
5
4
  disabled: boolean;
6
5
  }
7
- export declare const DisabledContext: {
8
- __context__: boolean;
9
- };
10
- export declare class DisabledContextProvider extends ContextProvider<typeof DisabledContext, CanBeDisabled & CustomElement> {
11
- constructor(host: CanBeDisabled & CustomElement);
12
- hostUpdated(): void;
13
- }
14
6
  export declare const CanBeDisabled: <T extends Constructor<CustomElement>>(superClass: T) => Constructor<CanBeDisabled> & T;
15
7
  //# sourceMappingURL=can-be-disabled.d.ts.map
@@ -1,12 +1,10 @@
1
1
  import { CustomElement } from '../custom-element.js';
2
- import { Constructor } from '../utils/dedupe-mixin.js';
2
+ import { Constructor } from '../utils/types.js';
3
3
  import { CanBeDisabled } from './can-be-disabled.js';
4
- export interface CanBeExpanded extends CanBeDisabled {
4
+ export interface CanBeExpanded {
5
5
  expanded: boolean;
6
- expandable: boolean;
7
- collapse(emitEvent?: boolean): void;
8
- expand(emitEvent?: boolean): void;
9
- toggle(force?: boolean, emitEvent?: boolean): void;
6
+ toggle(state?: boolean, emitEvent?: boolean): void;
7
+ getExpandControl(): HTMLElement | null;
10
8
  }
11
- export declare const CanBeExpanded: <T extends Constructor<CustomElement>>(superClass: T) => Constructor<CanBeExpanded> & T;
9
+ export declare const CanBeExpanded: <T extends Constructor<CustomElement & CanBeDisabled>>(superClass: T) => Constructor<CanBeExpanded> & T;
12
10
  //# sourceMappingURL=can-be-expanded.d.ts.map
@@ -0,0 +1,16 @@
1
+ import { CustomElement } from '../custom-element.js';
2
+ import { DragEvent, Position } from '../models/drag-event.js';
3
+ import { Constructor } from '../utils/types.js';
4
+ export declare const IS_DRAG_ACTIVE_ATTRIBUTE = "odx-drag-active";
5
+ export interface IsDraggable {
6
+ dragDisabled: boolean;
7
+ get isDragActive(): boolean;
8
+ beforeDragStart?(event: DragEvent): void;
9
+ dragStart?(event: DragEvent): void;
10
+ dragMove?(event: DragEvent): void;
11
+ dragEnd?(event: DragEvent): void;
12
+ afterDragEnd?(event: DragEvent): void;
13
+ getDistance?(container: HTMLElement, position: Position): number;
14
+ }
15
+ export declare const IsDraggable: <T extends Constructor<CustomElement>>(superClass: T) => Constructor<IsDraggable & HTMLElement> & T;
16
+ //# sourceMappingURL=is-draggable.d.ts.map
@@ -6,4 +6,4 @@ export interface DragEvent {
6
6
  event: PointerEvent;
7
7
  position: Position;
8
8
  }
9
- //# sourceMappingURL=drag-events.d.ts.map
9
+ //# sourceMappingURL=drag-event.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { ValuesOf } from '../utils/types.js';
2
+ export type Placement = ValuesOf<typeof Placement>;
3
+ export declare const Placement: {
4
+ readonly TOP: "top";
5
+ readonly TOP_START: "top-start";
6
+ readonly TOP_END: "top-end";
7
+ readonly RIGHT: "right";
8
+ readonly RIGHT_START: "right-start";
9
+ readonly RIGHT_END: "right-end";
10
+ readonly BOTTOM: "bottom";
11
+ readonly BOTTOM_START: "bottom-start";
12
+ readonly BOTTOM_END: "bottom-end";
13
+ readonly LEFT: "left";
14
+ readonly LEFT_START: "left-start";
15
+ readonly LEFT_END: "left-end";
16
+ };
17
+ //# sourceMappingURL=placement.d.ts.map
@@ -0,0 +1,7 @@
1
+ import { ValuesOf } from '../utils/types.js';
2
+ export type Shape = ValuesOf<typeof Shape>;
3
+ export declare const Shape: {
4
+ readonly CIRCLE: "circle";
5
+ readonly RECTANGLE: "rectangle";
6
+ };
7
+ //# sourceMappingURL=shape.d.ts.map
@@ -0,0 +1,11 @@
1
+ import { ValuesOf } from '../utils/types.js';
2
+ export type Size = ValuesOf<typeof Size>;
3
+ export declare const Size: {
4
+ readonly XS: "xs";
5
+ readonly SM: "sm";
6
+ readonly MD: "md";
7
+ readonly LG: "lg";
8
+ readonly XL: "xl";
9
+ readonly XXL: "xxl";
10
+ };
11
+ //# sourceMappingURL=size.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { ValuesOf } from '../utils/types.js';
2
+ export type Variant = ValuesOf<typeof Variant>;
3
+ export declare const Variant: {
4
+ readonly NEUTRAL: "neutral";
5
+ readonly PRIMARY: "primary";
6
+ readonly ACCENT: "accent";
7
+ readonly SUCCESS: "success";
8
+ readonly WARNING: "warning";
9
+ readonly DANGER: "danger";
10
+ readonly GHOST: "ghost";
11
+ };
12
+ //# sourceMappingURL=variant.d.ts.map
@@ -0,0 +1,14 @@
1
+ import { Placement, ReferenceElement } from '@floating-ui/dom';
2
+ export interface PopoverPlacementOptions {
3
+ placement: Placement;
4
+ arrowElement?: HTMLElement | null;
5
+ enableFallback: boolean;
6
+ fallbackAxisSideDirection: 'start' | 'end';
7
+ matchReferenceWidth: boolean;
8
+ minHeight?: number | null;
9
+ offset: number;
10
+ }
11
+ export declare function PopoverPlacementOptions(options?: Partial<PopoverPlacementOptions>): PopoverPlacementOptions;
12
+ export declare function computePopoverPlacement(referenceElement: ReferenceElement, floatingElement: HTMLElement, options: PopoverPlacementOptions): Promise<void>;
13
+ export declare function positionUpdater(referenceElement: ReferenceElement, floatingElement: HTMLElement, options: PopoverPlacementOptions): () => void;
14
+ //# sourceMappingURL=compute-popover-placement.d.ts.map
@@ -1,17 +1,27 @@
1
- export type CSSDimensionUnit = 'px' | 'em' | 'rem' | 'vh' | 'vw' | 'vmin' | 'vmax' | '%' | 'fr' | 'auto' | 'inherit' | 'initial' | 'unset';
2
- export type CSSDimensionValue = `${number}${CSSDimensionUnit}`;
3
- /**
4
- * Creates a new MutationObserver instance.
5
- *
6
- * @param {MutationCallback} callback - The callback to execute when a mutation occurs.
7
- * @returns {MutationObserver} A MutationObserver instance or a dummy object with no-op methods if unsupported.
8
- */
9
- export declare function createMutationObserver(callback: MutationCallback): MutationObserver;
10
- export declare function toggleAttribute(element: Element | null | undefined, name: string, value?: string | number | boolean | null): void;
11
- export declare function getElementFromEvent<T>(event: Event, filterFn: (node: Element) => boolean): T;
12
- export declare function findClosestDocument(node: Node): ShadowRoot | Document | null;
13
- export declare function toPx(value?: string | number | null): string | null;
14
- export declare function getAssignedElements<T extends HTMLElement = HTMLElement>(host: HTMLElement, ...slots: string[]): T[];
15
- export declare function waitForAnimations(element?: Element | null, subtree?: boolean): Promise<Animation[]>;
1
+ export declare function parseDate(value: number | string | Date): Date | null;
2
+ export declare function findClosestDocument(node: Node): ShadowRoot | Document;
16
3
  export declare function forwardEvent(target: HTMLElement, eventInit?: EventInit): EventListener;
4
+ export declare function getElementFromEvent<T = HTMLElement>(event: Event, filterFn: (node: Element) => boolean): T;
5
+ export declare function waitForAnimations(element?: Element | null, subtree?: boolean): Promise<Animation[]>;
6
+ export declare function toAriaBooleanAttribute(value: boolean, removeOnFalse?: boolean): 'true' | 'false';
7
+ export declare function toPx(value?: number | null): string | null;
8
+ export interface GetAssignedElementOptions {
9
+ slot?: string;
10
+ selector?: string;
11
+ flatten?: boolean;
12
+ }
13
+ export declare function getAssignedElement<T = HTMLElement>(root: Element | ShadowRoot | null, options?: GetAssignedElementOptions): T | undefined;
14
+ export declare function getKeyInfo(event: KeyboardEvent): {
15
+ up: boolean;
16
+ right: boolean;
17
+ down: boolean;
18
+ left: boolean;
19
+ enter: boolean;
20
+ escape: boolean;
21
+ space: boolean;
22
+ tab: boolean;
23
+ backTab: boolean;
24
+ start: boolean;
25
+ end: boolean;
26
+ };
17
27
  //# sourceMappingURL=dom.d.ts.map