@ukic/web-components 3.18.0 → 3.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-button_3.cjs.entry.js +5 -5
  3. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-chip.cjs.entry.js +12 -5
  5. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-data-list.cjs.entry.js +4 -3
  7. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-empty-state.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-hero.cjs.entry.js +4 -4
  13. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  14. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +8 -8
  15. package/dist/cjs/ic-input-label_2.cjs.entry.js +5 -5
  16. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  19. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  21. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  23. package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
  24. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-pagination.cjs.entry.js +29 -4
  26. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
  28. package/dist/cjs/ic-radio-group.cjs.entry.js +4 -4
  29. package/dist/cjs/ic-radio-option.cjs.entry.js +4 -4
  30. package/dist/cjs/ic-search-bar.cjs.entry.js +9 -9
  31. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-select.cjs.entry.js +6 -6
  33. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
  34. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  35. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  36. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  38. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  39. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  40. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-text-field.cjs.entry.js +5 -5
  44. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  46. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  48. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -2
  51. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  52. package/dist/cjs/loader.cjs.js +1 -1
  53. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +1 -1
  54. package/dist/collection/components/ic-chip/ic-chip.css +12 -0
  55. package/dist/collection/components/ic-chip/ic-chip.js +31 -4
  56. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  57. package/dist/collection/components/ic-chip/ic-chip.stories.js +15 -0
  58. package/dist/collection/components/ic-data-list/ic-data-list.css +4 -0
  59. package/dist/collection/components/ic-data-list/ic-data-list.js +3 -2
  60. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
  61. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  62. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  63. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  64. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  65. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  66. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  67. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  68. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  69. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  70. package/dist/collection/components/ic-input-validation/ic-input-validation.js +5 -4
  71. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  72. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  73. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  74. package/dist/collection/components/ic-link/ic-link.js +1 -1
  75. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  76. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  77. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  78. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  79. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  80. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  81. package/dist/collection/components/ic-pagination/ic-pagination.js +35 -4
  82. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  83. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  84. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  85. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  86. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  87. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  88. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  89. package/dist/collection/components/ic-select/ic-select.js +6 -6
  90. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  91. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  92. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  93. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  94. package/dist/collection/components/ic-step/ic-step.js +13 -13
  95. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  96. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  97. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  98. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  99. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  100. package/dist/collection/components/ic-text-field/ic-text-field.js +6 -5
  101. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  102. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +12 -1
  103. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  104. package/dist/collection/components/ic-toast/ic-toast.js +5 -5
  105. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  106. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  107. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  108. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +5 -2
  109. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  110. package/dist/components/ic-chip.js +13 -5
  111. package/dist/components/ic-chip.js.map +1 -1
  112. package/dist/components/ic-data-list.js +4 -3
  113. package/dist/components/ic-data-list.js.map +1 -1
  114. package/dist/components/ic-data-row.js +2 -2
  115. package/dist/components/ic-dialog.js +1 -1
  116. package/dist/components/ic-empty-state.js +2 -2
  117. package/dist/components/ic-footer-link.js +2 -2
  118. package/dist/components/ic-hero.js +4 -4
  119. package/dist/components/ic-horizontal-scroll2.js +5 -5
  120. package/dist/components/ic-input-component-container2.js +3 -3
  121. package/dist/components/ic-input-container2.js +2 -2
  122. package/dist/components/ic-input-label2.js +2 -2
  123. package/dist/components/ic-input-validation2.js +4 -4
  124. package/dist/components/ic-input-validation2.js.map +1 -1
  125. package/dist/components/ic-layout-grid-item.js +2 -2
  126. package/dist/components/ic-layout-grid.js +2 -2
  127. package/dist/components/ic-link2.js +1 -1
  128. package/dist/components/ic-loading-indicator2.js +5 -5
  129. package/dist/components/ic-menu-group.js +1 -1
  130. package/dist/components/ic-menu2.js +3 -3
  131. package/dist/components/ic-navigation-group.js +1 -1
  132. package/dist/components/ic-navigation-menu2.js +4 -4
  133. package/dist/components/ic-page-header.js +6 -6
  134. package/dist/components/ic-page-header.js.map +1 -1
  135. package/dist/components/ic-pagination-item2.js +1 -1
  136. package/dist/components/ic-pagination.js +30 -5
  137. package/dist/components/ic-pagination.js.map +1 -1
  138. package/dist/components/ic-popover-menu.js +4 -4
  139. package/dist/components/ic-popover-menu.js.map +1 -1
  140. package/dist/components/ic-radio-group.js +4 -4
  141. package/dist/components/ic-radio-option.js +4 -4
  142. package/dist/components/ic-search-bar.js +9 -9
  143. package/dist/components/ic-section-container2.js +2 -2
  144. package/dist/components/ic-select.js +6 -6
  145. package/dist/components/ic-side-navigation.js +4 -4
  146. package/dist/components/ic-skeleton.js +2 -2
  147. package/dist/components/ic-skip-link.js +2 -2
  148. package/dist/components/ic-status-tag.js +2 -2
  149. package/dist/components/ic-step.js +13 -13
  150. package/dist/components/ic-stepper.js +2 -2
  151. package/dist/components/ic-switch.js +4 -4
  152. package/dist/components/ic-tab-context.js +1 -1
  153. package/dist/components/ic-tab-group.js +2 -2
  154. package/dist/components/ic-tab-panel.js +2 -2
  155. package/dist/components/ic-text-field.js +5 -5
  156. package/dist/components/ic-text-field.js.map +1 -1
  157. package/dist/components/ic-theme.js +1 -1
  158. package/dist/components/ic-toast-region.js +1 -1
  159. package/dist/components/ic-toast.js +5 -5
  160. package/dist/components/ic-toggle-button-group.js +2 -2
  161. package/dist/components/ic-toggle-button.js +2 -2
  162. package/dist/components/ic-top-navigation.js +5 -2
  163. package/dist/components/ic-top-navigation.js.map +1 -1
  164. package/dist/core/core.css +1 -1
  165. package/dist/core/core.esm.js +1 -1
  166. package/dist/core/core.esm.js.map +1 -1
  167. package/dist/core/{p-ed3aaa3a.entry.js → p-012e058a.entry.js} +3 -3
  168. package/dist/core/{p-6329ddcb.entry.js → p-0257d59e.entry.js} +2 -2
  169. package/dist/core/{p-d3223b89.entry.js → p-06b3ae40.entry.js} +2 -2
  170. package/dist/core/{p-f6bb691a.entry.js → p-091a7fbf.entry.js} +2 -2
  171. package/dist/core/{p-b4a2f6fa.entry.js → p-0eafbaa1.entry.js} +2 -2
  172. package/dist/core/p-0eafbaa1.entry.js.map +1 -0
  173. package/dist/core/{p-1ca4a5ed.entry.js → p-128e2cbb.entry.js} +2 -2
  174. package/dist/core/{p-af728534.entry.js → p-21efc36e.entry.js} +2 -2
  175. package/dist/core/{p-b9459ba2.entry.js → p-287e5c17.entry.js} +2 -2
  176. package/dist/core/{p-de630a9a.entry.js → p-28c9a6e4.entry.js} +2 -2
  177. package/dist/core/{p-f57729b8.entry.js → p-296a41ce.entry.js} +2 -2
  178. package/dist/core/p-34cc376c.entry.js +2 -0
  179. package/dist/core/p-34cc376c.entry.js.map +1 -0
  180. package/dist/core/{p-eca43f7d.entry.js → p-3b13d191.entry.js} +2 -2
  181. package/dist/core/{p-d376858f.entry.js → p-43356493.entry.js} +2 -2
  182. package/dist/core/{p-7dff646d.entry.js → p-44aaf454.entry.js} +2 -2
  183. package/dist/core/{p-f4e3bb5b.entry.js → p-44fbe8c2.entry.js} +2 -2
  184. package/dist/core/{p-a7583faf.entry.js → p-4637c326.entry.js} +2 -2
  185. package/dist/core/{p-049839cd.entry.js → p-4fa7fbc4.entry.js} +2 -2
  186. package/dist/core/{p-049839cd.entry.js.map → p-4fa7fbc4.entry.js.map} +1 -1
  187. package/dist/core/{p-2026f4fa.entry.js → p-52fa3eec.entry.js} +2 -2
  188. package/dist/core/{p-2026f4fa.entry.js.map → p-52fa3eec.entry.js.map} +1 -1
  189. package/dist/core/{p-9c52ee48.entry.js → p-539b975f.entry.js} +2 -2
  190. package/dist/core/{p-319e3d5b.entry.js → p-5cf704e3.entry.js} +2 -2
  191. package/dist/core/{p-5d2efd2d.entry.js → p-5e1a77aa.entry.js} +2 -2
  192. package/dist/core/{p-601d4e3f.entry.js → p-614953c5.entry.js} +2 -2
  193. package/dist/core/{p-a61fa6ad.entry.js → p-6b6c1491.entry.js} +2 -2
  194. package/dist/core/{p-1be17f22.entry.js → p-6e8ef73c.entry.js} +2 -2
  195. package/dist/core/{p-ae11583f.entry.js → p-6fb29846.entry.js} +2 -2
  196. package/dist/core/{p-e82d9a6f.entry.js → p-70e1dd4d.entry.js} +2 -2
  197. package/dist/core/{p-52c66bfe.entry.js → p-72ac8bb9.entry.js} +2 -2
  198. package/dist/core/{p-ffd0d9d1.entry.js → p-7552c8a1.entry.js} +2 -2
  199. package/dist/core/{p-a8e4258f.entry.js → p-8798cc6b.entry.js} +2 -2
  200. package/dist/core/p-8798cc6b.entry.js.map +1 -0
  201. package/dist/core/{p-ca82850f.entry.js → p-9452b9ac.entry.js} +2 -2
  202. package/dist/core/p-9452b9ac.entry.js.map +1 -0
  203. package/dist/core/p-a7645717.entry.js +2 -0
  204. package/dist/core/p-a7645717.entry.js.map +1 -0
  205. package/dist/core/{p-0648dd8e.entry.js → p-a86785dd.entry.js} +2 -2
  206. package/dist/core/{p-703f3de1.entry.js → p-a8dc3162.entry.js} +2 -2
  207. package/dist/core/{p-f7105cf9.entry.js → p-ad6632a9.entry.js} +2 -2
  208. package/dist/core/p-ae861bb8.entry.js +2 -0
  209. package/dist/core/{p-4631ac1b.entry.js → p-af02add9.entry.js} +2 -2
  210. package/dist/core/{p-9674b63f.entry.js → p-b00efb15.entry.js} +2 -2
  211. package/dist/core/{p-3238389a.entry.js → p-bb3a5130.entry.js} +2 -2
  212. package/dist/core/{p-a8310dfd.entry.js → p-bfd03fb4.entry.js} +2 -2
  213. package/dist/core/{p-67c3985d.entry.js → p-d8200098.entry.js} +2 -2
  214. package/dist/core/{p-6ed48c46.entry.js → p-dfc2a0b1.entry.js} +2 -2
  215. package/dist/core/{p-12c30491.entry.js → p-f4e2e41f.entry.js} +2 -2
  216. package/dist/core/{p-9ca147f3.entry.js → p-fb43abd6.entry.js} +2 -2
  217. package/dist/esm/core.js +1 -1
  218. package/dist/esm/ic-button_3.entry.js +5 -5
  219. package/dist/esm/ic-button_3.entry.js.map +1 -1
  220. package/dist/esm/ic-chip.entry.js +12 -5
  221. package/dist/esm/ic-chip.entry.js.map +1 -1
  222. package/dist/esm/ic-data-list.entry.js +4 -3
  223. package/dist/esm/ic-data-list.entry.js.map +1 -1
  224. package/dist/esm/ic-data-row.entry.js +2 -2
  225. package/dist/esm/ic-dialog.entry.js +1 -1
  226. package/dist/esm/ic-empty-state.entry.js +2 -2
  227. package/dist/esm/ic-footer-link.entry.js +2 -2
  228. package/dist/esm/ic-hero.entry.js +4 -4
  229. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  230. package/dist/esm/ic-input-component-container_3.entry.js +8 -8
  231. package/dist/esm/ic-input-label_2.entry.js +6 -6
  232. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  233. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  234. package/dist/esm/ic-layout-grid.entry.js +2 -2
  235. package/dist/esm/ic-link.entry.js +1 -1
  236. package/dist/esm/ic-menu-group.entry.js +1 -1
  237. package/dist/esm/ic-navigation-group.entry.js +1 -1
  238. package/dist/esm/ic-navigation-menu.entry.js +4 -4
  239. package/dist/esm/ic-page-header.entry.js +6 -6
  240. package/dist/esm/ic-pagination-item.entry.js +1 -1
  241. package/dist/esm/ic-pagination.entry.js +29 -4
  242. package/dist/esm/ic-pagination.entry.js.map +1 -1
  243. package/dist/esm/ic-popover-menu.entry.js +4 -4
  244. package/dist/esm/ic-radio-group.entry.js +4 -4
  245. package/dist/esm/ic-radio-option.entry.js +4 -4
  246. package/dist/esm/ic-search-bar.entry.js +9 -9
  247. package/dist/esm/ic-section-container.entry.js +2 -2
  248. package/dist/esm/ic-select.entry.js +6 -6
  249. package/dist/esm/ic-side-navigation.entry.js +4 -4
  250. package/dist/esm/ic-skeleton.entry.js +2 -2
  251. package/dist/esm/ic-skip-link.entry.js +2 -2
  252. package/dist/esm/ic-status-tag.entry.js +2 -2
  253. package/dist/esm/ic-step.entry.js +13 -13
  254. package/dist/esm/ic-stepper.entry.js +2 -2
  255. package/dist/esm/ic-switch.entry.js +4 -4
  256. package/dist/esm/ic-tab-context.entry.js +1 -1
  257. package/dist/esm/ic-tab-group.entry.js +2 -2
  258. package/dist/esm/ic-tab-panel.entry.js +2 -2
  259. package/dist/esm/ic-text-field.entry.js +5 -5
  260. package/dist/esm/ic-text-field.entry.js.map +1 -1
  261. package/dist/esm/ic-theme.entry.js +1 -1
  262. package/dist/esm/ic-toast-region.entry.js +1 -1
  263. package/dist/esm/ic-toast.entry.js +5 -5
  264. package/dist/esm/ic-toggle-button-group.entry.js +2 -2
  265. package/dist/esm/ic-toggle-button.entry.js +2 -2
  266. package/dist/esm/ic-top-navigation.entry.js +5 -2
  267. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  268. package/dist/esm/loader.js +1 -1
  269. package/dist/types/components/ic-chip/ic-chip.d.ts +5 -0
  270. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +1 -0
  271. package/dist/types/components/ic-pagination/ic-pagination.d.ts +7 -0
  272. package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -0
  273. package/dist/types/components.d.ts +8 -0
  274. package/hydrate/index.js +185 -146
  275. package/hydrate/index.mjs +185 -146
  276. package/package.json +17 -23
  277. package/vscode-data.json +4 -0
  278. package/dist/core/p-177d3c2f.entry.js +0 -2
  279. package/dist/core/p-199c5ff6.entry.js +0 -2
  280. package/dist/core/p-199c5ff6.entry.js.map +0 -1
  281. package/dist/core/p-72e5eb70.entry.js +0 -2
  282. package/dist/core/p-72e5eb70.entry.js.map +0 -1
  283. package/dist/core/p-a8e4258f.entry.js.map +0 -1
  284. package/dist/core/p-b4a2f6fa.entry.js.map +0 -1
  285. package/dist/core/p-ca82850f.entry.js.map +0 -1
  286. /package/dist/core/{p-ed3aaa3a.entry.js.map → p-012e058a.entry.js.map} +0 -0
  287. /package/dist/core/{p-6329ddcb.entry.js.map → p-0257d59e.entry.js.map} +0 -0
  288. /package/dist/core/{p-d3223b89.entry.js.map → p-06b3ae40.entry.js.map} +0 -0
  289. /package/dist/core/{p-f6bb691a.entry.js.map → p-091a7fbf.entry.js.map} +0 -0
  290. /package/dist/core/{p-1ca4a5ed.entry.js.map → p-128e2cbb.entry.js.map} +0 -0
  291. /package/dist/core/{p-af728534.entry.js.map → p-21efc36e.entry.js.map} +0 -0
  292. /package/dist/core/{p-b9459ba2.entry.js.map → p-287e5c17.entry.js.map} +0 -0
  293. /package/dist/core/{p-de630a9a.entry.js.map → p-28c9a6e4.entry.js.map} +0 -0
  294. /package/dist/core/{p-f57729b8.entry.js.map → p-296a41ce.entry.js.map} +0 -0
  295. /package/dist/core/{p-eca43f7d.entry.js.map → p-3b13d191.entry.js.map} +0 -0
  296. /package/dist/core/{p-d376858f.entry.js.map → p-43356493.entry.js.map} +0 -0
  297. /package/dist/core/{p-7dff646d.entry.js.map → p-44aaf454.entry.js.map} +0 -0
  298. /package/dist/core/{p-f4e3bb5b.entry.js.map → p-44fbe8c2.entry.js.map} +0 -0
  299. /package/dist/core/{p-a7583faf.entry.js.map → p-4637c326.entry.js.map} +0 -0
  300. /package/dist/core/{p-9c52ee48.entry.js.map → p-539b975f.entry.js.map} +0 -0
  301. /package/dist/core/{p-319e3d5b.entry.js.map → p-5cf704e3.entry.js.map} +0 -0
  302. /package/dist/core/{p-5d2efd2d.entry.js.map → p-5e1a77aa.entry.js.map} +0 -0
  303. /package/dist/core/{p-601d4e3f.entry.js.map → p-614953c5.entry.js.map} +0 -0
  304. /package/dist/core/{p-a61fa6ad.entry.js.map → p-6b6c1491.entry.js.map} +0 -0
  305. /package/dist/core/{p-1be17f22.entry.js.map → p-6e8ef73c.entry.js.map} +0 -0
  306. /package/dist/core/{p-ae11583f.entry.js.map → p-6fb29846.entry.js.map} +0 -0
  307. /package/dist/core/{p-e82d9a6f.entry.js.map → p-70e1dd4d.entry.js.map} +0 -0
  308. /package/dist/core/{p-52c66bfe.entry.js.map → p-72ac8bb9.entry.js.map} +0 -0
  309. /package/dist/core/{p-ffd0d9d1.entry.js.map → p-7552c8a1.entry.js.map} +0 -0
  310. /package/dist/core/{p-0648dd8e.entry.js.map → p-a86785dd.entry.js.map} +0 -0
  311. /package/dist/core/{p-703f3de1.entry.js.map → p-a8dc3162.entry.js.map} +0 -0
  312. /package/dist/core/{p-f7105cf9.entry.js.map → p-ad6632a9.entry.js.map} +0 -0
  313. /package/dist/core/{p-177d3c2f.entry.js.map → p-ae861bb8.entry.js.map} +0 -0
  314. /package/dist/core/{p-4631ac1b.entry.js.map → p-af02add9.entry.js.map} +0 -0
  315. /package/dist/core/{p-9674b63f.entry.js.map → p-b00efb15.entry.js.map} +0 -0
  316. /package/dist/core/{p-3238389a.entry.js.map → p-bb3a5130.entry.js.map} +0 -0
  317. /package/dist/core/{p-a8310dfd.entry.js.map → p-bfd03fb4.entry.js.map} +0 -0
  318. /package/dist/core/{p-67c3985d.entry.js.map → p-d8200098.entry.js.map} +0 -0
  319. /package/dist/core/{p-6ed48c46.entry.js.map → p-dfc2a0b1.entry.js.map} +0 -0
  320. /package/dist/core/{p-12c30491.entry.js.map → p-f4e2e41f.entry.js.map} +0 -0
  321. /package/dist/core/{p-9ca147f3.entry.js.map → p-fb43abd6.entry.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ukic/web-components",
3
- "version": "3.18.0",
3
+ "version": "3.19.0",
4
4
  "description": "A web component UI library compiled with StencilJS",
5
5
  "bugs": {
6
6
  "url": "https://github.com/mi6/ic-ui-kit",
@@ -28,14 +28,13 @@
28
28
  "build:watch": "npm run build -- --watch",
29
29
  "build-storybook": "rimraf /storybook-static && storybook build",
30
30
  "create-component": "stencil generate",
31
- "kill": "kill-port 8080 --graceful",
32
- "lint": "remark src && echo '*** Linting CSS ***' && stylelint --config ../../.stylelintrc.json src/components/**/*.css && echo '*** Linting standard files ***' && eslint --config ../../.eslintrc.js src",
33
- "lint:fix": "echo '*** Linting CSS ***' && stylelint --config ../../.stylelintrc.json src/components/**/*.css --fix && echo '*** Linting standard files ***' && eslint --config ../../.eslintrc.js src --fix",
31
+ "lint": "remark src && echo '*** Linting CSS ***' && stylelint --config ../../.stylelintrc.json src/components/**/*.css && echo '*** Linting standard files ***' && eslint --config ../../eslint.config.js src",
32
+ "lint:fix": "echo '*** Linting CSS ***' && stylelint --config ../../.stylelintrc.json src/components/**/*.css --fix && echo '*** Linting standard files ***' && eslint --config ../../eslint.config.js src --fix",
34
33
  "prettier": "prettier --config ../../.prettierrc.json --ignore-path ../../.prettierignore src --check",
35
34
  "prettier:fix": "prettier --config ../../.prettierrc.json --ignore-path ../../.prettierignore src --write",
36
35
  "start": "npx http-server storybook-static -s",
37
- "start-storybook": "storybook dev -p 6006 dist",
38
- "storybook": "npm-run-all --parallel build:watch start-storybook",
36
+ "start-storybook": "storybook dev -p 6006",
37
+ "storybook": "concurrently \"npm run build:watch\" \"npm run start-storybook\"",
39
38
  "test": "stencil test --spec --passWithNoTests",
40
39
  "test:ci": "stencil test --spec --passWithNoTests --ci",
41
40
  "test:coverage": "npm run test -- --coverage",
@@ -57,17 +56,10 @@
57
56
  "@open-wc/testing-helpers": "^2.0.2",
58
57
  "@stencil/postcss": "^2.1.0",
59
58
  "@stencil/react-output-target": "^0.5.3",
60
- "@storybook/addon-a11y": "^8.5.3",
61
- "@storybook/addon-actions": "^8.5.3",
62
- "@storybook/addon-essentials": "^8.5.3",
63
- "@storybook/addon-links": "^8.5.3",
64
- "@storybook/addon-mdx-gfm": "^8.5.3",
65
- "@storybook/addon-postcss": "^2.0.0",
66
- "@storybook/addon-webpack5-compiler-babel": "^3.0.5",
67
- "@storybook/blocks": "^8.5.3",
68
- "@storybook/preview-api": "^8.5.3",
69
- "@storybook/web-components": "^8.5.3",
70
- "@storybook/web-components-webpack5": "^8.5.3",
59
+ "@storybook/addon-a11y": "10.1.11",
60
+ "@storybook/addon-docs": "10.1.11",
61
+ "@storybook/addon-links": "10.1.11",
62
+ "@storybook/web-components-vite": "10.1.11",
71
63
  "@types/autoprefixer": "^10.2.0",
72
64
  "@types/jest": "^26.0.24",
73
65
  "@types/jest-axe": "^3.5.3",
@@ -75,18 +67,20 @@
75
67
  "@types/react-dom": "^17.0.11",
76
68
  "autoprefixer": "^10.4.2",
77
69
  "babel-loader": "^8.2.3",
70
+ "concurrently": "^9.2.1",
71
+ "css-loader": "^7.1.2",
78
72
  "jest": "^26.6.3",
79
73
  "jest-axe": "^8.0.0",
80
74
  "jest-cli": "^26.6.3",
81
- "kill-port-process": "^3.2.1",
82
75
  "lit": "^2.0.2",
83
- "npm-run-all": "^4.1.5",
76
+ "postcss": "^8.5.6",
77
+ "postcss-loader": "^8.2.0",
84
78
  "react": "^17.0.0",
85
79
  "react-dom": "^17.0.0",
86
80
  "stencil-inline-svg": "^1.1.0",
87
- "storybook": "^8.5.3",
88
- "ts-jest": "^26.5.6",
89
- "webpack": "^5.76.0"
81
+ "storybook": "10.1.11",
82
+ "style-loader": "^4.0.0",
83
+ "ts-jest": "^26.5.6"
90
84
  },
91
85
  "peerDependencies": {
92
86
  "@ukic/fonts": "^3.1.0"
@@ -96,5 +90,5 @@
96
90
  "collection:main": "dist/collection/index.js",
97
91
  "es2015": "dist/esm/index.mjs",
98
92
  "es2017": "dist/esm/index.mjs",
99
- "gitHead": "6140e22c972788eef372b91c7c694b208ae285fa"
93
+ "gitHead": "9fa741ec116ad9c938c159034f362f324dcabb91"
100
94
  }
package/vscode-data.json CHANGED
@@ -1118,6 +1118,10 @@
1118
1118
  "name": "dismissible",
1119
1119
  "description": "If `true`, the chip will have a close button at the end to dismiss it."
1120
1120
  },
1121
+ {
1122
+ "name": "full-width",
1123
+ "description": "Specify whether the chip fills the full width of the container.\nIf `true`, this overrides the --input-width CSS variable."
1124
+ },
1121
1125
  {
1122
1126
  "name": "label",
1123
1127
  "description": "The text rendered within the chip."
@@ -1,2 +0,0 @@
1
- import{r as o,h as t,H as e}from"./p-8e4e97b4.js";import{o as r}from"./p-a5658054.js";import"./p-bddf799a.js";const a=":host{display:block;margin-bottom:var(--ic-space-md);border-bottom:var(--ic-space-1px) solid var(--ic-tab-bottom-border)}:host(.ic-tab-group-monochrome){border-bottom:var(--ic-space-1px) solid\n var(--ic-tab-bottom-border-monochrome)}:host(.ic-tab-group-inline){margin-bottom:0;border-bottom:none}.tabs-container{display:flex;flex-direction:row}.tabs-container::-webkit-scrollbar{display:none}:host ic-horizontal-scroll{--splitter-color:var(--ic-tab-divider)}:host(.ic-tab-group-monochrome) ic-horizontal-scroll{--splitter-color:var(--ic-tab-divider-monochrome)}";const c=a;const i=class{constructor(t){o(this,t);this.inline=false;this.monochrome=false;this.theme="inherit"}componentDidLoad(){r([{prop:this.label,propName:"label"}],"Tab Group")}render(){const{inline:o,theme:r,label:a,monochrome:c}=this;return t(e,{key:"d4354a73edcfe5ed044e2acf6d04256eddcb7f40",role:"tablist","aria-label":a,class:{["ic-tab-group-inline"]:!!o,[`ic-theme-${r}`]:r!=="inherit",["ic-tab-group-monochrome"]:!!c}},t("ic-horizontal-scroll",{key:"42cf7391e17b38a3489e77bc3d882aa31902c14a",theme:r,"focus-trigger":"tabFocus",monochrome:c},t("div",{key:"81270d7ad5567b23ab8098679705c3818b3bfd35",class:"tabs-container"},t("slot",{key:"ee7b2ece3edc06146170b759f2c08e22bca9fc7f"}))))}static get delegatesFocus(){return true}};i.style=c;export{i as ic_tab_group};
2
- //# sourceMappingURL=p-177d3c2f.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as i,c as e,h as t,H as o,g as a}from"./p-8e4e97b4.js";import{d as s,g as c,r,o as n,a as l,i as d,b as p}from"./p-a5658054.js";import"./p-bddf799a.js";const h=`<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M10 0C4.47 0 0 4.47 0 10C0 15.53 4.47 20 10 20C15.53 20 20 15.53 20 10C20 4.47 15.53 0 10 0ZM15 13.59L13.59 15L10 11.41L6.41 15L5 13.59L8.59 10L5 6.41L6.41 5L10 8.59L13.59 5L15 6.41L11.41 10L15 13.59Z" fill="currentColor"/>\n</svg>\n`;const b='/*! 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:inline-block;max-width:100%;vertical-align:middle}:host(.ic-chip-dismissed){display:none}.chip{--chip-bg-color:transparent;--chip-hover-bg:var(--ic-chip-action-hover);--chip-pressed-bg:var(--ic-chip-action-pressed);display:flex;padding:calc(var(--ic-space-xxs) - var(--ic-space-1px)) var(--ic-space-xxs);font-size:0.875rem;border-radius:var(--ic-space-md);text-align:left;text-decoration:none;position:relative;background-color:var(--chip-bg-color);border:var(--ic-border-width) solid transparent;justify-content:space-between}@media (prefers-reduced-motion: no-preference){.chip{transition:var(--ic-easing-transition-fast)}}.chip.small{padding:var(--ic-space-1px) var(--ic-space-xxxs);border-radius:calc(var(--ic-space-md) - var(--ic-space-xxxs))}.chip.large{padding:calc(var(--ic-space-xs) - var(--ic-space-1px)) var(--ic-space-xs);border-radius:calc(var(--ic-space-md) + var(--ic-space-xxs))}.label{padding:0 var(--ic-space-xs)}.chip:focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);z-index:1}ic-tooltip:focus-within{z-index:1}.filled{--chip-bg-color:var(\n --chip-custom-color,\n var(--ic-chip-background-filled-default)\n );--ic-typography-color:var(\n --chip-custom-foreground-color,\n var(--ic-chip-label)\n );color:var(--chip-custom-foreground-color, var(--ic-chip-label))}.filled.disabled{--chip-bg-color:var(--ic-chip-background-filled-inactive)}:host(.ic-chip-dark-text){--chip-custom-foreground-color:var(--ic-architectural-black)}:host(.ic-chip-light-text){--chip-custom-foreground-color:var(--ic-architectural-white)}:host(.ic-chip-dark-text) .chip.filled.hovered:not(:focus-within){--chip-hover-bg:var(--ic-action-dark-bg-hover)}:host(.ic-chip-dark-text) .chip.filled:focus-within{--chip-pressed-bg:var(--ic-action-dark-bg-pressed)}:host(.ic-chip-light-text) .chip.filled.hovered:not(:focus-within){--chip-hover-bg:var(--ic-action-light-bg-hover)}:host(.ic-chip-light-text) .chip.filled:focus-within{--chip-pressed-bg:var(--ic-action-light-bg-pressed)}.outlined{color:var(--ic-chip-outline-label);border-color:var(--chip-custom-color, var(--ic-chip-outline));padding:calc(var(--ic-space-xxs));--ic-typography-color:var(--ic-chip-outline-label)}.outlined.disabled{border:var(--ic-border-disabled);border-color:var(--ic-chip-outline-inactive)}.chip.disabled ic-typography{--ic-typography-color:var(--ic-chip-label-inactive)}.dismiss-icon{border:none;border-radius:50%;padding:0;color:currentcolor;background:none;cursor:pointer;margin:var(--ic-space-xxxs);height:calc(var(--ic-space-lg) - var(--ic-space-xxs));width:calc(var(--ic-space-lg) - var(--ic-space-xxs))}.dismiss-icon:focus{outline:var(--ic-hc-focus-outline)}.dismiss-icon[disabled]{pointer-events:none;color:var(--ic-chip-icon-inactive)}.icon{padding:var(--ic-space-xxxs);box-sizing:border-box}.icon,ic-tooltip{width:var(--ic-space-lg);height:var(--ic-space-lg)}.chip.disabled path,.chip.disabled ::slotted(svg){fill:var(--ic-chip-icon-inactive)}.outlined.non-transparent{background-color:var(--ic-chip-outline-background)}:host .chip.hovered:not(:focus-within){background-image:linear-gradient(var(--chip-hover-bg) 0 0)}:host .chip:focus-within{background-image:linear-gradient(var(--chip-pressed-bg) 0 0)}.sr-only{position:absolute;left:-9999px}.sr-only:dir(rtl){right:-9999px}@media (forced-colors: active){.chip{border:var(--ic-border-hc)}.chip.disabled{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.chip.disabled ic-typography{--ic-typography-color:GrayText}.chip.disabled path,.chip.disabled ::slotted(svg){fill:GrayText}.chip:focus-within{outline:none;border-color:Highlight}}';const u=b;const g=class{constructor(t){i(this,t);this.icDismiss=e(this,"icDismiss",7);this.foregroundColor=null;this.hovered=false;this.visible=true;this.disabled=false;this.dismissible=false;this.dismissLabel="Dismiss";this.size="medium";this.theme="inherit";this.transparentBackground=true;this.variant="filled";this.dismissAction=()=>{this.icDismiss.emit()};this.mouseEnterHandler=()=>{this.hovered=true};this.mouseLeaveHandler=()=>{this.hovered=false}}customColorHandler(){const i=this.customColor&&s(this.customColor);if(!i){this.foregroundColor=null;return}const{r:e,g:t,b:o,a}=i;this.foregroundColor=c((e*299+t*587+o*114)/1e3);this.el.setAttribute("style",`--chip-custom-color: rgba(${e}, ${t}, ${o}, ${a});`)}watchDisabledHandler(){r(this.disabled,this.el)}disconnectedCallback(){var i;(i=this.hostMutationObserver)===null||i===void 0?void 0:i.disconnect()}componentWillLoad(){r(this.disabled,this.el);this.customColorHandler()}componentDidLoad(){n([{prop:this.label,propName:"label"}],"Chip");this.hostMutationObserver=new MutationObserver((i=>l(i,["icon","badge"],this)));this.hostMutationObserver.observe(this.el,{childList:true})}handleClick(){this.visible=!this.visible}async setFocus(){var i;(i=this.buttonEl)===null||i===void 0?void 0:i.focus()}render(){const{label:i,variant:e,size:a,dismissible:s,visible:c,disabled:r,hovered:n,theme:l,foregroundColor:b,dismissLabel:u,transparentBackground:g}=this;const f=`${i} chip`;return t(o,{key:"91df6058439a8c6dbd74de3d46153e4d0c54d623",class:{"ic-chip-dismissed":!c,[`ic-theme-${l}`]:l!=="inherit",[`ic-chip-${b}-text`]:e==="filled"&&!!b}},c&&t("div",{key:"e7fe4dfe8ebedf808512a29aceef28a6700cd233",class:{chip:true,[`${e}`]:true,[`${a}`]:true,disabled:r,dismissible:s,hovered:n,"non-transparent":e==="outlined"&&!g}},d(this.el,"icon")&&t("div",{key:"81b38c990e638413596f6e5e8041f68eef20e064",class:"icon"},t("slot",{key:"3a1fda2665ac0aea65df3bfaa94552f5e6fa2e1e",name:"icon"})),t("ic-typography",{key:"a496fa5e7be6ec073cb1b2225b7a1e1f79f94f3f",variant:"label","apply-vertical-margins":false,class:{label:true,"in-ag-grid":p(this.el)}},t("span",{key:"942471f0fd86b350166c14433c40d6d912a52b17"},i)),s&&t("ic-tooltip",{key:"c9ea0b5045a625a7b42ae71b22bc9737b05501ee",label:u,target:"dismiss-icon",class:{"tooltip-disabled":r}},t("button",{key:"7fb04f03ac698a002fea17de94980623b33502dd",id:"dismiss-icon",class:"dismiss-icon",ref:i=>this.buttonEl=i,"aria-label":`${u} ${f}`,disabled:r,tabindex:r?-1:0,onClick:this.dismissAction,onMouseEnter:this.mouseEnterHandler,onMouseLeave:this.mouseLeaveHandler,innerHTML:h})),d(this.el,"badge")&&t("slot",{key:"99b017ad25c78367d25411312b47aa1f73d8f682",name:"badge"})),s&&t("div",{key:"b847f0255a3aaca7f1f24e2de1e939e0a6518c2f",class:"sr-only","aria-live":"polite"},!c?`Dismissed ${f}`:""))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{customColor:["customColorHandler"],disabled:["watchDisabledHandler"]}}};g.style=u;export{g as ic_chip};
2
- //# sourceMappingURL=p-199c5ff6.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icChipCss","IcChipStyle0","Chip","constructor","hostRef","this","foregroundColor","hovered","visible","disabled","dismissible","dismissLabel","size","theme","transparentBackground","variant","dismissAction","icDismiss","emit","mouseEnterHandler","mouseLeaveHandler","customColorHandler","colorRGBA","customColor","convertToRGBA","r","g","b","a","getBrandForegroundAppearance","el","setAttribute","watchDisabledHandler","removeDisabledFalse","disconnectedCallback","_a","hostMutationObserver","disconnect","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","handleClick","setFocus","buttonEl","focus","render","ariaLabel","h","Host","key","class","chip","isSlotUsed","name","isElInAGGrid","target","id","ref","tabindex","onClick","onMouseEnter","onMouseLeave","innerHTML","dismissIcon"],"sources":["src/components/ic-chip/ic-chip.css?tag=ic-chip&encapsulation=shadow","src/components/ic-chip/ic-chip.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: inline-block;\n max-width: 100%;\n vertical-align: middle;\n}\n\n:host(.ic-chip-dismissed) {\n display: none;\n}\n\n.chip {\n --chip-bg-color: transparent;\n --chip-hover-bg: var(--ic-chip-action-hover);\n --chip-pressed-bg: var(--ic-chip-action-pressed);\n\n display: flex;\n padding: calc(var(--ic-space-xxs) - var(--ic-space-1px)) var(--ic-space-xxs);\n font-size: 0.875rem;\n border-radius: var(--ic-space-md);\n text-align: left;\n text-decoration: none;\n position: relative;\n background-color: var(--chip-bg-color);\n border: var(--ic-border-width) solid transparent;\n justify-content: space-between;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n .chip {\n transition: var(--ic-easing-transition-fast);\n }\n}\n\n.chip.small {\n padding: var(--ic-space-1px) var(--ic-space-xxxs);\n border-radius: calc(var(--ic-space-md) - var(--ic-space-xxxs));\n}\n\n.chip.large {\n padding: calc(var(--ic-space-xs) - var(--ic-space-1px)) var(--ic-space-xs);\n border-radius: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n.label {\n padding: 0 var(--ic-space-xs);\n}\n\n.chip:focus-within {\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\nic-tooltip:focus-within {\n z-index: 1;\n}\n\n.filled {\n --chip-bg-color: var(\n --chip-custom-color,\n var(--ic-chip-background-filled-default)\n );\n --ic-typography-color: var(\n --chip-custom-foreground-color,\n var(--ic-chip-label)\n );\n\n color: var(--chip-custom-foreground-color, var(--ic-chip-label));\n}\n\n.filled.disabled {\n --chip-bg-color: var(--ic-chip-background-filled-inactive);\n}\n\n:host(.ic-chip-dark-text) {\n --chip-custom-foreground-color: var(--ic-architectural-black);\n}\n\n:host(.ic-chip-light-text) {\n --chip-custom-foreground-color: var(--ic-architectural-white);\n}\n\n:host(.ic-chip-dark-text) .chip.filled.hovered:not(:focus-within) {\n --chip-hover-bg: var(--ic-action-dark-bg-hover);\n}\n\n:host(.ic-chip-dark-text) .chip.filled:focus-within {\n --chip-pressed-bg: var(--ic-action-dark-bg-pressed);\n}\n\n:host(.ic-chip-light-text) .chip.filled.hovered:not(:focus-within) {\n --chip-hover-bg: var(--ic-action-light-bg-hover);\n}\n\n:host(.ic-chip-light-text) .chip.filled:focus-within {\n --chip-pressed-bg: var(--ic-action-light-bg-pressed);\n}\n\n.outlined {\n color: var(--ic-chip-outline-label);\n border-color: var(--chip-custom-color, var(--ic-chip-outline));\n padding: calc(var(--ic-space-xxs));\n\n --ic-typography-color: var(--ic-chip-outline-label);\n}\n\n.outlined.disabled {\n border: var(--ic-border-disabled);\n border-color: var(--ic-chip-outline-inactive);\n}\n\n.chip.disabled ic-typography {\n --ic-typography-color: var(--ic-chip-label-inactive);\n}\n\n.dismiss-icon {\n border: none;\n border-radius: 50%;\n padding: 0;\n color: currentcolor;\n background: none;\n cursor: pointer;\n margin: var(--ic-space-xxxs);\n height: calc(var(--ic-space-lg) - var(--ic-space-xxs));\n width: calc(var(--ic-space-lg) - var(--ic-space-xxs));\n}\n\n.dismiss-icon:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n.dismiss-icon[disabled] {\n pointer-events: none;\n color: var(--ic-chip-icon-inactive);\n}\n\n.icon {\n padding: var(--ic-space-xxxs);\n box-sizing: border-box;\n}\n\n.icon,\nic-tooltip {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.chip.disabled path,\n.chip.disabled ::slotted(svg) {\n fill: var(--ic-chip-icon-inactive);\n}\n\n.outlined.non-transparent {\n background-color: var(--ic-chip-outline-background);\n}\n\n:host .chip.hovered:not(:focus-within) {\n background-image: linear-gradient(var(--chip-hover-bg) 0 0);\n}\n\n:host .chip:focus-within {\n background-image: linear-gradient(var(--chip-pressed-bg) 0 0);\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.sr-only:dir(rtl) {\n right: -9999px;\n}\n\n@media (forced-colors: active) {\n .chip {\n border: var(--ic-border-hc);\n }\n\n .chip.disabled {\n appearance: none;\n border-color: GrayText;\n }\n\n .chip.disabled ic-typography {\n --ic-typography-color: GrayText;\n }\n\n .chip.disabled path,\n .chip.disabled ::slotted(svg) {\n fill: GrayText;\n }\n\n .chip:focus-within {\n outline: none;\n border-color: Highlight;\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Listen,\n Event,\n EventEmitter,\n Element,\n Method,\n Watch,\n Host,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n removeDisabledFalse,\n convertToRGBA,\n isElInAGGrid,\n getBrandForegroundAppearance,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport {\n IcBrandForegroundNoDefault,\n IcColor,\n IcEmphasisType,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport dismissIcon from \"../../assets/dismiss-icon.svg\";\n\n/**\n * @slot icon - Content will be rendered at the start of the chip.\n * @slot badge - Badge component overlaying the top right of the chip.\n */\n@Component({\n tag: \"ic-chip\",\n styleUrl: \"ic-chip.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Chip {\n private buttonEl?: HTMLButtonElement;\n private hostMutationObserver?: MutationObserver;\n\n @Element() el: HTMLIcChipElement;\n\n @State() foregroundColor: IcBrandForegroundNoDefault | null = null;\n @State() hovered = false;\n @State() visible = true;\n\n /**\n * The custom chip colour. This will override the theme colour.\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor;\n @Watch(\"customColor\")\n customColorHandler(): void {\n const colorRGBA = this.customColor && convertToRGBA(this.customColor);\n if (!colorRGBA) {\n this.foregroundColor = null;\n return;\n }\n\n const { r, g, b, a } = colorRGBA;\n this.foregroundColor = getBrandForegroundAppearance(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n this.el.setAttribute(\n \"style\",\n `--chip-custom-color: rgba(${r}, ${g}, ${b}, ${a});`\n );\n }\n\n /**\n * If `true`, the chip will appear disabled.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the chip will have a close button at the end to dismiss it.\n */\n @Prop() dismissible = false;\n\n /**\n * The text in the dismiss button tooltip and aria label. Makes the user aware of the action resulting from clicking the 'Dismiss chip' button.\n */\n @Prop() dismissLabel = \"Dismiss\";\n\n /**\n * The text rendered within the chip.\n */\n @Prop() label!: string;\n\n /**\n * The size of the chip.\n */\n @Prop() size: IcSizes = \"medium\";\n /**\n * Sets the chip to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n * Setting the \"customColor\" prop will override this.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * If `true`, the outlined variant of chip will have a transparent background rather than the theme defined color.\n */\n @Prop() transparentBackground = true;\n\n /**\n * The emphasis of the chip.\n */\n @Prop() variant: IcEmphasisType = \"filled\";\n\n /**\n * Is emitted when the user dismisses the chip.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n this.customColorHandler();\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Chip\"\n );\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, [\"icon\", \"badge\"], this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n\n /**\n * Sets focus on the chip.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.buttonEl?.focus();\n }\n\n private dismissAction = () => {\n this.icDismiss.emit();\n };\n\n private mouseEnterHandler = () => {\n this.hovered = true;\n };\n\n private mouseLeaveHandler = () => {\n this.hovered = false;\n };\n\n render() {\n const {\n label,\n variant,\n size,\n dismissible,\n visible,\n disabled,\n hovered,\n theme,\n foregroundColor,\n dismissLabel,\n transparentBackground,\n } = this;\n\n const ariaLabel = `${label} chip`;\n\n return (\n <Host\n class={{\n \"ic-chip-dismissed\": !visible,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [`ic-chip-${foregroundColor}-text`]:\n variant === \"filled\" && !!foregroundColor,\n }}\n >\n {visible && (\n <div\n class={{\n chip: true,\n [`${variant}`]: true,\n [`${size}`]: true,\n disabled,\n dismissible,\n hovered,\n \"non-transparent\":\n variant === \"outlined\" && !transparentBackground,\n }}\n >\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography\n variant=\"label\"\n apply-vertical-margins={false}\n class={{ label: true, \"in-ag-grid\": isElInAGGrid(this.el) }}\n >\n <span>{label}</span>\n </ic-typography>\n {dismissible && (\n <ic-tooltip\n label={dismissLabel}\n target=\"dismiss-icon\"\n class={{ \"tooltip-disabled\": disabled }}\n >\n <button\n id=\"dismiss-icon\"\n class=\"dismiss-icon\"\n ref={(el) => (this.buttonEl = el)}\n aria-label={`${dismissLabel} ${ariaLabel}`}\n disabled={disabled}\n tabindex={disabled ? -1 : 0}\n onClick={this.dismissAction}\n onMouseEnter={this.mouseEnterHandler}\n onMouseLeave={this.mouseLeaveHandler}\n innerHTML={dismissIcon}\n ></button>\n </ic-tooltip>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </div>\n )}\n {dismissible && (\n <div class=\"sr-only\" aria-live=\"polite\">\n {!visible ? `Dismissed ${ariaLabel}` : \"\"}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,h as a,H as i,g as e}from"./p-8e4e97b4.js";import{o as l,S as r,T as o,K as n}from"./p-a5658054.js";import{w as c,g as s,s as p}from"./p-bddf799a.js";const d="ic-input-label{margin-bottom:var(--ic-space-xs);--ic-typography-color:var(\n --ic-input-label-text-color,\n var(--ic-color-text-primary)\n )}ic-input-label.with-helper{margin-bottom:0}ic-input-label.ic-input-label-readonly{--ic-typography-color:var(--ic-input-label-readonly-typography-color)}ic-input-label .helpertext,ic-input-label .helpertext ::slotted(*){margin-top:var(--ic-space-xxxs);padding-bottom:var(--ic-input-label-helpertext-padding, 0);--ic-typography-color:var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n )}ic-input-label .helpertext-normal{--ic-typography-color:var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n )}ic-input-label .helpertext-readonly{--ic-typography-color:var(--ic-input-label-readonly-helpertext-color)}ic-input-label .readonly-label{--ic-typography-color:var(--ic-input-label-readonly-label-color)}ic-input-label .error-label{--ic-typography-color:var(--ic-input-label-error-label-color)}";const u=d;const h=class{constructor(a){t(this,a);this.disabled=false;this.helperText="";this.hideLabel=false;this.readonly=false;this.required=false;this.status="";this.useLabelTag=true;this.isHelperTextSlotUsed=t=>{const a=t===null||t===void 0?void 0:t.assignedElements();if(a&&a.length){for(const t of a){if(t.tagName==="SLOT"){if(this.isHelperTextSlotUsed(t)){return true}}else{return true}}}return false}}componentDidLoad(){l([{prop:this.label,propName:"label"}],"Input Label")}render(){const{disabled:t,readonly:e,label:l,required:o,helperText:n,status:c,hideLabel:s,useLabelTag:p}=this;const d=o?l+" *":l;const u=this.for&&r(this.for);const h={helpertext:true,"helpertext-normal":!t&&!e,"helpertext-readonly":e};const v=this.el.querySelector("slot[name='helper-text']");return a(i,{key:"da58fe3cac026661d1c624c69c56c6e64ff3c07a",class:{"ic-input-label-disabled":!!t,"ic-input-label-readonly":e,"with-helper":this.isHelperTextSlotUsed(v)||n!==""}},!s&&a("ic-typography",{key:"bb221e5f51681a0caa721c66f03fd475e4e08749",variant:"label",class:{"readonly-label":e,"error-label":c==="error"&&!(e||t)}},e||!p?`${d}`:a("label",{htmlFor:this.for},d)),this.isHelperTextSlotUsed(v)?a("span",{id:u,class:h},a("slot",{name:"helper-text"})):n!==""&&a("ic-typography",{variant:"caption",class:h},a("span",{id:u},n)))}get el(){return e(this)}};h.style=u;const v="ic-input-validation{max-width:var(--input-width, 20rem);display:flex}ic-input-validation.ic-input-validation-with-status{margin-top:var(--ic-space-xs)}ic-input-validation.ic-input-validation-full-width{width:100%;max-width:none}ic-input-validation span.status-icon{padding-right:var(--ic-space-xxs)}ic-input-validation span.status-icon>svg{height:1.25rem;width:1.25rem}ic-input-validation span.icon-success>svg{fill:var(--ic-input-validation-success-icon-color)}ic-input-validation span.icon-error>svg{fill:var(--ic-input-validation-error, var(--ic-atoms-status-icon-error))}ic-input-validation span.icon-warning>svg{fill:var(--ic-input-validation-warning-icon-color)}ic-input-validation .statustext{flex-grow:1;color:var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n );--ic-typography-color:var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n )}ic-input-validation .sr-only{position:absolute;left:-9999px}";const b=v;const y={[n.Warning]:c,[n.Error]:s,[n.Success]:p};const f="​";const g=class{constructor(a){t(this,a);this.ariaLiveMode="polite";this.fullWidth=false;this.status=""}watchMessageHandler(t){this.messageEl.textContent=f;setTimeout((()=>{this.messageEl.textContent=t}),200)}componentDidLoad(){this.messageEl.textContent=f}render(){const{ariaLiveMode:t,fullWidth:e,status:l,message:r}=this;const n=l!==""?y[l]:"";return a(i,{key:"2314e8e4f655e95cee33a0717322b65a5077cc3a",class:{[`ic-input-validation-${l}`]:l!=="","ic-input-validation-full-width":!!e,"ic-input-validation-with-status":l!==""}},n!==""&&a("span",{key:"171000e63f0d8ea96cd34e283700cfa641795419",class:{"status-icon":true,[`icon-${l}`]:true},innerHTML:n}),a("ic-typography",{key:"87c722d45b0b7c02602f65b418748b8fe890fed8",variant:"caption",class:"statustext"},a("span",{key:"d4440c3115b085b471b0de094cb89f9e775df5cb",id:this.for&&o(this.for)},r),a("span",{key:"3e1f4328c6ae86a01eccc0bc99a26e37af3aa4c4",ref:t=>this.messageEl=t,class:"sr-only","aria-live":t})),a("slot",{key:"b042762de928907af3e92882ae2f6068a3c2808d",name:"validation-message-adornment"}))}get el(){return e(this)}static get watchers(){return{message:["watchMessageHandler"]}}};g.style=b;export{h as ic_input_label,g as ic_input_validation};
2
- //# sourceMappingURL=p-72e5eb70.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icInputLabelCss","IcInputLabelStyle0","InputLabel","constructor","hostRef","this","disabled","helperText","hideLabel","readonly","required","status","useLabelTag","isHelperTextSlotUsed","slot","assignedEls","assignedElements","length","el","tagName","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","render","labelText","helperTextId","for","getInputHelperTextID","helperTextClass","helpertext","helperTextSlot","querySelector","h","Host","key","class","variant","htmlFor","id","name","icInputValidationCss","IcInputValidationStyle0","ICON","IcInformationStatus","Warning","warningIcon","Error","errorIcon","Success","successIcon","INVISIBLE_CHAR","InputValidation","ariaLiveMode","fullWidth","watchMessageHandler","newValue","messageEl","textContent","setTimeout","message","displayIcon","innerHTML","getInputValidationTextID","ref"],"sources":["src/components/ic-input-label/ic-input-label.css?tag=ic-input-label","src/components/ic-input-label/ic-input-label.tsx","src/components/ic-input-validation/ic-input-validation.css?tag=ic-input-validation","src/components/ic-input-validation/ic-input-validation.tsx"],"sourcesContent":["ic-input-label {\n margin-bottom: var(--ic-space-xs);\n\n --ic-typography-color: var(\n --ic-input-label-text-color,\n var(--ic-color-text-primary)\n );\n}\n\nic-input-label.with-helper {\n margin-bottom: 0;\n}\n\nic-input-label.ic-input-label-readonly {\n --ic-typography-color: var(--ic-input-label-readonly-typography-color);\n}\n\nic-input-label .helpertext,\nic-input-label .helpertext ::slotted(*) {\n margin-top: var(--ic-space-xxxs);\n padding-bottom: var(--ic-input-label-helpertext-padding, 0);\n\n --ic-typography-color: var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n );\n}\n\nic-input-label .helpertext-normal {\n --ic-typography-color: var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n );\n}\n\nic-input-label .helpertext-readonly {\n --ic-typography-color: var(--ic-input-label-readonly-helpertext-color);\n}\n\nic-input-label .readonly-label {\n --ic-typography-color: var(--ic-input-label-readonly-label-color);\n}\n\nic-input-label .error-label {\n --ic-typography-color: var(--ic-input-label-error-label-color);\n}\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n getInputHelperTextID,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-input-label\",\n styleUrl: \"./ic-input-label.css\",\n})\nexport class InputLabel {\n @Element() el: HTMLIcInputLabelElement;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The ID of the form element the label is bound to.\n */\n @Prop() for?: string;\n\n /**\n * The helper text that will be displayed.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * The label will be visually hidden.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The text content of the label.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * If `true`, the input label will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The status of the label - e.g. 'error'.\n */\n @Prop() status: \"error\" | \"\" = \"\";\n\n /**\n * @internal If `true`, wraps label text in label tag\n */\n @Prop() useLabelTag: boolean = true;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Input Label\"\n );\n }\n\n private isHelperTextSlotUsed = (slot: Element | null): boolean => {\n const assignedEls = (slot as HTMLSlotElement)?.assignedElements();\n if (assignedEls && assignedEls.length) {\n for (const el of assignedEls) {\n if (el.tagName === \"SLOT\") {\n // Recursion needed for when slot is forwarded multiple times - through child components\n // (e.g. in date picker)\n if (this.isHelperTextSlotUsed(el as HTMLSlotElement)) {\n return true;\n }\n } else {\n // Found an assigned element which is not a nested <slot>\n return true;\n }\n }\n }\n return false;\n };\n\n render() {\n const {\n disabled,\n readonly,\n label,\n required,\n helperText,\n status,\n hideLabel,\n useLabelTag,\n } = this;\n const labelText = required ? label + \" *\" : label;\n const helperTextId = this.for && getInputHelperTextID(this.for);\n const helperTextClass = {\n helpertext: true,\n \"helpertext-normal\": !disabled && !readonly,\n \"helpertext-readonly\": readonly,\n };\n\n const helperTextSlot = this.el.querySelector(\"slot[name='helper-text']\");\n\n return (\n <Host\n class={{\n \"ic-input-label-disabled\": !!disabled,\n \"ic-input-label-readonly\": readonly,\n \"with-helper\":\n this.isHelperTextSlotUsed(helperTextSlot) || helperText !== \"\",\n }}\n >\n {!hideLabel && (\n <ic-typography\n variant=\"label\"\n class={{\n \"readonly-label\": readonly,\n \"error-label\": status === \"error\" && !(readonly || disabled),\n }}\n >\n {readonly || !useLabelTag ? (\n `${labelText}`\n ) : (\n <label htmlFor={this.for}>{labelText}</label>\n )}\n </ic-typography>\n )}\n {this.isHelperTextSlotUsed(helperTextSlot) ? (\n <span id={helperTextId} class={helperTextClass}>\n <slot name=\"helper-text\"></slot>\n </span>\n ) : (\n helperText !== \"\" && (\n <ic-typography variant=\"caption\" class={helperTextClass}>\n <span id={helperTextId}>{helperText}</span>\n </ic-typography>\n )\n )}\n </Host>\n );\n }\n}\n","ic-input-validation {\n max-width: var(--input-width, 20rem);\n display: flex;\n}\n\nic-input-validation.ic-input-validation-with-status {\n margin-top: var(--ic-space-xs);\n}\n\nic-input-validation.ic-input-validation-full-width {\n width: 100%;\n max-width: none;\n}\n\nic-input-validation span.status-icon {\n padding-right: var(--ic-space-xxs);\n}\n\nic-input-validation span.status-icon > svg {\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-validation span.icon-success > svg {\n fill: var(--ic-input-validation-success-icon-color);\n}\n\nic-input-validation span.icon-error > svg {\n fill: var(--ic-input-validation-error, var(--ic-atoms-status-icon-error));\n}\n\nic-input-validation span.icon-warning > svg {\n fill: var(--ic-input-validation-warning-icon-color);\n}\n\nic-input-validation .statustext {\n flex-grow: 1;\n color: var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n );\n\n --ic-typography-color: var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n );\n}\n\nic-input-validation .sr-only {\n position: absolute;\n left: -9999px;\n}\n","import { Element, Component, Host, Prop, h, Watch } from \"@stencil/core\";\n\nimport {\n IcAriaLive,\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\n\nimport { getInputValidationTextID } from \"../../utils/helpers\";\n\nconst ICON = {\n [IcInformationStatus.Warning]: warningIcon,\n [IcInformationStatus.Error]: errorIcon,\n [IcInformationStatus.Success]: successIcon,\n};\nconst INVISIBLE_CHAR = \"\\u200B\";\n\n/**\n * @slot validation-message-adornment - Content will be placed to the right of the validation message.\n */\n@Component({\n tag: \"ic-input-validation\",\n styleUrl: \"ic-input-validation.css\",\n})\nexport class InputValidation {\n private messageEl!: HTMLSpanElement;\n\n @Element() el: HTMLIcInputValidationElement;\n\n /**\n * The ARIA live mode to apply to the message.\n */\n @Prop() ariaLiveMode?: IcAriaLive = \"polite\";\n\n /**\n * The ID of the form element the validation is bound to.\n */\n @Prop() for?: string;\n\n /**\n * If `true`, the input validation will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The validation message to display.\n */\n @Prop() message?: string;\n @Watch(\"message\")\n watchMessageHandler(newValue: string) {\n // Force detectable DOM changes\n // Invisible character used as screen readers can ignore whitespace changes e.g. \"\" and \" \"\n this.messageEl.textContent = INVISIBLE_CHAR;\n setTimeout(() => {\n this.messageEl.textContent = newValue;\n }, 200); // Delay to help ensure screen readers detect change\n }\n\n /**\n * The status of the validation - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() status?: IcInformationStatusOrEmpty = \"\";\n\n componentDidLoad(): void {\n this.messageEl.textContent = INVISIBLE_CHAR;\n }\n\n render() {\n const { ariaLiveMode, fullWidth, status, message } = this;\n const displayIcon = status !== \"\" ? ICON[status!] : \"\";\n return (\n <Host\n class={{\n [`ic-input-validation-${status}`]: status !== \"\",\n \"ic-input-validation-full-width\": !!fullWidth,\n \"ic-input-validation-with-status\": status !== \"\",\n }}\n >\n {displayIcon !== \"\" && (\n <span\n class={{\n \"status-icon\": true,\n [`icon-${status}`]: true,\n }}\n innerHTML={displayIcon}\n />\n )}\n <ic-typography variant=\"caption\" class=\"statustext\">\n <span id={this.for && getInputValidationTextID(this.for)}>\n {message}\n </span>\n {/* Separate aria-live region to avoid flashing due to textContent delay */}\n <span\n ref={(el) => (this.messageEl = el as HTMLSpanElement)}\n class=\"sr-only\"\n aria-live={ariaLiveMode}\n ></span>\n </ic-typography>\n <slot name=\"validation-message-adornment\"></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTextFieldCss","IcTextFieldStyle0","inputIds","MUTABLE_ATTRIBUTES","IC_INHERITED_ARIA","TextField","constructor","hostRef","this","inheritedAttributes","hostMutationObserver","numChars","maxCharactersReached","maxCharactersWarning","minCharactersUnattained","maxValueExceeded","minValueUnattained","isFocussed","autocapitalize","autocomplete","autocorrect","autofocus","disabled","fullWidth","helperText","hideCharCount","hideLabel","hiddenInput","inputId","inputmode","maxCharacters","maxCharactersMessage","maxMessage","max","minCharacters","minCharactersMessage","minMessage","min","name","placeholder","readonly","required","resize","rows","size","spellcheck","theme","truncateValue","type","validationAriaLive","validationInline","validationInlineInternal","validationStatus","validationText","debounce","value","initialValue","checkChildHydration","_b","_a","el","shadowRoot","querySelector","classList","contains","setFocus","clearInterval","interval","getNumberOfCharacters","undefined","length","getMaxValueExceeded","Number","getMaxCharactersReached","onInput","ev","target","icInput","emit","onBlur","removeEventListener","onWheel","icBlur","onFocus","addEventListener","icFocus","onTextAreaScroll","icScroll","blur","setTimeout","focus","hasStatus","status","handleFormReset","showValidationMargin","maxNumChars","emptyString","isEmptyString","valueOutsideRange","charsOutsideRange","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","addedNodes","removedNodes","includes","attribute","getAttribute","checkSlotInChildMutations","forceUpdate","watchDisabledHandler","removeDisabledFalse","debounceChanged","icChange","debounceEvent","watchValueHandler","newValue","substring","inputEl","connectedCallback","disconnectedCallback","removeFormResetListener","disconnect","componentWillLoad","inheritAttributes","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","getValidationText","MutationObserver","observe","attributes","childList","setInterval","handleKeyDown","icKeydown","event","cursorPosition","selectionStart","selectionEnd","ctrlKey","IGNORED_KEYBOARD_CHARACTERS","key","render","ariaActiveDescendant","ariaExpanded","ariaOwns","role","disabledMode","currentStatus","IcInformationStatus","Warning","Error","currentValidationText","messageAriaLive","showStatusText","Success","multiline","hiddenCharCountDescId","charsRemaining","remainingCharCountDescId","remainingCharCountDesc","describedBy","getInputDescribedByText","trim","disabledText","showLeftIcon","invalid","renderHiddenInput","removeHiddenInput","h","Host","class","for","slot","multiLine","Object","assign","id","ref","maxlength","minlength","onScroll","isSlotUsed","message","ariaLiveMode","variant","hidden"],"sources":["src/components/ic-text-field/ic-text-field.css?tag=ic-text-field&encapsulation=shadow","src/components/ic-text-field/ic-text-field.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --border-color: var(--ic-text-field-border-neutral);\n --border-color-hover: var(--ic-text-field-border-neutral-hover);\n --border-color-pressed: var(--ic-text-field-border-neutral-pressed);\n --border-color-disabled: var(--ic-text-field-border-disabled);\n --border-color-error: var(--ic-text-field-border-error);\n --border-color-error-hover: var(--ic-text-field-border-error-hover);\n --border-color-error-pressed: var(--ic-text-field-border-error-pressed);\n --border-color-success: var(--ic-text-field-border-success);\n --border-color-success-hover: var(--ic-text-field-border-success-hover);\n --border-color-success-pressed: var(--ic-text-field-border-success-pressed);\n --border-color-warning: var(--ic-text-field-border-warning);\n --border-color-warning-hover: var(--ic-text-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-text-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-text-field-label);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle);\n --ic-input-validation-status-text-color: var(--ic-text-field-state-text);\n --ic-input-validation-error: var(--ic-text-field-state-icon-error);\n --ic-input-validation-warning-icon-color: var(\n --ic-text-field-state-icon-warning\n );\n --ic-input-validation-success-icon-color: var(\n --ic-text-field-state-icon-success\n );\n --ic-input-component-container-success-icon-inline-color: var(\n --ic-text-field-state-icon-success\n );\n}\n\n:host(.ic-text-field-disabled) {\n --ic-input-label-text-color: var(--ic-text-field-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle-disabled);\n --text-field-placeholder-color: var(\n --ic-text-field-text-area-placeholder-text-disabled\n );\n}\n\n:host(.ic-text-field-full-width) {\n width: 100%;\n}\n\n::placeholder {\n color: var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--text-field-text-color, var(--ic-text-field-text));\n background-color: var(--input-bg-color, var(--ic-text-field-background));\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n padding-right: var(--ic-space-xs);\n padding-left: var(--ic-space-xs);\n caret-color: var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n );\n}\n\ntextarea {\n min-height: var(--ic-space-lg);\n resize: vertical;\n padding-top: 0.375rem;\n}\n\ninput:focus,\ntextarea:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ntextarea:disabled {\n color: var(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n );\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-text-field-read-only-input-text-internal);\n background: transparent;\n}\n\n/* Chrome, Safari, Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\ntextarea.no-resize {\n resize: none;\n}\n\n.char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit);\n\n padding-right: var(--ic-space-xxxs);\n}\n\n:host(.ic-text-field-disabled) .char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit-disabled);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-text-disabled);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-input-internal-icon);\n}\n\n.char-count {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\n.remaining-char-count-desc {\n position: absolute;\n left: -9999px;\n}\n\n.show-validation {\n margin-top: var(--ic-space-xs);\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput[type=\"search\"].truncate-value {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@media (forced-colors: active) {\n input.readonly,\n textarea.readonly {\n color: canvastext;\n }\n\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n forceUpdate,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n IcSizesNoLarge,\n IcThemeMode,\n IcValidationAriaLive,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n checkSlotInChildMutations,\n removeHiddenInput,\n} from \"../../utils/helpers\";\nimport {\n IC_INHERITED_ARIA,\n IGNORED_KEYBOARD_CHARACTERS,\n} from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldKeydownEventDetail,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot helper-text - Content is set as the helper text for the text field.\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n private inheritedAttributes: { [k: string]: string } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private hostMutationObserver: MutationObserver | null = null;\n private interval: ReturnType<typeof setInterval>;\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxCharactersReached: boolean = false;\n @State() maxCharactersWarning: boolean = false;\n @State() minCharactersUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n @State() isFocussed: boolean = false;\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete?: IcAriaAutocompleteTypes;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string | null;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns?: string;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete?: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect?: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText = \"\";\n\n /**\n * If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.\n */\n @Prop() hideCharCount = false;\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 = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId = `ic-text-field-input-${inputIds++}`;\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode: IcTextFieldInputModes = \"text\";\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * The maximum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of max value in `helperText` or `label`)\n */\n @Prop() max?: string | number;\n\n /**\n * The count of characters in the field. Will display a warning if the bound is reached. (NOTE: If the value of the text field has been set using the `value` prop, it will be truncated to this number of characters)\n */\n @Prop() maxCharacters = 0;\n\n /**\n * The text to display as the warning message when the maximum number of characters (the `maxCharacters` prop value) is reached.\n */\n // prettier-ignore\n @Prop() maxCharactersMessage = `Maximum input is ${this.maxCharacters} characters`;\n\n /**\n * The text to display as the error message when the maximum value (the `max` prop value) has been exceeded.\n */\n @Prop() maxMessage = `Maximum value of ${this.max} exceeded`;\n\n /**\n * The minimum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of min value in `helperText` or `label`)\n */\n @Prop() min?: string | number;\n\n /**\n * The minimum number of characters that can be entered in the field.\n */\n @Prop() minCharacters = 0;\n\n /**\n * The text to display as the error message when the minimum number of characters (the `minCharacters` prop value) has not been met.\n */\n // prettier-ignore\n @Prop() minCharactersMessage = `Minimum input is ${this.minCharacters} characters`;\n\n /**\n * The text to display as the error message when the minimum value (the `min` prop value) has not been met.\n */\n @Prop() minMessage = `Minimum value of ${this.min} not met`;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string | null;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows = 1;\n\n /**\n * The size of the text field component.\n */\n @Prop() size: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\n\n /**\n * 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 @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue = false;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * The value of the `aria-live` attribute on the validation message. When set to \"default\", the `aria-live` value will be handled automatically, e.g. \"assertive\" for `validation-status=\"error\"`.\n */\n @Prop() validationAriaLive: IcValidationAriaLive = \"default\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal = false;\n\n /**\n * The validation state - 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 * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value = \"\";\n @State() initialValue = this.value;\n @Watch(\"value\")\n private watchValueHandler(newValue: string): void {\n let value;\n\n if (this.maxCharacters > 0) {\n value = newValue.substring(0, this.maxCharacters);\n if (value.length < newValue.length) {\n this.maxCharactersWarning = true;\n }\n this.value = value;\n } else {\n value = newValue;\n }\n\n if (this.inputEl && this.inputEl.value !== value) {\n this.inputEl.value = value;\n }\n\n this.getMaxValueExceeded(value);\n\n this.getMaxCharactersReached(value);\n\n this.icChange.emit({ value });\n }\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<IcTextFieldKeydownEventDetail>;\n\n /**\n * Emitted when the textarea variant is scrolled.\n */\n @Event() icScroll: EventEmitter;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el as HTMLElement, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n if (this.value !== this.initialValue) {\n this.watchValueHandler(this.value);\n } else if (this.maxCharacters > 0) {\n this.value = this.value.substring(0, this.maxCharacters);\n }\n\n this.getMaxValueExceeded(this.value);\n this.getMaxCharactersReached(this.value);\n\n this.inheritedAttributes = inheritAttributes(\n this.el as HTMLElement,\n MUTABLE_ATTRIBUTES\n );\n\n if (this.readonly) {\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el as HTMLElement, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getValidationText.emit({ value: this.validationText });\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n\n if (this.autofocus && !this.disabled && !this.readonly) {\n this.interval = setInterval(this.checkChildHydration, 50);\n }\n }\n\n private checkChildHydration = () => {\n if (\n this.hideLabel ||\n this.el.shadowRoot\n ?.querySelector(\"ic-typography\")\n ?.classList.contains(\"hydrated\")\n ) {\n this.setFocus();\n clearInterval(this.interval);\n }\n };\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({\n event: ev,\n cursorPosition: this.inputEl.selectionStart ?? 0,\n selectionEnd: this.inputEl.selectionEnd ?? 0,\n });\n\n if (!ev.ctrlKey && !IGNORED_KEYBOARD_CHARACTERS.includes(ev.key)) {\n this.maxCharactersWarning = this.maxCharactersReached;\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus(): Promise<void> {\n this.inputEl?.focus();\n }\n\n private getNumberOfCharacters = (value: string) =>\n value !== null && value !== undefined ? value.length : 0;\n\n private getMaxValueExceeded = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n if (this.type === \"number\") {\n this.minValueUnattained = !!value && Number(value) < Number(this.min);\n this.maxValueExceeded = Number(value) > Number(this.max);\n }\n };\n\n private getMaxCharactersReached = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n this.maxCharactersReached =\n this.maxCharacters > 0 && this.numChars >= this.maxCharacters;\n\n if (this.maxCharactersWarning && !this.maxCharactersReached) {\n this.maxCharactersWarning = false;\n }\n };\n\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n private onBlur = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.removeEventListener(\"wheel\", this.onWheel);\n const { value } = target;\n this.numChars = value.length;\n this.minCharactersUnattained =\n this.minCharacters > 0 && this.numChars < this.minCharacters;\n this.icBlur.emit({ value });\n this.isFocussed = false;\n };\n\n private onFocus = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.addEventListener(\"wheel\", this.onWheel);\n this.icFocus.emit({ value: target.value });\n this.isFocussed = true;\n };\n\n private onTextAreaScroll = () => {\n this.icScroll.emit();\n };\n\n private onWheel = (ev: WheelEvent) => {\n const target = ev.target as HTMLInputElement;\n if (target.type === \"number\") {\n target.blur();\n setTimeout(() => {\n target.focus();\n }, 0);\n }\n };\n\n private hasStatus = (status: IcInformationStatusOrEmpty) =>\n status !== \"\" && !this.disabled;\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n private showValidationMargin = (): boolean => {\n const maxNumChars = this.readonly ? 0 : this.maxCharacters;\n const emptyString =\n isEmptyString(this.validationStatus) ||\n isEmptyString(this.validationText);\n const valueOutsideRange = this.minValueUnattained || this.maxValueExceeded;\n const charsOutsideRange = maxNumChars > 0 || this.minCharactersUnattained;\n return (\n (!emptyString || valueOutsideRange || charsOutsideRange) &&\n !this.validationInlineInternal\n );\n };\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute) {\n this.inheritedAttributes[attributeName] = attribute;\n }\n forceComponentUpdate = true;\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\n placeholder,\n helperText,\n hideCharCount,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n numChars,\n readonly,\n maxCharacters,\n maxCharactersMessage,\n maxCharactersWarning,\n maxCharactersReached,\n maxMessage,\n minCharacters,\n minCharactersMessage,\n minCharactersUnattained,\n minMessage,\n minValueUnattained,\n maxValueExceeded,\n validationAriaLive,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n theme,\n hideLabel,\n type,\n autocapitalize,\n ariaActiveDescendant,\n inheritedAttributes,\n ariaExpanded,\n ariaOwns,\n autocomplete,\n role,\n isFocussed,\n } = this;\n\n const el = this.el as HTMLElement;\n\n const disabledMode = readonly || disabled;\n\n const currentStatus =\n maxValueExceeded ||\n minValueUnattained ||\n minCharactersUnattained ||\n maxCharactersWarning\n ? maxCharactersWarning\n ? IcInformationStatus.Warning\n : IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxCharactersWarning\n ? maxCharactersMessage\n : maxValueExceeded\n ? maxMessage\n : minValueUnattained\n ? minMessage\n : minCharactersUnattained\n ? minCharactersMessage\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxCharacters;\n const messageAriaLive =\n validationAriaLive === \"default\"\n ? maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\"\n : validationAriaLive;\n\n const showStatusText =\n this.hasStatus(currentStatus) &&\n !(currentStatus == IcInformationStatus.Success && validationInline) &&\n !validationInlineInternal;\n\n const multiline = rows > 1;\n\n const hiddenCharCountDescId =\n maxCharacters > 0 ? `${inputId}-char-count-desc` : \"\";\n\n const charsRemaining = maxNumChars - numChars;\n const remainingCharCountDescId =\n maxCharacters > 0 ? `${inputId}-remaining-char-count-desc` : \"\";\n const remainingCharCountDesc = `${charsRemaining} character${\n charsRemaining === 1 ? \"\" : \"s\"\n } remaining.`;\n\n const describedBy = `${getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n showStatusText\n )} ${hiddenCharCountDescId} ${\n numChars > 0 ? remainingCharCountDescId : \"\"\n }`.trim();\n\n const disabledText = disabledMode && !readonly;\n const showLeftIcon =\n !!this.el.querySelector(`[slot=\"icon\"]`) && !disabledText;\n\n const invalid = `${currentStatus === IcInformationStatus.Error}`;\n\n hiddenInput\n ? renderHiddenInput(this.el as HTMLElement, value, name, disabledMode)\n : removeHiddenInput(this.el as HTMLElement);\n\n return (\n <Host\n class={{\n \"ic-text-field-full-width\": fullWidth,\n \"ic-text-field-disabled\": disabledMode,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {showLeftIcon && (\n <span\n class={{\n readonly,\n \"has-value\": this.getNumberOfCharacters(value) > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline ? (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={type}\n min={min}\n max={max}\n value={value}\n class={{\n \"no-left-pad\": !showLeftIcon && readonly,\n readonly,\n \"truncate-value\": truncateValue,\n }}\n placeholder={placeholder ? placeholder : \"\"}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={ariaActiveDescendant}\n aria-expanded={ariaExpanded}\n aria-owns={ariaOwns}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={role || undefined}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></input>\n ) : (\n <textarea\n id={inputId}\n class={{\n \"no-resize\": resize === false || !!readonly,\n \"no-left-pad\": !showLeftIcon && !!readonly,\n readonly: !!readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholder}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onScroll={this.onTextAreaScroll}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(el, \"menu\") && <slot name=\"menu\"></slot>}\n <ic-input-validation\n class={{ \"show-validation\": this.showValidationMargin() }}\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n {!hideCharCount && (\n <ic-typography variant=\"caption\" class=\"char-count-text\">\n <span class=\"char-count\">\n {numChars}/{maxNumChars}\n </span>\n </ic-typography>\n )}\n <span\n class=\"remaining-char-count-desc\"\n aria-live=\"polite\"\n hidden={!isFocussed}\n id={remainingCharCountDescId}\n >\n {remainingCharCountDesc}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </div>\n )}\n </ic-input-validation>\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icDataListCss","IcDataListStyle0","DataList","constructor","hostRef","this","size","theme","render","el","heading","Array","from","children","forEach","child","setAttribute","h","Host","key","class","id","name","variant"],"sources":["src/components/ic-data-list/ic-data-list.css?tag=ic-data-list&encapsulation=shadow","src/components/ic-data-list/ic-data-list.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --data-row-label-width: Width of the label column in the data list.\n */\n\n:host {\n display: block;\n}\n\n.heading {\n --ic-typography-color: var(--ic-data-list-text-heading);\n\n color: var(--ic-data-list-text-heading);\n}\n\n.rows {\n display: flex;\n flex-direction: column;\n gap: var(--ic-space-md);\n}\n\n:host(.ic-data-list-small) .rows {\n gap: var(--ic-space-xs);\n}\n\n.divider {\n margin-top: var(--ic-space-lg);\n margin-bottom: var(--ic-space-md);\n height: var(--ic-border-width);\n background-color: var(--ic-data-list-keyline-heading);\n}\n\n:host(.ic-data-list-small) .divider {\n margin-top: var(--ic-space-sm);\n margin-bottom: var(--ic-space-xs);\n}\n\n@media (forced-colors: active) {\n .divider {\n background-color: canvastext;\n }\n}\n","import { Component, Element, Host, h, Prop } from \"@stencil/core\";\nimport { IcSizesNoLarge, IcThemeMode } from \"../../utils/types\";\n\n/**\n * @slot heading - Content will be placed at the top of the data list.\n */\n@Component({\n tag: \"ic-data-list\",\n styleUrl: \"ic-data-list.css\",\n shadow: true,\n})\nexport class DataList {\n @Element() el: HTMLIcDataListElement;\n\n /**\n * The title for the data list.\n */\n @Prop() heading?: string;\n\n /**\n * The size of the data list component.\n */\n @Prop() size?: IcSizesNoLarge = \"medium\";\n\n /**\n * 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 @Prop() theme?: IcThemeMode = \"inherit\";\n\n render() {\n const { el, heading, size, theme } = this;\n\n if (size === \"small\") {\n Array.from(el.children).forEach((child) =>\n child.setAttribute(\"size\", \"small\")\n );\n }\n\n return (\n <Host\n class={{\n \"ic-data-list-small\": size === \"small\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"heading\" id=\"data-list-heading\">\n <slot name=\"heading\">\n <ic-typography variant=\"h3\">{heading}</ic-typography>\n </slot>\n </div>\n <div class=\"divider\" />\n <ul aria-labelledby=\"data-list-heading\" class=\"rows\">\n <slot></slot>\n </ul>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAgB,05FACtB,MAAAC,EAAeD,E,MCUFE,EAAQ,MALrB,WAAAC,CAAAC,G,UAgBUC,KAAAC,KAAwB,SAKxBD,KAAAE,MAAsB,S,CAE9B,MAAAC,GACE,MAAMC,GAAEA,EAAEC,QAAEA,EAAOJ,KAAEA,EAAIC,MAAEA,GAAUF,KAErC,GAAIC,IAAS,QAAS,CACpBK,MAAMC,KAAKH,EAAGI,UAAUC,SAASC,GAC/BA,EAAMC,aAAa,OAAQ,U,CAI/B,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,qBAAsBd,IAAS,QAC/B,CAAC,YAAYC,KAAUA,IAAU,YAGnCU,EAAA,OAAAE,IAAA,2CAAKC,MAAM,UAAUC,GAAG,qBACtBJ,EAAA,QAAAE,IAAA,2CAAMG,KAAK,WACTL,EAAA,iBAAAE,IAAA,2CAAeI,QAAQ,MAAMb,KAGjCO,EAAA,OAAAE,IAAA,2CAAKC,MAAM,YACXH,EAAA,MAAAE,IAAA,6DAAoB,oBAAoBC,MAAM,QAC5CH,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icPaginationCss","IcPaginationStyle0","Pagination","constructor","hostRef","this","endEllipsis","endItems","midItems","startEllipsis","startItems","accessibleLabel","adjacentPageCount","boundaryPageCount","defaultPage","disabled","hideCurrentPage","hideFirstAndLastPageButton","label","monochrome","theme","type","currentPage","handleClickFirst","icPageChange","emit","value","handleClickPrevious","handleClickNext","handleClickLast","pages","firstButton","h","id","onClick","class","variant","innerHTML","paginationFirstLast","previousButton","paginationNextPrevious","nextButton","lastButton","renderStartEllipsis","renderEndEllipsis","renderStartItems","map","page","selected","renderEndItems","renderMiddleItems","watchAdjacentPageCountHandler","watchBoundaryPageCountHandler","watchDisabledHandler","removeDisabledFalse","el","watchNumberPagesHandler","watchPageChangeHandler","watchTypeHandler","startItemCount","endStart","midStart","midEnd","i","push","numItems","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","paginationItemClickHandler","ev","detail","setCurrentPage","console","error","render","Host","key","role"],"sources":["src/components/ic-pagination/ic-pagination.css?tag=ic-pagination&encapsulation=shadow","src/components/ic-pagination/ic-pagination.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\nnav {\n width: 100%;\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\nic-button {\n cursor: pointer;\n}\n\nic-button.next-previous {\n --icon-width: var(--ic-space-xs);\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n\n padding: 0 var(--ic-space-xxs) 0 var(--ic-space-xxxs);\n}\n\nic-button.first-last {\n --icon-width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n}\n\nic-button.first-last::part(button),\nic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron);\n}\n\n:host(.ic-pagination-monochrome) ic-button.first-last::part(button),\n:host(.ic-pagination-monochrome) ic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron-monochrome);\n}\n\nic-button.ic-button-disabled.first-last::part(button),\nic-button.ic-button-disabled.next-previous::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.first-last::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.next-previous::part(button) {\n color: var(--ic-pagination-chevron-disabled);\n}\n\n.disabled {\n color: var(--ic-color-text-disabled-mid);\n pointer-events: none;\n cursor: none;\n user-select: none;\n}\n\n.hide-current-page {\n display: none;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.sr-only:dir(rtl) {\n right: -9999px;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Listen,\n State,\n Watch,\n Event,\n EventEmitter,\n Method,\n} from \"@stencil/core\";\nimport paginationNextPrevious from \"../../assets/pagination-next-previous.svg\";\nimport paginationFirstLast from \"../../assets/pagination-first-last.svg\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { IcPaginationTypes, IcChangeEventDetail } from \"./ic-pagination.types\";\nimport {\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination\",\n styleUrl: \"ic-pagination.css\",\n shadow: true,\n})\nexport class Pagination {\n @Element() el: HTMLIcPaginationElement;\n\n @State() endEllipsis: boolean = false;\n @State() endItems: number[] = [];\n @State() midItems: number[] = [];\n @State() startEllipsis: boolean = false;\n @State() startItems: number[] = [];\n\n /**\n * The accessible label of the pagination component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string = \"Pagination Navigation\";\n\n /**\n * The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) adjacentPageCount?: number = 1;\n\n @Watch(\"adjacentPageCount\")\n watchAdjacentPageCountHandler(): void {\n if (this.adjacentPageCount! > 2) {\n this.adjacentPageCount = 2;\n }\n }\n\n /**\n * The number of pages displayed as boundary items to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) boundaryPageCount?: number = 1;\n\n @Watch(\"boundaryPageCount\")\n watchBoundaryPageCountHandler(): void {\n if (this.boundaryPageCount! > 2) {\n this.boundaryPageCount = 2;\n }\n }\n\n /**\n * The default page to display.\n */\n @Prop() defaultPage?: number = 1;\n\n /**\n * If `true`, the pagination will not allow interaction.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the current page of the simple pagination will not be displayed.\n */\n @Prop() hideCurrentPage?: boolean = false;\n\n /**\n * If `true`, the first and last page buttons will not be displayed.\n */\n @Prop() hideFirstAndLastPageButton?: boolean = false;\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label?: string = \"Page\";\n\n /**\n * If `true`, the pagination will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The total number of pages.\n */\n @Prop() pages!: number;\n\n @Watch(\"pages\")\n watchNumberPagesHandler(): void {\n this.watchPageChangeHandler();\n }\n\n /**\n * 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 @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of pagination to be used.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n @Watch(\"type\")\n watchTypeHandler(): void {\n this.watchPageChangeHandler();\n }\n\n /**\n * The current page displayed by the pagination.\n */\n @Prop({ mutable: true }) currentPage?: number = this.defaultPage;\n\n @Watch(\"currentPage\")\n watchPageChangeHandler(): void {\n if (this.type === \"simple\") {\n return;\n }\n\n this.startEllipsis = false;\n this.endEllipsis = false;\n this.startItems = [];\n this.endItems = [];\n this.midItems = [];\n\n const startItems = [];\n let startItemCount = 0;\n const endItems = [];\n let endStart = this.pages;\n const midItems = [];\n let midStart;\n let midEnd;\n let startEllipsis = false;\n let endEllipsis = false;\n\n if (\n this.pages <=\n this.boundaryPageCount! * 2 + this.adjacentPageCount! * 2 + 3\n ) {\n this.startEllipsis = false;\n this.endEllipsis = false;\n for (let i = 1; i <= this.pages; i++) {\n startItems.push(i);\n }\n this.startItems = startItems;\n return;\n }\n\n startItemCount = this.boundaryPageCount === 0 ? 1 : this.boundaryPageCount!;\n endStart =\n this.boundaryPageCount === 0\n ? this.pages\n : this.pages - this.boundaryPageCount! + 1;\n\n if (\n this.currentPage! <=\n this.adjacentPageCount! + this.boundaryPageCount! + 2\n ) {\n startEllipsis = false;\n endEllipsis = true;\n\n let numItems = 2 * this.adjacentPageCount! + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midStart = startItemCount + 1;\n midEnd = midStart + numItems;\n } else {\n startEllipsis = true;\n if (\n this.currentPage! >\n this.pages - (this.adjacentPageCount! + this.boundaryPageCount! + 2)\n ) {\n let numItems = 2 * this.adjacentPageCount! + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midEnd =\n this.boundaryPageCount === 0\n ? this.pages - 1\n : this.pages - this.boundaryPageCount!;\n midStart = midEnd - numItems;\n } else {\n endEllipsis = true;\n midStart = this.currentPage! - this.adjacentPageCount!;\n midEnd = this.currentPage! + this.adjacentPageCount!;\n }\n }\n\n //create array of start items\n if (\n this.boundaryPageCount! > 0 ||\n (this.boundaryPageCount === 0 && startEllipsis === false)\n ) {\n for (let i = 1; i <= startItemCount; i++) {\n startItems.push(i);\n }\n }\n\n //create array of end items\n if (\n this.boundaryPageCount! > 0 ||\n (this.boundaryPageCount === 0 && endEllipsis === false)\n ) {\n for (let i = endStart; i <= this.pages; i++) {\n endItems.push(i);\n }\n }\n\n //create array of mid items\n for (let i = midStart; i <= midEnd; i++) {\n midItems.push(i);\n }\n\n this.startEllipsis = startEllipsis;\n this.endEllipsis = endEllipsis;\n this.startItems = startItems;\n this.endItems = endItems;\n this.midItems = midItems;\n }\n\n /**\n * Emitted when a page is selected.\n */\n @Event() icPageChange: EventEmitter<IcChangeEventDetail>;\n\n componentWillLoad(): void {\n this.watchPageChangeHandler();\n this.watchBoundaryPageCountHandler();\n this.watchAdjacentPageCountHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.pages, propName: \"pages\" }],\n \"Pagination\"\n );\n }\n\n @Listen(\"paginationItemClick\")\n paginationItemClickHandler(ev: CustomEvent): void {\n const page = ev.detail.page;\n this.currentPage = page;\n this.icPageChange.emit({ value: this.currentPage! });\n }\n\n /**\n * Sets the currently displayed page.\n * @param {number} page The page number to set as the current page\n */\n @Method()\n async setCurrentPage(page: number): Promise<void> {\n if (typeof page === \"number\" && page > 0 && page <= this.pages) {\n this.currentPage = page;\n } else {\n console.error(\n \"Current page must be a number greater than zero but less than or equal to the total number of pages\"\n );\n }\n }\n\n private handleClickFirst = () => {\n this.currentPage = 1;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private handleClickPrevious = (): void => {\n this.currentPage!--;\n this.icPageChange.emit({ value: this.currentPage! });\n };\n\n private handleClickNext = (): void => {\n this.currentPage!++;\n this.icPageChange.emit({ value: this.currentPage! });\n };\n\n private handleClickLast = (): void => {\n this.currentPage = this.pages;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n // button rendering abstracted from component render methods for clarity\n private firstButton = () => {\n return (\n <ic-button\n id=\"first-page-button\"\n aria-label=\"Go to first page\"\n theme={this.theme}\n onClick={this.handleClickFirst}\n class=\"page-button first-last\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private previousButton = () => {\n return (\n <ic-button\n id=\"previous-page-button\"\n aria-label=\"Go to previous page\"\n theme={this.theme}\n onClick={this.handleClickPrevious}\n class=\"page-button next-previous flip\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private nextButton = () => {\n return (\n <ic-button\n id=\"next-page-button\"\n aria-label=\"Go to next page\"\n theme={this.theme}\n onClick={this.handleClickNext}\n class=\"page-button next-previous\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private lastButton = () => {\n return (\n <ic-button\n id=\"last-page-button\"\n aria-label=\"Go to last page\"\n theme={this.theme}\n onClick={this.handleClickLast}\n class=\"page-button first-last flip\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private renderStartEllipsis = () => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"ellipsis\"\n id=\"start-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderEndEllipsis = () => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"ellipsis\"\n id=\"end-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderStartItems = () => {\n return this.startItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderEndItems = () => {\n return this.endItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderMiddleItems = () => {\n return this.midItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n render() {\n const {\n type,\n currentPage,\n hideCurrentPage,\n disabled,\n hideFirstAndLastPageButton,\n label,\n theme,\n monochrome,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-pagination-monochrome\"]: !!monochrome,\n }}\n >\n {type === \"simple\" && (\n <nav\n class={{\n [\"disabled\"]: !!disabled,\n }}\n role=\"navigation\"\n aria-label={this.accessibleLabel}\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"simple-current\"\n page={currentPage}\n label={label}\n class={{ [\"hide-current-page\"]: !!hideCurrentPage }}\n disabled={disabled}\n />\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <nav\n class={{\n [\"disabled\"]: !!disabled,\n }}\n role=\"navigation\"\n aria-label={this.accessibleLabel}\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n {this.renderStartItems()}\n {this.startEllipsis && this.renderStartEllipsis()}\n {this.renderMiddleItems()}\n {this.endEllipsis && this.renderEndEllipsis()}\n {this.renderEndItems()}\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <span class=\"sr-only\" aria-live=\"polite\">\n Page {this.currentPage}\n </span>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}