@odx/foundation 1.0.0-alpha.4 → 1.0.0-alpha.40

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 (527) hide show
  1. package/README.md +24 -19
  2. package/dist/cdk/drag-drop/drag.controller.d.ts +1 -1
  3. package/dist/cdk/drag-drop/is-draggable.d.ts +2 -2
  4. package/dist/cdk/main.d.ts +6 -6
  5. package/dist/cdk/popover/{popover-host.mixin.d.ts → popover-host.d.ts} +4 -3
  6. package/dist/cdk/popover/popover.d.ts +12 -0
  7. package/dist/cdk/popover/popover.utils.d.ts +1 -1
  8. package/dist/cdk.js +356 -0
  9. package/dist/components/accordion/accordion-header.d.ts +18 -0
  10. package/dist/components/accordion/accordion-panel.d.ts +12 -0
  11. package/dist/components/accordion/accordion.d.ts +17 -0
  12. package/dist/components/accordion/index.d.ts +3 -3
  13. package/dist/components/action-group/action-group.d.ts +24 -0
  14. package/dist/components/action-group/index.d.ts +2 -0
  15. package/dist/components/anchor-navigation/anchor-navigation.d.ts +21 -0
  16. package/dist/components/anchor-navigation/anchor-observer.d.ts +11 -0
  17. package/dist/components/anchor-navigation/index.d.ts +3 -0
  18. package/dist/components/area-header/{area-header.component.d.ts → area-header.d.ts} +5 -5
  19. package/dist/components/area-header/index.d.ts +2 -2
  20. package/dist/components/avatar/avatar.d.ts +14 -0
  21. package/dist/components/avatar/index.d.ts +2 -2
  22. package/dist/components/avatar-group/avatar-group.d.ts +14 -0
  23. package/dist/components/avatar-group/index.d.ts +1 -1
  24. package/dist/components/badge/badge.d.ts +15 -0
  25. package/dist/components/badge/badge.models.d.ts +4 -0
  26. package/dist/components/badge/index.d.ts +2 -2
  27. package/dist/components/breadcrumbs/breadcrumbs-item.d.ts +17 -0
  28. package/dist/components/breadcrumbs/breadcrumbs.d.ts +23 -0
  29. package/dist/components/breadcrumbs/index.d.ts +3 -0
  30. package/dist/components/button/base-button.d.ts +10 -6
  31. package/dist/components/button/{button.component.d.ts → button.d.ts} +9 -6
  32. package/dist/components/button/index.d.ts +3 -3
  33. package/dist/components/button-group/button-group.d.ts +21 -0
  34. package/dist/components/button-group/index.d.ts +1 -1
  35. package/dist/components/card/card.d.ts +13 -0
  36. package/dist/components/card/index.d.ts +1 -1
  37. package/dist/components/checkbox/{checkbox.component.d.ts → checkbox.d.ts} +4 -4
  38. package/dist/components/checkbox/index.d.ts +1 -1
  39. package/dist/components/checkbox-group/checkbox-group.d.ts +14 -0
  40. package/dist/components/checkbox-group/index.d.ts +2 -2
  41. package/dist/components/chip/{chip.component.d.ts → chip.d.ts} +6 -6
  42. package/dist/components/chip/index.d.ts +2 -2
  43. package/dist/components/circular-progress-bar/{circular-progress-bar.component.d.ts → circular-progress-bar.d.ts} +5 -5
  44. package/dist/components/circular-progress-bar/index.d.ts +2 -2
  45. package/dist/components/content-box/content-box.d.ts +11 -0
  46. package/dist/components/content-box/content-box.models.d.ts +1 -0
  47. package/dist/components/content-box/index.d.ts +1 -1
  48. package/dist/components/dropdown/dropdown.d.ts +24 -0
  49. package/dist/components/dropdown/index.d.ts +2 -2
  50. package/dist/{elements/form-field/form-field.element.d.ts → components/form-field/form-field.d.ts} +4 -4
  51. package/dist/components/form-field/index.d.ts +2 -0
  52. package/dist/components/format/base-format.d.ts +13 -0
  53. package/dist/components/format/format-bytes.d.ts +13 -0
  54. package/dist/components/format/format-date.d.ts +14 -0
  55. package/dist/components/format/{format-number.component.d.ts → format-number.d.ts} +5 -5
  56. package/dist/components/format/index.d.ts +5 -4
  57. package/dist/components/format/{relative-time.component.d.ts → relative-time.d.ts} +5 -5
  58. package/dist/components/header/header-actions.d.ts +10 -0
  59. package/dist/components/header/{header.component.d.ts → header.d.ts} +4 -4
  60. package/dist/components/header/index.d.ts +2 -2
  61. package/dist/components/headline/headline.d.ts +13 -0
  62. package/dist/components/headline/index.d.ts +2 -2
  63. package/dist/components/highlight/highlight.d.ts +14 -0
  64. package/dist/components/highlight/index.d.ts +2 -0
  65. package/dist/components/icon-button/{icon-button.component.d.ts → icon-button.d.ts} +4 -4
  66. package/dist/components/icon-button/index.d.ts +1 -1
  67. package/dist/components/inline-message/index.d.ts +2 -2
  68. package/dist/components/inline-message/inline-message.d.ts +14 -0
  69. package/dist/components/input/index.d.ts +2 -2
  70. package/dist/components/input/input.d.ts +21 -0
  71. package/dist/components/line-clamp/index.d.ts +1 -1
  72. package/dist/components/line-clamp/line-clamp.d.ts +12 -0
  73. package/dist/components/link/base-link.d.ts +2 -2
  74. package/dist/components/link/index.d.ts +2 -2
  75. package/dist/components/link/link.d.ts +11 -0
  76. package/dist/components/list/index.d.ts +2 -2
  77. package/dist/components/list/list-item.d.ts +23 -0
  78. package/dist/components/list/list.d.ts +11 -0
  79. package/dist/components/loading-overlay/index.d.ts +1 -1
  80. package/dist/components/loading-overlay/{loading-overlay.component.d.ts → loading-overlay.d.ts} +5 -5
  81. package/dist/components/loading-spinner/index.d.ts +1 -1
  82. package/dist/components/loading-spinner/loading-spinner.d.ts +13 -0
  83. package/dist/components/logo/index.d.ts +2 -2
  84. package/dist/components/logo/logo.d.ts +13 -0
  85. package/dist/components/main-menu/index.d.ts +5 -5
  86. package/dist/components/main-menu/main-menu-button.d.ts +12 -0
  87. package/dist/components/main-menu/main-menu-link.d.ts +9 -0
  88. package/dist/components/main-menu/main-menu-subtitle.d.ts +12 -0
  89. package/dist/components/main-menu/main-menu-title.d.ts +12 -0
  90. package/dist/components/main-menu/{main-menu.component.d.ts → main-menu.d.ts} +4 -4
  91. package/dist/components/main.d.ts +62 -51
  92. package/dist/components/menu/index.d.ts +2 -3
  93. package/dist/components/menu/menu-label.d.ts +9 -0
  94. package/dist/components/menu/menu.d.ts +24 -0
  95. package/dist/components/menu-item/index.d.ts +2 -0
  96. package/dist/components/menu-item/menu-item.d.ts +14 -0
  97. package/dist/components/modal/index.d.ts +3 -0
  98. package/dist/components/modal/modal.d.ts +35 -0
  99. package/dist/components/modal/modal.models.d.ts +5 -0
  100. package/dist/components/navigation-item/index.d.ts +2 -2
  101. package/dist/components/navigation-item/navigation-item.d.ts +14 -0
  102. package/dist/components/option/index.d.ts +1 -1
  103. package/dist/components/option/option.d.ts +12 -0
  104. package/dist/components/page/index.d.ts +2 -2
  105. package/dist/components/page/{page.component.d.ts → page.d.ts} +5 -5
  106. package/dist/components/page-layout/index.d.ts +1 -1
  107. package/dist/components/page-layout/page-layout.d.ts +11 -0
  108. package/dist/components/pagination/index.d.ts +2 -0
  109. package/dist/components/pagination/pagination.d.ts +32 -0
  110. package/dist/components/progress-bar/index.d.ts +2 -2
  111. package/dist/components/progress-bar/{progress-bar.component.d.ts → progress-bar.d.ts} +5 -5
  112. package/dist/components/radio-button/index.d.ts +1 -1
  113. package/dist/components/radio-button/radio-button.d.ts +13 -0
  114. package/dist/components/radio-group/index.d.ts +2 -2
  115. package/dist/components/radio-group/radio-group.d.ts +11 -0
  116. package/dist/components/rail-navigation/index.d.ts +1 -1
  117. package/dist/components/rail-navigation/rail-navigation.d.ts +19 -0
  118. package/dist/components/search-bar/index.d.ts +3 -3
  119. package/dist/components/search-bar/{search-bar.component.d.ts → search-bar.d.ts} +6 -5
  120. package/dist/components/select/index.d.ts +1 -1
  121. package/dist/components/select/select.d.ts +18 -0
  122. package/dist/components/separator/index.d.ts +2 -1
  123. package/dist/components/separator/separator.d.ts +16 -0
  124. package/dist/components/skeleton/index.d.ts +2 -1
  125. package/dist/components/skeleton/skeleton.d.ts +16 -0
  126. package/dist/components/skeleton/skeleton.models.d.ts +13 -0
  127. package/dist/components/slider/index.d.ts +4 -4
  128. package/dist/components/slider/{slider-handle.component.d.ts → slider-handle.d.ts} +7 -7
  129. package/dist/components/slider/{slider-marks.component.d.ts → slider-marks.d.ts} +5 -5
  130. package/dist/components/slider/slider.d.ts +27 -0
  131. package/dist/components/spacer/index.d.ts +1 -1
  132. package/dist/components/spacer/spacer.d.ts +13 -0
  133. package/dist/components/spinbox/index.d.ts +1 -1
  134. package/dist/components/spinbox/{spinbox.component.d.ts → spinbox.d.ts} +5 -5
  135. package/dist/components/stack/index.d.ts +2 -2
  136. package/dist/components/stack/{stack.component.d.ts → stack.d.ts} +5 -5
  137. package/dist/components/switch/index.d.ts +1 -1
  138. package/dist/components/switch/switch.d.ts +12 -0
  139. package/dist/components/table/index.d.ts +9 -0
  140. package/dist/components/table/table-body.d.ts +12 -0
  141. package/dist/components/table/table-cell.d.ts +12 -0
  142. package/dist/{elements/table/elements/table-checkbox-cell/table-checkbox-cell.element.d.ts → components/table/table-checkbox-cell.d.ts} +4 -4
  143. package/dist/components/table/table-header-cell.d.ts +13 -0
  144. package/dist/components/table/table-header.d.ts +14 -0
  145. package/dist/{elements/table/elements/table-row/table-row.element.d.ts → components/table/table-row.d.ts} +4 -4
  146. package/dist/components/table/table.d.ts +20 -0
  147. package/dist/{elements/table/table.context.d.ts → components/table/table.models.d.ts} +1 -1
  148. package/dist/components/text/index.d.ts +2 -2
  149. package/dist/components/text/text.d.ts +13 -0
  150. package/dist/components/text/text.models.d.ts +1 -0
  151. package/dist/components/title/index.d.ts +2 -2
  152. package/dist/components/title/title.d.ts +13 -0
  153. package/dist/components/toast/index.d.ts +3 -0
  154. package/dist/components/toast/toast.d.ts +13 -0
  155. package/dist/{elements/toast/models/toast-variant.d.ts → components/toast/toast.models.d.ts} +1 -1
  156. package/dist/components/toggle-button/index.d.ts +1 -1
  157. package/dist/components/toggle-button/{toggle-button.component.d.ts → toggle-button.d.ts} +4 -4
  158. package/dist/components/toggle-content/index.d.ts +2 -0
  159. package/dist/components/toggle-content/toggle-content.d.ts +13 -0
  160. package/dist/components/tooltip/index.d.ts +3 -0
  161. package/dist/{elements/tooltip/tooltip.element.d.ts → components/tooltip/tooltip.d.ts} +6 -7
  162. package/dist/{elements/tooltip/models/tooltip-placement.d.ts → components/tooltip/tooltip.models.d.ts} +1 -1
  163. package/dist/components/translate/index.d.ts +2 -0
  164. package/dist/components/translate/translate.d.ts +16 -0
  165. package/dist/components/visually-hidden/index.d.ts +1 -1
  166. package/dist/components/visually-hidden/visually-hidden.d.ts +11 -0
  167. package/dist/components.js +5042 -0
  168. package/dist/i18n/lib/config.d.ts +29 -0
  169. package/dist/i18n/lib/format.d.ts +6 -0
  170. package/dist/i18n/lib/is-localized.mixin.d.ts +15 -0
  171. package/dist/i18n/lib/localization.d.ts +5 -0
  172. package/dist/{lib/models/single-unit-identifier.d.ts → i18n/lib/models.d.ts} +2 -1
  173. package/dist/i18n/lib/translate.d.ts +11 -0
  174. package/dist/i18n/main.d.ts +7 -0
  175. package/dist/i18n.js +145 -0
  176. package/dist/lib/custom-element.d.ts +10 -0
  177. package/dist/lib/decorators/request-update-on-aria-change.d.ts +4 -0
  178. package/dist/lib/facade/checkbox-form-control.d.ts +2 -2
  179. package/dist/lib/facade/checkbox-group-form-control.d.ts +3 -3
  180. package/dist/lib/facade/option-control.d.ts +3 -3
  181. package/dist/lib/facade/radio-group-form-control.d.ts +3 -3
  182. package/dist/lib/facade/select-form-control.d.ts +3 -3
  183. package/dist/lib/main.d.ts +31 -7
  184. package/dist/lib/mixins/can-be-disabled.d.ts +3 -3
  185. package/dist/lib/mixins/can-be-expanded.d.ts +12 -0
  186. package/dist/lib/mixins/can-be-readonly.d.ts +2 -2
  187. package/dist/lib/mixins/can-be-required.d.ts +2 -2
  188. package/dist/lib/mixins/can-be-selected.d.ts +9 -0
  189. package/dist/lib/mixins/can-be-validated.d.ts +2 -2
  190. package/dist/lib/mixins/form-control.d.ts +6 -6
  191. package/dist/lib/mixins/number-control.d.ts +3 -3
  192. package/dist/lib/mixins/with-loading-state.d.ts +2 -2
  193. package/dist/lib/{models/aria-mixin-strict.d.ts → utils/a11y.d.ts} +3 -1
  194. package/dist/lib/utils/{parse-date.d.ts → date.d.ts} +1 -1
  195. package/dist/lib/utils/dom.d.ts +9 -0
  196. package/dist/lib/utils/{create-options.d.ts → object.d.ts} +1 -1
  197. package/dist/lib/utils/search-text-content.d.ts +7 -0
  198. package/dist/lib/utils/shared-intersection-observer.d.ts +7 -0
  199. package/dist/lib/utils/shared-resize-observer.d.ts +7 -0
  200. package/dist/loader/main.d.ts +2 -0
  201. package/dist/loader.js +13 -0
  202. package/dist/main.js +1124 -0
  203. package/dist/styles.css +1 -0
  204. package/dist/vendor-C_WVAD3D.js +3680 -0
  205. package/dist/vite.config.d.ts +3 -0
  206. package/package.json +28 -27
  207. package/dist/assets/draeger-pangea-text-medium.woff2 +0 -0
  208. package/dist/assets/draeger-pangea-text-regular.woff2 +0 -0
  209. package/dist/assets/draeger-pangea-text-semibold.woff2 +0 -0
  210. package/dist/assets/fonts.css +0 -20
  211. package/dist/cdk/drag-drop/drag.controller.js +0 -90
  212. package/dist/cdk/drag-drop/is-draggable.js +0 -42
  213. package/dist/cdk/main.js +0 -5
  214. package/dist/cdk/popover/popover-host.mixin.css.js +0 -3
  215. package/dist/cdk/popover/popover-host.mixin.js +0 -115
  216. package/dist/cdk/popover/popover.component.css.js +0 -3
  217. package/dist/cdk/popover/popover.component.d.ts +0 -12
  218. package/dist/cdk/popover/popover.component.js +0 -38
  219. package/dist/cdk/popover/popover.models.js +0 -32
  220. package/dist/cdk/popover/popover.utils.js +0 -48
  221. package/dist/components/accordion/accordion-header.component.css.js +0 -3
  222. package/dist/components/accordion/accordion-header.component.d.ts +0 -18
  223. package/dist/components/accordion/accordion-header.component.js +0 -69
  224. package/dist/components/accordion/accordion-panel.component.css.js +0 -3
  225. package/dist/components/accordion/accordion-panel.component.d.ts +0 -11
  226. package/dist/components/accordion/accordion-panel.component.js +0 -29
  227. package/dist/components/accordion/accordion.component.css.js +0 -3
  228. package/dist/components/accordion/accordion.component.d.ts +0 -18
  229. package/dist/components/accordion/accordion.component.js +0 -83
  230. package/dist/components/area-header/area-header.component.css.js +0 -3
  231. package/dist/components/area-header/area-header.component.js +0 -37
  232. package/dist/components/area-header/area-header.models.js +0 -11
  233. package/dist/components/avatar/avatar.component.css.js +0 -3
  234. package/dist/components/avatar/avatar.component.d.ts +0 -14
  235. package/dist/components/avatar/avatar.component.js +0 -31
  236. package/dist/components/avatar/avatar.models.js +0 -12
  237. package/dist/components/avatar-group/avatar-group.component.css.js +0 -3
  238. package/dist/components/avatar-group/avatar-group.component.d.ts +0 -14
  239. package/dist/components/avatar-group/avatar-group.component.js +0 -31
  240. package/dist/components/badge/badge.component.css.js +0 -3
  241. package/dist/components/badge/badge.component.d.ts +0 -13
  242. package/dist/components/badge/badge.component.js +0 -32
  243. package/dist/components/badge/badge.models.js +0 -10
  244. package/dist/components/breadcrumb/breadcrumb-item.component.css.js +0 -3
  245. package/dist/components/breadcrumb/breadcrumb-item.component.d.ts +0 -16
  246. package/dist/components/breadcrumb/breadcrumb-item.component.js +0 -56
  247. package/dist/components/breadcrumb/breadcrumb.component.css.js +0 -3
  248. package/dist/components/breadcrumb/breadcrumb.component.d.ts +0 -17
  249. package/dist/components/breadcrumb/breadcrumb.component.js +0 -72
  250. package/dist/components/breadcrumb/index.d.ts +0 -3
  251. package/dist/components/button/base-button.css.js +0 -3
  252. package/dist/components/button/base-button.js +0 -78
  253. package/dist/components/button/button.component.css.js +0 -3
  254. package/dist/components/button/button.component.js +0 -66
  255. package/dist/components/button/button.models.js +0 -16
  256. package/dist/components/button-group/button-group.component.css.js +0 -3
  257. package/dist/components/button-group/button-group.component.d.ts +0 -18
  258. package/dist/components/button-group/button-group.component.js +0 -47
  259. package/dist/components/card/card.component.css.js +0 -3
  260. package/dist/components/card/card.component.d.ts +0 -13
  261. package/dist/components/card/card.component.js +0 -30
  262. package/dist/components/checkbox/checkbox.component.css.js +0 -3
  263. package/dist/components/checkbox/checkbox.component.js +0 -57
  264. package/dist/components/checkbox-group/checkbox-group.component.css.js +0 -3
  265. package/dist/components/checkbox-group/checkbox-group.component.d.ts +0 -14
  266. package/dist/components/checkbox-group/checkbox-group.component.js +0 -54
  267. package/dist/components/checkbox-group/checkbox-group.models.js +0 -5
  268. package/dist/components/chip/chip.component.css.js +0 -3
  269. package/dist/components/chip/chip.component.js +0 -94
  270. package/dist/components/chip/chip.models.js +0 -10
  271. package/dist/components/circular-progress-bar/circular-progress-bar.component.css.js +0 -3
  272. package/dist/components/circular-progress-bar/circular-progress-bar.component.js +0 -123
  273. package/dist/components/circular-progress-bar/circular-progress-bar.models.js +0 -7
  274. package/dist/components/content-box/content-box.component.css.js +0 -3
  275. package/dist/components/content-box/content-box.component.d.ts +0 -11
  276. package/dist/components/content-box/content-box.component.js +0 -26
  277. package/dist/components/dropdown/dropdown.component.css.js +0 -3
  278. package/dist/components/dropdown/dropdown.component.d.ts +0 -23
  279. package/dist/components/dropdown/dropdown.component.js +0 -121
  280. package/dist/components/dropdown/dropdown.models.js +0 -8
  281. package/dist/components/format/format-bytes.component.d.ts +0 -13
  282. package/dist/components/format/format-bytes.component.js +0 -46
  283. package/dist/components/format/format-date.component.d.ts +0 -14
  284. package/dist/components/format/format-date.component.js +0 -36
  285. package/dist/components/format/format-number.component.js +0 -59
  286. package/dist/components/format/format.component.d.ts +0 -12
  287. package/dist/components/format/format.component.js +0 -33
  288. package/dist/components/format/relative-time.component.js +0 -80
  289. package/dist/components/header/header-actions.component.css.js +0 -3
  290. package/dist/components/header/header-actions.component.d.ts +0 -10
  291. package/dist/components/header/header-actions.component.js +0 -22
  292. package/dist/components/header/header.component.css.js +0 -3
  293. package/dist/components/header/header.component.js +0 -58
  294. package/dist/components/headline/headline.component.css.js +0 -3
  295. package/dist/components/headline/headline.component.d.ts +0 -13
  296. package/dist/components/headline/headline.component.js +0 -31
  297. package/dist/components/headline/headline.models.js +0 -8
  298. package/dist/components/icon-button/icon-button.component.js +0 -33
  299. package/dist/components/inline-message/inline-message.component.css.js +0 -3
  300. package/dist/components/inline-message/inline-message.component.d.ts +0 -14
  301. package/dist/components/inline-message/inline-message.component.js +0 -39
  302. package/dist/components/inline-message/inline-message.models.js +0 -9
  303. package/dist/components/input/input.component.css.js +0 -3
  304. package/dist/components/input/input.component.d.ts +0 -20
  305. package/dist/components/input/input.component.js +0 -72
  306. package/dist/components/input/input.models.js +0 -7
  307. package/dist/components/line-clamp/line-clamp.component.css.js +0 -3
  308. package/dist/components/line-clamp/line-clamp.component.d.ts +0 -12
  309. package/dist/components/line-clamp/line-clamp.component.js +0 -37
  310. package/dist/components/link/base-link.js +0 -70
  311. package/dist/components/link/link.component.css.js +0 -3
  312. package/dist/components/link/link.component.d.ts +0 -11
  313. package/dist/components/link/link.component.js +0 -33
  314. package/dist/components/list/list-item.component.css.js +0 -3
  315. package/dist/components/list/list-item.component.d.ts +0 -11
  316. package/dist/components/list/list-item.component.js +0 -32
  317. package/dist/components/list/list.component.css.js +0 -3
  318. package/dist/components/list/list.component.d.ts +0 -11
  319. package/dist/components/list/list.component.js +0 -24
  320. package/dist/components/loading-overlay/loading-overlay.component.css.js +0 -3
  321. package/dist/components/loading-overlay/loading-overlay.component.js +0 -78
  322. package/dist/components/loading-spinner/loading-spinner.component.css.js +0 -3
  323. package/dist/components/loading-spinner/loading-spinner.component.d.ts +0 -13
  324. package/dist/components/loading-spinner/loading-spinner.component.js +0 -58
  325. package/dist/components/logo/logo.component.css.js +0 -3
  326. package/dist/components/logo/logo.component.d.ts +0 -13
  327. package/dist/components/logo/logo.component.js +0 -38
  328. package/dist/components/logo/logo.models.js +0 -9
  329. package/dist/components/main-menu/main-menu-button.component.d.ts +0 -12
  330. package/dist/components/main-menu/main-menu-button.component.js +0 -38
  331. package/dist/components/main-menu/main-menu-link.component.css.js +0 -3
  332. package/dist/components/main-menu/main-menu-link.component.d.ts +0 -9
  333. package/dist/components/main-menu/main-menu-link.component.js +0 -19
  334. package/dist/components/main-menu/main-menu-subtitle.component.d.ts +0 -12
  335. package/dist/components/main-menu/main-menu-subtitle.component.js +0 -29
  336. package/dist/components/main-menu/main-menu-title.component.d.ts +0 -12
  337. package/dist/components/main-menu/main-menu-title.component.js +0 -29
  338. package/dist/components/main-menu/main-menu.component.css.js +0 -3
  339. package/dist/components/main-menu/main-menu.component.js +0 -82
  340. package/dist/components/main.js +0 -102
  341. package/dist/components/menu/menu-item.component.css.js +0 -3
  342. package/dist/components/menu/menu-item.component.d.ts +0 -13
  343. package/dist/components/menu/menu-item.component.js +0 -37
  344. package/dist/components/menu/menu-label.component.css.js +0 -3
  345. package/dist/components/menu/menu-label.component.d.ts +0 -11
  346. package/dist/components/menu/menu-label.component.js +0 -26
  347. package/dist/components/menu/menu.component.css.js +0 -3
  348. package/dist/components/menu/menu.component.d.ts +0 -24
  349. package/dist/components/menu/menu.component.js +0 -110
  350. package/dist/components/navigation-item/navigation-item.component.css.js +0 -3
  351. package/dist/components/navigation-item/navigation-item.component.d.ts +0 -16
  352. package/dist/components/navigation-item/navigation-item.component.js +0 -42
  353. package/dist/components/navigation-item/navigation-item.models.js +0 -6
  354. package/dist/components/option/option.component.css.js +0 -3
  355. package/dist/components/option/option.component.d.ts +0 -12
  356. package/dist/components/option/option.component.js +0 -37
  357. package/dist/components/page/page.component.css.js +0 -3
  358. package/dist/components/page/page.component.js +0 -53
  359. package/dist/components/page/page.models.js +0 -9
  360. package/dist/components/page-layout/page-layout.component.css.js +0 -3
  361. package/dist/components/page-layout/page-layout.component.d.ts +0 -11
  362. package/dist/components/page-layout/page-layout.component.js +0 -28
  363. package/dist/components/progress-bar/progress-bar.component.css.js +0 -3
  364. package/dist/components/progress-bar/progress-bar.component.js +0 -89
  365. package/dist/components/progress-bar/progress-bar.models.js +0 -7
  366. package/dist/components/radio-button/radio-button.component.css.js +0 -3
  367. package/dist/components/radio-button/radio-button.component.d.ts +0 -13
  368. package/dist/components/radio-button/radio-button.component.js +0 -39
  369. package/dist/components/radio-group/radio-group.component.css.js +0 -3
  370. package/dist/components/radio-group/radio-group.component.d.ts +0 -11
  371. package/dist/components/radio-group/radio-group.component.js +0 -24
  372. package/dist/components/radio-group/radio-group.models.js +0 -5
  373. package/dist/components/rail-navigation/rail-navigation.component.css.js +0 -3
  374. package/dist/components/rail-navigation/rail-navigation.component.d.ts +0 -24
  375. package/dist/components/rail-navigation/rail-navigation.component.js +0 -71
  376. package/dist/components/search-bar/search-bar.component.css.js +0 -3
  377. package/dist/components/search-bar/search-bar.component.js +0 -100
  378. package/dist/components/search-bar/search-bar.events.js +0 -7
  379. package/dist/components/search-bar/search-bar.models.js +0 -6
  380. package/dist/components/select/select.component.css.js +0 -3
  381. package/dist/components/select/select.component.d.ts +0 -18
  382. package/dist/components/select/select.component.js +0 -100
  383. package/dist/components/separator/separator.component.css.js +0 -3
  384. package/dist/components/separator/separator.component.d.ts +0 -16
  385. package/dist/components/separator/separator.component.js +0 -49
  386. package/dist/components/skeleton/skeleton.component.css.js +0 -3
  387. package/dist/components/skeleton/skeleton.component.d.ts +0 -12
  388. package/dist/components/skeleton/skeleton.component.js +0 -32
  389. package/dist/components/slider/slider-handle.component.css.js +0 -3
  390. package/dist/components/slider/slider-handle.component.js +0 -168
  391. package/dist/components/slider/slider-marks.component.css.js +0 -3
  392. package/dist/components/slider/slider-marks.component.js +0 -61
  393. package/dist/components/slider/slider.component.css.js +0 -3
  394. package/dist/components/slider/slider.component.d.ts +0 -27
  395. package/dist/components/slider/slider.component.js +0 -119
  396. package/dist/components/slider/slider.models.js +0 -17
  397. package/dist/components/spacer/spacer.component.css.js +0 -3
  398. package/dist/components/spacer/spacer.component.d.ts +0 -13
  399. package/dist/components/spacer/spacer.component.js +0 -39
  400. package/dist/components/spinbox/spinbox.component.css.js +0 -3
  401. package/dist/components/spinbox/spinbox.component.js +0 -94
  402. package/dist/components/stack/stack.component.css.js +0 -3
  403. package/dist/components/stack/stack.component.js +0 -45
  404. package/dist/components/stack/stack.models.js +0 -23
  405. package/dist/components/switch/switch.component.css.js +0 -3
  406. package/dist/components/switch/switch.component.d.ts +0 -12
  407. package/dist/components/switch/switch.component.js +0 -36
  408. package/dist/components/text/text.component.css.js +0 -3
  409. package/dist/components/text/text.component.d.ts +0 -13
  410. package/dist/components/text/text.component.js +0 -34
  411. package/dist/components/text/text.models.js +0 -12
  412. package/dist/components/title/title.component.css.js +0 -3
  413. package/dist/components/title/title.component.d.ts +0 -13
  414. package/dist/components/title/title.component.js +0 -31
  415. package/dist/components/title/title.models.js +0 -10
  416. package/dist/components/toggle-button/toggle-button.component.css.js +0 -3
  417. package/dist/components/toggle-button/toggle-button.component.js +0 -52
  418. package/dist/components/visually-hidden/visually-hidden.component.css.js +0 -3
  419. package/dist/components/visually-hidden/visually-hidden.component.d.ts +0 -11
  420. package/dist/components/visually-hidden/visually-hidden.component.js +0 -22
  421. package/dist/elements/form-field/form-field.element.css.js +0 -3
  422. package/dist/elements/form-field/form-field.element.js +0 -62
  423. package/dist/elements/form-field/index.d.ts +0 -2
  424. package/dist/elements/main.d.ts +0 -5
  425. package/dist/elements/table/elements/table-body/index.d.ts +0 -2
  426. package/dist/elements/table/elements/table-body/table-body.element.css.js +0 -3
  427. package/dist/elements/table/elements/table-body/table-body.element.d.ts +0 -12
  428. package/dist/elements/table/elements/table-body/table-body.element.js +0 -26
  429. package/dist/elements/table/elements/table-cell/index.d.ts +0 -2
  430. package/dist/elements/table/elements/table-cell/table-cell.element.css.js +0 -3
  431. package/dist/elements/table/elements/table-cell/table-cell.element.d.ts +0 -12
  432. package/dist/elements/table/elements/table-cell/table-cell.element.js +0 -26
  433. package/dist/elements/table/elements/table-checkbox-cell/index.d.ts +0 -2
  434. package/dist/elements/table/elements/table-checkbox-cell/table-checkbox-cell.element.css.js +0 -3
  435. package/dist/elements/table/elements/table-checkbox-cell/table-checkbox-cell.element.js +0 -66
  436. package/dist/elements/table/elements/table-header/index.d.ts +0 -2
  437. package/dist/elements/table/elements/table-header/table-header.element.css.js +0 -3
  438. package/dist/elements/table/elements/table-header/table-header.element.d.ts +0 -14
  439. package/dist/elements/table/elements/table-header/table-header.element.js +0 -52
  440. package/dist/elements/table/elements/table-header-cell/index.d.ts +0 -2
  441. package/dist/elements/table/elements/table-header-cell/table-header-cell.element.css.js +0 -3
  442. package/dist/elements/table/elements/table-header-cell/table-header-cell.element.d.ts +0 -13
  443. package/dist/elements/table/elements/table-header-cell/table-header-cell.element.js +0 -40
  444. package/dist/elements/table/elements/table-row/index.d.ts +0 -2
  445. package/dist/elements/table/elements/table-row/table-row.element.css.js +0 -3
  446. package/dist/elements/table/elements/table-row/table-row.element.js +0 -111
  447. package/dist/elements/table/index.d.ts +0 -8
  448. package/dist/elements/table/table.element.css.js +0 -3
  449. package/dist/elements/table/table.element.d.ts +0 -20
  450. package/dist/elements/table/table.element.js +0 -97
  451. package/dist/elements/toast/index.d.ts +0 -3
  452. package/dist/elements/toast/models/index.d.ts +0 -2
  453. package/dist/elements/toast/models/toast-variant.js +0 -5
  454. package/dist/elements/toast/toast.element.css.js +0 -3
  455. package/dist/elements/toast/toast.element.d.ts +0 -13
  456. package/dist/elements/toast/toast.element.js +0 -31
  457. package/dist/elements/tooltip/index.d.ts +0 -3
  458. package/dist/elements/tooltip/models/index.d.ts +0 -2
  459. package/dist/elements/tooltip/models/tooltip-placement.js +0 -10
  460. package/dist/elements/tooltip/tooltip.element.css.js +0 -3
  461. package/dist/elements/tooltip/tooltip.element.js +0 -120
  462. package/dist/lib/controllers/focus-trap.controller.js +0 -55
  463. package/dist/lib/controllers/index.d.ts +0 -2
  464. package/dist/lib/directives/aria-boolean-attr.d.ts +0 -3
  465. package/dist/lib/directives/aria-boolean-attr.js +0 -9
  466. package/dist/lib/directives/index.d.ts +0 -5
  467. package/dist/lib/directives/optional-attr.js +0 -8
  468. package/dist/lib/directives/optional-slot.js +0 -14
  469. package/dist/lib/directives/slot-fallback.js +0 -16
  470. package/dist/lib/external/index.d.ts +0 -2
  471. package/dist/lib/external/roving-tabindex.d.ts +0 -87
  472. package/dist/lib/external/roving-tabindex.js +0 -386
  473. package/dist/lib/facade/checkbox-form-control.js +0 -78
  474. package/dist/lib/facade/checkbox-group-form-control.js +0 -109
  475. package/dist/lib/facade/index.d.ts +0 -6
  476. package/dist/lib/facade/option-control.js +0 -49
  477. package/dist/lib/facade/radio-group-form-control.js +0 -87
  478. package/dist/lib/facade/select-form-control.js +0 -108
  479. package/dist/lib/main.js +0 -35
  480. package/dist/lib/mixins/can-be-disabled.js +0 -60
  481. package/dist/lib/mixins/can-be-readonly.js +0 -33
  482. package/dist/lib/mixins/can-be-required.js +0 -33
  483. package/dist/lib/mixins/can-be-validated.js +0 -32
  484. package/dist/lib/mixins/dedupe-mixin.js +0 -23
  485. package/dist/lib/mixins/form-control.js +0 -61
  486. package/dist/lib/mixins/index.d.ts +0 -12
  487. package/dist/lib/mixins/is-localized.d.ts +0 -13
  488. package/dist/lib/mixins/is-localized.js +0 -41
  489. package/dist/lib/mixins/is-translatable.d.ts +0 -13
  490. package/dist/lib/mixins/is-translatable.js +0 -20
  491. package/dist/lib/mixins/number-control.js +0 -63
  492. package/dist/lib/mixins/with-aria-controls.d.ts +0 -11
  493. package/dist/lib/mixins/with-aria-controls.js +0 -43
  494. package/dist/lib/mixins/with-loading-state.js +0 -33
  495. package/dist/lib/models/custom-element.css.js +0 -3
  496. package/dist/lib/models/custom-element.d.ts +0 -10
  497. package/dist/lib/models/custom-element.js +0 -27
  498. package/dist/lib/models/index.d.ts +0 -5
  499. package/dist/lib/models/locale.d.ts +0 -2
  500. package/dist/lib/utils/create-intersection-observer.d.ts +0 -8
  501. package/dist/lib/utils/create-intersection-observer.js +0 -9
  502. package/dist/lib/utils/create-mutation-observer.d.ts +0 -8
  503. package/dist/lib/utils/create-mutation-observer.js +0 -9
  504. package/dist/lib/utils/create-options.js +0 -7
  505. package/dist/lib/utils/create-resize-observer.d.ts +0 -8
  506. package/dist/lib/utils/create-resize-observer.js +0 -9
  507. package/dist/lib/utils/dom.js +0 -35
  508. package/dist/lib/utils/element-loader.d.ts +0 -4
  509. package/dist/lib/utils/format.d.ts +0 -20
  510. package/dist/lib/utils/format.js +0 -56
  511. package/dist/lib/utils/get-unique-id.js +0 -15
  512. package/dist/lib/utils/index.d.ts +0 -13
  513. package/dist/lib/utils/keyboard-events.js +0 -42
  514. package/dist/lib/utils/localization.d.ts +0 -15
  515. package/dist/lib/utils/localization.js +0 -41
  516. package/dist/lib/utils/parse-date.js +0 -10
  517. package/dist/lib/utils/request-update-on-aria-change.d.ts +0 -34
  518. package/dist/lib/utils/request-update-on-aria-change.js +0 -15
  519. package/dist/lib/utils/shared-intersection-observer.js +0 -32
  520. package/dist/lib/utils/shared-resize-observer.js +0 -33
  521. package/dist/lib/utils/wait-for-animations.d.ts +0 -2
  522. package/dist/lib/utils/wait-for-animations.js +0 -8
  523. package/dist/styles/main.css +0 -1
  524. package/public/assets/draeger-pangea-text-medium.woff2 +0 -0
  525. package/public/assets/draeger-pangea-text-regular.woff2 +0 -0
  526. package/public/assets/draeger-pangea-text-semibold.woff2 +0 -0
  527. package/public/assets/fonts.css +0 -20
@@ -0,0 +1,29 @@
1
+ import { LocaleInput, SingleUnitIdentifier } from './models.js';
2
+ export interface DateTimeFormatOptions extends Omit<Intl.DateTimeFormatOptions, 'dateStyle'> {
3
+ locale?: LocaleInput;
4
+ dateStyle?: 'iso8601' | Intl.DateTimeFormatOptions['dateStyle'];
5
+ }
6
+ export interface NumberFormatOptions extends Intl.NumberFormatOptions {
7
+ locale?: LocaleInput;
8
+ unit?: SingleUnitIdentifier;
9
+ }
10
+ export interface ListFormatOptions extends Intl.ListFormatOptions {
11
+ locale?: LocaleInput;
12
+ }
13
+ export interface RelativeTimeFormatOptions extends Intl.RelativeTimeFormatOptions {
14
+ locale?: LocaleInput;
15
+ minUnit?: Intl.RelativeTimeFormatUnit;
16
+ }
17
+ export interface FormatOptions {
18
+ dateTimeFormatOptions?: DateTimeFormatOptions;
19
+ numberFormatOptions?: NumberFormatOptions;
20
+ listFormatOptions?: ListFormatOptions;
21
+ relativeTimeFormatOptions?: RelativeTimeFormatOptions;
22
+ }
23
+ export interface LocalizationOptions {
24
+ defaultLocale: () => LocaleInput;
25
+ }
26
+ export type I18nOptions = LocalizationOptions & FormatOptions;
27
+ export declare function setI18nOptions(options?: Partial<I18nOptions> | null): void;
28
+ export declare function getI18nOptions(options?: Partial<I18nOptions> | null): I18nOptions;
29
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { DateTimeFormatOptions, ListFormatOptions, NumberFormatOptions, RelativeTimeFormatOptions } from './config.js';
2
+ export declare function formatDate(input: number | string | Date, options?: DateTimeFormatOptions): string;
3
+ export declare function formatNumber(input: number | string, options?: NumberFormatOptions): string;
4
+ export declare function formatList(input: string[], options?: ListFormatOptions): string;
5
+ export declare function formatRelativeTime(input: number | string | Date, options?: RelativeTimeFormatOptions): string;
6
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { ReadonlySignal } from '@lit-labs/preact-signals';
2
+ import { Constructor, CustomElement } from '../../lib/main.js';
3
+ import { formatDate, formatList, formatNumber, formatRelativeTime } from './format.js';
4
+ import { getLocale } from './localization.js';
5
+ import { translate } from './translate.js';
6
+ export interface IsLocalized {
7
+ readonly locale: ReadonlySignal<ReturnType<typeof getLocale>>;
8
+ t: (...args: Parameters<typeof translate>) => string;
9
+ formatDate: typeof formatDate;
10
+ formatNumber: typeof formatNumber;
11
+ formatList: typeof formatList;
12
+ formatRelativeTime: typeof formatRelativeTime;
13
+ }
14
+ export declare const IsLocalized: <T extends Constructor<CustomElement>>(superClass: T) => Constructor<IsLocalized> & T;
15
+ //# sourceMappingURL=is-localized.mixin.d.ts.map
@@ -0,0 +1,5 @@
1
+ import { LocaleInput } from './models.js';
2
+ export declare function getLocale(localeInput?: LocaleInput | null): Intl.Locale;
3
+ export declare function setLocale(localeInput?: LocaleInput | null): void;
4
+ export declare function syncDocumentLanguage(root?: HTMLElement): () => void;
5
+ //# sourceMappingURL=localization.d.ts.map
@@ -1,6 +1,7 @@
1
+ export type LocaleInput = Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale;
1
2
  /**
2
3
  * Single units sanctioned for use in ECMAScript.
3
4
  * See: https://tc39.es/ecma402/#table-sanctioned-single-unit-identifiers
4
5
  */
5
6
  export type SingleUnitIdentifier = 'acre' | 'bit' | 'byte' | 'celsius' | 'centimeter' | 'day' | 'degree' | 'fahrenheit' | 'fluid-ounce' | 'foot' | 'gallon' | 'gigabit' | 'gigabyte' | 'gram' | 'hectare' | 'hour' | 'inch' | 'kilobit' | 'kilobyte' | 'kilogram' | 'kilometer' | 'liter' | 'megabit' | 'megabyte' | 'meter' | 'microsecond' | 'mile' | 'mile-scandinavian' | 'milliliter' | 'millimeter' | 'millisecond' | 'minute' | 'month' | 'nanosecond' | 'ounce' | 'percent' | 'petabyte' | 'pound' | 'second' | 'stone' | 'terabit' | 'terabyte' | 'week' | 'yard' | 'year';
6
- //# sourceMappingURL=single-unit-identifier.d.ts.map
7
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1,11 @@
1
+ import { ReadonlySignal } from '@lit-labs/preact-signals';
2
+ import { LocaleInput } from './models.js';
3
+ export type TranslateContext = Record<string, string | number | boolean> | string | number | boolean | null;
4
+ type Translation = {
5
+ [key: string]: Translation | string;
6
+ };
7
+ export declare function interpolate(value: string, context: Record<string, string | number>): string;
8
+ export declare function setTranslation(locale: LocaleInput, translation: Translation): void;
9
+ export declare function translate(key: string, contextInput?: TranslateContext, locale?: LocaleInput | null): ReadonlySignal<string>;
10
+ export {};
11
+ //# sourceMappingURL=translate.d.ts.map
@@ -0,0 +1,7 @@
1
+ export * from './lib/config.js';
2
+ export * from './lib/format.js';
3
+ export * from './lib/is-localized.mixin.js';
4
+ export * from './lib/localization.js';
5
+ export * from './lib/models.js';
6
+ export * from './lib/translate.js';
7
+ //# sourceMappingURL=main.d.ts.map
package/dist/i18n.js ADDED
@@ -0,0 +1,145 @@
1
+ import { signal, effect, computed, SignalWatcher } from '@lit-labs/preact-signals';
2
+ import { createOptions, parseDate, dedupeMixin } from '@odx/foundation';
3
+ import { property } from 'lit/decorators.js';
4
+ import { k as flattenObject, l as isNotNil } from './vendor-C_WVAD3D.js';
5
+
6
+ const I18nOptions = createOptions({
7
+ defaultLocale: () => navigator.language,
8
+ relativeTimeFormatOptions: { minUnit: "minute" }
9
+ });
10
+ const i18nOptions = signal(null);
11
+ function setI18nOptions(options) {
12
+ i18nOptions.value = getI18nOptions(options);
13
+ }
14
+ function getI18nOptions(options) {
15
+ return I18nOptions(options ?? i18nOptions.value ?? {});
16
+ }
17
+
18
+ function formatDate(input, options) {
19
+ const value = parseDate(input);
20
+ if (!value) return "";
21
+ const { dateTimeFormatOptions } = getI18nOptions({ dateTimeFormatOptions: options });
22
+ if (dateTimeFormatOptions?.dateStyle === "iso8601") {
23
+ return new Intl.DateTimeFormat("sv-SE", { dateStyle: "short" }).format(value);
24
+ }
25
+ return new Intl.DateTimeFormat(options?.locale, dateTimeFormatOptions).format(value);
26
+ }
27
+ function formatNumber(input, options) {
28
+ const value = Number(input);
29
+ if (Number.isNaN(value)) return "";
30
+ const { numberFormatOptions } = getI18nOptions({ numberFormatOptions: options });
31
+ if (numberFormatOptions?.currency) {
32
+ numberFormatOptions.style = "currency";
33
+ }
34
+ return new Intl.NumberFormat(numberFormatOptions?.locale, numberFormatOptions).format(value);
35
+ }
36
+ function formatList(input, options) {
37
+ if (input.length === 0) return "";
38
+ const { listFormatOptions } = getI18nOptions({ listFormatOptions: options });
39
+ return new Intl.ListFormat(options?.locale, listFormatOptions).format(input);
40
+ }
41
+ const TIME_UNITS = [
42
+ { max: 59e3, value: 1e3, unit: "second" },
43
+ // max 59 seconds
44
+ { max: 276e4, value: 6e4, unit: "minute" },
45
+ // max 46 minutes
46
+ { max: 72e6, value: 36e5, unit: "hour" },
47
+ // max 20 hours
48
+ { max: 5184e5, value: 864e5, unit: "day" },
49
+ // max 6 days
50
+ { max: 24192e5, value: 6048e5, unit: "week" },
51
+ // max 28 days
52
+ { max: 28512e6, value: 2592e6, unit: "month" },
53
+ // max 11 months
54
+ { max: Number.POSITIVE_INFINITY, value: 31536e6, unit: "year" }
55
+ ];
56
+ function findTimeUnit(value, minUnit) {
57
+ const minTimeUnit = TIME_UNITS.find(({ unit }) => unit === minUnit) ?? TIME_UNITS[0];
58
+ return TIME_UNITS.find((config) => value < config.max && config.value >= minTimeUnit.value);
59
+ }
60
+ function formatRelativeTime(input, options) {
61
+ const value = parseDate(input);
62
+ if (!value) return "";
63
+ const { relativeTimeFormatOptions } = getI18nOptions({ relativeTimeFormatOptions: options });
64
+ const relativeTime = value.getTime() - (/* @__PURE__ */ new Date()).getTime();
65
+ const timeUnit = findTimeUnit(Math.abs(relativeTime), relativeTimeFormatOptions?.minUnit);
66
+ return new Intl.RelativeTimeFormat(options?.locale, relativeTimeFormatOptions).format(Math.round(relativeTime / timeUnit.value), timeUnit.unit);
67
+ }
68
+
69
+ const activeLocale = signal(null);
70
+ function getLocale(localeInput) {
71
+ return new Intl.Locale(localeInput || activeLocale.value || getI18nOptions().defaultLocale());
72
+ }
73
+ function setLocale(localeInput) {
74
+ activeLocale.value = localeInput ? getLocale(localeInput) : null;
75
+ }
76
+ function syncDocumentLanguage(root = document.documentElement) {
77
+ return effect(() => {
78
+ root.lang = getLocale().toString();
79
+ });
80
+ }
81
+
82
+ const fallbackLocale = "en";
83
+ const translations = signal({});
84
+ function interpolate(value, context) {
85
+ return value.replaceAll(/\{\{\s*([^}\s]+)\s*}}/g, (match, variableName) => {
86
+ return isNotNil(context[variableName]) ? interpolate(context[variableName].toString(), context) : match;
87
+ });
88
+ }
89
+ function setTranslation(locale, translation) {
90
+ const { language } = getLocale(locale);
91
+ translations.value = { ...translations.value, [language]: { ...translations.value[language], ...flattenObject(translation, { delimiter: "." }) } };
92
+ }
93
+ function translate(key, contextInput, locale) {
94
+ return computed(() => {
95
+ const translationRecord = getTranslationRecord(locale);
96
+ if (!translationRecord) return key;
97
+ const value = translationRecord?.[key] ?? getTranslationRecord(fallbackLocale)?.[key] ?? "";
98
+ const context = typeof contextInput === "object" || contextInput === void 0 ? flattenObject(contextInput ?? {}) : { $implicit: contextInput.toString() };
99
+ return interpolate(value, { ...getTranslationRecord(fallbackLocale), ...translationRecord, ...context });
100
+ });
101
+ }
102
+ function getTranslationRecord(localeInput) {
103
+ const locale = getLocale(localeInput);
104
+ return translations.value[locale.toString()] ?? translations.value[locale.language] ?? null;
105
+ }
106
+
107
+ var __defProp = Object.defineProperty;
108
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
109
+ var __decorateClass = (decorators, target, key, kind) => {
110
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
111
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
112
+ if (decorator = decorators[i])
113
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
114
+ if (kind && result) __defProp(target, key, result);
115
+ return result;
116
+ };
117
+ const IsLocalized = dedupeMixin((superClass) => {
118
+ class IsLocalizedElement extends SignalWatcher(superClass) {
119
+ constructor() {
120
+ super(...arguments);
121
+ this.locale = computed(() => getLocale(this.lang));
122
+ }
123
+ formatDate(...[input, options]) {
124
+ return formatDate(input, { ...options, locale: options?.locale ?? this.locale.value });
125
+ }
126
+ formatNumber(...[input, options]) {
127
+ return formatNumber(input, { ...options, locale: options?.locale ?? this.locale.value });
128
+ }
129
+ formatList(...[input, options]) {
130
+ return formatList(input, { ...options, locale: options?.locale ?? this.locale.value });
131
+ }
132
+ formatRelativeTime(...[input, options]) {
133
+ return formatRelativeTime(input, { ...options, locale: options?.locale ?? this.locale.value });
134
+ }
135
+ t(...[key, context, locale]) {
136
+ return translate(key, context, locale ?? this.locale.value).value;
137
+ }
138
+ }
139
+ __decorateClass([
140
+ property()
141
+ ], IsLocalizedElement.prototype, "lang", 2);
142
+ return IsLocalizedElement;
143
+ });
144
+
145
+ export { IsLocalized, formatDate, formatList, formatNumber, formatRelativeTime, getI18nOptions, getLocale, interpolate, setI18nOptions, setLocale, setTranslation, syncDocumentLanguage, translate };
@@ -0,0 +1,10 @@
1
+ import { CSSResultGroup, HTMLTemplateResult, LitElement, TemplateResult } from 'lit';
2
+ export declare function isCustomElementClass(candidate: unknown): candidate is typeof CustomElement;
3
+ export declare function customElement(selector?: keyof HTMLElementTagNameMap, styles?: Array<string | CSSResultGroup>): (target: typeof CustomElement) => void;
4
+ export declare class CustomElement extends LitElement {
5
+ static selector: string;
6
+ static define: () => void;
7
+ protected render(): HTMLTemplateResult | TemplateResult | string;
8
+ emit(event: string, eventInit?: CustomEventInit): boolean;
9
+ }
10
+ //# sourceMappingURL=custom-element.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { ReactiveElement } from 'lit';
2
+ import { ARIAProperty } from '../utils/a11y.js';
3
+ export declare function requestUpdateOnAriaChange(ariaProperties: ARIAProperty[]): (ctor: typeof ReactiveElement) => void;
4
+ //# sourceMappingURL=request-update-on-aria-change.d.ts.map
@@ -1,5 +1,5 @@
1
- import { CustomElement } from '../models';
2
- declare const CheckboxFormControl_base: import('../mixins').Constructor<import('../mixins').IsFormControl<string>> & typeof CustomElement;
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
3
  export declare abstract class CheckboxFormControl extends CheckboxFormControl_base {
4
4
  #private;
5
5
  static shadowRootOptions: ShadowRootInit;
@@ -1,7 +1,7 @@
1
1
  import { PropertyValues } from 'lit';
2
- import { CustomElement } from '../models';
3
- import { CheckboxFormControl } from './checkbox-form-control';
4
- declare const CheckboxGroupFormControl_base: import('../mixins').Constructor<import('../mixins').IsFormControl<string[]>> & typeof CustomElement;
2
+ import { CustomElement } from '../custom-element.js';
3
+ import { CheckboxFormControl } from './checkbox-form-control.js';
4
+ declare const CheckboxGroupFormControl_base: import('../main.js').Constructor<import('../mixins/form-control.js').IsFormControl<string[]>> & typeof CustomElement;
5
5
  export declare abstract class CheckboxGroupFormControl extends CheckboxGroupFormControl_base {
6
6
  #private;
7
7
  private elements;
@@ -1,7 +1,7 @@
1
1
  import { PropertyValueMap } from 'lit';
2
- import { CanBeDisabled } from '../mixins';
3
- import { CustomElement } from '../models';
4
- declare const OptionControl_base: import('../mixins').Constructor<CanBeDisabled> & typeof CustomElement;
2
+ import { CustomElement } from '../custom-element.js';
3
+ import { CanBeDisabled } from '../mixins/can-be-disabled.js';
4
+ declare const OptionControl_base: import('../main.js').Constructor<CanBeDisabled> & typeof CustomElement;
5
5
  export declare abstract class OptionControl extends OptionControl_base {
6
6
  role: 'option' | 'gridcell' | 'row' | 'tab' | null;
7
7
  selected: boolean;
@@ -1,7 +1,7 @@
1
1
  import { PropertyValues } from 'lit';
2
- import { CustomElement } from '../models';
3
- import { CheckboxFormControl } from './checkbox-form-control';
4
- declare const RadioGroupFormControl_base: import('../mixins').Constructor<import('../mixins').IsFormControl<string>> & typeof CustomElement;
2
+ import { CustomElement } from '../custom-element.js';
3
+ import { CheckboxFormControl } from './checkbox-form-control.js';
4
+ declare const RadioGroupFormControl_base: import('../main.js').Constructor<import('../mixins/form-control.js').IsFormControl<string>> & typeof CustomElement;
5
5
  export declare abstract class RadioGroupFormControl extends RadioGroupFormControl_base {
6
6
  #private;
7
7
  static shadowRootOptions: {
@@ -1,7 +1,7 @@
1
1
  import { PropertyValues } from 'lit';
2
- import { CustomElement } from '../models';
3
- import { OptionControl } from './option-control';
4
- declare const SelectFormControl_base: import('../mixins').Constructor<import('../mixins').IsFormControl<string | string[]>> & typeof CustomElement;
2
+ import { CustomElement } from '../custom-element.js';
3
+ import { OptionControl } from './option-control.js';
4
+ declare const SelectFormControl_base: import('../main.js').Constructor<import('../mixins/form-control.js').IsFormControl<string | string[]>> & typeof CustomElement;
5
5
  export declare abstract class SelectFormControl<Option extends OptionControl = OptionControl> extends SelectFormControl_base {
6
6
  #private;
7
7
  protected abstract options: Option[];
@@ -1,8 +1,32 @@
1
- export * from './controllers';
2
- export * from './directives';
3
- export * from './external';
4
- export * from './facade';
5
- export * from './mixins';
6
- export * from './models';
7
- export * from './utils';
1
+ export * from './controllers/focus-trap.controller.js';
2
+ export * from './decorators/request-update-on-aria-change.js';
3
+ export * from './directives/optional-attr.js';
4
+ export * from './directives/optional-slot.js';
5
+ export * from './directives/slot-fallback.js';
6
+ export * from './facade/checkbox-form-control.js';
7
+ export * from './facade/checkbox-group-form-control.js';
8
+ export * from './facade/option-control.js';
9
+ export * from './facade/radio-group-form-control.js';
10
+ export * from './facade/select-form-control.js';
11
+ export * from './mixins/can-be-disabled.js';
12
+ export * from './mixins/can-be-expanded.js';
13
+ export * from './mixins/can-be-readonly.js';
14
+ export * from './mixins/can-be-required.js';
15
+ export * from './mixins/can-be-selected.js';
16
+ export * from './mixins/can-be-validated.js';
17
+ export * from './mixins/dedupe-mixin.js';
18
+ export * from './mixins/form-control.js';
19
+ export * from './mixins/number-control.js';
20
+ export * from './mixins/with-loading-state.js';
21
+ export * from './utils/a11y.js';
22
+ export * from './utils/date.js';
23
+ export * from './utils/dom.js';
24
+ export * from './utils/get-unique-id.js';
25
+ export * from './utils/keyboard-events.js';
26
+ export * from './utils/object.js';
27
+ export * from './utils/search-text-content.js';
28
+ export * from './utils/shared-intersection-observer.js';
29
+ export * from './utils/shared-resize-observer.js';
30
+ export * from './custom-element.js';
31
+ export { effect } from '@lit-labs/preact-signals';
8
32
  //# sourceMappingURL=main.d.ts.map
@@ -1,9 +1,9 @@
1
- import { CustomElement } from '../models';
2
- import { Constructor } from './dedupe-mixin';
1
+ import { CustomElement } from '../custom-element.js';
2
+ import { Constructor } from './dedupe-mixin.js';
3
3
  export interface CanBeDisabled {
4
4
  disabled: boolean;
5
5
  _contextDisabled: boolean;
6
- onDisabledChanged?(disabled: boolean): void;
6
+ isContextDisabled(): boolean;
7
7
  }
8
8
  export declare const CanBeDisabled: <T extends Constructor<CustomElement>>(superClass: T) => Constructor<CanBeDisabled> & T;
9
9
  //# sourceMappingURL=can-be-disabled.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { CustomElement } from '../custom-element.js';
2
+ import { CanBeDisabled } from './can-be-disabled.js';
3
+ import { Constructor } from './dedupe-mixin.js';
4
+ export interface CanBeExpanded extends CanBeDisabled {
5
+ expanded: boolean;
6
+ collapse(emitEvent?: boolean): void;
7
+ expand(emitEvent?: boolean): void;
8
+ toggle(force?: boolean, emitEvent?: boolean): void;
9
+ }
10
+ export type WithAriaControlsElement = CanBeExpanded & CanBeDisabled & HTMLElement;
11
+ export declare const CanBeExpanded: <T extends Constructor<CustomElement>>(superClass: T) => Constructor<CanBeExpanded> & T;
12
+ //# sourceMappingURL=can-be-expanded.d.ts.map
@@ -1,5 +1,5 @@
1
- import { CustomElement } from '../models';
2
- import { Constructor } from './dedupe-mixin';
1
+ import { CustomElement } from '../custom-element.js';
2
+ import { Constructor } from './dedupe-mixin.js';
3
3
  export interface CanBeReadonly {
4
4
  readonly: boolean;
5
5
  }
@@ -1,5 +1,5 @@
1
- import { CustomElement } from '../models';
2
- import { Constructor } from './dedupe-mixin';
1
+ import { CustomElement } from '../custom-element.js';
2
+ import { Constructor } from './dedupe-mixin.js';
3
3
  export interface CanBeRequired {
4
4
  required: boolean;
5
5
  }
@@ -0,0 +1,9 @@
1
+ import { CustomElement } from '../custom-element.js';
2
+ import { ARIAMixinStrict } from '../utils/a11y.js';
3
+ import { Constructor } from './dedupe-mixin.js';
4
+ export interface CanBeSelected {
5
+ selected: boolean;
6
+ ariaSelectedValue: ARIAMixinStrict['ariaCurrent'];
7
+ }
8
+ export declare const CanBeSelected: <T extends Constructor<CustomElement>>(superClass: T) => Constructor<CanBeSelected> & T;
9
+ //# sourceMappingURL=can-be-selected.d.ts.map
@@ -1,5 +1,5 @@
1
- import { CustomElement } from '../models';
2
- import { Constructor } from './dedupe-mixin';
1
+ import { CustomElement } from '../custom-element.js';
2
+ import { Constructor } from './dedupe-mixin.js';
3
3
  export interface CanBeValidated {
4
4
  readonly internals: ElementInternals;
5
5
  get validity(): ValidityState;
@@ -1,9 +1,9 @@
1
- import { CustomElement } from '../models';
2
- import { CanBeDisabled } from './can-be-disabled';
3
- import { CanBeReadonly } from './can-be-readonly';
4
- import { CanBeRequired } from './can-be-required';
5
- import { CanBeValidated } from './can-be-validated';
6
- import { Constructor } from './dedupe-mixin';
1
+ import { CustomElement } from '../custom-element.js';
2
+ import { CanBeDisabled } from './can-be-disabled.js';
3
+ import { CanBeReadonly } from './can-be-readonly.js';
4
+ import { CanBeRequired } from './can-be-required.js';
5
+ import { CanBeValidated } from './can-be-validated.js';
6
+ import { Constructor } from './dedupe-mixin.js';
7
7
  type ValueType = string | number | boolean | string[] | number[] | boolean[];
8
8
  export interface IsFormControl<V extends ValueType = string> extends CanBeDisabled, CanBeReadonly, CanBeRequired, CanBeValidated {
9
9
  form: HTMLFormElement | null;
@@ -1,6 +1,6 @@
1
- import { CustomElement } from '../models';
2
- import { Constructor } from './dedupe-mixin';
3
- import { IsFormControl } from './form-control';
1
+ import { CustomElement } from '../custom-element.js';
2
+ import { Constructor } from './dedupe-mixin.js';
3
+ import { IsFormControl } from './form-control.js';
4
4
  export interface IsNumberControl extends Omit<IsFormControl, 'value'> {
5
5
  min: number;
6
6
  max: number;
@@ -1,5 +1,5 @@
1
- import { CustomElement } from '../models';
2
- import { Constructor } from './dedupe-mixin';
1
+ import { CustomElement } from '../custom-element.js';
2
+ import { Constructor } from './dedupe-mixin.js';
3
3
  export interface HasLoadingState {
4
4
  loading: boolean;
5
5
  get loadingContainer(): HTMLElement;
@@ -59,4 +59,6 @@ export interface ARIAMixinStrict extends ARIAMixin {
59
59
  ariaValueText: string | null;
60
60
  role: ARIARole | null;
61
61
  }
62
- //# sourceMappingURL=aria-mixin-strict.d.ts.map
62
+ export declare function toAriaBooleanAttribute(value: boolean, removeOnFalse?: boolean): 'true' | 'false';
63
+ export declare function fromAriaBooleanAttribute(value?: string | null): boolean;
64
+ //# sourceMappingURL=a11y.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export declare function parseDate(value: number | string | Date): Date | null;
2
- //# sourceMappingURL=parse-date.d.ts.map
2
+ //# sourceMappingURL=date.d.ts.map
@@ -1,6 +1,15 @@
1
+ /**
2
+ * Creates a new MutationObserver instance.
3
+ *
4
+ * @param {MutationCallback} callback - The callback to execute when a mutation occurs.
5
+ * @returns {MutationObserver} A MutationObserver instance or a dummy object with no-op methods if unsupported.
6
+ */
7
+ export declare function createMutationObserver(callback: MutationCallback): MutationObserver;
1
8
  export declare function toggleAttribute(element: Element | null | undefined, name: string, value?: string | number | boolean | null): void;
2
9
  export declare function getElementFromEvent<T>(event: Event, filterFn: (node: Element) => boolean): T;
3
10
  export declare function findClosestDocument(node: Node): ShadowRoot | Document | null;
4
11
  export declare function toPx(value?: string | number | null): string | null;
5
12
  export declare function getAssignedElements<T extends HTMLElement = HTMLElement>(host: HTMLElement, ...slots: string[]): T[];
13
+ export declare function waitForAnimations(element?: Element | null, subtree?: boolean): Promise<Animation[]>;
14
+ export declare function forwardEvent(this: HTMLElement, event: Event): void;
6
15
  //# sourceMappingURL=dom.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export declare function createOptions<T extends object>(defaultOptions: T): (options?: Partial<T> | null) => T;
2
- //# sourceMappingURL=create-options.d.ts.map
2
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1,7 @@
1
+ export interface SearchTextContentOptions {
2
+ root: Element;
3
+ query: string;
4
+ minlength: number;
5
+ }
6
+ export declare function searchTextContent(options: SearchTextContentOptions): Range[];
7
+ //# sourceMappingURL=search-text-content.d.ts.map
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Creates a IntersectionObserver instance safely, falling back to a dummy if the API is not supported.
3
+ *
4
+ * @param {IntersectionObserverCallback} callback - The callback to execute when an observed element's size changes.
5
+ * @returns {IntersectionObserver} A IntersectionObserver instance or a dummy object with no-op methods if unsupported.
6
+ */
7
+ export declare function createIntersectionObserver(callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver;
1
8
  export interface SharedIntersectionObserverOptions {
2
9
  fpsLimit: number;
3
10
  }
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Creates a ResizeObserver instance safely, falling back to a dummy if the API is not supported.
3
+ *
4
+ * @param {ResizeObserverCallback} callback - The callback to execute when an observed element's size changes.
5
+ * @returns {ResizeObserver} A ResizeObserver instance or a dummy object with no-op methods if unsupported.
6
+ */
7
+ export declare function createResizeObserver(callback: ResizeObserverCallback): ResizeObserver;
1
8
  export interface SharedResizeObserverOptions extends ResizeObserverOptions {
2
9
  fpsLimit: number;
3
10
  }
@@ -0,0 +1,2 @@
1
+ export declare function defineCustomElements(): Promise<void>;
2
+ //# sourceMappingURL=main.d.ts.map
package/dist/loader.js ADDED
@@ -0,0 +1,13 @@
1
+ import { isCustomElementClass } from '@odx/foundation';
2
+ import * as cdkComponents from '@odx/foundation/cdk';
3
+ import * as components from '@odx/foundation/components';
4
+
5
+ async function defineCustomElements() {
6
+ for (const entry of Object.values({ ...components, ...cdkComponents })) {
7
+ if (!isCustomElementClass(entry)) continue;
8
+ entry.define();
9
+ }
10
+ }
11
+ defineCustomElements();
12
+
13
+ export { defineCustomElements };