@odx/foundation 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/LICENSE +5 -0
  2. package/README.md +49 -0
  3. package/dist/base-link-CvZZE13a.js +69 -0
  4. package/dist/cdk/drag-drop/drag-events.d.ts +9 -0
  5. package/dist/cdk/drag-drop/drag-events.d.ts.map +1 -0
  6. package/dist/cdk/drag-drop/drag.controller.d.ts +17 -0
  7. package/dist/cdk/drag-drop/drag.controller.d.ts.map +1 -0
  8. package/dist/cdk/drag-drop/is-draggable.d.ts +18 -0
  9. package/dist/cdk/drag-drop/is-draggable.d.ts.map +1 -0
  10. package/dist/cdk/main.d.ts +7 -0
  11. package/dist/cdk/main.d.ts.map +1 -0
  12. package/dist/cdk/popover/models/index.d.ts +4 -0
  13. package/dist/cdk/popover/models/index.d.ts.map +1 -0
  14. package/dist/cdk/popover/models/popover-placement-options.d.ts +13 -0
  15. package/dist/cdk/popover/models/popover-placement-options.d.ts.map +1 -0
  16. package/dist/cdk/popover/models/popover-placement.d.ts +16 -0
  17. package/dist/cdk/popover/models/popover-placement.d.ts.map +1 -0
  18. package/dist/cdk/popover/models/popover-side.d.ts +8 -0
  19. package/dist/cdk/popover/models/popover-side.d.ts.map +1 -0
  20. package/dist/cdk/popover/popover-host.mixin.d.ts +18 -0
  21. package/dist/cdk/popover/popover-host.mixin.d.ts.map +1 -0
  22. package/dist/cdk/popover/popover.element.d.ts +12 -0
  23. package/dist/cdk/popover/popover.element.d.ts.map +1 -0
  24. package/dist/cdk/popover/utils/compute-popover-placement.d.ts +4 -0
  25. package/dist/cdk/popover/utils/compute-popover-placement.d.ts.map +1 -0
  26. package/dist/cdk/popover/utils/get-popover-side.d.ts +3 -0
  27. package/dist/cdk/popover/utils/get-popover-side.d.ts.map +1 -0
  28. package/dist/cdk/popover/utils/index.d.ts +3 -0
  29. package/dist/cdk/popover/utils/index.d.ts.map +1 -0
  30. package/dist/cdk.d.ts +2 -0
  31. package/dist/cdk.js +2082 -0
  32. package/dist/components/breadcrumb/breadcrumb-item.component.d.ts +16 -0
  33. package/dist/components/breadcrumb/breadcrumb-item.component.d.ts.map +1 -0
  34. package/dist/components/breadcrumb/breadcrumb.component.d.ts +17 -0
  35. package/dist/components/breadcrumb/breadcrumb.component.d.ts.map +1 -0
  36. package/dist/components/breadcrumb/index.d.ts +3 -0
  37. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  38. package/dist/components/button/button.element.d.ts +41 -0
  39. package/dist/components/button/button.element.d.ts.map +1 -0
  40. package/dist/components/button/index.d.ts +3 -0
  41. package/dist/components/button/index.d.ts.map +1 -0
  42. package/dist/components/button/models/button-size.d.ts +7 -0
  43. package/dist/components/button/models/button-size.d.ts.map +1 -0
  44. package/dist/components/button/models/button-variant.d.ts +11 -0
  45. package/dist/components/button/models/button-variant.d.ts.map +1 -0
  46. package/dist/components/button/models/index.d.ts +3 -0
  47. package/dist/components/button/models/index.d.ts.map +1 -0
  48. package/dist/components/button-group/button-group.component.d.ts +12 -0
  49. package/dist/components/button-group/button-group.component.d.ts.map +1 -0
  50. package/dist/components/button-group/index.d.ts +2 -0
  51. package/dist/components/button-group/index.d.ts.map +1 -0
  52. package/dist/components/format/format-bytes.component.d.ts +13 -0
  53. package/dist/components/format/format-bytes.component.d.ts.map +1 -0
  54. package/dist/components/format/format-date.component.d.ts +14 -0
  55. package/dist/components/format/format-date.component.d.ts.map +1 -0
  56. package/dist/components/format/format-number.component.d.ts +20 -0
  57. package/dist/components/format/format-number.component.d.ts.map +1 -0
  58. package/dist/components/format/format.component.d.ts +12 -0
  59. package/dist/components/format/format.component.d.ts.map +1 -0
  60. package/dist/components/format/index.d.ts +5 -0
  61. package/dist/components/format/index.d.ts.map +1 -0
  62. package/dist/components/format/relative-time.component.d.ts +21 -0
  63. package/dist/components/format/relative-time.component.d.ts.map +1 -0
  64. package/dist/components/header/header-actions.component.d.ts +10 -0
  65. package/dist/components/header/header-actions.component.d.ts.map +1 -0
  66. package/dist/components/header/header.component.d.ts +14 -0
  67. package/dist/components/header/header.component.d.ts.map +1 -0
  68. package/dist/components/header/index.d.ts +3 -0
  69. package/dist/components/header/index.d.ts.map +1 -0
  70. package/dist/components/headline/headline.component.d.ts +13 -0
  71. package/dist/components/headline/headline.component.d.ts.map +1 -0
  72. package/dist/components/headline/index.d.ts +3 -0
  73. package/dist/components/headline/index.d.ts.map +1 -0
  74. package/dist/components/headline/models/headline-size.d.ts +8 -0
  75. package/dist/components/headline/models/headline-size.d.ts.map +1 -0
  76. package/dist/components/headline/models/index.d.ts +2 -0
  77. package/dist/components/headline/models/index.d.ts.map +1 -0
  78. package/dist/components/link/base-link.d.ts +15 -0
  79. package/dist/components/link/base-link.d.ts.map +1 -0
  80. package/dist/components/link/index.d.ts +3 -0
  81. package/dist/components/link/index.d.ts.map +1 -0
  82. package/dist/components/link/link.component.d.ts +10 -0
  83. package/dist/components/link/link.component.d.ts.map +1 -0
  84. package/dist/components/loading-indicator/index.d.ts +2 -0
  85. package/dist/components/loading-indicator/index.d.ts.map +1 -0
  86. package/dist/components/loading-indicator/loading-indicator.component.d.ts +11 -0
  87. package/dist/components/loading-indicator/loading-indicator.component.d.ts.map +1 -0
  88. package/dist/components/logo/index.d.ts +3 -0
  89. package/dist/components/logo/index.d.ts.map +1 -0
  90. package/dist/components/logo/logo.component.d.ts +13 -0
  91. package/dist/components/logo/logo.component.d.ts.map +1 -0
  92. package/dist/components/logo/models/index.d.ts +2 -0
  93. package/dist/components/logo/models/index.d.ts.map +1 -0
  94. package/dist/components/logo/models/logo-size.d.ts +9 -0
  95. package/dist/components/logo/models/logo-size.d.ts.map +1 -0
  96. package/dist/components/main.d.ts +18 -0
  97. package/dist/components/main.d.ts.map +1 -0
  98. package/dist/components/page/index.d.ts +3 -0
  99. package/dist/components/page/index.d.ts.map +1 -0
  100. package/dist/components/page/page.component.d.ts +17 -0
  101. package/dist/components/page/page.component.d.ts.map +1 -0
  102. package/dist/components/page/page.models.d.ts +10 -0
  103. package/dist/components/page/page.models.d.ts.map +1 -0
  104. package/dist/components/page-layout/index.d.ts +2 -0
  105. package/dist/components/page-layout/index.d.ts.map +1 -0
  106. package/dist/components/page-layout/page-layout.component.d.ts +11 -0
  107. package/dist/components/page-layout/page-layout.component.d.ts.map +1 -0
  108. package/dist/components/search-bar/events/index.d.ts +2 -0
  109. package/dist/components/search-bar/events/index.d.ts.map +1 -0
  110. package/dist/components/search-bar/events/search-event.d.ts +7 -0
  111. package/dist/components/search-bar/events/search-event.d.ts.map +1 -0
  112. package/dist/components/search-bar/index.d.ts +4 -0
  113. package/dist/components/search-bar/index.d.ts.map +1 -0
  114. package/dist/components/search-bar/models/index.d.ts +2 -0
  115. package/dist/components/search-bar/models/index.d.ts.map +1 -0
  116. package/dist/components/search-bar/models/search-bar-behavior.d.ts +6 -0
  117. package/dist/components/search-bar/models/search-bar-behavior.d.ts.map +1 -0
  118. package/dist/components/search-bar/search-bar.component.d.ts +26 -0
  119. package/dist/components/search-bar/search-bar.component.d.ts.map +1 -0
  120. package/dist/components/separator/index.d.ts +2 -0
  121. package/dist/components/separator/index.d.ts.map +1 -0
  122. package/dist/components/separator/separator.component.d.ts +12 -0
  123. package/dist/components/separator/separator.component.d.ts.map +1 -0
  124. package/dist/components/stack/index.d.ts +3 -0
  125. package/dist/components/stack/index.d.ts.map +1 -0
  126. package/dist/components/stack/stack.component.d.ts +17 -0
  127. package/dist/components/stack/stack.component.d.ts.map +1 -0
  128. package/dist/components/stack/stack.models.d.ts +26 -0
  129. package/dist/components/stack/stack.models.d.ts.map +1 -0
  130. package/dist/components/text/index.d.ts +3 -0
  131. package/dist/components/text/index.d.ts.map +1 -0
  132. package/dist/components/text/text.component.d.ts +13 -0
  133. package/dist/components/text/text.component.d.ts.map +1 -0
  134. package/dist/components/text/text.models.d.ts +13 -0
  135. package/dist/components/text/text.models.d.ts.map +1 -0
  136. package/dist/components/title/index.d.ts +3 -0
  137. package/dist/components/title/index.d.ts.map +1 -0
  138. package/dist/components/title/title.component.d.ts +13 -0
  139. package/dist/components/title/title.component.d.ts.map +1 -0
  140. package/dist/components/title/title.models.d.ts +10 -0
  141. package/dist/components/title/title.models.d.ts.map +1 -0
  142. package/dist/components/visually-hidden/index.d.ts +2 -0
  143. package/dist/components/visually-hidden/index.d.ts.map +1 -0
  144. package/dist/components/visually-hidden/visually-hidden.component.d.ts +11 -0
  145. package/dist/components/visually-hidden/visually-hidden.component.d.ts.map +1 -0
  146. package/dist/components.d.ts +2 -0
  147. package/dist/components.js +1075 -0
  148. package/dist/elements/accordion/accordion-header.element.d.ts +18 -0
  149. package/dist/elements/accordion/accordion-header.element.d.ts.map +1 -0
  150. package/dist/elements/accordion/accordion-panel.element.d.ts +11 -0
  151. package/dist/elements/accordion/accordion-panel.element.d.ts.map +1 -0
  152. package/dist/elements/accordion/accordion.element.d.ts +18 -0
  153. package/dist/elements/accordion/accordion.element.d.ts.map +1 -0
  154. package/dist/elements/accordion/index.d.ts +4 -0
  155. package/dist/elements/accordion/index.d.ts.map +1 -0
  156. package/dist/elements/avatar/avatar.element.d.ts +14 -0
  157. package/dist/elements/avatar/avatar.element.d.ts.map +1 -0
  158. package/dist/elements/avatar/index.d.ts +3 -0
  159. package/dist/elements/avatar/index.d.ts.map +1 -0
  160. package/dist/elements/avatar/models/avatar-size.d.ts +8 -0
  161. package/dist/elements/avatar/models/avatar-size.d.ts.map +1 -0
  162. package/dist/elements/avatar/models/avatar-variant.d.ts +6 -0
  163. package/dist/elements/avatar/models/avatar-variant.d.ts.map +1 -0
  164. package/dist/elements/avatar/models/index.d.ts +3 -0
  165. package/dist/elements/avatar/models/index.d.ts.map +1 -0
  166. package/dist/elements/avatar-group/avatar-group.element.d.ts +14 -0
  167. package/dist/elements/avatar-group/avatar-group.element.d.ts.map +1 -0
  168. package/dist/elements/avatar-group/index.d.ts +2 -0
  169. package/dist/elements/avatar-group/index.d.ts.map +1 -0
  170. package/dist/elements/badge/badge.element.d.ts +13 -0
  171. package/dist/elements/badge/badge.element.d.ts.map +1 -0
  172. package/dist/elements/badge/index.d.ts +3 -0
  173. package/dist/elements/badge/index.d.ts.map +1 -0
  174. package/dist/elements/badge/models/badge-variant.d.ts +10 -0
  175. package/dist/elements/badge/models/badge-variant.d.ts.map +1 -0
  176. package/dist/elements/badge/models/index.d.ts +2 -0
  177. package/dist/elements/badge/models/index.d.ts.map +1 -0
  178. package/dist/elements/card/card.element.d.ts +13 -0
  179. package/dist/elements/card/card.element.d.ts.map +1 -0
  180. package/dist/elements/card/index.d.ts +2 -0
  181. package/dist/elements/card/index.d.ts.map +1 -0
  182. package/dist/elements/checkbox/checkbox-control.d.ts +14 -0
  183. package/dist/elements/checkbox/checkbox-control.d.ts.map +1 -0
  184. package/dist/elements/checkbox/checkbox.element.d.ts +15 -0
  185. package/dist/elements/checkbox/checkbox.element.d.ts.map +1 -0
  186. package/dist/elements/checkbox/index.d.ts +3 -0
  187. package/dist/elements/checkbox/index.d.ts.map +1 -0
  188. package/dist/elements/checkbox-group/checkbox-group-control.d.ts +21 -0
  189. package/dist/elements/checkbox-group/checkbox-group-control.d.ts.map +1 -0
  190. package/dist/elements/checkbox-group/checkbox-group.element.d.ts +14 -0
  191. package/dist/elements/checkbox-group/checkbox-group.element.d.ts.map +1 -0
  192. package/dist/elements/checkbox-group/index.d.ts +4 -0
  193. package/dist/elements/checkbox-group/index.d.ts.map +1 -0
  194. package/dist/elements/checkbox-group/models/checkbox-group-variant.d.ts +5 -0
  195. package/dist/elements/checkbox-group/models/checkbox-group-variant.d.ts.map +1 -0
  196. package/dist/elements/checkbox-group/models/index.d.ts +2 -0
  197. package/dist/elements/checkbox-group/models/index.d.ts.map +1 -0
  198. package/dist/elements/chip/chip.element.d.ts +22 -0
  199. package/dist/elements/chip/chip.element.d.ts.map +1 -0
  200. package/dist/elements/chip/index.d.ts +3 -0
  201. package/dist/elements/chip/index.d.ts.map +1 -0
  202. package/dist/elements/chip/models/chip-variant.d.ts +10 -0
  203. package/dist/elements/chip/models/chip-variant.d.ts.map +1 -0
  204. package/dist/elements/chip/models/index.d.ts +2 -0
  205. package/dist/elements/chip/models/index.d.ts.map +1 -0
  206. package/dist/elements/circular-progress-bar/circular-progress-bar.element.d.ts +42 -0
  207. package/dist/elements/circular-progress-bar/circular-progress-bar.element.d.ts.map +1 -0
  208. package/dist/elements/circular-progress-bar/index.d.ts +3 -0
  209. package/dist/elements/circular-progress-bar/index.d.ts.map +1 -0
  210. package/dist/elements/circular-progress-bar/models/circular-progress-bar-size.d.ts +7 -0
  211. package/dist/elements/circular-progress-bar/models/circular-progress-bar-size.d.ts.map +1 -0
  212. package/dist/elements/circular-progress-bar/models/index.d.ts +2 -0
  213. package/dist/elements/circular-progress-bar/models/index.d.ts.map +1 -0
  214. package/dist/elements/content-layout/grid.element.d.ts +14 -0
  215. package/dist/elements/content-layout/grid.element.d.ts.map +1 -0
  216. package/dist/elements/content-layout/index.d.ts +3 -0
  217. package/dist/elements/content-layout/index.d.ts.map +1 -0
  218. package/dist/elements/content-layout/models/grid-gap.d.ts +8 -0
  219. package/dist/elements/content-layout/models/grid-gap.d.ts.map +1 -0
  220. package/dist/elements/content-layout/models/index.d.ts +2 -0
  221. package/dist/elements/content-layout/models/index.d.ts.map +1 -0
  222. package/dist/elements/dropdown/dropdown.element.d.ts +23 -0
  223. package/dist/elements/dropdown/dropdown.element.d.ts.map +1 -0
  224. package/dist/elements/dropdown/index.d.ts +3 -0
  225. package/dist/elements/dropdown/index.d.ts.map +1 -0
  226. package/dist/elements/dropdown/models/dropdown-placement.d.ts +6 -0
  227. package/dist/elements/dropdown/models/dropdown-placement.d.ts.map +1 -0
  228. package/dist/elements/dropdown/models/index.d.ts +2 -0
  229. package/dist/elements/dropdown/models/index.d.ts.map +1 -0
  230. package/dist/elements/form-field/form-field.element.d.ts +16 -0
  231. package/dist/elements/form-field/form-field.element.d.ts.map +1 -0
  232. package/dist/elements/form-field/index.d.ts +2 -0
  233. package/dist/elements/form-field/index.d.ts.map +1 -0
  234. package/dist/elements/inline-message/index.d.ts +3 -0
  235. package/dist/elements/inline-message/index.d.ts.map +1 -0
  236. package/dist/elements/inline-message/inline-message.element.d.ts +13 -0
  237. package/dist/elements/inline-message/inline-message.element.d.ts.map +1 -0
  238. package/dist/elements/inline-message/models/index.d.ts +2 -0
  239. package/dist/elements/inline-message/models/index.d.ts.map +1 -0
  240. package/dist/elements/inline-message/models/inline-message-variant.d.ts +10 -0
  241. package/dist/elements/inline-message/models/inline-message-variant.d.ts.map +1 -0
  242. package/dist/elements/list/index.d.ts +3 -0
  243. package/dist/elements/list/index.d.ts.map +1 -0
  244. package/dist/elements/list/list-item.element.d.ts +11 -0
  245. package/dist/elements/list/list-item.element.d.ts.map +1 -0
  246. package/dist/elements/list/list.element.d.ts +11 -0
  247. package/dist/elements/list/list.element.d.ts.map +1 -0
  248. package/dist/elements/loading-overlay/index.d.ts +2 -0
  249. package/dist/elements/loading-overlay/index.d.ts.map +1 -0
  250. package/dist/elements/loading-overlay/loading-overlay.element.d.ts +21 -0
  251. package/dist/elements/loading-overlay/loading-overlay.element.d.ts.map +1 -0
  252. package/dist/elements/main-menu/elements/main-menu-button.element.d.ts +12 -0
  253. package/dist/elements/main-menu/elements/main-menu-button.element.d.ts.map +1 -0
  254. package/dist/elements/main-menu/elements/main-menu-link.element.d.ts +9 -0
  255. package/dist/elements/main-menu/elements/main-menu-link.element.d.ts.map +1 -0
  256. package/dist/elements/main-menu/elements/main-menu-subtitle.element.d.ts +12 -0
  257. package/dist/elements/main-menu/elements/main-menu-subtitle.element.d.ts.map +1 -0
  258. package/dist/elements/main-menu/elements/main-menu-title.element.d.ts +12 -0
  259. package/dist/elements/main-menu/elements/main-menu-title.element.d.ts.map +1 -0
  260. package/dist/elements/main-menu/index.d.ts +6 -0
  261. package/dist/elements/main-menu/index.d.ts.map +1 -0
  262. package/dist/elements/main-menu/main-menu.element.d.ts +17 -0
  263. package/dist/elements/main-menu/main-menu.element.d.ts.map +1 -0
  264. package/dist/elements/main.d.ts +30 -0
  265. package/dist/elements/main.d.ts.map +1 -0
  266. package/dist/elements/menu/elements/menu-item/index.d.ts +2 -0
  267. package/dist/elements/menu/elements/menu-item/index.d.ts.map +1 -0
  268. package/dist/elements/menu/elements/menu-item/menu-item.element.d.ts +13 -0
  269. package/dist/elements/menu/elements/menu-item/menu-item.element.d.ts.map +1 -0
  270. package/dist/elements/menu/elements/menu-label/index.d.ts +2 -0
  271. package/dist/elements/menu/elements/menu-label/index.d.ts.map +1 -0
  272. package/dist/elements/menu/elements/menu-label/menu-label.element.d.ts +11 -0
  273. package/dist/elements/menu/elements/menu-label/menu-label.element.d.ts.map +1 -0
  274. package/dist/elements/menu/index.d.ts +4 -0
  275. package/dist/elements/menu/index.d.ts.map +1 -0
  276. package/dist/elements/menu/menu.element.d.ts +24 -0
  277. package/dist/elements/menu/menu.element.d.ts.map +1 -0
  278. package/dist/elements/progress-bar/index.d.ts +3 -0
  279. package/dist/elements/progress-bar/index.d.ts.map +1 -0
  280. package/dist/elements/progress-bar/models/index.d.ts +2 -0
  281. package/dist/elements/progress-bar/models/index.d.ts.map +1 -0
  282. package/dist/elements/progress-bar/models/progress-state.d.ts +7 -0
  283. package/dist/elements/progress-bar/models/progress-state.d.ts.map +1 -0
  284. package/dist/elements/progress-bar/progress-bar.element.d.ts +24 -0
  285. package/dist/elements/progress-bar/progress-bar.element.d.ts.map +1 -0
  286. package/dist/elements/radio-button/index.d.ts +2 -0
  287. package/dist/elements/radio-button/index.d.ts.map +1 -0
  288. package/dist/elements/radio-button/radio-button.element.d.ts +13 -0
  289. package/dist/elements/radio-button/radio-button.element.d.ts.map +1 -0
  290. package/dist/elements/radio-group/index.d.ts +4 -0
  291. package/dist/elements/radio-group/index.d.ts.map +1 -0
  292. package/dist/elements/radio-group/models/index.d.ts +2 -0
  293. package/dist/elements/radio-group/models/index.d.ts.map +1 -0
  294. package/dist/elements/radio-group/models/radio-group-variant.d.ts +5 -0
  295. package/dist/elements/radio-group/models/radio-group-variant.d.ts.map +1 -0
  296. package/dist/elements/radio-group/radio-group-control.d.ts +22 -0
  297. package/dist/elements/radio-group/radio-group-control.d.ts.map +1 -0
  298. package/dist/elements/radio-group/radio-group.element.d.ts +13 -0
  299. package/dist/elements/radio-group/radio-group.element.d.ts.map +1 -0
  300. package/dist/elements/select/elements/option/index.d.ts +2 -0
  301. package/dist/elements/select/elements/option/index.d.ts.map +1 -0
  302. package/dist/elements/select/elements/option/option.element.d.ts +19 -0
  303. package/dist/elements/select/elements/option/option.element.d.ts.map +1 -0
  304. package/dist/elements/select/index.d.ts +3 -0
  305. package/dist/elements/select/index.d.ts.map +1 -0
  306. package/dist/elements/select/select-control.d.ts +16 -0
  307. package/dist/elements/select/select-control.d.ts.map +1 -0
  308. package/dist/elements/select/select.element.d.ts +15 -0
  309. package/dist/elements/select/select.element.d.ts.map +1 -0
  310. package/dist/elements/skeleton/index.d.ts +2 -0
  311. package/dist/elements/skeleton/index.d.ts.map +1 -0
  312. package/dist/elements/skeleton/skeleton.element.d.ts +12 -0
  313. package/dist/elements/skeleton/skeleton.element.d.ts.map +1 -0
  314. package/dist/elements/slider/index.d.ts +5 -0
  315. package/dist/elements/slider/index.d.ts.map +1 -0
  316. package/dist/elements/slider/models/index.d.ts +3 -0
  317. package/dist/elements/slider/models/index.d.ts.map +1 -0
  318. package/dist/elements/slider/models/slider-label-visibility.d.ts +6 -0
  319. package/dist/elements/slider/models/slider-label-visibility.d.ts.map +1 -0
  320. package/dist/elements/slider/models/slider-track-visibility.d.ts +7 -0
  321. package/dist/elements/slider/models/slider-track-visibility.d.ts.map +1 -0
  322. package/dist/elements/slider/slider-context.d.ts +18 -0
  323. package/dist/elements/slider/slider-context.d.ts.map +1 -0
  324. package/dist/elements/slider/slider-handle.element.d.ts +29 -0
  325. package/dist/elements/slider/slider-handle.element.d.ts.map +1 -0
  326. package/dist/elements/slider/slider-marks.element.d.ts +16 -0
  327. package/dist/elements/slider/slider-marks.element.d.ts.map +1 -0
  328. package/dist/elements/slider/slider.element.d.ts +27 -0
  329. package/dist/elements/slider/slider.element.d.ts.map +1 -0
  330. package/dist/elements/spinbox/index.d.ts +2 -0
  331. package/dist/elements/spinbox/index.d.ts.map +1 -0
  332. package/dist/elements/spinbox/spinbox.element.d.ts +21 -0
  333. package/dist/elements/spinbox/spinbox.element.d.ts.map +1 -0
  334. package/dist/elements/switch/index.d.ts +2 -0
  335. package/dist/elements/switch/index.d.ts.map +1 -0
  336. package/dist/elements/switch/switch.element.d.ts +11 -0
  337. package/dist/elements/switch/switch.element.d.ts.map +1 -0
  338. package/dist/elements/table/elements/table-body/index.d.ts +2 -0
  339. package/dist/elements/table/elements/table-body/index.d.ts.map +1 -0
  340. package/dist/elements/table/elements/table-body/table-body.element.d.ts +12 -0
  341. package/dist/elements/table/elements/table-body/table-body.element.d.ts.map +1 -0
  342. package/dist/elements/table/elements/table-cell/index.d.ts +2 -0
  343. package/dist/elements/table/elements/table-cell/index.d.ts.map +1 -0
  344. package/dist/elements/table/elements/table-cell/table-cell.element.d.ts +12 -0
  345. package/dist/elements/table/elements/table-cell/table-cell.element.d.ts.map +1 -0
  346. package/dist/elements/table/elements/table-checkbox-cell/index.d.ts +2 -0
  347. package/dist/elements/table/elements/table-checkbox-cell/index.d.ts.map +1 -0
  348. package/dist/elements/table/elements/table-checkbox-cell/table-checkbox-cell.element.d.ts +18 -0
  349. package/dist/elements/table/elements/table-checkbox-cell/table-checkbox-cell.element.d.ts.map +1 -0
  350. package/dist/elements/table/elements/table-header/index.d.ts +2 -0
  351. package/dist/elements/table/elements/table-header/index.d.ts.map +1 -0
  352. package/dist/elements/table/elements/table-header/table-header.element.d.ts +14 -0
  353. package/dist/elements/table/elements/table-header/table-header.element.d.ts.map +1 -0
  354. package/dist/elements/table/elements/table-header-cell/index.d.ts +2 -0
  355. package/dist/elements/table/elements/table-header-cell/index.d.ts.map +1 -0
  356. package/dist/elements/table/elements/table-header-cell/table-header-cell.element.d.ts +13 -0
  357. package/dist/elements/table/elements/table-header-cell/table-header-cell.element.d.ts.map +1 -0
  358. package/dist/elements/table/elements/table-row/index.d.ts +2 -0
  359. package/dist/elements/table/elements/table-row/index.d.ts.map +1 -0
  360. package/dist/elements/table/elements/table-row/table-row.element.d.ts +19 -0
  361. package/dist/elements/table/elements/table-row/table-row.element.d.ts.map +1 -0
  362. package/dist/elements/table/index.d.ts +8 -0
  363. package/dist/elements/table/index.d.ts.map +1 -0
  364. package/dist/elements/table/table.context.d.ts +10 -0
  365. package/dist/elements/table/table.context.d.ts.map +1 -0
  366. package/dist/elements/table/table.element.d.ts +20 -0
  367. package/dist/elements/table/table.element.d.ts.map +1 -0
  368. package/dist/elements/toast/index.d.ts +3 -0
  369. package/dist/elements/toast/index.d.ts.map +1 -0
  370. package/dist/elements/toast/models/index.d.ts +2 -0
  371. package/dist/elements/toast/models/index.d.ts.map +1 -0
  372. package/dist/elements/toast/models/toast-variant.d.ts +5 -0
  373. package/dist/elements/toast/models/toast-variant.d.ts.map +1 -0
  374. package/dist/elements/toast/toast.element.d.ts +13 -0
  375. package/dist/elements/toast/toast.element.d.ts.map +1 -0
  376. package/dist/elements/toggle-button/index.d.ts +2 -0
  377. package/dist/elements/toggle-button/index.d.ts.map +1 -0
  378. package/dist/elements/toggle-button/toggle-button.element.d.ts +11 -0
  379. package/dist/elements/toggle-button/toggle-button.element.d.ts.map +1 -0
  380. package/dist/elements/tooltip/index.d.ts +3 -0
  381. package/dist/elements/tooltip/index.d.ts.map +1 -0
  382. package/dist/elements/tooltip/models/index.d.ts +2 -0
  383. package/dist/elements/tooltip/models/index.d.ts.map +1 -0
  384. package/dist/elements/tooltip/models/tooltip-placement.d.ts +8 -0
  385. package/dist/elements/tooltip/models/tooltip-placement.d.ts.map +1 -0
  386. package/dist/elements/tooltip/tooltip.element.d.ts +22 -0
  387. package/dist/elements/tooltip/tooltip.element.d.ts.map +1 -0
  388. package/dist/elements.d.ts +2 -0
  389. package/dist/elements.js +3029 -0
  390. package/dist/fonts/draeger-pangea-text-medium.woff2 +0 -0
  391. package/dist/fonts/draeger-pangea-text-regular.woff2 +0 -0
  392. package/dist/fonts/draeger-pangea-text-semibold.woff2 +0 -0
  393. package/dist/fonts.css +1 -0
  394. package/dist/fonts.d.ts +1 -0
  395. package/dist/lib/controllers/focus-trap.controller.d.ts +13 -0
  396. package/dist/lib/controllers/focus-trap.controller.d.ts.map +1 -0
  397. package/dist/lib/controllers/index.d.ts +2 -0
  398. package/dist/lib/controllers/index.d.ts.map +1 -0
  399. package/dist/lib/directives/aria-boolean-attr.d.ts +3 -0
  400. package/dist/lib/directives/aria-boolean-attr.d.ts.map +1 -0
  401. package/dist/lib/directives/index.d.ts +5 -0
  402. package/dist/lib/directives/index.d.ts.map +1 -0
  403. package/dist/lib/directives/optional-attr.d.ts +2 -0
  404. package/dist/lib/directives/optional-attr.d.ts.map +1 -0
  405. package/dist/lib/directives/optional-slot.d.ts +3 -0
  406. package/dist/lib/directives/optional-slot.d.ts.map +1 -0
  407. package/dist/lib/directives/slot-fallback.d.ts +8 -0
  408. package/dist/lib/directives/slot-fallback.d.ts.map +1 -0
  409. package/dist/lib/external/index.d.ts +2 -0
  410. package/dist/lib/external/index.d.ts.map +1 -0
  411. package/dist/lib/external/roving-tabindex.d.ts +87 -0
  412. package/dist/lib/external/roving-tabindex.d.ts.map +1 -0
  413. package/dist/lib/mixins/can-be-disabled.d.ts +7 -0
  414. package/dist/lib/mixins/can-be-disabled.d.ts.map +1 -0
  415. package/dist/lib/mixins/can-be-readonly.d.ts +7 -0
  416. package/dist/lib/mixins/can-be-readonly.d.ts.map +1 -0
  417. package/dist/lib/mixins/can-be-required.d.ts +7 -0
  418. package/dist/lib/mixins/can-be-required.d.ts.map +1 -0
  419. package/dist/lib/mixins/can-be-validated.d.ts +12 -0
  420. package/dist/lib/mixins/can-be-validated.d.ts.map +1 -0
  421. package/dist/lib/mixins/dedupe-mixin.d.ts +3 -0
  422. package/dist/lib/mixins/dedupe-mixin.d.ts.map +1 -0
  423. package/dist/lib/mixins/form-control.d.ts +18 -0
  424. package/dist/lib/mixins/form-control.d.ts.map +1 -0
  425. package/dist/lib/mixins/index.d.ts +11 -0
  426. package/dist/lib/mixins/index.d.ts.map +1 -0
  427. package/dist/lib/mixins/is-localized.d.ts +13 -0
  428. package/dist/lib/mixins/is-localized.d.ts.map +1 -0
  429. package/dist/lib/mixins/number-control.d.ts +12 -0
  430. package/dist/lib/mixins/number-control.d.ts.map +1 -0
  431. package/dist/lib/mixins/with-aria-controls.d.ts +11 -0
  432. package/dist/lib/mixins/with-aria-controls.d.ts.map +1 -0
  433. package/dist/lib/mixins/with-loading-state.d.ts +8 -0
  434. package/dist/lib/mixins/with-loading-state.d.ts.map +1 -0
  435. package/dist/lib/models/aria-mixin-strict.d.ts +62 -0
  436. package/dist/lib/models/aria-mixin-strict.d.ts.map +1 -0
  437. package/dist/lib/models/custom-element.d.ts +10 -0
  438. package/dist/lib/models/custom-element.d.ts.map +1 -0
  439. package/dist/lib/models/index.d.ts +5 -0
  440. package/dist/lib/models/index.d.ts.map +1 -0
  441. package/dist/lib/models/locale.d.ts +2 -0
  442. package/dist/lib/models/locale.d.ts.map +1 -0
  443. package/dist/lib/models/single-unit-identifier.d.ts +6 -0
  444. package/dist/lib/models/single-unit-identifier.d.ts.map +1 -0
  445. package/dist/lib/utils/create-intersection-observer.d.ts +8 -0
  446. package/dist/lib/utils/create-intersection-observer.d.ts.map +1 -0
  447. package/dist/lib/utils/create-mutation-observer.d.ts +8 -0
  448. package/dist/lib/utils/create-mutation-observer.d.ts.map +1 -0
  449. package/dist/lib/utils/create-options.d.ts +2 -0
  450. package/dist/lib/utils/create-options.d.ts.map +1 -0
  451. package/dist/lib/utils/create-resize-observer.d.ts +8 -0
  452. package/dist/lib/utils/create-resize-observer.d.ts.map +1 -0
  453. package/dist/lib/utils/dom.d.ts +5 -0
  454. package/dist/lib/utils/dom.d.ts.map +1 -0
  455. package/dist/lib/utils/element-loader.d.ts +4 -0
  456. package/dist/lib/utils/element-loader.d.ts.map +1 -0
  457. package/dist/lib/utils/format.d.ts +20 -0
  458. package/dist/lib/utils/format.d.ts.map +1 -0
  459. package/dist/lib/utils/get-unique-id.d.ts +36 -0
  460. package/dist/lib/utils/get-unique-id.d.ts.map +1 -0
  461. package/dist/lib/utils/index.d.ts +13 -0
  462. package/dist/lib/utils/index.d.ts.map +1 -0
  463. package/dist/lib/utils/keyboard-events.d.ts +43 -0
  464. package/dist/lib/utils/keyboard-events.d.ts.map +1 -0
  465. package/dist/lib/utils/localization.d.ts +15 -0
  466. package/dist/lib/utils/localization.d.ts.map +1 -0
  467. package/dist/lib/utils/parse-date.d.ts +2 -0
  468. package/dist/lib/utils/parse-date.d.ts.map +1 -0
  469. package/dist/lib/utils/request-update-on-aria-change.d.ts +34 -0
  470. package/dist/lib/utils/request-update-on-aria-change.d.ts.map +1 -0
  471. package/dist/lib/utils/shared-intersection-observer.d.ts +11 -0
  472. package/dist/lib/utils/shared-intersection-observer.d.ts.map +1 -0
  473. package/dist/lib/utils/shared-resize-observer.d.ts +11 -0
  474. package/dist/lib/utils/shared-resize-observer.d.ts.map +1 -0
  475. package/dist/lib/utils/wait-for-animations.d.ts +2 -0
  476. package/dist/lib/utils/wait-for-animations.d.ts.map +1 -0
  477. package/dist/main.d.ts +7 -0
  478. package/dist/main.d.ts.map +1 -0
  479. package/dist/main.js +1141 -0
  480. package/dist/styles.css +1 -0
  481. package/dist/styles.d.ts +1 -0
  482. package/package.json +58 -0
  483. package/public/fonts/draeger-pangea-text-medium.woff2 +0 -0
  484. package/public/fonts/draeger-pangea-text-regular.woff2 +0 -0
  485. package/public/fonts/draeger-pangea-text-semibold.woff2 +0 -0
@@ -0,0 +1,3029 @@
1
+ import { WithAriaControls, CustomElement, toAriaBooleanAttribute, fromAriaBooleanAttribute, customElement, getKeyboardEventInfo, CanBeDisabled, optionalSlot, FormControl, toggleAttribute, getElementFromEvent, SharedResizeObserver, getUniqueId, WithLoadingState, waitForAnimations, emptySlotFallbackFix, FocusTrapController, RovingTabindexController, optionalAttr, NumberControl } from '@odx/foundation';
2
+ import { html, isServer, nothing } from 'lit';
3
+ import { property, queryAssignedElements, query } from 'lit/decorators.js';
4
+ import { when } from 'lit/directives/when.js';
5
+ import { PopoverPlacement, PopoverHost, IsDraggable, IS_DRAG_ACTIVE_ATTRIBUTE, DragController } from '@odx/foundation/cdk';
6
+ import { B as BaseLink } from './base-link-CvZZE13a.js';
7
+ import { OdxLinkComponent } from '@odx/foundation/components';
8
+ import { clamp, round } from 'es-toolkit';
9
+ import { styleMap } from 'lit/directives/style-map.js';
10
+ import { repeat } from 'lit/directives/repeat.js';
11
+ import { createContext, consume, provide } from '@lit/context';
12
+ import { minBy, maxBy } from 'es-toolkit/array';
13
+
14
+ const styles$H = ":host{--_fill-color: transparent;display:flex;gap:var(--odx-size-50);min-block-size:var(--odx-size-225);border-radius:var(--odx-border-radius-sm);background-color:var(--_fill-color);margin-block:calc(.5 * var(--odx-size-75));padding-block:var(--odx-size-25);padding-inline:var(--odx-size-50);cursor:pointer;transition:var(--odx-transition-default);user-select:none;place-items:center;outline:var(--odx-border-width-md) solid transparent;outline-offset:var(--odx-size-px)}:host::part(indicator){display:block;margin-inline-start:auto;block-size:var(--odx-size-150);aspect-ratio:1;transition:var(--odx-transition-slow);transition-property:transform;font-size:var(--odx-size-150)}:host(:not([disabled]):hover){--_fill-color: var(--odx-color-misc-transparent-hover)}:host([disabled]:not([disabled=\"false\"])){cursor:default;color:var(--odx-color-disabled-foreground)}:host([aria-expanded]:not([aria-expanded=\"false\"])){margin-block-end:0;[part=indicator]{transform:rotateX(180deg)}}:host(:focus-visible){outline-color:var(--odx-color-focus-outer)}";
15
+
16
+ var __defProp$y = Object.defineProperty;
17
+ var __getOwnPropDesc$K = Object.getOwnPropertyDescriptor;
18
+ var __decorateClass$O = (decorators, target, key, kind) => {
19
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$K(target, key) : target;
20
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
21
+ if (decorator = decorators[i])
22
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
23
+ if (kind && result) __defProp$y(target, key, result);
24
+ return result;
25
+ };
26
+ let OdxAccordionHeaderElement = class extends WithAriaControls(CustomElement) {
27
+ set expanded(value) {
28
+ if (this.disabled) return;
29
+ this.ariaExpanded = toAriaBooleanAttribute(value);
30
+ }
31
+ get expanded() {
32
+ return fromAriaBooleanAttribute(this.ariaExpanded);
33
+ }
34
+ updateA11yAttributes() {
35
+ if (!this.region) return;
36
+ this.region.ariaHidden = toAriaBooleanAttribute(!this.expanded);
37
+ this.region.inert = !this.expanded;
38
+ super.updateA11yAttributes();
39
+ }
40
+ toggle(force) {
41
+ if (this.disabled) return;
42
+ const state = force ?? !this.expanded;
43
+ if (this.expanded === state) return;
44
+ this.expanded = state;
45
+ if (state) {
46
+ this.emit("expand");
47
+ } else {
48
+ this.emit("collapse");
49
+ }
50
+ if (this.expanded) return;
51
+ const childAccordion = this.region?.querySelector("odx-accordion");
52
+ childAccordion?.toggleAll(false);
53
+ }
54
+ update(props) {
55
+ super.update(props);
56
+ if (props.has("expanded")) {
57
+ this.updateA11yAttributes();
58
+ }
59
+ }
60
+ render() {
61
+ return html`
62
+ <div part="label">
63
+ <odx-text ?emphasized=${this.expanded}>
64
+ <slot></slot>
65
+ </odx-text>
66
+ <slot name="end"></slot>
67
+ </div>
68
+ <odx-icon part="indicator" name="core::chevron-down" aria-hidden="true"></odx-icon>
69
+ `;
70
+ }
71
+ };
72
+ __decorateClass$O([
73
+ property({ type: Boolean })
74
+ ], OdxAccordionHeaderElement.prototype, "expanded", 1);
75
+ OdxAccordionHeaderElement = __decorateClass$O([
76
+ customElement("odx-accordion-header", [styles$H])
77
+ ], OdxAccordionHeaderElement);
78
+
79
+ const styles$G = ":host{display:grid;grid-template-rows:1fr;transition:var(--odx-transition-slow);border-bottom:var(--odx-border-width-sm) solid transparent;margin-block-start:calc(-1 * var(--odx-border-width-sm))}:host::part(container){overflow:hidden}:host::part(content){padding:var(--odx-size-50);transition:var(--odx-transition-slow)}:host(:not(:last-of-type)){border-bottom-color:var(--odx-color-selection-control-stroke)}:host([aria-hidden]:not([aria-hidden=\"false\"])){grid-template-rows:0fr;[part=content]{opacity:0;transform:translateY(calc(-1 * var(--odx-size-75)));visibility:hidden}}:host ::slotted(*){display:block;background-color:transparent}";
80
+
81
+ var __getOwnPropDesc$J = Object.getOwnPropertyDescriptor;
82
+ var __decorateClass$N = (decorators, target, key, kind) => {
83
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$J(target, key) : target;
84
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
85
+ if (decorator = decorators[i])
86
+ result = (decorator(result)) || result;
87
+ return result;
88
+ };
89
+ let OdxAccordionPanelElement = class extends CustomElement {
90
+ render() {
91
+ return html`
92
+ <div part="container">
93
+ <div part="content">
94
+ <slot></slot>
95
+ </div>
96
+ </div>
97
+ `;
98
+ }
99
+ };
100
+ OdxAccordionPanelElement = __decorateClass$N([
101
+ customElement("odx-accordion-panel", [styles$G])
102
+ ], OdxAccordionPanelElement);
103
+
104
+ const styles$F = ":host{display:block;overflow:hidden}:host-context(odx-accordion-panel){margin-block:calc(-.5 * var(--odx-size-75));margin-inline-end:calc(-1 * var(--odx-size-50))}";
105
+
106
+ var __defProp$x = Object.defineProperty;
107
+ var __getOwnPropDesc$I = Object.getOwnPropertyDescriptor;
108
+ var __typeError$k = (msg) => {
109
+ throw TypeError(msg);
110
+ };
111
+ var __decorateClass$M = (decorators, target, key, kind) => {
112
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$I(target, key) : target;
113
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
114
+ if (decorator = decorators[i])
115
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
116
+ if (kind && result) __defProp$x(target, key, result);
117
+ return result;
118
+ };
119
+ var __accessCheck$k = (obj, member, msg) => member.has(obj) || __typeError$k("Cannot " + msg);
120
+ var __privateGet$g = (obj, member, getter) => (__accessCheck$k(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
121
+ var __privateAdd$k = (obj, member, value) => member.has(obj) ? __typeError$k("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
122
+ var _handleClick$4, _handleExpand, _handleKeyboardEvent$2;
123
+ let OdxAccordionElement = class extends CustomElement {
124
+ constructor() {
125
+ super();
126
+ this.multiple = false;
127
+ __privateAdd$k(this, _handleClick$4, (event) => {
128
+ event.stopPropagation();
129
+ if (!(event.target instanceof OdxAccordionHeaderElement)) return;
130
+ event.target.toggle();
131
+ });
132
+ __privateAdd$k(this, _handleExpand, (event) => {
133
+ event.stopPropagation();
134
+ if (!(event.target instanceof OdxAccordionHeaderElement) || this.multiple) return;
135
+ this.toggleAll(false, event.target);
136
+ });
137
+ __privateAdd$k(this, _handleKeyboardEvent$2, (event) => {
138
+ const { actions } = getKeyboardEventInfo(event);
139
+ if (!(actions.enter || actions.space) || !(event.target instanceof OdxAccordionHeaderElement)) return;
140
+ event.preventDefault();
141
+ event.stopPropagation();
142
+ if (event.type === "keydown") return;
143
+ event.target.toggle();
144
+ });
145
+ if (!isServer) {
146
+ this.addEventListener("click", __privateGet$g(this, _handleClick$4));
147
+ this.addEventListener("expand", __privateGet$g(this, _handleExpand));
148
+ this.addEventListener("keydown", __privateGet$g(this, _handleKeyboardEvent$2));
149
+ this.addEventListener("keyup", __privateGet$g(this, _handleKeyboardEvent$2));
150
+ }
151
+ }
152
+ toggleAll(forceState, ...exceptElements) {
153
+ for (const control of this.controls) {
154
+ if (control.expanded === forceState || exceptElements.includes(control)) continue;
155
+ control.toggle(forceState);
156
+ }
157
+ }
158
+ updated(props) {
159
+ super.updated(props);
160
+ if (props.has("multiple") && !this.multiple) {
161
+ const expandedControls = this.controls.find((control) => control.expanded);
162
+ this.toggleAll(false, expandedControls);
163
+ }
164
+ }
165
+ render() {
166
+ return html`<slot></slot>`;
167
+ }
168
+ };
169
+ _handleClick$4 = new WeakMap();
170
+ _handleExpand = new WeakMap();
171
+ _handleKeyboardEvent$2 = new WeakMap();
172
+ __decorateClass$M([
173
+ queryAssignedElements({ selector: OdxAccordionHeaderElement.selector, flatten: true })
174
+ ], OdxAccordionElement.prototype, "controls", 2);
175
+ __decorateClass$M([
176
+ property({ type: Boolean })
177
+ ], OdxAccordionElement.prototype, "multiple", 2);
178
+ OdxAccordionElement = __decorateClass$M([
179
+ customElement("odx-accordion", [styles$F])
180
+ ], OdxAccordionElement);
181
+
182
+ const styles$E = ":host{--_background-color: var(--odx-avatar-background, var(--odx-palette-coolgray-20));--_border-radius: 50%;display:flex;flex-direction:column;place-content:center;place-items:center;position:relative;user-select:none;vertical-align:middle;overflow:clip;block-size:var(--_size);inline-size:var(--_size);margin-block:var(--_spacing);font-size:var(--_font-size);border-radius:var(--_border-radius);background-color:var(--_background-color);transition:var(--odx-transition-base);transition-property:background-color,outline-color,box-shadow}:host-context(odx-avatar-group[variant=\"rectangle\"]),:host([variant=\"rectangle\"]){--_border-radius: var(--odx-border-radius-sm)}:host-context(odx-avatar-group[size=\"sm\"]),:host([size=\"sm\"]){--_size: var(--odx-size-150);--_spacing: 0;--_font-size: var(--odx-font-size-text-sm)}:host,:host-context(odx-avatar-group[size=\"md\"]),:host([size=\"md\"]){--_size: var(--odx-size-225);--_spacing: var(--odx-size-25);--_font-size: var(--odx-font-size-text-md)}:host-context(odx-avatar-group[size=\"lg\"]),:host([size=\"lg\"]){--_size: var(--odx-avatar-lg-size, var(--odx-size-300));--_spacing: var(--odx-size-37);--_font-size: var(--odx-font-size-text-xl)}:host-context(odx-avatar-group[size=\"xl\"]),:host([size=\"xl\"]){--_size: var(--odx-avatar-lg-size, var(--odx-size-600));--_spacing: 0;--_font-size: var(--odx-font-size-heading-lg)}:has(img){--odx-avatar-background: red}::slotted(img){object-fit:cover;position:absolute;inset:0;z-index:1;pointer-events:none}::slotted(odx-icon){font-size:inherit}";
183
+
184
+ var __defProp$w = Object.defineProperty;
185
+ var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
186
+ var __decorateClass$L = (decorators, target, key, kind) => {
187
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
188
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
189
+ if (decorator = decorators[i])
190
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
191
+ if (kind && result) __defProp$w(target, key, result);
192
+ return result;
193
+ };
194
+ let OdxAvatarElement = class extends CustomElement {
195
+ render() {
196
+ return html`<slot></slot>`;
197
+ }
198
+ };
199
+ __decorateClass$L([
200
+ property({ reflect: true })
201
+ ], OdxAvatarElement.prototype, "size", 2);
202
+ __decorateClass$L([
203
+ property({ reflect: true })
204
+ ], OdxAvatarElement.prototype, "variant", 2);
205
+ OdxAvatarElement = __decorateClass$L([
206
+ customElement("odx-avatar", [styles$E])
207
+ ], OdxAvatarElement);
208
+
209
+ const AvatarSize = {
210
+ SM: "sm",
211
+ MD: "md",
212
+ LG: "lg",
213
+ XL: "xl"
214
+ };
215
+
216
+ const AvatarVariant = {
217
+ CIRCLE: "circle",
218
+ RECTANGLE: "rectangle"
219
+ };
220
+
221
+ const styles$D = ":host{display:flex;padding-inline:var(--odx-size-25);width:min-content}::slotted(odx-avatar){flex:0 0 auto;z-index:1;border:var(--odx-outline-sm);border-color:var(--odx-color-surface)}::slotted(odx-avatar:not(:first-of-type)){margin-inline-start:calc(-.33 * var(--_size))}:host(:is([size=\"lg\"],[size=\"xl\"])){gap:var(--odx-size-50)}";
222
+
223
+ var __defProp$v = Object.defineProperty;
224
+ var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
225
+ var __decorateClass$K = (decorators, target, key, kind) => {
226
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
227
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
228
+ if (decorator = decorators[i])
229
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
230
+ if (kind && result) __defProp$v(target, key, result);
231
+ return result;
232
+ };
233
+ let OdxAvatarGroupElement = class extends CustomElement {
234
+ render() {
235
+ return html`<slot></slot>`;
236
+ }
237
+ };
238
+ __decorateClass$K([
239
+ property({ reflect: true })
240
+ ], OdxAvatarGroupElement.prototype, "size", 2);
241
+ __decorateClass$K([
242
+ property({ reflect: true })
243
+ ], OdxAvatarGroupElement.prototype, "variant", 2);
244
+ OdxAvatarGroupElement = __decorateClass$K([
245
+ customElement("odx-avatar-group", [styles$D])
246
+ ], OdxAvatarGroupElement);
247
+
248
+ const styles$C = ":host{--color-fill: var(--odx-color-surface);--color-text: var(--odx-color-text);--__font-size: var(--odx-font-size-text-sm);display:inline-block;line-height:0}:host::part(content){block-size:var(--odx-size-150);line-height:var(--odx-size-150);min-inline-size:var(--odx-size-150);border-radius:var(--odx-size-150);background-color:var(--color-fill);color:var(--color-text);cursor:default;user-select:none;padding-inline:var(--odx-size-50)}:host([variant=\"primary\"])::part(content){--color-fill: var(--odx-color-primary);--color-text: var(--odx-color-primary-text)}:host([variant=\"neutral\"])::part(content){--color-fill: var(--odx-color-neutral);--color-text: var(--odx-color-neutral-text)}:host([variant=\"accent\"])::part(content){--color-fill: var(--odx-color-accent);--color-text: var(--odx-color-accent-text)}:host([variant=\"success\"])::part(content){--color-fill: var(--odx-color-success);--color-text: var(--odx-color-success-text)}:host([variant=\"warning\"])::part(content){--color-fill: var(--odx-color-warning);--color-text: var(--odx-color-warning-text)}:host([variant=\"danger\"])::part(content){--color-fill: var(--odx-color-danger);--color-text: var(--odx-color-danger-text)}";
249
+
250
+ var __defProp$u = Object.defineProperty;
251
+ var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
252
+ var __decorateClass$J = (decorators, target, key, kind) => {
253
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
254
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
255
+ if (decorator = decorators[i])
256
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
257
+ if (kind && result) __defProp$u(target, key, result);
258
+ return result;
259
+ };
260
+ let OdxBadgeElement = class extends CustomElement {
261
+ render() {
262
+ return html`
263
+ <odx-text size="sm" highlight part="content" odxPreventTextOverflow>
264
+ <slot></slot>
265
+ </odx-text>
266
+ `;
267
+ }
268
+ };
269
+ __decorateClass$J([
270
+ property({ reflect: true })
271
+ ], OdxBadgeElement.prototype, "variant", 2);
272
+ OdxBadgeElement = __decorateClass$J([
273
+ customElement("odx-badge", [styles$C])
274
+ ], OdxBadgeElement);
275
+
276
+ const BadgeVariant = {
277
+ NEUTRAL: "neutral",
278
+ PRIMARY: "primary",
279
+ ACCENT: "accent",
280
+ SUCCESS: "success",
281
+ WARNING: "warning",
282
+ DANGER: "danger"
283
+ };
284
+
285
+ const styles$B = ":host{--_card-padding: var(--odx-size-150);display:grid;place-content:flex-start;background-color:var(--odx-color-surface);grid-template-columns:1fr auto;border-radius:var(--odx-border-radius-md);padding:var(--_card-padding);overflow:clip;max-width:100%;grid-template-areas:\"image image\" \"avatar avatar\" \"title header-actions\" \"content content\" \"footer footer\"}:host::part(header-actions),:host::part(title-container){display:flex;place-items:center;overflow:hidden;min-block-size:var(--odx-size-225);margin-block-end:var(--odx-size-50)}:host::part(title-container){grid-area:title}:host::part(header-actions){grid-area:header-actions}:host::part(avatar-container){display:flex;place-items:flex-end;grid-area:avatar;margin-block-start:calc(-1 * var(--odx-size-50))}:host::part(image-container){grid-area:image;margin:calc(-1 * var(--_card-padding));margin-block-end:var(--odx-size-150);position:relative}:host::part(image-container):after{content:\"\";position:absolute;inset:0;background-color:var(--odx-color-fill-focus);opacity:0;pointer-events:none;transition:var(--odx-transition-base);backdrop-filter:blur(var(--odx-elevation-blur))}:host::part(content){grid-area:content}:host::part(footer){grid-area:footer}[part=image-container]+[part=avatar-container]{block-size:0}slot[name=image]::slotted(*){max-inline-size:100%;max-block-size:100%;object-fit:cover;aspect-ratio:16 / 9;user-select:none;pointer-events:none}slot[name=avatar]::slotted(*){margin:0}:host(:hover){cursor:pointer}:host(:hover)::part(image-container):after{opacity:1}";
286
+
287
+ var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
288
+ var __decorateClass$I = (decorators, target, key, kind) => {
289
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
290
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
291
+ if (decorator = decorators[i])
292
+ result = (decorator(result)) || result;
293
+ return result;
294
+ };
295
+ let CardElement = class extends CanBeDisabled(CustomElement) {
296
+ render() {
297
+ return html`
298
+ ${optionalSlot(this, "header")}
299
+ ${optionalSlot(this, "image")}
300
+ ${optionalSlot(this, "avatar")}
301
+ ${optionalSlot(this, "title")}
302
+ <div part="content">
303
+ <slot></slot>
304
+ </div>
305
+ `;
306
+ }
307
+ };
308
+ CardElement = __decorateClass$I([
309
+ customElement("odx-card", [styles$B])
310
+ ], CardElement);
311
+
312
+ var __defProp$t = Object.defineProperty;
313
+ var __decorateClass$H = (decorators, target, key, kind) => {
314
+ var result = void 0 ;
315
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
316
+ if (decorator = decorators[i])
317
+ result = (decorator(target, key, result) ) || result;
318
+ if (result) __defProp$t(target, key, result);
319
+ return result;
320
+ };
321
+ const CHECKED_STATE_KEY = "checked";
322
+ const LINK_SELECTORS = /* @__PURE__ */ new Set(["a", "button", "odx-link"]);
323
+ class CheckboxControl extends FormControl(CustomElement) {
324
+ constructor() {
325
+ super();
326
+ this.checked = false;
327
+ this.#handleClick = ({ target }) => {
328
+ const { localName } = target;
329
+ if (LINK_SELECTORS.has(localName)) return;
330
+ this.toggle(void 0, true);
331
+ };
332
+ this.#handleKeyboardEvent = (event) => {
333
+ const { actions } = getKeyboardEventInfo(event);
334
+ if (!actions.enter && !actions.space) return;
335
+ const { localName } = event.target;
336
+ event.preventDefault();
337
+ if (event.type === "keydown" || LINK_SELECTORS.has(localName)) return;
338
+ this.toggle(void 0, true);
339
+ };
340
+ if (!isServer) {
341
+ this.addEventListener("click", this.#handleClick);
342
+ this.addEventListener("keydown", this.#handleKeyboardEvent);
343
+ this.addEventListener("keyup", this.#handleKeyboardEvent);
344
+ }
345
+ }
346
+ static {
347
+ this.shadowRootOptions = {
348
+ ...CustomElement.shadowRootOptions,
349
+ delegatesFocus: false
350
+ };
351
+ }
352
+ toggle(state, emitEvent = false) {
353
+ const currentState = this.checked;
354
+ const newState = state ?? !currentState;
355
+ if (this.disabled || this.readonly || newState === currentState) return;
356
+ this.checked = newState;
357
+ if (!emitEvent || !this.emit("change")) return;
358
+ this.checked = currentState;
359
+ }
360
+ connectedCallback() {
361
+ super.connectedCallback?.();
362
+ this.internals.role = "checkbox";
363
+ }
364
+ willUpdate(changes) {
365
+ super.willUpdate?.(changes);
366
+ if (changes.has("checked")) {
367
+ this.#handleCheckedChange();
368
+ }
369
+ if (changes.has("value")) {
370
+ this.#handleValueChange();
371
+ }
372
+ }
373
+ #handleCheckedChange() {
374
+ if (this.checked) {
375
+ this.states.add(CHECKED_STATE_KEY);
376
+ } else {
377
+ this.states.delete(CHECKED_STATE_KEY);
378
+ }
379
+ this.internals.ariaChecked = toAriaBooleanAttribute(this.checked);
380
+ this.ariaChecked = toAriaBooleanAttribute(this.checked);
381
+ }
382
+ #handleValueChange() {
383
+ if (this.value) {
384
+ this.internals.setFormValue(this.checked ? this.value : null);
385
+ } else {
386
+ this.internals.setFormValue(this.checked ? "on" : null);
387
+ }
388
+ }
389
+ #handleClick;
390
+ #handleKeyboardEvent;
391
+ }
392
+ __decorateClass$H([
393
+ property({ type: Boolean, reflect: true })
394
+ ], CheckboxControl.prototype, "checked");
395
+
396
+ const styles$A = ":host{--_indicator-space: calc(var(--odx-size-25) / 2);--_indicator-size: calc(var(--odx-size-150) - var(--_indicator-space) * 2);--_indicator-color-fill: var(--odx-selection-control-color-fill);--_indicator-color-border: var(--odx-selection-control-color-border);--_indicator-color-text: transparent;--_label-color-text: var(--odx-color-text);cursor:pointer;display:inline-flex;margin:var(--odx-size-37) var(--odx-size-75);user-select:none;border-radius:var(--odx-selection-control-border-radius);outline:var(--odx-focus-ring-outline);outline-offset:var(--odx-focus-ring-offset);padding:var(--_indicator-space);transition-property:outline-color}:host,:host::part(indicator),:host::part(content){transition:var(--odx-transition-reduced)}:host::part(indicator){display:flex;place-content:center;place-items:center;block-size:var(--_indicator-size);inline-size:var(--_indicator-size);flex-shrink:0;border-radius:var(--odx-selection-control-border-radius);background-color:var(--_indicator-color-fill);border:var(--odx-selection-control-border);border-color:var(--_indicator-color-border);color:var(--_indicator-color-text);font-size:var(--odx-font-size-text-lg);transition-property:background-color,border-color}:host::part(label){display:inline-block}:host::part(content){color:var(--_label-color-text);margin-block:calc(-1 * var(--_indicator-space));transition-property:color}:host(:not(:empty))::part(indicator){margin-inline-end:var(--odx-size-75)}:host(:empty)::part(content){display:none}:host(:hover){--_indicator-color-fill: var(--odx-selection-control-color-fill-hover)}:host(:active){--_indicator-color-fill: var(--odx-selection-control-color-fill-down)}:host(:focus-visible){outline-color:var(--odx-color-focus)}:host(:is(:state(checked),:state(indeterminate))){--_indicator-color-fill: var(--odx-selection-control-color-fill-selected);--_indicator-color-text: var(--odx-selection-control-color-text-selected);--_indicator-color-border: var(--_indicator-color-fill)}:host([disabled]:not([disabled=\"false\"])){--_indicator-color-fill: var(--odx-selection-control-color-fill-disabled);--_indicator-color-text: var(--odx-selection-control-color-text-disabled);--_indicator-color-border: var(--odx-selection-control-color-border-disabled);--_label-color-text: var(--odx-color-text-disabled)}:host([disabled]:not([disabled=\"false\"]):is(:state(checked),:state(indeterminate))){--_indicator-color-fill: var(--odx-selection-control-color-fill-disabled-selected);--_indicator-color-text: var(--odx-selection-control-color-text-disabled-selected);--_indicator-color-border: var(--_indicator-color-fill)}:host([readonly]:not([readonly=\"false\"])){--_indicator-color-fill: var(--odx-selection-control-color-fill-readonly);--_indicator-color-text: var(--odx-selection-control-color-text-readonly);--_indicator-color-border: var(--odx-selection-control-color-border);cursor:default}:host([readonly]:not([readonly=\"false\"]):is(:state(checked),:state(indeterminate))){--_indicator-color-fill: var(--odx-selection-control-color-fill-readonly-selected);--_indicator-color-text: var(--odx-selection-control-color-text-readonly-selected);--_indicator-color-border: var(--odx-selection-control-color-border)}";
397
+
398
+ var __defProp$s = Object.defineProperty;
399
+ var __getOwnPropDesc$D = Object.getOwnPropertyDescriptor;
400
+ var __typeError$j = (msg) => {
401
+ throw TypeError(msg);
402
+ };
403
+ var __decorateClass$G = (decorators, target, key, kind) => {
404
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$D(target, key) : target;
405
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
406
+ if (decorator = decorators[i])
407
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
408
+ if (kind && result) __defProp$s(target, key, result);
409
+ return result;
410
+ };
411
+ var __accessCheck$j = (obj, member, msg) => member.has(obj) || __typeError$j("Cannot " + msg);
412
+ var __privateAdd$j = (obj, member, value) => member.has(obj) ? __typeError$j("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
413
+ var __privateMethod$8 = (obj, member, method) => (__accessCheck$j(obj, member, "access private method"), method);
414
+ var _OdxCheckboxElement_instances, handleIndeterminateChange_fn;
415
+ const INDETERMINATE_STATE_KEY = "indeterminate";
416
+ let OdxCheckboxElement = class extends CheckboxControl {
417
+ constructor() {
418
+ super(...arguments);
419
+ __privateAdd$j(this, _OdxCheckboxElement_instances);
420
+ this.indeterminate = false;
421
+ }
422
+ render() {
423
+ return html`
424
+ <div part="indicator">
425
+ <odx-icon name=${this.indeterminate ? "core::minus" : "core::check"}></odx-icon>
426
+ </div>
427
+ <div part="content">
428
+ <div part="label">
429
+ <slot></slot>
430
+ </div>
431
+ <div part="description">
432
+ <slot name="description"></slot>
433
+ </div>
434
+ </div>
435
+ `;
436
+ }
437
+ willUpdate(changes) {
438
+ super.willUpdate?.(changes);
439
+ if (changes.has("indeterminate")) {
440
+ __privateMethod$8(this, _OdxCheckboxElement_instances, handleIndeterminateChange_fn).call(this);
441
+ }
442
+ }
443
+ toggle(state, dispatchEvent = false) {
444
+ super.toggle(state, dispatchEvent);
445
+ if (this.disabled || this.readonly) return;
446
+ this.indeterminate = false;
447
+ }
448
+ };
449
+ _OdxCheckboxElement_instances = new WeakSet();
450
+ handleIndeterminateChange_fn = function() {
451
+ if (this.indeterminate) {
452
+ this.internals.states.add(INDETERMINATE_STATE_KEY);
453
+ this.internals.ariaChecked = "mixed";
454
+ } else {
455
+ this.internals.states.delete(INDETERMINATE_STATE_KEY);
456
+ }
457
+ };
458
+ __decorateClass$G([
459
+ property({ type: Boolean, reflect: true })
460
+ ], OdxCheckboxElement.prototype, "indeterminate", 2);
461
+ OdxCheckboxElement = __decorateClass$G([
462
+ customElement("odx-checkbox", [styles$A])
463
+ ], OdxCheckboxElement);
464
+
465
+ var __defProp$r = Object.defineProperty;
466
+ var __decorateClass$F = (decorators, target, key, kind) => {
467
+ var result = void 0 ;
468
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
469
+ if (decorator = decorators[i])
470
+ result = (decorator(target, key, result) ) || result;
471
+ if (result) __defProp$r(target, key, result);
472
+ return result;
473
+ };
474
+ const GROUP_CONTROL_SELECTOR = "odx-checkbox-group-control";
475
+ const _CheckboxGroupControl = class _CheckboxGroupControl extends FormControl(CustomElement) {
476
+ constructor() {
477
+ super(...arguments);
478
+ this.value = [];
479
+ this.#handleChangeEvent = (event) => {
480
+ const { target } = event;
481
+ if (!this.isControl(target)) return;
482
+ if (target.checked) {
483
+ this.updateValue([...this.value, target.value], true);
484
+ return;
485
+ }
486
+ this.updateValue(
487
+ this.value.filter((value) => value !== target.value),
488
+ true
489
+ );
490
+ };
491
+ }
492
+ get childGroups() {
493
+ return this.elements.filter((element) => element instanceof _CheckboxGroupControl);
494
+ }
495
+ get controls() {
496
+ return this.#findCheckboxControls((element) => !element.hasAttribute(GROUP_CONTROL_SELECTOR)).concat(this.childGroups.flatMap((group) => group.controls));
497
+ }
498
+ get groupControls() {
499
+ return this.#findCheckboxControls((element) => element.hasAttribute(GROUP_CONTROL_SELECTOR));
500
+ }
501
+ connectedCallback() {
502
+ super.connectedCallback?.();
503
+ this.addEventListener("change", this.#handleChangeEvent);
504
+ }
505
+ toFormValue() {
506
+ const formData = new FormData();
507
+ this.value.forEach((value, index) => {
508
+ formData.append(`${this.name}[${index}]`, value);
509
+ });
510
+ return formData;
511
+ }
512
+ isIndeterminate() {
513
+ return this.value.length > 0 && this.value.length < this.controls.length;
514
+ }
515
+ isControl(element) {
516
+ return element instanceof CheckboxControl;
517
+ }
518
+ updated(props) {
519
+ super.updated(props);
520
+ if (props.has("value")) {
521
+ this.updateCheckboxControls((control) => {
522
+ control.checked = this.value.includes(control.value);
523
+ });
524
+ for (const groupControl of this.groupControls) {
525
+ if (groupControl instanceof CheckboxControl && "indeterminate" in groupControl) {
526
+ groupControl.indeterminate = this.isIndeterminate();
527
+ groupControl.checked = this.controls.length > 0 && this.value.length === this.controls.length;
528
+ }
529
+ }
530
+ }
531
+ if (props.has("name")) {
532
+ this.updateCheckboxControls((control) => {
533
+ control.name = this.name;
534
+ });
535
+ }
536
+ if (props.has("disabled")) {
537
+ this.updateCheckboxControls((control) => {
538
+ control.disabled = this.disabled;
539
+ });
540
+ }
541
+ if (props.has("readonly")) {
542
+ this.updateCheckboxControls((control) => {
543
+ control.readonly = this.readonly;
544
+ });
545
+ }
546
+ }
547
+ updateCheckboxControls(updateFn) {
548
+ this.controls.forEach(updateFn);
549
+ }
550
+ updateValue(value, dispatchEvent) {
551
+ this.value = value;
552
+ if (!dispatchEvent) return;
553
+ this.emit("change");
554
+ }
555
+ #handleChangeEvent;
556
+ #findCheckboxControls(predicate) {
557
+ return this.elements.filter((element) => this.isControl(element) && predicate(element));
558
+ }
559
+ };
560
+ __decorateClass$F([
561
+ queryAssignedElements({ flatten: true })
562
+ ], _CheckboxGroupControl.prototype, "elements");
563
+ __decorateClass$F([
564
+ property({ type: Array })
565
+ ], _CheckboxGroupControl.prototype, "value");
566
+ let CheckboxGroupControl = _CheckboxGroupControl;
567
+
568
+ const styles$z = ":host{display:flex;flex-direction:column}::slotted(:is(odx-checkbox,odx-switch)){width:max-content}:host([variant=\"list\"]) ::slotted(:is(odx-checkbox,odx-switch)){border-block-end:var(--odx-border-sm);border-color:var(--odx-color-fill-disabled);padding:var(--odx-size-75);margin:0;width:auto;border-radius:0}:host([variant=\"list\"]) ::slotted(:is(odx-checkbox,odx-switch):last-of-type){border-block-end:none}::slotted(odx-checkbox-group){margin-inline-start:var(--odx-size-75)}";
569
+
570
+ var __defProp$q = Object.defineProperty;
571
+ var __getOwnPropDesc$C = Object.getOwnPropertyDescriptor;
572
+ var __typeError$i = (msg) => {
573
+ throw TypeError(msg);
574
+ };
575
+ var __decorateClass$E = (decorators, target, key, kind) => {
576
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$C(target, key) : target;
577
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
578
+ if (decorator = decorators[i])
579
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
580
+ if (kind && result) __defProp$q(target, key, result);
581
+ return result;
582
+ };
583
+ var __accessCheck$i = (obj, member, msg) => member.has(obj) || __typeError$i("Cannot " + msg);
584
+ var __privateGet$f = (obj, member, getter) => (__accessCheck$i(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
585
+ var __privateAdd$i = (obj, member, value) => member.has(obj) ? __typeError$i("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
586
+ var _handleSlotChange$4, _handleGroupControlChange;
587
+ let OdxCheckboxGroupElement = class extends CheckboxGroupControl {
588
+ constructor() {
589
+ super(...arguments);
590
+ __privateAdd$i(this, _handleSlotChange$4, () => {
591
+ for (const control of this.groupControls) {
592
+ control.addEventListener("change", __privateGet$f(this, _handleGroupControlChange));
593
+ }
594
+ });
595
+ __privateAdd$i(this, _handleGroupControlChange, (event) => {
596
+ const { target } = event;
597
+ if (!this.isControl(target)) return;
598
+ event.stopImmediatePropagation();
599
+ this.updateValue(target.checked ? this.controls.map((control) => control.value) : [], true);
600
+ for (const groupControl of this.childGroups.flatMap((group) => group.groupControls)) {
601
+ groupControl.checked = target.checked;
602
+ }
603
+ });
604
+ }
605
+ render() {
606
+ return html`<slot @slotchange=${__privateGet$f(this, _handleSlotChange$4)}></slot>`;
607
+ }
608
+ };
609
+ _handleSlotChange$4 = new WeakMap();
610
+ _handleGroupControlChange = new WeakMap();
611
+ __decorateClass$E([
612
+ property({ reflect: true })
613
+ ], OdxCheckboxGroupElement.prototype, "variant", 2);
614
+ OdxCheckboxGroupElement = __decorateClass$E([
615
+ customElement("odx-checkbox-group", [styles$z])
616
+ ], OdxCheckboxGroupElement);
617
+
618
+ const CheckboxGroupVariant = {
619
+ LIST: "list"
620
+ };
621
+
622
+ const styles$y = ":host{--color-fill: var(--odx-color-neutral);--color-fill-hover: var(--odx-color-neutral-hover);--color-text: var(--odx-color-neutral-text);--_font-size: var(--odx-font-size-text-sm);--_block-size: var(--odx-size-150);--_border-radius: var(--_block-size);--_padding-inline: var(--odx-size-50);display:inline-flex;place-items:center;background-color:var(--color-fill);color:var(--color-text);cursor:default;padding-inline:var(--odx-size-50);gap:var(--odx-size-25);block-size:var(--_block-size);border-radius:var(--_border-radius);transition:var(--odx-transition-reduced)}:host::part(content){min-inline-size:var(--odx-size-150);user-select:none}[part=action],::slotted(odx-icon){font-size:var(--odx-font-size-text-md);block-size:var(--_block-size);inline-size:var(--_block-size);color:inherit;transition:var(--odx-transition-reduced)}[part=action]{background-color:transparent;border:none;border-radius:var(--_border-radius);cursor:pointer;margin-inline-end:calc(-1 * var(--_padding-inline));padding:0}[part=action]:hover{background-color:var(--odx-color-fill-focus)}:host([variant=\"primary\"]){--color-fill: var(--odx-color-primary);--color-text: var(--odx-color-primary-text)}:host([variant=\"neutral\"]){--color-fill: var(--odx-color-neutral);--color-text: var(--odx-color-neutral-text)}:host([variant=\"accent\"]){--color-fill: var(--odx-color-accent);--color-text: var(--odx-color-accent-text)}:host([variant=\"success\"]){--color-fill: var(--odx-color-success);--color-text: var(--odx-color-success-text)}:host([variant=\"warning\"]){--color-fill: var(--odx-color-warning);--color-text: var(--odx-color-warning-text)}:host([variant=\"danger\"]){--color-fill: var(--odx-color-danger);--color-text: var(--odx-color-danger-text)}:host([interactive]:not([interactive=\"false\"])){cursor:pointer}:host([interactive]:not([interactive=\"false\"]):hover){--color-fill: var(--color-fill-hover)}";
623
+
624
+ var __defProp$p = Object.defineProperty;
625
+ var __getOwnPropDesc$B = Object.getOwnPropertyDescriptor;
626
+ var __typeError$h = (msg) => {
627
+ throw TypeError(msg);
628
+ };
629
+ var __decorateClass$D = (decorators, target, key, kind) => {
630
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$B(target, key) : target;
631
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
632
+ if (decorator = decorators[i])
633
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
634
+ if (kind && result) __defProp$p(target, key, result);
635
+ return result;
636
+ };
637
+ var __accessCheck$h = (obj, member, msg) => member.has(obj) || __typeError$h("Cannot " + msg);
638
+ var __privateGet$e = (obj, member, getter) => (__accessCheck$h(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
639
+ var __privateAdd$h = (obj, member, value) => member.has(obj) ? __typeError$h("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
640
+ var _handleActionClick, _handleClick$3;
641
+ let OdxChipElement = class extends CanBeDisabled(CustomElement) {
642
+ constructor() {
643
+ super(...arguments);
644
+ this.removable = false;
645
+ this.interactive = false;
646
+ __privateAdd$h(this, _handleActionClick, (event) => {
647
+ const actionElement = getElementFromEvent(event, (node) => node.getAttribute("part") === "action");
648
+ if (!actionElement) return;
649
+ event.stopPropagation();
650
+ this.emit("remove");
651
+ });
652
+ __privateAdd$h(this, _handleClick$3, (event) => {
653
+ if (this.removable) {
654
+ const actionElement = getElementFromEvent(event, (node) => node.getAttribute("part") === "action");
655
+ if (actionElement) return;
656
+ }
657
+ if (!this.interactive) {
658
+ event.stopPropagation();
659
+ }
660
+ });
661
+ }
662
+ render() {
663
+ return html`
664
+ <odx-text part="content" size="sm" highlight odxPreventTextOverflow>
665
+ <slot></slot>
666
+ </odx-text>
667
+ ${when(this.removable, () => this.renderAction())}
668
+ `;
669
+ }
670
+ renderAction() {
671
+ return html`
672
+ <button part="action" @click=${__privateGet$e(this, _handleActionClick)}>
673
+ <odx-icon name="close" set="core"></odx-icon>
674
+ </button>
675
+ `;
676
+ }
677
+ willUpdate(changes) {
678
+ super.willUpdate?.(changes);
679
+ if (changes.has("interactive") || changes.has("disabled")) {
680
+ if (!this.disabled) {
681
+ toggleAttribute(this, "tabindex", this.interactive ? 0 : null);
682
+ toggleAttribute(this.actionElement, "tabindex", this.interactive ? -1 : null);
683
+ }
684
+ }
685
+ }
686
+ updated(changes) {
687
+ if (changes.has("removable") || changes.has("interactive") || changes.has("disabled")) {
688
+ if (this.removable || this.interactive) {
689
+ this.addEventListener("click", __privateGet$e(this, _handleClick$3), { capture: true });
690
+ } else {
691
+ this.removeEventListener("click", __privateGet$e(this, _handleClick$3));
692
+ }
693
+ }
694
+ }
695
+ };
696
+ _handleActionClick = new WeakMap();
697
+ _handleClick$3 = new WeakMap();
698
+ __decorateClass$D([
699
+ query('[part="action"]')
700
+ ], OdxChipElement.prototype, "actionElement", 2);
701
+ __decorateClass$D([
702
+ property({ type: Boolean, reflect: true })
703
+ ], OdxChipElement.prototype, "removable", 2);
704
+ __decorateClass$D([
705
+ property({ type: Boolean, reflect: true })
706
+ ], OdxChipElement.prototype, "interactive", 2);
707
+ __decorateClass$D([
708
+ property({ reflect: true })
709
+ ], OdxChipElement.prototype, "variant", 2);
710
+ OdxChipElement = __decorateClass$D([
711
+ customElement("odx-chip", [styles$y])
712
+ ], OdxChipElement);
713
+
714
+ const ChipVariant = {
715
+ NEUTRAL: "neutral",
716
+ PRIMARY: "primary",
717
+ ACCENT: "accent",
718
+ SUCCESS: "success",
719
+ WARNING: "warning",
720
+ DANGER: "danger"
721
+ };
722
+
723
+ const styles$x = "@keyframes odx-circular-progress-indicator-animation{0%{stroke-dashoffset:100}25%{stroke-dashoffset:250;transform:rotate(180deg)}to{stroke-dashoffset:100;transform:rotate(270deg)}}@keyframes odx-circular-progress-inner-animation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host{--_indicator-color: var(--odx-color-primary);--_track-color: var(--odx-palette-coolgray-10);aspect-ratio:1;display:flex;place-content:center;place-items:center;color:currentColor;block-size:100%;inline-size:100%;position:relative}:host([size=\"small\"]){--_size: var(--odx-size-300)}:host([size=\"medium\"]){--_size: var(--odx-size-400)}:host([size=\"large\"]){--_size: var(--odx-size-600)}:host([size]){max-block-size:var(--_size);max-inline-size:var(--_size)}:host::part(track),:host::part(indicator){fill:transparent}:host::part(indicator){stroke:var(--_indicator-color);transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset var(--odx-motion-duration) var(--odx-motion-easing-reduced)}:host::part(track){stroke:var(--_track-color)}:host([indeterminate]:not([indeterminate=\"false\"]))::part(inner){animation:1.75s linear infinite odx-circular-progress-inner-animation}:host([indeterminate]:not([indeterminate=\"false\"]))::part(indicator){animation:1.75s ease infinite odx-circular-progress-indicator-animation both}";
724
+
725
+ const CircularProgressBarSize = {
726
+ SMALL: "small",
727
+ MEDIUM: "medium",
728
+ LARGE: "large"
729
+ };
730
+
731
+ var __defProp$o = Object.defineProperty;
732
+ var __getOwnPropDesc$A = Object.getOwnPropertyDescriptor;
733
+ var __typeError$g = (msg) => {
734
+ throw TypeError(msg);
735
+ };
736
+ var __decorateClass$C = (decorators, target, key, kind) => {
737
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$A(target, key) : target;
738
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
739
+ if (decorator = decorators[i])
740
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
741
+ if (kind && result) __defProp$o(target, key, result);
742
+ return result;
743
+ };
744
+ var __accessCheck$g = (obj, member, msg) => member.has(obj) || __typeError$g("Cannot " + msg);
745
+ var __privateGet$d = (obj, member, getter) => (__accessCheck$g(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
746
+ var __privateAdd$g = (obj, member, value) => member.has(obj) ? __typeError$g("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
747
+ var __privateSet$2 = (obj, member, value, setter) => (__accessCheck$g(obj, member, "write to private field"), member.set(obj, value), value);
748
+ var _value, _OdxCircularProgressBarElement_instances, circumference_get, radius_get, progressValue_get, normalizedStrokeWidth_get;
749
+ let OdxCircularProgressBarElement = class extends CustomElement {
750
+ constructor() {
751
+ super(...arguments);
752
+ __privateAdd$g(this, _OdxCircularProgressBarElement_instances);
753
+ __privateAdd$g(this, _value, 0);
754
+ this.viewPortSize = 100;
755
+ this.stroke = 1;
756
+ this.indeterminate = false;
757
+ this.size = CircularProgressBarSize.MEDIUM;
758
+ }
759
+ set value(val) {
760
+ if (val >= -1 && val <= 100) {
761
+ __privateSet$2(this, _value, val);
762
+ this.indeterminate = val === -1;
763
+ this.setAttribute("aria-valuenow", `${this.indeterminate ? 0 : val}`);
764
+ } else {
765
+ console.warn(`Invalid value (${val}). Value must be between -1 and 100.`);
766
+ }
767
+ }
768
+ get value() {
769
+ return __privateGet$d(this, _value);
770
+ }
771
+ firstUpdated(changes) {
772
+ super.firstUpdated?.(changes);
773
+ SharedResizeObserver.observe(this, () => {
774
+ this.requestUpdate();
775
+ });
776
+ this.setAttributes();
777
+ }
778
+ disconnectedCallback() {
779
+ super.disconnectedCallback?.();
780
+ SharedResizeObserver.unobserve(this);
781
+ }
782
+ render() {
783
+ return html`
784
+ <svg part="inner" viewBox="0 0 ${this.viewPortSize} ${this.viewPortSize}">
785
+ <circle
786
+ part="track"
787
+ stroke-width="${__privateGet$d(this, _OdxCircularProgressBarElement_instances, normalizedStrokeWidth_get)}"
788
+ r="${__privateGet$d(this, _OdxCircularProgressBarElement_instances, radius_get)}"
789
+ cx="50%"
790
+ cy="50%"
791
+ />
792
+ <circle
793
+ part="indicator"
794
+ stroke-dasharray="${__privateGet$d(this, _OdxCircularProgressBarElement_instances, circumference_get)}"
795
+ stroke-dashoffset="${__privateGet$d(this, _OdxCircularProgressBarElement_instances, progressValue_get)}"
796
+ stroke-width="${__privateGet$d(this, _OdxCircularProgressBarElement_instances, normalizedStrokeWidth_get)}"
797
+ r="${__privateGet$d(this, _OdxCircularProgressBarElement_instances, radius_get)}"
798
+ cx="50%"
799
+ cy="50%"
800
+ />
801
+ </svg>
802
+ `;
803
+ }
804
+ setAttributes() {
805
+ this.setAttribute("aria-valuenow", `${this.indeterminate ? 0 : this.value}`);
806
+ this.setAttribute("aria-valuemax", "100");
807
+ this.setAttribute("aria-valuemin", "0");
808
+ this.setAttribute("role", "meter");
809
+ }
810
+ };
811
+ _value = new WeakMap();
812
+ _OdxCircularProgressBarElement_instances = new WeakSet();
813
+ circumference_get = function() {
814
+ return Math.floor(2 * __privateGet$d(this, _OdxCircularProgressBarElement_instances, radius_get) * Math.PI);
815
+ };
816
+ radius_get = function() {
817
+ return Math.max(0, this.viewPortSize / 2 - __privateGet$d(this, _OdxCircularProgressBarElement_instances, normalizedStrokeWidth_get) / 2);
818
+ };
819
+ progressValue_get = function() {
820
+ return this.indeterminate ? __privateGet$d(this, _OdxCircularProgressBarElement_instances, circumference_get) : Math.floor((1 - __privateGet$d(this, _value) / 100) * __privateGet$d(this, _OdxCircularProgressBarElement_instances, circumference_get));
821
+ };
822
+ normalizedStrokeWidth_get = function() {
823
+ if (this.stroke < 0) return 0;
824
+ const normalizeFactor = this.viewPortSize / (this.offsetWidth || 1);
825
+ let stroke = normalizeFactor * this.stroke;
826
+ if (normalizeFactor >= 3) {
827
+ stroke = Math.max(0, stroke - normalizeFactor);
828
+ }
829
+ return stroke;
830
+ };
831
+ __decorateClass$C([
832
+ property({ type: Number })
833
+ ], OdxCircularProgressBarElement.prototype, "value", 1);
834
+ __decorateClass$C([
835
+ property({ type: Number, reflect: true })
836
+ ], OdxCircularProgressBarElement.prototype, "stroke", 2);
837
+ __decorateClass$C([
838
+ property({ type: Boolean, reflect: true })
839
+ ], OdxCircularProgressBarElement.prototype, "indeterminate", 2);
840
+ __decorateClass$C([
841
+ property({ reflect: true })
842
+ ], OdxCircularProgressBarElement.prototype, "size", 2);
843
+ OdxCircularProgressBarElement = __decorateClass$C([
844
+ customElement("odx-circular-progress-bar", [styles$x])
845
+ ], OdxCircularProgressBarElement);
846
+
847
+ const styles$w = ":host{--columns: 1;--column-min-size: 300px;--column-max-size: auto;--_gutter: var(--odx-grid-gutter, var(--odx-size-75))}:host{display:grid;container:odx-grid inline-size;gap:var(--_gutter);grid-template-columns:repeat(auto-fit,minmax(min(var(--column-min-size),100%),1fr))}:host ::slotted(*){max-inline-size:var(--column-max-size);justify-self:center}:host([columns]){--column-min-size: calc(100% / (var(--columns) + 1))}:host([columns=\"2\"]){--columns: 2}:host([columns=\"3\"]){--columns: 3}:host([columns=\"4\"]){--columns: 4}:host([columns=\"6\"]){--columns: 6}:host([gap=\"none\"]){gap:0}:host([gap=\"block\"]){column-gap:0}:host([gap=\"inline\"]){row-gap:0}";
848
+
849
+ var __defProp$n = Object.defineProperty;
850
+ var __getOwnPropDesc$z = Object.getOwnPropertyDescriptor;
851
+ var __decorateClass$B = (decorators, target, key, kind) => {
852
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$z(target, key) : target;
853
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
854
+ if (decorator = decorators[i])
855
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
856
+ if (kind && result) __defProp$n(target, key, result);
857
+ return result;
858
+ };
859
+ let OdxGrid = class extends CustomElement {
860
+ render() {
861
+ return html`<slot></slot>`;
862
+ }
863
+ };
864
+ __decorateClass$B([
865
+ property({ type: Number })
866
+ ], OdxGrid.prototype, "columns", 2);
867
+ __decorateClass$B([
868
+ property()
869
+ ], OdxGrid.prototype, "gap", 2);
870
+ OdxGrid = __decorateClass$B([
871
+ customElement("odx-grid", [styles$w])
872
+ ], OdxGrid);
873
+
874
+ const GridGap = {
875
+ SM: "sm",
876
+ MD: "md",
877
+ LG: "lg",
878
+ XL: "xl"
879
+ };
880
+
881
+ const styles$v = ":host{--_popover-offset: var(--odx-size-37)}odx-popover{--color-fill: var(--odx-color-surface)}:host([matchReferenceWidth]:not([matchReferenceWidth=\"false\"])){odx-popover{--min-inline-size: var(--_reference-inline-size, 0)}}";
882
+
883
+ const DropdownPlacement = {
884
+ TOP: PopoverPlacement.TOP,
885
+ BOTTOM: PopoverPlacement.BOTTOM
886
+ };
887
+
888
+ var __defProp$m = Object.defineProperty;
889
+ var __getOwnPropDesc$y = Object.getOwnPropertyDescriptor;
890
+ var __typeError$f = (msg) => {
891
+ throw TypeError(msg);
892
+ };
893
+ var __decorateClass$A = (decorators, target, key, kind) => {
894
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$y(target, key) : target;
895
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
896
+ if (decorator = decorators[i])
897
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
898
+ if (kind && result) __defProp$m(target, key, result);
899
+ return result;
900
+ };
901
+ var __accessCheck$f = (obj, member, msg) => member.has(obj) || __typeError$f("Cannot " + msg);
902
+ var __privateGet$c = (obj, member, getter) => (__accessCheck$f(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
903
+ var __privateAdd$f = (obj, member, value) => member.has(obj) ? __typeError$f("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
904
+ var __privateMethod$7 = (obj, member, method) => (__accessCheck$f(obj, member, "access private method"), method);
905
+ var _OdxDropdownElement_instances, observeReferenceElement_fn, unobserveReferenceElement_fn, updateAriaAttributes_fn$1, _handleMouseEvent, _handleKeyboardEvent$1;
906
+ let OdxDropdownElement = class extends PopoverHost(CanBeDisabled(CustomElement)) {
907
+ constructor() {
908
+ super(...arguments);
909
+ __privateAdd$f(this, _OdxDropdownElement_instances);
910
+ this.matchReferenceWidth = false;
911
+ this.placement = DropdownPlacement.BOTTOM;
912
+ __privateAdd$f(this, _handleMouseEvent, (event) => {
913
+ this.togglePopover();
914
+ });
915
+ __privateAdd$f(this, _handleKeyboardEvent$1, (event) => {
916
+ if (event.key !== "Enter") return;
917
+ this.togglePopover();
918
+ });
919
+ }
920
+ connectedCallback() {
921
+ super.connectedCallback?.();
922
+ this.id ||= getUniqueId("odx-dropdown");
923
+ }
924
+ mountPopover(referenceElement) {
925
+ super.mountPopover(referenceElement);
926
+ if (this.disabled || !referenceElement) return;
927
+ __privateMethod$7(this, _OdxDropdownElement_instances, updateAriaAttributes_fn$1).call(this, referenceElement, this.id);
928
+ referenceElement.addEventListener("click", __privateGet$c(this, _handleMouseEvent));
929
+ referenceElement.addEventListener("keydown", __privateGet$c(this, _handleKeyboardEvent$1));
930
+ if (this.matchReferenceWidth) {
931
+ __privateMethod$7(this, _OdxDropdownElement_instances, observeReferenceElement_fn).call(this);
932
+ }
933
+ }
934
+ unmountPopover(referenceElement) {
935
+ super.unmountPopover(referenceElement);
936
+ __privateMethod$7(this, _OdxDropdownElement_instances, updateAriaAttributes_fn$1).call(this, referenceElement, null);
937
+ referenceElement.removeEventListener("click", __privateGet$c(this, _handleMouseEvent));
938
+ referenceElement.removeEventListener("keydown", __privateGet$c(this, _handleKeyboardEvent$1));
939
+ __privateMethod$7(this, _OdxDropdownElement_instances, unobserveReferenceElement_fn).call(this);
940
+ }
941
+ render() {
942
+ return html`
943
+ <odx-popover>
944
+ <slot></slot>
945
+ </odx-popover>
946
+ `;
947
+ }
948
+ willUpdate(changes) {
949
+ super.willUpdate?.(changes);
950
+ if (changes.has("id")) {
951
+ __privateMethod$7(this, _OdxDropdownElement_instances, updateAriaAttributes_fn$1).call(this, this.referenceElement, this.id);
952
+ }
953
+ if (changes.has("disabled")) {
954
+ if (this.disabled) {
955
+ this.referenceElement && this.unmountPopover(this.referenceElement);
956
+ } else {
957
+ this.mountPopover(this.referenceElement);
958
+ }
959
+ }
960
+ if (changes.has("matchReferenceWidth")) {
961
+ if (this.matchReferenceWidth) {
962
+ __privateMethod$7(this, _OdxDropdownElement_instances, observeReferenceElement_fn).call(this);
963
+ } else {
964
+ __privateMethod$7(this, _OdxDropdownElement_instances, unobserveReferenceElement_fn).call(this);
965
+ }
966
+ }
967
+ }
968
+ };
969
+ _OdxDropdownElement_instances = new WeakSet();
970
+ observeReferenceElement_fn = function() {
971
+ if (!this.referenceElement) return;
972
+ SharedResizeObserver.observe(this.referenceElement, () => {
973
+ const referenceWidth = this.referenceElement?.offsetWidth ?? null;
974
+ if (referenceWidth !== null) {
975
+ this.popoverElement.style.setProperty("--_reference-inline-size", `${referenceWidth}px`);
976
+ }
977
+ });
978
+ };
979
+ unobserveReferenceElement_fn = function() {
980
+ if (!this.referenceElement) return;
981
+ SharedResizeObserver.unobserve(this.referenceElement);
982
+ };
983
+ updateAriaAttributes_fn$1 = function(referenceElement, id) {
984
+ toggleAttribute(referenceElement, "aria-describedby", id);
985
+ };
986
+ _handleMouseEvent = new WeakMap();
987
+ _handleKeyboardEvent$1 = new WeakMap();
988
+ __decorateClass$A([
989
+ query("odx-popover", true)
990
+ ], OdxDropdownElement.prototype, "popoverElement", 2);
991
+ __decorateClass$A([
992
+ property({ type: Boolean, reflect: true })
993
+ ], OdxDropdownElement.prototype, "matchReferenceWidth", 2);
994
+ __decorateClass$A([
995
+ property({ type: String, reflect: true })
996
+ ], OdxDropdownElement.prototype, "placement", 2);
997
+ OdxDropdownElement = __decorateClass$A([
998
+ customElement("odx-dropdown", [styles$v])
999
+ ], OdxDropdownElement);
1000
+
1001
+ const styles$u = ":host{display:block}";
1002
+
1003
+ var __defProp$l = Object.defineProperty;
1004
+ var __getOwnPropDesc$x = Object.getOwnPropertyDescriptor;
1005
+ var __typeError$e = (msg) => {
1006
+ throw TypeError(msg);
1007
+ };
1008
+ var __decorateClass$z = (decorators, target, key, kind) => {
1009
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$x(target, key) : target;
1010
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1011
+ if (decorator = decorators[i])
1012
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1013
+ if (kind && result) __defProp$l(target, key, result);
1014
+ return result;
1015
+ };
1016
+ var __accessCheck$e = (obj, member, msg) => member.has(obj) || __typeError$e("Cannot " + msg);
1017
+ var __privateGet$b = (obj, member, getter) => (__accessCheck$e(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
1018
+ var __privateAdd$e = (obj, member, value) => member.has(obj) ? __typeError$e("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
1019
+ var _handleSlotChange$3;
1020
+ const FORM_FIELD_CONTROL_SELECTOR = "odx-form-field-control";
1021
+ let OdxFormFieldElement = class extends CustomElement {
1022
+ constructor() {
1023
+ super(...arguments);
1024
+ __privateAdd$e(this, _handleSlotChange$3, () => {
1025
+ this.control?.addEventListener("change", () => this.requestUpdate());
1026
+ });
1027
+ }
1028
+ get control() {
1029
+ return this.elements.find((element) => element.hasAttribute(FORM_FIELD_CONTROL_SELECTOR));
1030
+ }
1031
+ connectedCallback() {
1032
+ super.connectedCallback?.();
1033
+ }
1034
+ render() {
1035
+ const isValid = this.control?.checkValidity();
1036
+ return html`
1037
+ <slot @slotchange=${__privateGet$b(this, _handleSlotChange$3)}></slot>
1038
+ ${when(isValid === false, () => this.renderErrorMessage())}
1039
+
1040
+ `;
1041
+ }
1042
+ renderErrorMessage() {
1043
+ return html`
1044
+ <odx-inline-message variant="danger">
1045
+ ${this.control?.validationMessage}
1046
+ </odx-inline-message>
1047
+ `;
1048
+ }
1049
+ };
1050
+ _handleSlotChange$3 = new WeakMap();
1051
+ __decorateClass$z([
1052
+ queryAssignedElements({ flatten: true })
1053
+ ], OdxFormFieldElement.prototype, "elements", 2);
1054
+ OdxFormFieldElement = __decorateClass$z([
1055
+ customElement("odx-form-field", [styles$u])
1056
+ ], OdxFormFieldElement);
1057
+
1058
+ const styles$t = ":host{display:block;padding:var(--odx-size-75);background-color:var(--odx-color-fill-focus)}";
1059
+
1060
+ var __defProp$k = Object.defineProperty;
1061
+ var __getOwnPropDesc$w = Object.getOwnPropertyDescriptor;
1062
+ var __decorateClass$y = (decorators, target, key, kind) => {
1063
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$w(target, key) : target;
1064
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1065
+ if (decorator = decorators[i])
1066
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1067
+ if (kind && result) __defProp$k(target, key, result);
1068
+ return result;
1069
+ };
1070
+ let OdxInlineMessageElement = class extends CustomElement {
1071
+ render() {
1072
+ return html`
1073
+ <odx-text size="sm">
1074
+ <slot></slot>
1075
+ </odx-text>
1076
+ `;
1077
+ }
1078
+ };
1079
+ __decorateClass$y([
1080
+ property({ reflect: true })
1081
+ ], OdxInlineMessageElement.prototype, "variant", 2);
1082
+ OdxInlineMessageElement = __decorateClass$y([
1083
+ customElement("odx-inline-message", [styles$t])
1084
+ ], OdxInlineMessageElement);
1085
+
1086
+ const InlineMessageVariant = {
1087
+ NEUTRAL: "neutral",
1088
+ PRIMARY: "primary",
1089
+ ACCENT: "accent",
1090
+ SUCCESS: "success",
1091
+ WARNING: "warning",
1092
+ DANGER: "danger"
1093
+ };
1094
+
1095
+ const styles$s = ":host{display:flex;flex-direction:column;padding:var(--odx-size-75);border-block-end:var(--odx-border-sm)}";
1096
+
1097
+ var __getOwnPropDesc$v = Object.getOwnPropertyDescriptor;
1098
+ var __decorateClass$x = (decorators, target, key, kind) => {
1099
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$v(target, key) : target;
1100
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1101
+ if (decorator = decorators[i])
1102
+ result = (decorator(result)) || result;
1103
+ return result;
1104
+ };
1105
+ let OdxListItemElement = class extends BaseLink {
1106
+ render() {
1107
+ return html`
1108
+ <slot name="start"></slot>
1109
+ ${this.href ? super.render() : html`<slot></slot>`}
1110
+ <slot name="end"></slot>
1111
+ `;
1112
+ }
1113
+ };
1114
+ OdxListItemElement = __decorateClass$x([
1115
+ customElement("odx-list-item", [styles$s])
1116
+ ], OdxListItemElement);
1117
+
1118
+ const styles$r = "";
1119
+
1120
+ var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
1121
+ var __decorateClass$w = (decorators, target, key, kind) => {
1122
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
1123
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1124
+ if (decorator = decorators[i])
1125
+ result = (decorator(result)) || result;
1126
+ return result;
1127
+ };
1128
+ let OdxListElement = class extends CustomElement {
1129
+ render() {
1130
+ return html`
1131
+ <slot></slot>
1132
+ `;
1133
+ }
1134
+ };
1135
+ OdxListElement = __decorateClass$w([
1136
+ customElement("odx-list", [styles$r])
1137
+ ], OdxListElement);
1138
+
1139
+ const styles$q = ":host{--_overlay-fill-color: var(--odx-color-fill-overlay, transparent);display:contents}:host::part(overlay){display:flex;flex-direction:column;place-content:center;place-items:center;position:absolute;inset:0;pointer-events:none;opacity:0;visibility:hidden;transition:var(--odx-transition-base) allow-discrete;overflow:hidden}:host::part(content){min-inline-size:var(--odx-size-225);text-align:center}:host([loading])::part(overlay){background-color:var(--_overlay-fill-color);z-index:9999;opacity:1;backdrop-filter:blur(var(--odx-elevation-blur)) grayscale(.8);pointer-events:all;visibility:visible}";
1140
+
1141
+ var __defProp$j = Object.defineProperty;
1142
+ var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
1143
+ var __typeError$d = (msg) => {
1144
+ throw TypeError(msg);
1145
+ };
1146
+ var __decorateClass$v = (decorators, target, key, kind) => {
1147
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
1148
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1149
+ if (decorator = decorators[i])
1150
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1151
+ if (kind && result) __defProp$j(target, key, result);
1152
+ return result;
1153
+ };
1154
+ var __accessCheck$d = (obj, member, msg) => member.has(obj) || __typeError$d("Cannot " + msg);
1155
+ var __privateGet$a = (obj, member, getter) => (__accessCheck$d(obj, member, "read from private field"), member.get(obj));
1156
+ var __privateAdd$d = (obj, member, value) => member.has(obj) ? __typeError$d("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
1157
+ var __privateSet$1 = (obj, member, value, setter) => (__accessCheck$d(obj, member, "write to private field"), member.set(obj, value), value);
1158
+ var _loadingContainerPosition;
1159
+ const LOADING_OVERLAY_HOST_DIRECTIVE = "odx-loading-overlay-host";
1160
+ let OdxLoadingOverlayElement = class extends WithLoadingState(CustomElement) {
1161
+ constructor() {
1162
+ super(...arguments);
1163
+ __privateAdd$d(this, _loadingContainerPosition, "");
1164
+ }
1165
+ get loadingContainer() {
1166
+ return this.parentElement ?? this;
1167
+ }
1168
+ disconnectedCallback() {
1169
+ super.disconnectedCallback?.();
1170
+ this.hideOverlay();
1171
+ }
1172
+ async updated(props) {
1173
+ if (props.has("loading")) {
1174
+ if (this.loading) {
1175
+ this.showOverlay();
1176
+ } else {
1177
+ await waitForAnimations(this.overlay);
1178
+ this.hideOverlay();
1179
+ }
1180
+ }
1181
+ }
1182
+ render() {
1183
+ return html`
1184
+ <div part="overlay">
1185
+ <div part="content">
1186
+ <slot ${emptySlotFallbackFix()}>
1187
+ <odx-loading-indicator></odx-loading-indicator>
1188
+ </slot>
1189
+ </div>
1190
+ </div>
1191
+ `;
1192
+ }
1193
+ showOverlay() {
1194
+ this.loadingContainer.toggleAttribute(LOADING_OVERLAY_HOST_DIRECTIVE, true);
1195
+ __privateSet$1(this, _loadingContainerPosition, window.getComputedStyle(this.loadingContainer).position);
1196
+ if (__privateGet$a(this, _loadingContainerPosition) !== "static") return;
1197
+ this.loadingContainer.style.position = "relative";
1198
+ }
1199
+ hideOverlay() {
1200
+ this.loadingContainer.toggleAttribute(LOADING_OVERLAY_HOST_DIRECTIVE, false);
1201
+ if (__privateGet$a(this, _loadingContainerPosition) !== "static") return;
1202
+ this.loadingContainer.style.position = "";
1203
+ }
1204
+ };
1205
+ _loadingContainerPosition = new WeakMap();
1206
+ __decorateClass$v([
1207
+ query('[part="overlay"]', true)
1208
+ ], OdxLoadingOverlayElement.prototype, "overlay", 2);
1209
+ OdxLoadingOverlayElement = __decorateClass$v([
1210
+ customElement("odx-loading-overlay", [styles$q])
1211
+ ], OdxLoadingOverlayElement);
1212
+
1213
+ var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
1214
+ var __typeError$c = (msg) => {
1215
+ throw TypeError(msg);
1216
+ };
1217
+ var __decorateClass$u = (decorators, target, key, kind) => {
1218
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
1219
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1220
+ if (decorator = decorators[i])
1221
+ result = (decorator(result)) || result;
1222
+ return result;
1223
+ };
1224
+ var __accessCheck$c = (obj, member, msg) => member.has(obj) || __typeError$c("Cannot " + msg);
1225
+ var __privateGet$9 = (obj, member, getter) => (__accessCheck$c(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
1226
+ var __privateAdd$c = (obj, member, value) => member.has(obj) ? __typeError$c("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
1227
+ var _handleClick$2;
1228
+ let OdxMainMenuButtonElement = class extends CustomElement {
1229
+ constructor() {
1230
+ super(...arguments);
1231
+ __privateAdd$c(this, _handleClick$2, () => {
1232
+ document.querySelector("odx-main-menu")?.open();
1233
+ });
1234
+ }
1235
+ render() {
1236
+ return html`
1237
+ <odx-button aria-label="Open main menu" variant="ghost" @click=${__privateGet$9(this, _handleClick$2)}>
1238
+ <odx-icon name="menu"></odx-icon>
1239
+ </odx-button>
1240
+ `;
1241
+ }
1242
+ };
1243
+ _handleClick$2 = new WeakMap();
1244
+ OdxMainMenuButtonElement = __decorateClass$u([
1245
+ customElement("odx-main-menu-button", [])
1246
+ ], OdxMainMenuButtonElement);
1247
+
1248
+ const styles$p = ":host{--_color-fill: transparent;--_color-text: inherit;--_color-outline: transparent;user-select:none}:host::part(anchor){display:flex;place-items:center;background-color:var(--_color-fill);color:var(--_color-text);gap:var(--odx-size-50);block-size:var(--odx-size-300);text-decoration:none;padding-inline:var(--odx-size-100);font-weight:var(--odx-font-weight-medium);border-radius:var(--odx-border-radius-sm);outline:var(--odx-outline-focus);outline-offset:var(--odx-outline-offset-focus);outline-color:var(--_color-outline);transition:var(--odx-transition-base)}:host(:hover){--_color-fill: var(--odx-palette-cyan-70)}:host(:is([active],:active)){--_color-fill: var(--odx-color-fill-focus)}:host::part(anchor):focus-visible{--_color-fill: var(--odx-color-fill-focus);--_color-outline: var(--odx-color-outline-focus)}:host([disabled]){--_color-text: var(--odx-color-text-disabled);pointer-events:none}:host(:not(:last-of-type))::part(anchor){margin-block-end:var(--odx-size-100)}";
1249
+
1250
+ var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
1251
+ var __decorateClass$t = (decorators, target, key, kind) => {
1252
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target;
1253
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1254
+ if (decorator = decorators[i])
1255
+ result = (decorator(result)) || result;
1256
+ return result;
1257
+ };
1258
+ let OdxMainMenuLink = class extends BaseLink {
1259
+ };
1260
+ OdxMainMenuLink = __decorateClass$t([
1261
+ customElement("odx-main-menu-link", [styles$p])
1262
+ ], OdxMainMenuLink);
1263
+
1264
+ var __getOwnPropDesc$q = Object.getOwnPropertyDescriptor;
1265
+ var __decorateClass$s = (decorators, target, key, kind) => {
1266
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$q(target, key) : target;
1267
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1268
+ if (decorator = decorators[i])
1269
+ result = (decorator(result)) || result;
1270
+ return result;
1271
+ };
1272
+ let OdxMainMenuSubtitleElement = class extends CustomElement {
1273
+ constructor() {
1274
+ super(...arguments);
1275
+ this.slot = "subtitle";
1276
+ }
1277
+ render() {
1278
+ return html`
1279
+ <odx-text size="md">
1280
+ <slot></slot>
1281
+ </odx-text>
1282
+ `;
1283
+ }
1284
+ };
1285
+ OdxMainMenuSubtitleElement = __decorateClass$s([
1286
+ customElement("odx-main-menu-subtitle")
1287
+ ], OdxMainMenuSubtitleElement);
1288
+
1289
+ var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
1290
+ var __decorateClass$r = (decorators, target, key, kind) => {
1291
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$p(target, key) : target;
1292
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1293
+ if (decorator = decorators[i])
1294
+ result = (decorator(result)) || result;
1295
+ return result;
1296
+ };
1297
+ let OdxMainMenuTitleElement = class extends CustomElement {
1298
+ constructor() {
1299
+ super(...arguments);
1300
+ this.slot = "title";
1301
+ }
1302
+ render() {
1303
+ return html`
1304
+ <odx-title size="md">
1305
+ <slot></slot>
1306
+ </odx-title>
1307
+ `;
1308
+ }
1309
+ };
1310
+ OdxMainMenuTitleElement = __decorateClass$r([
1311
+ customElement("odx-main-menu-title")
1312
+ ], OdxMainMenuTitleElement);
1313
+
1314
+ const styles$o = ":host{--_transition-duration: var(--odx-motion-duration);grid-template-rows:auto 1fr auto auto;block-size:100%;inline-size:var(--odx-main-menu-max-width, min(100dvw, 384px));border:none;background-color:var(--odx-main-menu-color-fill, var(--odx-color-primary));color:var(--odx-main-menu-color-text, var(--odx-color-primary-text));margin:0;padding:0;transform:translate(-100%);box-shadow:var(--odx-shadow-level-2);transition:transform var(--_transition-duration) allow-discrete,overlay var(--_transition-duration) allow-discrete,display var(--_transition-duration) allow-discrete}:host(:popover-open){display:grid;opacity:1;transform:translate(0);@starting-style{opacity:0;transform:translate(-100%)}}:host::backdrop{background-color:var(--odx-color-fill-backdrop);backdrop-filter:blur(0);opacity:0;transition:backdrop-filter var(--_transition-duration),opacity var(--_transition-duration);cursor:default}:host(:popover-open)::backdrop{backdrop-filter:blur(var(--odx-elevation-blur));opacity:1}@starting-style{:host(:popover-open)::backdrop{backdrop-filter:blur(0);opacity:0}}[part~=navigation]{padding:var(--odx-size-75);overflow-y:auto}[part~=header]{padding-inline:var(--odx-size-150);padding-block-start:var(--odx-size-75);padding-block-end:clamp(0px,4dvh - calc(var(--odx-size-75)),var(--odx-size-75))}[part~=link-navigation],[part~=footer]{padding:var(--odx-size-150);padding-block:clamp(var(--odx-size-75),4dvh,var(--odx-size-150))}[part~=link-navigation]{padding-block-end:0;padding-block-start:var(--odx-size-75);column-gap:var(--odx-size-100)}";
1315
+
1316
+ var __defProp$i = Object.defineProperty;
1317
+ var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
1318
+ var __typeError$b = (msg) => {
1319
+ throw TypeError(msg);
1320
+ };
1321
+ var __decorateClass$q = (decorators, target, key, kind) => {
1322
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
1323
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1324
+ if (decorator = decorators[i])
1325
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1326
+ if (kind && result) __defProp$i(target, key, result);
1327
+ return result;
1328
+ };
1329
+ var __accessCheck$b = (obj, member, msg) => member.has(obj) || __typeError$b("Cannot " + msg);
1330
+ var __privateGet$8 = (obj, member, getter) => (__accessCheck$b(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
1331
+ var __privateAdd$b = (obj, member, value) => member.has(obj) ? __typeError$b("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
1332
+ var _focusTrap, _handleSlotChange$2, _handleToggle;
1333
+ const LINK_NAVIGATION_SLOT = "link-navigation";
1334
+ let OdxMainMenuElement = class extends CustomElement {
1335
+ constructor() {
1336
+ super(...arguments);
1337
+ __privateAdd$b(this, _focusTrap, new FocusTrapController(this));
1338
+ __privateAdd$b(this, _handleSlotChange$2, () => {
1339
+ for (const link of this.links) {
1340
+ link.slot = LINK_NAVIGATION_SLOT;
1341
+ }
1342
+ });
1343
+ __privateAdd$b(this, _handleToggle, ({ newState }) => {
1344
+ __privateGet$8(this, _focusTrap).toggle(newState === "open");
1345
+ });
1346
+ }
1347
+ connectedCallback() {
1348
+ super.connectedCallback?.();
1349
+ this.popover = "auto";
1350
+ this.addEventListener("toggle", __privateGet$8(this, _handleToggle));
1351
+ }
1352
+ toggle() {
1353
+ this.togglePopover();
1354
+ }
1355
+ open() {
1356
+ this.showPopover();
1357
+ }
1358
+ close() {
1359
+ this.hidePopover();
1360
+ }
1361
+ render() {
1362
+ return html`
1363
+ <div part="header">
1364
+ <slot name="title"></slot>
1365
+ <slot name="subtitle"></slot>
1366
+ </div>
1367
+ <nav part="navigation">
1368
+ <slot @slotchange=${__privateGet$8(this, _handleSlotChange$2)}></slot>
1369
+ </nav>
1370
+ <odx-stack part="link-navigation" gap="xs" wrap horizontal>
1371
+ <slot name="${LINK_NAVIGATION_SLOT}"></slot>
1372
+ </odx-stack>
1373
+ <div part="footer">
1374
+ <odx-logo size="sm"></odx-logo>
1375
+ </div>
1376
+ `;
1377
+ }
1378
+ };
1379
+ _focusTrap = new WeakMap();
1380
+ _handleSlotChange$2 = new WeakMap();
1381
+ _handleToggle = new WeakMap();
1382
+ __decorateClass$q([
1383
+ queryAssignedElements({ selector: OdxLinkComponent.selector, flatten: true })
1384
+ ], OdxMainMenuElement.prototype, "links", 2);
1385
+ OdxMainMenuElement = __decorateClass$q([
1386
+ customElement("odx-main-menu", [styles$o])
1387
+ ], OdxMainMenuElement);
1388
+
1389
+ const styles$n = ":host{--_color-fill: Var(--odx-color-surface)}.menu-item{display:flex;place-items:center;block-size:var(--odx-size-225);padding-inline:var(--odx-size-100);background-color:var(--_color-fill);outline:var(--odx-outline-focus);outline-offset:var(--odx-outline-offset-focus);transition:var(--odx-motion-duration);transition-property:background-color,outline-color;cursor:pointer;border-radius:var(--odx-border-radius-sm)}:host(:hover){--_color-fill: var(--odx-color-surface-hover)}.menu-item:focus-visible{--_color-fill: var(--odx-color-fill-focus);outline-color:var(--odx-color-outline-focus)}::slotted(odx-icon){margin-inline-end:var(--odx-size-37);margin-inline-start:calc(-1 * var(--odx-size-25))}";
1390
+
1391
+ var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
1392
+ var __decorateClass$p = (decorators, target, key, kind) => {
1393
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$n(target, key) : target;
1394
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1395
+ if (decorator = decorators[i])
1396
+ result = (decorator(result)) || result;
1397
+ return result;
1398
+ };
1399
+ let OdxMenuItemElement = class extends CustomElement {
1400
+ connectedCallback() {
1401
+ super.connectedCallback?.();
1402
+ this.role ||= "menuitem";
1403
+ }
1404
+ render() {
1405
+ return html`
1406
+ <odx-text part="base" class="menu-item" tabindex="0">
1407
+ <slot></slot>
1408
+ </odx-text>
1409
+ `;
1410
+ }
1411
+ };
1412
+ OdxMenuItemElement.shadowRootOptions = {
1413
+ ...CustomElement.shadowRootOptions,
1414
+ delegatesFocus: true
1415
+ };
1416
+ OdxMenuItemElement = __decorateClass$p([
1417
+ customElement("odx-menu-item", [styles$n])
1418
+ ], OdxMenuItemElement);
1419
+
1420
+ const styles$m = ".menu-label{display:flex;place-items:center;block-size:var(--odx-size-225);padding-inline:var(--odx-size-100);user-select:none;border-radius:var(--odx-border-radius-sm);padding-block-start:var(--odx-size-50);padding-block-end:var(--odx-size-25)}:host(:first-child) .menu-label{padding-block-start:calc(var(--odx-size-37) - var(--odx-size-25))}";
1421
+
1422
+ var __getOwnPropDesc$m = Object.getOwnPropertyDescriptor;
1423
+ var __decorateClass$o = (decorators, target, key, kind) => {
1424
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$m(target, key) : target;
1425
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1426
+ if (decorator = decorators[i])
1427
+ result = (decorator(result)) || result;
1428
+ return result;
1429
+ };
1430
+ let OdxMenuLabelElement = class extends CustomElement {
1431
+ render() {
1432
+ return html`
1433
+ <odx-title part="base" class="menu-label" size="xs">
1434
+ <slot></slot>
1435
+ </odx-title>
1436
+ `;
1437
+ }
1438
+ };
1439
+ OdxMenuLabelElement = __decorateClass$o([
1440
+ customElement("odx-menu-label", [styles$m])
1441
+ ], OdxMenuLabelElement);
1442
+
1443
+ const styles$l = "odx-popover{--color-fill: var(--odx-color-surface)}:host{--min-inline-size: 160px;--max-inline-size: 280px}odx-popover{--_outer-padding: var(--odx-size-37)}::slotted(odx-separator){--block-space: var(--odx-size-50)}::slotted(odx-button){width:100%}";
1444
+
1445
+ var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
1446
+ var __typeError$a = (msg) => {
1447
+ throw TypeError(msg);
1448
+ };
1449
+ var __decorateClass$n = (decorators, target, key, kind) => {
1450
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target;
1451
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1452
+ if (decorator = decorators[i])
1453
+ result = (decorator(result)) || result;
1454
+ return result;
1455
+ };
1456
+ var __accessCheck$a = (obj, member, msg) => member.has(obj) || __typeError$a("Cannot " + msg);
1457
+ var __privateGet$7 = (obj, member, getter) => (__accessCheck$a(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
1458
+ var __privateAdd$a = (obj, member, value) => member.has(obj) ? __typeError$a("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
1459
+ var _tabindexController, _handleReferenceInteraction, _handleClick$1, _handleKeyDown, _handleReferenceKeyDown;
1460
+ const MENU_ITEM_ROLES = ["menuitem", "menuitemcheckbox", "menuitemradio"];
1461
+ const MENU_ITEMS_SELECTOR = MENU_ITEM_ROLES.map((role) => `[role="${role}"]`).join(",");
1462
+ let OdxMenuElement = class extends PopoverHost(CustomElement) {
1463
+ constructor() {
1464
+ super(...arguments);
1465
+ __privateAdd$a(this, _tabindexController, new RovingTabindexController(this, {
1466
+ elements: () => this.getItems(),
1467
+ direction: "vertical"
1468
+ }));
1469
+ __privateAdd$a(this, _handleReferenceInteraction, () => {
1470
+ this.togglePopover();
1471
+ });
1472
+ __privateAdd$a(this, _handleClick$1, (event) => {
1473
+ const eventPath = event.composedPath();
1474
+ const closestMenu = eventPath.find((element) => element.localName === this.localName);
1475
+ if (this !== closestMenu) return;
1476
+ const item = eventPath.find((element) => this.isMenuItem(element));
1477
+ if (!item) return;
1478
+ this.emit("select", { detail: { item } });
1479
+ this.hidePopover();
1480
+ });
1481
+ __privateAdd$a(this, _handleKeyDown, (event) => {
1482
+ const { actions } = getKeyboardEventInfo(event);
1483
+ if ((actions.tab || actions.backTab) && this.isPopoverOpen()) {
1484
+ event?.preventDefault();
1485
+ event.stopPropagation();
1486
+ this.hidePopover();
1487
+ return;
1488
+ }
1489
+ if (!actions.enter && !actions.space) return;
1490
+ const [activeItem] = this.getItems().filter((item) => item.tabIndex === 0);
1491
+ if (!activeItem) return;
1492
+ activeItem.click();
1493
+ });
1494
+ __privateAdd$a(this, _handleReferenceKeyDown, (event) => {
1495
+ const { direction } = getKeyboardEventInfo(event);
1496
+ if (!direction.down) return;
1497
+ this.showPopover();
1498
+ });
1499
+ }
1500
+ getItems() {
1501
+ return Array.from(this.querySelectorAll(MENU_ITEMS_SELECTOR));
1502
+ }
1503
+ connectedCallback() {
1504
+ super.connectedCallback?.();
1505
+ this.role ||= "menu";
1506
+ }
1507
+ mountPopover(referenceElement) {
1508
+ super.mountPopover(referenceElement);
1509
+ referenceElement?.addEventListener("click", __privateGet$7(this, _handleReferenceInteraction));
1510
+ referenceElement?.addEventListener("keydown", __privateGet$7(this, _handleReferenceKeyDown));
1511
+ }
1512
+ unmountPopover(referenceElement) {
1513
+ referenceElement.removeEventListener("keydown", __privateGet$7(this, _handleReferenceKeyDown));
1514
+ referenceElement.removeEventListener("click", __privateGet$7(this, _handleReferenceInteraction));
1515
+ super.unmountPopover(referenceElement);
1516
+ }
1517
+ onBeforePopoverShow() {
1518
+ __privateGet$7(this, _tabindexController).currentIndex = 0;
1519
+ __privateGet$7(this, _tabindexController).focus();
1520
+ }
1521
+ onPopoverShow() {
1522
+ this.addEventListener("keydown", __privateGet$7(this, _handleKeyDown));
1523
+ }
1524
+ onBeforePopoverHide() {
1525
+ this.removeEventListener("keydown", __privateGet$7(this, _handleKeyDown));
1526
+ }
1527
+ isMenuItem(element) {
1528
+ return MENU_ITEM_ROLES.includes(element.getAttribute?.("role") ?? "");
1529
+ }
1530
+ render() {
1531
+ return html`
1532
+ <odx-popover>
1533
+ <slot @click=${__privateGet$7(this, _handleClick$1)}></slot>
1534
+ </odx-popover>
1535
+ `;
1536
+ }
1537
+ };
1538
+ _tabindexController = new WeakMap();
1539
+ _handleReferenceInteraction = new WeakMap();
1540
+ _handleClick$1 = new WeakMap();
1541
+ _handleKeyDown = new WeakMap();
1542
+ _handleReferenceKeyDown = new WeakMap();
1543
+ OdxMenuElement = __decorateClass$n([
1544
+ customElement("odx-menu", [styles$l])
1545
+ ], OdxMenuElement);
1546
+
1547
+ const ProgressState = {
1548
+ CONFIRM: "confirm",
1549
+ SUCCESS: "success",
1550
+ ERROR: "error"
1551
+ };
1552
+
1553
+ const styles$k = ":host{--_indicator-color: var(--odx-color-primary);--_track-color: var(--odx-palette-coolgray-10);--_track-size: var(--odx-size-50);--_value-percentage: 0;--_label-width: var(--odx-progress-label-width, 33.3%);--_value-color: var(--odx-color-text-hint);--_value-width: 1.5rem}:host{display:flex;align-items:center;flex-wrap:wrap;gap:var(--odx-size-50);color:var(--_indicator-color);line-height:1rem;padding-inline:var(--odx-size-75);padding-block:var(--odx-size-25)}:host::part(base),:host::part(indicator){inline-size:100%}:host::part(base){block-size:var(--_track-size);background:var(--_track-color);border-radius:var(--odx-border-radius-md);outline:var(--odx-outline-default);outline-offset:var(--odx-outline-offset-default);overflow:hidden;position:relative;inline-size:100%}:host::part(indicator){block-size:100%;background-color:var(--_indicator-color);transform:scaleX(calc(var(--_value-percentage) / 100));transform-origin:0 center;transition:var(--odx-transition-reduced);transition-property:background-color,transform;transform-origin:0% 50%}:host::part(label){text-align:start;overflow-x:clip;text-overflow:ellipsis;white-space:nowrap;max-inline-size:calc(100% - var(--_value-width) - var(--odx-size-75))}:host::part(value){text-align:end;margin-inline-start:auto}:host([condensed]:not([condensed=\"false\"])){padding-block:0;flex-wrap:nowrap}:host([condensed]:not([condensed=\"false\"]))::part(label){inline-size:var(--_label-width)}:host([condensed]:not([condensed=\"false\"]))::part(value){width:var(--_value-width);order:99}:host([state=\"confirm\"]){--_indicator-color: orange;--_value-color: var(--_indicator-color)}:host([state=\"error\"]){--_indicator-color: red;--_value-color: var(--_indicator-color);font-weight:var(--odx-font-weight-medium)}:host([state=\"success\"]){--_indicator-color: green;--_value-color: var(--_indicator-color)}:host([indeterminate]:not([indeterminate=\"false\"]))::part(indicator){animation:indeterminate 1.5s linear infinite}@keyframes indeterminate{0%{transform:translate(0) scaleX(0)}40%{transform:translate(0) scaleX(.4)}to{transform:translate(100%) scaleX(.5)}}";
1554
+
1555
+ var __defProp$h = Object.defineProperty;
1556
+ var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
1557
+ var __decorateClass$m = (decorators, target, key, kind) => {
1558
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
1559
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1560
+ if (decorator = decorators[i])
1561
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1562
+ if (kind && result) __defProp$h(target, key, result);
1563
+ return result;
1564
+ };
1565
+ let OdxProgressBarElement = class extends CustomElement {
1566
+ constructor() {
1567
+ super(...arguments);
1568
+ this.indeterminate = false;
1569
+ this.min = 0;
1570
+ this.max = 100;
1571
+ this.value = 0;
1572
+ this.condensed = false;
1573
+ this.hideValue = false;
1574
+ }
1575
+ get valuePercentage() {
1576
+ return clamp(round(this.value - this.min / this.max - this.min, 2), this.min, this.max);
1577
+ }
1578
+ get valueHidden() {
1579
+ return this.hideValue || !this.valueText && this.indeterminate;
1580
+ }
1581
+ render() {
1582
+ return html`
1583
+ ${when(this.label, (label) => html`<div part="label" aria-hidden="true">${label}</div>`)}
1584
+ ${when(!this.valueHidden, () => html`<odx-text part="value" aria-hidden="true">${this.valuePercentage}%</odx-text>`)}
1585
+ <div
1586
+ part="base"
1587
+ role="progressbar"
1588
+ title=${optionalAttr(this.title)}
1589
+ aria-label=${optionalAttr(this.label)}
1590
+ aria-valuemin="0"
1591
+ aria-valuemax="100"
1592
+ aria-valuenow=${this.indeterminate ? 0 : this.value}
1593
+ style=${styleMap({ "--_value-percentage": this.valuePercentage })}
1594
+ >
1595
+
1596
+ <div part="indicator"></div>
1597
+ </div>
1598
+ `;
1599
+ }
1600
+ };
1601
+ __decorateClass$m([
1602
+ queryAssignedElements()
1603
+ ], OdxProgressBarElement.prototype, "content", 2);
1604
+ __decorateClass$m([
1605
+ property({ type: Boolean, reflect: true })
1606
+ ], OdxProgressBarElement.prototype, "indeterminate", 2);
1607
+ __decorateClass$m([
1608
+ property({ type: Number })
1609
+ ], OdxProgressBarElement.prototype, "min", 2);
1610
+ __decorateClass$m([
1611
+ property({ type: Number })
1612
+ ], OdxProgressBarElement.prototype, "max", 2);
1613
+ __decorateClass$m([
1614
+ property({ type: Number })
1615
+ ], OdxProgressBarElement.prototype, "value", 2);
1616
+ __decorateClass$m([
1617
+ property({ type: Boolean, reflect: true })
1618
+ ], OdxProgressBarElement.prototype, "condensed", 2);
1619
+ __decorateClass$m([
1620
+ property({ reflect: true })
1621
+ ], OdxProgressBarElement.prototype, "state", 2);
1622
+ __decorateClass$m([
1623
+ property({ type: Boolean, reflect: true })
1624
+ ], OdxProgressBarElement.prototype, "hideValue", 2);
1625
+ __decorateClass$m([
1626
+ property()
1627
+ ], OdxProgressBarElement.prototype, "label", 2);
1628
+ __decorateClass$m([
1629
+ property()
1630
+ ], OdxProgressBarElement.prototype, "valueText", 2);
1631
+ OdxProgressBarElement = __decorateClass$m([
1632
+ customElement("odx-progress-bar", [styles$k])
1633
+ ], OdxProgressBarElement);
1634
+
1635
+ const styles$j = ":host{--_indicator-space: calc(var(--odx-size-25) / 2);--_indicator-size: calc(var(--odx-size-150) - var(--_indicator-space) * 2);--_indicator-color-fill: var(--odx-selection-control-color-fill);--_indicator-color-border: var(--odx-selection-control-color-border);--_indicator-border-width: var(--odx-border-width-sm);--_label-color-text: var(--odx-color-text);cursor:pointer;display:inline-flex;margin:var(--odx-size-37) var(--odx-size-75);user-select:none;border-radius:var(--odx-selection-control-border-radius);outline:var(--odx-focus-ring-outline);outline-offset:var(--odx-focus-ring-offset);padding:var(--_indicator-space);transition-property:outline-color}:host,:host::part(indicator),:host::part(content){transition:var(--odx-transition-reduced)}:host::part(indicator){display:flex;place-content:center;place-items:center;block-size:var(--_indicator-size);inline-size:var(--_indicator-size);flex-shrink:0;border-radius:50%;background-color:var(--_indicator-color-fill);border:var(--odx-selection-control-border);border-color:var(--_indicator-color-border);border-width:var(--_indicator-border-width);font-size:var(--odx-font-size-text-lg);transition-property:background-color,border,outline}:host::part(label){display:inline-block}:host::part(content){color:var(--_label-color-text);margin-block:calc(-1 * var(--_indicator-space));transition-property:color}:host(:not(:empty))::part(indicator){margin-inline-end:var(--odx-size-75)}:host(:empty)::part(content){display:none}:host(:hover){--_indicator-color-fill: var(--odx-selection-control-color-fill-hover)}:host(:focus-visible){outline-color:var(--odx-color-focus)}:host(:is(:state(checked),:state(indeterminate))){--_indicator-color-fill: var(--odx-selection-control-color-fill);--_indicator-border-width: var(--odx-size-50)}:host([disabled]:not([disabled=\"false\"])){--_indicator-color-fill: var(--odx-selection-control-color-fill);--_indicator-color-border: var(--odx-selection-control-color-border-disabled);--_label-color-text: var(--odx-color-text-disabled);cursor:default}:host([disabled]:not([disabled=\"false\"]):is(:state(checked),:state(indeterminate))){--_indicator-color-border: var(--odx-selection-control-color-fill-disabled-selected)}:host([readonly]:not([readonly=\"false\"])){--_indicator-color-fill: var(--odx-selection-control-color-fill-readonly);--_indicator-color-border: var(--odx-selection-control-color-border);cursor:default}:host([readonly]:not([readonly=\"false\"]):is(:state(checked),:state(indeterminate))){--_indicator-color-fill: var(--odx-selection-control-color-border);--_indicator-color-border: var(--odx-selection-control-color-border);--_indicator-color-border: var(--odx-selection-control-color-fill);[part=indicator]{outline:var(--odx-outline-sm);outline-color:var(--odx-selection-control-color-border);outline-offset:calc(-1 * var(--odx-outline-width-sm))}}";
1636
+
1637
+ var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
1638
+ var __decorateClass$l = (decorators, target, key, kind) => {
1639
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
1640
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1641
+ if (decorator = decorators[i])
1642
+ result = (decorator(result)) || result;
1643
+ return result;
1644
+ };
1645
+ let OdxRadioButtonElement = class extends CheckboxControl {
1646
+ connectedCallback() {
1647
+ super.connectedCallback?.();
1648
+ this.internals.role = "radio";
1649
+ }
1650
+ render() {
1651
+ return html`
1652
+ <div part="indicator" role="presentation">
1653
+ </div>
1654
+ <div part="content">
1655
+ <div part="label">
1656
+ <slot></slot>
1657
+ </div>
1658
+ <div part="description">
1659
+ <slot name="description"></slot>
1660
+ </div>
1661
+ </div>
1662
+ `;
1663
+ }
1664
+ toggle(state, emitEvent = false) {
1665
+ super.toggle(state ?? true, emitEvent);
1666
+ }
1667
+ };
1668
+ OdxRadioButtonElement = __decorateClass$l([
1669
+ customElement("odx-radio-button", [styles$j])
1670
+ ], OdxRadioButtonElement);
1671
+
1672
+ const RadioGroupVariant = {
1673
+ LIST: "list"
1674
+ };
1675
+
1676
+ var __defProp$g = Object.defineProperty;
1677
+ var __decorateClass$k = (decorators, target, key, kind) => {
1678
+ var result = void 0 ;
1679
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1680
+ if (decorator = decorators[i])
1681
+ result = (decorator(target, key, result) ) || result;
1682
+ if (result) __defProp$g(target, key, result);
1683
+ return result;
1684
+ };
1685
+ class RadioGroupControl extends FormControl(CustomElement) {
1686
+ static {
1687
+ this.shadowRootOptions = {
1688
+ ...CustomElement.shadowRootOptions,
1689
+ delegatesFocus: true
1690
+ };
1691
+ }
1692
+ constructor() {
1693
+ super();
1694
+ this.addEventListener("change", this.#handleChange);
1695
+ new RovingTabindexController(this, {
1696
+ elements: () => this.getControls(),
1697
+ elementEnterAction: (element) => element.click(),
1698
+ direction: "both"
1699
+ });
1700
+ }
1701
+ getControls() {
1702
+ return this.elements.filter((element) => this.isControl(element));
1703
+ }
1704
+ connectedCallback() {
1705
+ super.connectedCallback?.();
1706
+ this.internals.role = "radiogroup";
1707
+ this.addEventListener("change", this.#handleChange, { capture: true });
1708
+ }
1709
+ isControl(element) {
1710
+ return element instanceof CheckboxControl;
1711
+ }
1712
+ update(changes) {
1713
+ super.update?.(changes);
1714
+ if (changes.has("value")) {
1715
+ this.updateCheckboxControls((control) => {
1716
+ control.checked = this.value.includes(control.value);
1717
+ });
1718
+ }
1719
+ if (changes.has("name")) {
1720
+ this.updateCheckboxControls((control) => {
1721
+ control.name = this.name;
1722
+ });
1723
+ }
1724
+ if (changes.has("disabled")) {
1725
+ this.updateCheckboxControls((control) => {
1726
+ control.disabled = this.disabled;
1727
+ });
1728
+ }
1729
+ if (changes.has("readonly")) {
1730
+ this.updateCheckboxControls((control) => {
1731
+ control.readonly = this.readonly;
1732
+ });
1733
+ }
1734
+ if (changes.has("required") || changes.has("value")) {
1735
+ const [firstControl] = this.getControls();
1736
+ if (!firstControl) return;
1737
+ this.setValidity({ valueMissing: this.required && this.value.length === 0 }, firstControl);
1738
+ }
1739
+ }
1740
+ async updateCheckboxControls(updateFn) {
1741
+ await 0;
1742
+ this.getControls().forEach(updateFn);
1743
+ }
1744
+ #handleChange = ({ target }) => {
1745
+ if (!this.isControl(target) || this.value === target.value) return;
1746
+ this.value = target.value;
1747
+ };
1748
+ }
1749
+ __decorateClass$k([
1750
+ queryAssignedElements({ flatten: true })
1751
+ ], RadioGroupControl.prototype, "elements");
1752
+
1753
+ const styles$i = ":host{display:flex;flex-direction:column}::slotted(:is(odx-radio-button,odx-switch)){border-block-end:0;border-color:transparent;width:max-content}:host([variant=\"list\"]) ::slotted(:is(odx-radio-button,odx-switch)){border-block-end:var(--odx-border-sm);border-color:var(--odx-color-fill-disabled);padding:var(--odx-size-75);margin:0;width:auto;border-radius:0;outline-offset:0}:host([variant=\"list\"]) ::slotted(:is(odx-radio-button,odx-switch):last-of-type){border-block-end:none}";
1754
+
1755
+ var __defProp$f = Object.defineProperty;
1756
+ var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
1757
+ var __decorateClass$j = (decorators, target, key, kind) => {
1758
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
1759
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1760
+ if (decorator = decorators[i])
1761
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1762
+ if (kind && result) __defProp$f(target, key, result);
1763
+ return result;
1764
+ };
1765
+ let OdxRadioGroupElement = class extends RadioGroupControl {
1766
+ render() {
1767
+ return html`<slot></slot>`;
1768
+ }
1769
+ };
1770
+ __decorateClass$j([
1771
+ property({ reflect: true })
1772
+ ], OdxRadioGroupElement.prototype, "variant", 2);
1773
+ OdxRadioGroupElement = __decorateClass$j([
1774
+ customElement("odx-radio-group", [styles$i])
1775
+ ], OdxRadioGroupElement);
1776
+
1777
+ const styles$h = ":host{display:inline-flex;place-items:center;padding:var(--odx-size-37) var(--odx-size-75);cursor:pointer;gap:var(--odx-size-75);border-radius:var(--odx-border-radius-sm);transition:var(--odx-transition-reduced);outline:var(--odx-outline-focus);outline-offset:var(--odx-outline-offset-focus);transition-property:background-color,color,outline-color;user-select:none}:host(:hover){background-color:var(--odx-color-surface-lowered)}:host([aria-selected=\"true\"]){background-color:var(--odx-color-surface-raised)}slot[name=_checkbox]::slotted(odx-checkbox){margin:0;pointer-events:none}";
1778
+
1779
+ var __defProp$e = Object.defineProperty;
1780
+ var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
1781
+ var __typeError$9 = (msg) => {
1782
+ throw TypeError(msg);
1783
+ };
1784
+ var __decorateClass$i = (decorators, target, key, kind) => {
1785
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
1786
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1787
+ if (decorator = decorators[i])
1788
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1789
+ if (kind && result) __defProp$e(target, key, result);
1790
+ return result;
1791
+ };
1792
+ var __accessCheck$9 = (obj, member, msg) => member.has(obj) || __typeError$9("Cannot " + msg);
1793
+ var __privateAdd$9 = (obj, member, value) => member.has(obj) ? __typeError$9("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
1794
+ var __privateMethod$6 = (obj, member, method) => (__accessCheck$9(obj, member, "access private method"), method);
1795
+ var _OdxOptionElement_instances, getCheckboxControl_fn, handleCheckboxSlotChange_fn;
1796
+ let OdxOptionElement = class extends CanBeDisabled(CustomElement) {
1797
+ constructor() {
1798
+ super(...arguments);
1799
+ __privateAdd$9(this, _OdxOptionElement_instances);
1800
+ this.selected = false;
1801
+ this.value = "";
1802
+ }
1803
+ getTextLabel() {
1804
+ return this.textContent?.trim() ?? "";
1805
+ }
1806
+ render() {
1807
+ return html`
1808
+ <slot name="_checkbox" @slotchange=${__privateMethod$6(this, _OdxOptionElement_instances, handleCheckboxSlotChange_fn)}></slot>
1809
+ <slot name="start"></slot>
1810
+ <slot></slot>
1811
+ <slot name="end"></slot>
1812
+ `;
1813
+ }
1814
+ willUpdate(changes) {
1815
+ if (changes.has("selected")) {
1816
+ this.ariaSelected = toAriaBooleanAttribute(this.selected);
1817
+ __privateMethod$6(this, _OdxOptionElement_instances, getCheckboxControl_fn).call(this)?.toggle(this.selected);
1818
+ }
1819
+ }
1820
+ };
1821
+ _OdxOptionElement_instances = new WeakSet();
1822
+ getCheckboxControl_fn = function() {
1823
+ return this.checkboxSlot?.assignedElements().find((element) => element instanceof CheckboxControl);
1824
+ };
1825
+ handleCheckboxSlotChange_fn = function() {
1826
+ const checkboxControl = __privateMethod$6(this, _OdxOptionElement_instances, getCheckboxControl_fn).call(this);
1827
+ if (!checkboxControl) return;
1828
+ checkboxControl.inert = true;
1829
+ checkboxControl.tabIndex = -1;
1830
+ };
1831
+ __decorateClass$i([
1832
+ query('slot[name="_checkbox"]')
1833
+ ], OdxOptionElement.prototype, "checkboxSlot", 2);
1834
+ __decorateClass$i([
1835
+ property({ type: Boolean, attribute: false })
1836
+ ], OdxOptionElement.prototype, "selected", 2);
1837
+ __decorateClass$i([
1838
+ property()
1839
+ ], OdxOptionElement.prototype, "value", 2);
1840
+ OdxOptionElement = __decorateClass$i([
1841
+ customElement("odx-option", [styles$h])
1842
+ ], OdxOptionElement);
1843
+
1844
+ var __defProp$d = Object.defineProperty;
1845
+ var __decorateClass$h = (decorators, target, key, kind) => {
1846
+ var result = void 0 ;
1847
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1848
+ if (decorator = decorators[i])
1849
+ result = (decorator(target, key, result) ) || result;
1850
+ if (result) __defProp$d(target, key, result);
1851
+ return result;
1852
+ };
1853
+ class SelectControl extends FormControl(CustomElement) {
1854
+ constructor() {
1855
+ super(...arguments);
1856
+ this.#selectedOptions = /* @__PURE__ */ new Map();
1857
+ this.multiple = false;
1858
+ this.value = "";
1859
+ }
1860
+ #selectedOptions;
1861
+ get selectedOptions() {
1862
+ return this.#selectedOptions.values();
1863
+ }
1864
+ toggle(option) {
1865
+ if (this.multiple) {
1866
+ const value = typeof this.value === "string" ? [this.value] : this.value;
1867
+ this.value = option.selected ? value.filter((value2) => value2 !== option.value) : [...value, option.value];
1868
+ } else {
1869
+ this.value = option.value;
1870
+ }
1871
+ }
1872
+ willUpdate(changes) {
1873
+ super.willUpdate?.(changes);
1874
+ if (changes.has("value")) {
1875
+ this.updateSelection();
1876
+ }
1877
+ if (changes.has("required") || changes.has("value")) {
1878
+ const [selectedOption] = this.#selectedOptions.values();
1879
+ if (!selectedOption?.selected) return;
1880
+ this.setValidity({ valueMissing: this.required && this.value.length === 0 }, selectedOption);
1881
+ }
1882
+ }
1883
+ async updateSelection() {
1884
+ if (this.disabled) return;
1885
+ await 0;
1886
+ for (const option of this.options ?? []) {
1887
+ if (option.disabled) continue;
1888
+ option.selected = this.multiple ? this.value.includes(option.value) : this.value === option.value;
1889
+ if (option.selected) {
1890
+ this.#selectedOptions.set(option.value, option);
1891
+ } else {
1892
+ this.#selectedOptions.delete(option.value);
1893
+ }
1894
+ }
1895
+ this.requestUpdate();
1896
+ }
1897
+ }
1898
+ __decorateClass$h([
1899
+ queryAssignedElements({ selector: OdxOptionElement.selector, flatten: true })
1900
+ ], SelectControl.prototype, "options");
1901
+ __decorateClass$h([
1902
+ property({ type: Boolean, reflect: true })
1903
+ ], SelectControl.prototype, "multiple");
1904
+ __decorateClass$h([
1905
+ property()
1906
+ ], SelectControl.prototype, "value");
1907
+
1908
+ const styles$g = ":host{display:block}[part=trigger]{display:flex;cursor:pointer;text-align:left;padding:var(--odx-size-37) var(--odx-size-75);min-width:200px;outline:var(--odx-outline-input);outline-offset:var(--odx-outline-offset-input);outline-color:var(--odx-color-outline-control);border-radius:var(--odx-border-radius-sm);min-block-size:var(--odx-size-225);transition:var(--odx-transition-reduced);transition-property:background-color,outline-color;gap:var(--odx-size-37)}[part=trigger]:focus-visible{background-color:var(--odx-color-fill-focus);outline-color:var(--odx-color-outline-focus)}[part=indicator]{font-size:var(--odx-size-150);margin-left:auto}[part=trigger] odx-chip{--_border-radius: var(--odx-border-radius-sm)}";
1909
+
1910
+ var __defProp$c = Object.defineProperty;
1911
+ var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
1912
+ var __typeError$8 = (msg) => {
1913
+ throw TypeError(msg);
1914
+ };
1915
+ var __decorateClass$g = (decorators, target, key, kind) => {
1916
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
1917
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1918
+ if (decorator = decorators[i])
1919
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1920
+ if (kind && result) __defProp$c(target, key, result);
1921
+ return result;
1922
+ };
1923
+ var __accessCheck$8 = (obj, member, msg) => member.has(obj) || __typeError$8("Cannot " + msg);
1924
+ var __privateGet$6 = (obj, member, getter) => (__accessCheck$8(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
1925
+ var __privateAdd$8 = (obj, member, value) => member.has(obj) ? __typeError$8("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
1926
+ var _removeChip, _handleDropdownClick;
1927
+ let OdxSelectElement = class extends SelectControl {
1928
+ constructor() {
1929
+ super(...arguments);
1930
+ __privateAdd$8(this, _removeChip, async (option) => {
1931
+ this.toggle(option);
1932
+ });
1933
+ __privateAdd$8(this, _handleDropdownClick, (event) => {
1934
+ const option = getElementFromEvent(event, (node) => !!this.options?.some((option2) => option2 === node));
1935
+ if (!option) return;
1936
+ event.stopPropagation();
1937
+ if (option.disabled) return;
1938
+ this.toggle(option);
1939
+ if (this.multiple) return;
1940
+ this.dropdownElement.hidePopover();
1941
+ });
1942
+ }
1943
+ render() {
1944
+ return html`
1945
+ <div part="trigger" id="select-trigger" tabindex="0">
1946
+ ${when(
1947
+ Array.from(this.selectedOptions).length,
1948
+ () => this.renderSelectedOptions(),
1949
+ () => html`<slot name="placeholder">Select options</slot>`
1950
+ )}
1951
+ <odx-icon part="indicator" name="chevron-down" set="core"></odx-icon>
1952
+ </div>
1953
+ <odx-dropdown part="dropdown" anchor="select-trigger" ?disabled=${this.disabled} matchReferenceWidth @click=${__privateGet$6(this, _handleDropdownClick)}>
1954
+ <slot></slot>
1955
+ </odx-dropdown>
1956
+ `;
1957
+ }
1958
+ renderSelectedOptions() {
1959
+ const selectedOptions = Array.from(this.selectedOptions);
1960
+ if (this.multiple) {
1961
+ return html`${repeat(
1962
+ selectedOptions,
1963
+ (option) => html`<odx-chip @remove=${() => __privateGet$6(this, _removeChip).call(this, option)} @click=${console.log} interactive removable tabindex="-1">${option.getTextLabel()}</odx-chip>`
1964
+ )}`;
1965
+ }
1966
+ return html`${selectedOptions[0]?.getTextLabel()}`;
1967
+ }
1968
+ };
1969
+ _removeChip = new WeakMap();
1970
+ _handleDropdownClick = new WeakMap();
1971
+ __decorateClass$g([
1972
+ query(OdxDropdownElement.selector, true)
1973
+ ], OdxSelectElement.prototype, "dropdownElement", 2);
1974
+ OdxSelectElement = __decorateClass$g([
1975
+ customElement("odx-select", [styles$g])
1976
+ ], OdxSelectElement);
1977
+
1978
+ const styles$f = "@keyframes odx-skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}:host{--_color-fill: var(--odx-color-fill-control-disabled);display:block;background:var(--_color-fill);block-size:var(--odx-size-150);inline-size:100%;&:after{content:\"\";display:block;block-size:100%;inline-size:100%;background:linear-gradient(90deg,transparent 33%,white 66%,transparent 75%);background-size:200% 100%;animation:odx-skeleton-loading 5s infinite linear;opacity:.25}}:host([rounded]:not([rounded=\"false\"])){border-radius:var(--odx-border-radius-md)}";
1979
+
1980
+ var __defProp$b = Object.defineProperty;
1981
+ var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
1982
+ var __decorateClass$f = (decorators, target, key, kind) => {
1983
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
1984
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1985
+ if (decorator = decorators[i])
1986
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1987
+ if (kind && result) __defProp$b(target, key, result);
1988
+ return result;
1989
+ };
1990
+ let OdxSkeletonElement = class extends CustomElement {
1991
+ constructor() {
1992
+ super(...arguments);
1993
+ this.rounded = false;
1994
+ }
1995
+ render() {
1996
+ return html``;
1997
+ }
1998
+ };
1999
+ __decorateClass$f([
2000
+ property({ type: Boolean, reflect: true })
2001
+ ], OdxSkeletonElement.prototype, "rounded", 2);
2002
+ OdxSkeletonElement = __decorateClass$f([
2003
+ customElement("odx-skeleton", [styles$f])
2004
+ ], OdxSkeletonElement);
2005
+
2006
+ const SliderLabelVisibility = {
2007
+ AUTO: "auto",
2008
+ HIDDEN: "hidden"
2009
+ };
2010
+
2011
+ const SliderTrackVisibility = {
2012
+ AUTO: "auto",
2013
+ HIDDEN: "hidden",
2014
+ VISIBLE: "visible"
2015
+ };
2016
+
2017
+ const sliderContext = {
2018
+ context: createContext("odx-slider::context"),
2019
+ defaultValue: { step: 1, min: 0, max: 100, minRange: 0, maxRange: 0, range: 100, labelVisibility: SliderLabelVisibility.AUTO, unit: "" }
2020
+ };
2021
+
2022
+ const styles$e = "*{margin:0;padding:0;box-sizing:border-box}:host{--_thumb-color: var(--_track-color);--_thumb-size: var(--odx-size-150);--_previous-position: 0%;--_position: 0%;--_next-position: 0%;display:contents}:host::part(track),:host::part(thumb),:host::part(label){position:absolute}:host::part(track),:host::part(label){pointer-events:none}:host::part(thumb),:host::part(label){background-color:var(--_thumb-color);inset-inline-start:var(--_position)}:host::part(track){background-color:var(--_track-color);border-radius:var(--_track-size);inset:0 calc(100% - var(--_position)) 0 var(--_previous-position);z-index:var(--_layer-background)}:host::part(thumb){display:flex;place-content:center;place-items:center;border-radius:50%;block-size:var(--_thumb-size);inline-size:var(--_thumb-size);inset-block-start:50%;cursor:grab;transform:translate(-50%,-50%);z-index:var(--_layer-interactive);box-shadow:var(--odx-shadow-level-0);outline:0 solid var(--odx-palette-cyan-50-15)}:host::part(label){inset-block-end:100%;transform:translate(-50%) translateY(calc(-1 * var(--odx-size-75))) scale(0);opacity:0;border-radius:var(--odx-border-radius-sm);color:var(--odx-color-primary-text);padding-inline:var(--odx-size-50);line-height:var(--odx-size-150);z-index:var(--_layer-foreground)}:host::part(with-motion){transition:var(--odx-transition-reduced)}:host([odx-drag-active])::part(with-motion){transition-property:outline}:host::part(thumb):active,:host(:active)::part(thumb){outline-width:var(--odx-size-75)}:host(:hover),:host(:focus-within){--_thumb-color: var(--odx-palette-cyan-50)}:host(:focus-within)::part(label),:host(:hover)::part(label){opacity:1;transform:translate(-50%) translateY(calc(-1 * var(--odx-size-75))) scale(1)}:host([disabled]){pointer-events:none}:host([disabled])::part(thumb){--_thumb-color: var(--odx-color-primary-disabled);z-index:var(--_layer-interactive-disabled)}";
2023
+
2024
+ var __defProp$a = Object.defineProperty;
2025
+ var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
2026
+ var __typeError$7 = (msg) => {
2027
+ throw TypeError(msg);
2028
+ };
2029
+ var __decorateClass$e = (decorators, target, key, kind) => {
2030
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
2031
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2032
+ if (decorator = decorators[i])
2033
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2034
+ if (kind && result) __defProp$a(target, key, result);
2035
+ return result;
2036
+ };
2037
+ var __accessCheck$7 = (obj, member, msg) => member.has(obj) || __typeError$7("Cannot " + msg);
2038
+ var __privateGet$5 = (obj, member, getter) => (__accessCheck$7(obj, member, "read from private field"), member.get(obj));
2039
+ var __privateAdd$7 = (obj, member, value) => member.has(obj) ? __typeError$7("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2040
+ var __privateSet = (obj, member, value, setter) => (__accessCheck$7(obj, member, "write to private field"), member.set(obj, value), value);
2041
+ var __privateMethod$5 = (obj, member, method) => (__accessCheck$7(obj, member, "access private method"), method);
2042
+ var _previousHandle, _nextHandle, _OdxSliderHandleElement_instances, isLabelVisible_fn, isTrackVisible_fn, findClosestValue_fn, updatePosition_fn, getValueFromPosition_fn, calculateValue_fn, limitValue_fn, findPreviousHandle_fn, findNextHandle_fn;
2043
+ let OdxSliderHandleElement = class extends IsDraggable(NumberControl(CustomElement)) {
2044
+ constructor() {
2045
+ super(...arguments);
2046
+ __privateAdd$7(this, _OdxSliderHandleElement_instances);
2047
+ this.context = sliderContext.defaultValue;
2048
+ __privateAdd$7(this, _previousHandle, null);
2049
+ __privateAdd$7(this, _nextHandle, null);
2050
+ }
2051
+ get minRange() {
2052
+ return Math.ceil(this.context.minRange / this.context.step) * this.context.step;
2053
+ }
2054
+ connectedCallback() {
2055
+ super.connectedCallback?.();
2056
+ this.role = "slider";
2057
+ this.slot = "thumbs";
2058
+ this.tabIndex = 0;
2059
+ }
2060
+ beforeDragStart(event) {
2061
+ super.beforeDragStart?.(event);
2062
+ __privateGet$5(this, _nextHandle)?.toggleAttribute(IS_DRAG_ACTIVE_ATTRIBUTE, true);
2063
+ this.value = __privateMethod$5(this, _OdxSliderHandleElement_instances, findClosestValue_fn).call(this, __privateMethod$5(this, _OdxSliderHandleElement_instances, getValueFromPosition_fn).call(this, event.position));
2064
+ this.focus();
2065
+ }
2066
+ dragStart(event) {
2067
+ super.dragStart?.(event);
2068
+ __privateMethod$5(this, _OdxSliderHandleElement_instances, updatePosition_fn).call(this, __privateMethod$5(this, _OdxSliderHandleElement_instances, getValueFromPosition_fn).call(this, event.position));
2069
+ }
2070
+ dragMove(event) {
2071
+ super.dragMove?.(event);
2072
+ const value = __privateMethod$5(this, _OdxSliderHandleElement_instances, getValueFromPosition_fn).call(this, event.position);
2073
+ const closestValue = __privateMethod$5(this, _OdxSliderHandleElement_instances, findClosestValue_fn).call(this, value);
2074
+ if (this.value !== closestValue) {
2075
+ this.value = closestValue;
2076
+ }
2077
+ __privateMethod$5(this, _OdxSliderHandleElement_instances, updatePosition_fn).call(this, value);
2078
+ }
2079
+ afterDragEnd(event) {
2080
+ super.afterDragEnd?.(event);
2081
+ __privateGet$5(this, _nextHandle)?.toggleAttribute(IS_DRAG_ACTIVE_ATTRIBUTE, false);
2082
+ __privateMethod$5(this, _OdxSliderHandleElement_instances, updatePosition_fn).call(this, __privateMethod$5(this, _OdxSliderHandleElement_instances, findClosestValue_fn).call(this, this.value));
2083
+ }
2084
+ getDistance(containerElement, event) {
2085
+ const rect = containerElement.getBoundingClientRect();
2086
+ const relativePosition = round((event.x - rect.x) / rect.width) * 100;
2087
+ return Math.abs(this.value - __privateMethod$5(this, _OdxSliderHandleElement_instances, calculateValue_fn).call(this, relativePosition));
2088
+ }
2089
+ getValueText() {
2090
+ return this.context.unit ? `${this.value}${this.context.unit}` : super.getValueText();
2091
+ }
2092
+ willUpdate(props) {
2093
+ super.willUpdate(props);
2094
+ if (props.has("value")) {
2095
+ this.value = __privateMethod$5(this, _OdxSliderHandleElement_instances, limitValue_fn).call(this, this.value);
2096
+ this.ariaValueNow = String(this.value);
2097
+ }
2098
+ if (props.has("disabled")) {
2099
+ this.dragDisabled = this.disabled;
2100
+ }
2101
+ }
2102
+ updated(props) {
2103
+ super.updated(props);
2104
+ if (this.isDragActive) return;
2105
+ __privateSet(this, _previousHandle, __privateMethod$5(this, _OdxSliderHandleElement_instances, findPreviousHandle_fn).call(this));
2106
+ __privateSet(this, _nextHandle, __privateMethod$5(this, _OdxSliderHandleElement_instances, findNextHandle_fn).call(this));
2107
+ __privateMethod$5(this, _OdxSliderHandleElement_instances, updatePosition_fn).call(this, __privateMethod$5(this, _OdxSliderHandleElement_instances, findClosestValue_fn).call(this, this.value));
2108
+ }
2109
+ render() {
2110
+ const label = this.getValueText() || this.value;
2111
+ return html`
2112
+ ${when(__privateMethod$5(this, _OdxSliderHandleElement_instances, isTrackVisible_fn).call(this), () => html`<div part="track with-motion"></div>`)}
2113
+ <div part="thumb with-motion" tabindex="0"></div>
2114
+ ${when(__privateMethod$5(this, _OdxSliderHandleElement_instances, isLabelVisible_fn).call(this), () => html`<odx-text part="label with-motion" size="sm">${label}</odx-text>`)}
2115
+ `;
2116
+ }
2117
+ };
2118
+ _previousHandle = new WeakMap();
2119
+ _nextHandle = new WeakMap();
2120
+ _OdxSliderHandleElement_instances = new WeakSet();
2121
+ isLabelVisible_fn = function() {
2122
+ return this.context.labelVisibility !== SliderLabelVisibility.HIDDEN;
2123
+ };
2124
+ isTrackVisible_fn = function() {
2125
+ if (this.trackVisibility === SliderTrackVisibility.VISIBLE) {
2126
+ return true;
2127
+ }
2128
+ if (this.trackVisibility === SliderTrackVisibility.HIDDEN) {
2129
+ return false;
2130
+ }
2131
+ return !!__privateGet$5(this, _previousHandle) || !__privateGet$5(this, _previousHandle) && !__privateGet$5(this, _nextHandle);
2132
+ };
2133
+ findClosestValue_fn = function(value) {
2134
+ const closestValue = value - value % this.context.step;
2135
+ const isNextValue = value - closestValue > this.context.step / 2;
2136
+ return __privateMethod$5(this, _OdxSliderHandleElement_instances, limitValue_fn).call(this, closestValue + (isNextValue ? this.context.step : 0));
2137
+ };
2138
+ updatePosition_fn = function(value) {
2139
+ const valuePercentage = `${round(clamp((value - this.context.min) / this.context.range, 0, 1) * 100, 3)}%`;
2140
+ this.style.setProperty("--_position", valuePercentage);
2141
+ __privateGet$5(this, _nextHandle)?.style.setProperty("--_previous-position", valuePercentage);
2142
+ __privateGet$5(this, _previousHandle)?.style.setProperty("--_next-position", valuePercentage);
2143
+ };
2144
+ getValueFromPosition_fn = function(position) {
2145
+ return __privateMethod$5(this, _OdxSliderHandleElement_instances, limitValue_fn).call(this, __privateMethod$5(this, _OdxSliderHandleElement_instances, calculateValue_fn).call(this, position.x));
2146
+ };
2147
+ calculateValue_fn = function(relativePosition) {
2148
+ return clamp(relativePosition / 100, 0, 1) * this.context.range + this.context.min;
2149
+ };
2150
+ limitValue_fn = function(value) {
2151
+ const startLimit = __privateGet$5(this, _previousHandle) ? Math.max(__privateGet$5(this, _previousHandle).value, this.min - this.minRange) + this.minRange : this.min;
2152
+ const endLimit = __privateGet$5(this, _nextHandle) ? Math.min(__privateGet$5(this, _nextHandle).value, this.max + this.minRange) - this.minRange : this.max;
2153
+ return clamp(value, startLimit, endLimit);
2154
+ };
2155
+ findPreviousHandle_fn = function() {
2156
+ let sibling = this.previousElementSibling;
2157
+ while (sibling) {
2158
+ if (sibling instanceof OdxSliderHandleElement) return sibling;
2159
+ sibling = sibling.previousElementSibling;
2160
+ }
2161
+ return null;
2162
+ };
2163
+ findNextHandle_fn = function() {
2164
+ let sibling = this.nextElementSibling;
2165
+ while (sibling) {
2166
+ if (sibling instanceof OdxSliderHandleElement) return sibling;
2167
+ sibling = sibling.nextElementSibling;
2168
+ }
2169
+ return null;
2170
+ };
2171
+ __decorateClass$e([
2172
+ consume({ context: sliderContext.context, subscribe: true })
2173
+ ], OdxSliderHandleElement.prototype, "context", 2);
2174
+ __decorateClass$e([
2175
+ property()
2176
+ ], OdxSliderHandleElement.prototype, "trackVisibility", 2);
2177
+ OdxSliderHandleElement = __decorateClass$e([
2178
+ customElement("odx-slider-handle", [styles$e])
2179
+ ], OdxSliderHandleElement);
2180
+
2181
+ const styles$d = ":host{--_mark-color: var(--odx-slider-mark-color, var(--odx-palette-coolgray-40));--_mark-tick-block-size: var(--odx-size-75);--_mark-tick-inline-size: 2px;display:flex;align-items:center;flex-direction:row;position:absolute;inset:0;z-index:-1;pointer-events:none}[part~=mark]{flex:1 0 auto;position:relative}[part~=mark][last]{flex:0 0 0}[part~=mark-tick]{display:block;width:2px;inset-inline-end:0;transform:translate(calc(-.5 * var(--_mark-tick-inline-size)));height:var(--_mark-tick-block-size);background-color:var(--_mark-color)}[part~=mark][last] [part~=mark-tick]{transform:none}[part~=mark-label]{text-align:center;transform:translate(-50%) translateY(var(--odx-size-100));position:absolute;inset-block-start:0;line-height:inherit}[part~=mark]:not(:last-of-type){border-inline-end-color:var(--_mark-color)}[part~=mark]:hover{color:var(--odx-color-text-hint)}[part~=mark][active]:not([active=false]){border-inline-end-color:red}";
2182
+
2183
+ var __defProp$9 = Object.defineProperty;
2184
+ var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
2185
+ var __decorateClass$d = (decorators, target, key, kind) => {
2186
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
2187
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2188
+ if (decorator = decorators[i])
2189
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2190
+ if (kind && result) __defProp$9(target, key, result);
2191
+ return result;
2192
+ };
2193
+ let OdxSliderMarksElement = class extends CustomElement {
2194
+ constructor() {
2195
+ super(...arguments);
2196
+ this.context = sliderContext.defaultValue;
2197
+ this.showLabels = false;
2198
+ }
2199
+ async connectedCallback() {
2200
+ super.connectedCallback?.();
2201
+ this.slot = "marks";
2202
+ }
2203
+ render() {
2204
+ const step = this.step ?? this.context.step;
2205
+ const markCount = Math.floor(this.context.range / step);
2206
+ const marks = new Array(markCount).fill(null).map((_, index) => step * index + this.context.min);
2207
+ return html`
2208
+ ${repeat(marks, (value) => this.renderMark(value))}
2209
+ ${this.renderMark(this.context.max, true)}
2210
+ `;
2211
+ }
2212
+ renderMark(value, last = false) {
2213
+ const label = this.showLabels ? html`<odx-text part="mark-label" size="xs" highlight>${value}</odx-text>` : nothing;
2214
+ return html`
2215
+ <div part="mark" ?last=${last}>
2216
+ <span part="mark-tick"></span>
2217
+ ${label}
2218
+ </div>
2219
+ `;
2220
+ }
2221
+ };
2222
+ __decorateClass$d([
2223
+ consume({ context: sliderContext.context, subscribe: true })
2224
+ ], OdxSliderMarksElement.prototype, "context", 2);
2225
+ __decorateClass$d([
2226
+ property({ type: Number })
2227
+ ], OdxSliderMarksElement.prototype, "step", 2);
2228
+ __decorateClass$d([
2229
+ property({ type: Boolean, reflect: true })
2230
+ ], OdxSliderMarksElement.prototype, "showLabels", 2);
2231
+ OdxSliderMarksElement = __decorateClass$d([
2232
+ customElement("odx-slider-marks", [styles$d])
2233
+ ], OdxSliderMarksElement);
2234
+
2235
+ const styles$c = ":host{--_track-size: var(--odx-size-25);--_track-color: var(--odx-slider-track-color, var(--odx-color-primary));--_layer-background: 0;--_layer-interactive-disabled: 1;--_layer-interactive: 2;--_layer-foreground: 3;display:flex;flex-direction:column;place-content:center;min-height:var(--odx-size-300);padding-block-start:var(--odx-size-75);padding-block-end:var(--odx-size-50);padding-inline:var(--odx-size-75);cursor:pointer}:host(:active){cursor:grabbing}:host::part(container){block-size:var(--_track-size);position:relative;background-color:var(--odx-palette-coolgray-40);border-radius:var(--odx-border-radius-sm)}";
2236
+
2237
+ var __defProp$8 = Object.defineProperty;
2238
+ var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
2239
+ var __typeError$6 = (msg) => {
2240
+ throw TypeError(msg);
2241
+ };
2242
+ var __decorateClass$c = (decorators, target, key, kind) => {
2243
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
2244
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2245
+ if (decorator = decorators[i])
2246
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2247
+ if (kind && result) __defProp$8(target, key, result);
2248
+ return result;
2249
+ };
2250
+ var __accessCheck$6 = (obj, member, msg) => member.has(obj) || __typeError$6("Cannot " + msg);
2251
+ var __privateGet$4 = (obj, member, getter) => (__accessCheck$6(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
2252
+ var __privateAdd$6 = (obj, member, value) => member.has(obj) ? __typeError$6("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2253
+ var _handleKeyboardEvent, _handleSlotChange$1;
2254
+ let OdxSliderElement = class extends CustomElement {
2255
+ constructor() {
2256
+ super();
2257
+ this.dragController = new DragController(this, {
2258
+ getDraggableElements: () => Array.from(this.querySelectorAll(OdxSliderHandleElement.selector)),
2259
+ getContainer: () => this.container
2260
+ });
2261
+ this.context = sliderContext.defaultValue;
2262
+ __privateAdd$6(this, _handleKeyboardEvent, (event) => {
2263
+ const { actions, direction } = getKeyboardEventInfo(event);
2264
+ const target = event.target;
2265
+ if (target.localName !== OdxSliderHandleElement.selector || actions.tab || actions.backTab || target.disabled) return;
2266
+ event.preventDefault();
2267
+ event.stopPropagation();
2268
+ if (direction.left || direction.down) {
2269
+ target.value -= this.step;
2270
+ } else if (direction.right || direction.up) {
2271
+ target.value += this.step;
2272
+ } else if (actions.start) {
2273
+ target.value = this.context.min;
2274
+ } else if (actions.end) {
2275
+ target.value = this.context.max;
2276
+ }
2277
+ });
2278
+ __privateAdd$6(this, _handleSlotChange$1, async () => {
2279
+ const elements = this.dragController.draggableElements;
2280
+ const min = minBy(elements, (elment) => elment.min)?.min ?? 0;
2281
+ const max = maxBy(elements, (element) => element.max)?.max ?? 1;
2282
+ this.context = { ...this.context, min, max, range: Math.abs(max - min) };
2283
+ });
2284
+ if (!isServer) {
2285
+ this.addEventListener("keydown", __privateGet$4(this, _handleKeyboardEvent));
2286
+ }
2287
+ }
2288
+ set step(value) {
2289
+ this.context = { ...this.context, step: Math.max(1, value) };
2290
+ }
2291
+ get step() {
2292
+ return this.context.step;
2293
+ }
2294
+ set minRange(value) {
2295
+ this.context = { ...this.context, minRange: Math.max(0, value) };
2296
+ }
2297
+ get minRange() {
2298
+ return this.context.minRange;
2299
+ }
2300
+ set labelVisibility(value) {
2301
+ this.context = { ...this.context, labelVisibility: value };
2302
+ }
2303
+ get labelVisibility() {
2304
+ return this.context.labelVisibility;
2305
+ }
2306
+ set unit(value) {
2307
+ this.context = { ...this.context, unit: value.trim() };
2308
+ }
2309
+ get unit() {
2310
+ return this.context.unit;
2311
+ }
2312
+ render() {
2313
+ return html`
2314
+ <div part="container" role="presentation">
2315
+ <slot name="thumbs" @slotchange=${__privateGet$4(this, _handleSlotChange$1)}></slot>
2316
+ <slot name="marks"></slot>
2317
+ </div>
2318
+ `;
2319
+ }
2320
+ };
2321
+ _handleKeyboardEvent = new WeakMap();
2322
+ _handleSlotChange$1 = new WeakMap();
2323
+ __decorateClass$c([
2324
+ provide({ context: sliderContext.context })
2325
+ ], OdxSliderElement.prototype, "context", 2);
2326
+ __decorateClass$c([
2327
+ query('[part="container"]', true)
2328
+ ], OdxSliderElement.prototype, "container", 2);
2329
+ __decorateClass$c([
2330
+ property({ type: Number })
2331
+ ], OdxSliderElement.prototype, "step", 1);
2332
+ __decorateClass$c([
2333
+ property({ type: Number })
2334
+ ], OdxSliderElement.prototype, "minRange", 1);
2335
+ __decorateClass$c([
2336
+ property()
2337
+ ], OdxSliderElement.prototype, "labelVisibility", 1);
2338
+ __decorateClass$c([
2339
+ property()
2340
+ ], OdxSliderElement.prototype, "unit", 1);
2341
+ OdxSliderElement = __decorateClass$c([
2342
+ customElement("odx-slider", [styles$c])
2343
+ ], OdxSliderElement);
2344
+
2345
+ const styles$b = ":host{display:grid;width:min-content;grid-template-columns:auto 1fr auto;grid-template-areas:\"decrement input increment\"}[part~=action],::slotted(input){border:var(--odx-border-sm);background-color:var(--odx-color-fill-control);border-color:var(--odx-color-outline-control);outline:var(--odx-outline-focus);outline-offset:var(--odx-outline-offset-focus);block-size:var(--odx-size-225);color:inherit}::slotted(input){grid-area:input;min-width:auto;padding:0 var(--odx-size-75)!important;text-align:center;min-inline-size:var(--odx-size-400);appearance:textfield;font-weight:var(--odx-font-weight-medium)!important;transition:var(--odx-transition-base);transition-property:background-color,outline-color}[part~=action]{display:flex;place-content:center;place-items:center;inline-size:var(--odx-size-225);cursor:pointer;border-radius:var(--odx-border-radius-sm);font-size:var(--odx-font-size-text-md);transition:var(--odx-transition-base)}[part~=action-increment]{grid-area:increment;border-start-start-radius:0;border-end-start-radius:0;border-inline-start:none}[part~=action-decrement]{grid-area:decrement;border-start-end-radius:0;border-end-end-radius:0;border-inline-end:none}[part~=action]:disabled{opacity:.85;cursor:default;color:var(--odx-color-text-disabled)}[part~=action]:focus-visible,::slotted(input:focus-visible){background-color:var(--odx-color-fill-focus);outline-color:var(--odx-color-outline-focus)}:host([compact]:not([compact=\"false\"])){grid-template-columns:1fr auto;grid-template-rows:1fr 1fr;grid-template-areas:\"input increment\" \"input decrement\";[part~=action]{block-size:calc(var(--odx-size-225) / 2);font-size:var(--odx-font-size-text-sm);border-radius:var(--odx-border-radius-sm);border-inline-end:var(--odx-border-sm);border-inline-start:none;border-color:var(--odx-color-outline-control)}[part~=action-increment]{border-block-end:none;border-start-start-radius:0;border-end-start-radius:0;border-end-end-radius:0}[part~=action-decrement]{border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:0}::slotted(input){border-start-start-radius:var(--odx-border-radius-sm);border-end-start-radius:var(--odx-border-radius-sm)}}";
2346
+
2347
+ var __defProp$7 = Object.defineProperty;
2348
+ var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
2349
+ var __typeError$5 = (msg) => {
2350
+ throw TypeError(msg);
2351
+ };
2352
+ var __decorateClass$b = (decorators, target, key, kind) => {
2353
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
2354
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2355
+ if (decorator = decorators[i])
2356
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2357
+ if (kind && result) __defProp$7(target, key, result);
2358
+ return result;
2359
+ };
2360
+ var __accessCheck$5 = (obj, member, msg) => member.has(obj) || __typeError$5("Cannot " + msg);
2361
+ var __privateGet$3 = (obj, member, getter) => (__accessCheck$5(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
2362
+ var __privateAdd$5 = (obj, member, value) => member.has(obj) ? __typeError$5("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2363
+ var _handleSlotChange, _handleInputFocus;
2364
+ let OdxSpinboxElement = class extends CanBeDisabled(CustomElement) {
2365
+ constructor() {
2366
+ super(...arguments);
2367
+ this.compact = false;
2368
+ __privateAdd$5(this, _handleSlotChange, () => {
2369
+ this.inputElement?.removeEventListener("focus", __privateGet$3(this, _handleInputFocus));
2370
+ if (!this.inputElement) return;
2371
+ this.inputElement.type = "number";
2372
+ this.inputElement.value = this.inputElement.value || this.inputElement.min;
2373
+ this.inputElement.addEventListener("focus", __privateGet$3(this, _handleInputFocus));
2374
+ this.requestUpdate();
2375
+ });
2376
+ __privateAdd$5(this, _handleInputFocus, () => {
2377
+ this.inputElement?.select();
2378
+ });
2379
+ }
2380
+ get inputElement() {
2381
+ return this.inputElements[0] ?? null;
2382
+ }
2383
+ connectedCallback() {
2384
+ super.connectedCallback?.();
2385
+ this.role ||= "presentation";
2386
+ }
2387
+ render() {
2388
+ const min = this.inputElement?.min ? Number(this.inputElement.min) : null;
2389
+ const max = this.inputElement?.max ? Number(this.inputElement.max) : null;
2390
+ const value = this.inputElement?.value ? Number(this.inputElement.value) : null;
2391
+ const canStepDown = min === null || value === null || value > min;
2392
+ const canStepUp = max === null || value === null || value < max;
2393
+ if (this.inputElement) {
2394
+ this.inputElement.disabled = this.disabled;
2395
+ }
2396
+ const decrementAction = html`
2397
+ <button part="action action-decrement" @click=${this.stepDown} ?disabled=${this.disabled || !canStepDown}>
2398
+ <odx-icon name="minus"></odx-icon>
2399
+ </button>
2400
+ `;
2401
+ const incrementAction = html`
2402
+ <button part="action action-increment" @click=${this.stepUp} ?disabled=${this.disabled || !canStepUp}>
2403
+ <odx-icon name="plus"></odx-icon>
2404
+ </button>
2405
+ `;
2406
+ const slot = html`<slot @slotchange=${__privateGet$3(this, _handleSlotChange)}></slot>`;
2407
+ if (this.compact) {
2408
+ return html`${slot}${incrementAction}${decrementAction}`;
2409
+ }
2410
+ return html`${decrementAction}${slot}${incrementAction}`;
2411
+ }
2412
+ stepUp() {
2413
+ if (!this.inputElement) return;
2414
+ this.inputElement.stepUp();
2415
+ this.requestUpdate();
2416
+ }
2417
+ stepDown() {
2418
+ if (!this.inputElement) return;
2419
+ this.inputElement.stepDown();
2420
+ this.requestUpdate();
2421
+ }
2422
+ };
2423
+ _handleSlotChange = new WeakMap();
2424
+ _handleInputFocus = new WeakMap();
2425
+ OdxSpinboxElement.shadowRootOptions = {
2426
+ mode: "open",
2427
+ delegatesFocus: true
2428
+ };
2429
+ __decorateClass$b([
2430
+ queryAssignedElements({ selector: "input", flatten: true })
2431
+ ], OdxSpinboxElement.prototype, "inputElements", 2);
2432
+ __decorateClass$b([
2433
+ property({ type: Boolean, reflect: true })
2434
+ ], OdxSpinboxElement.prototype, "compact", 2);
2435
+ OdxSpinboxElement = __decorateClass$b([
2436
+ customElement("odx-spinbox", [styles$b])
2437
+ ], OdxSpinboxElement);
2438
+
2439
+ const styles$a = "*{box-sizing:border-box}:host{--_indicator-spacing: var(--odx-size-25);--_indicator-color-fill: var(--odx-selection-control-color-fill-hover);--_indicator-track-color-fill: var(--odx-selection-control-color-border-disabled);cursor:pointer;display:inline-flex;margin:var(--odx-size-37) var(--odx-size-75);user-select:none;border-radius:var(--odx-selection-control-border-radius);outline:var(--odx-focus-ring-outline);outline-offset:var(--odx-focus-ring-offset);transition-property:background-color outline-color;color:var(--odx-color-text)}:host,:host::part(indicator){transition:var(--odx-transition-reduced)}[part=indicator]{display:flex;place-items:center;block-size:var(--odx-size-150);position:relative}[part=indicator]:before,[part=indicator]:after{content:\"\";display:block;border-radius:var(--odx-size-225);box-sizing:border-box;transition:inherit}[part=indicator]:before{background-color:var(--_indicator-track-color-fill);block-size:var(--odx-size-37);inline-size:var(--odx-size-225);border-radius:var(--odx-border-radius-pill)}[part=indicator]:after{background-color:var(--_indicator-color-fill);block-size:calc(var(--odx-size-150) - var(--odx-size-25));inline-size:calc(var(--odx-size-150) - var(--odx-size-25));border-radius:50%;position:absolute;inset-inline-start:0;box-shadow:var(--odx-shadow-level-0)}:host::part(label){display:inline-block;cursor:inherit}:host::part(content){margin-inline-start:var(--odx-size-75);padding-inline-end:var(--odx-size-25)}:host(:empty)::part(content){display:none}:host(:hover){--_indicator-color-fill: var(--odx-selection-control-color-fill-selected)}:host(:focus-visible){outline-color:var(--odx-color-focus)}:host(:state(checked)){--_indicator-color-fill: var(--odx-selection-control-color-fill-selected);--_indicator-track-color-fill: var(--odx-selection-control-color-fill-selected)}:host(:state(checked)) [part=indicator]:after{transform:translate(var(--odx-size-225)) translate(-100%)}";
2440
+
2441
+ var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
2442
+ var __decorateClass$a = (decorators, target, key, kind) => {
2443
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
2444
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2445
+ if (decorator = decorators[i])
2446
+ result = (decorator(result)) || result;
2447
+ return result;
2448
+ };
2449
+ let OdxSwitchElement = class extends CheckboxControl {
2450
+ render() {
2451
+ return html`
2452
+ <div part="indicator"></div>
2453
+ <div part="content">
2454
+ <div part="label">
2455
+ <slot></slot>
2456
+ </div>
2457
+ <div part="description">
2458
+ <slot name="description"></slot>
2459
+ </div>
2460
+ </div>
2461
+ `;
2462
+ }
2463
+ };
2464
+ OdxSwitchElement = __decorateClass$a([
2465
+ customElement("odx-switch", [styles$a])
2466
+ ], OdxSwitchElement);
2467
+
2468
+ const styles$9 = ":host{display:block;flex-grow:1}";
2469
+
2470
+ var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
2471
+ var __decorateClass$9 = (decorators, target, key, kind) => {
2472
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
2473
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2474
+ if (decorator = decorators[i])
2475
+ result = (decorator(result)) || result;
2476
+ return result;
2477
+ };
2478
+ let OdxTableBodyElement = class extends CustomElement {
2479
+ connectedCallback() {
2480
+ super.connectedCallback?.();
2481
+ this.role = "rowgroup";
2482
+ }
2483
+ render() {
2484
+ return html`<slot></slot>`;
2485
+ }
2486
+ };
2487
+ OdxTableBodyElement = __decorateClass$9([
2488
+ customElement("odx-table-body", [styles$9])
2489
+ ], OdxTableBodyElement);
2490
+
2491
+ const styles$8 = ":host{display:block;block-size:auto;flex:1 1 0%;padding-inline:var(--odx-size-75);line-height:var(--odx-size-300)}";
2492
+
2493
+ var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
2494
+ var __decorateClass$8 = (decorators, target, key, kind) => {
2495
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
2496
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2497
+ if (decorator = decorators[i])
2498
+ result = (decorator(result)) || result;
2499
+ return result;
2500
+ };
2501
+ let OdxTableCellElement = class extends CustomElement {
2502
+ connectedCallback() {
2503
+ super.connectedCallback?.();
2504
+ this.role = "gridcell";
2505
+ }
2506
+ render() {
2507
+ return html`<slot></slot>`;
2508
+ }
2509
+ };
2510
+ OdxTableCellElement = __decorateClass$8([
2511
+ customElement("odx-table-cell", [styles$8])
2512
+ ], OdxTableCellElement);
2513
+
2514
+ const styles$7 = ":host{display:block;block-size:auto;flex:0 0 auto;padding-inline:var(--odx-size-75);line-height:var(--odx-size-300)}.checkbox{padding:var(--odx-size-37)}";
2515
+
2516
+ var __defProp$6 = Object.defineProperty;
2517
+ var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
2518
+ var __typeError$4 = (msg) => {
2519
+ throw TypeError(msg);
2520
+ };
2521
+ var __decorateClass$7 = (decorators, target, key, kind) => {
2522
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
2523
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2524
+ if (decorator = decorators[i])
2525
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2526
+ if (kind && result) __defProp$6(target, key, result);
2527
+ return result;
2528
+ };
2529
+ var __accessCheck$4 = (obj, member, msg) => member.has(obj) || __typeError$4("Cannot " + msg);
2530
+ var __privateAdd$4 = (obj, member, value) => member.has(obj) ? __typeError$4("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2531
+ var __privateMethod$4 = (obj, member, method) => (__accessCheck$4(obj, member, "access private method"), method);
2532
+ var _OdxTableCheckboxCellElement_instances, handleChange_fn$1;
2533
+ let OdxTableCheckboxCellElement = class extends CustomElement {
2534
+ constructor() {
2535
+ super(...arguments);
2536
+ __privateAdd$4(this, _OdxTableCheckboxCellElement_instances);
2537
+ this.checked = false;
2538
+ this.disabled = false;
2539
+ this.indeterminate = false;
2540
+ }
2541
+ connectedCallback() {
2542
+ super.connectedCallback?.();
2543
+ this.role = "gridcell";
2544
+ }
2545
+ click() {
2546
+ this.control.click();
2547
+ }
2548
+ render() {
2549
+ return html`<odx-checkbox class="checkbox" ?checked=${this.checked} ?disabled=${this.disabled} ?indeterminate=${this.indeterminate} @change=${__privateMethod$4(this, _OdxTableCheckboxCellElement_instances, handleChange_fn$1)}></odx-checkbox>`;
2550
+ }
2551
+ };
2552
+ _OdxTableCheckboxCellElement_instances = new WeakSet();
2553
+ handleChange_fn$1 = function(event) {
2554
+ event.preventDefault();
2555
+ event.stopPropagation();
2556
+ this.checked = event.target.checked;
2557
+ this.indeterminate = false;
2558
+ this.emit("change");
2559
+ };
2560
+ __decorateClass$7([
2561
+ query(".checkbox")
2562
+ ], OdxTableCheckboxCellElement.prototype, "control", 2);
2563
+ __decorateClass$7([
2564
+ property({ type: Boolean })
2565
+ ], OdxTableCheckboxCellElement.prototype, "checked", 2);
2566
+ __decorateClass$7([
2567
+ property({ type: Boolean })
2568
+ ], OdxTableCheckboxCellElement.prototype, "disabled", 2);
2569
+ __decorateClass$7([
2570
+ property({ type: Boolean })
2571
+ ], OdxTableCheckboxCellElement.prototype, "indeterminate", 2);
2572
+ OdxTableCheckboxCellElement = __decorateClass$7([
2573
+ customElement("odx-table-checkbox-cell", [styles$7])
2574
+ ], OdxTableCheckboxCellElement);
2575
+
2576
+ const styles$6 = ":host{display:flex;align-items:center;border-block-end:var(--odx-border-sm);border-color:var(--odx-color-outline-surface);padding-inline:var(--odx-size-75)}odx-checkbox{pointer-events:none;margin-inline-start:var(--odx-size-75)}";
2577
+
2578
+ var __defProp$5 = Object.defineProperty;
2579
+ var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
2580
+ var __typeError$3 = (msg) => {
2581
+ throw TypeError(msg);
2582
+ };
2583
+ var __decorateClass$6 = (decorators, target, key, kind) => {
2584
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
2585
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2586
+ if (decorator = decorators[i])
2587
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2588
+ if (kind && result) __defProp$5(target, key, result);
2589
+ return result;
2590
+ };
2591
+ var __accessCheck$3 = (obj, member, msg) => member.has(obj) || __typeError$3("Cannot " + msg);
2592
+ var __privateAdd$3 = (obj, member, value) => member.has(obj) ? __typeError$3("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2593
+ var __privateMethod$3 = (obj, member, method) => (__accessCheck$3(obj, member, "access private method"), method);
2594
+ var _OdxTableHeaderElement_instances, handleChange_fn;
2595
+ let OdxTableHeaderElement = class extends CheckboxControl {
2596
+ constructor() {
2597
+ super(...arguments);
2598
+ __privateAdd$3(this, _OdxTableHeaderElement_instances);
2599
+ }
2600
+ connectedCallback() {
2601
+ super.connectedCallback?.();
2602
+ this.role = "row";
2603
+ }
2604
+ render() {
2605
+ return html` <slot @change=${__privateMethod$3(this, _OdxTableHeaderElement_instances, handleChange_fn)}></slot>`;
2606
+ }
2607
+ };
2608
+ _OdxTableHeaderElement_instances = new WeakSet();
2609
+ handleChange_fn = async function(event) {
2610
+ if (event.target.localName !== OdxTableCheckboxCellElement.selector) return;
2611
+ this.selected = event.target.checked;
2612
+ await 0;
2613
+ if (!event.defaultPrevented) return;
2614
+ this.selected = !this.selected;
2615
+ };
2616
+ __decorateClass$6([
2617
+ property({ type: Boolean, reflect: true })
2618
+ ], OdxTableHeaderElement.prototype, "selected", 2);
2619
+ OdxTableHeaderElement = __decorateClass$6([
2620
+ customElement("odx-table-header", [styles$6])
2621
+ ], OdxTableHeaderElement);
2622
+
2623
+ const styles$5 = ":host{display:block;block-size:auto;flex:1 1 0%;padding-inline:var(--odx-size-75);line-height:var(--odx-size-225)}";
2624
+
2625
+ var __defProp$4 = Object.defineProperty;
2626
+ var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
2627
+ var __decorateClass$5 = (decorators, target, key, kind) => {
2628
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
2629
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2630
+ if (decorator = decorators[i])
2631
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2632
+ if (kind && result) __defProp$4(target, key, result);
2633
+ return result;
2634
+ };
2635
+ let OdxTableHeaderCellElement = class extends CustomElement {
2636
+ constructor() {
2637
+ super(...arguments);
2638
+ this.sortable = false;
2639
+ }
2640
+ connectedCallback() {
2641
+ super.connectedCallback?.();
2642
+ this.role = "columnheader";
2643
+ }
2644
+ render() {
2645
+ return html`
2646
+ <odx-title size="xs">
2647
+ <slot></slot> (${this.sortable ? "sortable" : "not sortable"})
2648
+ </odx-title>
2649
+ `;
2650
+ }
2651
+ };
2652
+ __decorateClass$5([
2653
+ property({ type: Boolean })
2654
+ ], OdxTableHeaderCellElement.prototype, "sortable", 2);
2655
+ OdxTableHeaderCellElement = __decorateClass$5([
2656
+ customElement("odx-table-header-cell", [styles$5])
2657
+ ], OdxTableHeaderCellElement);
2658
+
2659
+ const styles$4 = ":host{--_color-fill: transparent;display:flex;align-items:center;inline-size:100%;border-block-end:var(--odx-border-sm);background-color:var(--_color-fill);transition:var(--odx-transition-reduced);transition-property:background-color;padding-inline:var(--odx-size-75);cursor:pointer}:host(:not(:last-of-type)){border-color:var(--odx-color-outline-surface)}:host([selectable]:not([selectable=\"false\"]):hover){--_color-fill: var(--odx-color-surface-raised)}:host([selected]:not([selected=\"false\"])){--_color-fill: var(--odx-color-surface-raised)}odx-checkbox{pointer-events:none;margin-inline-start:var(--odx-size-75)}";
2660
+
2661
+ var __defProp$3 = Object.defineProperty;
2662
+ var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
2663
+ var __typeError$2 = (msg) => {
2664
+ throw TypeError(msg);
2665
+ };
2666
+ var __decorateClass$4 = (decorators, target, key, kind) => {
2667
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
2668
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2669
+ if (decorator = decorators[i])
2670
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2671
+ if (kind && result) __defProp$3(target, key, result);
2672
+ return result;
2673
+ };
2674
+ var __accessCheck$2 = (obj, member, msg) => member.has(obj) || __typeError$2("Cannot " + msg);
2675
+ var __privateGet$2 = (obj, member, getter) => (__accessCheck$2(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
2676
+ var __privateAdd$2 = (obj, member, value) => member.has(obj) ? __typeError$2("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2677
+ var __privateMethod$2 = (obj, member, method) => (__accessCheck$2(obj, member, "access private method"), method);
2678
+ var _OdxTableRowElement_instances, handleSelectedChange_fn, handleSelectableChange_fn, _handleClick, _handleChange$1, handleSlotchange_fn, isCheckboxCell_fn;
2679
+ let OdxTableRowElement = class extends CustomElement {
2680
+ constructor() {
2681
+ super(...arguments);
2682
+ __privateAdd$2(this, _OdxTableRowElement_instances);
2683
+ this.disabled = false;
2684
+ this.selected = false;
2685
+ this.selectable = true;
2686
+ this.value = "";
2687
+ __privateAdd$2(this, _handleClick, (event) => {
2688
+ const isCheckboxCell = event.composedPath().some((node) => node.localName === OdxTableCheckboxCellElement.selector);
2689
+ if (isCheckboxCell) return;
2690
+ const [checkboxCell] = this.checkboxCells;
2691
+ checkboxCell?.click();
2692
+ });
2693
+ __privateAdd$2(this, _handleChange$1, async (event) => {
2694
+ this.selected = event.target.checked;
2695
+ await 0;
2696
+ if (!event.defaultPrevented) return;
2697
+ this.selected = !this.selected;
2698
+ });
2699
+ }
2700
+ connectedCallback() {
2701
+ super.connectedCallback?.();
2702
+ this.role = "row";
2703
+ }
2704
+ render() {
2705
+ return html`
2706
+ <slot @change=${__privateGet$2(this, _handleChange$1)} @slotchange=${__privateMethod$2(this, _OdxTableRowElement_instances, handleSlotchange_fn)}></slot>
2707
+ `;
2708
+ }
2709
+ willUpdate(changes) {
2710
+ super.willUpdate?.(changes);
2711
+ if (changes.has("selected")) {
2712
+ __privateMethod$2(this, _OdxTableRowElement_instances, handleSelectedChange_fn).call(this);
2713
+ }
2714
+ if (changes.has("selectable")) {
2715
+ __privateMethod$2(this, _OdxTableRowElement_instances, handleSelectableChange_fn).call(this);
2716
+ }
2717
+ }
2718
+ };
2719
+ _OdxTableRowElement_instances = new WeakSet();
2720
+ handleSelectedChange_fn = async function() {
2721
+ await this.updateComplete;
2722
+ if (this.selectable) {
2723
+ this.ariaSelected = toAriaBooleanAttribute(this.selected, false);
2724
+ } else {
2725
+ this.ariaSelected = null;
2726
+ }
2727
+ const [checkboxCell] = this.checkboxCells;
2728
+ if (!checkboxCell) return;
2729
+ checkboxCell.checked = this.selected;
2730
+ };
2731
+ handleSelectableChange_fn = function() {
2732
+ if (this.selectable) {
2733
+ this.addEventListener("click", __privateGet$2(this, _handleClick));
2734
+ } else {
2735
+ this.removeEventListener("click", __privateGet$2(this, _handleClick));
2736
+ }
2737
+ };
2738
+ _handleClick = new WeakMap();
2739
+ _handleChange$1 = new WeakMap();
2740
+ handleSlotchange_fn = function({ target }) {
2741
+ this.selectable = target.assignedElements().some(__privateMethod$2(this, _OdxTableRowElement_instances, isCheckboxCell_fn));
2742
+ };
2743
+ isCheckboxCell_fn = function(element) {
2744
+ return element.localName === OdxTableCheckboxCellElement.selector;
2745
+ };
2746
+ __decorateClass$4([
2747
+ queryAssignedElements({ selector: OdxTableCheckboxCellElement.selector, flatten: true })
2748
+ ], OdxTableRowElement.prototype, "checkboxCells", 2);
2749
+ __decorateClass$4([
2750
+ property({ type: Boolean, reflect: true })
2751
+ ], OdxTableRowElement.prototype, "disabled", 2);
2752
+ __decorateClass$4([
2753
+ property({ type: Boolean, reflect: true })
2754
+ ], OdxTableRowElement.prototype, "selected", 2);
2755
+ __decorateClass$4([
2756
+ property({ type: Boolean, reflect: true })
2757
+ ], OdxTableRowElement.prototype, "selectable", 2);
2758
+ __decorateClass$4([
2759
+ property({ type: String })
2760
+ ], OdxTableRowElement.prototype, "value", 2);
2761
+ OdxTableRowElement = __decorateClass$4([
2762
+ customElement("odx-table-row", [styles$4])
2763
+ ], OdxTableRowElement);
2764
+
2765
+ const styles$3 = ":host{display:flex;flex-direction:column;background-color:var(--odx-color-surface)}";
2766
+
2767
+ var __defProp$2 = Object.defineProperty;
2768
+ var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
2769
+ var __typeError$1 = (msg) => {
2770
+ throw TypeError(msg);
2771
+ };
2772
+ var __decorateClass$3 = (decorators, target, key, kind) => {
2773
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
2774
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2775
+ if (decorator = decorators[i])
2776
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2777
+ if (kind && result) __defProp$2(target, key, result);
2778
+ return result;
2779
+ };
2780
+ var __accessCheck$1 = (obj, member, msg) => member.has(obj) || __typeError$1("Cannot " + msg);
2781
+ var __privateGet$1 = (obj, member, getter) => (__accessCheck$1(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
2782
+ var __privateAdd$1 = (obj, member, value) => member.has(obj) ? __typeError$1("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2783
+ var __privateMethod$1 = (obj, member, method) => (__accessCheck$1(obj, member, "access private method"), method);
2784
+ var _selectedSet, _OdxTableElement_instances, selectAllRows_fn, deselectAllRows_fn, _handleChange;
2785
+ let OdxTableElement = class extends CustomElement {
2786
+ constructor() {
2787
+ super(...arguments);
2788
+ __privateAdd$1(this, _OdxTableElement_instances);
2789
+ __privateAdd$1(this, _selectedSet, /* @__PURE__ */ new Set());
2790
+ this.mode = "selection";
2791
+ this.selected = [];
2792
+ this.items = [];
2793
+ __privateAdd$1(this, _handleChange, (event) => {
2794
+ if (event.target.localName !== OdxTableCheckboxCellElement.selector) return;
2795
+ event.stopPropagation();
2796
+ const rowElement = event.target.parentElement;
2797
+ if (!rowElement) return;
2798
+ const isSelected = event.target.checked;
2799
+ if (rowElement.localName === OdxTableHeaderElement.selector) {
2800
+ if (event.target.checked) {
2801
+ __privateMethod$1(this, _OdxTableElement_instances, selectAllRows_fn).call(this);
2802
+ } else {
2803
+ __privateMethod$1(this, _OdxTableElement_instances, deselectAllRows_fn).call(this);
2804
+ }
2805
+ } else if (isSelected) {
2806
+ __privateGet$1(this, _selectedSet).add(rowElement.value);
2807
+ } else {
2808
+ __privateGet$1(this, _selectedSet).delete(rowElement.value);
2809
+ }
2810
+ });
2811
+ }
2812
+ get headerElements() {
2813
+ return Array.from(this.querySelectorAll(OdxTableHeaderElement.selector));
2814
+ }
2815
+ get rowElements() {
2816
+ return Array.from(this.querySelectorAll(OdxTableRowElement.selector));
2817
+ }
2818
+ connectedCallback() {
2819
+ super.connectedCallback?.();
2820
+ this.role = "grid";
2821
+ }
2822
+ render() {
2823
+ return html`<slot @change=${__privateGet$1(this, _handleChange)}></slot>`;
2824
+ }
2825
+ };
2826
+ _selectedSet = new WeakMap();
2827
+ _OdxTableElement_instances = new WeakSet();
2828
+ selectAllRows_fn = function() {
2829
+ for (const row of this.rowElements) {
2830
+ row.selected = true;
2831
+ __privateGet$1(this, _selectedSet).add(row.value);
2832
+ }
2833
+ };
2834
+ deselectAllRows_fn = function() {
2835
+ __privateGet$1(this, _selectedSet).clear();
2836
+ for (const row of this.rowElements) {
2837
+ if (!row.selected) continue;
2838
+ row.selected = false;
2839
+ }
2840
+ };
2841
+ _handleChange = new WeakMap();
2842
+ __decorateClass$3([
2843
+ property()
2844
+ ], OdxTableElement.prototype, "mode", 2);
2845
+ __decorateClass$3([
2846
+ property({ type: Array })
2847
+ ], OdxTableElement.prototype, "selected", 2);
2848
+ __decorateClass$3([
2849
+ property({ type: Array })
2850
+ ], OdxTableElement.prototype, "items", 2);
2851
+ OdxTableElement = __decorateClass$3([
2852
+ customElement("odx-table", [styles$3])
2853
+ ], OdxTableElement);
2854
+
2855
+ const ToastVariant = {
2856
+ DANGER: "danger"
2857
+ };
2858
+
2859
+ const styles$2 = "";
2860
+
2861
+ var __defProp$1 = Object.defineProperty;
2862
+ var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
2863
+ var __decorateClass$2 = (decorators, target, key, kind) => {
2864
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
2865
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2866
+ if (decorator = decorators[i])
2867
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2868
+ if (kind && result) __defProp$1(target, key, result);
2869
+ return result;
2870
+ };
2871
+ let OdxToastElement = class extends CustomElement {
2872
+ render() {
2873
+ return html`
2874
+ <slot name="title"></slot>
2875
+ <slot></slot>
2876
+ `;
2877
+ }
2878
+ };
2879
+ __decorateClass$2([
2880
+ property({ reflect: true })
2881
+ ], OdxToastElement.prototype, "variant", 2);
2882
+ OdxToastElement = __decorateClass$2([
2883
+ customElement("odx-toast", [styles$2])
2884
+ ], OdxToastElement);
2885
+
2886
+ const styles$1 = ":host{--_border-radius: var(--odx-border-radius-sm);--_space: var(--odx-size-75);--_size: var(--odx-size-225);--_color-fill: transparent;--_color-fill-checked: var(--odx-color-fill-control-accent);--_color-outline: transparent;--_color-outline-checked: var(--odx-color-fill-focus);--_color-text-checked: var(--odx-color-text-control-accent);--_color-text: var(--odx-color-text-control);cursor:pointer;display:inline-flex;margin:var(--odx-size-37) var(--odx-size-75);user-select:none;border-radius:var(--odx-border-radius-sm);outline:var(--odx-outline-focus);padding-inline:var(--_space);transition:var(--odx-transition-base);transition-property:color,background-color,outline-color;background-color:var(--_color-fill);outline-color:var(--_color-outline);block-size:var(--_size);place-items:center;color:var(--_color-text)}:host::part(label),:host::part(indicator){cursor:pointer}:host::part(label){display:inline-block;cursor:pointer}:host(:empty)::part(content){display:none}:host(:state(checked)){--_color-outline: var(--_color-fill-checked);--_color-fill: var(--_color-fill-checked);--_color-outline: var(--_color-outline-checked);--_color-text: var(--_color-text-checked);font-weight:var(--odx-font-weight-medium)}:host(:focus-visible){--_color-outline: var(--odx-color-outline-focus)}";
2887
+
2888
+ var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
2889
+ var __decorateClass$1 = (decorators, target, key, kind) => {
2890
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
2891
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2892
+ if (decorator = decorators[i])
2893
+ result = (decorator(result)) || result;
2894
+ return result;
2895
+ };
2896
+ let OdxToggleButtonElement = class extends CheckboxControl {
2897
+ render() {
2898
+ return html`
2899
+ <div part="indicator"></div>
2900
+ <div part="label"><slot></slot></div>
2901
+ `;
2902
+ }
2903
+ };
2904
+ OdxToggleButtonElement = __decorateClass$1([
2905
+ customElement("odx-toggle-button", [styles$1])
2906
+ ], OdxToggleButtonElement);
2907
+
2908
+ const TooltipPlacement = {
2909
+ TOP: PopoverPlacement.TOP,
2910
+ RIGHT: PopoverPlacement.RIGHT,
2911
+ BOTTOM: PopoverPlacement.BOTTOM,
2912
+ LEFT: PopoverPlacement.LEFT
2913
+ };
2914
+
2915
+ const styles = ":host(:not([interactive])){pointer-events:none}odx-popover{--color-fill: var(--odx-palette-blue-90);--color-text: var(--odx-color-text-inverse)}::slotted(odx-button[disabled]){pointer-events:auto}";
2916
+
2917
+ var __defProp = Object.defineProperty;
2918
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
2919
+ var __typeError = (msg) => {
2920
+ throw TypeError(msg);
2921
+ };
2922
+ var __decorateClass = (decorators, target, key, kind) => {
2923
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
2924
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
2925
+ if (decorator = decorators[i])
2926
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
2927
+ if (kind && result) __defProp(target, key, result);
2928
+ return result;
2929
+ };
2930
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
2931
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
2932
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
2933
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
2934
+ var _OdxTooltipElement_instances, addKeyboardListeners_fn, removeKeyboardListeners_fn, addMouseListeners_fn, removeMouseListeners_fn, updateAriaAttributes_fn, _handleReferenceMouseLeave, _handleMouseEvents, _handleKeyboardFocus;
2935
+ let OdxTooltipElement = class extends PopoverHost(CustomElement) {
2936
+ constructor() {
2937
+ super(...arguments);
2938
+ __privateAdd(this, _OdxTooltipElement_instances);
2939
+ this.placement = TooltipPlacement.TOP;
2940
+ this.interactive = false;
2941
+ this.id = "test";
2942
+ __privateAdd(this, _handleReferenceMouseLeave, (event) => {
2943
+ if (event.relatedTarget === this) return;
2944
+ __privateGet(this, _handleMouseEvents).call(this, event);
2945
+ });
2946
+ __privateAdd(this, _handleMouseEvents, ({ type }) => {
2947
+ if (type !== "mouseenter" && type !== "mouseleave") return;
2948
+ this.togglePopover(type === "mouseenter");
2949
+ });
2950
+ __privateAdd(this, _handleKeyboardFocus, ({ type, key }) => {
2951
+ if (key !== "Tab") return;
2952
+ this.togglePopover(type !== "keydown");
2953
+ });
2954
+ }
2955
+ connectedCallback() {
2956
+ super.connectedCallback?.();
2957
+ this.id ||= getUniqueId("odx-tooltip");
2958
+ this.role = "tooltip";
2959
+ }
2960
+ mountPopover(referenceElement) {
2961
+ super.mountPopover(referenceElement);
2962
+ if (!referenceElement) return;
2963
+ __privateMethod(this, _OdxTooltipElement_instances, updateAriaAttributes_fn).call(this, referenceElement, this.id);
2964
+ __privateMethod(this, _OdxTooltipElement_instances, addKeyboardListeners_fn).call(this, referenceElement);
2965
+ __privateMethod(this, _OdxTooltipElement_instances, addMouseListeners_fn).call(this, referenceElement);
2966
+ }
2967
+ unmountPopover(referenceElement) {
2968
+ super.unmountPopover(referenceElement);
2969
+ __privateMethod(this, _OdxTooltipElement_instances, updateAriaAttributes_fn).call(this, referenceElement, null);
2970
+ __privateMethod(this, _OdxTooltipElement_instances, removeKeyboardListeners_fn).call(this, referenceElement);
2971
+ __privateMethod(this, _OdxTooltipElement_instances, removeMouseListeners_fn).call(this, referenceElement);
2972
+ }
2973
+ render() {
2974
+ return html`
2975
+ <odx-popover showArrow>
2976
+ <slot></slot>
2977
+ </odx-popover>
2978
+ `;
2979
+ }
2980
+ willUpdate(props) {
2981
+ super.willUpdate?.(props);
2982
+ if (props.has("id")) {
2983
+ __privateMethod(this, _OdxTooltipElement_instances, updateAriaAttributes_fn).call(this, this.referenceElement, this.id);
2984
+ }
2985
+ }
2986
+ };
2987
+ _OdxTooltipElement_instances = new WeakSet();
2988
+ addKeyboardListeners_fn = function(referenceElement) {
2989
+ referenceElement.addEventListener("keyup", __privateGet(this, _handleKeyboardFocus));
2990
+ referenceElement.addEventListener("keydown", __privateGet(this, _handleKeyboardFocus));
2991
+ };
2992
+ removeKeyboardListeners_fn = function(referenceElement) {
2993
+ referenceElement.removeEventListener("keyup", __privateGet(this, _handleKeyboardFocus));
2994
+ referenceElement.removeEventListener("keydown", __privateGet(this, _handleKeyboardFocus));
2995
+ };
2996
+ addMouseListeners_fn = function(referenceElement) {
2997
+ this.addEventListener("mouseleave", __privateGet(this, _handleMouseEvents));
2998
+ referenceElement.addEventListener("mouseenter", __privateGet(this, _handleMouseEvents));
2999
+ referenceElement.addEventListener("mouseleave", __privateGet(this, _handleReferenceMouseLeave));
3000
+ referenceElement.addEventListener("keyup", __privateGet(this, _handleKeyboardFocus));
3001
+ referenceElement.addEventListener("keydown", __privateGet(this, _handleKeyboardFocus));
3002
+ };
3003
+ removeMouseListeners_fn = function(referenceElement) {
3004
+ this.removeEventListener("mouseleave", __privateGet(this, _handleMouseEvents));
3005
+ referenceElement.removeEventListener("mouseenter", __privateGet(this, _handleMouseEvents));
3006
+ referenceElement.removeEventListener("mouseleave", __privateGet(this, _handleReferenceMouseLeave));
3007
+ referenceElement.removeEventListener("keyup", __privateGet(this, _handleKeyboardFocus));
3008
+ referenceElement.removeEventListener("keydown", __privateGet(this, _handleKeyboardFocus));
3009
+ };
3010
+ updateAriaAttributes_fn = function(referenceElement, id) {
3011
+ toggleAttribute(referenceElement, "aria-describedby", id);
3012
+ };
3013
+ _handleReferenceMouseLeave = new WeakMap();
3014
+ _handleMouseEvents = new WeakMap();
3015
+ _handleKeyboardFocus = new WeakMap();
3016
+ __decorateClass([
3017
+ property({ reflect: true })
3018
+ ], OdxTooltipElement.prototype, "placement", 2);
3019
+ __decorateClass([
3020
+ property({ type: Boolean, reflect: true })
3021
+ ], OdxTooltipElement.prototype, "interactive", 2);
3022
+ __decorateClass([
3023
+ property({ reflect: true })
3024
+ ], OdxTooltipElement.prototype, "id", 2);
3025
+ OdxTooltipElement = __decorateClass([
3026
+ customElement("odx-tooltip", [styles])
3027
+ ], OdxTooltipElement);
3028
+
3029
+ export { AvatarSize, AvatarVariant, BadgeVariant, CardElement, CheckboxControl, CheckboxGroupControl, CheckboxGroupVariant, ChipVariant, CircularProgressBarSize, DropdownPlacement, GridGap, InlineMessageVariant, LOADING_OVERLAY_HOST_DIRECTIVE, OdxAccordionElement, OdxAccordionHeaderElement, OdxAccordionPanelElement, OdxAvatarElement, OdxAvatarGroupElement, OdxBadgeElement, OdxCheckboxElement, OdxCheckboxGroupElement, OdxChipElement, OdxCircularProgressBarElement, OdxDropdownElement, OdxFormFieldElement, OdxGrid, OdxInlineMessageElement, OdxListElement, OdxListItemElement, OdxLoadingOverlayElement, OdxMainMenuButtonElement, OdxMainMenuElement, OdxMainMenuLink, OdxMainMenuSubtitleElement, OdxMainMenuTitleElement, OdxMenuElement, OdxMenuItemElement, OdxMenuLabelElement, OdxOptionElement, OdxProgressBarElement, OdxRadioButtonElement, OdxRadioGroupElement, OdxSelectElement, OdxSkeletonElement, OdxSliderElement, OdxSliderHandleElement, OdxSliderMarksElement, OdxSpinboxElement, OdxSwitchElement, OdxTableBodyElement, OdxTableCellElement, OdxTableCheckboxCellElement, OdxTableElement, OdxTableHeaderCellElement, OdxTableHeaderElement, OdxTableRowElement, OdxToastElement, OdxToggleButtonElement, OdxTooltipElement, ProgressState, RadioGroupControl, RadioGroupVariant, SliderLabelVisibility, SliderTrackVisibility, ToastVariant, TooltipPlacement };