@ukic/web-components 2.0.0-alpha.124 → 2.0.0-alpha.125

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-9d4961dc.js → helpers-ea79c7b0.js} +41 -2
  3. package/dist/cjs/helpers-ea79c7b0.js.map +1 -0
  4. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-breadcrumbs.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-button_3.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-card.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-hero.cjs.entry.js +3 -3
  20. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +78 -24
  22. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-search-bar.cjs.entry.js +3 -5
  33. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-select.cjs.entry.js +216 -23
  35. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-switch.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-tab-list.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-text-field.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  46. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  48. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  49. package/dist/cjs/loader.cjs.js +1 -1
  50. package/dist/collection/components/ic-button/ic-button.css +0 -6
  51. package/dist/collection/components/ic-card/ic-card.js +1 -1
  52. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  53. package/dist/collection/components/ic-hero/ic-hero.css +5 -0
  54. package/dist/collection/components/ic-hero/ic-hero.js +1 -1
  55. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  56. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +4 -3
  57. package/dist/collection/components/ic-menu/ic-menu.css +3 -2
  58. package/dist/collection/components/ic-menu/ic-menu.js +78 -21
  59. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  60. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  61. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -0
  62. package/dist/collection/components/ic-search-bar/ic-search-bar.js +2 -4
  63. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  64. package/dist/collection/components/ic-select/ic-select.css +70 -9
  65. package/dist/collection/components/ic-select/ic-select.js +337 -24
  66. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  67. package/dist/collection/components/ic-typography/ic-typography.css +11 -4
  68. package/dist/collection/components/ic-typography/ic-typography.js +1 -1
  69. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  70. package/dist/collection/utils/helpers.js +39 -1
  71. package/dist/collection/utils/helpers.js.map +1 -1
  72. package/dist/collection/utils/types.js.map +1 -1
  73. package/dist/components/helpers.js +40 -2
  74. package/dist/components/helpers.js.map +1 -1
  75. package/dist/components/ic-button2.js +2 -2
  76. package/dist/components/ic-button2.js.map +1 -1
  77. package/dist/components/ic-card.js +1 -1
  78. package/dist/components/ic-card.js.map +1 -1
  79. package/dist/components/ic-hero.js +2 -2
  80. package/dist/components/ic-hero.js.map +1 -1
  81. package/dist/components/ic-input-component-container2.js +2 -2
  82. package/dist/components/ic-input-component-container2.js.map +1 -1
  83. package/dist/components/ic-input-label2.js +1 -1
  84. package/dist/components/ic-input-validation2.js +1 -1
  85. package/dist/components/ic-link2.js +1 -1
  86. package/dist/components/ic-menu2.js +76 -22
  87. package/dist/components/ic-menu2.js.map +1 -1
  88. package/dist/components/ic-navigation-menu2.js +1 -1
  89. package/dist/components/ic-search-bar.js +3 -5
  90. package/dist/components/ic-search-bar.js.map +1 -1
  91. package/dist/components/ic-select.js +226 -23
  92. package/dist/components/ic-select.js.map +1 -1
  93. package/dist/components/ic-side-navigation.js +1 -1
  94. package/dist/components/ic-tab-list.js +1 -1
  95. package/dist/components/ic-text-field2.js +1 -1
  96. package/dist/components/ic-theme.js +1 -1
  97. package/dist/components/ic-top-navigation.js +1 -1
  98. package/dist/components/ic-typography2.js +1 -1
  99. package/dist/components/ic-typography2.js.map +1 -1
  100. package/dist/core/core.css +1 -1
  101. package/dist/core/core.esm.js +1 -1
  102. package/dist/core/core.esm.js.map +1 -1
  103. package/dist/core/{p-8af2a343.entry.js → p-01450166.entry.js} +2 -2
  104. package/dist/core/{p-8af2a343.entry.js.map → p-01450166.entry.js.map} +0 -0
  105. package/dist/core/{p-016fcce8.entry.js → p-01a17304.entry.js} +2 -2
  106. package/dist/core/{p-016fcce8.entry.js.map → p-01a17304.entry.js.map} +0 -0
  107. package/dist/core/{p-5e0b88fa.entry.js → p-08239789.entry.js} +2 -2
  108. package/dist/core/{p-5e0b88fa.entry.js.map → p-08239789.entry.js.map} +0 -0
  109. package/dist/core/{p-44af91df.entry.js → p-09c0cd28.entry.js} +2 -2
  110. package/dist/core/{p-44af91df.entry.js.map → p-09c0cd28.entry.js.map} +0 -0
  111. package/dist/core/{p-44355e34.entry.js → p-0cf51da5.entry.js} +2 -2
  112. package/dist/core/{p-44355e34.entry.js.map → p-0cf51da5.entry.js.map} +0 -0
  113. package/dist/core/{p-bbe0b521.entry.js → p-10531d9a.entry.js} +2 -2
  114. package/dist/core/{p-bbe0b521.entry.js.map → p-10531d9a.entry.js.map} +0 -0
  115. package/dist/core/p-14ba2f18.js +2 -0
  116. package/dist/core/p-14ba2f18.js.map +1 -0
  117. package/dist/core/{p-0d4ac3c9.entry.js → p-211465cf.entry.js} +2 -2
  118. package/dist/core/{p-0d4ac3c9.entry.js.map → p-211465cf.entry.js.map} +0 -0
  119. package/dist/core/{p-13854b65.entry.js → p-2c687b76.entry.js} +2 -2
  120. package/dist/core/{p-13854b65.entry.js.map → p-2c687b76.entry.js.map} +0 -0
  121. package/dist/core/p-2d5824f1.entry.js +2 -0
  122. package/dist/core/p-2d5824f1.entry.js.map +1 -0
  123. package/dist/core/{p-17420c90.entry.js → p-34e5ee10.entry.js} +2 -2
  124. package/dist/core/{p-17420c90.entry.js.map → p-34e5ee10.entry.js.map} +0 -0
  125. package/dist/core/{p-17f3a2bd.entry.js → p-35b91376.entry.js} +2 -2
  126. package/dist/core/{p-17f3a2bd.entry.js.map → p-35b91376.entry.js.map} +0 -0
  127. package/dist/core/{p-7152788d.entry.js → p-36e9f6ff.entry.js} +2 -2
  128. package/dist/core/{p-7152788d.entry.js.map → p-36e9f6ff.entry.js.map} +0 -0
  129. package/dist/core/{p-85a32ec7.entry.js → p-3a7725ed.entry.js} +2 -2
  130. package/dist/core/{p-85a32ec7.entry.js.map → p-3a7725ed.entry.js.map} +0 -0
  131. package/dist/core/{p-85436343.entry.js → p-3d95b097.entry.js} +2 -2
  132. package/dist/core/{p-85436343.entry.js.map → p-3d95b097.entry.js.map} +0 -0
  133. package/dist/core/p-40a17d61.entry.js +2 -0
  134. package/dist/core/p-40a17d61.entry.js.map +1 -0
  135. package/dist/core/{p-a3df537f.entry.js → p-41dab885.entry.js} +2 -2
  136. package/dist/core/{p-a3df537f.entry.js.map → p-41dab885.entry.js.map} +0 -0
  137. package/dist/core/{p-ed1d8712.entry.js → p-42876f02.entry.js} +2 -2
  138. package/dist/core/{p-ed1d8712.entry.js.map → p-42876f02.entry.js.map} +0 -0
  139. package/dist/core/{p-bddb885a.entry.js → p-483ba0f6.entry.js} +2 -2
  140. package/dist/core/{p-bddb885a.entry.js.map → p-483ba0f6.entry.js.map} +0 -0
  141. package/dist/core/{p-bdd2f166.entry.js → p-49831676.entry.js} +2 -2
  142. package/dist/core/{p-bdd2f166.entry.js.map → p-49831676.entry.js.map} +0 -0
  143. package/dist/core/p-55a8f5b6.entry.js +2 -0
  144. package/dist/core/p-55a8f5b6.entry.js.map +1 -0
  145. package/dist/core/{p-7ed79493.entry.js → p-5928296a.entry.js} +2 -2
  146. package/dist/core/p-5928296a.entry.js.map +1 -0
  147. package/dist/core/{p-4b1b46f5.entry.js → p-66800ec4.entry.js} +2 -2
  148. package/dist/core/p-66800ec4.entry.js.map +1 -0
  149. package/dist/core/{p-dc79694a.entry.js → p-7c207056.entry.js} +2 -2
  150. package/dist/core/{p-dc79694a.entry.js.map → p-7c207056.entry.js.map} +0 -0
  151. package/dist/core/{p-3b9d4007.entry.js → p-7f27efda.entry.js} +2 -2
  152. package/dist/core/{p-3b9d4007.entry.js.map → p-7f27efda.entry.js.map} +0 -0
  153. package/dist/core/{p-263018da.entry.js → p-87fc80f1.entry.js} +2 -2
  154. package/dist/core/{p-263018da.entry.js.map → p-87fc80f1.entry.js.map} +0 -0
  155. package/dist/core/{p-ea93611e.entry.js → p-886e7a24.entry.js} +2 -2
  156. package/dist/core/{p-ea93611e.entry.js.map → p-886e7a24.entry.js.map} +0 -0
  157. package/dist/core/{p-012dc33c.entry.js → p-889744b7.entry.js} +2 -2
  158. package/dist/core/{p-012dc33c.entry.js.map → p-889744b7.entry.js.map} +0 -0
  159. package/dist/core/{p-836c93b1.entry.js → p-92cc098f.entry.js} +2 -2
  160. package/dist/core/{p-836c93b1.entry.js.map → p-92cc098f.entry.js.map} +0 -0
  161. package/dist/core/{p-a968ff18.entry.js → p-961c9038.entry.js} +2 -2
  162. package/dist/core/{p-a968ff18.entry.js.map → p-961c9038.entry.js.map} +0 -0
  163. package/dist/core/{p-c09e9589.entry.js → p-9753e5f2.entry.js} +2 -2
  164. package/dist/core/{p-c09e9589.entry.js.map → p-9753e5f2.entry.js.map} +0 -0
  165. package/dist/core/{p-7f6ba60a.entry.js → p-a334ed34.entry.js} +2 -2
  166. package/dist/core/{p-7f6ba60a.entry.js.map → p-a334ed34.entry.js.map} +0 -0
  167. package/dist/core/p-b70f2538.entry.js +2 -0
  168. package/dist/core/p-b70f2538.entry.js.map +1 -0
  169. package/dist/core/{p-d198ae1f.entry.js → p-bbff1667.entry.js} +2 -2
  170. package/dist/core/{p-d198ae1f.entry.js.map → p-bbff1667.entry.js.map} +0 -0
  171. package/dist/core/{p-d10ce0a7.entry.js → p-c0bfb272.entry.js} +2 -2
  172. package/dist/core/{p-d10ce0a7.entry.js.map → p-c0bfb272.entry.js.map} +0 -0
  173. package/dist/core/{p-4fba6cae.entry.js → p-cd14a9dc.entry.js} +2 -2
  174. package/dist/core/{p-4fba6cae.entry.js.map → p-cd14a9dc.entry.js.map} +0 -0
  175. package/dist/core/{p-4cf60a22.entry.js → p-d7af7446.entry.js} +2 -2
  176. package/dist/core/{p-4cf60a22.entry.js.map → p-d7af7446.entry.js.map} +0 -0
  177. package/dist/core/{p-5d3dd182.entry.js → p-e2304886.entry.js} +2 -2
  178. package/dist/core/{p-5d3dd182.entry.js.map → p-e2304886.entry.js.map} +0 -0
  179. package/dist/core/p-f90ce9ca.entry.js +2 -0
  180. package/dist/core/p-f90ce9ca.entry.js.map +1 -0
  181. package/dist/esm/core.js +1 -1
  182. package/dist/esm/{helpers-db00eae1.js → helpers-63cb8828.js} +41 -3
  183. package/dist/esm/helpers-63cb8828.js.map +1 -0
  184. package/dist/esm/ic-alert.entry.js +1 -1
  185. package/dist/esm/ic-back-to-top.entry.js +1 -1
  186. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  187. package/dist/esm/ic-breadcrumbs.entry.js +1 -1
  188. package/dist/esm/ic-button_3.entry.js +2 -2
  189. package/dist/esm/ic-button_3.entry.js.map +1 -1
  190. package/dist/esm/ic-card.entry.js +2 -2
  191. package/dist/esm/ic-card.entry.js.map +1 -1
  192. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  193. package/dist/esm/ic-checkbox.entry.js +1 -1
  194. package/dist/esm/ic-data-row.entry.js +1 -1
  195. package/dist/esm/ic-divider.entry.js +1 -1
  196. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  197. package/dist/esm/ic-footer-link.entry.js +1 -1
  198. package/dist/esm/ic-footer.entry.js +1 -1
  199. package/dist/esm/ic-hero.entry.js +3 -3
  200. package/dist/esm/ic-hero.entry.js.map +1 -1
  201. package/dist/esm/ic-input-component-container_3.entry.js +78 -24
  202. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  203. package/dist/esm/ic-input-label_2.entry.js +1 -1
  204. package/dist/esm/ic-link.entry.js +1 -1
  205. package/dist/esm/ic-navigation-button.entry.js +1 -1
  206. package/dist/esm/ic-navigation-group.entry.js +1 -1
  207. package/dist/esm/ic-navigation-item.entry.js +1 -1
  208. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  209. package/dist/esm/ic-page-header.entry.js +1 -1
  210. package/dist/esm/ic-radio-group.entry.js +1 -1
  211. package/dist/esm/ic-radio-option.entry.js +1 -1
  212. package/dist/esm/ic-search-bar.entry.js +3 -5
  213. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  214. package/dist/esm/ic-select.entry.js +216 -23
  215. package/dist/esm/ic-select.entry.js.map +1 -1
  216. package/dist/esm/ic-side-navigation.entry.js +1 -1
  217. package/dist/esm/ic-status-tag.entry.js +1 -1
  218. package/dist/esm/ic-step.entry.js +1 -1
  219. package/dist/esm/ic-stepper.entry.js +1 -1
  220. package/dist/esm/ic-switch.entry.js +1 -1
  221. package/dist/esm/ic-tab-list.entry.js +1 -1
  222. package/dist/esm/ic-tab-panel.entry.js +1 -1
  223. package/dist/esm/ic-tab.entry.js +1 -1
  224. package/dist/esm/ic-text-field.entry.js +1 -1
  225. package/dist/esm/ic-theme.entry.js +1 -1
  226. package/dist/esm/ic-top-navigation.entry.js +1 -1
  227. package/dist/esm/ic-typography.entry.js +1 -1
  228. package/dist/esm/ic-typography.entry.js.map +1 -1
  229. package/dist/esm/loader.js +1 -1
  230. package/dist/types/components/ic-menu/ic-menu.d.ts +2 -0
  231. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -0
  232. package/dist/types/components/ic-select/ic-select.d.ts +44 -2
  233. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  234. package/dist/types/components.d.ts +53 -5
  235. package/dist/types/utils/helpers.d.ts +11 -2
  236. package/dist/types/utils/types.d.ts +1 -0
  237. package/hydrate/index.js +348 -55
  238. package/package.json +3 -3
  239. package/dist/cjs/helpers-9d4961dc.js.map +0 -1
  240. package/dist/core/p-16a81e12.entry.js +0 -2
  241. package/dist/core/p-16a81e12.entry.js.map +0 -1
  242. package/dist/core/p-22eb7fc8.entry.js +0 -2
  243. package/dist/core/p-22eb7fc8.entry.js.map +0 -1
  244. package/dist/core/p-4b1b46f5.entry.js.map +0 -1
  245. package/dist/core/p-6238313f.entry.js +0 -2
  246. package/dist/core/p-6238313f.entry.js.map +0 -1
  247. package/dist/core/p-7ed79493.entry.js.map +0 -1
  248. package/dist/core/p-856d9516.entry.js +0 -2
  249. package/dist/core/p-856d9516.entry.js.map +0 -1
  250. package/dist/core/p-8a677ff1.entry.js +0 -2
  251. package/dist/core/p-8a677ff1.entry.js.map +0 -1
  252. package/dist/core/p-e5a09372.js +0 -2
  253. package/dist/core/p-e5a09372.js.map +0 -1
  254. package/dist/esm/helpers-db00eae1.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ukic/web-components",
3
- "version": "2.0.0-alpha.124",
3
+ "version": "2.0.0-alpha.125",
4
4
  "description": "A web component library built by the ICDS team",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "./dist/index.js",
@@ -40,7 +40,7 @@
40
40
  "dependencies": {
41
41
  "@popperjs/core": "^2.11.2",
42
42
  "@stencil/core": "^2.16.1",
43
- "@ukic/fonts": "^2.0.0-alpha.119"
43
+ "@ukic/fonts": "^2.0.0-alpha.120"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@babel/core": "^7.16.0",
@@ -71,5 +71,5 @@
71
71
  "ts-jest": "^26.5.6"
72
72
  },
73
73
  "license": "MIT",
74
- "gitHead": "4deaa17746fb4b314bc767c3ffc3a4fa80d2cd3d"
74
+ "gitHead": "dbf6985a251c4cd436ae536ec15b1df0292b1ea9"
75
75
  }
@@ -1 +0,0 @@
1
- {"file":"helpers-9d4961dc.js","mappings":"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","names":["IcInformationStatus","IcThemeForegroundEnum"],"sources":["./src/utils/types.ts","./src/utils/constants.ts","./src/utils/helpers.ts"],"sourcesContent":["export enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcThemeForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcThemeForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcTheme = {\n mode: IcThemeForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\";\n\nexport interface IcMenuOption {\n value?: string;\n label: string;\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n}\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcRequiredPropsTypes =\n | string\n | boolean\n | number\n | HTMLElement\n | IcMenuOption[];\n\nexport type IcPropObject = { prop: IcRequiredPropsTypes; propName: string };\n\nexport type IcRelatedTarget = EventTarget | undefined;\n\nexport interface IcValueEventDetail {\n value: string;\n}\nexport interface IcBlurEventDetail {\n relatedTarget: IcRelatedTarget;\n}\n","// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\"],\n};\n","import { EventEmitter } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcColorRGB,\n} from \"./types\";\n\nimport {\n IcMenuOption,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../utils/types\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\";\n\nconst DARK_MODE_THRESHOLD = 128;\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: unknown } => {\n const attributeObject: { [key: string]: unknown } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = element.getAttribute(attr);\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | undefined | null,\n disabled: boolean\n): void => {\n if (always || hasShadowDom(container)) {\n let input = container.querySelector(\n \"input.ic-input\"\n ) as HTMLInputElement | null;\n if (input === null) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(\"ic-input\");\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n input.value = value || \"\";\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const input = container.querySelector(\n \"input.ic-input\"\n ) as HTMLInputElement | null;\n input?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean => {\n return !!el.shadowRoot && !!el.attachShadow;\n};\n\nexport const getInputHelperTextID = (id: string): string => {\n return id + \"-helper-text\";\n};\n\nexport const getInputValidationTextID = (id: string): string => {\n return id + \"-validation-text\";\n};\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string => {\n return `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n};\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (\n el: Element,\n themeFromEvent: IcThemeForeground = null\n): IcThemeForeground => {\n const blockColorParent = el.parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n } else if (\n themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return themeFromEvent;\n } else if (\n blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)\n ) {\n return IcThemeForegroundEnum.Dark;\n }\n\n return IcThemeForegroundEnum.Light;\n }\n\n return IcThemeForegroundEnum.Default;\n};\n\nexport const isMobileOrTablet = (): boolean => {\n let isMobileOrTablet = false;\n if (\"maxTouchPoints\" in navigator) {\n isMobileOrTablet = navigator.maxTouchPoints > 0;\n }\n return isMobileOrTablet;\n};\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string): boolean =>\n value.trim().length === 0;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label correspoonding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[]\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n return ungroupedOptions.find((option) => option.value === value)?.label;\n }\n\n return undefined;\n};\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string => {\n return getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n};\n\nexport const getThemeForegroundColor = (): IcThemeForeground => {\n /*\n Returns if dark or light font colors should be used for color contrast reasons, calculated by using the theme RGB CSS values by:\n - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n - Adding them together and dividing by 1000\n - If the result is greater than 128 return \"dark\" color, else return \"light\" color\n This is a similar calculation to it's CSS counterpart: \"--ic-theme-text\"\n */\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n const fontColor = Math.round(\n (parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000\n );\n\n return fontColor > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n};\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nconst getSlotElements = (slot: Element) => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getNavItemParentDetails = (\n el: HTMLElement\n): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n switch (getParentElementType(el)) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(el.parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: getParentElement(el) };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: getParentElement(el) };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")), // 0\n S: Number(getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")), // 576\n M: Number(getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")), // 768\n L: Number(getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")), // 992\n XL: Number(getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")), // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => {\n return status !== \"\" && !disabled;\n};\n\nexport const isSlotUsed = (element: HTMLElement, slotName: string): boolean => {\n return !!element.querySelector(`[slot=\"${slotName}\"]`);\n};\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n for (let i = 0; i < props.length; i++) {\n const { prop, propName } = props[i];\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n }\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string => {\n kebabCase = kebabCase.toLowerCase();\n const individualWords: string[] = kebabCase.split(\"-\");\n let camelCase = individualWords[0];\n for (let i = 1; i < individualWords.length; i++) {\n camelCase +=\n individualWords[i].substring(0, 1).toUpperCase() +\n individualWords[i].substring(1);\n }\n return camelCase;\n};\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = function (v: string) {\n return parseInt(v, 16);\n};\n\nexport const hexToRgb = (hex: string): IcColorRGB => {\n let c;\n if (hex.length === 4) {\n c = hex.replace(\"#\", \"\").split(\"\");\n return {\n r: hex2dec(c[0] + c[0]),\n g: hex2dec(c[1] + c[1]),\n b: hex2dec(c[2] + c[2]),\n };\n } else {\n return {\n r: hex2dec(hex.slice(1, 3)),\n g: hex2dec(hex.slice(3, 5)),\n b: hex2dec(hex.slice(5)),\n };\n }\n};\n\nexport const rgbStrToObj = (rgbStr: string): IcColorRGB => {\n const colorRGB: IcColorRGB = { r: null, g: null, b: null };\n const rgb = rgbStr\n .substring(4, rgbStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGB.r = Number(rgb[0]);\n colorRGB.g = Number(rgb[1]);\n colorRGB.b = Number(rgb[2]);\n\n return colorRGB;\n};\n\nexport const elementOverflowsX = (element: HTMLElement): boolean => {\n return element.scrollWidth > element.clientWidth;\n};\n/**\n *\n * @param child - The child element\n * @returns string\n */\nexport const getParentElementType = (child: HTMLElement): string =>\n child.parentElement.tagName;\n\nexport const getParentElement = (child: HTMLElement): HTMLElement =>\n child.parentElement;\n\nexport const hasClassificationBanner = (): boolean => {\n if (document.querySelector(\"ic-classification-banner:not([inline='true'])\")) {\n return true;\n } else {\n return false;\n }\n};\n"],"version":3}
@@ -1,2 +0,0 @@
1
- import{r as e,h as t,H as n,g as i}from"./p-f9370be6.js";import{f as o,s as a,a as s,I as r}from"./p-e5a09372.js";const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;background-color:var(--ic-theme-tertiary);color:var(--ic-theme-text)}:host(.dark){background-color:var(--ic-theme-secondary)}:host(.has-background-image){background-repeat:no-repeat;background-position:right -100px;background-size:auto calc(100% + 100px);box-shadow:var(--ic-elevation-inset)}@media (prefers-reduced-motion){:host(.has-background-image){background-position:right -100px !important}}.section-container{display:flex;align-items:center;height:100%}.left-container{flex-basis:50%;padding:var(--ic-space-xl) 0}.right-container{flex-basis:50%}.interaction-container{display:flex;gap:var(--ic-space-md);margin-top:var(--ic-space-lg)}.secondary-container{display:flex;flex-direction:column;justify-content:center;border-left:var(--ic-space-xxxs) solid var(--ic-theme-text)}.secondary-subheading{margin-top:var(--ic-space-xxs)}:host([content-aligned="left"]) .left-container,:host([content-aligned="left"]) .interaction-container{justify-content:flex-start;text-align:left}:host([content-aligned="center"]) .left-container,:host([content-aligned="center"]) .interaction-container{justify-content:center;text-align:center}.left-container-full-width{flex-basis:100% !important;max-width:66.6%}@media (min-width: 1044px){:host,.section-container{min-height:208px}:host([dense]),:host([dense]) .section-container{min-height:173px}.left-container{flex-basis:66.6%;min-height:144px}.right-container{flex-basis:33.3%;margin-left:50px}.secondary-container{min-height:144px}.secondary-heading,.secondary-subheading{margin-left:63px}}@media (min-width: 801px) and (max-width: 1043px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:256px}:host([dense]),:host([dense]) .section-container{min-height:240px}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:224px}.left-container{min-height:160px}.secondary-container{min-height:160px}.secondary-heading,.secondary-subheading{margin-left:94.75px}.right-container{margin-left:50px}}@media (min-width: 641px) and (max-width: 800px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:256px}:host([dense]),:host([dense]) .section-container{min-height:240px}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:224px}.left-container{min-height:160px}.secondary-container{min-height:160px}.secondary-heading,.secondary-subheading{margin-left:34px}.right-container{margin-left:50px}}@media (min-width: 481px) and (max-width: 640px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:208px}:host([dense]),:host([dense]) .section-container{min-height:173px}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:280px}:host([secondary-heading]) .section-container,:host([dense]) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}.right-container{margin-bottom:40px}}@media (max-width: 480px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:192px}:host([dense]),:host([dense]) .section-container{min-height:173px}:host([secondary-heading]),:host([secondary-heading]) .section-container{min-height:264px}:host([secondary-heading]) .section-container,:host([dense]) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}}';const d=class{constructor(t){e(this,t);this.heading=undefined;this.subheading=undefined;this.secondaryHeading=undefined;this.secondarySubheading=undefined;this.backgroundImage=undefined;this.disableBackgroundParallax=false;this.aligned="left";this.contentAligned="left";this.dense=false;this.rightContent=false;this.scrollFactor="right -100px";this.leftContentFullWidth=!this.rightContent&&this.secondaryHeading===undefined;this.foregroundColor=o()}themeChangeHandler(e){const t=e.detail;this.foregroundColor=t.mode}doScroll(){if(this.disableBackgroundParallax){return}const e=document.scrollingElement.scrollTop;const t=.4;const n=-100+e*t;this.scrollFactor="right "+n+"px"}componentWillLoad(){this.rightContent=a(this.el,"right-content")}componentDidLoad(){s([{prop:this.heading,propName:"heading"}],"Hero")}componentWillRender(){this.rightContent=a(this.el,"right-content")}render(){const{aligned:e,dense:i,heading:o,subheading:a,secondaryHeading:s,secondarySubheading:c,foregroundColor:d,backgroundImage:h,scrollFactor:l}=this;let g={};if(h!==undefined){g={"background-image":"url("+h+")","background-position":l}}return t(n,{class:{[r.Dark]:d===r.Dark,["has-background-image"]:h!==undefined},style:g},t("ic-section-container",{aligned:e,fullHeight:true,class:"section-container"},t("div",{class:{["left-container"]:true,["left-container-full-width"]:this.leftContentFullWidth}},t("div",{class:"heading"},t("slot",{name:"heading"},t("ic-typography",{variant:i?"h2":"h1"},o))),t("div",{class:"subheading"},t("slot",{name:"subheading"},t("ic-typography",{variant:"body"},a))),t("div",{class:"interaction-container"},t("slot",{name:"interaction"}))),(s!==undefined||this.rightContent)&&t("div",{class:"right-container"},t("slot",{name:"right-content"},s&&t("div",{class:"secondary-container"},t("div",{class:"secondary-heading"},t("ic-typography",{variant:"h4"},s)),t("div",{class:"secondary-subheading"},t("ic-typography",{variant:"subtitle-small"},c)))))))}get el(){return i(this)}};d.style=c;export{d as ic_hero};
2
- //# sourceMappingURL=p-16a81e12.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-hero/ic-hero.css?tag=ic-hero&encapsulation=shadow","src/components/ic-hero/ic-hero.tsx"],"names":["icHeroCss","Hero","this","rightContent","secondaryHeading","undefined","getThemeForegroundColor","[object Object]","ev","theme","detail","foregroundColor","mode","disableBackgroundParallax","scrolltotop","document","scrollingElement","scrollTop","factor","y","scrollFactor","slotHasContent","el","onComponentRequiredPropUndefined","prop","heading","propName","aligned","dense","subheading","secondarySubheading","backgroundImage","style","background-image","background-position","h","Host","class","IcThemeForegroundEnum","Dark","fullHeight","leftContentFullWidth","name","variant"],"mappings":"kHAAA,MAAMA,EAAY,s9LCkCLC,EAAI,iNA+B+B,mBAKf,2BAKmB,kBAKzB,wBAEQ,wBAED,0CAG7BC,KAAKC,cAAgBD,KAAKE,mBAAqBC,+BAEJC,IAG9CC,mBAAmBC,GACjB,MAAMC,EAAiBD,EAAGE,OAC1BR,KAAKS,gBAAkBF,EAAMG,KAI/BL,WACE,GAAIL,KAAKW,0BAA2B,CAClC,OAGF,MAAMC,EAAcC,SAASC,iBAAiBC,UAC9C,MAAMC,EAAS,GACf,MAAMC,GAAK,IAAML,EAAcI,EAC/BhB,KAAKkB,aAAe,SAAWD,EAAI,KAGrCZ,oBACEL,KAAKC,aAAekB,EAAenB,KAAKoB,GAAI,iBAG9Cf,mBACEgB,EACE,CAAC,CAAEC,KAAMtB,KAAKuB,QAASC,SAAU,YACjC,QAIJnB,sBACEL,KAAKC,aAAekB,EAAenB,KAAKoB,GAAI,iBAG9Cf,SACE,MAAMoB,QACJA,EAAOC,MACPA,EAAKH,QACLA,EAAOI,WACPA,EAAUzB,iBACVA,EAAgB0B,oBAChBA,EAAmBnB,gBACnBA,EAAeoB,gBACfA,EAAeX,aACfA,GACElB,KAEJ,IAAI8B,EAAQ,GAEZ,GAAID,IAAoB1B,UAAW,CACjC2B,EAAQ,CACNC,mBAAoB,OAASF,EAAkB,IAC/CG,sBAAuBd,GAI3B,OACEe,EAACC,EAAI,CACHC,MAAO,CACL9B,CAAC+B,EAAsBC,MACrB5B,IAAoB2B,EAAsBC,KAC5ChC,CAAC,wBAAyBwB,IAAoB1B,WAEhD2B,MAAOA,GAEPG,EAAA,uBAAA,CACER,QAASA,EACTa,WAAU,KACVH,MAAM,qBAENF,EAAA,MAAA,CACEE,MAAO,CACL9B,CAAC,kBAAmB,KACpBA,CAAC,6BAA8BL,KAAKuC,uBAGtCN,EAAA,MAAA,CAAKE,MAAM,WACTF,EAAA,OAAA,CAAMO,KAAK,WACTP,EAAA,gBAAA,CAAeQ,QAASf,EAAQ,KAAO,MACpCH,KAIPU,EAAA,MAAA,CAAKE,MAAM,cACTF,EAAA,OAAA,CAAMO,KAAK,cACTP,EAAA,gBAAA,CAAeQ,QAAQ,QAAQd,KAGnCM,EAAA,MAAA,CAAKE,MAAM,yBACTF,EAAA,OAAA,CAAMO,KAAK,mBAGbtC,IAAqBC,WAAaH,KAAKC,eACvCgC,EAAA,MAAA,CAAKE,MAAM,mBACTF,EAAA,OAAA,CAAMO,KAAK,iBACRtC,GACC+B,EAAA,MAAA,CAAKE,MAAM,uBACTF,EAAA,MAAA,CAAKE,MAAM,qBACTF,EAAA,gBAAA,CAAeQ,QAAQ,MACpBvC,IAGL+B,EAAA,MAAA,CAAKE,MAAM,wBACTF,EAAA,gBAAA,CAAeQ,QAAQ,kBACpBb","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n background-color: var(--ic-theme-tertiary);\n color: var(--ic-theme-text);\n}\n\n:host(.dark) {\n background-color: var(--ic-theme-secondary);\n}\n\n:host(.has-background-image) {\n background-repeat: no-repeat;\n background-position: right -100px;\n background-size: auto calc(100% + 100px);\n box-shadow: var(--ic-elevation-inset);\n}\n\n@media (prefers-reduced-motion) {\n :host(.has-background-image) {\n background-position: right -100px !important;\n }\n}\n\n.section-container {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.left-container {\n flex-basis: 50%;\n padding: var(--ic-space-xl) 0;\n}\n\n.right-container {\n flex-basis: 50%;\n}\n\n.interaction-container {\n display: flex;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-lg);\n}\n\n.secondary-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-left: var(--ic-space-xxxs) solid var(--ic-theme-text);\n}\n\n.secondary-subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n:host([content-aligned=\"left\"]) .left-container,\n:host([content-aligned=\"left\"]) .interaction-container {\n justify-content: flex-start;\n text-align: left;\n}\n\n:host([content-aligned=\"center\"]) .left-container,\n:host([content-aligned=\"center\"]) .interaction-container {\n justify-content: center;\n text-align: center;\n}\n\n.left-container-full-width {\n flex-basis: 100% !important;\n max-width: 66.6%;\n}\n\n@media (min-width: 1044px) {\n :host,\n .section-container {\n min-height: 208px;\n }\n\n :host([dense]),\n :host([dense]) .section-container {\n min-height: 173px;\n }\n\n .left-container {\n flex-basis: 66.6%;\n min-height: 144px;\n }\n\n .right-container {\n flex-basis: 33.3%;\n margin-left: 50px;\n }\n\n .secondary-container {\n min-height: 144px;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 63px;\n }\n}\n\n@media (min-width: 801px) and (max-width: 1043px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 256px;\n }\n\n :host([dense]),\n :host([dense]) .section-container {\n min-height: 240px;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 224px;\n }\n\n .left-container {\n min-height: 160px;\n }\n\n .secondary-container {\n min-height: 160px;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 94.75px;\n }\n\n .right-container {\n margin-left: 50px;\n }\n}\n\n@media (min-width: 641px) and (max-width: 800px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 256px;\n }\n\n :host([dense]),\n :host([dense]) .section-container {\n min-height: 240px;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 224px;\n }\n\n .left-container {\n min-height: 160px;\n }\n\n .secondary-container {\n min-height: 160px;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 34px;\n }\n\n .right-container {\n margin-left: 50px;\n }\n}\n\n@media (min-width: 481px) and (max-width: 640px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 208px;\n }\n\n :host([dense]),\n :host([dense]) .section-container {\n min-height: 173px;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 280px;\n }\n\n :host([secondary-heading]) .section-container,\n :host([dense]) .section-container,\n .section-container {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .left-container {\n height: fit-content;\n }\n\n .secondary-container {\n height: fit-content;\n border: none;\n }\n\n .right-container {\n margin-bottom: 40px;\n }\n}\n\n@media (max-width: 480px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 192px;\n }\n\n :host([dense]),\n :host([dense]) .section-container {\n min-height: 173px;\n }\n\n :host([secondary-heading]),\n :host([secondary-heading]) .section-container {\n min-height: 264px;\n }\n\n :host([secondary-heading]) .section-container,\n :host([dense]) .section-container,\n .section-container {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .left-container {\n height: fit-content;\n }\n\n .secondary-container {\n height: fit-content;\n border: none;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n} from \"@stencil/core\";\nimport {\n IcAlignment,\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport {\n slotHasContent,\n getThemeForegroundColor,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcHeroContentAlignments } from \"./ic-hero.types\";\n\n/**\n * @slot heading - Content will be rendered in the title area, in place of the heading.\n * @slot subheading - Content will be rendered in the title area, in place of the subheading.\n * @slot interaction - Content will be rendered in the interaction area, adjacent to the title area.\n * @slot right-content - Content will be rendered in the right content area.\n */\n\n@Component({\n tag: \"ic-hero\",\n styleUrl: \"ic-hero.css\",\n shadow: true,\n})\nexport class Hero {\n @Element() el: HTMLIcHeroElement;\n\n /**\n * The heading of the hero\n */\n @Prop() heading!: string;\n\n /**\n * Description for the hero\n */\n @Prop() subheading?: string;\n\n /**\n * Optional secondary heading, replaced by slotted right content\n */\n @Prop() secondaryHeading?: string;\n\n /**\n * Optional secondary subheading, replaced by slotted right content\n */\n @Prop() secondarySubheading?: string;\n\n /**\n * Optional background image\n */\n @Prop() backgroundImage?: string;\n\n /**\n * Whether the background image (if set) scrolls using a parallax effect.\n */\n @Prop() disableBackgroundParallax?: boolean = false;\n\n /**\n * The alignment of the hero content\n */\n @Prop() aligned: IcAlignment = \"left\";\n\n /**\n * The alignment of the hero content\n */\n @Prop() contentAligned: IcHeroContentAlignments = \"left\";\n\n /**\n * Alter styling for use with dense content/pages\n */\n @Prop() dense: boolean = false;\n\n @State() rightContent: boolean = false;\n\n @State() scrollFactor: string = \"right -100px\";\n\n @State() leftContentFullWidth: boolean =\n !this.rightContent && this.secondaryHeading === undefined;\n\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n @Listen(\"scroll\", { target: \"document\" })\n doScroll(): void {\n if (this.disableBackgroundParallax) {\n return;\n }\n\n const scrolltotop = document.scrollingElement.scrollTop;\n const factor = 0.4;\n const y = -100 + scrolltotop * factor;\n this.scrollFactor = \"right \" + y + \"px\";\n }\n\n componentWillLoad(): void {\n this.rightContent = slotHasContent(this.el, \"right-content\");\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Hero\"\n );\n }\n\n componentWillRender(): void {\n this.rightContent = slotHasContent(this.el, \"right-content\");\n }\n\n render() {\n const {\n aligned,\n dense,\n heading,\n subheading,\n secondaryHeading,\n secondarySubheading,\n foregroundColor,\n backgroundImage,\n scrollFactor,\n } = this;\n\n let style = {};\n\n if (backgroundImage !== undefined) {\n style = {\n \"background-image\": \"url(\" + backgroundImage + \")\",\n \"background-position\": scrollFactor,\n };\n }\n\n return (\n <Host\n class={{\n [IcThemeForegroundEnum.Dark]:\n foregroundColor === IcThemeForegroundEnum.Dark,\n [\"has-background-image\"]: backgroundImage !== undefined,\n }}\n style={style}\n >\n <ic-section-container\n aligned={aligned}\n fullHeight\n class=\"section-container\"\n >\n <div\n class={{\n [\"left-container\"]: true,\n [\"left-container-full-width\"]: this.leftContentFullWidth,\n }}\n >\n <div class=\"heading\">\n <slot name=\"heading\">\n <ic-typography variant={dense ? \"h2\" : \"h1\"}>\n {heading}\n </ic-typography>\n </slot>\n </div>\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"body\">{subheading}</ic-typography>\n </slot>\n </div>\n <div class=\"interaction-container\">\n <slot name=\"interaction\"></slot>\n </div>\n </div>\n {(secondaryHeading !== undefined || this.rightContent) && (\n <div class=\"right-container\">\n <slot name=\"right-content\">\n {secondaryHeading && (\n <div class=\"secondary-container\">\n <div class=\"secondary-heading\">\n <ic-typography variant=\"h4\">\n {secondaryHeading}\n </ic-typography>\n </div>\n <div class=\"secondary-subheading\">\n <ic-typography variant=\"subtitle-small\">\n {secondarySubheading}\n </ic-typography>\n </div>\n </div>\n )}\n </slot>\n </div>\n )}\n </ic-section-container>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as a}from"./p-f9370be6.js";import{q as n,t as o,u as h,a as r,d as l,r as c,I as u}from"./p-e5a09372.js";const d=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>\n</svg>\n`;const b=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">\n <path d="M13.1292 11.8792H12.4708L12.2375 11.6542C13.0542 10.7042 13.5458 9.47083 13.5458 8.12916C13.5458 5.13749 11.1208 2.71249 8.12916 2.71249C5.13749 2.71249 2.71249 5.13749 2.71249 8.12916C2.71249 11.1208 5.13749 13.5458 8.12916 13.5458C9.47083 13.5458 10.7042 13.0542 11.6542 12.2375L11.8792 12.4708V13.1292L16.0458 17.2875L17.2875 16.0458L13.1292 11.8792ZM8.12916 11.8792C6.05416 11.8792 4.37916 10.2042 4.37916 8.12916C4.37916 6.05416 6.05416 4.37916 8.12916 4.37916C10.2042 4.37916 11.8792 6.05416 11.8792 8.12916C11.8792 10.2042 10.2042 11.8792 8.12916 11.8792Z" fill="currentColor"/>\n</svg>`;const p='/*! 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(.search){--divider-height:24px}:host(.search.dense){--divider-height:16px}:host(.fullwidth){width:100%}:host(.search) .disabled:hover{border-color:var(--ic-architectural-200)}:host(.search.disabled) .disabled svg{color:var(--ic-architectural-200)}:host(.search) .disabled svg{color:var(--ic-architectural-400)}.clear-button-container{align-items:center;margin-right:1px;display:none;visibility:hidden}.clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 2px var(--ic-focus-glow);border-radius:4px}.clear-button:focus *{fill:white}.clear-button-visible{visibility:visible;display:flex}.search-submit-button-container{display:flex;align-items:center}.search-submit-button-disabled .ic-tooltip-container{display:none !important}.search-submit-button:focus{background-color:var(--ic-focus-blue) !important;box-shadow:inset 0 0 0 2px var(--ic-focus-glow) !important;border-radius:var(--ic-space-xxs);height:var(--ic-space-xl);margin-top:var(--ic-space-xxxs)}.search-submit-button:focus *{fill:white}.divider{width:1px;background-color:var(--ic-action-dark-active);height:var(--divider-height)}:host(.dark) .divider{background-color:var(--ic-architectural-200)}.menu-container{width:var(--input-width, 320px);position:relative;top:var(--ic-space-xxxs)}.menu-container.fullwidth{width:100%}ic-menu{transition:var(--ic-easing-transition-slow)}.no-results{cursor:not-allowed}.search-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:1px;margin-bottom:-1px;margin-right:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}';let f=0;const m=class{constructor(e){t(this,e);this.icInput=i(this,"icInput",7);this.icInputBlur=i(this,"icInputBlur",7);this.icInputFocus=i(this,"icInputFocus",7);this.icChange=i(this,"icChange",7);this.icClear=i(this,"icClear",7);this.icSubmitSearch=i(this,"icSubmitSearch",7);this.icOptionSelect=i(this,"icOptionSelect",7);this.icMenuChange=i(this,"icMenuChange",7);this.icClearBlur=i(this,"icClearBlur",7);this.icSubmitSearchBlur=i(this,"icSubmitSearchBlur",7);this.icSearchBarBlur=i(this,"icSearchBarBlur",7);this.icSearchBarFocus=i(this,"icSearchBarFocus",7);this.inputId=`ic-search-bar-input-${f++}`;this.menuId=`${this.inputId}-menu`;this.menuCloseFromMenuChangeEvent=false;this.truncateValue=false;this.assistiveHintEl=null;this.preventSubmit=false;this.handleSubmitSearch=()=>{this.icSubmitSearch.emit({value:this.value});const t=this.el.closest("FORM");if(this.searchSubmitButton&&!!t&&!this.preventSubmit){n(t,this.searchSubmitButton)}};this.onInput=t=>{this.value=t.target.value;if(this.options.length>0){this.setMenuChange(true);if(this.disableFilter===false){const t=this.options.filter((t=>t.label.toLowerCase().includes(this.value.toLowerCase())));const i=[{label:this.emptyOptionListText,value:""}];this.filteredOptions=t.length>0?t:i}}if(!this.showClearButton){this.handleShowClearButton(true)}this.debounceAriaLiveUpdate();this.icInput.emit({value:this.value})};this.onInputBlur=t=>{const i=t.target.value;const e=t.relatedTarget;this.icInputBlur.emit({value:i,relatedTarget:e})};this.onInputFocus=t=>{const i=t.target.value;this.icInputFocus.emit({value:i});this.handleShowClearButton(true)};this.handleClear=t=>{const i=t;const e=t;if(e.type==="click"||i.code==="Enter"||i.code==="Space"){this.value="";this.inputEl.value="";this.el.setFocus();this.icClear.emit();t.preventDefault();this.preventSubmit=true}};this.handleClearBlur=t=>{const i=t.relatedTarget;this.icClearBlur.emit({relatedTarget:i});this.clearButtonFocused=false};this.handleSubmitSearchBlur=t=>{const i=t.relatedTarget;this.icSubmitSearchBlur.emit({relatedTarget:i});this.searchSubmitFocused=false};this.handleSubmitSearchFocus=()=>{this.handleMenuCloseFromMenuChange(true);this.searchSubmitFocused=true};this.handleOptionSelect=t=>{if(t.detail.label===this.emptyOptionListText){this.el.setFocus();return}this.value=t.detail.value;this.icOptionSelect.emit({value:this.value})};this.handleMenuChange=t=>{this.setMenuChange(t.detail.open)};this.setMenuChange=t=>{if(this.open!==t){this.open=t;this.icMenuChange.emit({open:t})}};this.handleHostFocus=()=>{if(this.options&&this.value&&!this.menuCloseFromMenuChangeEvent){this.setMenuChange(true)}this.handleTruncateValue(false);this.icSearchBarFocus.emit()};this.handleHostBlur=t=>{const i=t.relatedTarget;if(this.open&&this.options&&i!==this.menu){this.setMenuChange(false)}this.handleShowClearButton(false);this.handleMenuCloseFromMenuChange(false);this.handleTruncateValue(true);this.icSearchBarBlur.emit({relatedTarget:i,value:this.value})};this.handleShowClearButton=t=>{this.showClearButton=t};this.handleFocusClearButton=()=>{this.clearButtonFocused=true};this.handleMenuCloseFromMenuChange=t=>{this.menuCloseFromMenuChangeEvent=t};this.handleTruncateValue=t=>{this.truncateValue=t};this.renderAssistiveHintEl=()=>{var t,i;const e=(i=(t=this.el.shadowRoot.querySelector("ic-text-field"))===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.querySelector(`#${this.inputId}`);if(e&&Object.keys(e).length>0&&this.hasOptionsOrFilterDisabled()){this.assistiveHintEl=document.createElement("span");this.assistiveHintEl.innerText=this.hintText;this.assistiveHintEl.id=`${this.inputId}-assistive-hint`;this.assistiveHintEl.style.display="none";if(e.after!==undefined){e.after(this.assistiveHintEl)}}};this.updateSearchResultAriaLive=()=>{const t=this.el.shadowRoot.querySelector(".search-results-status");if(!this.open||this.value===""){t.innerText=""}else if(this.options.length>0&&this.filteredOptions.length>0&&this.open&&t){t.innerText=`${this.filteredOptions.length} result${this.filteredOptions.length>1?"s":""} available`}};this.hasOptionsOrFilterDisabled=()=>this.options.length>0||this.disableFilter;this.highlightFirstOptionAfterNoResults=()=>{if(this.prevNoOption&&this.menu){this.menu.handleSetFirstOption();this.prevNoOption=false}const t=this.filteredOptions.find((t=>t.label===this.emptyOptionListText));if(t){this.prevNoOption=true}};this.label=undefined;this.required=false;this.disabled=false;this.readonly=false;this.placeholder="Search";this.fullWidth=false;this.disableFilter=false;this.hideLabel=false;this.helperText="";this.dense=false;this.value="";this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autofocus=false;this.debounce=0;this.name=this.inputId;this.spellcheck=false;this.options=[];this.focusOnLoad=false;this.dark=false;this.hintText="When autocomplete results are available use the up and down arrows to choose and press enter to select";this.emptyOptionListText="No results found";this.charactersUntilSuggestion=2;this.open=false;this.filteredOptions=[];this.ariaActiveDescendant=undefined;this.showClearButton=false;this.clearButtonFocused=false;this.searchSubmitFocused=false;this.prevNoOption=false}debounceChanged(){this.icChange=o(this.icChange,this.debounce)}watchOptionsHandler(t){if(this.disableFilter){this.filteredOptions=t}}watchValueHandler(t){if(this.inputEl&&this.options&&!!h(t,this.options)){this.inputEl.value=h(t,this.options)}else if(this.inputEl&&this.inputEl.value!==t){this.inputEl.value=t}this.icChange.emit({value:t})}async setFocus(){if(this.inputEl){this.inputEl.setFocus()}}handleKeyDown(t){const i=t.detail.event;if(this.menu&&this.open){this.menu.handleKeyboardOpen(i)}}handleKeyUp(t){if(t.key==="Enter"){if(this.preventSubmit){return}this.handleSubmitSearch();this.setMenuChange(false)}if(t.key==="Escape"){this.setMenuChange(false)}if(this.preventSubmit){this.preventSubmit=false}}debounceAriaLiveUpdate(){clearTimeout(this.debounce);this.debounce=window.setTimeout((()=>{this.updateSearchResultAriaLive()}),500)}onMenuClose(t){if(!t.detail.open){this.handleMenuCloseFromMenuChange(true);if(t.detail.focusInput===undefined||t.detail.focusInput){this.el.setFocus()}}}onMenuOptionHighlighted(t){if(t.detail.optionId){this.ariaActiveDescendant=t.detail.optionId}else{this.ariaActiveDescendant=undefined}}connectedCallback(){this.debounceChanged()}componentWillRender(){this.highlightFirstOptionAfterNoResults()}componentWillLoad(){this.watchValueHandler(this.value)}componentDidLoad(){if(this.focusOnLoad){this.el.setFocus()}if(this.hasOptionsOrFilterDisabled()){this.renderAssistiveHintEl();if(this.disableFilter){this.filteredOptions=this.options}}r([{prop:this.label,propName:"label"}],"Search Bar");this.anchorEl=this.inputEl.shadowRoot.querySelector("ic-input-component-container")}disconnectedCallback(){if(this.assistiveHintEl){this.assistiveHintEl.remove()}}render(){const{inputId:t,name:i,label:a,required:n,dense:o,placeholder:r,helperText:p,disabled:f,value:m,readonly:v,spellcheck:g,fullWidth:w,options:x,open:y,hideLabel:k,menuId:L,ariaActiveDescendant:z,dark:C,truncateValue:S,autofocus:B,autocapitalize:T,autocomplete:M,filteredOptions:F}=this;const I=v||f?true:false;const H=l(t,p!=="",false).trim();let O;if(H!==""&&this.hasOptionsOrFilterDisabled()){O=`${H} ${this.inputId}-assistive-hint`}else if(this.hasOptionsOrFilterDisabled()){O=`${this.inputId}-assistive-hint`}else if(H!==""){O=H}else{O=undefined}const $=I&&!v;const E=m&&x.length>0;const W=m===undefined||m===null||m==="";const j=E&&y&&F.length>0;const q=F.length>0&&F[0].label===this.emptyOptionListText;let D;if(x.length>0){if(j){D="true"}else{D="false"}}else{D=undefined}c(true,this.el,i,m,I);return e(s,{class:{["search"]:true,["fullwidth"]:w,["dark"]:C,["disabled"]:f,["dense"]:o},onFocus:this.handleHostFocus,onBlur:this.handleHostBlur},e("ic-text-field",{ref:t=>this.inputEl=t,inputId:t,label:a,helperText:p,required:n,disabled:$,readonly:v,dense:o,hideLabel:k,fullWidth:w,name:i,truncateValue:S,dark:C,value:x&&!!h(m,x)?h(m,x):m,placeholder:r,onInput:this.onInput,onBlur:this.onInputBlur,onFocus:this.onInputFocus,"aria-label":k?a:"","aria-describedby":O,"aria-owns":E?L:undefined,"aria-haspopup":x.length>0?"listbox":undefined,ariaExpanded:D,ariaActiveDescendant:z,"aria-autocomplete":E?"list":undefined,role:E?"combobox":undefined,autocomplete:M,autocapitalize:T,autoFocus:B,spellcheck:g,inputmode:"search"},e("div",{class:{"clear-button-container":true,"clear-button-visible":m&&!I&&this.showClearButton},slot:"clear-button"},e("ic-button",{id:"clear-button",class:"clear-button","aria-label":"Clear",innerHTML:d,onClick:this.handleClear,size:o?"dense":"default",onFocus:this.handleFocusClearButton,onBlur:this.handleClearBlur,onKeyDown:this.handleClear,type:"submit",variant:"icon",buttonStyle:this.clearButtonFocused?u.Light:u.Dark}),e("div",{class:"divider"})),e("div",{class:{"search-submit-button-container":true,"search-submit-button-disabled":W||f||q},slot:"search-submit-button"},e("ic-button",{id:"search-submit-button","aria-label":"Search",ref:t=>this.searchSubmitButton=t,class:{["search-submit-button"]:true,["search-submit-button-dense"]:!!o},disabled:W||f||q,innerHTML:b,size:o?"dense":"default",onClick:this.handleSubmitSearch,onBlur:this.handleSubmitSearchBlur,onFocus:this.handleSubmitSearchFocus,type:"submit",variant:"icon",buttonStyle:this.searchSubmitFocused?u.Light:u.Default})),e("div",{class:{"menu-container":true,fullwidth:w},slot:"menu"},j&&m.length>=this.charactersUntilSuggestion&&e("ic-menu",{class:{"no-results":q},activationType:"manual",anchorEl:this.anchorEl,autoFocusOnSelected:false,inputEl:this.inputEl,inputLabel:a,ref:t=>this.menu=t,dense:o,fullWidth:w,menuId:L,open:true,options:F,onOptionSelect:this.handleOptionSelect,onMenuChange:this.handleMenuChange,parentEl:this.el,value:m}))),e("div",{"aria-live":"polite",role:"status",class:"search-results-status"}))}get el(){return a(this)}static get watchers(){return{debounce:["debounceChanged"],options:["watchOptionsHandler"],value:["watchValueHandler"]}}};m.style=p;export{m as ic_search_bar};
2
- //# sourceMappingURL=p-22eb7fc8.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-search-bar/ic-search-bar.css?tag=ic-search-bar&encapsulation=shadow","src/components/ic-search-bar/ic-search-bar.tsx"],"names":["icSearchBarCss","inputIds","SearchBar","this","inputId","menuId","menuCloseFromMenuChangeEvent","truncateValue","assistiveHintEl","preventSubmit","handleSubmitSearch","icSubmitSearch","emit","value","form","el","closest","searchSubmitButton","handleHiddenFormButtonClick","onInput","ev","target","options","length","setMenuChange","disableFilter","rawFilteredOptions","filter","option","label","toLowerCase","includes","noOptions","emptyOptionListText","filteredOptions","showClearButton","handleShowClearButton","debounceAriaLiveUpdate","icInput","onInputBlur","nextFocus","relatedTarget","icInputBlur","onInputFocus","icInputFocus","handleClear","keyboardEvent","mouseEvent","type","code","inputEl","setFocus","icClear","preventDefault","handleClearBlur","icClearBlur","clearButtonFocused","handleSubmitSearchBlur","icSubmitSearchBlur","searchSubmitFocused","handleSubmitSearchFocus","handleMenuCloseFromMenuChange","handleOptionSelect","detail","icOptionSelect","handleMenuChange","open","icMenuChange","handleHostFocus","handleTruncateValue","icSearchBarFocus","handleHostBlur","menu","icSearchBarBlur","visible","handleFocusClearButton","fromEvent","truncate","renderAssistiveHintEl","input","_b","_a","shadowRoot","querySelector","Object","keys","hasOptionsOrFilterDisabled","document","createElement","innerText","hintText","id","style","display","after","undefined","updateSearchResultAriaLive","searchResultsStatusEl","highlightFirstOptionAfterNoResults","prevNoOption","handleSetFirstOption","prevNoOptionsList","find","filteredOption","[object Object]","icChange","debounceEvent","debounce","newOptions","newValue","getLabelFromValue","keyEv","event","handleKeyboardOpen","key","clearTimeout","window","setTimeout","focusInput","optionId","ariaActiveDescendant","debounceChanged","watchValueHandler","focusOnLoad","onComponentRequiredPropUndefined","prop","propName","anchorEl","remove","name","required","dense","placeholder","helperText","disabled","readonly","spellcheck","fullWidth","hideLabel","dark","autofocus","autocapitalize","autocomplete","disabledMode","describedBy","getInputDescribedByText","trim","describedById","disabledText","hasSuggestedSearch","valueNotSet","menuOpen","hadNoOptions","expanded","renderHiddenInput","h","Host","class","onFocus","onBlur","ref","aria-label","aria-describedby","aria-owns","aria-haspopup","ariaExpanded","aria-autocomplete","role","autoFocus","inputmode","clear-button-container","clear-button-visible","slot","innerHTML","clearIcon","onClick","size","onKeyDown","variant","buttonStyle","IcThemeForegroundEnum","Light","Dark","search-submit-button-container","search-submit-button-disabled","searchIcon","Default","menu-container","fullwidth","charactersUntilSuggestion","no-results","activationType","autoFocusOnSelected","inputLabel","onOptionSelect","onMenuChange","parentEl","aria-live"],"mappings":"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","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host(.search) {\n --divider-height: 24px;\n}\n\n:host(.search.dense) {\n --divider-height: 16px;\n}\n\n:host(.fullwidth) {\n width: 100%;\n}\n\n:host(.search) .disabled:hover {\n border-color: var(--ic-architectural-200);\n}\n\n:host(.search.disabled) .disabled svg {\n color: var(--ic-architectural-200);\n}\n\n:host(.search) .disabled svg {\n color: var(--ic-architectural-400);\n}\n\n/* CLEAR */\n\n.clear-button-container {\n align-items: center;\n margin-right: 1px;\n display: none;\n visibility: hidden;\n}\n\n.clear-button:focus {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 2px var(--ic-focus-glow);\n border-radius: 4px;\n}\n\n.clear-button:focus * {\n fill: white;\n}\n\n.clear-button-visible {\n visibility: visible;\n display: flex;\n}\n\n.search-submit-button-container {\n display: flex;\n align-items: center;\n}\n\n.search-submit-button-disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.search-submit-button:focus {\n background-color: var(--ic-focus-blue) !important;\n box-shadow: inset 0 0 0 2px var(--ic-focus-glow) !important;\n border-radius: var(--ic-space-xxs);\n height: var(--ic-space-xl);\n margin-top: var(--ic-space-xxxs);\n}\n\n.search-submit-button:focus * {\n fill: white;\n}\n\n.divider {\n width: 1px;\n background-color: var(--ic-action-dark-active);\n height: var(--divider-height);\n}\n\n:host(.dark) .divider {\n background-color: var(--ic-architectural-200);\n}\n\n.menu-container {\n width: var(--input-width, 320px);\n position: relative;\n top: var(--ic-space-xxxs);\n}\n\n.menu-container.fullwidth {\n width: 100%;\n}\n\nic-menu {\n transition: var(--ic-easing-transition-slow);\n}\n\n.no-results {\n cursor: not-allowed;\n}\n\n.search-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: 1px;\n margin-bottom: -1px;\n margin-right: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\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} from \"@stencil/core\";\n\nimport {\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcThemeForegroundEnum,\n IcMenuOption,\n} from \"../../utils/types\";\nimport {\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n handleHiddenFormButtonClick,\n getLabelFromValue,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcSearchBarBlurEventDetail } from \"./ic-search-bar.types\";\nimport { IcValueEventDetail, IcBlurEventDetail } from \"../../interface\";\nimport {\n IcMenuChangeEventDetail,\n IcOptionSelectEventDetail,\n} from \"../ic-menu/ic-menu.types\";\n\nimport clearIcon from \"../../assets/clear-icon.svg\";\nimport searchIcon from \"../../assets/search-icon.svg\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-search-bar\",\n styleUrl: \"ic-search-bar.css\",\n shadow: true,\n})\nexport class SearchBar {\n @Element() el: HTMLIcSearchBarElement;\n\n private inputId = `ic-search-bar-input-${inputIds++}`;\n private inputEl: HTMLIcTextFieldElement;\n\n private menuId = `${this.inputId}-menu`;\n private searchSubmitButton: HTMLIcButtonElement;\n private menu: HTMLIcMenuElement;\n private menuCloseFromMenuChangeEvent: boolean = false;\n\n private anchorEl: HTMLElement;\n private truncateValue = false;\n\n private assistiveHintEl: HTMLSpanElement = null;\n private preventSubmit: boolean = false;\n\n /**\n * Provide a label for the input.\n */\n @Prop() label!: string;\n\n /**\n * Specify if the input requires a value.\n */\n @Prop() required?: boolean = false;\n /**\n * Specify whether the input is disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * Specify whether the input is read only.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * Provide a placeholder value to display.\n */\n @Prop() placeholder?: string = \"Search\";\n\n /**\n * Specify whether the component fills the full width of the container.\n * If true, this overrides the --input-width css prop.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * Specify whether to disable the built in filtering. For example, if options will already be filtered from external source.\n * If true, all options provided will be displayed.\n */\n @Prop() disableFilter?: boolean = false;\n\n /**\n * Hides the label and applies the required label value as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * Provide helper text to display additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * Specify whether dense styling is to be applied to the element.\n */\n @Prop() dense?: boolean = false;\n\n /**\n * Value of Search input.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n\n /**\n * Indicates whether and how the text value should be automatically capitalized 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 * Indicates whether the value of the control can be automatically completed by the browser.\n */\n @Prop() autocomplete?: IcAutocompleteTypes = \"off\";\n\n /**\n * Whether auto correction should be enabled when the user is entering/editing the text value.\n */\n @Prop() autocorrect?: IcAutocorrectStates = \"off\";\n\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop({ mutable: true }) debounce?: number = 0;\n\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the element will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n /**\n * Provide the suggested search options\n */\n @Prop() options?: IcMenuOption[] = [];\n\n @Watch(\"options\")\n watchOptionsHandler(newOptions: IcMenuOption[]): void {\n if (this.disableFilter) {\n this.filteredOptions = newOptions;\n }\n }\n\n /**\n * Specify whether the input should be focussed when component loaded.\n */\n @Prop() focusOnLoad?: boolean = false;\n\n /**\n * Determines whether the dark variant of the search bar should be displayed.\n */\n @Prop() dark?: boolean = false;\n\n /**\n * Provide hint text for hidden assistive description element.\n */\n @Prop() hintText?: string =\n \"When autocomplete results are available use the up and down arrows to choose and press enter to select\";\n\n /**\n * Provide text for empty results list\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * Number of characters until suggestions appear\n */\n @Prop() charactersUntilSuggestion: number = 2;\n\n @Watch(\"value\")\n watchValueHandler(newValue: string): void {\n if (\n this.inputEl &&\n this.options &&\n !!getLabelFromValue(newValue, this.options)\n ) {\n this.inputEl.value = getLabelFromValue(newValue, this.options);\n } else if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n\n this.icChange.emit({ value: newValue });\n }\n\n /**\n * Sets focus on the native `input`\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.inputEl) {\n this.inputEl.setFocus();\n }\n }\n\n @Listen(\"icKeydown\", {})\n handleKeyDown(ev: CustomEvent): void {\n const keyEv: KeyboardEvent = ev.detail.event;\n if (this.menu && this.open) {\n this.menu.handleKeyboardOpen(keyEv);\n }\n }\n\n @Listen(\"keyup\", {})\n handleKeyUp(ev: KeyboardEvent): void {\n if (ev.key === \"Enter\") {\n if (this.preventSubmit) {\n return;\n }\n\n this.handleSubmitSearch();\n this.setMenuChange(false);\n }\n\n if (ev.key === \"Escape\") {\n this.setMenuChange(false);\n }\n\n if (this.preventSubmit) {\n this.preventSubmit = false;\n }\n }\n\n private handleSubmitSearch = () => {\n this.icSubmitSearch.emit({ value: this.value });\n\n const form: HTMLFormElement = this.el.closest(\"FORM\");\n\n if (this.searchSubmitButton && !!form && !this.preventSubmit) {\n handleHiddenFormButtonClick(form, this.searchSubmitButton);\n }\n };\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n\n if (this.options.length > 0) {\n this.setMenuChange(true);\n\n if (this.disableFilter === false) {\n const rawFilteredOptions = this.options.filter((option) => {\n return option.label.toLowerCase().includes(this.value.toLowerCase());\n });\n\n const noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n\n this.filteredOptions =\n rawFilteredOptions.length > 0 ? rawFilteredOptions : noOptions;\n }\n }\n\n if (!this.showClearButton) {\n this.handleShowClearButton(true);\n }\n\n this.debounceAriaLiveUpdate();\n\n this.icInput.emit({ value: this.value });\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounce);\n\n this.debounce = window.setTimeout(() => {\n this.updateSearchResultAriaLive();\n }, 500);\n }\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icInputBlur: EventEmitter<IcSearchBarBlurEventDetail>;\n private onInputBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icInputBlur.emit({ value: value, relatedTarget: nextFocus });\n };\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icInputFocus: EventEmitter<IcValueEventDetail>;\n private onInputFocus = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icInputFocus.emit({ value: value });\n\n this.handleShowClearButton(true);\n };\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when value is cleared with clear button\n */\n @Event() icClear: EventEmitter<void>;\n private handleClear = (ev: Event) => {\n const keyboardEvent = ev as KeyboardEvent;\n const mouseEvent = ev as MouseEvent;\n\n if (\n mouseEvent.type === \"click\" ||\n keyboardEvent.code === \"Enter\" ||\n keyboardEvent.code === \"Space\"\n ) {\n this.value = \"\";\n this.inputEl.value = \"\";\n this.el.setFocus();\n\n this.icClear.emit();\n ev.preventDefault();\n\n this.preventSubmit = true;\n }\n };\n\n /**\n * Emitted when the search value has been submitted\n */\n @Event() icSubmitSearch: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when option is highlighted within the menu\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the state of the menu changes (i.e. open or close)\n */\n @Event() icMenuChange: EventEmitter<IcMenuChangeEventDetail>;\n /**\n * @internal - Emitted when blur is invoked from clear button\n */\n @Event() icClearBlur: EventEmitter<IcBlurEventDetail>;\n private handleClearBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icClearBlur.emit({ relatedTarget: nextFocus });\n\n this.clearButtonFocused = false;\n };\n\n /**\n * @internal - Emitted when blur is invoked from search submit button\n */\n @Event() icSubmitSearchBlur: EventEmitter<IcBlurEventDetail>;\n private handleSubmitSearchBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icSubmitSearchBlur.emit({ relatedTarget: nextFocus });\n\n this.searchSubmitFocused = false;\n };\n\n private handleSubmitSearchFocus = () => {\n this.handleMenuCloseFromMenuChange(true);\n this.searchSubmitFocused = true;\n };\n\n /**\n * Emitted when blur is invoked from ic-search-bar\n */\n @Event() icSearchBarBlur: EventEmitter<IcSearchBarBlurEventDetail>;\n\n /**\n * Emitted when focus is invoked from ic-search-bar\n */\n @Event() icSearchBarFocus: EventEmitter<void>;\n\n @State() open: boolean = false;\n @State() filteredOptions: IcMenuOption[] = [];\n @State() ariaActiveDescendant: string;\n @State() showClearButton: boolean = false;\n @State() clearButtonFocused: boolean = false;\n @State() searchSubmitFocused: boolean = false;\n @State() prevNoOption: boolean = false;\n\n private handleOptionSelect = (ev: CustomEvent) => {\n if (ev.detail.label === this.emptyOptionListText) {\n this.el.setFocus();\n return;\n }\n\n this.value = ev.detail.value;\n this.icOptionSelect.emit({ value: this.value });\n };\n\n private handleMenuChange = (ev: CustomEvent) => {\n this.setMenuChange(ev.detail.open);\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n this.icMenuChange.emit({ open });\n }\n };\n\n private handleHostFocus = () => {\n if (this.options && this.value && !this.menuCloseFromMenuChangeEvent) {\n this.setMenuChange(true);\n }\n this.handleTruncateValue(false);\n\n this.icSearchBarFocus.emit();\n };\n\n private handleHostBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n if (this.open && this.options && nextFocus !== this.menu) {\n this.setMenuChange(false);\n }\n\n this.handleShowClearButton(false);\n this.handleMenuCloseFromMenuChange(false);\n this.handleTruncateValue(true);\n this.icSearchBarBlur.emit({ relatedTarget: nextFocus, value: this.value });\n };\n\n @Listen(\"menuChange\", {})\n onMenuClose(ev: CustomEvent): void {\n if (!ev.detail.open) {\n this.handleMenuCloseFromMenuChange(true);\n if (ev.detail.focusInput === undefined || ev.detail.focusInput) {\n this.el.setFocus();\n }\n }\n }\n\n @Listen(\"menuOptionId\")\n onMenuOptionHighlighted(ev: CustomEvent): void {\n if (ev.detail.optionId) {\n this.ariaActiveDescendant = ev.detail.optionId;\n } else {\n this.ariaActiveDescendant = undefined;\n }\n }\n\n private handleShowClearButton = (visible: boolean): void => {\n this.showClearButton = visible;\n };\n\n private handleFocusClearButton = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleMenuCloseFromMenuChange = (fromEvent: boolean): void => {\n this.menuCloseFromMenuChangeEvent = fromEvent;\n };\n\n private handleTruncateValue = (truncate: boolean): void => {\n this.truncateValue = truncate;\n };\n\n private renderAssistiveHintEl = (): void => {\n const input = this.el.shadowRoot\n .querySelector(\"ic-text-field\")\n ?.shadowRoot?.querySelector(`#${this.inputId}`);\n\n if (\n input &&\n Object.keys(input).length > 0 &&\n this.hasOptionsOrFilterDisabled()\n ) {\n this.assistiveHintEl = document.createElement(\"span\");\n this.assistiveHintEl.innerText = this.hintText;\n this.assistiveHintEl.id = `${this.inputId}-assistive-hint`;\n this.assistiveHintEl.style.display = \"none\";\n if (input.after !== undefined) {\n input.after(this.assistiveHintEl);\n }\n }\n };\n\n private updateSearchResultAriaLive = (): void => {\n const searchResultsStatusEl = this.el.shadowRoot.querySelector(\n \".search-results-status\"\n ) as HTMLParagraphElement;\n\n if (!this.open || this.value === \"\") {\n searchResultsStatusEl.innerText = \"\";\n } else if (\n this.options.length > 0 &&\n this.filteredOptions.length > 0 &&\n this.open &&\n searchResultsStatusEl\n ) {\n searchResultsStatusEl.innerText = `${this.filteredOptions.length} result${\n this.filteredOptions.length > 1 ? \"s\" : \"\"\n } available`;\n }\n };\n\n private hasOptionsOrFilterDisabled = (): boolean =>\n this.options.length > 0 || this.disableFilter;\n\n private highlightFirstOptionAfterNoResults = () => {\n if (this.prevNoOption && this.menu) {\n this.menu.handleSetFirstOption();\n this.prevNoOption = false;\n }\n const prevNoOptionsList = this.filteredOptions.find(\n (filteredOption) => filteredOption.label === this.emptyOptionListText\n );\n if (prevNoOptionsList) {\n this.prevNoOption = true;\n }\n };\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n componentWillRender(): void {\n this.highlightFirstOptionAfterNoResults();\n }\n\n componentWillLoad(): void {\n this.watchValueHandler(this.value);\n }\n\n componentDidLoad(): void {\n if (this.focusOnLoad) {\n this.el.setFocus();\n }\n\n if (this.hasOptionsOrFilterDisabled()) {\n this.renderAssistiveHintEl();\n if (this.disableFilter) {\n this.filteredOptions = this.options;\n }\n }\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Search Bar\"\n );\n\n this.anchorEl = this.inputEl.shadowRoot.querySelector(\n \"ic-input-component-container\"\n );\n }\n\n disconnectedCallback(): void {\n if (this.assistiveHintEl) {\n this.assistiveHintEl.remove();\n }\n }\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n dense,\n placeholder,\n helperText,\n disabled,\n value,\n readonly,\n spellcheck,\n fullWidth,\n options,\n open,\n hideLabel,\n menuId,\n ariaActiveDescendant,\n dark,\n truncateValue,\n autofocus,\n autocapitalize,\n autocomplete,\n filteredOptions,\n } = this;\n\n const disabledMode = readonly || disabled ? true : false;\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n ).trim();\n\n let describedById;\n\n if (describedBy !== \"\" && this.hasOptionsOrFilterDisabled()) {\n describedById = `${describedBy} ${this.inputId}-assistive-hint`;\n } else if (this.hasOptionsOrFilterDisabled()) {\n describedById = `${this.inputId}-assistive-hint`;\n } else if (describedBy !== \"\") {\n describedById = describedBy;\n } else {\n describedById = undefined;\n }\n\n const disabledText = disabledMode && !readonly;\n const hasSuggestedSearch = value && options.length > 0;\n const valueNotSet = value === undefined || value === null || value === \"\";\n const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;\n\n const hadNoOptions =\n filteredOptions.length > 0 &&\n filteredOptions[0].label === this.emptyOptionListText;\n\n let expanded;\n\n if (options.length > 0) {\n if (menuOpen) {\n expanded = \"true\";\n } else {\n expanded = \"false\";\n }\n } else {\n expanded = undefined;\n }\n\n renderHiddenInput(true, this.el, name, value, disabledMode);\n\n return (\n <Host\n class={{\n [\"search\"]: true,\n [\"fullwidth\"]: fullWidth,\n [\"dark\"]: dark,\n [\"disabled\"]: disabled,\n [\"dense\"]: dense,\n }}\n onFocus={this.handleHostFocus}\n onBlur={this.handleHostBlur}\n >\n <ic-text-field\n ref={(el) => (this.inputEl = el)}\n inputId={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n dense={dense}\n hideLabel={hideLabel}\n fullWidth={fullWidth}\n name={name}\n truncateValue={truncateValue}\n dark={dark}\n value={\n options && !!getLabelFromValue(value, options)\n ? getLabelFromValue(value, options)\n : value\n }\n placeholder={placeholder}\n onInput={this.onInput}\n onBlur={this.onInputBlur}\n onFocus={this.onInputFocus}\n aria-label={hideLabel ? label : \"\"}\n aria-describedby={describedById}\n aria-owns={hasSuggestedSearch ? menuId : undefined}\n aria-haspopup={options.length > 0 ? \"listbox\" : undefined}\n ariaExpanded={expanded}\n ariaActiveDescendant={ariaActiveDescendant}\n aria-autocomplete={hasSuggestedSearch ? \"list\" : undefined}\n role={hasSuggestedSearch ? \"combobox\" : undefined}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n autoFocus={autofocus}\n spellcheck={spellcheck}\n inputmode=\"search\"\n >\n <div\n class={{\n \"clear-button-container\": true,\n \"clear-button-visible\":\n value && !disabledMode && this.showClearButton,\n }}\n slot=\"clear-button\"\n >\n <ic-button\n id=\"clear-button\"\n class=\"clear-button\"\n aria-label=\"Clear\"\n innerHTML={clearIcon}\n onClick={this.handleClear}\n size={dense ? \"dense\" : \"default\"}\n onFocus={this.handleFocusClearButton}\n onBlur={this.handleClearBlur}\n onKeyDown={this.handleClear}\n type=\"submit\"\n variant=\"icon\"\n buttonStyle={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n <div\n class={{\n \"search-submit-button-container\": true,\n \"search-submit-button-disabled\":\n valueNotSet || disabled || hadNoOptions,\n }}\n slot=\"search-submit-button\"\n >\n <ic-button\n id=\"search-submit-button\"\n aria-label=\"Search\"\n ref={(el) => (this.searchSubmitButton = el)}\n class={{\n [\"search-submit-button\"]: true,\n [\"search-submit-button-dense\"]: !!dense,\n }}\n disabled={valueNotSet || disabled || hadNoOptions}\n innerHTML={searchIcon}\n size={dense ? \"dense\" : \"default\"}\n onClick={this.handleSubmitSearch}\n onBlur={this.handleSubmitSearchBlur}\n onFocus={this.handleSubmitSearchFocus}\n type=\"submit\"\n variant=\"icon\"\n buttonStyle={\n this.searchSubmitFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Default\n }\n ></ic-button>\n </div>\n <div\n class={{\n \"menu-container\": true,\n fullwidth: fullWidth,\n }}\n slot=\"menu\"\n >\n {menuOpen && value.length >= this.charactersUntilSuggestion && (\n <ic-menu\n class={{\n \"no-results\": hadNoOptions,\n }}\n activationType=\"manual\"\n anchorEl={this.anchorEl}\n autoFocusOnSelected={false}\n inputEl={this.inputEl}\n inputLabel={label}\n ref={(el) => (this.menu = el)}\n dense={dense}\n fullWidth={fullWidth}\n menuId={menuId}\n open={true}\n options={filteredOptions}\n onOptionSelect={this.handleOptionSelect}\n onMenuChange={this.handleMenuChange}\n parentEl={this.el}\n value={value}\n ></ic-menu>\n )}\n </div>\n </ic-text-field>\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"search-results-status\"\n ></div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-typography/ic-typography.css?tag=ic-typography&encapsulation=shadow","src/components/ic-typography/ic-typography.tsx"],"names":["icTypographyCss","Typography","[object Object]","variant","spacing","this","h","Host","class"],"mappings":"yDAAA,MAAMA,EAAkB,0wICSXC,EAAU,4CAMoB,oBAKb,MAE5BC,SACE,MAAMC,QAAEA,EAAOC,QAAEA,GAAYC,KAE7B,OACEC,EAACC,EAAI,CACHC,MAAO,CACLN,CAAC,iBAAiBC,KAAY,KAC9BD,CAAC,yBAAyBC,KAAYC,IAGxCE,EAAA,OAAA","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n}\n\n:host(.ic-typography-spacing-h2) {\n margin: var(--ic-space-xxl) 0 var(--ic-space-lg);\n}\n\n:host(.ic-typography-spacing-h3) {\n margin: var(--ic-space-xl) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-spacing-h4) {\n margin: var(--ic-space-lg) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-spacing-subtitle-large) {\n margin: 0 0 var(--ic-space-lg);\n}\n\n:host(.ic-typography-spacing-body) {\n margin: 0 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-spacing-h2:first-child),\n:host(.ic-typography-spacing-h3:first-child),\n:host(.ic-typography-spacing-h4:first-child) {\n margin-top: 0;\n}\n\n:host(.ic-typography-h1) {\n font: var(--ic-font-h1);\n}\n\n:host(.ic-typography-h2) {\n font: var(--ic-font-h2);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-h3) {\n font: var(--ic-font-h3);\n}\n\n:host(.ic-typography-h4) {\n font: var(--ic-font-h4);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-large) {\n font: var(--ic-font-subtitle-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-small) {\n font: var(--ic-font-subtitle-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-body) {\n font: var(--ic-font-body);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-caption) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-caption-uppercase) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-label) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-label-uppercase) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-no-wrap) {\n white-space: nowrap;\n}\n\n:host ::slotted(h1),\n:host ::slotted(h2),\n:host ::slotted(h3),\n:host ::slotted(h4),\n:host ::slotted(h5),\n:host ::slotted(h6),\n:host ::slotted(p),\n:host ::slotted(label) {\n font: inherit;\n letter-spacing: inherit;\n}\n","import { Component, Prop, h, Element, Host } from \"@stencil/core\";\n\nimport { IcTypographyVariants } from \"../../utils/types\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n @Element() el: HTMLIcTypographyElement;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n /**\n * Adds margin to the bottom of the typography relative to the font-size.\n */\n @Prop() spacing?: boolean = false;\n\n render() {\n const { variant, spacing } = this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-spacing-${variant}`]: spacing,\n }}\n >\n <slot />\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as o,g as a}from"./p-f9370be6.js";import{E as n,I as r,k as s,l as c,a as l}from"./p-e5a09372.js";import{c as d}from"./p-ec26fc38.js";const u='/*! 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;--button-default:var(--ic-action-default);--button-default-hover:var(--ic-action-default-hover);--button-default-active:var(--ic-action-default-active);--button-default-background-hover:var(--ic-action-default-bg-hover);--button-default-background-active:var(--ic-action-default-bg-active);--icon-width:100%;--icon-height:100%}.button{font-family:var(--ic-font-body-family);text-decoration:none;font-weight:600;font-size:14px;transition:var(--ic-easing-transition-fast);border-radius:var(--ic-border-radius);min-width:100px;display:inline-flex;gap:var(--ic-space-xs);flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}.button:hover{cursor:pointer}.button:focus,:host .button:focus{box-shadow:var(--ic-border-focus)}:host(.light) .button:focus{box-shadow:var(--ic-border-focus)}.button:focus-visible{outline:none}:host(.dark) .button{--button-default:var(--ic-action-dark);--button-default-hover:var(--ic-action-dark);--button-default-active:var(--ic-action-dark);--button-default-background-hover:var(--ic-action-dark-bg-hover);--button-default-background-active:var(--ic-action-dark-bg-active)}:host(.light) .button{--button-default:var(--ic-action-light);--button-default-hover:var(--ic-action-light);--button-default-active:var(--ic-action-light);--button-default-background-hover:var(--ic-action-light-bg-hover);--button-default-background-active:var(--ic-action-light-bg-active)}:host(.button-variant-primary.light) .button{color:var(--ic-color-primary-text);--button-default-hover:var(--ic-action-light-hover);--button-default-active:var(--ic-action-light-active)}:host(.button-variant-primary.dark) .button{--button-default-hover:var(--ic-action-dark-hover);--button-default-active:var(--ic-action-dark-active)}:host(.disabled),:host(.disabled) .button,:host(.loading),:host(.loading) .button{pointer-events:none}:host(.button-variant-primary) .button{color:var(--ic-architectural-white);background-color:var(--button-default)}:host(.button-variant-primary) .button:hover:not(:focus){background-color:var(--button-default-hover)}:host(.button-variant-primary) .button:active:not(:focus),:host(.button-variant-primary.loading) .button{background-color:var(--button-default-active)}:host(.button-variant-primary.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-variant-primary.light.disabled) .button{background:var(--ic-architectural-600);color:var(--ic-architectural-500)}:host(.button-variant-secondary) .button{border:1px solid var(--button-default);color:var(--button-default)}:host(.button-variant-secondary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);border-color:var(--button-default-hover);color:var(--button-default-hover)}:host(.button-variant-secondary) .button:active:not(:focus){border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.loading) .button{border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.disabled) .button,:host(.button-variant-secondary.disabled) .button:hover,:host(.button-variant-secondary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-secondary.light.disabled) .button,:host(.button-variant-secondary.light.disabled) .button:hover,:host(.button-variant-secondary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-tertiary) .button{color:var(--button-default)}:host(.button-variant-tertiary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-tertiary) .button:active:not(:focus),:host(.button-variant-tertiary.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-tertiary.disabled) .button,:host(.button-variant-tertiary.disabled) .button:hover,:host(.button-variant-tertiary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-tertiary.light.disabled) .button,:host(.button-variant-tertiary.light.disabled) .button:hover,:host(.button-variant-tertiary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-icon) .button{color:var(--button-default);min-width:0}:host(.button-variant-icon) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-icon) .button:active:not(:focus),:host(.button-variant-icon.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-icon.disabled) .button,:host(.button-variant-icon.disabled) .button:hover,:host(.button-variant-icon.disabled) .button:active{color:var(--ic-architectural-300);background:none}:host(.button-variant-destructive) .button{color:var(--ic-architectural-white);background-color:var(--ic-action-destructive);text-transform:uppercase}:host(.button-variant-destructive) .button:hover:not(:focus){background-color:var(--ic-action-destructive-hover)}:host(.button-variant-destructive) .button:active:not(:focus),:host(.button-variant-destructive.loading) .button{background-color:var(--ic-action-destructive-active)}:host(.button-variant-destructive.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-size-default) .button{height:40px;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.button-size-dense) .button{height:var(--ic-space-xl);padding:var(--ic-space-xxs) var(--ic-space-md)}:host(.button-size-emphasis) .button{height:var(--ic-space-xxl);padding:var(--ic-space-sm) var(--ic-space-md)}:host(.button-size-default.button-variant-icon) .button{height:var(--ic-space-xl);width:var(--ic-space-xl);padding:6px}:host(.button-size-dense.button-variant-icon) .button{height:var(--ic-space-lg);width:var(--ic-space-lg);padding:var(--ic-space-xxs)}:host(.button-size-emphasis.button-variant-icon) .button{height:40px;width:40px;padding:var(--ic-space-xs)}:host(.full-width),:host(.full-width) .button{width:100%}div.loading-container{position:relative;align-items:center}@keyframes loading-animation{0%{width:0%;left:0%}25%{width:0%;left:0%;opacity:0}50%{width:100%;left:0%;opacity:1}75%{width:0%;left:100%}100%{width:0%;left:100%;opacity:0}}div.icon-container{box-sizing:border-box;width:var(--ic-space-lg);height:var(--ic-space-lg);display:flex;justify-content:center;align-items:center}::slotted(svg){width:var(--icon-width) !important;height:var(--icon-height) !important;fill:currentcolor !important;pointer-events:none}:host(.button-variant-icon) .button .icon-container{margin:0;pointer-events:none}:host(.search-submit-button) ::slotted(svg){--icon-height:20px;--icon-width:20px}:host(.search-submit-button-dense) ::slotted(svg){--icon-height:16px;--icon-width:16px}:host(.clear-button){margin:0 var(--ic-space-xxs)}:host(.clear-button) .button:focus{box-shadow:none;background-color:var(--ic-action-dark-bg-hover)}:host(.clear-button) .button:not(:active):focus{box-shadow:none;background-color:var(--ic-action-dark-bg-hover)}:host(.search-submit-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:not(:active):focus{box-shadow:none;background-color:var(--ic-action-default-bg-hover)}:host(.search-submit-button){display:flex;align-items:center;margin:0 var(--ic-space-xxs)}:host(.menu-close-button) ::slotted(svg){--icon-height:14px;--icon-width:14px}:host(.popout-menu-button) .button{justify-content:left;border-radius:0;white-space:pre-line;text-align:start}:host(.popout-menu-button) div.icon-container{flex:none}:host(.popout-menu-button) .button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset)}.ic-button-describedby{display:none}:host .ic-tooltip{display:block}';var h=undefined&&undefined.__rest||function(t,i){var e={};for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&i.indexOf(o)<0)e[o]=t[o];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a<o.length;a++){if(i.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(t,o[a]))e[o[a]]=t[o[a]]}return e};let b=0;const p=class{constructor(e){t(this,e);this.icFocus=i(this,"icFocus",7);this.icBlur=i(this,"icBlur",7);this.calculatedWidth=68;this.inheritedAttributes={};this.hasTooltip=false;this.buttonIdNum=b++;this.handleClick=()=>{if((this.el.type==="submit"||this.el.type==="reset")&&!!this.el.closest("FORM")){this.handleHiddenFormButtonClick(this.el.closest("FORM"))}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=()=>{this.icBlur.emit()};this.disabled=false;this.loading=false;this.iconRight=false;this.type="button";this.href=undefined;this.target=undefined;this.rel=undefined;this.download=false;this.hreflang=undefined;this.referrerpolicy=undefined;this.variant="primary";this.size="default";this.fullWidth=false;this.withIcTooltip=false;this.IcTooltipPlacement="bottom";this.buttonStyle="default";this.iconRightState=false}setIconRightState(){this.iconRightState=this.iconRight}calculateWidth(){this.calculatedWidth=this.el.offsetWidth-2*this.el.offsetLeft}handleHostClick(t){if(this.disabled||this.loading){t.stopImmediatePropagation()}}themeChangeHandler(t){const i=t.detail;this.updateTheme(i.mode)}async setFocus(){if(this.buttonEl){this.buttonEl.focus()}}async updateAriaLabel(t){if(this.hasTooltip){this.tooltipEl.label=t;this.buttonEl.setAttribute("aria-label",t)}}getLoadingBarWidth(){return{width:`${this.calculatedWidth.toString()}px`}}hasIconSlot(){const t=this.el.querySelector(`[slot="icon"]`);if(t!=null){return true}return false}handleHiddenFormButtonClick(t){const i=document.createElement("button");i.setAttribute("type",this.el.type);i.style.display="none";t.appendChild(i);i.click();i.remove()}updateTheme(t=null){const i=n(this.el,t||null);if(i!==r.Default){this.buttonStyle=i}}componentWillLoad(){this.inheritedAttributes=s(this.el,[...c,"aria-expanded","title"]);const t=this.el.id;this.id=t!==undefined?t:null;this.hasTooltip=this.variant==="icon"||this.withIcTooltip}componentDidLoad(){this.calculateWidth();this.setIconRightState();this.updateTheme()}render(){const t=this.href&&"a"||"button";const i=this.inheritedAttributes,{title:a,"aria-label":n}=i,s=h(i,["title","aria-label"]);const c=t==="button"?{type:this.type,disabled:this.disabled}:{download:this.download!==false?this.download:null,href:this.href,rel:this.rel,target:this.target,referrerpolicy:this.referrerpolicy,hreflang:this.hreflang};const l=a&&a;const d=this.hasTooltip?{}:{title:l};let u="";if(this.hasTooltip){if(l!==undefined){u=l}else if(n!==null){u=n}}let b=null;let p=null;if(this.hasTooltip){p=this.id!==null?`ic-button-with-tooltip-${this.id}`:`ic-button-with-tooltip-${this.buttonIdNum}`;b=`ic-tooltip-${p}`}const v=()=>e(t,Object.assign({class:"button","aria-disabled":this.loading||this.disabled?"true":null,"aria-label":this.loading?"Loading":n},c,s,d,{onFocus:this.onFocus,onBlur:this.onBlur,ref:t=>this.buttonEl=t,id:p,"aria-describedby":b}),this.hasIconSlot()&&!this.iconRightState&&!this.loading&&e("div",{class:"icon-container"},e("slot",{name:"icon"})),this.loading?e("div",{class:"loading-container",style:this.getLoadingBarWidth()},e("ic-loading-indicator",{type:"linear",dark:this.variant==="primary"||this.variant==="destructive"||this.buttonStyle===r.Dark||this.buttonStyle===r.Light})):e("slot",null),this.hasIconSlot()&&this.iconRightState&&!this.loading&&e("div",{class:"icon-container"},e("slot",{name:"icon"})));return e(o,{class:{["disabled"]:this.disabled&&!this.loading,[`button-variant-${this.variant}`]:true,[`button-size-${this.size}`]:true,["loading"]:this.loading,["dark"]:this.buttonStyle===r.Dark,["light"]:this.buttonStyle===r.Light,["full-width"]:this.fullWidth},onClick:this.handleClick},this.hasTooltip&&e("ic-tooltip",{ref:t=>this.tooltipEl=t,label:u,"element-id":p,placement:this.IcTooltipPlacement},e(v,null)),!this.hasTooltip&&e(v,null))}get el(){return a(this)}static get watchers(){return{iconRight:["setIconRightState"],loading:["calculateWidth"]}}};p.style=u;const v='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--linear-border-radius:4px;--inner-color:var(--ic-action-default);--outer-color:var(--ic-architectural-100);--label-color:var(--ic-color-primary-text);--margin:none;--linear-line-height:var(--ic-space-xs)}.ic-loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center}:host([size="small"]){--circular-diameter:40px;--linear-line-height:var(--ic-space-xxs)}:host([size="default"]){--circular-diameter:80px}:host([size="large"]){--circular-diameter:160px}:host([size="icon"]){display:inline-block;--margin:var(--ic-space-xxxs);--circular-diameter:20px}:host([label]){--margin:0 0 var(--ic-space-xs) 0}.ic-loading-label{white-space:nowrap;color:var(--label-color);margin-left:var(--label-margin-left)}.ic-loading-circular-outer{box-shadow:inset 0 0 0 var(--circular-line-width) var(--outer-color);height:var(--circular-diameter);width:var(--circular-diameter);border-radius:50%;position:relative}.ic-loading-circular-outer.indeterminate{animation:circular-animation 1s linear;animation-iteration-count:infinite}.ic-loading-circular-inner{height:var(--circular-diameter);width:var(--circular-diameter);border-radius:50%;position:relative}.indeterminate>.ic-loading-circular-inner{box-shadow:inset 0 0 0 var(--circular-line-width) var(--inner-color);-webkit-clip-path:inset(0 50% 50% 0);clip-path:inset(0 50% 50% 0)}.determinate>.ic-loading-circular-inner{position:absolute;top:0;left:0;bottom:0;right:0}.determinate>.ic-loading-circular-inner.clip{clip:rect(\n 0,\n var(--circular-diameter),\n var(--circular-diameter),\n calc(var(--circular-diameter) / 2)\n )}.ic-loading-circular-inner .left,.ic-loading-circular-inner .right{height:100%;width:100%;border:var(--circular-line-width) solid var(--inner-color);border-radius:50%;box-sizing:border-box;clip:rect(\n 0,\n calc(var(--circular-diameter) / 2),\n var(--circular-diameter),\n 0\n );position:absolute;left:0;top:0}.indeterminate>.ic-loading-circular-inner .left,.indeterminate>.ic-loading-circular-inner .right{display:none}.determinate>.ic-loading-circular-inner .left{transform:rotate(var(--circular-rotation))}.determinate>.ic-loading-circular-inner .right{transform:rotate(180deg)}.determinate>.ic-loading-circular-inner.clip .right{display:none}.ic-loading-circular-outer::before{content:"";height:var(--circular-line-width);width:var(--circular-line-width);border-radius:50%;background-color:var(--inner-color);position:absolute;display:block;top:calc(50% - var(--circular-line-width) / 2)}.ic-loading-circular-outer::after{content:"";height:var(--circular-line-width);width:var(--circular-line-width);border-radius:50%;background-color:var(--inner-color);position:absolute;display:block;top:0;left:calc(50% - var(--circular-line-width) / 2)}.ic-loading-circular-outer.determinate::before,.ic-loading-circular-outer.determinate::after{display:none}@keyframes circular-animation{100%{transform:rotate(360deg)}}.ic-loading-circular-outer,.ic-loading-linear-outer{margin:var(--margin)}.ic-loading-linear-outer{background-color:var(--outer-color);height:var(--linear-line-height);width:100%;border-radius:var(--linear-border-radius);overflow:hidden}.ic-loading-linear-inner{position:relative;height:100%;background-color:var(--inner-color);border-radius:var(--linear-border-radius)}.indeterminate>.ic-loading-linear-inner{animation:linear-animation 2s infinite}.determinate>.ic-loading-linear-inner{transition:width 0.5s;width:var(--linear-width)}:host([variant="full-width"]){--linear-border-radius:none}@keyframes linear-animation{0%{width:0%;left:-1%}25%{width:0%;left:-1%}50%{width:101%;left:-1%}75%{width:0%;left:101%}100%{width:0%;left:101%}}:host(.dark){--inner-color:var(--ic-architectural-white);--outer-color:var(--ic-architectural-800);--label-color:var(--ic-architectural-white)}';const f=class{constructor(i){t(this,i);this.getLabel=(t,i)=>new Promise((()=>{setInterval((()=>{if(t<this.labelList.length-1){t++}else{t=0}i(this.labelList[t])}),this.labelDuration)}));this.getLabelVariant=()=>{var t;let i="h4";const e=(t=this.outerElement)===null||t===void 0?void 0:t.offsetWidth;if(this.size==="small"||this.type==="circular"&&e<60){i="label"}else if(this.size==="large"||this.type==="circular"&&e>=120){i="h2"}return i};this.setCircleLineWidth=()=>{var t;const i=(t=this.outerElement)===null||t===void 0?void 0:t.offsetWidth;if(i){this.outerElement.style.setProperty("--circular-line-width",`${i*.1}px`)}};this.setDeterminateWidth=()=>{if(!this.innerElement)return;const t=Math.min(this.max,Math.max(this.min,this.progress));const i=(t-this.min)/(this.max-this.min);this.showSecond=i>.5;if(this.showSecond){this.innerElement.classList.remove("clip")}else{this.innerElement.classList.add("clip")}this.innerElement.style.setProperty("--circular-rotation",`${i*360}deg`);this.innerElement.style.setProperty("--linear-width",`${i*100}%`)};this.calcOuterClass=()=>{let t=`ic-loading-${this.type}-outer`;t+=this.indeterminate?" indeterminate":" determinate";return t};this.updateLabel=()=>{if(this.label!==undefined){this.labelList=this.label.split("/");const t=0;this.indicatorLabel=this.labelList[t];if(this.labelList.length>1){this.getLabel(t,(t=>{this.indicatorLabel=t}))}}};this.progress=undefined;this.min=0;this.max=100;this.label=undefined;this.description="Loading";this.labelDuration=8e3;this.size="default";this.type="circular";this.variant="default";this.dark=false;this.indicatorLabel=undefined;this.indeterminate=undefined;this.showSecond=false}watchPropHandler(){this.updateLabel()}componentWillLoad(){this.indeterminate=this.progress===undefined;this.updateLabel()}componentDidLoad(){this.setCircleLineWidth();if(Number(this.progress)>=0){this.setDeterminateWidth()}}componentWillUpdate(){this.indeterminate=this.progress===undefined}componentDidUpdate(){if(Number(this.progress)>=0){this.setDeterminateWidth()}}render(){const{dark:t,label:i,description:a,size:n}=this;return e(o,{class:{["dark"]:t}},e("div",{class:"ic-loading-container"},e("div",{ref:t=>this.outerElement=t,class:this.calcOuterClass(),role:"progressbar","aria-labelledby":this.label&&this.size!=="icon"&&"ic-loading-label","aria-label":a,"aria-valuenow":this.progress,"aria-valuemin":this.min,"aria-valuemax":this.max},e("div",{ref:t=>this.innerElement=t,class:`ic-loading-${this.type}-inner`},this.indeterminate||e("div",{class:"left"}),this.indeterminate||e("div",{class:"right"}))),i&&n!=="icon"&&e("ic-typography",{id:"ic-loading-label",class:"ic-loading-label",role:"status",variant:this.getLabelVariant()},e("p",null,this.indicatorLabel))))}get host(){return a(this)}static get watchers(){return{label:["watchPropHandler"]}}};f.style=v;const m='/*! 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(.ic-tooltip) .ic-tooltip-container{background-color:var(--ic-architectural-800);color:#ffff;text-align:center;padding:var(--ic-space-xxxs) 10px;border-radius:var(--ic-border-radius);position:absolute;max-width:320px;display:none;z-index:calc(var(--ic-z-index-overlay) / 2);box-shadow:var(--ic-elevation-overlay)}:host(.tooltip-navigation-item:not(.tooltip-navigation-item-side-nav-collapsed)) .ic-tooltip-container{display:none !important}:host(.tooltip-long-label-navigation-item-side-nav-expanded) .ic-tooltip-container[data-show]{display:block !important}:host(.ic-tooltip) .ic-tooltip-arrow,:host(.ic-tooltip) .ic-tooltip-arrow::before{position:absolute;background:inherit;width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-tooltip) .ic-tooltip-arrow{visibility:hidden}:host(.ic-tooltip) .ic-tooltip-arrow::before{visibility:visible;content:""}:host(.ic-tooltip) .ic-tooltip-container[data-show]{display:block}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow{bottom:calc(-1 * var(--ic-space-md))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow::before{border-radius:0 0 var(--ic-border-radius) var(--ic-border-radius);left:0;height:var(--ic-space-xxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow{top:calc(-1 * var(--ic-space-xxs))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow::before{border-radius:var(--ic-border-radius) var(--ic-border-radius) 0 0;left:0;height:var(--ic-space-xxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow{right:var(--ic-space-xxxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow::before{border-radius:0 var(--ic-border-radius) var(--ic-border-radius) 0}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow{left:-14px}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow::before{border-radius:var(--ic-border-radius) 0 0 var(--ic-border-radius)}:host([element-id="ic-button-with-tooltip-search-submit-button"]) .ic-tooltip-container,:host([element-id="ic-button-with-tooltip-clear-button"]) .ic-tooltip-container{z-index:calc(var(--ic-z-index-popup-menu) + 1)}';const g=class{constructor(i){t(this,i);this.mouseOverTool=false;this.showEvents=["mouseenter","focusin"];this.instantHideEvents=["focusout"];this.delayedHideEvents=["mouseleave"];this.show=t=>{this.toolTip.setAttribute("data-show","");t.setOptions((t=>Object.assign(Object.assign({},t),{modifiers:[...t.modifiers,{name:"eventListeners",enabled:true}]})));t.update()};this.hide=t=>{this.toolTip.removeAttribute("data-show");t.setOptions((t=>Object.assign(Object.assign({},t),{modifiers:[...t.modifiers,{name:"eventListeners",enabled:false}]})))};this.checkCloseTooltip=t=>{setTimeout((()=>{if(!this.mouseOverTool){this.hide(t)}}),100)};this.mouseEnterTooltip=()=>{this.mouseOverTool=true};this.mouseLeaveTooltip=t=>{this.mouseOverTool=false;this.checkCloseTooltip(t)};this.handleKeyDown=t=>{if(t==="Escape"){this.hide(this.popperInstance)}};this.manageEventListeners=t=>{const i=t==="add"?"addEventListener":"removeEventListener";this.showEvents.forEach((t=>{this.el[i](t,(()=>this.show(this.popperInstance)));this.toolTip[i](t,(()=>this.mouseEnterTooltip()))}));this.instantHideEvents.forEach((t=>{this.el[i](t,(()=>this.hide(this.popperInstance)))}));this.delayedHideEvents.forEach((t=>{this.el[i](t,(()=>this.checkCloseTooltip(this.popperInstance)));this.toolTip[i](t,(()=>this.mouseLeaveTooltip(this.popperInstance)))}));document[i]("keydown",(t=>this.handleKeyDown(t.key)))};this.screenReaderOnlyStyles={position:"absolute",left:"-10000px",top:"auto",width:"1px",height:"1px",overflow:"hidden"};this.elementId=undefined;this.placement="bottom";this.label=undefined}updateLabel(t){const i=this.el.previousElementSibling;i.innerText=t}componentDidLoad(){this.popperInstance=d(this.el,this.toolTip,{placement:this.placement,modifiers:[{name:"offset",options:{offset:[0,10]}},{name:"arrow",options:{element:this.arrow}}]});this.manageEventListeners("add");l([{prop:this.label,propName:"label"}],"Tooltip");if(this.elementId!==undefined){const t=document.createElement("span");t.id=`ic-tooltip-${this.elementId}`;t.innerText=this.label;t.classList.add("ic-tooltip-label");Object.assign(t.style,this.screenReaderOnlyStyles);this.el.insertAdjacentElement("beforebegin",t)}}disconnectedCallback(){this.manageEventListeners("remove")}render(){const{label:t}=this;return e(o,{class:{"ic-tooltip":true}},e("div",{ref:t=>this.toolTip=t,role:"tooltip",class:"ic-tooltip-container"},e("ic-typography",{variant:"caption"},t),e("div",{ref:t=>this.arrow=t,class:"ic-tooltip-arrow","data-popper-arrow":true})),e("slot",null))}get el(){return a(this)}static get watchers(){return{label:["updateLabel"]}}};g.style=m;export{p as ic_button,f as ic_loading_indicator,g as ic_tooltip};
2
- //# sourceMappingURL=p-6238313f.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-button/ic-button.css?tag=ic-button&encapsulation=shadow","src/components/ic-button/ic-button.tsx","src/components/ic-loading-indicator/ic-loading-indicator.css?tag=ic-loading-indicator&encapsulation=shadow","src/components/ic-loading-indicator/ic-loading-indicator.tsx","src/components/ic-tooltip/ic-tooltip.css?tag=ic-tooltip&encapsulation=shadow","src/components/ic-tooltip/ic-tooltip.tsx"],"names":["icButtonCss","buttonIds","Button","this","calculatedWidth","inheritedAttributes","hasTooltip","buttonIdNum","handleClick","el","type","closest","handleHiddenFormButtonClick","onFocus","icFocus","emit","onBlur","icBlur","[object Object]","iconRightState","iconRight","offsetWidth","offsetLeft","event","disabled","loading","stopImmediatePropagation","ev","theme","detail","updateTheme","mode","buttonEl","focus","newValue","tooltipEl","label","setAttribute","width","toString","iconEl","querySelector","form","hiddenFormButton","document","createElement","style","display","appendChild","click","remove","newTheme","foregroundColor","getThemeFromContext","IcThemeForegroundEnum","Default","buttonStyle","inheritAttributes","IC_INHERITED_ARIA","id","undefined","variant","withIcTooltip","calculateWidth","setIconRightState","TagType","href","_a","title","aria-label","ariaLabel","restInheritedAttributes","__rest","buttonAttrs","download","rel","target","referrerpolicy","hreflang","newTitle","titleAttr","tooltipText","describedBy","buttonId","ButtonContent","h","Object","assign","class","aria-disabled","ref","aria-describedby","hasIconSlot","name","getLoadingBarWidth","dark","Dark","Light","Host","size","fullWidth","onClick","element-id","placement","IcTooltipPlacement","icLoadingIndicatorCss","LoadingIndicator","getLabel","labelIndex","setLabel","Promise","setInterval","labelList","length","labelDuration","getLabelVariant","outerElement","setCircleLineWidth","setProperty","setDeterminateWidth","innerElement","progress","Math","min","max","proportion","showSecond","classList","add","calcOuterClass","cls","indeterminate","updateLabel","split","indicatorLabel","Number","description","role","aria-labelledby","aria-valuenow","aria-valuemin","aria-valuemax","icTooltipCss","Tooltip","mouseOverTool","showEvents","instantHideEvents","delayedHideEvents","show","popper","toolTip","setOptions","options","modifiers","enabled","update","hide","removeAttribute","checkCloseTooltip","setTimeout","mouseEnterTooltip","mouseLeaveTooltip","handleKeyDown","key","popperInstance","manageEventListeners","action","method","forEach","screenReaderOnlyStyles","position","left","top","height","overflow","describedBySpan","previousElementSibling","innerText","createPopper","offset","element","arrow","onComponentRequiredPropUndefined","prop","propName","elementId","ariaDescribedBy","insertAdjacentElement","ic-tooltip","data-popper-arrow"],"mappings":"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","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: inline-block;\n\n --button-default: var(--ic-action-default);\n --button-default-hover: var(--ic-action-default-hover);\n --button-default-active: var(--ic-action-default-active);\n --button-default-background-hover: var(--ic-action-default-bg-hover);\n --button-default-background-active: var(--ic-action-default-bg-active);\n --icon-width: 100%;\n --icon-height: 100%;\n}\n\n.button {\n font-family: var(--ic-font-body-family);\n text-decoration: none;\n font-weight: 600;\n font-size: 14px;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n min-width: 100px;\n display: inline-flex;\n gap: var(--ic-space-xs);\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.button:hover {\n cursor: pointer;\n}\n\n.button:focus,\n:host .button:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n:host(.light) .button:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.button:focus-visible {\n outline: none;\n}\n\n:host(.dark) .button {\n --button-default: var(--ic-action-dark);\n --button-default-hover: var(--ic-action-dark);\n --button-default-active: var(--ic-action-dark);\n --button-default-background-hover: var(--ic-action-dark-bg-hover);\n --button-default-background-active: var(--ic-action-dark-bg-active);\n}\n\n:host(.light) .button {\n --button-default: var(--ic-action-light);\n --button-default-hover: var(--ic-action-light);\n --button-default-active: var(--ic-action-light);\n --button-default-background-hover: var(--ic-action-light-bg-hover);\n --button-default-background-active: var(--ic-action-light-bg-active);\n}\n\n:host(.button-variant-primary.light) .button {\n color: var(--ic-color-primary-text);\n\n --button-default-hover: var(--ic-action-light-hover);\n --button-default-active: var(--ic-action-light-active);\n}\n\n:host(.button-variant-primary.dark) .button {\n --button-default-hover: var(--ic-action-dark-hover);\n --button-default-active: var(--ic-action-dark-active);\n}\n\n:host(.disabled),\n:host(.disabled) .button,\n:host(.loading),\n:host(.loading) .button {\n pointer-events: none;\n}\n\n/* Variants */\n\n/* Primary */\n\n:host(.button-variant-primary) .button {\n color: var(--ic-architectural-white);\n background-color: var(--button-default);\n}\n\n:host(.button-variant-primary) .button:hover:not(:focus) {\n background-color: var(--button-default-hover);\n}\n\n:host(.button-variant-primary) .button:active:not(:focus),\n:host(.button-variant-primary.loading) .button {\n background-color: var(--button-default-active);\n}\n\n:host(.button-variant-primary.disabled) .button {\n background: var(--ic-architectural-200);\n color: var(--ic-architectural-300);\n}\n\n:host(.button-variant-primary.light.disabled) .button {\n background: var(--ic-architectural-600);\n color: var(--ic-architectural-500);\n}\n\n/* Secondary */\n\n:host(.button-variant-secondary) .button {\n border: 1px solid var(--button-default);\n color: var(--button-default);\n}\n\n:host(.button-variant-secondary) .button:hover:not(:focus) {\n background-color: var(--button-default-background-hover);\n border-color: var(--button-default-hover);\n color: var(--button-default-hover);\n}\n\n:host(.button-variant-secondary) .button:active:not(:focus) {\n border-color: var(--button-default-active);\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-secondary.loading) .button {\n border-color: var(--button-default-active);\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-secondary.disabled) .button,\n:host(.button-variant-secondary.disabled) .button:hover,\n:host(.button-variant-secondary.disabled) .button:active {\n border-color: var(--ic-architectural-300);\n color: var(--ic-architectural-300);\n background: none;\n}\n\n:host(.button-variant-secondary.light.disabled) .button,\n:host(.button-variant-secondary.light.disabled) .button:hover,\n:host(.button-variant-secondary.light.disabled) .button:active {\n border-color: var(--ic-architectural-500);\n color: var(--ic-architectural-500);\n background: none;\n}\n\n/* Tertiary */\n\n:host(.button-variant-tertiary) .button {\n color: var(--button-default);\n}\n\n:host(.button-variant-tertiary) .button:hover:not(:focus) {\n background-color: var(--button-default-background-hover);\n color: var(--button-default-hover);\n}\n\n:host(.button-variant-tertiary) .button:active:not(:focus),\n:host(.button-variant-tertiary.loading) .button {\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-tertiary.disabled) .button,\n:host(.button-variant-tertiary.disabled) .button:hover,\n:host(.button-variant-tertiary.disabled) .button:active {\n border-color: var(--ic-architectural-300);\n color: var(--ic-architectural-300);\n background: none;\n}\n\n:host(.button-variant-tertiary.light.disabled) .button,\n:host(.button-variant-tertiary.light.disabled) .button:hover,\n:host(.button-variant-tertiary.light.disabled) .button:active {\n border-color: var(--ic-architectural-500);\n color: var(--ic-architectural-500);\n background: none;\n}\n\n/* Icon */\n\n:host(.button-variant-icon) .button {\n color: var(--button-default);\n min-width: 0;\n}\n\n:host(.button-variant-icon) .button:hover:not(:focus) {\n background-color: var(--button-default-background-hover);\n color: var(--button-default-hover);\n}\n\n:host(.button-variant-icon) .button:active:not(:focus),\n:host(.button-variant-icon.loading) .button {\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-icon.disabled) .button,\n:host(.button-variant-icon.disabled) .button:hover,\n:host(.button-variant-icon.disabled) .button:active {\n color: var(--ic-architectural-300);\n background: none;\n}\n\n/* Destructive */\n\n:host(.button-variant-destructive) .button {\n color: var(--ic-architectural-white);\n background-color: var(--ic-action-destructive);\n text-transform: uppercase;\n}\n\n:host(.button-variant-destructive) .button:hover:not(:focus) {\n background-color: var(--ic-action-destructive-hover);\n}\n\n:host(.button-variant-destructive) .button:active:not(:focus),\n:host(.button-variant-destructive.loading) .button {\n background-color: var(--ic-action-destructive-active);\n}\n\n:host(.button-variant-destructive.disabled) .button {\n background: var(--ic-architectural-200);\n color: var(--ic-architectural-300);\n}\n\n/* Sizing */\n\n:host(.button-size-default) .button {\n height: 40px;\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.button-size-dense) .button {\n height: var(--ic-space-xl);\n padding: var(--ic-space-xxs) var(--ic-space-md);\n}\n\n:host(.button-size-emphasis) .button {\n height: var(--ic-space-xxl);\n padding: var(--ic-space-sm) var(--ic-space-md);\n}\n\n:host(.button-size-default.button-variant-icon) .button {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n padding: 6px;\n}\n\n:host(.button-size-dense.button-variant-icon) .button {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n padding: var(--ic-space-xxs);\n}\n\n:host(.button-size-emphasis.button-variant-icon) .button {\n height: 40px;\n width: 40px;\n padding: var(--ic-space-xs);\n}\n\n/* Width */\n:host(.full-width),\n:host(.full-width) .button {\n width: 100%;\n}\n\n/* Loading */\n\ndiv.loading-container {\n position: relative;\n align-items: center;\n}\n\n@keyframes loading-animation {\n 0% {\n width: 0%;\n left: 0%;\n }\n\n 25% {\n width: 0%;\n left: 0%;\n opacity: 0;\n }\n\n 50% {\n width: 100%;\n left: 0%;\n opacity: 1;\n }\n\n 75% {\n width: 0%;\n left: 100%;\n }\n\n 100% {\n width: 0%;\n left: 100%;\n opacity: 0;\n }\n}\n\n/* Icons */\n\ndiv.icon-container {\n box-sizing: border-box;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n::slotted(svg) {\n width: var(--icon-width) !important;\n height: var(--icon-height) !important;\n fill: currentcolor !important;\n pointer-events: none;\n}\n\n:host(.button-variant-icon) .button .icon-container {\n margin: 0;\n pointer-events: none;\n}\n\n/** SEARCH **/\n\n:host(.search-submit-button) ::slotted(svg) {\n --icon-height: 20px;\n --icon-width: 20px;\n}\n\n:host(.search-submit-button-dense) ::slotted(svg) {\n --icon-height: 16px;\n --icon-width: 16px;\n}\n\n:host(.clear-button) {\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.clear-button) .button:focus {\n box-shadow: none;\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host(.clear-button) .button:not(:active):focus {\n box-shadow: none;\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host(.search-submit-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.search-submit-button) .button:not(:active):focus {\n box-shadow: none;\n background-color: var(--ic-action-default-bg-hover);\n}\n\n:host(.search-submit-button) {\n display: flex;\n align-items: center;\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.menu-close-button) ::slotted(svg) {\n --icon-height: 14px;\n --icon-width: 14px;\n}\n\n:host(.popout-menu-button) .button {\n justify-content: left;\n border-radius: 0;\n white-space: pre-line;\n text-align: start;\n}\n\n:host(.popout-menu-button) div.icon-container {\n flex: none;\n}\n\n:host(.popout-menu-button) .button:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n}\n\n.ic-button-describedby {\n display: none;\n}\n\n:host .ic-tooltip {\n display: block;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\n\nimport { getThemeFromContext, inheritAttributes } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcButtonSizes,\n IcButtonTypes,\n IcButtonVariants,\n IcButtonTooltipPlacement,\n} from \"./ic-button.types\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nlet buttonIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n */\n@Component({\n tag: \"ic-button\",\n styleUrl: \"ic-button.css\",\n shadow: true,\n})\nexport class Button {\n @Element() el: HTMLIcButtonElement;\n /**\n * Determines whether the button should be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n /**\n * Determines whether the button should be in loading state.\n */\n @Prop() loading?: boolean = false;\n /**\n * Determines whether the icon should appear on the right hand side of the button.\n */\n @Prop() iconRight?: boolean = false;\n /**\n * The type of the button.\n */\n @Prop() type?: IcButtonTypes = \"button\";\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n /**\n * Where to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * Prompts the user to save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n /**\n * Hints at the human language of the linked URL.\n */\n @Prop() hreflang?: string;\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n /**\n * The button variant to be displayed.\n */\n @Prop() variant?: IcButtonVariants = \"primary\";\n /**\n * The size of the button to be displayed.\n */\n @Prop() size?: IcButtonSizes = \"default\";\n /**\n * Fill the width of the container if true.\n */\n @Prop() fullWidth?: boolean = false;\n /**\n * Show an ic-tooltip displaying title or aria-label. Will always be shown for icon variant, so title or aria-label must be set.\n */\n @Prop() withIcTooltip?: boolean = false;\n /**\n * The position of the tooltip in relation to the button.\n */\n @Prop() IcTooltipPlacement?: IcButtonTooltipPlacement = \"bottom\";\n /**\n * Determines the style of button to be displayed.\n */\n @Prop({ mutable: true }) buttonStyle?: IcThemeForeground = \"default\";\n /**\n * Emitted when button has focus\n */\n @Event() icFocus!: EventEmitter<void>;\n /**\n * Emitted when button has blur\n */\n @Event() icBlur!: EventEmitter<void>;\n\n // @State forces re-render of component on change.\n @State() iconRightState: boolean = false;\n\n // CalculatedWidth must have a default value, since width is only calculated once button is rendered (with text).\n private calculatedWidth: number = 68;\n private inheritedAttributes: { [k: string]: unknown } = {};\n private buttonEl: HTMLElement;\n private hasTooltip: boolean = false;\n private buttonIdNum = buttonIds++;\n private tooltipEl: HTMLIcTooltipElement;\n private id: string;\n\n @Watch(\"iconRight\")\n setIconRightState(): void {\n this.iconRightState = this.iconRight;\n }\n\n @Watch(\"loading\")\n calculateWidth(): void {\n // Assume even padding on left and right\n this.calculatedWidth = this.el.offsetWidth - 2 * this.el.offsetLeft;\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n /**\n * Sets focus on the native `button`\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n /**\n * @internal Updates tooltip/aria-label text - needed as can't watch an aria attribute change.\n */\n @Method()\n async updateAriaLabel(newValue: string): Promise<void> {\n if (this.hasTooltip) {\n this.tooltipEl.label = newValue;\n this.buttonEl.setAttribute(\"aria-label\", newValue);\n }\n }\n\n private getLoadingBarWidth(): { [key: string]: string } {\n return { width: `${this.calculatedWidth.toString()}px` };\n }\n\n private hasIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n if (iconEl != null) {\n return true;\n }\n return false;\n }\n\n private handleHiddenFormButtonClick(form: HTMLFormElement): void {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", this.el.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n }\n\n private handleClick = (): void => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !!this.el.closest(\"FORM\")\n ) {\n this.handleHiddenFormButtonClick(this.el.closest(\"FORM\"));\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.buttonStyle = foregroundColor;\n }\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"aria-expanded\",\n \"title\",\n ]);\n\n const id = this.el.id;\n this.id = id !== undefined ? id : null;\n this.hasTooltip = this.variant === \"icon\" || this.withIcTooltip;\n }\n\n componentDidLoad(): void {\n this.calculateWidth();\n this.setIconRightState();\n this.updateTheme();\n }\n\n render() {\n const TagType = (this.href && \"a\") || \"button\";\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = this.inheritedAttributes;\n const buttonAttrs =\n TagType === \"button\"\n ? { type: this.type, disabled: this.disabled }\n : {\n download: this.download !== false ? this.download : null,\n href: this.href,\n rel: this.rel,\n target: this.target,\n referrerpolicy: this.referrerpolicy,\n hreflang: this.hreflang,\n };\n const newTitle = title && (title as string);\n const titleAttr = this.hasTooltip ? {} : { title: newTitle };\n let tooltipText = \"\";\n if (this.hasTooltip) {\n if (newTitle !== undefined) {\n tooltipText = newTitle;\n } else if (ariaLabel !== null) {\n tooltipText = ariaLabel as string;\n }\n }\n\n let describedBy: string = null;\n let buttonId: string = null;\n if (this.hasTooltip) {\n buttonId =\n this.id !== null\n ? `ic-button-with-tooltip-${this.id}`\n : `ic-button-with-tooltip-${this.buttonIdNum}`;\n describedBy = `ic-tooltip-${buttonId}`;\n }\n\n const ButtonContent = () => {\n return (\n <TagType\n class=\"button\"\n aria-disabled={this.loading || this.disabled ? \"true\" : null}\n aria-label={this.loading ? \"Loading\" : ariaLabel}\n {...buttonAttrs}\n {...restInheritedAttributes}\n {...titleAttr}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ref={(el) => (this.buttonEl = el)}\n id={buttonId}\n aria-describedby={describedBy}\n >\n {this.hasIconSlot() && !this.iconRightState && !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n {this.loading ? (\n <div class=\"loading-container\" style={this.getLoadingBarWidth()}>\n <ic-loading-indicator\n type=\"linear\"\n dark={\n this.variant === \"primary\" ||\n this.variant === \"destructive\" ||\n this.buttonStyle === IcThemeForegroundEnum.Dark ||\n this.buttonStyle === IcThemeForegroundEnum.Light\n }\n ></ic-loading-indicator>\n </div>\n ) : (\n <slot />\n )}\n\n {this.hasIconSlot() && this.iconRightState && !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n </TagType>\n );\n };\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled && !this.loading,\n [`button-variant-${this.variant}`]: true,\n [`button-size-${this.size}`]: true,\n [\"loading\"]: this.loading,\n [\"dark\"]: this.buttonStyle === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.buttonStyle === IcThemeForegroundEnum.Light,\n [\"full-width\"]: this.fullWidth,\n }}\n onClick={this.handleClick}\n >\n {this.hasTooltip && (\n <ic-tooltip\n ref={(el) => (this.tooltipEl = el)}\n label={tooltipText}\n element-id={buttonId}\n placement={this.IcTooltipPlacement}\n >\n <ButtonContent />\n </ic-tooltip>\n )}\n\n {!this.hasTooltip && <ButtonContent />}\n </Host>\n );\n }\n}\n","@import \"../../global/normalise.css\";\n\n:host {\n /**\n * @prop --circular-diameter: Diameter of the circular-indicator\n */\n\n display: block;\n\n --linear-border-radius: 4px;\n --inner-color: var(--ic-action-default);\n --outer-color: var(--ic-architectural-100);\n --label-color: var(--ic-color-primary-text);\n --margin: none;\n --linear-line-height: var(--ic-space-xs);\n}\n\n.ic-loading-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n:host([size=\"small\"]) {\n --circular-diameter: 40px;\n --linear-line-height: var(--ic-space-xxs);\n}\n\n:host([size=\"default\"]) {\n --circular-diameter: 80px;\n}\n\n:host([size=\"large\"]) {\n --circular-diameter: 160px;\n}\n\n:host([size=\"icon\"]) {\n display: inline-block;\n\n --margin: var(--ic-space-xxxs);\n --circular-diameter: 20px;\n}\n\n:host([label]) {\n --margin: 0 0 var(--ic-space-xs) 0;\n}\n\n.ic-loading-label {\n white-space: nowrap;\n color: var(--label-color);\n margin-left: var(--label-margin-left);\n}\n\n.ic-loading-circular-outer {\n box-shadow: inset 0 0 0 var(--circular-line-width) var(--outer-color);\n height: var(--circular-diameter);\n width: var(--circular-diameter);\n border-radius: 50%;\n position: relative;\n}\n\n.ic-loading-circular-outer.indeterminate {\n animation: circular-animation 1s linear;\n animation-iteration-count: infinite;\n}\n\n.ic-loading-circular-inner {\n height: var(--circular-diameter);\n width: var(--circular-diameter);\n border-radius: 50%;\n position: relative;\n}\n\n.indeterminate > .ic-loading-circular-inner {\n box-shadow: inset 0 0 0 var(--circular-line-width) var(--inner-color);\n clip-path: inset(0 50% 50% 0);\n}\n\n.determinate > .ic-loading-circular-inner {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n\n.determinate > .ic-loading-circular-inner.clip {\n clip: rect(\n 0,\n var(--circular-diameter),\n var(--circular-diameter),\n calc(var(--circular-diameter) / 2)\n );\n}\n\n.ic-loading-circular-inner .left,\n.ic-loading-circular-inner .right {\n height: 100%;\n width: 100%;\n border: var(--circular-line-width) solid var(--inner-color);\n border-radius: 50%;\n box-sizing: border-box;\n clip: rect(\n 0,\n calc(var(--circular-diameter) / 2),\n var(--circular-diameter),\n 0\n );\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.indeterminate > .ic-loading-circular-inner .left,\n.indeterminate > .ic-loading-circular-inner .right {\n display: none;\n}\n\n.determinate > .ic-loading-circular-inner .left {\n transform: rotate(var(--circular-rotation));\n}\n\n.determinate > .ic-loading-circular-inner .right {\n transform: rotate(180deg);\n}\n\n.determinate > .ic-loading-circular-inner.clip .right {\n display: none;\n}\n\n.ic-loading-circular-outer::before {\n content: \"\";\n height: var(--circular-line-width);\n width: var(--circular-line-width);\n border-radius: 50%;\n background-color: var(--inner-color);\n position: absolute;\n display: block;\n top: calc(50% - var(--circular-line-width) / 2);\n}\n\n.ic-loading-circular-outer::after {\n content: \"\";\n height: var(--circular-line-width);\n width: var(--circular-line-width);\n border-radius: 50%;\n background-color: var(--inner-color);\n position: absolute;\n display: block;\n top: 0;\n left: calc(50% - var(--circular-line-width) / 2);\n}\n\n.ic-loading-circular-outer.determinate::before,\n.ic-loading-circular-outer.determinate::after {\n display: none;\n}\n\n@keyframes circular-animation {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.ic-loading-circular-outer,\n.ic-loading-linear-outer {\n margin: var(--margin);\n}\n\n.ic-loading-linear-outer {\n background-color: var(--outer-color);\n height: var(--linear-line-height);\n width: 100%;\n border-radius: var(--linear-border-radius);\n overflow: hidden;\n}\n\n.ic-loading-linear-inner {\n position: relative;\n height: 100%;\n background-color: var(--inner-color);\n border-radius: var(--linear-border-radius);\n}\n\n.indeterminate > .ic-loading-linear-inner {\n animation: linear-animation 2s infinite;\n}\n\n.determinate > .ic-loading-linear-inner {\n transition: width 0.5s;\n width: var(--linear-width);\n}\n\n:host([variant=\"full-width\"]) {\n --linear-border-radius: none;\n}\n\n@keyframes linear-animation {\n 0% {\n width: 0%;\n left: -1%;\n }\n\n 25% {\n width: 0%;\n left: -1%;\n }\n\n 50% {\n width: 101%;\n left: -1%;\n }\n\n 75% {\n width: 0%;\n left: 101%;\n }\n\n 100% {\n width: 0%;\n left: 101%;\n }\n}\n\n:host(.dark) {\n --inner-color: var(--ic-architectural-white);\n --outer-color: var(--ic-architectural-800);\n --label-color: var(--ic-architectural-white);\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\nimport {\n IcLoadingSizes,\n IcLoadingTypes,\n IcLoadingVariants,\n} from \"./ic-loading-indicator.types\";\n\n@Component({\n tag: \"ic-loading-indicator\",\n styleUrl: \"ic-loading-indicator.css\",\n shadow: true,\n})\nexport class LoadingIndicator {\n @Element() host: HTMLIcLoadingIndicatorElement;\n\n /**\n * The current amount of progress made.\n * If not provided, component acts as an indeterminate loading indicator.\n */\n @Prop() progress?: number;\n\n /**\n * The minimum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() min?: number = 0;\n\n /**\n * The maximum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() max?: number = 100;\n\n /**\n * The label to be displayed beneath the loading indicator.\n * Display a changing label by separating multiple messages with forward slashes.\n */\n @Prop() label?: string;\n\n /**\n * Provide a description to be set as the aria-label of the loading indicator when not using a visible label.\n */\n @Prop() description?: string = \"Loading\";\n\n /**\n * The time in milliseconds before the label changes.\n */\n @Prop() labelDuration?: number = 8000;\n\n /**\n * The size of the loading indicator.\n */\n @Prop({ reflect: true }) size?: IcLoadingSizes = \"default\";\n\n /**\n * The type of indicator, either linear or circular.\n */\n @Prop({ reflect: true }) type?: IcLoadingTypes = \"circular\";\n\n /**\n * The variant of indicator, either default or full-width.\n */\n @Prop({ reflect: true }) variant?: IcLoadingVariants = \"default\";\n\n /**\n * Determines whether the dark variant of the loading indicator should be displayed.\n */\n @Prop() dark?: boolean = false;\n\n @State() indicatorLabel: string;\n @State() indeterminate: boolean;\n @State() showSecond: boolean = false;\n\n @Watch(\"label\")\n watchPropHandler(): void {\n this.updateLabel();\n }\n\n private outerElement?: HTMLDivElement;\n private innerElement?: HTMLDivElement;\n private labelList: string[];\n\n private getLabel = (\n labelIndex: number,\n setLabel: (label: string) => void\n ) => {\n return new Promise(() => {\n setInterval(() => {\n if (labelIndex < this.labelList.length - 1) {\n labelIndex++;\n } else {\n labelIndex = 0;\n }\n setLabel(this.labelList[labelIndex]);\n }, this.labelDuration);\n });\n };\n\n private getLabelVariant = () => {\n let variant: \"label\" | \"h4\" | \"h2\" = \"h4\";\n const width = this.outerElement?.offsetWidth;\n if (this.size === \"small\" || (this.type === \"circular\" && width < 60)) {\n variant = \"label\";\n } else if (\n this.size === \"large\" ||\n (this.type === \"circular\" && width >= 120)\n ) {\n variant = \"h2\";\n }\n return variant;\n };\n\n // Sets the circular indicator line width - accounting for the circle size being altered using the CSS custom property\n private setCircleLineWidth = () => {\n const width = this.outerElement?.offsetWidth;\n if (width) {\n this.outerElement.style.setProperty(\n \"--circular-line-width\",\n `${width * 0.1}px`\n );\n }\n };\n\n private setDeterminateWidth = () => {\n if (!this.innerElement) return;\n // Ensure progress cannot be out of bounds\n\n const progress = Math.min(this.max, Math.max(this.min, this.progress));\n const proportion = (progress - this.min) / (this.max - this.min);\n this.showSecond = proportion > 0.5;\n if (this.showSecond) {\n this.innerElement.classList.remove(\"clip\");\n } else {\n this.innerElement.classList.add(\"clip\");\n }\n this.innerElement.style.setProperty(\n \"--circular-rotation\",\n `${proportion * 360}deg`\n );\n this.innerElement.style.setProperty(\n \"--linear-width\",\n `${proportion * 100}%`\n );\n };\n\n private calcOuterClass = (): string => {\n let cls = `ic-loading-${this.type}-outer`;\n cls += this.indeterminate ? \" indeterminate\" : \" determinate\";\n return cls;\n };\n\n private updateLabel = (): void => {\n if (this.label !== undefined) {\n this.labelList = this.label.split(\"/\");\n const labelIndex = 0;\n this.indicatorLabel = this.labelList[labelIndex];\n if (this.labelList.length > 1) {\n this.getLabel(labelIndex, (label) => {\n this.indicatorLabel = label;\n });\n }\n }\n };\n\n componentWillLoad(): void {\n this.indeterminate = this.progress === undefined;\n this.updateLabel();\n }\n\n componentDidLoad(): void {\n this.setCircleLineWidth();\n if (Number(this.progress) >= 0) {\n this.setDeterminateWidth();\n }\n }\n\n componentWillUpdate(): void {\n this.indeterminate = this.progress === undefined;\n }\n\n componentDidUpdate(): void {\n if (Number(this.progress) >= 0) {\n this.setDeterminateWidth();\n }\n }\n\n render() {\n const { dark, label, description, size } = this;\n return (\n <Host class={{ [\"dark\"]: dark }}>\n <div class=\"ic-loading-container\">\n <div\n ref={(el) => (this.outerElement = el as HTMLDivElement)}\n class={this.calcOuterClass()}\n role=\"progressbar\"\n aria-labelledby={\n this.label && this.size !== \"icon\" && \"ic-loading-label\"\n }\n aria-label={description}\n aria-valuenow={this.progress}\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n >\n <div\n ref={(el) => (this.innerElement = el as HTMLDivElement)}\n class={`ic-loading-${this.type}-inner`}\n >\n {this.indeterminate || <div class=\"left\" />}\n {this.indeterminate || <div class=\"right\" />}\n </div>\n </div>\n {label && size !== \"icon\" && (\n <ic-typography\n id=\"ic-loading-label\"\n class=\"ic-loading-label\"\n role=\"status\"\n variant={this.getLabelVariant()}\n >\n <p>{this.indicatorLabel}</p>\n </ic-typography>\n )}\n </div>\n </Host>\n );\n }\n}\n","@import \"../../global/normalise.css\";\n\n:host(.ic-tooltip) .ic-tooltip-container {\n background-color: var(--ic-architectural-800);\n color: #ffff;\n text-align: center;\n padding: var(--ic-space-xxxs) 10px;\n border-radius: var(--ic-border-radius);\n position: absolute;\n max-width: 320px;\n display: none;\n z-index: calc(var(--ic-z-index-overlay) / 2);\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(.tooltip-navigation-item:not(.tooltip-navigation-item-side-nav-collapsed))\n .ic-tooltip-container {\n display: none !important;\n}\n\n:host(.tooltip-long-label-navigation-item-side-nav-expanded)\n .ic-tooltip-container[data-show] {\n display: block !important;\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow,\n:host(.ic-tooltip) .ic-tooltip-arrow::before {\n position: absolute;\n background: inherit;\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow {\n visibility: hidden;\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow::before {\n visibility: visible;\n content: \"\";\n}\n\n:host(.ic-tooltip) .ic-tooltip-container[data-show] {\n display: block;\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"top\"]\n > .ic-tooltip-arrow {\n bottom: calc(-1 * var(--ic-space-md));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"top\"]\n > .ic-tooltip-arrow::before {\n border-radius: 0 0 var(--ic-border-radius) var(--ic-border-radius);\n left: 0;\n height: var(--ic-space-xxs);\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"bottom\"]\n > .ic-tooltip-arrow {\n top: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"bottom\"]\n > .ic-tooltip-arrow::before {\n border-radius: var(--ic-border-radius) var(--ic-border-radius) 0 0;\n left: 0;\n height: var(--ic-space-xxs);\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"left\"]\n > .ic-tooltip-arrow {\n right: var(--ic-space-xxxs);\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"left\"]\n > .ic-tooltip-arrow::before {\n border-radius: 0 var(--ic-border-radius) var(--ic-border-radius) 0;\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"right\"]\n > .ic-tooltip-arrow {\n left: -14px;\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"right\"]\n > .ic-tooltip-arrow::before {\n border-radius: var(--ic-border-radius) 0 0 var(--ic-border-radius);\n}\n\n:host([element-id=\"ic-button-with-tooltip-search-submit-button\"])\n .ic-tooltip-container,\n:host([element-id=\"ic-button-with-tooltip-clear-button\"])\n .ic-tooltip-container {\n z-index: calc(var(--ic-z-index-popup-menu) + 1);\n}\n","import { Component, Element, Host, Prop, h, Watch } from \"@stencil/core\";\nimport { Instance, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * The id of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop() elementId?: string;\n\n /**\n * The position of the tool-tip in relation to the parent element.\n */\n @Prop() placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n @Watch(\"label\")\n updateLabel(newValue: string): void {\n const describedBySpan = this.el.previousElementSibling as HTMLElement;\n describedBySpan.innerText = newValue;\n }\n\n private toolTip: HTMLDivElement;\n private arrow: HTMLDivElement;\n private mouseOverTool: boolean = false;\n private showEvents = [\"mouseenter\", \"focusin\"];\n private instantHideEvents = [\"focusout\"];\n private delayedHideEvents = [\"mouseleave\"];\n private popperInstance: Instance;\n\n private show = (popper: Instance) => {\n this.toolTip.setAttribute(\"data-show\", \"\");\n popper.setOptions((options) => ({\n ...options,\n modifiers: [\n ...options.modifiers,\n { name: \"eventListeners\", enabled: true },\n ],\n }));\n popper.update();\n };\n\n private hide = (popper: Instance) => {\n this.toolTip.removeAttribute(\"data-show\");\n popper.setOptions((options) => ({\n ...options,\n modifiers: [\n ...options.modifiers,\n { name: \"eventListeners\", enabled: false },\n ],\n }));\n };\n\n private checkCloseTooltip = (popper: Instance) => {\n setTimeout(() => {\n if (!this.mouseOverTool) {\n this.hide(popper);\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = (popper: Instance) => {\n this.mouseOverTool = false;\n this.checkCloseTooltip(popper);\n };\n\n private handleKeyDown = (key: string) => {\n if (key === \"Escape\") {\n this.hide(this.popperInstance);\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n this.el[method](event, () => this.show(this.popperInstance));\n this.toolTip[method](event, () => this.mouseEnterTooltip());\n });\n\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, () => this.hide(this.popperInstance));\n });\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, () => this.checkCloseTooltip(this.popperInstance));\n this.toolTip[method](event, () =>\n this.mouseLeaveTooltip(this.popperInstance)\n );\n });\n\n document[method](\"keydown\", (event: KeyboardEvent) =>\n this.handleKeyDown(event.key)\n );\n };\n\n private screenReaderOnlyStyles = {\n position: \"absolute\",\n left: \"-10000px\",\n top: \"auto\",\n width: \"1px\",\n height: \"1px\",\n overflow: \"hidden\",\n };\n\n componentDidLoad(): void {\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n ],\n });\n\n this.manageEventListeners(\"add\");\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n\n if (this.elementId !== undefined) {\n const ariaDescribedBy = document.createElement(\"span\");\n ariaDescribedBy.id = `ic-tooltip-${this.elementId}`;\n ariaDescribedBy.innerText = this.label;\n ariaDescribedBy.classList.add(\"ic-tooltip-label\");\n Object.assign(ariaDescribedBy.style, this.screenReaderOnlyStyles);\n\n this.el.insertAdjacentElement(\"beforebegin\", ariaDescribedBy);\n }\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n }\n\n render() {\n const { label } = this;\n return (\n <Host class={{ \"ic-tooltip\": true }}>\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n >\n <ic-typography variant=\"caption\">{label}</ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n data-popper-arrow\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/ic-card/ic-card.css?tag=ic-card&encapsulation=shadow","src/components/ic-card/ic-card.tsx"],"names":["icCardCss","Card","this","parentFocussed","isFocussed","parentBlurred","[object Object]","event","disabled","stopImmediatePropagation","parentEl","el","parentElement","tagName","clickable","parentIsAnchorTag","classList","add","addEventListener","removeEventListener","onComponentRequiredPropUndefined","prop","heading","propName","message","href","hreflang","referrerpolicy","rel","target","fullWidth","Component","undefined","attrs","hrefLang","referrerPolicy","h","Object","assign","class","tabindex","aria-disabled","isSlotUsed","name","variant"],"mappings":"wFAAA,MAAMA,EAAY,ojICgBLC,EAAI,+BAyDPC,KAAAC,eAAiB,KACvBD,KAAKE,WAAa,MAGZF,KAAAG,cAAgB,KACtBH,KAAKE,WAAa,sBAxD2B,wCAQnB,8GAoBD,iBAIE,qBAIA,6BAES,sBAEP,oBAES,KAGxCE,gBAAgBC,GACd,GAAIL,KAAKM,SAAU,CACjBD,EAAME,4BAYVH,oBACEJ,KAAKQ,SAAWR,KAAKS,GAAGC,cAExB,GAAIV,KAAKQ,SAASG,UAAY,IAAK,CACjCX,KAAKY,UAAY,KACjBZ,KAAKa,kBAAoB,KACzBb,KAAKQ,SAASM,UAAUC,IAAI,wBAC5Bf,KAAKQ,SAASQ,iBAAiB,QAAShB,KAAKC,gBAC7CD,KAAKQ,SAASQ,iBAAiB,OAAQhB,KAAKG,gBAIhDC,uBACE,GAAIJ,KAAKa,kBAAmB,CAC1Bb,KAAKQ,SAASS,oBAAoB,QAASjB,KAAKC,gBAChDD,KAAKQ,SAASS,oBAAoB,OAAQjB,KAAKG,gBAInDC,mBACEc,EACE,CAAC,CAAEC,KAAMnB,KAAKoB,QAASC,SAAU,YACjC,QAIJjB,SACE,MAAMQ,UACJA,EAASN,SACTA,EAAQc,QACRA,EAAOE,QACPA,EAAOC,KACPA,EAAIC,SACJA,EAAQC,eACRA,EAAcC,IACdA,EAAGC,OACHA,EAAMC,UACNA,EAASf,kBACTA,EAAiBX,WACjBA,GACEF,KAEJ,MAAM6B,EAAYhB,EACd,MACAD,EACAZ,KAAKuB,OAASO,UACZ,SACA,IACF,MAEJ,MAAMC,EAAQF,GAAa,KAAO,CAChCN,KAAMA,EACNS,SAAUR,EACVS,eAAgBR,EAChBC,IAAKA,EACLC,OAAQA,GAGV,OACEO,EAACL,EAASM,OAAAC,OAAA,CACRC,MAAO,CACLjC,CAAC,QAAS,KACVA,CAAC,aAAcQ,IAAcN,EAC7BF,CAAC,YAAaE,EACdF,CAAC,aAAcwB,EACfxB,CAAC,YAAaF,GAEhBoC,SAAU1B,IAAcC,EAAoB,EAAI,KAAI0B,gBACrCjC,EAAW,OAAS,KACnCA,SAAUA,EAAW,KAAO,MACxByB,GAEJG,EAAA,MAAA,CAAKG,MAAM,eACRG,EAAWxC,KAAKS,GAAI,SACnByB,EAAA,MAAA,CAAKG,MAAM,QACTH,EAAA,OAAA,CAAMO,KAAK,UAGfP,EAAA,MAAA,CAAKG,MAAM,cACTH,EAAA,OAAA,CAAMO,KAAK,WACTP,EAAA,gBAAA,CAAeQ,QAAQ,MACrBR,EAAA,IAAA,KAAId,QAKVE,GAAWkB,EAAWxC,KAAKS,GAAI,aAC/ByB,EAAA,MAAA,CAAKG,MAAM,gBACTH,EAAA,OAAA,CAAMO,KAAK,WACTP,EAAA,gBAAA,CAAeQ,QAAQ,kBAAkBpB","sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-architechtural-black) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: none;\n}\n\n.card,\n.card.clickable {\n border: 1px solid var(--ic-architectural-300);\n border-radius: var(--ic-border-radius);\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-architechtural-black);\n transition: var(--ic-easing-transition-fast);\n}\n\n.card.clickable:hover {\n background-color: var(--ic-action-default-bg-hover);\n border-color: var(--ic-action-default-hover);\n cursor: pointer;\n}\n\n.card.clickable:focus,\n.card.clickable.focussed {\n background-color: var(--ic-action-default-bg-hover);\n box-shadow: var(--ic-border-focus);\n outline: none;\n}\n\n.card.clickable:active {\n background-color: var(--ic-action-default-bg-active);\n box-shadow: var(--ic-border-focus);\n}\n\n.card.disabled {\n border: var(--ic-border-disabled);\n}\n\n.card.fullwidth {\n width: 100%;\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n padding-right: var(--ic-space-xs);\n}\n\n.card.clickable ::slotted(svg) {\n fill: var(--ic-action-default);\n}\n\n.card.disabled ::slotted(svg) {\n fill: var(--ic-color-tertiary-text);\n}\n\n.card.clickable .card-title {\n color: var(--ic-hyperlink);\n text-decoration: underline;\n text-decoration-thickness: 1px;\n}\n\n.card.clickable:hover .card-title {\n color: var(--ic-hyperlink-hover) !important;\n text-decoration: none;\n}\n\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n color: var(--ic-hyperlink-hover);\n}\n\n.card.clickable:active .card-title {\n color: var(--ic-hyperlink-hover);\n}\n\n.card.disabled .card-title {\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-decoration-color: var(--ic-color-tertiary-text);\n color: var(--ic-color-tertiary-text);\n}\n\n.card-message {\n margin-top: var(--ic-space-xxs);\n align-items: left;\n}\n\n.card.disabled .card-message {\n color: var(--ic-color-tertiary-text);\n}\n","import { Component, Element, Listen, Prop, State, h } from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n} from \"../../utils/helpers\";\n\n/**\n * @slot icon - Content will be placed to the left of the card title.\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n */\n@Component({\n tag: \"ic-card\",\n styleUrl: \"ic-card.css\",\n shadow: true,\n})\nexport class Card {\n @Element() el: HTMLIcCardElement;\n\n /**\n * Set the variant to static or clickable\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n /**\n * URL for clickable cards\n */\n @Prop() href?: string | undefined;\n /**\n * Human readable explanation of the URL\n */\n @Prop() hreflang?: string = \"\";\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * Where to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * Title for the card\n */\n @Prop() heading!: string;\n /**\n * Main body message of the card\n */\n @Prop() message?: string = \"\";\n /**\n * Whether the card is disabled if it is clickable\n */\n @Prop() disabled?: boolean = false;\n /**\n * If true then fill width of container\n */\n @Prop() fullWidth: boolean = false;\n\n @State() parentIsAnchorTag: boolean = false;\n\n @State() isFocussed: boolean = false;\n\n @State() parentEl: HTMLElement | null = null;\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n }\n\n disconnectedCallback(): void {\n if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n }\n\n render() {\n const {\n clickable,\n disabled,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n fullWidth,\n parentIsAnchorTag,\n isFocussed,\n } = this;\n\n const Component = parentIsAnchorTag\n ? \"div\"\n : clickable\n ? this.href === undefined\n ? \"button\"\n : \"a\"\n : \"div\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Component\n class={{\n [\"card\"]: true,\n [\"clickable\"]: clickable && !disabled,\n [\"disabled\"]: disabled,\n [\"fullwidth\"]: fullWidth,\n [\"focussed\"]: isFocussed,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : null}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled ? true : null}\n {...attrs}\n >\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n </div>\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n <slot name=\"message\">\n <ic-typography variant=\"subtitle-small\">{message}</ic-typography>\n </slot>\n </div>\n )}\n </Component>\n );\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import{r as i,h as t,H as e,g as o,c as s}from"./p-f9370be6.js";import{i as n,w as a,a as r}from"./p-e5a09372.js";import{s as c}from"./p-ae6aa67f.js";import{C as l}from"./p-1e7b4310.js";import{c as h}from"./p-ec26fc38.js";const d="ic-input-component-container{display:flex;border:1px solid var(--border-color, var(--ic-architectural-400));border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-slow);height:40px;width:var(--input-width, 320px);padding:1px;background-color:var(--ic-architectural-white);box-sizing:border-box;position:relative;fill:var(--ic-architectural-400)}ic-input-component-container.fullwidth{width:100%}ic-input-component-container.disabled,ic-input-component-container.disabled:hover{border:1px dashed var(--ic-architectural-200)}ic-input-component-container.readonly,ic-input-component-container.readonly:hover{border:none;padding:0}ic-input-component-container.error{border:var(--ic-space-xxxs) solid var(--ic-status-error);padding:0}ic-input-component-container.warning{border:var(--ic-space-xxxs) solid var(--ic-status-warning-mid);padding:0}ic-input-component-container.success{border:var(--ic-space-xxxs) solid var(--ic-status-success);padding:0}ic-input-component-container.dense{height:var(--ic-space-xl)}ic-input-component-container.multiline{height:auto}ic-input-component-container .icon-container{margin-top:var(--ic-space-xxs);margin-left:7px;display:flex;align-items:center}ic-input-component-container.multiline .icon-container,ic-input-component-container.multiline.dense .icon-container{margin-top:6px;display:block}ic-input-component-container.readonly .icon-container{margin-left:-5px}ic-input-component-container.disabled ::-moz-placeholder{display:none}ic-input-component-container.disabled ::placeholder{display:none}ic-input-component-container .inline-success{margin:var(--ic-space-xs) 6px;display:flex;align-items:center}ic-input-component-container.dark:hover{--border-color:var(--ic-architectural-400)}ic-input-component-container .inline-success>svg{fill:var(--ic-status-success)}ic-input-component-container:hover{border-color:var(--ic-action-dark-hover);color:var(--ic-action-dark-hover);--expand-icon-hover:var(--ic-action-dark-hover)}.focus-indicator{display:flex;width:100%;margin:-3px;padding:3px;border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.focus-indicator:focus-within{box-shadow:var(--ic-border-focus)}.focus-indicator.dark:focus-within{box-shadow:var(--ic-border-focus)}";const p=class{constructor(t){i(this,t);this.disabled=false;this.readonly=false;this.validationStatus="";this.dense=false;this.multiLine=false;this.validationInline=false;this.dark=false;this.fullWidth=false}render(){const{dense:i,validationStatus:o,disabled:s,readonly:r,multiLine:l,fullWidth:h,dark:d,validationInline:p}=this;const u=this.validationStatus!==""&&!this.disabled&&!this.readonly?true:false;return t(e,{class:{["dense"]:i,[o]:u,["disabled"]:s,["readonly"]:r,["multiline"]:l,["fullwidth"]:h,["dark"]:d}},t("div",{class:{"focus-indicator":true,dark:d}},n(this.host,"left-icon")&&t("div",{class:{["icon-container"]:true}},t("slot",{name:"left-icon"})),t("slot",null),p&&o===a.Success&&t("span",{class:{["inline-success"]:true},innerHTML:c})))}get host(){return o(this)}};p.style=d;const u="ic-input-container .component-container{display:flex;flex-direction:column;position:relative}";const f=class{constructor(t){i(this,t);this.disabled=false;this.readonly=false}render(){return t(e,null,t("div",{class:{["component-container"]:true,["disabled"]:this.disabled,["readonly"]:this.readonly}},t("slot",null)))}};f.style=u;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}@media (prefers-reduced-motion: no-preference){:host([open]) .menu{transition:max-height var(--ic-transition-duration-slow)}}:host{border-radius:var(--ic-border-radius);max-height:0;width:var(--input-width, 320px);color:var(--ic-color-primary-text);background-color:var(--ic-architectural-white);position:relative;z-index:var(--ic-z-index-popup-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay)}:host(:focus-within){box-shadow:var(--ic-border-focus)}.menu{text-decoration:none;list-style-type:none;border:1px solid var(--ic-architectural-400);border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);visibility:hidden;max-height:0;overflow-y:hidden}.menu-scroll{overflow-y:auto}.menu:focus-visible{outline:none}:host([open]){max-height:none;display:block}:host([open]) .menu{visibility:visible;max-height:322px}:host(.full-width){width:100%}.option{padding:8px 7px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}:host([dense]) .option{padding:4px 7px}.option:last-child{border-radius:0 0 1px 1px}.option:first-child{border-radius:1px 1px 0 0}.option:not(.disabled-option):hover{background-color:var(--ic-action-dark-bg-hover)}.option:not(.disabled-option):active{background-color:var(--ic-action-dark-bg-active)}.option:focus-visible{outline:none}.option:not(.disabled-option) .option-description{color:var(--ic-color-secondary-text)}.option-text-container{pointer-events:none}.check-icon{height:24px;margin-left:8px;pointer-events:none}.focused-option .check-icon *{fill:white}.option-group-title{padding:24px 7px 8px;color:var(--ic-color-tertiary-text)}:host([dense]) .option-group-title{padding:12px 7px 4px}.last-recommended-option{border-bottom:1px solid var(--ic-architectural-400)}.disabled-option{color:var(--ic-architectural-200);cursor:default;pointer-events:none}.focused-option{background-color:var(--ic-focus-blue) !important;color:var(--ic-color-white-text) !important}:host(.no-results) li{cursor:no-drop}:host(.no-results) li:hover{background-color:transparent}';const m=class{constructor(e){i(this,e);this.optionSelect=s(this,"optionSelect",7);this.menuChange=s(this,"menuChange",7);this.menuOptionId=s(this,"menuOptionId",7);this.ungroupedOptions=[];this.preventClickOpen=false;this.handleMenuChange=(i,t)=>{if(!i)this.popperInstance.destroy();this.menuChange.emit({open:i,focusInput:t});if(!i&&t!==false){this.inputEl.focus();this.preventClickOpen=false}};this.setNextOptionValue=i=>{if(this.ungroupedOptions[i+1]){this.optionSelect.emit({value:this.ungroupedOptions[i+1].value})}else{this.optionSelect.emit({value:this.ungroupedOptions[0].value})}};this.setPreviousOptionValue=i=>{if(this.ungroupedOptions[i-1]){this.optionSelect.emit({value:this.ungroupedOptions[i-1].value})}else{this.optionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1].value})}};this.arrowBehaviour=i=>{i.preventDefault();this.handleMenuChange(true)};this.setHighlightedOption=i=>{this.optionHighlighted=this.options[i].value||undefined};this.autoSetInputValueKeyboardOpen=i=>{const t=this.ungroupedOptions.findIndex((i=>i.value===this.value));switch(i.key){case"ArrowDown":this.arrowBehaviour(i);this.setNextOptionValue(t);break;case"ArrowUp":this.arrowBehaviour(i);this.setPreviousOptionValue(t);break;case" ":case"Enter":if(i.target.id!=="clear-button"){if(this.value==null||this.value===""){this.optionSelect.emit({value:this.ungroupedOptions[0].value})}this.handleMenuChange(true)}break}};this.manSetInputValueKeyboardOpen=i=>{const t=this.options.findIndex((i=>i.value===this.optionHighlighted));this.menuOptionId.emit({optionId:undefined});const e=i=>Array.from(this.host.shadowRoot.querySelectorAll("li"))[i].id;const o=this.parentEl.tagName==="IC-SEARCH-BAR";switch(i.key){case"ArrowDown":this.arrowBehaviour(i);if(t<this.options.length-1){this.setHighlightedOption(t+1);this.menuOptionId.emit({optionId:e(t+1)})}else{this.setHighlightedOption(0)}this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"ArrowUp":this.arrowBehaviour(i);if(t<=0||t>this.options.length+1){this.setHighlightedOption(this.options.length-1);this.menuOptionId.emit({optionId:e(this.options.length-1)})}else{this.setHighlightedOption(t-1);this.menuOptionId.emit({optionId:e(t-1)})}this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case" ":case"Enter":i.preventDefault();this.setInputValue(t);break;case"Escape":this.handleMenuChange(false);this.menuOptionId.emit({optionId:undefined});break;case"Shift":case"Tab":this.preventIncorrectTabOrder=true;break;case"Backspace":if(o){this.parentEl.setFocus();this.focusFromSearchKeypress=true;this.setHighlightedOption(0)}break;default:if(o&&i.key!=="Tab"){this.parentEl.setFocus();this.focusFromSearchKeypress=true;this.setHighlightedOption(0)}break}};this.setInputValue=i=>{var t;if(this.options[i]){this.optionSelect.emit({value:(t=this.options[i])===null||t===void 0?void 0:t.value});this.optionHighlighted=undefined;this.menuOptionId.emit({optionId:undefined})}this.handleMenuChange(false)};this.handleOptionClick=i=>{const{value:t,label:e}=i.target.dataset;this.optionSelect.emit({value:t,label:e});this.handleMenuChange(false)};this.handleBlur=i=>{if(i.relatedTarget!==this.inputEl){if(!this.menu.contains(i.relatedTarget)){this.handleMenuChange(false,false)}}else{this.handleMenuChange(false);this.preventClickOpen=true}};this.handleMenuKeyDown=i=>{if(this.activationType==="automatic"){this.autoSetValueOnMenuKeyDown(i)}};this.autoSetValueOnMenuKeyDown=i=>{const t=this.ungroupedOptions.findIndex((i=>i.value===this.value));switch(i.key){case"ArrowUp":i.preventDefault();this.setPreviousOptionValue(t);this.keyboardNav=true;break;case"ArrowDown":i.preventDefault();this.setNextOptionValue(t);this.keyboardNav=true;break;case"Home":this.optionSelect.emit({value:this.ungroupedOptions[0].value});this.keyboardNav=true;break;case"End":this.optionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1].value});this.keyboardNav=true;break;case" ":case"Enter":case"Escape":this.handleMenuChange(false);break}};this.handleMenuKeyUp=i=>{if(i.key==="Tab"&&i.shiftKey){this.preventClickOpen=false}};this.getOptionId=i=>`${this.menuId}-${i}`;this.getOptionAriaLabel=(i,t)=>{let e=i.label;if(i.description){e=`${e}, ${i.description}`}if(t){return`${e}, ${t.label} group`}else{return e}};this.getSortedOptions=i=>i.sort(((i,t)=>i.recommended&&!t.recommended?-1:0));this.isManualMode=this.activationType==="manual";this.scrollToSelected=i=>{const t=i.querySelector(".option[aria-selected]");if(t){const e=t.offsetTop+t.offsetHeight;if(e>i.scrollTop+i.offsetHeight||e<i.scrollTop+i.offsetHeight){i.scrollTop=t.offsetTop}t.focus()}};this.displayOption=(i,e,o)=>{const{open:s,value:n}=this;return t("li",{id:this.getOptionId(i.value),class:{option:true,"focused-option":this.isManualMode?(this.keyboardNav||this.initialOptionsListRender)&&i.value===this.optionHighlighted:this.keyboardNav&&i.value===n,"last-recommended-option":i.recommended&&!this.options[e+1].recommended,"disabled-option":i.disabled},role:"option",tabindex:s&&(i.value===n||i.value===this.optionHighlighted)&&this.keyboardNav?"0":"-1","aria-label":this.getOptionAriaLabel(i,o),"aria-selected":i.value===n,"aria-disabled":i.disabled?"true":"false",onClick:this.handleOptionClick,onBlur:this.handleBlur,"data-value":i.value,"data-label":i.label},t("div",{class:"option-text-container"},t("ic-typography",{variant:"body","aria-hidden":"true"},t("p",null,i.label)),i.description&&t("ic-typography",{id:"description",class:"option-description",variant:"caption","aria-hidden":"true"},t("p",null,i.description))),i.value===n&&this.parentEl.tagName!=="IC-SEARCH-BAR"&&t("span",{class:"check-icon",innerHTML:l}))};this.open=undefined;this.options=undefined;this.dense=false;this.menuId=undefined;this.value=undefined;this.activationType="automatic";this.inputEl=undefined;this.parentEl=undefined;this.inputLabel=undefined;this.anchorEl=undefined;this.fullWidth=false;this.autoFocusOnSelected=true;this.keyboardNav=false;this.optionHighlighted=undefined;this.focusFromSearchKeypress=false;this.initialOptionsListRender=false;this.preventIncorrectTabOrder=false}handleClearListener(){this.optionHighlighted=""}handleSubmitSearch(){const i=this.options.findIndex((i=>i.value===this.optionHighlighted));this.setInputValue(i)}async handleClickOpen(){if(!this.preventClickOpen){this.menuChange.emit({open:!this.open});this.keyboardNav=false}this.preventClickOpen=false}async handleKeyboardOpen(i){this.keyboardNav=true;if(this.activationType==="automatic"){this.autoSetInputValueKeyboardOpen(i)}else{this.manSetInputValueKeyboardOpen(i)}}async handleSetFirstOption(){this.setHighlightedOption(0)}connectedCallback(){var i;if(((i=this.parentEl)===null||i===void 0?void 0:i.tagName)==="IC-SEARCH-BAR"){this.setHighlightedOption(0);this.initialOptionsListRender=true}}componentWillLoad(){if(this.options.length>0){this.options.map((i=>{if(i.children){i.children.map((i=>!i.disabled&&this.ungroupedOptions.push(i)))}else if(!i.disabled){this.ungroupedOptions.push(i)}}))}this.ungroupedOptions=this.getSortedOptions(this.ungroupedOptions)}componentDidLoad(){let i=0;this.host.shadowRoot.querySelectorAll(".option").forEach((t=>i+=t.clientHeight));if(i>320){this.menu.classList.add("menu-scroll")}r([{prop:this.open,propName:"open"},{prop:this.options,propName:"options"},{prop:this.menuId,propName:"menu-id"},{prop:this.inputLabel,propName:"input-label"}],"Menu")}componentDidRender(){if(this.open){this.popperInstance=h(this.anchorEl,this.host,{placement:"bottom",modifiers:[{name:"offset",options:{offset:[0,7]}},{name:"flip",options:{fallbackPlacements:["top"],rootBoundary:"viewport"}}]})}}componentDidUpdate(){const i=this.options.some((i=>i.value===this.value));const t=this.optionHighlighted!==null&&this.optionHighlighted!==undefined&&this.optionHighlighted!=="";if(this.open&&this.options.length!==0){if(this.value&&this.keyboardNav&&i&&this.autoFocusOnSelected){this.scrollToSelected(this.menu)}else if(this.inputEl.tagName!=="IC-TEXT-FIELD"){this.menu.focus()}else if(t&&!this.focusFromSearchKeypress&&!this.preventIncorrectTabOrder){const i=this.host.shadowRoot.querySelector(`li[data-value="${this.optionHighlighted}"]`);if(i){i.focus()}}}}render(){const{inputLabel:i,options:o,menuId:s,value:n,fullWidth:a}=this;return t(e,{class:{"full-width":a}},o.length!==0&&t("ul",{id:s,class:"menu",role:"listbox","aria-label":i,"aria-activedescendant":n!=null&&n!==""?this.getOptionId(n):"",tabindex:open&&!this.keyboardNav?"0":"-1",ref:i=>this.menu=i,onKeyDown:this.handleMenuKeyDown,onKeyUp:this.handleMenuKeyUp,onBlur:this.handleBlur},this.getSortedOptions(o).map(((i,e)=>{if(i.children){return t("div",null,t("ic-typography",{class:"option-group-title",role:"presentation",variant:"subtitle-small"},t("p",null,i.label)),i.children.map((t=>this.displayOption(t,e,i))))}else{return this.displayOption(i,e)}}))))}get host(){return o(this)}};m.style=b;export{p as ic_input_component_container,f as ic_input_container,m as ic_menu};
2
- //# sourceMappingURL=p-856d9516.entry.js.map