@haiilo/catalyst 8.1.0 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/dist/catalyst/catalyst.css +4 -9
  2. package/dist/catalyst/catalyst.esm.js +1 -1
  3. package/dist/catalyst/catalyst.esm.js.map +1 -1
  4. package/dist/catalyst/index.esm.js +2 -2
  5. package/dist/catalyst/{p-85d057f0.js → p-6ae13953.js} +1 -1
  6. package/dist/catalyst/p-6cd4fa1e.js +3 -0
  7. package/dist/catalyst/p-6cd4fa1e.js.map +1 -0
  8. package/dist/catalyst/p-a05fbea3.entry.js +10 -0
  9. package/dist/catalyst/p-a05fbea3.entry.js.map +1 -0
  10. package/dist/catalyst/scss/core/_dialog.scss +1 -1
  11. package/dist/catalyst/scss/core/_form.scss +2 -1
  12. package/dist/catalyst/scss/core/_typography.scss +1 -7
  13. package/dist/cjs/cat-alert_26.cjs.entry.js +3899 -3883
  14. package/dist/cjs/cat-alert_26.cjs.entry.js.map +1 -1
  15. package/dist/cjs/catalyst.cjs.js +3 -3
  16. package/dist/cjs/catalyst.cjs.js.map +1 -1
  17. package/dist/cjs/{index-1e7eef7e.js → index-eb056d5e.js} +51 -13
  18. package/dist/cjs/index-eb056d5e.js.map +1 -0
  19. package/dist/cjs/index.cjs.js +73 -73
  20. package/dist/cjs/index.cjs.js.map +1 -1
  21. package/dist/cjs/loader.cjs.js +2 -2
  22. package/dist/cjs/{of-395b2f57.js → of-2b7161d2.js} +155 -155
  23. package/dist/cjs/of-2b7161d2.js.map +1 -0
  24. package/dist/collection/collection-manifest.json +1 -1
  25. package/dist/collection/components/cat-alert/cat-alert.e2e.js +7 -7
  26. package/dist/collection/components/cat-alert/cat-alert.e2e.js.map +1 -1
  27. package/dist/collection/components/cat-alert/cat-alert.js +98 -98
  28. package/dist/collection/components/cat-alert/cat-alert.js.map +1 -1
  29. package/dist/collection/components/cat-alert/cat-alert.spec.js +7 -7
  30. package/dist/collection/components/cat-alert/cat-alert.spec.js.map +1 -1
  31. package/dist/collection/components/cat-avatar/cat-avatar.e2e.js +6 -6
  32. package/dist/collection/components/cat-avatar/cat-avatar.e2e.js.map +1 -1
  33. package/dist/collection/components/cat-avatar/cat-avatar.js +218 -218
  34. package/dist/collection/components/cat-avatar/cat-avatar.js.map +1 -1
  35. package/dist/collection/components/cat-avatar/cat-avatar.spec.js +7 -7
  36. package/dist/collection/components/cat-avatar/cat-avatar.spec.js.map +1 -1
  37. package/dist/collection/components/cat-badge/cat-badge.e2e.js +6 -6
  38. package/dist/collection/components/cat-badge/cat-badge.e2e.js.map +1 -1
  39. package/dist/collection/components/cat-badge/cat-badge.js +117 -117
  40. package/dist/collection/components/cat-badge/cat-badge.js.map +1 -1
  41. package/dist/collection/components/cat-badge/cat-badge.spec.js +7 -7
  42. package/dist/collection/components/cat-badge/cat-badge.spec.js.map +1 -1
  43. package/dist/collection/components/cat-button/cat-button.css +2 -1
  44. package/dist/collection/components/cat-button/cat-button.e2e.js +6 -6
  45. package/dist/collection/components/cat-button/cat-button.e2e.js.map +1 -1
  46. package/dist/collection/components/cat-button/cat-button.js +693 -693
  47. package/dist/collection/components/cat-button/cat-button.js.map +1 -1
  48. package/dist/collection/components/cat-button/cat-button.spec.js +7 -7
  49. package/dist/collection/components/cat-button/cat-button.spec.js.map +1 -1
  50. package/dist/collection/components/cat-button-group/cat-button-group.e2e.js +6 -6
  51. package/dist/collection/components/cat-button-group/cat-button-group.e2e.js.map +1 -1
  52. package/dist/collection/components/cat-button-group/cat-button-group.js +47 -47
  53. package/dist/collection/components/cat-button-group/cat-button-group.js.map +1 -1
  54. package/dist/collection/components/cat-button-group/cat-button-group.spec.js +7 -7
  55. package/dist/collection/components/cat-button-group/cat-button-group.spec.js.map +1 -1
  56. package/dist/collection/components/cat-card/cat-card.e2e.js +6 -6
  57. package/dist/collection/components/cat-card/cat-card.e2e.js.map +1 -1
  58. package/dist/collection/components/cat-card/cat-card.js +15 -15
  59. package/dist/collection/components/cat-card/cat-card.js.map +1 -1
  60. package/dist/collection/components/cat-card/cat-card.spec.js +7 -7
  61. package/dist/collection/components/cat-card/cat-card.spec.js.map +1 -1
  62. package/dist/collection/components/cat-checkbox/cat-checkbox.css +2 -1
  63. package/dist/collection/components/cat-checkbox/cat-checkbox.e2e.js +6 -6
  64. package/dist/collection/components/cat-checkbox/cat-checkbox.e2e.js.map +1 -1
  65. package/dist/collection/components/cat-checkbox/cat-checkbox.js +441 -441
  66. package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +1 -1
  67. package/dist/collection/components/cat-checkbox/cat-checkbox.spec.js +7 -7
  68. package/dist/collection/components/cat-checkbox/cat-checkbox.spec.js.map +1 -1
  69. package/dist/collection/components/cat-datepicker/cat-datepicker.config.js +62 -62
  70. package/dist/collection/components/cat-datepicker/cat-datepicker.config.js.map +1 -1
  71. package/dist/collection/components/cat-datepicker/cat-datepicker.e2e.js +7 -7
  72. package/dist/collection/components/cat-datepicker/cat-datepicker.e2e.js.map +1 -1
  73. package/dist/collection/components/cat-datepicker/cat-datepicker.format.js +20 -20
  74. package/dist/collection/components/cat-datepicker/cat-datepicker.format.js.map +1 -1
  75. package/dist/collection/components/cat-datepicker/cat-datepicker.js +720 -707
  76. package/dist/collection/components/cat-datepicker/cat-datepicker.js.map +1 -1
  77. package/dist/collection/components/cat-datepicker/cat-datepicker.locale.js +39 -39
  78. package/dist/collection/components/cat-datepicker/cat-datepicker.locale.js.map +1 -1
  79. package/dist/collection/components/cat-datepicker/cat-datepicker.spec.js +7 -7
  80. package/dist/collection/components/cat-datepicker/cat-datepicker.spec.js.map +1 -1
  81. package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.e2e.js +7 -7
  82. package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.e2e.js.map +1 -1
  83. package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.js +244 -244
  84. package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.js.map +1 -1
  85. package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.spec.js +7 -7
  86. package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.spec.js.map +1 -1
  87. package/dist/collection/components/cat-dropdown/cat-dropdown.e2e.js +6 -6
  88. package/dist/collection/components/cat-dropdown/cat-dropdown.e2e.js.map +1 -1
  89. package/dist/collection/components/cat-dropdown/cat-dropdown.js +300 -300
  90. package/dist/collection/components/cat-dropdown/cat-dropdown.js.map +1 -1
  91. package/dist/collection/components/cat-dropdown/cat-dropdown.spec.js +7 -7
  92. package/dist/collection/components/cat-dropdown/cat-dropdown.spec.js.map +1 -1
  93. package/dist/collection/components/cat-form-group/cat-form-group.e2e.js +6 -6
  94. package/dist/collection/components/cat-form-group/cat-form-group.e2e.js.map +1 -1
  95. package/dist/collection/components/cat-form-group/cat-form-group.js +107 -107
  96. package/dist/collection/components/cat-form-group/cat-form-group.js.map +1 -1
  97. package/dist/collection/components/cat-form-group/cat-form-group.spec.js +7 -7
  98. package/dist/collection/components/cat-form-group/cat-form-group.spec.js.map +1 -1
  99. package/dist/collection/components/cat-form-hint/cat-form-hint.js +9 -9
  100. package/dist/collection/components/cat-form-hint/cat-form-hint.js.map +1 -1
  101. package/dist/collection/components/cat-form-hint/cat-form-hint.spec.js +7 -7
  102. package/dist/collection/components/cat-form-hint/cat-form-hint.spec.js.map +1 -1
  103. package/dist/collection/components/cat-i18n/cat-i18n-registry.js +71 -71
  104. package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +1 -1
  105. package/dist/collection/components/cat-i18n/cat-i18n-registry.spec.js +3 -3
  106. package/dist/collection/components/cat-i18n/cat-i18n-registry.spec.js.map +1 -1
  107. package/dist/collection/components/cat-icon/cat-icon-registry.js +77 -77
  108. package/dist/collection/components/cat-icon/cat-icon-registry.js.map +1 -1
  109. package/dist/collection/components/cat-icon/cat-icon-registry.spec.js +3 -3
  110. package/dist/collection/components/cat-icon/cat-icon-registry.spec.js.map +1 -1
  111. package/dist/collection/components/cat-icon/cat-icon.e2e.js +7 -7
  112. package/dist/collection/components/cat-icon/cat-icon.e2e.js.map +1 -1
  113. package/dist/collection/components/cat-icon/cat-icon.js +97 -97
  114. package/dist/collection/components/cat-icon/cat-icon.js.map +1 -1
  115. package/dist/collection/components/cat-icon/cat-icon.spec.js +7 -7
  116. package/dist/collection/components/cat-icon/cat-icon.spec.js.map +1 -1
  117. package/dist/collection/components/cat-input/cat-input.e2e.js +7 -7
  118. package/dist/collection/components/cat-input/cat-input.e2e.js.map +1 -1
  119. package/dist/collection/components/cat-input/cat-input.js +768 -768
  120. package/dist/collection/components/cat-input/cat-input.js.map +1 -1
  121. package/dist/collection/components/cat-input/cat-input.spec.js +7 -7
  122. package/dist/collection/components/cat-input/cat-input.spec.js.map +1 -1
  123. package/dist/collection/components/cat-notification/cat-notification.js +59 -59
  124. package/dist/collection/components/cat-notification/cat-notification.js.map +1 -1
  125. package/dist/collection/components/cat-notification/cat-notification.spec.js +3 -3
  126. package/dist/collection/components/cat-notification/cat-notification.spec.js.map +1 -1
  127. package/dist/collection/components/cat-pagination/cat-pagination.e2e.js +10 -10
  128. package/dist/collection/components/cat-pagination/cat-pagination.e2e.js.map +1 -1
  129. package/dist/collection/components/cat-pagination/cat-pagination.js +274 -274
  130. package/dist/collection/components/cat-pagination/cat-pagination.js.map +1 -1
  131. package/dist/collection/components/cat-pagination/cat-pagination.spec.js +7 -7
  132. package/dist/collection/components/cat-pagination/cat-pagination.spec.js.map +1 -1
  133. package/dist/collection/components/cat-radio/cat-radio.e2e.js +6 -6
  134. package/dist/collection/components/cat-radio/cat-radio.e2e.js.map +1 -1
  135. package/dist/collection/components/cat-radio/cat-radio.js +378 -378
  136. package/dist/collection/components/cat-radio/cat-radio.js.map +1 -1
  137. package/dist/collection/components/cat-radio/cat-radio.spec.js +7 -7
  138. package/dist/collection/components/cat-radio/cat-radio.spec.js.map +1 -1
  139. package/dist/collection/components/cat-radio-group/cat-radio-group.e2e.js +6 -6
  140. package/dist/collection/components/cat-radio-group/cat-radio-group.e2e.js.map +1 -1
  141. package/dist/collection/components/cat-radio-group/cat-radio-group.js +278 -278
  142. package/dist/collection/components/cat-radio-group/cat-radio-group.js.map +1 -1
  143. package/dist/collection/components/cat-radio-group/cat-radio-group.spec.js +7 -7
  144. package/dist/collection/components/cat-radio-group/cat-radio-group.spec.js.map +1 -1
  145. package/dist/collection/components/cat-scrollable/cat-scrollable.e2e.js +6 -6
  146. package/dist/collection/components/cat-scrollable/cat-scrollable.e2e.js.map +1 -1
  147. package/dist/collection/components/cat-scrollable/cat-scrollable.js +287 -287
  148. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +1 -1
  149. package/dist/collection/components/cat-scrollable/cat-scrollable.spec.js +7 -7
  150. package/dist/collection/components/cat-scrollable/cat-scrollable.spec.js.map +1 -1
  151. package/dist/collection/components/cat-select/cat-select.e2e.js +10 -10
  152. package/dist/collection/components/cat-select/cat-select.e2e.js.map +1 -1
  153. package/dist/collection/components/cat-select/cat-select.js +1143 -1143
  154. package/dist/collection/components/cat-select/cat-select.js.map +1 -1
  155. package/dist/collection/components/cat-select/cat-select.spec.js +7 -7
  156. package/dist/collection/components/cat-select/cat-select.spec.js.map +1 -1
  157. package/dist/collection/components/cat-select/connectors.js +13 -13
  158. package/dist/collection/components/cat-select/connectors.js.map +1 -1
  159. package/dist/collection/components/cat-select-demo/cat-select-demo.js +1379 -1379
  160. package/dist/collection/components/cat-select-demo/cat-select-demo.js.map +1 -1
  161. package/dist/collection/components/cat-skeleton/cat-skeleton.e2e.js +6 -6
  162. package/dist/collection/components/cat-skeleton/cat-skeleton.e2e.js.map +1 -1
  163. package/dist/collection/components/cat-skeleton/cat-skeleton.js +120 -120
  164. package/dist/collection/components/cat-skeleton/cat-skeleton.js.map +1 -1
  165. package/dist/collection/components/cat-skeleton/cat-skeleton.spec.js +7 -7
  166. package/dist/collection/components/cat-skeleton/cat-skeleton.spec.js.map +1 -1
  167. package/dist/collection/components/cat-spinner/cat-spinner.e2e.js +6 -6
  168. package/dist/collection/components/cat-spinner/cat-spinner.e2e.js.map +1 -1
  169. package/dist/collection/components/cat-spinner/cat-spinner.js +60 -60
  170. package/dist/collection/components/cat-spinner/cat-spinner.js.map +1 -1
  171. package/dist/collection/components/cat-spinner/cat-spinner.spec.js +7 -7
  172. package/dist/collection/components/cat-spinner/cat-spinner.spec.js.map +1 -1
  173. package/dist/collection/components/cat-tab/cat-tab.e2e.js +6 -6
  174. package/dist/collection/components/cat-tab/cat-tab.e2e.js.map +1 -1
  175. package/dist/collection/components/cat-tab/cat-tab.js +230 -211
  176. package/dist/collection/components/cat-tab/cat-tab.js.map +1 -1
  177. package/dist/collection/components/cat-tab/cat-tab.spec.js +7 -7
  178. package/dist/collection/components/cat-tab/cat-tab.spec.js.map +1 -1
  179. package/dist/collection/components/cat-tabs/cat-tabs.css +3 -0
  180. package/dist/collection/components/cat-tabs/cat-tabs.e2e.js +6 -6
  181. package/dist/collection/components/cat-tabs/cat-tabs.e2e.js.map +1 -1
  182. package/dist/collection/components/cat-tabs/cat-tabs.js +222 -215
  183. package/dist/collection/components/cat-tabs/cat-tabs.js.map +1 -1
  184. package/dist/collection/components/cat-tabs/cat-tabs.spec.js +7 -7
  185. package/dist/collection/components/cat-tabs/cat-tabs.spec.js.map +1 -1
  186. package/dist/collection/components/cat-textarea/cat-textarea.e2e.js +7 -7
  187. package/dist/collection/components/cat-textarea/cat-textarea.e2e.js.map +1 -1
  188. package/dist/collection/components/cat-textarea/cat-textarea.js +586 -586
  189. package/dist/collection/components/cat-textarea/cat-textarea.js.map +1 -1
  190. package/dist/collection/components/cat-textarea/cat-textarea.spec.js +7 -7
  191. package/dist/collection/components/cat-textarea/cat-textarea.spec.js.map +1 -1
  192. package/dist/collection/components/cat-toggle/cat-toggle.e2e.js +6 -6
  193. package/dist/collection/components/cat-toggle/cat-toggle.e2e.js.map +1 -1
  194. package/dist/collection/components/cat-toggle/cat-toggle.js +421 -421
  195. package/dist/collection/components/cat-toggle/cat-toggle.js.map +1 -1
  196. package/dist/collection/components/cat-toggle/cat-toggle.spec.js +7 -7
  197. package/dist/collection/components/cat-toggle/cat-toggle.spec.js.map +1 -1
  198. package/dist/collection/components/cat-tooltip/cat-tooltip.css +3 -0
  199. package/dist/collection/components/cat-tooltip/cat-tooltip.e2e.js +6 -6
  200. package/dist/collection/components/cat-tooltip/cat-tooltip.e2e.js.map +1 -1
  201. package/dist/collection/components/cat-tooltip/cat-tooltip.js +297 -296
  202. package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +1 -1
  203. package/dist/collection/components/cat-tooltip/cat-tooltip.spec.js +12 -8
  204. package/dist/collection/components/cat-tooltip/cat-tooltip.spec.js.map +1 -1
  205. package/dist/collection/scss/core/_dialog.scss +1 -1
  206. package/dist/collection/scss/core/_form.scss +2 -1
  207. package/dist/collection/scss/core/_typography.scss +1 -7
  208. package/dist/collection/utils/breakpoints.js +6 -6
  209. package/dist/collection/utils/breakpoints.js.map +1 -1
  210. package/dist/collection/utils/coerce.js +3 -3
  211. package/dist/collection/utils/coerce.js.map +1 -1
  212. package/dist/collection/utils/find-closest.js +6 -6
  213. package/dist/collection/utils/find-closest.js.map +1 -1
  214. package/dist/collection/utils/first-tabbable.js +1 -1
  215. package/dist/collection/utils/first-tabbable.js.map +1 -1
  216. package/dist/collection/utils/load-img.js +6 -6
  217. package/dist/collection/utils/load-img.js.map +1 -1
  218. package/dist/collection/utils/media-matcher.js +30 -30
  219. package/dist/collection/utils/media-matcher.js.map +1 -1
  220. package/dist/collection/utils/media-matcher.spec.js +32 -32
  221. package/dist/collection/utils/media-matcher.spec.js.map +1 -1
  222. package/dist/collection/utils/platform.js +34 -34
  223. package/dist/collection/utils/platform.js.map +1 -1
  224. package/dist/collection/utils/setDefault.js +4 -4
  225. package/dist/collection/utils/setDefault.js.map +1 -1
  226. package/dist/components/cat-alert.d.ts +2 -2
  227. package/dist/components/cat-alert.js +56 -56
  228. package/dist/components/cat-alert.js.map +1 -1
  229. package/dist/components/cat-avatar.d.ts +2 -2
  230. package/dist/components/cat-avatar2.js +93 -93
  231. package/dist/components/cat-avatar2.js.map +1 -1
  232. package/dist/components/cat-badge.d.ts +2 -2
  233. package/dist/components/cat-badge.js +32 -32
  234. package/dist/components/cat-badge.js.map +1 -1
  235. package/dist/components/cat-button-group.d.ts +2 -2
  236. package/dist/components/cat-button-group.js +31 -31
  237. package/dist/components/cat-button-group.js.map +1 -1
  238. package/dist/components/cat-button.d.ts +2 -2
  239. package/dist/components/cat-button2.js +277 -277
  240. package/dist/components/cat-button2.js.map +1 -1
  241. package/dist/components/cat-card.d.ts +2 -2
  242. package/dist/components/cat-card.js +20 -20
  243. package/dist/components/cat-card.js.map +1 -1
  244. package/dist/components/cat-checkbox.d.ts +2 -2
  245. package/dist/components/cat-checkbox2.js +108 -108
  246. package/dist/components/cat-checkbox2.js.map +1 -1
  247. package/dist/components/cat-datepicker-inline.d.ts +2 -2
  248. package/dist/components/cat-datepicker-inline.js +89 -89
  249. package/dist/components/cat-datepicker-inline.js.map +1 -1
  250. package/dist/components/cat-datepicker.d.ts +2 -2
  251. package/dist/components/cat-datepicker.js +203 -194
  252. package/dist/components/cat-datepicker.js.map +1 -1
  253. package/dist/components/cat-datepicker.locale.js +121 -121
  254. package/dist/components/cat-datepicker.locale.js.map +1 -1
  255. package/dist/components/cat-dropdown.d.ts +2 -2
  256. package/dist/components/cat-dropdown2.js +177 -177
  257. package/dist/components/cat-dropdown2.js.map +1 -1
  258. package/dist/components/cat-form-group.d.ts +2 -2
  259. package/dist/components/cat-form-group.js +55 -55
  260. package/dist/components/cat-form-group.js.map +1 -1
  261. package/dist/components/cat-form-hint.js +9 -9
  262. package/dist/components/cat-form-hint.js.map +1 -1
  263. package/dist/components/cat-i18n-registry.js +71 -71
  264. package/dist/components/cat-i18n-registry.js.map +1 -1
  265. package/dist/components/cat-icon-registry.js +77 -77
  266. package/dist/components/cat-icon-registry.js.map +1 -1
  267. package/dist/components/cat-icon.d.ts +2 -2
  268. package/dist/components/cat-icon2.js +32 -32
  269. package/dist/components/cat-icon2.js.map +1 -1
  270. package/dist/components/cat-input.d.ts +2 -2
  271. package/dist/components/cat-input2.js +219 -219
  272. package/dist/components/cat-input2.js.map +1 -1
  273. package/dist/components/cat-pagination.d.ts +2 -2
  274. package/dist/components/cat-pagination.js +103 -103
  275. package/dist/components/cat-pagination.js.map +1 -1
  276. package/dist/components/cat-radio-group.d.ts +2 -2
  277. package/dist/components/cat-radio-group.js +113 -113
  278. package/dist/components/cat-radio-group.js.map +1 -1
  279. package/dist/components/cat-radio.d.ts +2 -2
  280. package/dist/components/cat-radio.js +93 -93
  281. package/dist/components/cat-radio.js.map +1 -1
  282. package/dist/components/cat-scrollable.d.ts +2 -2
  283. package/dist/components/cat-scrollable2.js +118 -118
  284. package/dist/components/cat-scrollable2.js.map +1 -1
  285. package/dist/components/cat-select-demo.d.ts +2 -2
  286. package/dist/components/cat-select-demo.js +1438 -1438
  287. package/dist/components/cat-select-demo.js.map +1 -1
  288. package/dist/components/cat-select.d.ts +2 -2
  289. package/dist/components/cat-select2.js +666 -666
  290. package/dist/components/cat-select2.js.map +1 -1
  291. package/dist/components/cat-skeleton.d.ts +2 -2
  292. package/dist/components/cat-skeleton2.js +53 -53
  293. package/dist/components/cat-skeleton2.js.map +1 -1
  294. package/dist/components/cat-spinner.d.ts +2 -2
  295. package/dist/components/cat-spinner2.js +27 -27
  296. package/dist/components/cat-spinner2.js.map +1 -1
  297. package/dist/components/cat-tab.d.ts +2 -2
  298. package/dist/components/cat-tab.js +48 -46
  299. package/dist/components/cat-tab.js.map +1 -1
  300. package/dist/components/cat-tabs.d.ts +2 -2
  301. package/dist/components/cat-tabs.js +120 -113
  302. package/dist/components/cat-tabs.js.map +1 -1
  303. package/dist/components/cat-textarea.d.ts +2 -2
  304. package/dist/components/cat-textarea.js +178 -178
  305. package/dist/components/cat-textarea.js.map +1 -1
  306. package/dist/components/cat-toggle.d.ts +2 -2
  307. package/dist/components/cat-toggle.js +104 -104
  308. package/dist/components/cat-toggle.js.map +1 -1
  309. package/dist/components/cat-tooltip.d.ts +2 -2
  310. package/dist/components/cat-tooltip.js +144 -143
  311. package/dist/components/cat-tooltip.js.map +1 -1
  312. package/dist/components/coerce.js +3 -3
  313. package/dist/components/coerce.js.map +1 -1
  314. package/dist/components/index.js +72 -72
  315. package/dist/components/index.js.map +1 -1
  316. package/dist/esm/cat-alert_26.entry.js +3899 -3883
  317. package/dist/esm/cat-alert_26.entry.js.map +1 -1
  318. package/dist/esm/catalyst.js +4 -4
  319. package/dist/esm/catalyst.js.map +1 -1
  320. package/dist/esm/{index-30a221a3.js → index-acddba36.js} +51 -13
  321. package/dist/esm/index-acddba36.js.map +1 -0
  322. package/dist/esm/index.js +74 -74
  323. package/dist/esm/index.js.map +1 -1
  324. package/dist/esm/loader.js +3 -3
  325. package/dist/esm/{of-04d3d9e1.js → of-4f92b30b.js} +155 -155
  326. package/dist/esm/of-4f92b30b.js.map +1 -0
  327. package/dist/types/components/cat-alert/cat-alert.d.ts +17 -17
  328. package/dist/types/components/cat-avatar/cat-avatar.d.ts +41 -41
  329. package/dist/types/components/cat-badge/cat-badge.d.ts +22 -22
  330. package/dist/types/components/cat-button/cat-button.d.ts +151 -151
  331. package/dist/types/components/cat-button-group/cat-button-group.d.ts +9 -9
  332. package/dist/types/components/cat-card/cat-card.d.ts +1 -1
  333. package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +97 -97
  334. package/dist/types/components/cat-datepicker/cat-datepicker.config.d.ts +12 -12
  335. package/dist/types/components/cat-datepicker/cat-datepicker.d.ts +153 -149
  336. package/dist/types/components/cat-datepicker-inline/cat-datepicker-inline.d.ts +45 -45
  337. package/dist/types/components/cat-dropdown/cat-dropdown.d.ts +49 -49
  338. package/dist/types/components/cat-form-group/cat-form-group.d.ts +23 -23
  339. package/dist/types/components/cat-form-hint/cat-form-hint.d.ts +6 -6
  340. package/dist/types/components/cat-i18n/cat-i18n-registry.d.ts +17 -17
  341. package/dist/types/components/cat-icon/cat-icon-registry.d.ts +12 -12
  342. package/dist/types/components/cat-icon/cat-icon.d.ts +18 -18
  343. package/dist/types/components/cat-input/cat-input.d.ts +167 -167
  344. package/dist/types/components/cat-notification/cat-notification.d.ts +31 -31
  345. package/dist/types/components/cat-pagination/cat-pagination.d.ts +52 -52
  346. package/dist/types/components/cat-radio/cat-radio.d.ts +83 -83
  347. package/dist/types/components/cat-radio-group/cat-radio-group.d.ts +49 -49
  348. package/dist/types/components/cat-scrollable/cat-scrollable.d.ts +49 -49
  349. package/dist/types/components/cat-select/cat-select.d.ts +221 -221
  350. package/dist/types/components/cat-select/connectors.d.ts +5 -5
  351. package/dist/types/components/cat-select-demo/cat-select-demo.d.ts +11 -11
  352. package/dist/types/components/cat-skeleton/cat-skeleton.d.ts +23 -23
  353. package/dist/types/components/cat-spinner/cat-spinner.d.ts +10 -10
  354. package/dist/types/components/cat-tab/cat-tab.d.ts +48 -42
  355. package/dist/types/components/cat-tabs/cat-tabs.d.ts +40 -39
  356. package/dist/types/components/cat-textarea/cat-textarea.d.ts +131 -131
  357. package/dist/types/components/cat-toggle/cat-toggle.d.ts +93 -93
  358. package/dist/types/components/cat-tooltip/cat-tooltip.d.ts +64 -64
  359. package/dist/types/components.d.ts +10 -2
  360. package/dist/types/stencil-public-runtime.d.ts +8 -0
  361. package/dist/types/utils/breakpoints.d.ts +1 -1
  362. package/dist/types/utils/media-matcher.d.ts +10 -10
  363. package/dist/types/utils/platform.d.ts +16 -16
  364. package/dist/types/utils/setDefault.d.ts +2 -2
  365. package/package.json +18 -18
  366. package/dist/catalyst/p-1bd44896.js +0 -3
  367. package/dist/catalyst/p-1bd44896.js.map +0 -1
  368. package/dist/catalyst/p-dc953306.entry.js +0 -10
  369. package/dist/catalyst/p-dc953306.entry.js.map +0 -1
  370. package/dist/cjs/index-1e7eef7e.js.map +0 -1
  371. package/dist/cjs/of-395b2f57.js.map +0 -1
  372. package/dist/esm/index-30a221a3.js.map +0 -1
  373. package/dist/esm/of-04d3d9e1.js.map +0 -1
  374. /package/dist/catalyst/{p-85d057f0.js.map → p-6ae13953.js.map} +0 -0
@@ -4,40 +4,40 @@ import { c as catIconRegistry } from './cat-icon-registry.js';
4
4
  const catIconCss = ":host{display:inline-flex;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}span{display:inline-flex}svg{fill:currentColor;stroke:none;transform-origin:center center;height:1em;width:calc(var(--cat-icon-ratio, 1) * 1em)}.icon-xs svg{font-size:0.75rem}.icon-s svg{font-size:1rem}.icon-m svg{font-size:1.25rem}.icon-l svg{font-size:1.5rem}.icon-xl svg{font-size:1.75rem}";
5
5
 
6
6
  const CatIcon = /*@__PURE__*/ proxyCustomElement(class CatIcon extends HTMLElement {
7
- constructor() {
8
- super();
9
- this.__registerHost();
10
- this.__attachShadow();
11
- this.icon = undefined;
12
- this.iconSrc = undefined;
13
- this.size = 'm';
14
- this.a11yLabel = undefined;
15
- }
16
- render() {
17
- return (h("span", { innerHTML: this.iconSrc || (this.icon ? catIconRegistry.getIcon(this.icon) : ''), "aria-label": this.a11yLabel, "aria-hidden": this.a11yLabel ? null : 'true', part: "icon", class: {
18
- icon: true,
19
- [`icon-${this.size}`]: this.size !== 'inline'
20
- } }));
21
- }
22
- static get style() { return catIconCss; }
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.icon = undefined;
12
+ this.iconSrc = undefined;
13
+ this.size = 'm';
14
+ this.a11yLabel = undefined;
15
+ }
16
+ render() {
17
+ return (h("span", { innerHTML: this.iconSrc || (this.icon ? catIconRegistry.getIcon(this.icon) : ''), "aria-label": this.a11yLabel, "aria-hidden": this.a11yLabel ? null : 'true', part: "icon", class: {
18
+ icon: true,
19
+ [`icon-${this.size}`]: this.size !== 'inline'
20
+ } }));
21
+ }
22
+ static get style() { return catIconCss; }
23
23
  }, [1, "cat-icon", {
24
- "icon": [1],
25
- "iconSrc": [1, "icon-src"],
26
- "size": [1],
27
- "a11yLabel": [1, "a11y-label"]
28
- }]);
24
+ "icon": [1],
25
+ "iconSrc": [1, "icon-src"],
26
+ "size": [1],
27
+ "a11yLabel": [1, "a11y-label"]
28
+ }]);
29
29
  function defineCustomElement() {
30
- if (typeof customElements === "undefined") {
31
- return;
32
- }
33
- const components = ["cat-icon"];
34
- components.forEach(tagName => { switch (tagName) {
35
- case "cat-icon":
36
- if (!customElements.get(tagName)) {
37
- customElements.define(tagName, CatIcon);
38
- }
39
- break;
40
- } });
30
+ if (typeof customElements === "undefined") {
31
+ return;
32
+ }
33
+ const components = ["cat-icon"];
34
+ components.forEach(tagName => { switch (tagName) {
35
+ case "cat-icon":
36
+ if (!customElements.get(tagName)) {
37
+ customElements.define(tagName, CatIcon);
38
+ }
39
+ break;
40
+ } });
41
41
  }
42
42
 
43
43
  export { CatIcon as C, defineCustomElement as d };
@@ -1 +1 @@
1
- {"file":"cat-icon2.js","mappings":";;;AAAA,MAAM,UAAU,GAAG,mbAAmb;;MCczb,OAAO;;;;;;;gBAcuC,GAAG;;;EAQ5D,MAAM;IACJ,QACE,YACE,SAAS,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,GAAGA,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,gBAC1D,IAAI,CAAC,SAAS,iBACb,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,MAAM,EAC3C,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;QACV,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;OAC9C,GACK,EACR;GACH;;;;;;;;;;;;;;;;;;;;;;;;","names":["icons"],"sources":["src/components/cat-icon/cat-icon.scss?tag=cat-icon&encapsulation=shadow","src/components/cat-icon/cat-icon.tsx"],"sourcesContent":["@use 'variables' as *;\n@use 'mixins' as *;\n@use 'sass:map';\n\n$icon-sizes: (\n 'xl': 1.75rem,\n 'l': 1.5rem,\n 'm': 1.25rem,\n 's': 1rem,\n 'xs': 0.75rem\n);\n\n:host {\n /**\n * @prop --cat-icon-ratio: The aspect ratio of the avatar.\n */\n display: inline-flex;\n vertical-align: middle;\n @include cat-select(none);\n}\n\n:host([hidden]) {\n display: none;\n}\n\nspan {\n display: inline-flex;\n}\n\nsvg {\n fill: currentColor;\n stroke: none;\n transform-origin: center center;\n height: 1em;\n width: calc(var(--cat-icon-ratio, 1) * 1em);\n}\n\n// ----- size\n\n@mixin size($size) {\n .icon-#{$size} svg {\n font-size: map.get($icon-sizes, $size);\n }\n}\n\n@include size('xs');\n@include size('s');\n@include size('m');\n@include size('l');\n@include size('xl');\n","import { Component, h, Prop } from '@stencil/core';\nimport { catIconRegistry as icons } from './cat-icon-registry';\n\n/**\n * Icons are used to provide additional meaning or in places where text label\n * doesn't fit.\n *\n * @part icon - The span element wrapping the SVG icon.\n */\n@Component({\n tag: 'cat-icon',\n styleUrl: 'cat-icon.scss',\n shadow: true\n})\nexport class CatIcon {\n /**\n * The name of the icon.\n */\n @Prop() icon?: string;\n\n /**\n * The SVG source of the icon. This takes precenedence over the `icon` name.\n */\n @Prop() iconSrc?: string;\n\n /**\n * The size of the icon.\n */\n @Prop() size: 'xs' | 's' | 'm' | 'l' | 'xl' | 'inline' = 'm';\n\n /**\n * Adds accessible label for the icon that is only shown for screen\n * readers. The `aria-hidden` attribute will be set if no label is present.\n */\n @Prop({ attribute: 'a11y-label' }) a11yLabel?: string;\n\n render() {\n return (\n <span\n innerHTML={this.iconSrc || (this.icon ? icons.getIcon(this.icon) : '')}\n aria-label={this.a11yLabel}\n aria-hidden={this.a11yLabel ? null : 'true'}\n part=\"icon\"\n class={{\n icon: true,\n [`icon-${this.size}`]: this.size !== 'inline'\n }}\n ></span>\n );\n }\n}\n"],"version":3}
1
+ {"file":"cat-icon2.js","mappings":";;;AAAA,MAAM,UAAU,GAAG,mbAAmb;;MCczb,OAAO;;;;;;;oBAcuC,GAAG;;;IAQ5D,MAAM;QACJ,QACE,YACE,SAAS,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,GAAGA,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,gBAC1D,IAAI,CAAC,SAAS,iBACb,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,MAAM,EAC3C,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI;gBACV,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;aAC9C,GACK,EACR;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":["icons"],"sources":["src/components/cat-icon/cat-icon.scss?tag=cat-icon&encapsulation=shadow","src/components/cat-icon/cat-icon.tsx"],"sourcesContent":["@use 'variables' as *;\n@use 'mixins' as *;\n@use 'sass:map';\n\n$icon-sizes: (\n 'xl': 1.75rem,\n 'l': 1.5rem,\n 'm': 1.25rem,\n 's': 1rem,\n 'xs': 0.75rem\n);\n\n:host {\n /**\n * @prop --cat-icon-ratio: The aspect ratio of the avatar.\n */\n display: inline-flex;\n vertical-align: middle;\n @include cat-select(none);\n}\n\n:host([hidden]) {\n display: none;\n}\n\nspan {\n display: inline-flex;\n}\n\nsvg {\n fill: currentColor;\n stroke: none;\n transform-origin: center center;\n height: 1em;\n width: calc(var(--cat-icon-ratio, 1) * 1em);\n}\n\n// ----- size\n\n@mixin size($size) {\n .icon-#{$size} svg {\n font-size: map.get($icon-sizes, $size);\n }\n}\n\n@include size('xs');\n@include size('s');\n@include size('m');\n@include size('l');\n@include size('xl');\n","import { Component, h, Prop } from '@stencil/core';\nimport { catIconRegistry as icons } from './cat-icon-registry';\n\n/**\n * Icons are used to provide additional meaning or in places where text label\n * doesn't fit.\n *\n * @part icon - The span element wrapping the SVG icon.\n */\n@Component({\n tag: 'cat-icon',\n styleUrl: 'cat-icon.scss',\n shadow: true\n})\nexport class CatIcon {\n /**\n * The name of the icon.\n */\n @Prop() icon?: string;\n\n /**\n * The SVG source of the icon. This takes precenedence over the `icon` name.\n */\n @Prop() iconSrc?: string;\n\n /**\n * The size of the icon.\n */\n @Prop() size: 'xs' | 's' | 'm' | 'l' | 'xl' | 'inline' = 'm';\n\n /**\n * Adds accessible label for the icon that is only shown for screen\n * readers. The `aria-hidden` attribute will be set if no label is present.\n */\n @Prop({ attribute: 'a11y-label' }) a11yLabel?: string;\n\n render() {\n return (\n <span\n innerHTML={this.iconSrc || (this.icon ? icons.getIcon(this.icon) : '')}\n aria-label={this.a11yLabel}\n aria-hidden={this.a11yLabel ? null : 'true'}\n part=\"icon\"\n class={{\n icon: true,\n [`icon-${this.size}`]: this.size !== 'inline'\n }}\n ></span>\n );\n }\n}\n"],"version":3}
@@ -2,8 +2,8 @@ import type { Components, JSX } from "../types/components";
2
2
 
3
3
  interface CatInput extends Components.CatInput, HTMLElement {}
4
4
  export const CatInput: {
5
- prototype: CatInput;
6
- new (): CatInput;
5
+ prototype: CatInput;
6
+ new (): CatInput;
7
7
  };
8
8
  /**
9
9
  * Used to define this component and all nested components recursively.
@@ -11,227 +11,227 @@ const catInputCss = ".hint-wrapper{flex:0 1 auto;display:flex;gap:0.5rem}.hint-s
11
11
 
12
12
  let nextUniqueId = 0;
13
13
  const CatInput = /*@__PURE__*/ proxyCustomElement(class CatInput extends HTMLElement {
14
- constructor() {
15
- super();
16
- this.__registerHost();
17
- this.__attachShadow();
18
- this.catChange = createEvent(this, "catChange", 7);
19
- this.catFocus = createEvent(this, "catFocus", 7);
20
- this.catBlur = createEvent(this, "catBlur", 7);
21
- this._id = `cat-input-${nextUniqueId++}`;
22
- this.hasSlottedLabel = false;
23
- this.hasSlottedHint = false;
24
- this.errorMap = undefined;
25
- this.requiredMarker = 'optional';
26
- this.horizontal = false;
27
- this.autoComplete = undefined;
28
- this.clearable = false;
29
- this.disabled = false;
30
- this.hint = undefined;
31
- this.icon = undefined;
32
- this.iconRight = false;
33
- this.identifier = undefined;
34
- this.label = '';
35
- this.labelHidden = false;
36
- this.max = undefined;
37
- this.maxLength = undefined;
38
- this.min = undefined;
39
- this.minLength = undefined;
40
- this.name = undefined;
41
- this.placeholder = undefined;
42
- this.textPrefix = undefined;
43
- this.textSuffix = undefined;
44
- this.readonly = false;
45
- this.required = false;
46
- this.round = false;
47
- this.type = 'text';
48
- this.value = undefined;
49
- this.errors = undefined;
50
- this.errorUpdate = 0;
51
- this.nativeAttributes = undefined;
52
- }
53
- get id() {
54
- return this.identifier || this._id;
55
- }
56
- componentWillRender() {
57
- this.onErrorsChanged(this.errors);
58
- this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
59
- this.hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
60
- if (!this.label && !this.hasSlottedLabel) {
61
- loglevel.warn('[A11y] Missing ARIA label on input', this);
62
- }
63
- }
64
- /**
65
- * Programmatically move focus to the input. Use this method instead of
66
- * `input.focus()`.
67
- *
68
- * @param options An optional object providing options to control aspects of
69
- * the focusing process.
70
- */
71
- async doFocus(options) {
72
- // hack to make datepicker inputs focusable. The datepicker hides the input
73
- // element and dynamically creates a sibling. We need to find the new input
74
- // element and focus it instead.
75
- const input = this.input.type === 'hidden' ? this.findSiblingInput(this.input.nextSibling) : this.input;
76
- input?.focus(options);
77
- }
78
- /**
79
- * Programmatically remove focus from the input. Use this method instead of
80
- * `input.blur()`.
81
- */
82
- async doBlur() {
83
- this.input.blur();
84
- }
85
- /**
86
- * Clear the input.
87
- */
88
- async clear() {
89
- this.value = '';
90
- this.catChange.emit(this.value);
91
- }
92
- onErrorsChanged(value) {
93
- if (!coerceBoolean(this.errorUpdate)) {
94
- this.errorMap = undefined;
95
- }
96
- else {
97
- this.errorMapSrc = Array.isArray(value)
98
- ? value.reduce((acc, err) => ({ ...acc, [err]: undefined }), {})
99
- : value === true
100
- ? {}
101
- : value || undefined;
102
- this.showErrorsIfTimeout() || this.showErrorsIfNoFocus();
103
- }
104
- }
105
- render() {
106
- return (h("div", { class: {
107
- 'input-field': true,
108
- 'input-horizontal': this.horizontal
109
- } }, h("div", { class: { 'label-container': true, hidden: this.labelHidden } }, (this.hasSlottedLabel || this.label) && (h("label", { htmlFor: this.id, part: "label" }, h("span", { class: "label-wrapper" }, (this.hasSlottedLabel && h("slot", { name: "label" })) || this.label, h("div", { class: "label-metadata" }, !this.required && (this.requiredMarker ?? 'optional').startsWith('optional') && (h("span", { class: "label-optional", "aria-hidden": "true" }, "(", catI18nRegistry.t('input.optional'), ")")), this.required && this.requiredMarker?.startsWith('required') && (h("span", { class: "label-optional", "aria-hidden": "true" }, "(", catI18nRegistry.t('input.required'), ")")), this.maxLength && (h("div", { class: "label-character-count", "aria-hidden": "true" }, this.value?.toString().length ?? 0, "/", this.maxLength))))))), h("div", { class: "input-container" }, h("div", { class: {
110
- 'input-wrapper': true,
111
- 'input-round': this.round,
112
- 'input-readonly': this.readonly,
113
- 'input-disabled': this.disabled,
114
- 'input-invalid': this.invalid
115
- }, onClick: () => this.input.focus() }, this.textPrefix && (h("span", { class: "text-prefix", part: "prefix" }, this.textPrefix)), this.icon && !this.iconRight && (h("cat-icon", { icon: this.icon, class: "icon-prefix", size: "l", onClick: () => this.doFocus() })), h("div", { class: "input-inner-wrapper" }, h("input", { ...this.nativeAttributes, part: "input", ref: el => (this.input = el), id: this.id, class: {
116
- 'has-clearable': this.clearable && !this.disabled && !this.readonly
117
- }, autocomplete: this.autoComplete, disabled: this.disabled, max: this.max, maxlength: this.maxLength, min: this.min, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, type: this.type, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hasHint ? this.id + '-hint' : undefined }), this.clearable && !this.disabled && !this.readonly && this.value && (h("cat-button", { class: "clearable", icon: "$cat:input-close", "icon-only": "true", size: "s", variant: "text", "a11y-label": catI18nRegistry.t('input.clear'), onClick: this.clear.bind(this), "data-dropdown-no-close": true }))), !this.invalid && this.icon && this.iconRight && (h("cat-icon", { icon: this.icon, class: "icon-suffix", size: "l", onClick: () => this.doFocus() })), this.invalid && h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" }), this.textSuffix && (h("span", { class: "text-suffix", part: "suffix" }, this.textSuffix))), this.hasHint && (h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }), errorMap: this.errorMap })))));
118
- }
119
- get hasHint() {
120
- return !!this.hint || !!this.hasSlottedHint || this.invalid;
121
- }
122
- get invalid() {
123
- return !!Object.keys(this.errorMap || {}).length;
124
- }
125
- onInput() {
126
- this.value = this.input.value;
127
- this.catChange.emit(this.value);
128
- this.showErrorsIfTimeout();
129
- }
130
- onFocus(event) {
131
- this.catFocus.emit(event);
132
- }
133
- onBlur(event) {
134
- this.catBlur.emit(event);
135
- if (coerceBoolean(this.errorUpdate)) {
136
- this.showErrors();
137
- }
138
- }
139
- showErrors() {
140
- this.errorMap = this.errorMapSrc;
141
- }
142
- showErrorsIfTimeout() {
143
- const errorUpdate = coerceNumber(this.errorUpdate, null);
144
- if (errorUpdate !== null) {
145
- typeof this.errorUpdateTimeoutId === 'number' && window.clearTimeout(this.errorUpdateTimeoutId);
146
- this.errorUpdateTimeoutId = window.setTimeout(() => this.showErrors(), errorUpdate);
147
- return true;
148
- }
149
- return false;
150
- }
151
- showErrorsIfNoFocus() {
152
- const hasFocus = document.activeElement === this.hostElement || document.activeElement === this.input;
153
- if (!hasFocus) {
154
- this.showErrors();
155
- }
156
- }
157
- findSiblingInput(node) {
158
- if (node instanceof HTMLInputElement) {
159
- return node;
160
- }
161
- else if (node?.nextSibling) {
162
- return this.findSiblingInput(node.nextSibling);
163
- }
164
- return undefined;
165
- }
166
- get hostElement() { return this; }
167
- static get watchers() { return {
168
- "errors": ["onErrorsChanged"]
169
- }; }
170
- static get style() { return catInputCss; }
14
+ constructor() {
15
+ super();
16
+ this.__registerHost();
17
+ this.__attachShadow();
18
+ this.catChange = createEvent(this, "catChange", 7);
19
+ this.catFocus = createEvent(this, "catFocus", 7);
20
+ this.catBlur = createEvent(this, "catBlur", 7);
21
+ this._id = `cat-input-${nextUniqueId++}`;
22
+ this.hasSlottedLabel = false;
23
+ this.hasSlottedHint = false;
24
+ this.errorMap = undefined;
25
+ this.requiredMarker = 'optional';
26
+ this.horizontal = false;
27
+ this.autoComplete = undefined;
28
+ this.clearable = false;
29
+ this.disabled = false;
30
+ this.hint = undefined;
31
+ this.icon = undefined;
32
+ this.iconRight = false;
33
+ this.identifier = undefined;
34
+ this.label = '';
35
+ this.labelHidden = false;
36
+ this.max = undefined;
37
+ this.maxLength = undefined;
38
+ this.min = undefined;
39
+ this.minLength = undefined;
40
+ this.name = undefined;
41
+ this.placeholder = undefined;
42
+ this.textPrefix = undefined;
43
+ this.textSuffix = undefined;
44
+ this.readonly = false;
45
+ this.required = false;
46
+ this.round = false;
47
+ this.type = 'text';
48
+ this.value = undefined;
49
+ this.errors = undefined;
50
+ this.errorUpdate = 0;
51
+ this.nativeAttributes = undefined;
52
+ }
53
+ get id() {
54
+ return this.identifier || this._id;
55
+ }
56
+ componentWillRender() {
57
+ this.onErrorsChanged(this.errors);
58
+ this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
59
+ this.hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
60
+ if (!this.label && !this.hasSlottedLabel) {
61
+ loglevel.warn('[A11y] Missing ARIA label on input', this);
62
+ }
63
+ }
64
+ /**
65
+ * Programmatically move focus to the input. Use this method instead of
66
+ * `input.focus()`.
67
+ *
68
+ * @param options An optional object providing options to control aspects of
69
+ * the focusing process.
70
+ */
71
+ async doFocus(options) {
72
+ // hack to make datepicker inputs focusable. The datepicker hides the input
73
+ // element and dynamically creates a sibling. We need to find the new input
74
+ // element and focus it instead.
75
+ const input = this.input.type === 'hidden' ? this.findSiblingInput(this.input.nextSibling) : this.input;
76
+ input?.focus(options);
77
+ }
78
+ /**
79
+ * Programmatically remove focus from the input. Use this method instead of
80
+ * `input.blur()`.
81
+ */
82
+ async doBlur() {
83
+ this.input.blur();
84
+ }
85
+ /**
86
+ * Clear the input.
87
+ */
88
+ async clear() {
89
+ this.value = '';
90
+ this.catChange.emit(this.value);
91
+ }
92
+ onErrorsChanged(value) {
93
+ if (!coerceBoolean(this.errorUpdate)) {
94
+ this.errorMap = undefined;
95
+ }
96
+ else {
97
+ this.errorMapSrc = Array.isArray(value)
98
+ ? value.reduce((acc, err) => ({ ...acc, [err]: undefined }), {})
99
+ : value === true
100
+ ? {}
101
+ : value || undefined;
102
+ this.showErrorsIfTimeout() || this.showErrorsIfNoFocus();
103
+ }
104
+ }
105
+ render() {
106
+ return (h("div", { class: {
107
+ 'input-field': true,
108
+ 'input-horizontal': this.horizontal
109
+ } }, h("div", { class: { 'label-container': true, hidden: this.labelHidden } }, (this.hasSlottedLabel || this.label) && (h("label", { htmlFor: this.id, part: "label" }, h("span", { class: "label-wrapper" }, (this.hasSlottedLabel && h("slot", { name: "label" })) || this.label, h("div", { class: "label-metadata" }, !this.required && (this.requiredMarker ?? 'optional').startsWith('optional') && (h("span", { class: "label-optional", "aria-hidden": "true" }, "(", catI18nRegistry.t('input.optional'), ")")), this.required && this.requiredMarker?.startsWith('required') && (h("span", { class: "label-optional", "aria-hidden": "true" }, "(", catI18nRegistry.t('input.required'), ")")), this.maxLength && (h("div", { class: "label-character-count", "aria-hidden": "true" }, this.value?.toString().length ?? 0, "/", this.maxLength))))))), h("div", { class: "input-container" }, h("div", { class: {
110
+ 'input-wrapper': true,
111
+ 'input-round': this.round,
112
+ 'input-readonly': this.readonly,
113
+ 'input-disabled': this.disabled,
114
+ 'input-invalid': this.invalid
115
+ }, onClick: () => this.input.focus() }, this.textPrefix && (h("span", { class: "text-prefix", part: "prefix" }, this.textPrefix)), this.icon && !this.iconRight && (h("cat-icon", { icon: this.icon, class: "icon-prefix", size: "l", onClick: () => this.doFocus() })), h("div", { class: "input-inner-wrapper" }, h("input", { ...this.nativeAttributes, part: "input", ref: el => (this.input = el), id: this.id, class: {
116
+ 'has-clearable': this.clearable && !this.disabled && !this.readonly
117
+ }, autocomplete: this.autoComplete, disabled: this.disabled, max: this.max, maxlength: this.maxLength, min: this.min, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, type: this.type, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hasHint ? this.id + '-hint' : undefined }), this.clearable && !this.disabled && !this.readonly && this.value && (h("cat-button", { class: "clearable", icon: "$cat:input-close", "icon-only": "true", size: "s", variant: "text", "a11y-label": catI18nRegistry.t('input.clear'), onClick: this.clear.bind(this), "data-dropdown-no-close": true }))), !this.invalid && this.icon && this.iconRight && (h("cat-icon", { icon: this.icon, class: "icon-suffix", size: "l", onClick: () => this.doFocus() })), this.invalid && h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" }), this.textSuffix && (h("span", { class: "text-suffix", part: "suffix" }, this.textSuffix))), this.hasHint && (h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }), errorMap: this.errorMap })))));
118
+ }
119
+ get hasHint() {
120
+ return !!this.hint || !!this.hasSlottedHint || this.invalid;
121
+ }
122
+ get invalid() {
123
+ return !!Object.keys(this.errorMap || {}).length;
124
+ }
125
+ onInput() {
126
+ this.value = this.input.value;
127
+ this.catChange.emit(this.value);
128
+ this.showErrorsIfTimeout();
129
+ }
130
+ onFocus(event) {
131
+ this.catFocus.emit(event);
132
+ }
133
+ onBlur(event) {
134
+ this.catBlur.emit(event);
135
+ if (coerceBoolean(this.errorUpdate)) {
136
+ this.showErrors();
137
+ }
138
+ }
139
+ showErrors() {
140
+ this.errorMap = this.errorMapSrc;
141
+ }
142
+ showErrorsIfTimeout() {
143
+ const errorUpdate = coerceNumber(this.errorUpdate, null);
144
+ if (errorUpdate !== null) {
145
+ typeof this.errorUpdateTimeoutId === 'number' && window.clearTimeout(this.errorUpdateTimeoutId);
146
+ this.errorUpdateTimeoutId = window.setTimeout(() => this.showErrors(), errorUpdate);
147
+ return true;
148
+ }
149
+ return false;
150
+ }
151
+ showErrorsIfNoFocus() {
152
+ const hasFocus = document.activeElement === this.hostElement || document.activeElement === this.input;
153
+ if (!hasFocus) {
154
+ this.showErrors();
155
+ }
156
+ }
157
+ findSiblingInput(node) {
158
+ if (node instanceof HTMLInputElement) {
159
+ return node;
160
+ }
161
+ else if (node?.nextSibling) {
162
+ return this.findSiblingInput(node.nextSibling);
163
+ }
164
+ return undefined;
165
+ }
166
+ get hostElement() { return this; }
167
+ static get watchers() { return {
168
+ "errors": ["onErrorsChanged"]
169
+ }; }
170
+ static get style() { return catInputCss; }
171
171
  }, [1, "cat-input", {
172
- "requiredMarker": [1, "required-marker"],
173
- "horizontal": [4],
174
- "autoComplete": [1, "auto-complete"],
175
- "clearable": [4],
176
- "disabled": [4],
177
- "hint": [1],
178
- "icon": [1],
179
- "iconRight": [4, "icon-right"],
180
- "identifier": [1],
181
- "label": [1],
182
- "labelHidden": [4, "label-hidden"],
183
- "max": [8],
184
- "maxLength": [2, "max-length"],
185
- "min": [8],
186
- "minLength": [2, "min-length"],
187
- "name": [1],
188
- "placeholder": [1],
189
- "textPrefix": [1, "text-prefix"],
190
- "textSuffix": [1, "text-suffix"],
191
- "readonly": [4],
192
- "required": [4],
193
- "round": [4],
194
- "type": [1],
195
- "value": [1025],
196
- "errors": [4],
197
- "errorUpdate": [8, "error-update"],
198
- "nativeAttributes": [16],
199
- "hasSlottedLabel": [32],
200
- "hasSlottedHint": [32],
201
- "errorMap": [32],
202
- "doFocus": [64],
203
- "doBlur": [64],
204
- "clear": [64]
205
- }, undefined, {
206
- "errors": ["onErrorsChanged"]
207
- }]);
172
+ "requiredMarker": [1, "required-marker"],
173
+ "horizontal": [4],
174
+ "autoComplete": [1, "auto-complete"],
175
+ "clearable": [4],
176
+ "disabled": [4],
177
+ "hint": [1],
178
+ "icon": [1],
179
+ "iconRight": [4, "icon-right"],
180
+ "identifier": [1],
181
+ "label": [1],
182
+ "labelHidden": [4, "label-hidden"],
183
+ "max": [8],
184
+ "maxLength": [2, "max-length"],
185
+ "min": [8],
186
+ "minLength": [2, "min-length"],
187
+ "name": [1],
188
+ "placeholder": [1],
189
+ "textPrefix": [1, "text-prefix"],
190
+ "textSuffix": [1, "text-suffix"],
191
+ "readonly": [4],
192
+ "required": [4],
193
+ "round": [4],
194
+ "type": [1],
195
+ "value": [1025],
196
+ "errors": [4],
197
+ "errorUpdate": [8, "error-update"],
198
+ "nativeAttributes": [16],
199
+ "hasSlottedLabel": [32],
200
+ "hasSlottedHint": [32],
201
+ "errorMap": [32],
202
+ "doFocus": [64],
203
+ "doBlur": [64],
204
+ "clear": [64]
205
+ }, undefined, {
206
+ "errors": ["onErrorsChanged"]
207
+ }]);
208
208
  function defineCustomElement() {
209
- if (typeof customElements === "undefined") {
210
- return;
211
- }
212
- const components = ["cat-input", "cat-button", "cat-icon", "cat-spinner"];
213
- components.forEach(tagName => { switch (tagName) {
214
- case "cat-input":
215
- if (!customElements.get(tagName)) {
216
- customElements.define(tagName, CatInput);
217
- }
218
- break;
219
- case "cat-button":
220
- if (!customElements.get(tagName)) {
221
- defineCustomElement$3();
222
- }
223
- break;
224
- case "cat-icon":
225
- if (!customElements.get(tagName)) {
226
- defineCustomElement$2();
227
- }
228
- break;
229
- case "cat-spinner":
230
- if (!customElements.get(tagName)) {
231
- defineCustomElement$1();
232
- }
233
- break;
234
- } });
209
+ if (typeof customElements === "undefined") {
210
+ return;
211
+ }
212
+ const components = ["cat-input", "cat-button", "cat-icon", "cat-spinner"];
213
+ components.forEach(tagName => { switch (tagName) {
214
+ case "cat-input":
215
+ if (!customElements.get(tagName)) {
216
+ customElements.define(tagName, CatInput);
217
+ }
218
+ break;
219
+ case "cat-button":
220
+ if (!customElements.get(tagName)) {
221
+ defineCustomElement$3();
222
+ }
223
+ break;
224
+ case "cat-icon":
225
+ if (!customElements.get(tagName)) {
226
+ defineCustomElement$2();
227
+ }
228
+ break;
229
+ case "cat-spinner":
230
+ if (!customElements.get(tagName)) {
231
+ defineCustomElement$1();
232
+ }
233
+ break;
234
+ } });
235
235
  }
236
236
 
237
237
  export { CatInput as C, defineCustomElement as d };