@ukic/canary-web-components 3.0.0-canary.1 → 3.0.0-canary.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (646) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-33b42cd6.js → helpers-36cdc6cb.js} +24 -1
  3. package/dist/cjs/helpers-36cdc6cb.js.map +1 -0
  4. package/dist/cjs/{helpers-6817cfbb.js → helpers-a67ad3a4.js} +15 -129
  5. package/dist/cjs/helpers-a67ad3a4.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +17 -16
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js +2 -2
  20. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +3 -3
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +21 -14
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-table.cjs.entry.js +31 -8
  35. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-date-input.cjs.entry.js +11 -10
  37. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-date-picker.cjs.entry.js +4 -2
  39. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-empty-state_2.cjs.entry.js +24 -17
  44. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1012 -0
  55. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -0
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js +86 -0
  57. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -0
  58. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  61. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  63. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  65. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-page-header.cjs.entry.js +5 -5
  72. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination_4.cjs.entry.js +151 -41
  74. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-popover-menu.cjs.entry.js +27 -21
  76. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-radio-group.cjs.entry.js +20 -10
  78. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-option.cjs.entry.js +27 -22
  80. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-search-bar.cjs.entry.js +12 -25
  82. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -2
  84. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
  86. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  88. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-step.cjs.entry.js +4 -5
  90. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-stepper.cjs.entry.js +12 -2
  92. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-switch.cjs.entry.js +7 -4
  94. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-tab-context.cjs.entry.js +58 -122
  96. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  98. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  99. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-tab.cjs.entry.js +6 -7
  101. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  103. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  104. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  106. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
  108. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-tree-item.cjs.entry.js +5 -3
  110. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-tree-view.cjs.entry.js +10 -2
  112. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-typography.cjs.entry.js +5 -3
  114. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  115. package/dist/cjs/index-4cf27b16.js +4 -12
  116. package/dist/cjs/loader.cjs.js +1 -1
  117. package/dist/collection/collection-manifest.json +0 -2
  118. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +8 -8
  119. package/dist/collection/components/ic-data-table/ic-data-table.css +20 -4
  120. package/dist/collection/components/ic-data-table/ic-data-table.js +35 -12
  121. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  122. package/dist/collection/components/ic-data-table/story-data.js +46 -5
  123. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  124. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +3 -3
  125. package/dist/collection/components/ic-date-input/ic-date-input.css +3 -3
  126. package/dist/collection/components/ic-date-input/ic-date-input.js +27 -8
  127. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  128. package/dist/collection/components/ic-date-picker/ic-date-picker.css +6 -6
  129. package/dist/collection/components/ic-date-picker/ic-date-picker.js +20 -0
  130. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  131. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +72 -21
  132. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  133. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
  134. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
  135. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +20 -2
  136. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
  137. package/dist/collection/components/ic-tree-item/ic-tree-item.css +13 -2
  138. package/dist/collection/components/ic-tree-item/ic-tree-item.js +23 -3
  139. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  140. package/dist/collection/components/ic-tree-view/ic-tree-view.js +29 -1
  141. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  142. package/dist/collection/utils/helpers.js +1 -1
  143. package/dist/collection/utils/helpers.js.map +1 -1
  144. package/dist/collection/utils/types.js.map +1 -1
  145. package/dist/components/helpers.js +22 -1
  146. package/dist/components/helpers.js.map +1 -1
  147. package/dist/components/helpers2.js +14 -121
  148. package/dist/components/helpers2.js.map +1 -1
  149. package/dist/components/ic-accordion.js +1 -1
  150. package/dist/components/ic-accordion.js.map +1 -1
  151. package/dist/components/ic-alert.js +1 -1
  152. package/dist/components/ic-alert.js.map +1 -1
  153. package/dist/components/ic-badge.js +1 -1
  154. package/dist/components/ic-badge.js.map +1 -1
  155. package/dist/components/ic-breadcrumb2.js +1 -1
  156. package/dist/components/ic-breadcrumb2.js.map +1 -1
  157. package/dist/components/ic-button2.js +6 -7
  158. package/dist/components/ic-button2.js.map +1 -1
  159. package/dist/components/ic-card-horizontal.js +1 -1
  160. package/dist/components/ic-card-horizontal.js.map +1 -1
  161. package/dist/components/ic-card-vertical.js +1 -1
  162. package/dist/components/ic-card-vertical.js.map +1 -1
  163. package/dist/components/ic-checkbox-group.js +2 -2
  164. package/dist/components/ic-checkbox-group.js.map +1 -1
  165. package/dist/components/ic-checkbox.js +2 -2
  166. package/dist/components/ic-checkbox.js.map +1 -1
  167. package/dist/components/ic-chip.js +23 -14
  168. package/dist/components/ic-chip.js.map +1 -1
  169. package/dist/components/ic-classification-banner.js +1 -1
  170. package/dist/components/ic-classification-banner.js.map +1 -1
  171. package/dist/components/ic-data-table-title-bar.js +1 -1
  172. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  173. package/dist/components/ic-data-table.js +31 -8
  174. package/dist/components/ic-data-table.js.map +1 -1
  175. package/dist/components/ic-date-input2.js +12 -10
  176. package/dist/components/ic-date-input2.js.map +1 -1
  177. package/dist/components/ic-date-picker.js +5 -2
  178. package/dist/components/ic-date-picker.js.map +1 -1
  179. package/dist/components/ic-divider2.js +1 -1
  180. package/dist/components/ic-divider2.js.map +1 -1
  181. package/dist/components/ic-footer-link-group.js +1 -1
  182. package/dist/components/ic-footer-link-group.js.map +1 -1
  183. package/dist/components/ic-footer-link.js +1 -1
  184. package/dist/components/ic-footer-link.js.map +1 -1
  185. package/dist/components/ic-footer.js +2 -2
  186. package/dist/components/ic-footer.js.map +1 -1
  187. package/dist/components/ic-horizontal-scroll2.js +2 -2
  188. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  189. package/dist/components/ic-input-component-container2.js +1 -1
  190. package/dist/components/ic-input-component-container2.js.map +1 -1
  191. package/dist/components/ic-input-label2.js +10 -6
  192. package/dist/components/ic-input-label2.js.map +1 -1
  193. package/dist/components/ic-input-validation2.js +1 -1
  194. package/dist/components/ic-input-validation2.js.map +1 -1
  195. package/dist/components/ic-link2.js +1 -1
  196. package/dist/components/ic-link2.js.map +1 -1
  197. package/dist/components/ic-loading-indicator2.js +11 -9
  198. package/dist/components/ic-loading-indicator2.js.map +1 -1
  199. package/dist/components/ic-menu-group.js +1 -1
  200. package/dist/components/ic-menu-group.js.map +1 -1
  201. package/dist/components/ic-menu-item2.js +1 -1
  202. package/dist/components/ic-menu-item2.js.map +1 -1
  203. package/dist/components/ic-menu2.js +450 -167
  204. package/dist/components/ic-menu2.js.map +1 -1
  205. package/dist/components/ic-navigation-group.js +2 -2
  206. package/dist/components/ic-navigation-group.js.map +1 -1
  207. package/dist/components/ic-navigation-item.js +2 -2
  208. package/dist/components/ic-navigation-item.js.map +1 -1
  209. package/dist/components/ic-navigation-menu2.js +2 -2
  210. package/dist/components/ic-navigation-menu2.js.map +1 -1
  211. package/dist/components/ic-page-header.js +4 -4
  212. package/dist/components/ic-page-header.js.map +1 -1
  213. package/dist/components/ic-pagination-bar2.js +27 -17
  214. package/dist/components/ic-pagination-bar2.js.map +1 -1
  215. package/dist/components/ic-pagination-item2.js +2 -2
  216. package/dist/components/ic-pagination-item2.js.map +1 -1
  217. package/dist/components/ic-popover-menu.js +30 -22
  218. package/dist/components/ic-popover-menu.js.map +1 -1
  219. package/dist/components/ic-radio-group.js +19 -9
  220. package/dist/components/ic-radio-group.js.map +1 -1
  221. package/dist/components/ic-radio-option.js +27 -22
  222. package/dist/components/ic-radio-option.js.map +1 -1
  223. package/dist/components/ic-search-bar.js +12 -25
  224. package/dist/components/ic-search-bar.js.map +1 -1
  225. package/dist/components/ic-select2.js +149 -38
  226. package/dist/components/ic-select2.js.map +1 -1
  227. package/dist/components/ic-side-navigation.js +2 -2
  228. package/dist/components/ic-side-navigation.js.map +1 -1
  229. package/dist/components/ic-skeleton.js +5 -5
  230. package/dist/components/ic-skeleton.js.map +1 -1
  231. package/dist/components/ic-status-tag.js +1 -1
  232. package/dist/components/ic-status-tag.js.map +1 -1
  233. package/dist/components/ic-step.js +4 -4
  234. package/dist/components/ic-step.js.map +1 -1
  235. package/dist/components/ic-stepper.js +14 -3
  236. package/dist/components/ic-stepper.js.map +1 -1
  237. package/dist/components/ic-switch.js +7 -3
  238. package/dist/components/ic-switch.js.map +1 -1
  239. package/dist/components/ic-tab-context.js +58 -122
  240. package/dist/components/ic-tab-context.js.map +1 -1
  241. package/dist/components/ic-tab-panel.js +1 -1
  242. package/dist/components/ic-tab-panel.js.map +1 -1
  243. package/dist/components/ic-tab.js +5 -6
  244. package/dist/components/ic-tab.js.map +1 -1
  245. package/dist/components/ic-text-field2.js +3 -3
  246. package/dist/components/ic-text-field2.js.map +1 -1
  247. package/dist/components/ic-theme.js +1 -1
  248. package/dist/components/ic-toast.js +3 -3
  249. package/dist/components/ic-toast.js.map +1 -1
  250. package/dist/components/ic-toggle-button.js +1 -1
  251. package/dist/components/ic-toggle-button.js.map +1 -1
  252. package/dist/components/ic-tooltip2.js +1 -1
  253. package/dist/components/ic-tooltip2.js.map +1 -1
  254. package/dist/components/ic-top-navigation.js +2 -2
  255. package/dist/components/ic-top-navigation.js.map +1 -1
  256. package/dist/components/ic-tree-item.js +5 -2
  257. package/dist/components/ic-tree-item.js.map +1 -1
  258. package/dist/components/ic-tree-view.js +12 -2
  259. package/dist/components/ic-tree-view.js.map +1 -1
  260. package/dist/components/ic-typography2.js +4 -2
  261. package/dist/components/ic-typography2.js.map +1 -1
  262. package/dist/core/core.css +661 -37
  263. package/dist/core/core.esm.js +1 -1
  264. package/dist/core/core.esm.js.map +1 -1
  265. package/dist/core/{p-c033e7d6.entry.js → p-036d251b.entry.js} +2 -2
  266. package/dist/core/{p-9397b15b.js → p-043cf5de.js} +2 -2
  267. package/dist/core/p-043cf5de.js.map +1 -0
  268. package/dist/core/p-044689ef.entry.js +2 -0
  269. package/dist/core/p-044689ef.entry.js.map +1 -0
  270. package/dist/core/p-095da817.entry.js +2 -0
  271. package/dist/core/p-095da817.entry.js.map +1 -0
  272. package/dist/core/{p-cb6cebdd.entry.js → p-13d2db9b.entry.js} +2 -2
  273. package/dist/core/{p-cb6cebdd.entry.js.map → p-13d2db9b.entry.js.map} +1 -1
  274. package/dist/core/p-13e01a1e.entry.js +2 -0
  275. package/dist/core/p-13e01a1e.entry.js.map +1 -0
  276. package/dist/core/p-1ae71507.entry.js +2 -0
  277. package/dist/core/p-1ae71507.entry.js.map +1 -0
  278. package/dist/core/p-2200ca85.entry.js +2 -0
  279. package/dist/core/p-2200ca85.entry.js.map +1 -0
  280. package/dist/core/p-2257f5e8.entry.js +2 -0
  281. package/dist/core/p-2257f5e8.entry.js.map +1 -0
  282. package/dist/core/{p-897b8d16.entry.js → p-24d03bbd.entry.js} +2 -2
  283. package/dist/core/{p-a78cf2cb.entry.js → p-266098ee.entry.js} +2 -2
  284. package/dist/core/{p-5f313e1a.entry.js → p-26613dbd.entry.js} +2 -2
  285. package/dist/core/{p-5f313e1a.entry.js.map → p-26613dbd.entry.js.map} +1 -1
  286. package/dist/core/p-283a2274.entry.js +2 -0
  287. package/dist/core/p-283a2274.entry.js.map +1 -0
  288. package/dist/core/{p-77a32de5.entry.js → p-2a3bd99a.entry.js} +2 -2
  289. package/dist/core/p-42f88966.entry.js +2 -0
  290. package/dist/core/p-42f88966.entry.js.map +1 -0
  291. package/dist/core/p-44ee5375.entry.js +2 -0
  292. package/dist/core/p-44ee5375.entry.js.map +1 -0
  293. package/dist/core/p-48a78218.entry.js +2 -0
  294. package/dist/core/p-48a78218.entry.js.map +1 -0
  295. package/dist/core/p-4e316ae5.entry.js +2 -0
  296. package/dist/core/p-4e316ae5.entry.js.map +1 -0
  297. package/dist/core/p-50dd2744.entry.js +2 -0
  298. package/dist/core/p-50dd2744.entry.js.map +1 -0
  299. package/dist/core/{p-bf670360.entry.js → p-51ea45cb.entry.js} +2 -2
  300. package/dist/core/{p-bf670360.entry.js.map → p-51ea45cb.entry.js.map} +1 -1
  301. package/dist/core/p-5458d818.entry.js +2 -0
  302. package/dist/core/p-5458d818.entry.js.map +1 -0
  303. package/dist/core/{p-202bc922.entry.js → p-5ad1a7fb.entry.js} +2 -2
  304. package/dist/core/p-5b061abc.entry.js +2 -0
  305. package/dist/core/p-5b061abc.entry.js.map +1 -0
  306. package/dist/core/{p-f98b1afc.entry.js → p-6727166b.entry.js} +2 -2
  307. package/dist/core/{p-f98b1afc.entry.js.map → p-6727166b.entry.js.map} +1 -1
  308. package/dist/core/p-6dc00a8f.entry.js +2 -0
  309. package/dist/core/p-6dc00a8f.entry.js.map +1 -0
  310. package/dist/core/p-6dffaac0.entry.js +2 -0
  311. package/dist/core/p-6dffaac0.entry.js.map +1 -0
  312. package/dist/core/p-6fd89ed5.entry.js +2 -0
  313. package/dist/core/p-6fd89ed5.entry.js.map +1 -0
  314. package/dist/core/p-7aa6b76e.entry.js +2 -0
  315. package/dist/core/p-7aa6b76e.entry.js.map +1 -0
  316. package/dist/core/{p-e5d99316.entry.js → p-7b90f0ae.entry.js} +2 -2
  317. package/dist/core/{p-5f5403e2.entry.js → p-7e1603cc.entry.js} +2 -2
  318. package/dist/core/p-7e1603cc.entry.js.map +1 -0
  319. package/dist/core/{p-30b046b2.entry.js → p-7e5b0fff.entry.js} +2 -2
  320. package/dist/core/{p-d8563643.entry.js → p-80b296cd.entry.js} +2 -2
  321. package/dist/core/p-80b296cd.entry.js.map +1 -0
  322. package/dist/core/{p-73b40c79.entry.js → p-82aa8136.entry.js} +2 -2
  323. package/dist/core/{p-73b40c79.entry.js.map → p-82aa8136.entry.js.map} +1 -1
  324. package/dist/core/p-83b4efe2.entry.js +2 -0
  325. package/dist/core/p-83b4efe2.entry.js.map +1 -0
  326. package/dist/core/p-83e4d955.entry.js +2 -0
  327. package/dist/core/p-83e4d955.entry.js.map +1 -0
  328. package/dist/core/p-86b608b5.entry.js +2 -0
  329. package/dist/core/p-86b608b5.entry.js.map +1 -0
  330. package/dist/core/p-878df16f.entry.js +2 -0
  331. package/dist/core/p-878df16f.entry.js.map +1 -0
  332. package/dist/core/p-89be0a21.js +2 -0
  333. package/dist/core/p-89be0a21.js.map +1 -0
  334. package/dist/core/{p-306def43.entry.js → p-8bec76d1.entry.js} +2 -2
  335. package/dist/core/p-8bec76d1.entry.js.map +1 -0
  336. package/dist/core/p-94141606.entry.js +2 -0
  337. package/dist/core/p-94141606.entry.js.map +1 -0
  338. package/dist/core/{p-108a9029.entry.js → p-94416b6b.entry.js} +2 -2
  339. package/dist/core/p-94416b6b.entry.js.map +1 -0
  340. package/dist/core/{p-f743b0eb.entry.js → p-a4439688.entry.js} +2 -2
  341. package/dist/core/{p-f743b0eb.entry.js.map → p-a4439688.entry.js.map} +1 -1
  342. package/dist/core/p-a8106c56.entry.js +2 -0
  343. package/dist/core/p-a8106c56.entry.js.map +1 -0
  344. package/dist/core/p-affd7f55.entry.js +2 -0
  345. package/dist/core/p-affd7f55.entry.js.map +1 -0
  346. package/dist/core/{p-c21d0db8.entry.js → p-b3d93bc1.entry.js} +2 -2
  347. package/dist/core/p-b3d93bc1.entry.js.map +1 -0
  348. package/dist/core/p-bac2beeb.entry.js +2 -0
  349. package/dist/core/p-bac2beeb.entry.js.map +1 -0
  350. package/dist/core/p-c29b2b48.entry.js +2 -0
  351. package/dist/core/p-c29b2b48.entry.js.map +1 -0
  352. package/dist/core/p-c40c57ee.entry.js +2 -0
  353. package/dist/core/p-c40c57ee.entry.js.map +1 -0
  354. package/dist/core/p-c6a62d1b.entry.js +2 -0
  355. package/dist/core/p-c6a62d1b.entry.js.map +1 -0
  356. package/dist/core/{p-266341f5.entry.js → p-cc22644d.entry.js} +2 -2
  357. package/dist/core/{p-266341f5.entry.js.map → p-cc22644d.entry.js.map} +1 -1
  358. package/dist/core/p-cfd81370.entry.js +2 -0
  359. package/dist/core/p-cfd81370.entry.js.map +1 -0
  360. package/dist/core/p-d53fb899.entry.js +2 -0
  361. package/dist/core/p-d53fb899.entry.js.map +1 -0
  362. package/dist/core/p-d5e9cf81.entry.js +2 -0
  363. package/dist/core/p-d5e9cf81.entry.js.map +1 -0
  364. package/dist/core/{p-505250cf.entry.js → p-d7632baf.entry.js} +2 -2
  365. package/dist/core/p-dcccd9c1.entry.js +2 -0
  366. package/dist/core/{p-aee8d45b.entry.js.map → p-dcccd9c1.entry.js.map} +1 -1
  367. package/dist/core/p-edfd0946.entry.js +2 -0
  368. package/dist/core/p-edfd0946.entry.js.map +1 -0
  369. package/dist/core/p-f1842a68.entry.js +2 -0
  370. package/dist/core/p-f1842a68.entry.js.map +1 -0
  371. package/dist/core/{p-f1072c28.entry.js → p-f64abdff.entry.js} +2 -2
  372. package/dist/core/p-f64abdff.entry.js.map +1 -0
  373. package/dist/core/p-f8c1d7e8.entry.js +2 -0
  374. package/dist/core/p-f8c1d7e8.entry.js.map +1 -0
  375. package/dist/core/{p-d03374fc.entry.js → p-fbb5c8f2.entry.js} +2 -2
  376. package/dist/core/p-fc2f336d.entry.js +2 -0
  377. package/dist/core/p-fc2f336d.entry.js.map +1 -0
  378. package/dist/esm/core.js +1 -1
  379. package/dist/esm/{helpers-5bd2012a.js → helpers-a7b13f5a.js} +15 -122
  380. package/dist/esm/helpers-a7b13f5a.js.map +1 -0
  381. package/dist/esm/{helpers-dab8ddfe.js → helpers-c326255f.js} +23 -2
  382. package/dist/esm/helpers-c326255f.js.map +1 -0
  383. package/dist/esm/ic-accordion-group.entry.js +1 -1
  384. package/dist/esm/ic-accordion.entry.js +2 -2
  385. package/dist/esm/ic-accordion.entry.js.map +1 -1
  386. package/dist/esm/ic-alert.entry.js +2 -2
  387. package/dist/esm/ic-alert.entry.js.map +1 -1
  388. package/dist/esm/ic-back-to-top.entry.js +1 -1
  389. package/dist/esm/ic-badge.entry.js +2 -2
  390. package/dist/esm/ic-badge.entry.js.map +1 -1
  391. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  392. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  393. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  394. package/dist/esm/ic-button_3.entry.js +17 -16
  395. package/dist/esm/ic-button_3.entry.js.map +1 -1
  396. package/dist/esm/ic-card-horizontal.entry.js +2 -2
  397. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  398. package/dist/esm/ic-card-vertical.entry.js +2 -2
  399. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  400. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  401. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  402. package/dist/esm/ic-checkbox.entry.js +3 -3
  403. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  404. package/dist/esm/ic-chip.entry.js +22 -15
  405. package/dist/esm/ic-chip.entry.js.map +1 -1
  406. package/dist/esm/ic-classification-banner.entry.js +1 -1
  407. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  408. package/dist/esm/ic-data-row.entry.js +1 -1
  409. package/dist/esm/ic-data-table-title-bar.entry.js +2 -2
  410. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  411. package/dist/esm/ic-data-table.entry.js +31 -8
  412. package/dist/esm/ic-data-table.entry.js.map +1 -1
  413. package/dist/esm/ic-date-input.entry.js +11 -10
  414. package/dist/esm/ic-date-input.entry.js.map +1 -1
  415. package/dist/esm/ic-date-picker.entry.js +4 -2
  416. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  417. package/dist/esm/ic-dialog.entry.js +1 -1
  418. package/dist/esm/ic-divider.entry.js +2 -2
  419. package/dist/esm/ic-divider.entry.js.map +1 -1
  420. package/dist/esm/ic-empty-state_2.entry.js +24 -17
  421. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  422. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  423. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  424. package/dist/esm/ic-footer-link.entry.js +2 -2
  425. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  426. package/dist/esm/ic-footer.entry.js +2 -2
  427. package/dist/esm/ic-footer.entry.js.map +1 -1
  428. package/dist/esm/ic-hero.entry.js +1 -1
  429. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  430. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  431. package/dist/{collection/components/ic-menu-with-multi/ic-menu.js → esm/ic-input-component-container_3.entry.js} +157 -727
  432. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -0
  433. package/dist/esm/ic-input-label_2.entry.js +81 -0
  434. package/dist/esm/ic-input-label_2.entry.js.map +1 -0
  435. package/dist/esm/ic-link.entry.js +2 -2
  436. package/dist/esm/ic-link.entry.js.map +1 -1
  437. package/dist/esm/ic-menu-group.entry.js +2 -2
  438. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  439. package/dist/esm/ic-menu-item.entry.js +2 -2
  440. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  441. package/dist/esm/ic-navigation-button.entry.js +1 -1
  442. package/dist/esm/ic-navigation-group.entry.js +2 -2
  443. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  444. package/dist/esm/ic-navigation-item.entry.js +2 -2
  445. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  446. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  447. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  448. package/dist/esm/ic-page-header.entry.js +5 -5
  449. package/dist/esm/ic-page-header.entry.js.map +1 -1
  450. package/dist/esm/ic-pagination_4.entry.js +151 -41
  451. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  452. package/dist/esm/ic-popover-menu.entry.js +27 -21
  453. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  454. package/dist/esm/ic-radio-group.entry.js +20 -10
  455. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  456. package/dist/esm/ic-radio-option.entry.js +27 -22
  457. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  458. package/dist/esm/ic-search-bar.entry.js +12 -25
  459. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  460. package/dist/esm/ic-side-navigation.entry.js +2 -2
  461. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  462. package/dist/esm/ic-skeleton.entry.js +4 -4
  463. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  464. package/dist/esm/ic-status-tag.entry.js +2 -2
  465. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  466. package/dist/esm/ic-step.entry.js +4 -5
  467. package/dist/esm/ic-step.entry.js.map +1 -1
  468. package/dist/esm/ic-stepper.entry.js +12 -2
  469. package/dist/esm/ic-stepper.entry.js.map +1 -1
  470. package/dist/esm/ic-switch.entry.js +7 -4
  471. package/dist/esm/ic-switch.entry.js.map +1 -1
  472. package/dist/esm/ic-tab-context.entry.js +58 -122
  473. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  474. package/dist/esm/ic-tab-group.entry.js +1 -1
  475. package/dist/esm/ic-tab-panel.entry.js +2 -2
  476. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  477. package/dist/esm/ic-tab.entry.js +6 -7
  478. package/dist/esm/ic-tab.entry.js.map +1 -1
  479. package/dist/esm/ic-theme.entry.js +1 -1
  480. package/dist/esm/ic-toast.entry.js +3 -3
  481. package/dist/esm/ic-toast.entry.js.map +1 -1
  482. package/dist/esm/ic-toggle-button.entry.js +2 -2
  483. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  484. package/dist/esm/ic-top-navigation.entry.js +2 -2
  485. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  486. package/dist/esm/ic-tree-item.entry.js +5 -3
  487. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  488. package/dist/esm/ic-tree-view.entry.js +10 -2
  489. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  490. package/dist/esm/ic-typography.entry.js +5 -3
  491. package/dist/esm/ic-typography.entry.js.map +1 -1
  492. package/dist/esm/index-93509377.js +4 -12
  493. package/dist/esm/loader.js +1 -1
  494. package/dist/types/components/ic-data-table/ic-data-table.d.ts +4 -0
  495. package/dist/types/components/ic-data-table/story-data.d.ts +15 -0
  496. package/dist/types/components/ic-date-input/ic-date-input.d.ts +4 -0
  497. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +4 -0
  498. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +14 -5
  499. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +4 -0
  500. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +5 -1
  501. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +5 -0
  502. package/dist/types/components.d.ts +63 -472
  503. package/dist/types/utils/helpers.d.ts +1 -1
  504. package/dist/types/utils/types.d.ts +1 -0
  505. package/hydrate/index.js +3695 -6960
  506. package/package.json +3 -3
  507. package/dist/cjs/helpers-33b42cd6.js.map +0 -1
  508. package/dist/cjs/helpers-6817cfbb.js.map +0 -1
  509. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +0 -156
  510. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +0 -1
  511. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +0 -2738
  512. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +0 -1
  513. package/dist/cjs/ic-menu.cjs.entry.js +0 -658
  514. package/dist/cjs/ic-menu.cjs.entry.js.map +0 -1
  515. package/dist/cjs/ic-select-with-multi.cjs.entry.js +0 -788
  516. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +0 -1
  517. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +0 -712
  518. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +0 -1
  519. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +0 -1057
  520. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +0 -1
  521. package/dist/collection/components/ic-select-with-multi/assets/Check.svg +0 -3
  522. package/dist/collection/components/ic-select-with-multi/assets/Clear.svg +0 -3
  523. package/dist/collection/components/ic-select-with-multi/assets/Expand.svg +0 -3
  524. package/dist/collection/components/ic-select-with-multi/ic-select.css +0 -695
  525. package/dist/collection/components/ic-select-with-multi/ic-select.js +0 -1520
  526. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +0 -1
  527. package/dist/collection/components/ic-select-with-multi/story-data.js +0 -216
  528. package/dist/collection/components/ic-select-with-multi/story-data.js.map +0 -1
  529. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +0 -1518
  530. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +0 -1
  531. package/dist/components/ic-menu-with-multi.d.ts +0 -11
  532. package/dist/components/ic-menu-with-multi.js +0 -8
  533. package/dist/components/ic-menu-with-multi.js.map +0 -1
  534. package/dist/components/ic-menu3.js +0 -2803
  535. package/dist/components/ic-menu3.js.map +0 -1
  536. package/dist/components/ic-select-with-multi.d.ts +0 -11
  537. package/dist/components/ic-select-with-multi.js +0 -906
  538. package/dist/components/ic-select-with-multi.js.map +0 -1
  539. package/dist/core/p-06eeb7f2.entry.js +0 -2
  540. package/dist/core/p-06eeb7f2.entry.js.map +0 -1
  541. package/dist/core/p-0922c552.entry.js +0 -2
  542. package/dist/core/p-0922c552.entry.js.map +0 -1
  543. package/dist/core/p-0bc0e852.entry.js +0 -2
  544. package/dist/core/p-0bc0e852.entry.js.map +0 -1
  545. package/dist/core/p-108a9029.entry.js.map +0 -1
  546. package/dist/core/p-13100d3c.entry.js +0 -2
  547. package/dist/core/p-13100d3c.entry.js.map +0 -1
  548. package/dist/core/p-1769df1d.entry.js +0 -2
  549. package/dist/core/p-1769df1d.entry.js.map +0 -1
  550. package/dist/core/p-297e99cf.js +0 -2
  551. package/dist/core/p-297e99cf.js.map +0 -1
  552. package/dist/core/p-306def43.entry.js.map +0 -1
  553. package/dist/core/p-3778cc5e.entry.js +0 -2
  554. package/dist/core/p-3778cc5e.entry.js.map +0 -1
  555. package/dist/core/p-383a5a76.entry.js +0 -2
  556. package/dist/core/p-383a5a76.entry.js.map +0 -1
  557. package/dist/core/p-3a0510e2.entry.js +0 -2
  558. package/dist/core/p-3a0510e2.entry.js.map +0 -1
  559. package/dist/core/p-3ace51f5.entry.js +0 -2
  560. package/dist/core/p-3ace51f5.entry.js.map +0 -1
  561. package/dist/core/p-3f0391c1.entry.js +0 -2
  562. package/dist/core/p-3f0391c1.entry.js.map +0 -1
  563. package/dist/core/p-41fecc61.entry.js +0 -2
  564. package/dist/core/p-41fecc61.entry.js.map +0 -1
  565. package/dist/core/p-46cb94a2.entry.js +0 -2
  566. package/dist/core/p-46cb94a2.entry.js.map +0 -1
  567. package/dist/core/p-4e67f127.entry.js +0 -2
  568. package/dist/core/p-4e67f127.entry.js.map +0 -1
  569. package/dist/core/p-50e48f4d.entry.js +0 -2
  570. package/dist/core/p-50e48f4d.entry.js.map +0 -1
  571. package/dist/core/p-56e7459a.entry.js +0 -2
  572. package/dist/core/p-56e7459a.entry.js.map +0 -1
  573. package/dist/core/p-59028160.entry.js +0 -2
  574. package/dist/core/p-59028160.entry.js.map +0 -1
  575. package/dist/core/p-5e6fd734.entry.js +0 -2
  576. package/dist/core/p-5e6fd734.entry.js.map +0 -1
  577. package/dist/core/p-5f5403e2.entry.js.map +0 -1
  578. package/dist/core/p-710c6a42.entry.js +0 -2
  579. package/dist/core/p-710c6a42.entry.js.map +0 -1
  580. package/dist/core/p-7a9de008.entry.js +0 -2
  581. package/dist/core/p-7a9de008.entry.js.map +0 -1
  582. package/dist/core/p-801414e2.entry.js +0 -2
  583. package/dist/core/p-801414e2.entry.js.map +0 -1
  584. package/dist/core/p-82ba744d.entry.js +0 -2
  585. package/dist/core/p-82ba744d.entry.js.map +0 -1
  586. package/dist/core/p-9397b15b.js.map +0 -1
  587. package/dist/core/p-9af6adb1.entry.js +0 -2
  588. package/dist/core/p-9af6adb1.entry.js.map +0 -1
  589. package/dist/core/p-9b54feca.entry.js +0 -2
  590. package/dist/core/p-9b54feca.entry.js.map +0 -1
  591. package/dist/core/p-a57cd616.entry.js +0 -2
  592. package/dist/core/p-a57cd616.entry.js.map +0 -1
  593. package/dist/core/p-a5eaed1a.entry.js +0 -2
  594. package/dist/core/p-a5eaed1a.entry.js.map +0 -1
  595. package/dist/core/p-a91340b4.entry.js +0 -2
  596. package/dist/core/p-a91340b4.entry.js.map +0 -1
  597. package/dist/core/p-aee8d45b.entry.js +0 -2
  598. package/dist/core/p-badd4c8d.entry.js +0 -2
  599. package/dist/core/p-badd4c8d.entry.js.map +0 -1
  600. package/dist/core/p-c07af2d8.entry.js +0 -2
  601. package/dist/core/p-c07af2d8.entry.js.map +0 -1
  602. package/dist/core/p-c21d0db8.entry.js.map +0 -1
  603. package/dist/core/p-c678f73d.entry.js +0 -2
  604. package/dist/core/p-c678f73d.entry.js.map +0 -1
  605. package/dist/core/p-c6ae9bad.entry.js +0 -2
  606. package/dist/core/p-c6ae9bad.entry.js.map +0 -1
  607. package/dist/core/p-c6c1e08e.entry.js +0 -2
  608. package/dist/core/p-c6c1e08e.entry.js.map +0 -1
  609. package/dist/core/p-d16f364a.entry.js +0 -2
  610. package/dist/core/p-d16f364a.entry.js.map +0 -1
  611. package/dist/core/p-d239c33b.entry.js +0 -2
  612. package/dist/core/p-d239c33b.entry.js.map +0 -1
  613. package/dist/core/p-d8563643.entry.js.map +0 -1
  614. package/dist/core/p-da40757f.entry.js +0 -2
  615. package/dist/core/p-da40757f.entry.js.map +0 -1
  616. package/dist/core/p-de052137.entry.js +0 -2
  617. package/dist/core/p-de052137.entry.js.map +0 -1
  618. package/dist/core/p-e89bb650.entry.js +0 -2
  619. package/dist/core/p-e89bb650.entry.js.map +0 -1
  620. package/dist/core/p-f1072c28.entry.js.map +0 -1
  621. package/dist/core/p-f37df214.entry.js +0 -2
  622. package/dist/core/p-f37df214.entry.js.map +0 -1
  623. package/dist/core/p-fe13f1ba.entry.js +0 -2
  624. package/dist/core/p-fe13f1ba.entry.js.map +0 -1
  625. package/dist/esm/helpers-5bd2012a.js.map +0 -1
  626. package/dist/esm/helpers-dab8ddfe.js.map +0 -1
  627. package/dist/esm/ic-input-component-container_4.entry.js +0 -149
  628. package/dist/esm/ic-input-component-container_4.entry.js.map +0 -1
  629. package/dist/esm/ic-menu-with-multi.entry.js +0 -2734
  630. package/dist/esm/ic-menu-with-multi.entry.js.map +0 -1
  631. package/dist/esm/ic-menu.entry.js +0 -654
  632. package/dist/esm/ic-menu.entry.js.map +0 -1
  633. package/dist/esm/ic-select-with-multi.entry.js +0 -784
  634. package/dist/esm/ic-select-with-multi.entry.js.map +0 -1
  635. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +0 -214
  636. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +0 -259
  637. package/dist/types/components/ic-select-with-multi/story-data.d.ts +0 -32
  638. /package/dist/core/{p-c033e7d6.entry.js.map → p-036d251b.entry.js.map} +0 -0
  639. /package/dist/core/{p-897b8d16.entry.js.map → p-24d03bbd.entry.js.map} +0 -0
  640. /package/dist/core/{p-a78cf2cb.entry.js.map → p-266098ee.entry.js.map} +0 -0
  641. /package/dist/core/{p-77a32de5.entry.js.map → p-2a3bd99a.entry.js.map} +0 -0
  642. /package/dist/core/{p-202bc922.entry.js.map → p-5ad1a7fb.entry.js.map} +0 -0
  643. /package/dist/core/{p-e5d99316.entry.js.map → p-7b90f0ae.entry.js.map} +0 -0
  644. /package/dist/core/{p-30b046b2.entry.js.map → p-7e5b0fff.entry.js.map} +0 -0
  645. /package/dist/core/{p-505250cf.entry.js.map → p-d7632baf.entry.js.map} +0 -0
  646. /package/dist/core/{p-d03374fc.entry.js.map → p-fbb5c8f2.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTypographyCss","Typography","constructor","hostRef","this","focusBtnFromKeyboard","inAGGrid","lastMarkerTop","lastWidth","resizeObserver","truncatedHeight","toggleExpanded","ev","stopPropagation","expanded","typographyTruncationExpandToggle","emit","typographyEl","el","checkMarkerPosition","elTop","markerTop","truncated","getElementTop","getClientRects","top","runResizeObserver","ResizeObserver","clearTimeout","resizeInterval","window","setTimeout","resizeObserverCallback","observe","truncWrapperEl","clientWidth","checkMaxLines","clientHeight","marker","truncButtonFocus","truncButtonFocussed","truncButtonBlur","truncButtonFocusFromMouse","applyVerticalMargins","bold","italic","maxLines","undefined","strikethrough","theme","underline","variant","watchExpandedHandler","setAttribute","disconnectedCallback","disconnect","resetTruncation","removeAttribute","componentDidLoad","_a","_b","getRootNode","host","tagName","document","createElement","style","visibility","appendChild","checkResizeObserver","componentWillRender","isElInAGGrid","height","numLines","Math","floor","setShowHideExpanded","render","h","Host","class","ref","focus","onFocus","onBlur","onMouseDown","onClick"],"sources":["../web-components/dist/collection/components/ic-typography/ic-typography.css?tag=ic-typography&encapsulation=shadow","../web-components/dist/collection/components/ic-typography/ic-typography.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n position: relative;\n color: var(--ic-typography-color, var(--ic-color-primary-text));\n}\n\n:host(.ic-typography-vertical-margins-h1) {\n margin: 0 0 var(--ic-space-xl);\n}\n\n:host(.ic-typography-vertical-margins-h2) {\n margin: var(--ic-space-xxl) 0 var(--ic-space-lg);\n}\n\n:host(.ic-typography-vertical-margins-h3) {\n margin: var(--ic-space-xl) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-h4) {\n margin: var(--ic-space-lg) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-subtitle-large),\n:host(.ic-typography-vertical-margins-subtitle-small),\n:host(.ic-typography-vertical-margins-body),\n:host(.ic-typography-vertical-margins-code-large),\n:host(.ic-typography-vertical-margins-code-small),\n:host(.ic-typography-vertical-margins-code-extra-small) {\n margin: 0 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-caption),\n:host(.ic-typography-vertical-margins-caption-uppercase) {\n margin: 0 0 var(--ic-space-xs);\n}\n\n:host(.ic-typography-vertical-margins-h2:first-child),\n:host(.ic-typography-vertical-margins-h3:first-child),\n:host(.ic-typography-vertical-margins-h4:first-child) {\n margin-top: 0;\n}\n\n:host(.ic-typography-h1) {\n font: var(--ic-font-h1) !important;\n}\n\n:host(.ic-typography-h2) {\n font: var(--ic-font-h2);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-h3) {\n font: var(--ic-font-h3);\n}\n\n:host(.ic-typography-h4) {\n font: var(--ic-font-h4);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-large) {\n font: var(--ic-font-subtitle-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-small) {\n font: var(--ic-font-subtitle-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-body) {\n font: var(--ic-font-body);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-caption) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-caption-uppercase) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-label) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-label-uppercase) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-code-large) {\n font: var(--ic-font-code-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-code-small) {\n font: var(--ic-font-code-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-code-extra-small) {\n font: var(--ic-font-code-extra-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-badge) {\n font: var(--ic-font-badge);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-badge-small) {\n font: var(--ic-font-badge-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-no-wrap) {\n white-space: nowrap;\n}\n\n:host ::slotted(h1),\n:host ::slotted(h2),\n:host ::slotted(h3),\n:host ::slotted(h4),\n:host ::slotted(h5),\n:host ::slotted(h6),\n:host ::slotted(p),\n:host ::slotted(label) {\n font: inherit;\n letter-spacing: inherit;\n}\n\n.trunc-wrapper {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n line-clamp: var(--truncation-max-lines, initial);\n -webkit-line-clamp: var(--truncation-max-lines, initial);\n overflow: hidden;\n padding-right: var(--ellipsis-padding-right, 0);\n}\n\n.trunc-btn {\n border: none;\n background: none;\n padding: 0;\n color: var(--ic-color-primary-text);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n transition: var(--ic-easing-transition-fast);\n}\n\n.trunc-btn:hover,\n.trunc-btn.focus {\n outline: none;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n cursor: pointer;\n}\n\n:host(.ic-typography-strikethrough) {\n text-decoration: line-through;\n}\n\n:host(.ic-typography-underline) {\n text-decoration: underline;\n}\n\n:host(.ic-typography-underline.ic-typography-strikethrough) {\n text-decoration: line-through underline;\n}\n\n:host(.ic-typography-italic) {\n font-style: italic !important;\n}\n\n:host(.ic-typography-bold) {\n font-weight: var(--ic-font-weight-bold);\n}\n\n:host(.ic-theme-dark),\n:host(.ic-theme-light) {\n --ic-typography-color: var(--ic-color-primary-text);\n}\n\n:host(.in-ag-grid),\n:host(.in-ag-grid) ::slotted(*) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@supports (text-underline-offset: 25%) {\n .trunc-btn:hover,\n .trunc-btn.focus {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n :host,\n .trunc-btn {\n color: var(--ic-architectural-white);\n }\n} */\n","import { h, Host, } from \"@stencil/core\";\nimport { checkResizeObserver, isElInAGGrid } from \"../../utils/helpers\";\nexport class Typography {\n constructor() {\n this.focusBtnFromKeyboard = true;\n this.inAGGrid = false;\n this.lastMarkerTop = 0;\n this.lastWidth = 0;\n this.resizeObserver = null;\n this.truncatedHeight = 0;\n this.toggleExpanded = (ev) => {\n ev.stopPropagation();\n this.expanded = !this.expanded;\n this.typographyTruncationExpandToggle.emit({\n expanded: this.expanded,\n typographyEl: this.el,\n });\n };\n this.checkMarkerPosition = (elTop, markerTop) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n }\n else {\n this.truncated = true;\n }\n };\n this.getElementTop = (el) => {\n return el.getClientRects ? el.getClientRects()[0].top : 0;\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n this.resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n this.truncButtonFocus = () => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n this.truncButtonBlur = () => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n this.truncButtonFocusFromMouse = () => {\n this.focusBtnFromKeyboard = false;\n };\n this.truncated = false;\n this.truncButtonFocussed = false;\n this.applyVerticalMargins = false;\n this.bold = false;\n this.italic = false;\n this.maxLines = undefined;\n this.strikethrough = false;\n this.theme = \"inherit\";\n this.underline = false;\n this.variant = \"body\";\n this.expanded = false;\n }\n watchExpandedHandler() {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`);\n }\n disconnectedCallback() {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n /**\n * @internal This is used by data table to remove all truncation in certain events\n */\n async resetTruncation() {\n if (this.truncated) {\n this.truncated = false;\n this.maxLines = 0;\n this.el.removeAttribute(\"max-lines\");\n this.expanded = false;\n this.el.removeAttribute(\"style\");\n }\n }\n componentDidLoad() {\n var _a, _b;\n if ((this.variant === \"body\" ||\n ((_b = (_a = this.el.getRootNode()) === null || _a === void 0 ? void 0 : _a.host) === null || _b === void 0 ? void 0 : _b.tagName) ===\n \"IC-TOOLTIP\") &&\n this.maxLines > 0) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n componentWillRender() {\n if (isElInAGGrid(this.el)) {\n this.inAGGrid = true;\n }\n }\n /**\n * @internal This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines\n * @param height - text container height\n */\n async checkMaxLines(height) {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n }\n /**\n * @internal This method makes it possible to set the expanded status of truncated text outside of ic-typography component\n */\n async setShowHideExpanded(expanded) {\n this.expanded = expanded;\n }\n render() {\n var _a, _b;\n const { variant, applyVerticalMargins, maxLines, truncated, expanded, strikethrough, underline, italic, bold, theme, } = this;\n return (h(Host, { class: {\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n [\"ic-typography-bold\"]: bold,\n [\"ic-typography-italic\"]: italic,\n [\"ic-typography-strikethrough\"]: strikethrough,\n [\"ic-typography-underline\"]: underline,\n [\"in-ag-grid\"]: this.inAGGrid,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n } }, (variant === \"body\" ||\n ((_b = (_a = this.el.getRootNode()) === null || _a === void 0 ? void 0 : _a.host) === null || _b === void 0 ? void 0 : _b.tagName) ===\n \"IC-TOOLTIP\") &&\n maxLines > 0 ? (h(\"div\", { class: \"trunc-wrapper\", ref: (el) => (this.truncWrapperEl = el) }, h(\"slot\", null))) : (h(\"slot\", null)), variant === \"body\" && maxLines > 0 && truncated && (h(\"button\", { class: { \"trunc-btn\": true, focus: this.truncButtonFocussed }, onFocus: this.truncButtonFocus, onBlur: this.truncButtonBlur, onMouseDown: this.truncButtonFocusFromMouse, onClick: this.toggleExpanded }, expanded ? \"See less\" : \"See more\"))));\n }\n static get is() { return \"ic-typography\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-typography.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-typography.css\"]\n };\n }\n static get properties() {\n return {\n \"applyVerticalMargins\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, appropriate top and bottom margins will be applied to the typography.\"\n },\n \"attribute\": \"apply-vertical-margins\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"bold\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the typography will have a bold font weight.\\nNote: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\"\n },\n \"attribute\": \"bold\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"italic\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the typography will have an italic font style.\"\n },\n \"attribute\": \"italic\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"maxLines\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of lines to display before truncating the text, only used for the 'body' variant.\"\n },\n \"attribute\": \"max-lines\",\n \"reflect\": false\n },\n \"strikethrough\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the typography will have a line through it.\"\n },\n \"attribute\": \"strikethrough\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the text color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"underline\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the typography will have a line under it.\"\n },\n \"attribute\": \"underline\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcTypographyVariants\",\n \"resolved\": \"\\\"badge\\\" | \\\"badge-small\\\" | \\\"body\\\" | \\\"caption\\\" | \\\"caption-uppercase\\\" | \\\"code-extra-small\\\" | \\\"code-large\\\" | \\\"code-small\\\" | \\\"h1\\\" | \\\"h2\\\" | \\\"h3\\\" | \\\"h4\\\" | \\\"label\\\" | \\\"label-uppercase\\\" | \\\"subtitle-large\\\" | \\\"subtitle-small\\\"\",\n \"references\": {\n \"IcTypographyVariants\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcTypographyVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The ICDS typography style to use.\"\n },\n \"attribute\": \"variant\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"body\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"truncated\": {},\n \"truncButtonFocussed\": {},\n \"expanded\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"typographyTruncationExpandToggle\",\n \"name\": \"typographyTruncationExpandToggle\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emits and event when the typography truncation button has been clicked.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{\\n expanded: boolean;\\n typographyEl: HTMLIcTypographyElement;\\n }\",\n \"resolved\": \"{ expanded: boolean; typographyEl: HTMLIcTypographyElement; }\",\n \"references\": {\n \"HTMLIcTypographyElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLIcTypographyElement\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"resetTruncation\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"This is used by data table to remove all truncation in certain events\"\n }]\n }\n },\n \"checkMaxLines\": {\n \"complexType\": {\n \"signature\": \"(height: number) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"height\",\n \"type\": \"number\",\n \"docs\": \"- text container height\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines\"\n }, {\n \"name\": \"param\",\n \"text\": \"height - text container height\"\n }]\n }\n },\n \"setShowHideExpanded\": {\n \"complexType\": {\n \"signature\": \"(expanded: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"expanded\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"This method makes it possible to set the expanded status of truncated text outside of ic-typography component\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"expanded\",\n \"methodName\": \"watchExpandedHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-typography.js.map\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r,h as e,H as c,g as o}from"./p-8455d1bb.js";import{C as i}from"./p-170ddfc2.js";import{i as t,d as a}from"./p-9397b15b.js";const s=`<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="currentColor"/>\n</svg>\n`;const n=':host{display:block;margin:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}:host .breadcrumb{display:flex;align-items:center;white-space:nowrap;gap:var(--ic-space-xs);min-height:var(--ic-space-lg)}:host .chevron{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host .chevron svg{color:var(--ic-breadcrumb-icon-chevron)}:host(.ic-breadcrumb-monochrome) .chevron svg{color:var(--ic-breadcrumb-icon-chevron-monochrome)}:host(:first-child) .chevron{display:none}.back-icon svg{color:var(--ic-breadcrumb-page-icon)}:host(.ic-breadcrumb-monochrome) .back-icon svg{color:var(--ic-breadcrumb-page-icon-monochrome)}:host(.ic-breadcrumb-back){display:flex;align-items:center}:host(.ic-breadcrumb-back) .chevron{display:none}ic-link{--breadcrumb-link-display:inline-flex;--breadcrumb-link-align-items:center;--breadcrumb-link-gap:var(--ic-space-xs)}:host([aria-current="page"]) .current-page-container{display:flex;align-items:center;gap:var(--ic-space-xs);color:var(--ic-breadcrumb-text)}:host([aria-current="page"].ic-breadcrumb-monochrome) .current-page-container{color:var(--ic-breadcrumb-text-monochrome)}:host(.collapsed-breadcrumb-wrapper){margin-right:var(--ic-space-xs) !important;display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb){border:none;background-color:transparent;color:var(--ic-hyperlink);text-decoration:underline;font-weight:var(--ic-font-weight-bold);cursor:pointer}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){outline:var(--ic-hc-focus-outline);border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}.hide,:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide){display:none}@media (forced-colors: active){.back-icon svg{color:currentcolor}}@supports (text-underline-offset: 25%){ic-link{--breadcrumb-link-display:flex}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}';const l=class{constructor(c){r(this,c);this.renderDefaultBreadcrumb=(r,c,o,i)=>{const n=c!==null&&a(c)&&c!=="";if(r&&n){return e("span",{class:{"current-page-container":r}},t(this.el,"icon")&&e("slot",{name:"icon"}),c)}return e("ic-link",{theme:this.theme,monochrome:this.monochrome,href:i,class:"breadcrumb-link","aria-describedby":this.showBackIcon&&o&&o},this.showBackIcon&&e("div",{class:"back-icon",innerHTML:s}),t(this.el,"icon")&&e("slot",{name:"icon"}),c)};this.setSlottedCurrentPageClass=()=>{const r=this.el.querySelector("ic-link");const e="current-page";if(r){r.classList.remove(e);if(this.current){const c=r.classList.contains(e);if(!c){r.classList.add("breadcrumb-link",e)}}}};this.current=false;this.href=undefined;this.monochrome=false;this.pageTitle=undefined;this.showBackIcon=false;this.theme="inherit"}componentWillRender(){this.setSlottedCurrentPageClass()}async setFocus(){if(this.el.shadowRoot.querySelector("ic-link")){this.el.shadowRoot.querySelector("ic-link").focus()}}render(){const{current:r,href:o,pageTitle:t}=this;const s=`${t&&t.toLowerCase().replace(" ","-")}-describedby`;const n=t!==null&&a(t)&&t!=="";const l=o!==null&&a(o)&&o!=="";return e(c,{class:{"ic-breadcrumb-back":this.showBackIcon,[`ic-theme-${this.theme}`]:this.theme!=="inherit","ic-breadcrumb-monochrome":this.monochrome},"aria-current":r&&"page",role:"listitem"},e("div",{class:"breadcrumb"},e("span",{innerHTML:i,class:"chevron","aria-hidden":"true"}),this.showBackIcon&&s&&e("span",{id:s,class:"hide"},`Back to ${t}`),n&&l?this.renderDefaultBreadcrumb(r,t,s,o):e("slot",null)))}static get delegatesFocus(){return true}get el(){return o(this)}};l.style=n;export{l as ic_breadcrumb};
2
- //# sourceMappingURL=p-3778cc5e.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icBreadcrumbCss","Breadcrumb","constructor","hostRef","this","renderDefaultBreadcrumb","current","pageTitle","describedById","href","hasPageTitle","isPropDefined","h","class","isSlotUsed","el","name","theme","monochrome","showBackIcon","innerHTML","backIcon","setSlottedCurrentPageClass","icLink","querySelector","currentPage","classList","remove","hasCurrentPageClass","contains","add","undefined","componentWillRender","setFocus","shadowRoot","focus","render","toLowerCase","replace","hasHref","Host","role","chevronIcon","id","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css?tag=ic-breadcrumb&encapsulation=shadow","../web-components/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js"],"sourcesContent":[":host {\n display: block;\n margin: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n:host .breadcrumb {\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: var(--ic-space-xs);\n min-height: var(--ic-space-lg);\n}\n\n:host .chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host .chevron svg {\n color: var(--ic-breadcrumb-icon-chevron);\n}\n\n:host(.ic-breadcrumb-monochrome) .chevron svg {\n color: var(--ic-breadcrumb-icon-chevron-monochrome);\n}\n\n:host(:first-child) .chevron {\n display: none;\n}\n\n.back-icon svg {\n color: var(--ic-breadcrumb-page-icon);\n}\n\n:host(.ic-breadcrumb-monochrome) .back-icon svg {\n color: var(--ic-breadcrumb-page-icon-monochrome);\n}\n\n:host(.ic-breadcrumb-back) {\n display: flex;\n align-items: center;\n}\n\n:host(.ic-breadcrumb-back) .chevron {\n display: none;\n}\n\nic-link {\n --breadcrumb-link-display: inline-flex;\n --breadcrumb-link-align-items: center;\n --breadcrumb-link-gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) .current-page-container {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n color: var(--ic-breadcrumb-text);\n}\n\n:host([aria-current=\"page\"].ic-breadcrumb-monochrome) .current-page-container {\n color: var(--ic-breadcrumb-text-monochrome);\n}\n\n:host(.collapsed-breadcrumb-wrapper) {\n margin-right: var(--ic-space-xs) !important;\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb) {\n border: none;\n background-color: transparent;\n color: var(--ic-hyperlink);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n cursor: pointer;\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n outline: var(--ic-hc-focus-outline);\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n.hide,\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide) {\n display: none;\n}\n\n@media (forced-colors: active) {\n .back-icon svg {\n color: currentcolor;\n }\n}\n\n@supports (text-underline-offset: 25%) {\n ic-link {\n --breadcrumb-link-display: flex;\n }\n\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n","import { Host, h } from \"@stencil/core\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport backIcon from \"../../assets/back-icon.svg\";\nimport { isPropDefined, isSlotUsed } from \"../../utils/helpers\";\n/**\n * @slot icon - Content will be rendered to the left of the breadcrumb page title.\n */\nexport class Breadcrumb {\n constructor() {\n this.renderDefaultBreadcrumb = (current, pageTitle, describedById, href) => {\n const hasPageTitle = pageTitle !== null && isPropDefined(pageTitle) && pageTitle !== \"\";\n if (current && hasPageTitle) {\n return (h(\"span\", { class: {\n \"current-page-container\": current,\n } }, isSlotUsed(this.el, \"icon\") && h(\"slot\", { name: \"icon\" }), pageTitle));\n }\n return (h(\"ic-link\", { theme: this.theme, monochrome: this.monochrome, href: href, class: \"breadcrumb-link\", \"aria-describedby\": this.showBackIcon && describedById && describedById }, this.showBackIcon && (h(\"div\", { class: \"back-icon\", innerHTML: backIcon })), isSlotUsed(this.el, \"icon\") && h(\"slot\", { name: \"icon\" }), pageTitle));\n };\n this.setSlottedCurrentPageClass = () => {\n const icLink = this.el.querySelector(\"ic-link\");\n const currentPage = \"current-page\";\n if (icLink) {\n icLink.classList.remove(currentPage);\n if (this.current) {\n const hasCurrentPageClass = icLink.classList.contains(currentPage);\n if (!hasCurrentPageClass) {\n icLink.classList.add(\"breadcrumb-link\", currentPage);\n }\n }\n }\n };\n this.current = false;\n this.href = undefined;\n this.monochrome = false;\n this.pageTitle = undefined;\n this.showBackIcon = false;\n this.theme = \"inherit\";\n }\n componentWillRender() {\n this.setSlottedCurrentPageClass();\n }\n /**\n * Sets focus on the breadcrumb.\n */\n async setFocus() {\n if (this.el.shadowRoot.querySelector(\"ic-link\")) {\n this.el.shadowRoot.querySelector(\"ic-link\").focus();\n }\n }\n render() {\n const { current, href, pageTitle } = this;\n const describedById = `${pageTitle && pageTitle.toLowerCase().replace(\" \", \"-\")}-describedby`;\n const hasPageTitle = pageTitle !== null && isPropDefined(pageTitle) && pageTitle !== \"\";\n const hasHref = href !== null && isPropDefined(href) && href !== \"\";\n return (h(Host, { class: {\n \"ic-breadcrumb-back\": this.showBackIcon,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n \"ic-breadcrumb-monochrome\": this.monochrome,\n }, \"aria-current\": current && \"page\", role: \"listitem\" }, h(\"div\", { class: \"breadcrumb\" }, h(\"span\", { innerHTML: chevronIcon, class: \"chevron\", \"aria-hidden\": \"true\" }), this.showBackIcon && describedById && (h(\"span\", { id: describedById, class: \"hide\" }, `Back to ${pageTitle}`)), hasPageTitle && hasHref ? (this.renderDefaultBreadcrumb(current, pageTitle, describedById, href)) : (h(\"slot\", null)))));\n }\n static get is() { return \"ic-breadcrumb\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-breadcrumb.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-breadcrumb.css\"]\n };\n }\n static get properties() {\n return {\n \"current\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, aria-current will be set on the breadcrumb.\"\n },\n \"attribute\": \"current\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the breadcrumb link points to.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, the breadcrumb will display as black in the light theme, and white in the dark theme.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"pageTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title of the breadcrumb.\"\n },\n \"attribute\": \"page-title\",\n \"reflect\": false\n },\n \"showBackIcon\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, back icon will be displayed.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"show-back-icon\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the breadcrumb.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-breadcrumb.js.map\n"],"mappings":"mUAAA,MAAMA,EAAkB,otE,MCOXC,EAAU,MACnB,WAAAC,CAAAC,G,UACIC,KAAKC,wBAA0B,CAACC,EAASC,EAAWC,EAAeC,KAC/D,MAAMC,EAAeH,IAAc,MAAQI,EAAcJ,IAAcA,IAAc,GACrF,GAAID,GAAWI,EAAc,CACzB,OAAQE,EAAE,OAAQ,CAAEC,MAAO,CACnB,yBAA0BP,IACzBQ,EAAWV,KAAKW,GAAI,SAAWH,EAAE,OAAQ,CAAEI,KAAM,SAAWT,E,CAEzE,OAAQK,EAAE,UAAW,CAAEK,MAAOb,KAAKa,MAAOC,WAAYd,KAAKc,WAAYT,KAAMA,EAAMI,MAAO,kBAAmB,mBAAoBT,KAAKe,cAAgBX,GAAiBA,GAAiBJ,KAAKe,cAAiBP,EAAE,MAAO,CAAEC,MAAO,YAAaO,UAAWC,IAAcP,EAAWV,KAAKW,GAAI,SAAWH,EAAE,OAAQ,CAAEI,KAAM,SAAWT,EAAU,EAEhVH,KAAKkB,2BAA6B,KAC9B,MAAMC,EAASnB,KAAKW,GAAGS,cAAc,WACrC,MAAMC,EAAc,eACpB,GAAIF,EAAQ,CACRA,EAAOG,UAAUC,OAAOF,GACxB,GAAIrB,KAAKE,QAAS,CACd,MAAMsB,EAAsBL,EAAOG,UAAUG,SAASJ,GACtD,IAAKG,EAAqB,CACtBL,EAAOG,UAAUI,IAAI,kBAAmBL,E,KAKxDrB,KAAKE,QAAU,MACfF,KAAKK,KAAOsB,UACZ3B,KAAKc,WAAa,MAClBd,KAAKG,UAAYwB,UACjB3B,KAAKe,aAAe,MACpBf,KAAKa,MAAQ,S,CAEjB,mBAAAe,GACI5B,KAAKkB,4B,CAKT,cAAMW,GACF,GAAI7B,KAAKW,GAAGmB,WAAWV,cAAc,WAAY,CAC7CpB,KAAKW,GAAGmB,WAAWV,cAAc,WAAWW,O,EAGpD,MAAAC,GACI,MAAM9B,QAAEA,EAAOG,KAAEA,EAAIF,UAAEA,GAAcH,KACrC,MAAMI,EAAgB,GAAGD,GAAaA,EAAU8B,cAAcC,QAAQ,IAAK,mBAC3E,MAAM5B,EAAeH,IAAc,MAAQI,EAAcJ,IAAcA,IAAc,GACrF,MAAMgC,EAAU9B,IAAS,MAAQE,EAAcF,IAASA,IAAS,GACjE,OAAQG,EAAE4B,EAAM,CAAE3B,MAAO,CACjB,qBAAsBT,KAAKe,aAC3B,CAAC,YAAYf,KAAKa,SAAUb,KAAKa,QAAU,UAC3C,2BAA4Bb,KAAKc,YAClC,eAAgBZ,GAAW,OAAQmC,KAAM,YAAc7B,EAAE,MAAO,CAAEC,MAAO,cAAgBD,EAAE,OAAQ,CAAEQ,UAAWsB,EAAa7B,MAAO,UAAW,cAAe,SAAWT,KAAKe,cAAgBX,GAAkBI,EAAE,OAAQ,CAAE+B,GAAInC,EAAeK,MAAO,QAAU,WAAWN,KAAeG,GAAgB6B,EAAWnC,KAAKC,wBAAwBC,EAASC,EAAWC,EAAeC,GAAUG,EAAE,OAAQ,O,CAIpZ,yBAAWgC,GAAmB,OAAO,IAAK,C"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as s,H as e,g as h}from"./p-8455d1bb.js";import{k as a,l,m as n,n as o,q as r,r as c,t as d,o as u,u as p,v as f,w as b,I as v,x as m,y as g,z as w}from"./p-297e99cf.js";const x=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n<path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />\n</svg>\n`;const y=`<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />\n</svg>\n`;const k='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;--menu-max-height:100px}:host(.ic-select-full-width){width:100%}ic-input-component-container:hover{--border-color:var(--ic-action-dark-hover)}ic-input-component-container:active{--border-color:var(--ic-action-dark-active);color:var(--ic-action-dark-active)}ic-input-component-container.menu-open{--border-color:var(--ic-architectural-400);color:var(--ic-action-dark)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs) !important}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:0.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 0.375rem center;background-image:url("data:image/svg+xml;utf8,<svg fill=\'black\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select option,.select-option-selected{color:var(--ic-color-primary-text)}select:disabled{color:var(--ic-architectural-200);background-image:url("data:image/svg+xml;utf8,<svg fill=\'grey\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center;position:relative}.select-input{width:100%;height:100%;padding:0 0.375rem;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none}.select-input:focus{outline:var(--ic-hc-focus-outline)}:host(:not(.ic-select-disabled)) ic-input-component-container:hover .select-input{background-color:var(--ic-architectural-white)}.select-input[disabled]{pointer-events:none}:host(.ic-select-searchable) .select-input{cursor:auto}.select-input.with-clear-button{padding-right:0}.value-text{max-width:calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));box-sizing:border-box}.value-text.with-clear-button{padding-right:calc(var(--ic-space-xl) + var(--ic-space-xs))}.value-text p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:0 !important}.searchable-select-container{align-items:center;display:flex;width:100%;position:relative}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xxs);color:var(--ic-action-dark)}.expand-icon>svg{display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-select-disabled) .expand-icon,:host(.ic-select-disabled) .expand-icon>svg>path{color:var(--ic-architectural-200)}:host(.ic-select-searchable) .expand-icon{padding-left:0;height:2.25rem}:host(.ic-select-searchable) .expand-icon>svg{height:2.25rem;padding:0 0.375rem}:host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-action-dark)}.expand-icon-open,:host(.ic-select-searchable) .expand-icon-open{transform:rotateX(180deg)}:host(.ic-select-disabled) .value-text,.placeholder{color:var(--ic-color-tertiary-text)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex}.divider{width:var(--ic-space-1px);background-color:var(--ic-architectural-400);margin:var(--ic-space-xxs) 0;border-radius:var(--ic-space-1px);height:var(--ic-space-lg)}:host(.ic-select-small) .divider{height:var(--ic-space-md)}:host(.ic-select-large) .divider{height:var(--ic-space-xl)}.clear-button{position:absolute;right:calc(var(--ic-space-xl) + var(--ic-space-xxs));border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow);border-radius:0.25rem}.clear-button:focus *{fill:white}.clear-button.searchable{position:static}.searchable-select-results-status,.multi-select-selected-count{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}';let z=0;const L=class{constructor(s){t(this,s);this.icBlur=i(this,"icBlur",7);this.icChange=i(this,"icChange",7);this.icClear=i(this,"icClear",7);this.icFocus=i(this,"icFocus",7);this.icInput=i(this,"icInput",7);this.icOptionSelect=i(this,"icOptionSelect",7);this.icOptionDeselect=i(this,"icOptionDeselect",7);this.icRetryLoad=i(this,"icRetryLoad",7);this.hasSetDefaultValue=false;this.inheritedAttributes={};this.initialOptionsEmpty=false;this.inputId=`ic-select-input-${z++}`;this.menuId=`${this.inputId}-menu`;this.searchableMenuItemSelected=false;this.ungroupedOptions=[];this.handleRetry=t=>{var i;if(t.detail.keyPressed)(i=this.searchableSelectElement)===null||i===void 0?void 0:i.focus();this.blurredBecauseButtonPressed=true;this.retryButtonClick=true;this.hasSetDefaultValue=true;this.icRetryLoad.emit({value:this.hiddenInputValue})};this.emitIcChange=t=>{if(!this.searchable){if(this.multiple&&!Array.isArray(t)&&t!==null){this.handleMultipleSelectChange(t)}else{this.value=t}}clearTimeout(this.debounceIcChange);this.debounceIcChange=window.setTimeout((()=>{const i=this.multiple?this.value:t;this.icChange.emit({value:i})}),this.currDebounce)};this.emitImmediateIcChange=t=>{this.value=t;clearTimeout(this.debounceIcChange);this.icChange.emit({value:t})};this.deduplicateOptions=t=>{const i=[];const s=[];let e;t.forEach((t=>{if(t.children){e=[];t.children.forEach((t=>{if(i.includes(t.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${t.value}) which has been removed.`)}else{i.push(t.value);e.push(t)}}));const h=Object.assign(Object.assign({},t),{children:e});s.push(h)}else{if(i.includes(t.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${t.value}) which has been removed.`)}else{i.push(t.value);s.push(t)}}}));return s};this.setOptionsValuesFromLabels=()=>{if(this.options.length>0&&this.options.map){this.options.map((t=>{if(!t.value){t.value=t.label}}))}};this.setUngroupedOptions=t=>{this.ungroupedOptions=t.detail.options};this.setTextColor=()=>{if(this.nativeSelectElement.selectedIndex===0){this.nativeSelectElement.className="placeholder"}else{this.nativeSelectElement.className="select-option-selected"}};this.setMenuChange=t=>{if(this.open!==t){this.open=t}};this.getLabelFromValue=t=>a(t,this.uniqueOptions);this.getMultipleOptionsString=t=>{const i=t===null||t===void 0?void 0:t.map((t=>this.getLabelFromValue(t)));return i===null||i===void 0?void 0:i.join(", ")};this.getFilteredChildMenuOptions=t=>{let i=t.children;if(this.searchable){i=l(t.children,this.includeDescriptionsInSearch,this.searchableSelectInputValue,this.searchMatchPosition)}else{i=l(t.children,false,this.pressedCharacters,"start")}const s=Object.assign({},t);s.children=i;return s};this.getValueSortedByOptions=t=>{const i=t;const s=this.ungroupedOptions.map((t=>t.value));i.sort(((t,i)=>s.indexOf(t)-s.indexOf(i)));return i};this.handleNativeSelectChange=()=>{this.icOptionSelect.emit({value:this.nativeSelectElement.value});this.emitImmediateIcChange(this.nativeSelectElement.value);this.setTextColor()};this.handleCustomSelectChange=t=>{var i;const s=t.detail.value;if(this.searchable&&t.detail.label===this.emptyOptionListText){this.searchableSelectElement.focus();return}if(this.searchable){this.value=s;this.searchableMenuItemSelected=true;if(this.value===this.currValue){this.searchableSelectInputValue=this.getLabelFromValue(this.value)}this.inputValueToFilter=null;this.hiddenInputValue=this.getValueFromLabel(this.searchableSelectInputValue)}if(this.multiple&&((i=this.value)===null||i===void 0?void 0:i.includes(s))){this.icOptionDeselect.emit({value:s})}else{this.icOptionSelect.emit({value:s})}this.ariaActiveDescendant=t.detail.optionId;this.emitIcChange(s)};this.handleMultipleSelectChange=t=>{if(this.value){let i=this.value.slice();if(this.value.includes(t)){const s=i.indexOf(t);i.splice(s,1)}else{i.push(t);i=this.getValueSortedByOptions(i)}this.value=i.length===0?null:i}else{const i=[];i.push(t);this.value=i}};this.handleSelectAllChange=t=>{const i=t.detail.select;const s=this.ungroupedOptions.filter((t=>!t.disabled));const e=s.map((t=>t.value));let h;if(i){let t;if(this.value){t=e.filter((t=>this.value&&!this.value.includes(t)))}else{t=e}t.forEach((t=>this.icOptionSelect.emit({value:t})));h=e}else{this.value.forEach((t=>this.icOptionDeselect.emit({value:t})));h=null}this.emitIcChange(h)};this.handleMenuChange=t=>{this.open=t.detail.open;this.pressedCharacters="";this.searchable&&this.handleFocusIndicatorDisplay()};this.handleMenuKeyPress=t=>{t.cancelBubble=true;if(!this.multiple){this.handleCharacterKeyDown(t.detail.key)}};this.handleFocusIndicatorDisplay=()=>{const t=this.el.shadowRoot.querySelector(".focus-indicator");if(this.open){t.classList.add("focus-indicator-enabled")}else{t.classList.remove("focus-indicator-enabled")}};this.handleMouseDown=t=>{if(!this.open){t.preventDefault()}};this.isExternalFiltering=()=>this.searchable&&this.disableAutoFiltering;this.handleClick=t=>{var i;if(!this.open){if(this.isExternalFiltering()){this.menu.options=this.filteredOptions}else if(!this.hasTimedOut&&!this.loading&&!((i=this.noOptions)===null||i===void 0?void 0:i.length)&&(!this.searchable||this.searchableMenuItemSelected)){this.noOptions=null;this.menu.options=this.uniqueOptions}}if(t.detail!==0){this.menu.handleClickOpen()}};this.handleExpandIconMouseDown=t=>{if(!this.disabled){t.preventDefault();this.searchableSelectElement.focus();this.handleClick(t)}};this.handleClear=t=>{t.stopPropagation();this.hasTimedOut=false;clearTimeout(this.timeoutTimer);this.noOptions=null;this.emitImmediateIcChange(null);this.icClear.emit();if(this.searchable){this.searchableSelectElement.value=null;this.searchableSelectInputValue=null;this.filteredOptions=this.uniqueOptions;this.hiddenInputValue=null;this.searchableSelectElement.focus()}else{this.customSelectElement.focus()}};this.handleCharacterKeyDown=t=>{if(this.open&&t===" "&&this.pressedCharacters.length===0&&!this.hasTimedOut&&!this.loading){this.setMenuChange(false)}if(t.length===1&&!this.searchable){window.clearTimeout(this.characterKeyPressTimer);this.characterKeyPressTimer=window.setTimeout((()=>this.pressedCharacters=""),1e3);if(!(t===" "&&!this.pressedCharacters)){this.pressedCharacters+=t;this.handleFilter();if(!this.noOptions){this.emitImmediateIcChange(this.filteredOptions[0].value)}}}else{this.pressedCharacters=""}};this.handleNativeSelectKeyDown=t=>{if(t.key!=="Escape"&&t.key!=="Tab"||this.open){t.cancelBubble=true}this.handleCharacterKeyDown(t.key)};this.handleKeyDown=t=>{if(t.key!=="Escape"&&t.key!=="Tab"||this.open){t.cancelBubble=true}const i=t.key==="ArrowDown"||t.key==="ArrowUp";if(!this.open){if(this.isExternalFiltering()&&(t.key==="Enter"||i)){this.menu.options=this.filteredOptions}else{if(!this.hasTimedOut){this.noOptions=null;this.menu.options=this.uniqueOptions}}}if(this.open&&t.key==="Enter"){this.setMenuChange(false)}else{if(!(i&&this.noOptions!==null)){if(!(t.key===" "&&this.pressedCharacters.length>0)){this.menu.handleKeyboardOpen(t)}if(!this.multiple){this.handleCharacterKeyDown(t.key)}}}};this.handleClearButtonFocus=()=>{this.clearButtonFocused=true};this.handleClearButtonBlur=t=>{var i;const s=(i=this.menu)===null||i===void 0?void 0:i.querySelector("#retry-button");if(!(this.searchableSelectElement&&t.relatedTarget===this.searchableSelectElement)&&!(s&&t.relatedTarget===s)){this.setMenuChange(false);this.handleFocusIndicatorDisplay()}this.clearButtonFocused=false};this.handleFilter=()=>{var t;const i=this.deduplicateOptions(this.searchable?[...this.uniqueOptions]:this.ungroupedOptions);let s=false;let e=[];i.map((t=>{if(t.children)s=true}));let h;if(this.searchable){h=l(i,this.includeDescriptionsInSearch,this.inputValueToFilter,this.searchMatchPosition);this.searchableMenuItemSelected=false}else{h=l(i,false,this.pressedCharacters,"start")}if(!s&&((t=h[0])===null||t===void 0?void 0:t.label)!==this.emptyOptionListText){e=h}else if(s){i.map((t=>{if(this.includeGroupTitlesInSearch){if(h.indexOf(t)!==-1){e.push(t)}else{e.push(this.getFilteredChildMenuOptions(t))}}else{e.push(this.getFilteredChildMenuOptions(t))}}))}let a=false;if(s){a=true;e.map((t=>{if(t.children.length>0){a=false}}))}if(e.length>0&&!a){this.noOptions=null;this.filteredOptions=e}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.filteredOptions=this.noOptions}};this.triggerLoading=()=>{this.hasTimedOut=false;this.noOptions=[{label:this.loadingLabel,value:"",loading:true}];if(this.filteredOptions!==this.noOptions&&this.searchable){this.filteredOptions=this.noOptions}else if(this.uniqueOptions!==this.noOptions&&!this.searchable){this.uniqueOptions=this.noOptions}if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.loading=false;this.hasTimedOut=true;this.noOptions=[{label:this.loadingErrorLabel,value:"",timedOut:true}];this.filteredOptions=this.noOptions;if(!this.searchable)this.uniqueOptions=this.noOptions}),this.timeout)}};this.getValueFromLabel=t=>{var i;return(i=this.uniqueOptions.find((i=>i.label===t)))===null||i===void 0?void 0:i.value};this.handleSearchableSelectInput=t=>{this.searchableSelectInputValue=t.target.value;this.icInput.emit({value:this.searchableSelectInputValue});this.emitIcChange(this.searchableSelectInputValue);this.hiddenInputValue=this.searchableSelectInputValue;this.inputValueToFilter=this.searchableSelectInputValue;this.setMenuChange(true);if(!this.disableAutoFiltering){this.handleFilter();this.debounceAriaLiveUpdate()}};this.updateSearchableSelectResultAriaLive=()=>{const t=this.el.shadowRoot.querySelector(".searchable-select-results-status");if(t){if(this.noOptions!==null){t.innerText=this.emptyOptionListText}else{t.innerText=""}}};this.updateMultiSelectedCountAriaLive=()=>{var t;const i=this.el.shadowRoot.querySelector(".multi-select-selected-count");const s=`${(t=this.currValue)===null||t===void 0?void 0:t.length} of ${n(this.options)} selected`;if(i&&i.innerText!==s){i.innerText=s}};this.getDefaultValue=t=>this.getLabelFromValue(t)||t||null;this.setDefaultValue=()=>{if(!this.hasSetDefaultValue&&this.currValue){this.searchableSelectInputValue=this.searchable&&this.getDefaultValue(this.currValue);this.initialValue=this.currValue;this.hasSetDefaultValue=true}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=t=>{var i;const s=t.relatedTarget;if(s!==null&&s.tagName==="UL"&&s.className.includes("menu")){return}const e=(i=this.menu)===null||i===void 0?void 0:i.querySelector("#retry-button");const h=this.searchable&&t.relatedTarget!==this.menu&&!Array.from(this.menu.querySelectorAll("[role='option']")).includes(t.relatedTarget)&&!(this.clearButton&&t.relatedTarget===this.clearButton)&&!(e&&t.relatedTarget===e);if(h){if(!this.retryButtonClick){this.setMenuChange(false)}this.handleFocusIndicatorDisplay()}this.retryButtonClick=false;this.icBlur.emit()};this.onTimeoutBlur=t=>{if(t.detail.ev.relatedTarget!==this.searchableSelectElement&&!this.blurredBecauseButtonPressed){this.setMenuChange(false);this.handleFocusIndicatorDisplay();this.icBlur.emit()}this.blurredBecauseButtonPressed=false};this.handleFormReset=()=>{this.value=this.initialValue;if(this.searchable){this.searchableSelectInputValue=this.getDefaultValue(this.value);this.hiddenInputValue=this.value}};this.ariaActiveDescendant=undefined;this.clearButtonFocused=false;this.debounceIcChange=undefined;this.hiddenInputValue=undefined;this.noOptions=null;this.open=false;this.pressedCharacters="";this.searchableSelectInputValue=null;this.disabled=false;this.disableAutoFiltering=false;this.emptyOptionListText="No results found";this.form=undefined;this.fullWidth=false;this.helperText="";this.hideLabel=false;this.includeDescriptionsInSearch=false;this.includeGroupTitlesInSearch=false;this.label=undefined;this.loadingErrorLabel="Loading Error";this.loadingLabel="Loading...";this.multiple=false;this.name=this.inputId;this.placeholder="Select an option";this.readonly=false;this.required=false;this.searchable=false;this.searchMatchPosition="anywhere";this.selectOnEnter=false;this.showClearButton=false;this.size="medium";this.timeout=undefined;this.validationStatus="";this.validationText="";this.loading=false;this.options=[];this.filteredOptions=this.options;this.uniqueOptions=this.options;this.debounce=0;this.currDebounce=this.debounce;this.value=undefined;this.initialValue=this.value;this.inputValueToFilter=this.value;this.currValue=this.value}loadingHandler(t){t&&this.triggerLoading()}watchOptionsHandler(){if(!this.hasTimedOut&&this.options!==this.noOptions){this.loading=false;clearTimeout(this.timeoutTimer);if(this.isExternalFiltering()){if(this.options.length>0){this.setOptionsValuesFromLabels();this.noOptions=null;this.uniqueOptions=this.deduplicateOptions(this.options);this.filteredOptions=this.uniqueOptions}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions;this.filteredOptions=this.noOptions}this.updateSearchableSelectResultAriaLive();this.setDefaultValue()}else{this.setOptionsValuesFromLabels();this.uniqueOptions=this.deduplicateOptions(this.options);this.filteredOptions=this.uniqueOptions;if(this.initialOptionsEmpty){this.setDefaultValue();this.initialOptionsEmpty=false}}}else{if(!this.searchable)this.options=this.noOptions}}debounceChangedHandler(t){this.updateOnChangeDebounce(t)}valueChangedHandler(){if(this.value!==this.currValue){if(this.value&&this.multiple){this.currValue=this.getValueSortedByOptions(this.value);this.updateMultiSelectedCountAriaLive()}else{this.currValue=this.value}}if(this.searchable){this.searchableSelectInputValue=this.getLabelFromValue(this.currValue)||this.currValue}}disconnectedCallback(){o(this.el,this.handleFormReset)}componentWillLoad(){this.inheritedAttributes=r(this.el,[...g,"tabindex","title"]);c(this.disabled,this.el);this.setOptionsValuesFromLabels();d(this.el,this.handleFormReset);if(!this.options.length){this.initialOptionsEmpty=true;this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions;this.filteredOptions=this.noOptions}else{this.setDefaultValue();this.uniqueOptions=this.deduplicateOptions(this.options)}}componentDidLoad(){u([{prop:this.label,propName:"label"}],"Select");if(this.loading){this.triggerLoading()}this.hiddenInputValue=this.searchable&&this.currValue}componentDidRender(){if(this.nativeSelectElement&&!this.disabled){this.setTextColor()}}async setFocus(){if(this.nativeSelectElement){this.nativeSelectElement.focus()}else if(this.customSelectElement){this.customSelectElement.focus()}else if(this.searchableSelectElement){this.searchableSelectElement.focus()}}updateOnChangeDebounce(t){if(this.currDebounce!==t){this.currDebounce=t}}debounceAriaLiveUpdate(){clearTimeout(this.debounceAria);window.setTimeout((()=>{this.updateSearchableSelectResultAriaLive()}),800)}render(){const{size:t,disabled:i,fullWidth:h,helperText:a,hideLabel:l,label:o,menuId:r,multiple:c,name:d,options:u,placeholder:g,readonly:k,required:z,searchable:L,showClearButton:C,validationStatus:M,validationText:T,currValue:H}=this;p(true,this.el,d,this.searchable?this.hiddenInputValue:H,i);const $=M===w.Error?"true":"false";const B=f(this.inputId,a!=="",m(this.validationStatus,this.disabled)).trim();const O=`${H===null||H===void 0?void 0:H.length} of ${n(this.options)} selected`;return s(e,{class:{["ic-select-disabled"]:i,["ic-select-searchable"]:L,[`ic-select-${t}`]:t!=="medium",["ic-select-full-width"]:h},onBlur:this.onBlur},s("ic-input-container",{readonly:k},!l&&s("ic-input-label",{for:this.inputId,label:o,helperText:a,required:z,disabled:i,readonly:k}),s("ic-input-component-container",{ref:t=>this.anchorEl=t,class:{"menu-open":this.open},size:t,fullWidth:h,disabled:i,readonly:k,validationStatus:M},k?s("ic-typography",null,s("p",null,c?this.getMultipleOptionsString(H):this.getLabelFromValue(H))):b()&&!c?s("select",Object.assign({ref:t=>this.nativeSelectElement=t,disabled:i,onChange:this.handleNativeSelectChange,required:z,id:this.inputId,"aria-label":o,"aria-describedby":B,"aria-invalid":$,onBlur:this.onBlur,onFocus:this.onFocus,onKeyDown:this.handleNativeSelectKeyDown,form:this.form},this.inheritedAttributes),s("option",{value:"",selected:true,disabled:!C},g),u.map((t=>{if(t.children){return s("optgroup",{label:t.label},t.children.map((t=>s("option",{value:t.value,disabled:t.disabled,selected:t.value===H},t.label))))}else{return s("option",{value:t.value,disabled:t.disabled,selected:t.value===H},t.label)}}))):L?s("div",{class:"searchable-select-container"},s("input",{class:{"select-input":true,"with-clear-button":!!this.searchableSelectInputValue},role:"combobox",autocomplete:"off","aria-label":o,"aria-describedby":B,"aria-activedescendant":this.ariaActiveDescendant,"aria-autocomplete":"list","aria-expanded":this.open?"true":"false","aria-invalid":$,"aria-required":z?"true":"false","aria-controls":r,ref:t=>this.searchableSelectElement=t,id:this.inputId,value:this.searchableSelectInputValue,placeholder:g,disabled:i,onInput:this.handleSearchableSelectInput,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.onFocus,onBlur:this.onBlur,form:this.form}),this.searchableSelectInputValue&&(C||L)&&s("div",{class:"clear-button-container"},s("ic-button",{id:"clear-button",ref:t=>this.clearButton=t,"aria-label":this.searchableSelectInputValue&&H===null?"Clear input":"Clear selection",class:"clear-button",innerHTML:y,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:t,variant:"icon",appearance:this.clearButtonFocused?v.Light:v.Dark}),s("div",{class:"divider"})),s("span",{onMouseDown:this.handleExpandIconMouseDown,class:{"expand-icon":true,"expand-icon-open":this.open},innerHTML:x,"aria-hidden":"true"}),s("div",{"aria-live":"polite",role:"status",class:"searchable-select-results-status"})):s("div",{class:"select-container"},s("button",{class:"select-input",ref:t=>this.customSelectElement=t,id:this.inputId,"aria-label":`${o}, ${(c&&H?`${O}, ${this.getMultipleOptionsString(H)}`:this.getLabelFromValue(H))||g}${z?", required":""}`,"aria-describedby":B,"aria-invalid":$,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-owns":r,"aria-controls":r,disabled:i,onBlur:this.onBlur,onFocus:this.onFocus,onClick:this.handleClick,onMouseDown:this.handleMouseDown,onKeyDown:this.handleKeyDown},s("ic-typography",{variant:"body",class:{"value-text":true,"with-clear-button":H&&C,placeholder:!this.value||c&&this.value.length<1}},s("p",null,(c?this.getMultipleOptionsString(H):this.getLabelFromValue(H))||g)),s("div",{class:"select-input-end"},H&&C&&s("div",{class:"divider"}),s("span",{class:{"expand-icon":true,"expand-icon-open":this.open},innerHTML:x,"aria-hidden":"true"}))),H&&C&&s("ic-button",{id:"clear-button","aria-label":"Clear selection",class:"clear-button",innerHTML:y,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:t,variant:"icon",appearance:this.clearButtonFocused?v.Light:v.Dark}))),(!b()||c)&&s("ic-menu-with-multi",{class:{"no-results":this.loading||this.hasTimedOut||this.noOptions!==null&&this.noOptions[0]&&this.noOptions[0].label===this.emptyOptionListText},ref:t=>this.menu=t,inputEl:L?this.searchableSelectElement:this.customSelectElement,inputLabel:o,anchorEl:this.anchorEl,size:t,menuId:r,open:this.open,options:L?this.filteredOptions:this.uniqueOptions,value:c?H:H,fullWidth:h,selectOnEnter:this.selectOnEnter,onMenuStateChange:this.handleMenuChange,onMenuOptionSelect:this.handleCustomSelectChange,onMenuOptionSelectAll:this.handleSelectAllChange,onMenuKeyPress:this.handleMenuKeyPress,onUngroupedOptionsSet:this.setUngroupedOptions,onRetryButtonClicked:this.handleRetry,parentEl:this.el,onTimeoutBlur:this.onTimeoutBlur,activationType:this.searchable||c||this.selectOnEnter?"manual":"automatic",closeOnSelect:!c}),this.multiple&&s("div",{"aria-live":"polite",role:"status",class:"multi-select-selected-count"}),m(this.validationStatus,this.disabled)&&s("ic-input-validation",{class:{"menu-open":this.open},ariaLiveMode:"polite",status:M,message:T,for:this.inputId})))}static get delegatesFocus(){return true}get el(){return h(this)}static get watchers(){return{loading:["loadingHandler"],options:["watchOptionsHandler"],debounce:["debounceChangedHandler"],value:["valueChangedHandler"]}}};L.style=k;export{L as ic_select_with_multi};
2
- //# sourceMappingURL=p-383a5a76.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSelectCss","inputIds","Select","this","hasSetDefaultValue","inheritedAttributes","initialOptionsEmpty","inputId","menuId","searchableMenuItemSelected","ungroupedOptions","handleRetry","ev","detail","keyPressed","_a","searchableSelectElement","focus","blurredBecauseButtonPressed","retryButtonClick","icRetryLoad","emit","value","hiddenInputValue","emitIcChange","searchable","multiple","Array","isArray","handleMultipleSelectChange","clearTimeout","debounceIcChange","window","setTimeout","valueToEmit","icChange","currDebounce","emitImmediateIcChange","deduplicateOptions","options","uniqueValues","dedupedOptions","dedupedChildren","forEach","option","children","child","includes","console","warn","label","push","modifiedParent","Object","assign","setOptionsValuesFromLabels","length","map","setUngroupedOptions","event","setTextColor","nativeSelectElement","selectedIndex","className","setMenuChange","open","getLabelFromValue","uniqueOptions","getMultipleOptionsString","selectedValues","selectedLabels","join","getFilteredChildMenuOptions","getFilteredMenuOptions","includeDescriptionsInSearch","searchableSelectInputValue","searchMatchPosition","pressedCharacters","newOption","getValueSortedByOptions","valueArray","valuesFromAllOptions","sort","a","b","indexOf","handleNativeSelectChange","icOptionSelect","handleCustomSelectChange","emptyOptionListText","currValue","inputValueToFilter","getValueFromLabel","icOptionDeselect","ariaActiveDescendant","optionId","slice","valueIndex","splice","handleSelectAllChange","selectAllOptions","select","allEnabledOptions","filter","disabled","allValues","newValue","unselectedValues","handleMenuChange","handleFocusIndicatorDisplay","handleMenuKeyPress","cancelBubble","handleCharacterKeyDown","key","focusIndicator","el","shadowRoot","querySelector","classList","add","remove","handleMouseDown","preventDefault","isExternalFiltering","disableAutoFiltering","handleClick","menu","filteredOptions","hasTimedOut","loading","noOptions","handleClickOpen","handleExpandIconMouseDown","handleClear","stopPropagation","timeoutTimer","icClear","customSelectElement","characterKeyPressTimer","handleFilter","handleNativeSelectKeyDown","handleKeyDown","isArrowKey","handleKeyboardOpen","handleClearButtonFocus","clearButtonFocused","handleClearButtonBlur","retryButton","relatedTarget","isGrouped","newFilteredOptions","menuOptionsFiltered","includeGroupTitlesInSearch","noChildOptionsWhenFiltered","triggerLoading","loadingLabel","timeout","loadingErrorLabel","timedOut","find","handleSearchableSelectInput","target","icInput","debounceAriaLiveUpdate","updateSearchableSelectResultAriaLive","searchableSelectResultsStatusEl","innerText","updateMultiSelectedCountAriaLive","multiSelectSelectedCountEl","selectedCount","getOptionsWithoutGroupTitlesCount","getDefaultValue","setDefaultValue","initialValue","onFocus","icFocus","onBlur","tagName","isSearchableAndNoFocusedInternalElements","from","querySelectorAll","clearButton","icBlur","onTimeoutBlur","handleFormReset","debounce","loadingHandler","watchOptionsHandler","debounceChangedHandler","updateOnChangeDebounce","valueChangedHandler","disconnectedCallback","removeFormResetListener","componentWillLoad","inheritAttributes","IC_INHERITED_ARIA","removeDisabledFalse","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentDidRender","setFocus","debounceAria","render","size","fullWidth","helperText","hideLabel","name","placeholder","readonly","required","showClearButton","validationStatus","validationText","renderHiddenInput","invalid","IcInformationStatus","Error","describedBy","getInputDescribedByText","hasValidationStatus","trim","optionsSelectedCount","h","Host","class","for","ref","anchorEl","isMobileOrTablet","onChange","id","onKeyDown","form","selected","role","autocomplete","onInput","onClick","innerHTML","Clear","variant","appearance","IcThemeForegroundEnum","Light","Dark","onMouseDown","Expand","inputEl","inputLabel","selectOnEnter","onMenuStateChange","onMenuOptionSelect","onMenuOptionSelectAll","onMenuKeyPress","onUngroupedOptionsSet","onRetryButtonClicked","parentEl","activationType","closeOnSelect","ariaLiveMode","status","message"],"sources":["src/components/ic-select-with-multi/ic-select.css?tag=ic-select-with-multi&encapsulation=shadow","src/components/ic-select-with-multi/ic-select.tsx"],"sourcesContent":["@import \"../../../dist/core/normalize.css\";\n\n/**\n * @prop --input-width: Width of the input field\n * @prop --menu-width: Width of the dropdown menu\n * @prop --ic-z-index-menu: z-index of select menu\n */\n\n:host {\n display: block;\n position: relative;\n\n --menu-max-height: 100px;\n}\n\n:host(.ic-select-full-width) {\n width: 100%;\n}\n\nic-input-component-container:hover {\n --border-color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:active {\n --border-color: var(--ic-action-dark-active);\n\n color: var(--ic-action-dark-active);\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-architectural-400);\n\n color: var(--ic-action-dark);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nic-input-label {\n margin-bottom: var(--ic-space-xs) !important;\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 0.375rem;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 0.375rem center;\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-color-primary-text);\n}\n\nselect:disabled {\n color: var(--ic-architectural-200);\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='grey' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-container {\n width: 100%;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 0.375rem;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n}\n\n.select-input:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:not(.ic-select-disabled))\n ic-input-component-container:hover\n .select-input {\n background-color: var(--ic-architectural-white);\n}\n\n.select-input[disabled] {\n pointer-events: none;\n}\n\n:host(.ic-select-searchable) .select-input {\n cursor: auto;\n}\n\n.select-input.with-clear-button {\n padding-right: 0;\n}\n\n.value-text {\n max-width: calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));\n box-sizing: border-box;\n}\n\n.value-text.with-clear-button {\n padding-right: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n.value-text p {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n margin-bottom: 0 !important;\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n position: relative;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-action-dark);\n}\n\n.expand-icon > svg {\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-disabled) .expand-icon,\n:host(.ic-select-disabled) .expand-icon > svg > path {\n color: var(--ic-architectural-200);\n}\n\n:host(.ic-select-searchable) .expand-icon {\n padding-left: 0;\n height: 2.25rem;\n}\n\n:host(.ic-select-searchable) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 0.375rem;\n}\n\n:host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-open,\n:host(.ic-select-searchable) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n:host(.ic-select-disabled) .value-text,\n.placeholder {\n color: var(--ic-color-tertiary-text);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n}\n\n.divider {\n width: var(--ic-space-1px);\n background-color: var(--ic-architectural-400);\n margin: var(--ic-space-xxs) 0;\n border-radius: var(--ic-space-1px);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-small) .divider {\n height: var(--ic-space-md);\n}\n\n:host(.ic-select-large) .divider {\n height: var(--ic-space-xl);\n}\n\n.clear-button {\n position: absolute;\n right: calc(var(--ic-space-xl) + var(--ic-space-xxs));\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus * {\n fill: white;\n}\n\n.clear-button.searchable {\n position: static;\n}\n\n.searchable-select-results-status,\n.multi-select-selected-count {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n Watch,\n} from \"@stencil/core\";\nimport { IcOptionSelectEventDetail } from \"@ukic/web-components/dist/types/components\";\nimport { IcMenuOption } from \"@ukic/web-components/dist/types/utils/types\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n getFilteredMenuOptions,\n getOptionsWithoutGroupTitlesCount,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcSearchMatchPositions,\n IcThemeForegroundEnum,\n IcValueEventDetail,\n IcSizes,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-select-with-multi\",\n styleUrl: \"ic-select.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Select {\n private anchorEl: HTMLElement;\n private blurredBecauseButtonPressed: boolean;\n private characterKeyPressTimer: number;\n private clearButton: HTMLIcButtonElement;\n private customSelectElement: HTMLButtonElement;\n private debounceAria: number;\n private hasSetDefaultValue = false;\n private hasTimedOut: boolean;\n private inheritedAttributes: { [k: string]: unknown } = {};\n private initialOptionsEmpty = false;\n private inputId = `ic-select-input-${inputIds++}`;\n private menu: HTMLIcMenuWithMultiElement;\n private menuId = `${this.inputId}-menu`;\n private nativeSelectElement: HTMLSelectElement;\n private retryButtonClick: boolean;\n private searchableMenuItemSelected: boolean = false;\n private searchableSelectElement: HTMLInputElement;\n private timeoutTimer: number;\n private ungroupedOptions: IcMenuOption[] = [];\n\n @Element() el!: HTMLIcSelectWithMultiElement;\n\n @State() ariaActiveDescendant: string;\n @State() clearButtonFocused: boolean = false;\n @State() debounceIcChange: number;\n @State() hiddenInputValue: string;\n @State() noOptions: IcMenuOption[] = null;\n @State() open: boolean = false;\n @State() pressedCharacters: string = \"\";\n @State() searchableSelectInputValue: string = null;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableAutoFiltering?: boolean = false;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * The <form> element to associate the select with.\n */\n @Prop() form?: string;\n\n /**\n * If `true`, the select element will fill the width of the container. This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeDescriptionsInSearch?: boolean = false;\n\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeGroupTitlesInSearch?: boolean = false;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel?: string = \"Loading Error\";\n\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel?: string = \"Loading...\";\n\n /**\n * If `true`, multiple options can be selected.\n */\n @Prop() multiple?: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder?: string = \"Select an option\";\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options.\n */\n @Prop() searchable?: boolean = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n @Prop() searchMatchPosition?: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown.\n */\n @Prop() selectOnEnter?: boolean = false;\n\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n @Prop() showClearButton?: boolean = false;\n\n /**\n * The size of the select.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * If `true`, the loading state will be triggered when fetching options asynchronously.\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n newValue && this.triggerLoading();\n }\n\n /**\n * The possible selection options.\n */\n @Prop() options?: IcMenuOption[] = [];\n @State() filteredOptions: IcMenuOption[] = this.options;\n @State() uniqueOptions: IcMenuOption[] = this.options;\n\n @Watch(\"options\")\n watchOptionsHandler(): void {\n if (!this.hasTimedOut && this.options !== this.noOptions) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (this.isExternalFiltering()) {\n // When searchable select\n if (this.options.length > 0) {\n this.setOptionsValuesFromLabels();\n this.noOptions = null;\n this.uniqueOptions = this.deduplicateOptions(this.options);\n this.filteredOptions = this.uniqueOptions;\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n }\n this.updateSearchableSelectResultAriaLive();\n this.setDefaultValue();\n } else {\n this.setOptionsValuesFromLabels();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n this.filteredOptions = this.uniqueOptions;\n if (this.initialOptionsEmpty) {\n this.setDefaultValue();\n this.initialOptionsEmpty = false;\n }\n }\n } else {\n if (!this.searchable) this.options = this.noOptions;\n }\n }\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\n @State() currDebounce = this.debounce;\n\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number): void {\n this.updateOnChangeDebounce(newValue);\n }\n\n /**\n * The value of the select, reflected by the value of the currently selected option.\n * For the searchable variant, the value is also reflected by the user input.\n * For the multi-select variant, the value must be an array of option values.\n */\n @Prop({ mutable: true }) value?: string | string[];\n @State() initialValue = this.value;\n @State() inputValueToFilter = this.value as string;\n @State() currValue = this.value;\n\n @Watch(\"value\")\n valueChangedHandler(): void {\n if (this.value !== this.currValue) {\n if (this.value && this.multiple) {\n this.currValue = this.getValueSortedByOptions(this.value as string[]);\n this.updateMultiSelectedCountAriaLive();\n } else {\n this.currValue = this.value;\n }\n }\n\n if (this.searchable) {\n this.searchableSelectInputValue =\n this.getLabelFromValue(this.currValue as string) ||\n (this.currValue as string);\n }\n }\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange!: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the clear button is clicked.\n */\n @Event() icClear!: EventEmitter<void>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when an option is selected.\n * Selecting an option will also trigger an `icChange/onIcChange` due to the value being updated.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when `multiple` is `true` and an option is deselected.\n */\n @Event() icOptionDeselect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the 'retry loading' button is clicked for a searchable variant.\n */\n @Event() icRetryLoad: EventEmitter<IcValueEventDetail>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"tabindex\",\n \"title\",\n ]);\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.setOptionsValuesFromLabels();\n\n addFormResetListener(this.el, this.handleFormReset);\n\n if (!this.options.length) {\n this.initialOptionsEmpty = true;\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n } else {\n this.setDefaultValue();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n\n if (this.loading) {\n this.triggerLoading();\n }\n\n this.hiddenInputValue = this.searchable && (this.currValue as string);\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n\n /**\n * Sets focus on the input box.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.customSelectElement) {\n this.customSelectElement.focus();\n } else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n\n private handleRetry = (ev: CustomEvent<IcValueEventDetail>) => {\n if (ev.detail.keyPressed) this.searchableSelectElement?.focus();\n this.blurredBecauseButtonPressed = true;\n this.retryButtonClick = true;\n this.hasSetDefaultValue = true;\n this.icRetryLoad.emit({ value: this.hiddenInputValue });\n };\n\n private updateOnChangeDebounce(newValue: number) {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n private emitIcChange = (value: string | string[] | null) => {\n if (!this.searchable) {\n // If \"Select all\" button clicked, replace value with new value (array of all option values)\n if (this.multiple && !Array.isArray(value) && value !== null) {\n this.handleMultipleSelectChange(value as string);\n } else {\n this.value = value;\n }\n }\n\n clearTimeout(this.debounceIcChange);\n this.debounceIcChange = window.setTimeout(() => {\n const valueToEmit = this.multiple ? this.value : value;\n this.icChange.emit({ value: valueToEmit });\n }, this.currDebounce);\n };\n\n private emitImmediateIcChange = (value: string) => {\n this.value = value;\n clearTimeout(this.debounceIcChange);\n this.icChange.emit({ value });\n };\n\n /**\n * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn\n * @param options array of IcMenuOptions\n * @returns a new options object, with all entries possessing a duplicate 'value' field removed\n */\n private deduplicateOptions = (options: IcMenuOption[]): IcMenuOption[] => {\n const uniqueValues: string[] = [];\n const dedupedOptions: IcMenuOption[] = [];\n let dedupedChildren: IcMenuOption[];\n\n options.forEach((option: IcMenuOption) => {\n if (option.children) {\n //If an option has children, we will loop through them\n dedupedChildren = [];\n option.children.forEach((child) => {\n if (uniqueValues.includes(child.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(child.value);\n dedupedChildren.push(child);\n }\n });\n // construct a modified option, inserting the deduplicated children alongside the original information\n const modifiedParent: IcMenuOption = {\n ...option,\n children: dedupedChildren,\n };\n dedupedOptions.push(modifiedParent);\n } else {\n // If an option does not have children, assess to see if it's value has been included already\n if (uniqueValues.includes(option.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(option.value);\n dedupedOptions.push(option);\n }\n }\n });\n return dedupedOptions;\n };\n\n /**\n * Loop through options array and for all options with no value, infer it from the label\n */\n private setOptionsValuesFromLabels = (): void => {\n if (this.options.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n };\n\n private setUngroupedOptions = (event: CustomEvent): void => {\n this.ungroupedOptions = event.detail.options;\n };\n\n private setTextColor = (): void => {\n if (this.nativeSelectElement.selectedIndex === 0) {\n this.nativeSelectElement.className = \"placeholder\";\n } else {\n this.nativeSelectElement.className = \"select-option-selected\";\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n }\n };\n\n private getLabelFromValue = (value: string): string | undefined => {\n return getLabelFromValue(value, this.uniqueOptions);\n };\n\n private getMultipleOptionsString = (selectedValues: string[]) => {\n const selectedLabels = selectedValues?.map((value) =>\n this.getLabelFromValue(value)\n );\n return selectedLabels?.join(\", \");\n };\n\n private getFilteredChildMenuOptions = (option: IcMenuOption) => {\n let children = option.children;\n\n if (this.searchable) {\n children = getFilteredMenuOptions(\n option.children,\n this.includeDescriptionsInSearch,\n this.searchableSelectInputValue,\n this.searchMatchPosition\n );\n } else {\n children = getFilteredMenuOptions(\n option.children,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n const newOption = { ...option };\n newOption.children = children;\n return newOption;\n };\n\n // (For multi-select) get value array, i.e. selected option values, in order they appear in option list\n private getValueSortedByOptions = (value: string[]) => {\n const valueArray = value;\n const valuesFromAllOptions = this.ungroupedOptions.map(\n (option) => option.value\n );\n\n valueArray.sort(\n (a, b) =>\n valuesFromAllOptions.indexOf(a) - valuesFromAllOptions.indexOf(b)\n );\n\n return valueArray;\n };\n\n private handleNativeSelectChange = (): void => {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitImmediateIcChange(this.nativeSelectElement.value);\n this.setTextColor();\n };\n\n // Handle option select for when a custom input box and menu is rendered\n // (rather than native <select> - rendered when viewed on a mobile / tablet screen)\n private handleCustomSelectChange = (event: CustomEvent): void => {\n const value = event.detail.value;\n\n if (this.searchable && event.detail.label === this.emptyOptionListText) {\n this.searchableSelectElement.focus();\n return;\n }\n\n if (this.searchable) {\n this.value = value;\n this.searchableMenuItemSelected = true;\n\n // After editing the input, if selecting the same option as before, set the input value to label again\n if (this.value === this.currValue) {\n this.searchableSelectInputValue = this.getLabelFromValue(\n this.value as string\n );\n }\n\n this.inputValueToFilter = null;\n this.hiddenInputValue = this.getValueFromLabel(\n this.searchableSelectInputValue\n );\n }\n\n if (this.multiple && this.value?.includes(value)) {\n this.icOptionDeselect.emit({ value });\n } else {\n this.icOptionSelect.emit({ value });\n }\n\n this.ariaActiveDescendant = event.detail.optionId;\n this.emitIcChange(value);\n };\n\n // Update selected options - adds / removes them, in order of option list\n // Create new array if value prop is undefined\n private handleMultipleSelectChange = (value: string) => {\n if (this.value) {\n let valueArray = (this.value as string[]).slice();\n\n if (this.value.includes(value)) {\n const valueIndex = valueArray.indexOf(value);\n valueArray.splice(valueIndex, 1);\n } else {\n valueArray.push(value);\n valueArray = this.getValueSortedByOptions(valueArray);\n }\n\n this.value = valueArray.length === 0 ? null : valueArray;\n } else {\n const valueArray = [];\n valueArray.push(value);\n this.value = valueArray;\n }\n };\n\n private handleSelectAllChange = (event: CustomEvent) => {\n const selectAllOptions = event.detail.select;\n const allEnabledOptions = this.ungroupedOptions.filter(\n (option) => !option.disabled\n );\n const allValues = allEnabledOptions.map((option) => option.value);\n let newValue: string[];\n\n if (selectAllOptions) {\n let unselectedValues;\n\n // Only emit icOptionSelect for all values that are newly selected\n if (this.value) {\n unselectedValues = allValues.filter(\n (value) => this.value && !(this.value as string[]).includes(value)\n );\n } else {\n unselectedValues = allValues;\n }\n\n unselectedValues.forEach((value) => this.icOptionSelect.emit({ value }));\n newValue = allValues;\n } else {\n // Only emit icOptionDeselect for values that were selected\n (this.value as string[]).forEach((value) =>\n this.icOptionDeselect.emit({ value })\n );\n newValue = null;\n }\n\n this.emitIcChange(newValue);\n };\n\n private handleMenuChange = (event: CustomEvent): void => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n\n this.searchable && this.handleFocusIndicatorDisplay();\n };\n\n // clears the debounce delay when navigating the menu with arrow keys etc\n // to prevent delay in change event, which should only occur when typing in input\n private handleMenuKeyPress = (ev: CustomEvent): void => {\n ev.cancelBubble = true;\n if (!this.multiple) {\n this.handleCharacterKeyDown(ev.detail.key);\n }\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator = this.el.shadowRoot.querySelector(\".focus-indicator\");\n\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n };\n\n private handleMouseDown = (event: Event): void => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n\n private isExternalFiltering = (): boolean =>\n this.searchable && this.disableAutoFiltering;\n\n private handleClick = (event: MouseEvent): void => {\n if (!this.open) {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n } else if (\n !this.hasTimedOut &&\n !this.loading &&\n !this.noOptions?.length &&\n (!this.searchable || this.searchableMenuItemSelected)\n ) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n\n if (event.detail !== 0) {\n this.menu.handleClickOpen();\n }\n };\n\n private handleExpandIconMouseDown = (event: MouseEvent) => {\n if (!this.disabled) {\n event.preventDefault();\n this.searchableSelectElement.focus();\n this.handleClick(event);\n }\n };\n\n private handleClear = (event: Event): void => {\n event.stopPropagation();\n this.hasTimedOut = false;\n clearTimeout(this.timeoutTimer);\n this.noOptions = null;\n this.emitImmediateIcChange(null);\n this.icClear.emit();\n\n if (this.searchable) {\n this.searchableSelectElement.value = null;\n this.searchableSelectInputValue = null;\n this.filteredOptions = this.uniqueOptions;\n this.hiddenInputValue = null;\n this.searchableSelectElement.focus();\n } else {\n this.customSelectElement.focus();\n }\n };\n\n private handleCharacterKeyDown = (key: string) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (\n this.open &&\n key === \" \" &&\n this.pressedCharacters.length === 0 &&\n !this.hasTimedOut &&\n !this.loading\n ) {\n this.setMenuChange(false);\n }\n\n if (key.length === 1 && !this.searchable) {\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(\n () => (this.pressedCharacters = \"\"),\n 1000\n );\n\n if (!(key === \" \" && !this.pressedCharacters)) {\n this.pressedCharacters += key;\n this.handleFilter();\n\n if (!this.noOptions) {\n this.emitImmediateIcChange(this.filteredOptions[0].value);\n }\n }\n } else {\n this.pressedCharacters = \"\";\n }\n };\n\n private handleNativeSelectKeyDown = (event: KeyboardEvent) => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n this.handleCharacterKeyDown(event.key);\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n\n if (!this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n } else {\n if (!this.hasTimedOut) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n }\n\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n } else {\n if (!(isArrowKey && this.noOptions !== null)) {\n if (!(event.key === \" \" && this.pressedCharacters.length > 0)) {\n // Keyboard events get passed onto ic-menu\n this.menu.handleKeyboardOpen(event);\n }\n if (!this.multiple) {\n this.handleCharacterKeyDown(event.key);\n }\n }\n }\n };\n\n private handleClearButtonFocus = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (ev: FocusEvent): void => {\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n if (\n !(\n this.searchableSelectElement &&\n ev.relatedTarget === this.searchableSelectElement\n ) &&\n !(retryButton && ev.relatedTarget === retryButton)\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n this.clearButtonFocused = false;\n };\n\n private handleFilter = (): void => {\n const options = this.deduplicateOptions(\n this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions\n );\n\n let isGrouped = false;\n let newFilteredOptions: IcMenuOption[] = [];\n\n options.map((option) => {\n if (option.children) isGrouped = true;\n });\n\n let menuOptionsFiltered: IcMenuOption[];\n\n if (this.searchable) {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n this.includeDescriptionsInSearch,\n this.inputValueToFilter,\n this.searchMatchPosition\n );\n this.searchableMenuItemSelected = false;\n } else {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n if (\n !isGrouped &&\n menuOptionsFiltered[0]?.label !== this.emptyOptionListText\n ) {\n newFilteredOptions = menuOptionsFiltered;\n } else if (isGrouped) {\n options.map((option) => {\n if (this.includeGroupTitlesInSearch) {\n if (menuOptionsFiltered.indexOf(option) !== -1) {\n newFilteredOptions.push(option);\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n });\n }\n\n let noChildOptionsWhenFiltered = false;\n\n if (isGrouped) {\n noChildOptionsWhenFiltered = true;\n newFilteredOptions.map((option) => {\n if (option.children.length > 0) {\n noChildOptionsWhenFiltered = false;\n }\n });\n }\n\n if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n }\n };\n\n /**\n * Put the select component into loading state.\n * Replace options with the loading message. If timeout is enabled, set the timeout and once passed, replace options with the loading error message\n */\n private triggerLoading = () => {\n this.hasTimedOut = false;\n this.noOptions = [{ label: this.loadingLabel, value: \"\", loading: true }];\n if (this.filteredOptions !== this.noOptions && this.searchable) {\n this.filteredOptions = this.noOptions;\n } else if (this.uniqueOptions !== this.noOptions && !this.searchable) {\n this.uniqueOptions = this.noOptions;\n }\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n this.noOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n this.filteredOptions = this.noOptions;\n if (!this.searchable) this.uniqueOptions = this.noOptions;\n }, this.timeout);\n }\n };\n\n private getValueFromLabel = (label: string): string | undefined => {\n return this.uniqueOptions.find((option) => option.label === label)?.value;\n };\n\n private handleSearchableSelectInput = (event: Event): void => {\n this.searchableSelectInputValue = (event.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.searchableSelectInputValue });\n this.emitIcChange(this.searchableSelectInputValue);\n\n this.hiddenInputValue = this.searchableSelectInputValue;\n this.inputValueToFilter = this.searchableSelectInputValue;\n this.setMenuChange(true);\n\n if (!this.disableAutoFiltering) {\n this.handleFilter();\n this.debounceAriaLiveUpdate();\n }\n };\n\n private updateSearchableSelectResultAriaLive = (): void => {\n const searchableSelectResultsStatusEl = this.el.shadowRoot.querySelector(\n \".searchable-select-results-status\"\n ) as HTMLDivElement;\n\n if (searchableSelectResultsStatusEl) {\n if (this.noOptions !== null) {\n searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;\n } else {\n searchableSelectResultsStatusEl.innerText = \"\";\n }\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAria);\n\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n\n private updateMultiSelectedCountAriaLive = (): void => {\n const multiSelectSelectedCountEl = this.el.shadowRoot.querySelector(\n \".multi-select-selected-count\"\n ) as HTMLDivElement;\n\n const selectedCount = `${\n this.currValue?.length\n } of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;\n\n if (\n multiSelectSelectedCountEl &&\n multiSelectSelectedCountEl.innerText !== selectedCount\n ) {\n multiSelectSelectedCountEl.innerText = selectedCount;\n }\n };\n\n private getDefaultValue = (value: string): string | null =>\n this.getLabelFromValue(value) || value || null;\n\n private setDefaultValue = (): void => {\n if (!this.hasSetDefaultValue && this.currValue) {\n this.searchableSelectInputValue =\n this.searchable && this.getDefaultValue(this.currValue as string);\n\n this.initialValue = this.currValue;\n this.hasSetDefaultValue = true;\n }\n };\n\n private onFocus = (): void => {\n this.icFocus.emit();\n };\n\n private onBlur = (event: FocusEvent): void => {\n const target = event.relatedTarget as HTMLElement;\n if (\n target !== null &&\n target.tagName === \"UL\" &&\n target.className.includes(\"menu\")\n ) {\n return;\n }\n\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n const isSearchableAndNoFocusedInternalElements =\n this.searchable &&\n event.relatedTarget !== this.menu &&\n !Array.from(this.menu.querySelectorAll(\"[role='option']\")).includes(\n event.relatedTarget as Element\n ) &&\n !(this.clearButton && event.relatedTarget === this.clearButton) &&\n !(retryButton && event.relatedTarget === retryButton);\n\n if (isSearchableAndNoFocusedInternalElements) {\n if (!this.retryButtonClick) {\n this.setMenuChange(false);\n }\n this.handleFocusIndicatorDisplay();\n }\n\n this.retryButtonClick = false;\n this.icBlur.emit();\n };\n\n private onTimeoutBlur = (ev: CustomEvent) => {\n if (\n (ev.detail.ev as FocusEvent).relatedTarget !==\n this.searchableSelectElement &&\n !this.blurredBecauseButtonPressed\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n this.icBlur.emit();\n }\n this.blurredBecauseButtonPressed = false;\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = this.getDefaultValue(\n this.value as string\n );\n this.hiddenInputValue = this.value as string;\n }\n };\n\n render() {\n const {\n size,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n label,\n menuId,\n multiple,\n name,\n options,\n placeholder,\n readonly,\n required,\n searchable,\n showClearButton,\n validationStatus,\n validationText,\n currValue,\n } = this;\n\n // HTML inputs only accept 'string' for their value\n // Does not cause errors when it is a multi-select - sets value correctly, to a comma-separated string\n renderHiddenInput(\n true,\n this.el,\n name,\n this.searchable ? this.hiddenInputValue : (currValue as string),\n disabled\n );\n\n const invalid =\n validationStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n\n const describedBy = getInputDescribedByText(\n this.inputId,\n helperText !== \"\",\n hasValidationStatus(this.validationStatus, this.disabled)\n ).trim();\n\n const optionsSelectedCount = `${\n currValue?.length\n } of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;\n\n return (\n <Host\n class={{\n [\"ic-select-disabled\"]: disabled,\n [\"ic-select-searchable\"]: searchable,\n [`ic-select-${size}`]: size !== \"medium\",\n [\"ic-select-full-width\"]: fullWidth,\n }}\n onBlur={this.onBlur}\n >\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={this.inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n ></ic-input-label>\n )}\n <ic-input-component-container\n ref={(el: HTMLElement) => (this.anchorEl = el)}\n class={{ \"menu-open\": this.open }}\n size={size}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {readonly ? (\n <ic-typography>\n <p>\n {multiple\n ? this.getMultipleOptionsString(currValue as string[])\n : this.getLabelFromValue(currValue as string)}\n </p>\n </ic-typography>\n ) : isMobileOrTablet() && !multiple ? (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={this.inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onKeyDown={this.handleNativeSelectKeyDown}\n form={this.form}\n {...this.inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options.map((option) => {\n if (option.children) {\n return (\n <optgroup label={option.label}>\n {option.children.map((option) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n ))}\n </optgroup>\n );\n } else {\n return (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n );\n }\n })}\n </select>\n ) : searchable ? (\n <div class=\"searchable-select-container\">\n <input\n class={{\n \"select-input\": true,\n \"with-clear-button\": !!this.searchableSelectInputValue,\n }}\n role=\"combobox\"\n autocomplete=\"off\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-invalid={invalid}\n aria-required={required ? \"true\" : \"false\"}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={this.inputId}\n value={this.searchableSelectInputValue}\n placeholder={placeholder}\n disabled={disabled}\n onInput={this.handleSearchableSelectInput}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n form={this.form}\n ></input>\n {this.searchableSelectInputValue &&\n (showClearButton || searchable) && (\n <div class=\"clear-button-container\">\n <ic-button\n id=\"clear-button\"\n ref={(el: HTMLIcButtonElement) =>\n (this.clearButton = el)\n }\n aria-label={\n this.searchableSelectInputValue && currValue === null\n ? \"Clear input\"\n : \"Clear selection\"\n }\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={size}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n onMouseDown={this.handleExpandIconMouseDown}\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"searchable-select-results-status\"\n ></div>\n </div>\n ) : (\n <div class=\"select-container\">\n <button\n class=\"select-input\"\n ref={(el) => (this.customSelectElement = el)}\n id={this.inputId}\n aria-label={`${label}, ${\n (multiple && currValue\n ? `${optionsSelectedCount}, ${this.getMultipleOptionsString(\n currValue as string[]\n )}`\n : this.getLabelFromValue(currValue as string)) ||\n placeholder\n }${required ? \", required\" : \"\"}`}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-haspopup=\"listbox\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-owns={menuId}\n aria-controls={menuId}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onClick={this.handleClick}\n onMouseDown={this.handleMouseDown}\n onKeyDown={this.handleKeyDown}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n \"with-clear-button\": currValue && showClearButton,\n placeholder:\n !this.value || (multiple && this.value.length < 1),\n }}\n >\n <p>\n {(multiple\n ? this.getMultipleOptionsString(currValue as string[])\n : this.getLabelFromValue(currValue as string)) ||\n placeholder}\n </p>\n </ic-typography>\n <div class=\"select-input-end\">\n {currValue && showClearButton && (\n <div class=\"divider\"></div>\n )}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {currValue && showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear selection\"\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={size}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n )}\n </div>\n )}\n </ic-input-component-container>\n {(!isMobileOrTablet() || multiple) && (\n <ic-menu-with-multi\n class={{\n \"no-results\":\n this.loading ||\n this.hasTimedOut ||\n (this.noOptions !== null &&\n this.noOptions[0] &&\n this.noOptions[0].label === this.emptyOptionListText),\n }}\n ref={(el: HTMLIcMenuWithMultiElement) => (this.menu = el)}\n inputEl={\n searchable\n ? this.searchableSelectElement\n : this.customSelectElement\n }\n inputLabel={label}\n anchorEl={this.anchorEl}\n size={size}\n menuId={menuId}\n open={this.open}\n options={searchable ? this.filteredOptions : this.uniqueOptions}\n value={multiple ? (currValue as string[]) : (currValue as string)}\n fullWidth={fullWidth}\n selectOnEnter={this.selectOnEnter}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleCustomSelectChange}\n onMenuOptionSelectAll={this.handleSelectAllChange}\n onMenuKeyPress={this.handleMenuKeyPress}\n onUngroupedOptionsSet={this.setUngroupedOptions}\n onRetryButtonClicked={this.handleRetry}\n parentEl={this.el}\n onTimeoutBlur={this.onTimeoutBlur}\n activationType={\n this.searchable || multiple || this.selectOnEnter\n ? \"manual\"\n : \"automatic\"\n }\n closeOnSelect={!multiple}\n ></ic-menu-with-multi>\n )}\n {this.multiple && (\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"multi-select-selected-count\"\n ></div>\n )}\n {hasValidationStatus(this.validationStatus, this.disabled) && (\n <ic-input-validation\n class={{ \"menu-open\": this.open }}\n ariaLiveMode=\"polite\"\n status={validationStatus}\n message={validationText}\n for={this.inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{h as t,r as e,c as i,H as s,g as a}from"./p-8455d1bb.js";import{d as n,g as o,a as h,y as r,b as c,c as l,e as d,f as u,h as f}from"./p-33dd24eb.js";import{s as p,e as b,f as m,h as y,o as w,j as g}from"./p-297e99cf.js";const k=`<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M9.70687 6L8.29688 7.41L12.8769 12L8.29688 16.59L9.70687 18L15.7069 12L9.70687 6Z" fill="currentColor"/>\n</svg>\n`;const v=({focussed:e,today:i,day:s,monthInView:a,onFocusDay:n,onBlurDay:o,onSelectDay:h,selected:r,focussedDayRef:c,inRange:l,showDaysOutsideMonth:d,disableDay:u})=>{const f=()=>{h(s)};const y=()=>{n()};const w=()=>{o()};const g=p(b);const k=p(m);const v=!l||u;const x=a!==s.getMonth();const D=v||x&&!d;return t("div",{class:"day-button-container"},t("button",{class:{"day-button":true,"outside-month":x,"outside-range":v,hidden:x&&!d,disabled:D,today:i,selected:r,focussed:e},tabIndex:e?0:-1,"aria-hidden":x?"true":"false","aria-disabled":D?"true":"false","aria-current":i?"date":undefined,"aria-label":D||x||v?undefined:`Choose ${g[s.getDay()]}, ${s.getDate()} ${k[s.getMonth()]} ${s.getFullYear()}`,disabled:D,onClick:f,onBlur:w,onFocus:y,ref:t=>{if(e&&t&&c){c(t)}}},(!x||x&&d)&&t("ic-typography",{variant:"subtitle-small",italic:x},s.getDate())))};const x=({size:e,focussedMonth:i,monthInView:s,onSelectMonth:a,onKeyDown:r,focussedMonthRef:c,minDate:l,maxDate:d,yearInView:u})=>{const f=t=>{const e=t.target;a(Number(e.getAttribute("data-month")))};const b=p(m);return t("div",{class:{"month-picker":true},role:"list"},b.map(((a,p)=>{const b=s===p;const m=i===p;const y=!n(new Date(u,p,1),l?h(l):null,d?o(d):null);return t("ic-button",{role:"listitem",class:{"month-button":true,selected:b,focussed:m,disabled:y},"full-width":true,disabled:y,variant:b?"primary":"tertiary","data-month":p,size:e,tabIndex:m?0:-1,"aria-current":b?"true":"false","aria-label":b?"":`select ${a}`,onClick:f,onKeyDown:r,ref:t=>{if(m&&t){c(t)}}},a)})))};const D=({decadeView:e,size:i,focussedYear:s,yearInView:a,onSelectYear:n,onFocusYear:o,onBlurYear:h,onKeyDown:c,minDate:l,maxDate:d,focussedYearRef:u})=>{const f=t=>{const e=t.target;n(Number(e.getAttribute("data-year")))};const p=()=>{o()};const b=()=>{h()};const m=t=>{t.preventDefault()};const y=e[0];const w=e[11];const g=e.slice(1,11);return t("div",{class:"year-picker",role:"list"},t("div",{class:"prev-decade","aria-hidden":"true"},t("ic-button",{id:"prev-decade-button",class:{"year-button":true},disabled:!r(y,l,d),"data-year":y,tabIndex:-1,variant:"tertiary",onClick:f,onMouseDown:m,"aria-hidden":"true",size:i},`${y-9}s`,t("svg",{slot:"left-icon",width:"12",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z",fill:"currentColor"})))),g.map((e=>{const n=a===e;const o=s===e;return t("ic-button",{class:{"year-button":true,selected:n,focussed:o},disabled:!r(e,l,d),"data-year":e,tabIndex:o?0:-1,variant:n?"primary":"tertiary",onClick:f,"aria-label":n?"":`select ${e}`,role:"listitem","aria-current":n?"true":"false",onKeyDown:c,onFocus:p,onBlur:b,size:i,ref:t=>{if(o&&t){u(t)}}},e)})),t("div",{class:"next-decade","aria-hidden":"true"},t("ic-button",{id:"next-decade-button",class:{"year-button":true,flip:true},disabled:!r(w,l,d),"data-year":w,tabIndex:-1,variant:"tertiary",onClick:f,onMouseDown:m,"aria-hidden":"true",size:i},`${w}s`,t("svg",{slot:"right-icon",width:"12",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z",fill:"currentColor"})))))};const z='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;--month-year-picker-button-width:5rem;--month-button-width:5.5rem;--input-field-width:var(--input-width, 19.125rem)}:host(.ic-date-picker-large){--month-button-width:6.3125rem;--input-field-width:var(--input-width, 21.125rem)}:host(.ic-date-picker-small){--month-button-width:6.25rem;--input-field-width:var(--input-width, 17.125rem)}:host .date-input-container{position:relative}ic-date-input{--input-width:var(--input-field-width)}:host .calendar-container{min-width:19rem;max-width:23.5rem;width:var(--input-width);display:flex;flex-direction:column;gap:var(--ic-space-xs);position:absolute;border:var(--ic-border-default);border-radius:var(--ic-border-radius);align-items:center;background-color:var(--ic-architectural-white);z-index:var(--ic-z-index-date-picker);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);margin-top:var(--ic-space-xxxs);padding:var(--ic-space-xs);animation:fade-in-calendar var(--ic-transition-duration-slow)}:host(.ic-date-picker-small) .calendar-container{min-width:17rem;max-width:21.5rem}:host(.ic-date-picker-large) .calendar-container{min-width:21rem;max-width:25.5rem}:host .calendar-container.above{bottom:calc(var(--ic-space-xxl) - var(--ic-space-xxs))}:host .month-year-nav-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch}:host .month-year-nav-container.hidden{display:none}:host .month-year-nav{display:flex;justify-content:space-between;align-items:center;flex:1 0 0}:host .month-picker,:host .year-picker{flex-wrap:wrap;display:inline-flex;align-items:center;width:17.5rem;-moz-column-gap:var(--ic-space-xs);column-gap:var(--ic-space-xs);row-gap:var(--ic-space-xxs)}:host(.ic-date-picker-small) .month-picker,:host(.ic-date-picker-small) .year-picker{width:13.125rem}:host(.ic-date-picker-large) .month-picker,:host(.ic-date-picker-large) .year-picker{width:20rem}:host .month-picker-button,:host .year-picker-button{width:5rem;--min-width:5rem}:host .month-button,:host .year-button{width:var(--month-button-width)}:host .month-button.focussed,:host .year-button.focussed{z-index:1}:host .month-button::part(button),:host .year-button::part(button){min-width:var(--month-button-width)}:host .prev-decade .year-button svg{margin-right:calc(-1 * var(--ic-space-xl));padding-top:var(--ic-space-sm)}:host .prev-decade .year-button::part(button){padding-left:0;padding-right:var(--ic-space-lg)}:host(.ic-date-picker-small) .prev-decade .year-button::part(button){padding-left:0;padding-right:calc(var(--ic-space-lg) + var(--ic-space-xxs))}:host .next-decade .year-button svg{margin-left:calc(-1 * var(--ic-space-xl));padding-top:var(--ic-space-sm)}:host .next-decade .year-button::part(button){padding-right:0;padding-left:var(--ic-space-lg)}:host(.ic-date-picker-small) .next-decade .year-button::part(button),:host(.ic-date-picker-large) .next-decade .year-button::part(button){padding-left:var(--ic-space-xl)}:host .bottom-buttons{padding-top:var(--ic-space-xs);display:flex;justify-content:space-between;align-items:center;align-self:stretch;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host(.ic-date-picker-small) .bottom-buttons{padding-top:var(--ic-space-xxs)}:host .bottom-buttons.no-today{align-items:flex-end;flex-direction:column}:host .bottom-buttons.hidden{display:none}:host .calendar{display:flex;flex-direction:column;align-items:flex-start;width:15.75rem;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host(.ic-date-picker-large) .calendar{width:19.25rem}:host(.ic-date-picker-small) .calendar{padding-bottom:var(--ic-space-xxs);width:14rem}:host .hidden{display:none}:host .weekdays{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:var(--ic-space-xs);align-self:stretch}:host .calendar-days-container{display:flex;flex-wrap:wrap;justify-content:space-between;row-gap:var(--ic-space-xs);padding:var(--ic-space-xxs) 0}:host(.ic-date-picker-small) .calendar-days-container{padding:var(--ic-space-xxxs) 0}:host(.ic-date-picker-large) .calendar-days-container{padding:var(--ic-space-xs) 0}:host .calendar-day-header{display:flex;width:2rem;padding:var(--ic-space-xxs) 0;justify-content:center;align-items:center}:host(.ic-date-picker-small) .calendar-day-header,:host(.ic-date-picker-large) .calendar-day-header{padding:var(--ic-space-xxs)}:host .calendar-day-header ic-typography{--ic-typography-color:var(--ic-color-tertiary-text);text-align:center}:host .day-button-container{display:flex;justify-content:center;align-items:center;width:2.25rem;height:2.25rem}:host(.ic-date-picker-small) .day-button-container{width:2rem;height:2rem}:host(.ic-date-picker-large) .day-button-container{width:2.5rem;height:2.5rem}:host .day-button{display:flex;position:relative;justify-content:center;align-items:center;border:0;border-radius:2rem;background-color:var(--ic-architectural-white);width:2rem;height:2rem;cursor:pointer;transition:var(--ic-easing-transition-fast);z-index:0}:host .day-button.disabled{cursor:default}:host(.ic-date-picker-large) .day-button{width:2.25rem;height:2.25rem}:host(.ic-date-picker-small) .day-button{width:1.75rem;height:1.75rem}:host .day-button ic-typography{width:1.75rem;--ic-typography-color:var(--ic-color-primary-text)}:host .day-button.outside-range ic-typography{--ic-typography-color:var(--ic-architectural-400)}:host .day-button.outside-month ic-typography{font-weight:var(--ic-font-weight-regular) !important}:host .day-button.outside-month:not(.outside-range):not(.selected) ic-typography{--ic-typography-color:var(--ic-color-primary-text)}:host .day-button:hover:not(.disabled){background-color:var(--ic-action-dark-bg-hover)}:host .day-button:active:not(.disabled){background-color:var(--ic-action-dark-bg-active)}@media (prefers-reduced-motion: no-preference){:host .day-button:hover:not(.disabled):not(.focussed),:host .day-button:active:not(.disabled):not(.focussed){transition:background-color var(--ic-transition-duration-slow) ease-in-out}}:host .day-button.selected:not(.hidden){background-color:var(--ic-action-default)}:host .day-button.selected ic-typography{--ic-typography-color:var(--ic-color-white-text)}:host .day-button.selected:not(.hidden):hover{background-color:var(--ic-action-default-hover)}:host .day-button.selected:not(.hidden):active{background-color:var(--ic-action-default-active)}:host .day-button.focussed{z-index:1}:host .day-button:focus{outline:none}:host .day-button.focussed:focus{box-shadow:var(--ic-border-focus)}:host .day-button.today:not(.hidden)::after{content:"";position:absolute;width:0.875rem;height:0.125rem;bottom:0.4rem;border-radius:var(--ic-border-radius);background-color:var(--ic-action-default)}:host(.ic-date-picker-small) .day-button.today::after{bottom:0.35rem}:host(.ic-date-picker-large) .day-button.today::after{width:1rem}:host .day-button.today.selected::after{background-color:var(--ic-architectural-white)}:host #select-month-hint,:host #select-year-hint{display:none}.sr-only{position:absolute;left:-9999px}@media (prefers-reduced-motion: reduce){:host .calendar-container,:host .calendar,:host .bottom-buttons{animation:none}}@keyframes fade-in-buttons{0%{opacity:0}50%{opacity:0}100%{opacity:1}}@keyframes fade-in-calendar{0%{display:flex;max-height:0}100%{display:flex;max-height:600px}}@media (forced-colors: active){:host .day-button.today:not(.hidden)::after{background-color:highlight}:host .day-button.selected:not(.hidden){background-color:highlight}:host .day-button.focussed:focus{border:var(--ic-hc-border)}:host .month-button.selected::part(button),:host .year-button.selected::part(button){background-color:highlight}}';const H="DD/MM/YYYY";const M="Dates in the future are not allowed. Please select a date in the past.";const P="Dates in the past are not allowed. Please select a date in the future.";const V="The date you have selected is on a day of the week that is not allowed. Please select another date.";const L=100;const T=360;const I=400;const C=440;const Y=class{constructor(s){e(this,s);this.icChange=i(this,"icChange",7);this.clearButtonEl=null;this.daysOfWeek=[];this.dayButtonFocussed=false;this.dayPickerKeyboardNav=false;this.dialogDescription="";this.focusDay=true;this.liveRegionEl=null;this.monthNames=[];this.monthInViewUpdateHandled=false;this.myCalendarButtonClicked=false;this.showPickerAbove=false;this.today=new Date;this.todayButtonEl=null;this.yearButtonFocussed=false;this.setDecadeView=t=>{let e=t-1;const i=[];while(e<=t+10){i.push(e);e++}this.decadeView=i;this.decadeStart=i[1];this.decadeEnd=i[10]};this.setSelectedDate=(t,e=true)=>{if(t===null||!c(t,this.selectedDate)){this.selectedDate=t;this.value=t;if(e){this.inputEl.triggerIcChange(t)}}};this.handleCalendarMouseDown=t=>{const e=t.target;if(e.tagName!=="IC-BUTTON"){t.preventDefault()}};this.handleCalendarClick=t=>{this.clearDialogDescription();t.stopImmediatePropagation()};this.handleDocumentClick=()=>{this.calendarOpen=false};this.keyDownHandler=t=>{if(t.key==="Escape"){if(this.calendarOpen){this.closeButtonClickHandler();this.inputEl.setCalendarFocus();t.stopImmediatePropagation()}}else{this.clearDialogDescription();t.stopImmediatePropagation()}};this.closeButtonClickHandler=()=>{this.calendarOpen=false};this.focusFirstElement=()=>{this.monthButtonEl.setFocus()};this.focusLastElement=()=>{if(this.showPickerClearButton&&!this.clearButtonEl.disabled){this.clearButtonEl.setFocus()}else if(this.showPickerTodayButton&&!this.todayButtonEl.disabled){this.todayButtonEl.setFocus()}else if(this.monthPickerVisible){this.focussedMonthEl.setFocus()}else if(this.yearPickerVisible){this.focussedYearEl.setFocus()}else{this.focussedDayEl.focus()}};this.focusFocussedDay=()=>{this.focussedDayEl.focus()};this.monthButtonClickHandler=()=>{this.yearPickerVisible=false;this.focusDay=false;this.monthPickerVisible=!this.monthPickerVisible;if(this.monthPickerVisible){this.setAriaLiveRegionText("Month picker view open")}else{this.setMonthSelectedLiveRegionText()}};this.yearButtonClickHandler=()=>{this.monthPickerVisible=false;this.focusDay=false;this.yearPickerVisible=!this.yearPickerVisible;if(this.yearPickerVisible){this.setAriaLiveRegionText(`Year picker view open. ${this.getDecadeInViewText()}`)}else{this.setYearSelectedLiveRegionText()}};this.todayButtonClickHandler=()=>{this.yearPickerVisible=false;this.monthPickerVisible=false;this.setFocussedDate(new Date);this.setAriaLiveRegionText(this.getMonthInViewText());setTimeout((()=>this.focusFocussedDay()),L)};this.todayButtonKeyDownHandler=t=>{if(t.key==="Tab"&&!t.shiftKey&&this.clearButtonEl.disabled){this.focusFirstElement();t.preventDefault()}};this.clearButtonClickHandler=()=>{this.setSelectedDate(null);let t="Selected date cleared.";if(!this.monthPickerVisible&&!this.yearPickerVisible){t+=` ${this.getMonthInViewText()}`}if(this.monthPickerVisible){this.focussedMonthEl.setFocus()}else if(this.yearPickerVisible){this.focussedYearEl.setFocus()}else{this.focusFocussedDay()}this.setAriaLiveRegionText(t)};this.setMonthSelectedLiveRegionText=()=>{this.setAriaLiveRegionText(`${this.monthNames[this.monthInView]} selected. ${this.getMonthInViewText()}`)};this.setYearSelectedLiveRegionText=()=>{this.setAriaLiveRegionText(`${this.yearInView} selected. ${this.getMonthInViewText()}`)};this.getMonthInViewText=()=>`${this.monthNames[this.monthInView]} ${this.yearInView} currently in view.`;this.getDecadeInViewText=()=>`${this.decadeStart} to ${this.decadeEnd} currently in view.`;this.setAriaLiveRegionText=t=>{this.liveRegionEl&&(this.liveRegionEl.innerText=t)};this.clearDialogDescription=()=>{this.dialogDescription=""};this.clearButtonKeyDownHandler=t=>{if(t.key==="Tab"&&!t.shiftKey){this.focusFirstElement();t.preventDefault()}};this.goToPreviousMonth=(t=false)=>{this.focusDay=t;this.moveMonths(-1)};this.goToNextMonth=(t=false)=>{this.focusDay=t;this.moveMonths(1)};this.goToPreviousYear=(t=false)=>{if(this.isPrevYearAllowed()){this.focusDay=t;this.moveYears(-1)}};this.goToNextYear=(t=false)=>{if(this.isNextYearAllowed()){this.focusDay=t;this.moveYears(1)}};this.navButtonMouseDownHandler=t=>{t.preventDefault()};this.renderMonthYearNavButton=(e,i,s)=>{const a=this.size;return t("div",{"aria-hidden":"true"},t("ic-button",{id:e,disableTooltip:true,disabled:s,onClick:this.monthYearNavClickHandler,class:{flip:i},variant:"icon",innerHTML:k,size:a,tabIndex:-1,"aria-hidden":"true",onMouseDown:this.navButtonMouseDownHandler}))};this.monthYearNavClickHandler=t=>{const e=t.target;switch(e.id){case"previous-month-button":this.goToPreviousMonth(this.dayButtonFocussed);break;case"next-month-button":this.goToNextMonth(this.dayButtonFocussed);break;case"previous-year-button":this.goToPreviousYear(this.dayButtonFocussed);break;case"next-year-button":this.goToNextYear(this.dayButtonFocussed);break}};this.previousMonthButton=()=>{let t=false;if(this.focussedDate!==null&&this.minDate!==null){const e=this.focussedDate.getFullYear()===this.minDate.getFullYear();if(e){t=this.monthInView-1<this.minDate.getMonth()}}return this.renderMonthYearNavButton("previous-month-button",true,t)};this.nextMonthButton=()=>{let t=false;if(this.focussedDate!==null&&this.maxDate!==null){const e=this.focussedDate.getFullYear()===this.maxDate.getFullYear();if(e){t=this.monthInView+1>this.maxDate.getMonth()}}return this.renderMonthYearNavButton("next-month-button",false,t)};this.previousYearButton=()=>this.renderMonthYearNavButton("previous-year-button",true,!this.isPrevYearAllowed());this.nextYearButton=()=>this.renderMonthYearNavButton("next-year-button",false,!this.isNextYearAllowed());this.isPrevYearAllowed=()=>this.isYearAllowed(this.yearInView-1);this.isNextYearAllowed=()=>this.isYearAllowed(this.yearInView+1);this.isYearAllowed=t=>r(t,this.minDate,this.maxDate);this.getMonthView=t=>{const e=l(h(t),this.startOfWeek);const i=d(o(t),this.startOfWeek);const s=[];let a=e;while(!c(a,i)){s.push(a);a=new Date(a);a.setDate(a.getDate()+1)}s.push(a);return s};this.isCurrentMonth=()=>{const t=new Date;return t.getFullYear()===this.yearInView&&t.getMonth()===this.monthInView};this.updateMonthInView=()=>{this.currMonthView=this.getMonthView(this.focussedDate);this.focussedDay=this.focussedDate.getDate();this.monthInView=this.focussedDate.getMonth();this.yearInView=this.focussedDate.getFullYear();if(this.dayPickerKeyboardNav){this.monthInViewUpdateHandled=true;this.setAriaLiveRegionText(this.getMonthInViewText());this.dayPickerKeyboardNav=false}};this.handleSelectDay=t=>{this.setSelectedDate(t);this.calendarOpen=false;this.inputEl.setCalendarFocus()};this.handleSelectMonth=t=>{this.moveMonths(t-this.monthInView);setTimeout((()=>{this.monthButtonEl.setFocus();this.monthPickerVisible=false;this.setMonthSelectedLiveRegionText()}),L)};this.handleSelectYear=t=>{const e=this.decadeView.indexOf(t);if(e>0&&e<this.decadeView.length-1){this.moveYears(t-this.yearInView);this.focusDay=false;const e=this.monthNames[this.monthInView];this.setAriaLiveRegionText(`${t} selected. ${e} ${t} currently in view.`);setTimeout((()=>{this.yearButtonEl.setFocus();this.yearPickerVisible=false}),L)}else{const e=t-this.focussedYear>0?10:-10;this.updateFocussedYear(e,this.yearButtonFocussed);this.setAriaLiveRegionText(this.getDecadeInViewText())}};this.monthPickerKeyDownHandler=t=>{let e=true;switch(t.key){case"ArrowUp":case"ArrowLeft":this.updateFocussedMonth(-1);break;case"ArrowDown":case"ArrowRight":this.updateFocussedMonth(1);break;case"Home":this.updateFocussedMonth(-this.focussedMonth);break;case"End":this.updateFocussedMonth(11-this.focussedMonth);break;case"Tab":e=this.calendarTabHandler(t);break;case"Escape":t.stopImmediatePropagation();this.monthPickerVisible=false;setTimeout((()=>this.focusFocussedDay()),L);break;default:e=false}if(e){t.preventDefault()}};this.yearPickerKeyDownHandler=t=>{let e=true;switch(t.key){case"ArrowUp":case"ArrowLeft":this.updateFocussedYear(-1);break;case"ArrowDown":case"ArrowRight":this.updateFocussedYear(1);break;case"Home":if(this.focussedYear>this.decadeStart){this.updateFocussedYear(this.decadeStart-this.focussedYear)}break;case"End":if(this.focussedYear<this.decadeEnd){this.updateFocussedYear(this.decadeEnd-this.focussedYear)}break;case"PageUp":this.updateFocussedYear(-10);break;case"PageDown":this.updateFocussedYear(10);break;case"Tab":e=this.calendarTabHandler(t);break;case"Escape":t.stopImmediatePropagation();this.yearPickerVisible=false;setTimeout((()=>this.focusFocussedDay()),L);break;default:e=false}if(e){t.preventDefault()}};this.onYearButtonFocusHandler=()=>{this.yearButtonFocussed=true};this.onYearButtonBlurHandler=()=>{this.yearButtonFocussed=false};this.monthButtonKeyDownHandler=t=>{let e=false;switch(t.key){case"ArrowLeft":case"ArrowUp":e=true;this.goToPreviousMonth();break;case"ArrowRight":case"ArrowDown":e=true;this.goToNextMonth();break;case"Home":e=true;this.focusDay=false;this.moveMonths(-this.monthInView);break;case"End":e=true;this.focusDay=false;this.moveMonths(11-this.monthInView);break;case"Tab":if(t.shiftKey){e=true;this.focusLastElement()}break;case"Escape":if(this.monthPickerVisible){this.monthPickerVisible=false;t.stopImmediatePropagation()}break}if(e){t.preventDefault()}};this.yearButtonKeyDownHandler=t=>{let e=false;switch(t.key){case"ArrowLeft":case"ArrowUp":e=true;this.goToPreviousYear();break;case"ArrowRight":case"ArrowDown":e=true;this.goToNextYear();break;case"Home":if(this.yearPickerVisible&&this.yearInView>this.decadeStart){e=true;this.moveYears(this.decadeStart-this.yearInView)}break;case"End":if(this.yearPickerVisible&&this.yearInView<this.decadeEnd){e=true;this.moveYears(this.decadeEnd-this.focussedYear)}break;case"PageUp":e=true;this.focusDay=false;this.moveYears(-10);break;case"PageDown":e=true;this.focusDay=false;this.moveYears(10);break;case"Escape":if(this.yearPickerVisible){this.yearPickerVisible=false;t.stopImmediatePropagation()}break}if(e){t.preventDefault()}};this.handleCalendarKeyDown=t=>{let e=true;switch(t.key){case"ArrowDown":this.dayPickerKeyboardNav=true;this.moveDays(7);break;case"ArrowUp":this.dayPickerKeyboardNav=true;this.moveDays(-7);break;case"ArrowLeft":this.dayPickerKeyboardNav=true;this.moveDays(-1*this.getNextDayToFocus(this.focussedDate,false));break;case"ArrowRight":this.dayPickerKeyboardNav=true;this.moveDays(this.getNextDayToFocus(this.focussedDate,true));break;case"PageUp":this.dayPickerKeyboardNav=true;t.shiftKey?this.moveYears(-1):this.moveMonths(-1);break;case"PageDown":this.dayPickerKeyboardNav=true;t.shiftKey?this.moveYears(1):this.moveMonths(1);break;case"Home":this.dayPickerKeyboardNav=true;this.setFocussedDate(new Date(this.focussedYear,this.focussedMonth,1));break;case"End":this.dayPickerKeyboardNav=true;this.setFocussedDate(new Date(this.focussedYear,this.focussedMonth+1,0));break;case"Tab":e=this.calendarTabHandler(t);break;default:e=false;break}if(e){t.preventDefault()}};this.calendarTabHandler=t=>{let e=false;if(!t.shiftKey&&(!this.showPickerTodayButton||this.isCurrentMonth())&&(!this.showPickerClearButton||this.clearButtonEl.disabled)){this.focusFirstElement();e=true}else if(t.shiftKey){this.yearButtonEl.setFocus();e=true}return e};this.onDayButtonFocusHandler=()=>{this.dayButtonFocussed=true};this.onDayButtonBlurHandler=()=>{this.dayButtonFocussed=false};this.getNextDayToFocus=(t,e,i=1)=>{const s=e?1:-1;const a=new Date(t);a.setDate(a.getDate()+s);const n=Number(a.getDay());if(this.disableDays.includes(n)){return this.getNextDayToFocus(a,e,i+1)}else{return i}};this.moveDays=t=>{const e=new Date(this.focussedDate);e.setDate(e.getDate()+t);this.setFocussedDate(e)};this.moveMonths=t=>{const e=this.focussedDate.getMonth()+t;const i=new Date(new Date(h(this.focussedDate)).setMonth(e));const s=o(i);const a=new Date(new Date(this.focussedDate).setMonth(e));this.setFocussedDate(u(a,i,s));if(this.monthPickerVisible===false&&this.yearPickerVisible===false&&this.monthInViewUpdateHandled===false){this.setAriaLiveRegionText(this.getMonthInViewText())}this.monthInViewUpdateHandled=false};this.moveYears=t=>{const e=this.focussedDate.getFullYear()+t;const i=new Date(new Date(h(this.focussedDate)).setFullYear(e));const s=o(i);const a=new Date(new Date(this.focussedDate).setFullYear(e));this.setFocussedDate(u(a,i,s));if(this.monthPickerVisible===false&&this.yearPickerVisible===false&&this.monthInViewUpdateHandled===false){this.setAriaLiveRegionText(this.getMonthInViewText())}this.monthInViewUpdateHandled=false};this.updateFocussedMonth=t=>{const e=new Date(this.focussedYear,this.focussedMonth,1);e.setMonth(this.focussedMonth+t);const i=u(e,this.minDate,this.maxDate);this.focussedMonth=i.getMonth();setTimeout((()=>this.focussedMonthEl.setFocus()),L)};this.updateFocussedYear=(t,e=true)=>{const i=new Date((new Date).setFullYear(this.focussedYear+t));const s=u(i,this.minDate,this.maxDate);this.setFocussedYear(s.getFullYear(),e)};this.setFocussedDate=t=>{this.focussedDate=u(t,this.minDate,this.maxDate)};this.setFocussedDayEl=t=>{this.focussedDayEl=t};this.setFocussedMonthEl=t=>{this.focussedMonthEl=t};this.setFocussedYearEl=t=>{this.focussedYearEl=t};this.setFocussedYear=(t,e=true)=>{const i=this.focussedYear;this.focussedYear=t;if(this.yearPickerVisible){const s=Math.floor(t/10)*10;const a=Math.floor(i/10)*10;if(s!==a){this.setDecadeView(s);this.setAriaLiveRegionText(this.getDecadeInViewText())}if(e){setTimeout((()=>{if(this.focussedYearEl!==null)this.focussedYearEl.setFocus()}),L)}}else{this.setDecadeView(Math.floor(t/10)*10)}};this.setDateInputProps=()=>{const t={invalidDateMessage:this.invalidDateMessage,label:this.label,showClearButton:true,showCalendarButton:true,value:this.value};if(this.dateFormat!==H){t.dateFormat=this.dateFormat}if(this.disableFuture){t.disableFuture=this.disableFuture;if(this.disableFutureMessage!==M){t.disableFutureMessage=this.disableFutureMessage}}if(this.disablePast){t.disablePast=this.disablePast;if(this.disablePastMessage!==P){t.disablePastMessage=this.disablePastMessage}}if(this.disableDays.length>0){t.disableDays=this.disableDays;if(this.disableDaysMessage!==V){t.disableDaysMessage=this.disableDaysMessage}}if(this.max!==null&&this.max!==""){t.max=this.maxDate}if(this.min!==null&&this.min!==""){t.min=this.minDate}if(this.helperText!==undefined){t.helperText=this.helperText}if(this.hideHelperText!==false){t.hideHelperText=this.hideHelperText}if(this.inputId!==undefined){t.inputId=this.inputId}if(this.name!==undefined){t.name=this.name}if(this.disabled){t.disabled=this.disabled}if(this.required){t.required=this.required}if(this.size!=="medium"){t.size=this.size}if(this.validationStatus!==""){t.validationStatus=this.validationStatus}if(this.validationText!==""){t.validationText=this.validationText}return t};this.calendarOpen=false;this.currMonthView=[];this.currYearPickerView=[];this.decadeView=[];this.focussedDate=null;this.focussedDay=undefined;this.focussedDayEl=undefined;this.focussedMonth=undefined;this.focussedMonthEl=undefined;this.focussedYear=undefined;this.maxDate=null;this.minDate=null;this.monthInView=undefined;this.monthPickerVisible=false;this.orderedDaysOfWeek=[];this.selectedDate=null;this.yearInView=undefined;this.yearPickerVisible=false;this.dateFormat="DD/MM/YYYY";this.disabled=false;this.disableDays=[];this.disableDaysMessage="The date you have selected is on a day of the week that is not allowed. Please select another date.";this.disableFuture=false;this.disableFutureMessage="Dates in the future are not allowed. Please select a date in the past.";this.disablePast=false;this.disablePastMessage="Dates in the past are not allowed. Please select a date in the future.";this.helperText=undefined;this.hideHelperText=false;this.inputId=undefined;this.invalidDateMessage="Please enter a valid date.";this.label=undefined;this.max="";this.min="";this.name=undefined;this.openAtDate="";this.required=false;this.showDaysOutsideMonth=true;this.showPickerClearButton=true;this.showPickerTodayButton=true;this.size="medium";this.startOfWeek=y.Monday;this.validationStatus="";this.validationText="";this.value=""}watchDisableFutureHandler(){this.watchMaxHandler()}watchDisablePastHandler(){this.watchMinHandler()}watchMaxHandler(){if(this.disableFuture){this.maxDate=new Date}else{this.maxDate=f(this.max,this.dateFormat)}}watchMinHandler(){if(this.disablePast){this.minDate=new Date}else{this.minDate=f(this.min,this.dateFormat)}}watchStartOfWeekHandler(){this.orderedDaysOfWeek=this.daysOfWeek.slice(this.startOfWeek).concat(this.daysOfWeek.slice(0,this.startOfWeek));if(this.calendarOpen){this.updateMonthInView()}}watchOpenHandler(){if(this.calendarOpen){if(this.inputEl){let t=I;if(this.size==="small"){t=T}else if(this.size==="large"){t=C}if(this.el.offsetTop+this.inputEl.offsetHeight+t>window.innerHeight&&this.el.offsetTop>t){this.showPickerAbove=true}else{this.showPickerAbove=false}}if(this.selectedDate===null||!n(this.selectedDate,this.minDate,this.maxDate)){let t=new Date;if(this.openAtDate!==""){t=f(this.openAtDate,this.dateFormat)}this.setFocussedDate(t)}else{this.setFocussedDate(this.selectedDate)}let t=this.getMonthInViewText();if(this.selectedDate===null){t+=" No date selected."}t+=" Use arrow keys to change day. Press enter or space to select a date or press escape to close the picker";this.dialogDescription=t;setTimeout((()=>this.focusFocussedDay()),L);document.addEventListener("click",this.handleDocumentClick)}else{document.removeEventListener("click",this.handleDocumentClick);this.monthPickerVisible=false;this.yearPickerVisible=false}}watchFocussedDateHandler(t,e){if(e===null||!(e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth())){this.updateMonthInView()}}watchMonthInViewHandler(){this.focussedMonth=this.monthInView}watchYearInViewHandler(){this.setFocussedYear(this.yearInView,false)}watchYearPickerVisibleHandler(){if(!this.yearPickerVisible){this.setFocussedYear(this.yearInView)}}watchMonthPickerVisibleHandler(){if(!this.monthPickerVisible){this.focussedMonth=this.monthInView}}watchFocussedDayEl(){if(this.focusDay){setTimeout((()=>this.focusFocussedDay()),L)}this.focusDay=true}componentWillLoad(){w([{prop:this.label,propName:"label"}],"Date Picker");this.monthNames=p(m);this.daysOfWeek=p(g);this.watchStartOfWeekHandler();this.watchMaxHandler();this.watchMinHandler()}componentWillRender(){this.dateInputProps=this.setDateInputProps()}componentWillUpdate(){this.dateInputProps=this.setDateInputProps()}localCalendarButtonClickHandler(t){this.myCalendarButtonClicked=true;if(!this.calendarOpen){this.setSelectedDate(t.detail.value,false)}this.calendarOpen=!this.calendarOpen}calendarButtonClickHandler(){if(!this.myCalendarButtonClicked){this.calendarOpen=false}this.myCalendarButtonClicked=false}render(){const{calendarOpen:e,dateInputProps:i,monthNames:a,size:o,focussedMonth:h,focussedYear:r,monthInView:l,yearInView:d,monthPickerVisible:u,yearPickerVisible:f,orderedDaysOfWeek:p,decadeView:b,minDate:m,maxDate:y,showPickerClearButton:w,showPickerTodayButton:g,dialogDescription:k}=this;let z="";if(u){z=`Use the arrow keys to change the selected month. To return to day picker view, press Enter or Space to select a month, or press Escape.`}else{z=`Press Enter or Space to open month picker view or use the arrow keys to change month.`}let H="";if(f){H=`Use the arrow keys to change the selected year. To return to day picker view, press Enter or Space to select a year, or press Escape.`}else{H=`Press Enter or Space to open year picker view or use the arrow keys to change the selected year.`}const M="choose date";const P=a&&a[l]?a[l]:"Open month picker";const V=this.yearInView?this.yearInView:"Open year picker";let L=m;if(this.disablePast){const t=new Date(m);t.setDate(m.getDate()-1);L=t}return t(s,{onKeyDown:this.keyDownHandler,class:{[`ic-date-picker-${o}`]:true}},t("div",{class:"date-input-container"},t("ic-date-input",Object.assign({ref:t=>this.inputEl=t},i))),e&&t("div",null,t("span",{id:"dialog-description",class:"sr-only"},k),t("div",{role:"dialog","aria-modal":"true","aria-label":M,"aria-describedBy":"dialog-description",class:{"calendar-container":true,above:this.showPickerAbove},onMouseDown:this.handleCalendarMouseDown,onClick:this.handleCalendarClick},t("span",{ref:t=>this.liveRegionEl=t,id:"live-region","aria-live":"assertive",class:"sr-only"}),t("div",{class:{"month-year-nav-container":true}},t("div",{class:"month-year-nav"},this.previousMonthButton(),t("span",{id:"select-month-hint","aria-hidden":"true"},z),t("ic-button",{ref:t=>this.monthButtonEl=t,size:o,class:"month-picker-button","aria-haspopup":"menu","aria-expanded":u?"true":"false","full-width":"true",variant:"tertiary","aria-label":P,"aria-describedby":"select-month-hint",onKeyDown:this.monthButtonKeyDownHandler,onClick:this.monthButtonClickHandler},a[l]),this.nextMonthButton()),t("div",{class:"month-year-nav"},this.previousYearButton(),t("span",{id:"select-year-hint","aria-hidden":"true"},H),t("ic-button",{ref:t=>this.yearButtonEl=t,size:o,class:"year-picker-button","aria-haspopup":"menu","aria-expanded":f?"true":"false","full-width":"true",variant:"tertiary","aria-label":V,"aria-describedby":"select-year-hint",onKeyDown:this.yearButtonKeyDownHandler,onClick:this.yearButtonClickHandler},this.yearInView),this.nextYearButton())),!(u||f)&&t("div",{class:{calendar:true,hidden:u||f},onKeyDown:this.handleCalendarKeyDown},t("div",{class:"weekdays","aria-hidden":"true"},p.map((e=>{const i=o==="small"?e.charAt(0):e;return t("div",{class:"calendar-day-header"},t("ic-typography",{variant:"caption"},i))}))),t("div",{class:"calendar-days-container"},this.currMonthView.map((e=>t(v,{day:e,disableDay:this.disableDays.includes(Number(e.getDay())),today:c(e,this.today),selected:c(e,this.selectedDate),focussed:c(e,this.focussedDate),inRange:n(e,L,y),monthInView:l,onSelectDay:this.handleSelectDay,focussedDayRef:this.setFocussedDayEl,onFocusDay:this.onDayButtonFocusHandler,onBlurDay:this.onDayButtonBlurHandler,showDaysOutsideMonth:this.showDaysOutsideMonth}))))),t("div",{class:{"month-picker-container":true,hidden:!u}},u&&t(x,{size:o,onSelectMonth:this.handleSelectMonth,monthInView:l,focussedMonth:h,onKeyDown:this.monthPickerKeyDownHandler,focussedMonthRef:this.setFocussedMonthEl,minDate:m,maxDate:y,yearInView:d})),t("div",{class:{"year-picker-container":true,hidden:!f}},f&&t(D,{decadeView:b,size:o,focussedYear:r,onSelectYear:this.handleSelectYear,onKeyDown:this.yearPickerKeyDownHandler,onFocusYear:this.onYearButtonFocusHandler,onBlurYear:this.onYearButtonBlurHandler,yearInView:d,minDate:m,maxDate:y,focussedYearRef:this.setFocussedYearEl})),t("div",{class:{"bottom-buttons":true,"no-today":!g}},g&&t("ic-button",{id:"today-button",variant:"tertiary",ref:t=>this.todayButtonEl=t,size:o,"aria-label":"Navigate to current date",onClick:this.todayButtonClickHandler,onKeyDown:this.todayButtonKeyDownHandler,disabled:this.isCurrentMonth()},"Go to today"),w&&t("ic-button",{id:"clear-button","aria-label":"clear selected date",ref:t=>this.clearButtonEl=t,variant:"tertiary",size:o,onClick:this.clearButtonClickHandler,onKeyDown:this.clearButtonKeyDownHandler,disabled:this.value===""||this.value===null||this.value===undefined},"Clear")))))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{disableFuture:["watchDisableFutureHandler"],disablePast:["watchDisablePastHandler"],max:["watchMaxHandler"],min:["watchMinHandler"],startOfWeek:["watchStartOfWeekHandler"],calendarOpen:["watchOpenHandler"],focussedDate:["watchFocussedDateHandler"],monthInView:["watchMonthInViewHandler"],yearInView:["watchYearInViewHandler"],yearPickerVisible:["watchYearPickerVisibleHandler"],monthPickerVisible:["watchMonthPickerVisibleHandler"],focussedDayEl:["watchFocussedDayEl"]}}};Y.style=z;export{Y as ic_date_picker};
2
- //# sourceMappingURL=p-3a0510e2.entry.js.map