@haiilo/catalyst 0.3.2 → 0.5.1

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 (365) hide show
  1. package/dist/catalyst/app-globals-23d8c4a8.js +948 -0
  2. package/dist/catalyst/app-globals-23d8c4a8.js.map +1 -0
  3. package/dist/catalyst/app-globals-3dd6a26b.js +948 -0
  4. package/dist/catalyst/app-globals-3dd6a26b.js.map +1 -0
  5. package/dist/catalyst/app-globals-42ce39cc.js +948 -0
  6. package/dist/catalyst/app-globals-42ce39cc.js.map +1 -0
  7. package/dist/catalyst/app-globals-5cf43b57.js +949 -0
  8. package/dist/catalyst/app-globals-5cf43b57.js.map +1 -0
  9. package/dist/catalyst/app-globals-8598c768.js +948 -0
  10. package/dist/catalyst/app-globals-8598c768.js.map +1 -0
  11. package/dist/catalyst/app-globals-a41af143.js +948 -0
  12. package/dist/catalyst/app-globals-a41af143.js.map +1 -0
  13. package/dist/catalyst/app-globals-c6a8b994.js +949 -0
  14. package/dist/catalyst/app-globals-c6a8b994.js.map +1 -0
  15. package/dist/catalyst/cat-alert.entry.js +33 -0
  16. package/dist/catalyst/cat-alert.entry.js.map +1 -0
  17. package/dist/catalyst/cat-badge.entry.js +44 -0
  18. package/dist/catalyst/cat-badge.entry.js.map +1 -0
  19. package/dist/catalyst/cat-button.entry.js +298 -0
  20. package/dist/catalyst/cat-button.entry.js.map +1 -0
  21. package/dist/catalyst/cat-card.entry.js +17 -0
  22. package/dist/catalyst/cat-card.entry.js.map +1 -0
  23. package/dist/catalyst/cat-checkbox.entry.js +75 -0
  24. package/dist/catalyst/cat-checkbox.entry.js.map +1 -0
  25. package/dist/catalyst/cat-i18n-registry-2a6187c9.js +75 -0
  26. package/dist/catalyst/cat-i18n-registry-2a6187c9.js.map +1 -0
  27. package/dist/catalyst/cat-i18n-registry-330db605.js +74 -0
  28. package/dist/catalyst/cat-i18n-registry-330db605.js.map +1 -0
  29. package/dist/catalyst/cat-i18n-registry-83d20604.js +74 -0
  30. package/dist/catalyst/cat-i18n-registry-83d20604.js.map +1 -0
  31. package/dist/catalyst/cat-i18n-registry-dd55821d.js +73 -0
  32. package/dist/catalyst/cat-i18n-registry-dd55821d.js.map +1 -0
  33. package/dist/catalyst/cat-i18n-registry-f6560651.js +75 -0
  34. package/dist/catalyst/cat-i18n-registry-f6560651.js.map +1 -0
  35. package/dist/{esm/cat-icon-registry-59da2e37.js → catalyst/cat-icon-registry-2dcfc9fb.js} +16 -2
  36. package/dist/catalyst/cat-icon-registry-2dcfc9fb.js.map +1 -0
  37. package/dist/catalyst/cat-icon.entry.js +31 -0
  38. package/dist/catalyst/cat-icon.entry.js.map +1 -0
  39. package/dist/catalyst/cat-input.entry.js +111 -0
  40. package/dist/catalyst/cat-input.entry.js.map +1 -0
  41. package/dist/catalyst/cat-menu.entry.js +850 -0
  42. package/dist/catalyst/cat-menu.entry.js.map +1 -0
  43. package/dist/catalyst/cat-radio.entry.js +66 -0
  44. package/dist/catalyst/cat-radio.entry.js.map +1 -0
  45. package/dist/catalyst/cat-scrollable.entry.js +4522 -0
  46. package/dist/catalyst/cat-scrollable.entry.js.map +1 -0
  47. package/dist/catalyst/cat-skeleton.entry.js +55 -0
  48. package/dist/catalyst/cat-skeleton.entry.js.map +1 -0
  49. package/dist/catalyst/cat-spinner.entry.js +23 -0
  50. package/dist/catalyst/cat-spinner.entry.js.map +1 -0
  51. package/dist/catalyst/cat-textarea.entry.js +87 -0
  52. package/dist/catalyst/cat-textarea.entry.js.map +1 -0
  53. package/dist/catalyst/cat-toggle.entry.js +66 -0
  54. package/dist/catalyst/cat-toggle.entry.js.map +1 -0
  55. package/dist/catalyst/cat-tooltip.entry.js +129 -0
  56. package/dist/catalyst/cat-tooltip.entry.js.map +1 -0
  57. package/dist/catalyst/catalyst.css +2033 -1
  58. package/dist/catalyst/catalyst.esm.js +133 -1
  59. package/dist/catalyst/catalyst.esm.js.map +1 -1
  60. package/dist/catalyst/css-shim-e6dd2538.js +6 -0
  61. package/dist/catalyst/css-shim-e6dd2538.js.map +1 -0
  62. package/dist/catalyst/dom-7fc649b0.js +75 -0
  63. package/dist/catalyst/dom-7fc649b0.js.map +1 -0
  64. package/dist/catalyst/first-tabbable-2d9f9e9a.js +2123 -0
  65. package/dist/catalyst/first-tabbable-2d9f9e9a.js.map +1 -0
  66. package/dist/catalyst/index-471d4e05.js +3059 -0
  67. package/dist/catalyst/index-471d4e05.js.map +1 -0
  68. package/dist/catalyst/index-bbb694f5.js +3059 -0
  69. package/dist/catalyst/index-bbb694f5.js.map +1 -0
  70. package/dist/catalyst/index.esm.js +4 -1
  71. package/dist/catalyst/index.esm.js.map +1 -1
  72. package/dist/catalyst/loglevel-7f0f71af.js +346 -0
  73. package/dist/catalyst/loglevel-7f0f71af.js.map +1 -0
  74. package/dist/catalyst/shadow-css-4d56fa31.js +390 -0
  75. package/dist/catalyst/shadow-css-4d56fa31.js.map +1 -0
  76. package/dist/cjs/app-globals-aaefc070.js +950 -0
  77. package/dist/cjs/app-globals-aaefc070.js.map +1 -0
  78. package/dist/cjs/cat-alert.cjs.entry.js +37 -0
  79. package/dist/cjs/cat-alert.cjs.entry.js.map +1 -0
  80. package/dist/cjs/cat-badge.cjs.entry.js +48 -0
  81. package/dist/cjs/cat-badge.cjs.entry.js.map +1 -0
  82. package/dist/cjs/cat-button.cjs.entry.js +302 -0
  83. package/dist/cjs/cat-button.cjs.entry.js.map +1 -0
  84. package/dist/cjs/cat-card.cjs.entry.js +21 -0
  85. package/dist/cjs/cat-card.cjs.entry.js.map +1 -0
  86. package/dist/cjs/cat-checkbox.cjs.entry.js +79 -0
  87. package/dist/cjs/cat-checkbox.cjs.entry.js.map +1 -0
  88. package/dist/cjs/cat-i18n-registry-a1379d1e.js +76 -0
  89. package/dist/cjs/cat-i18n-registry-a1379d1e.js.map +1 -0
  90. package/dist/cjs/{cat-icon-registry-850c538c.js → cat-icon-registry-74247389.js} +16 -2
  91. package/dist/cjs/cat-icon-registry-74247389.js.map +1 -0
  92. package/dist/cjs/cat-icon.cjs.entry.js +35 -0
  93. package/dist/cjs/cat-icon.cjs.entry.js.map +1 -0
  94. package/dist/cjs/cat-input.cjs.entry.js +115 -0
  95. package/dist/cjs/cat-input.cjs.entry.js.map +1 -0
  96. package/dist/cjs/cat-menu.cjs.entry.js +854 -0
  97. package/dist/cjs/cat-menu.cjs.entry.js.map +1 -0
  98. package/dist/cjs/cat-radio.cjs.entry.js +70 -0
  99. package/dist/cjs/cat-radio.cjs.entry.js.map +1 -0
  100. package/dist/cjs/cat-scrollable.cjs.entry.js +4526 -0
  101. package/dist/cjs/cat-scrollable.cjs.entry.js.map +1 -0
  102. package/dist/cjs/cat-skeleton.cjs.entry.js +59 -0
  103. package/dist/cjs/cat-skeleton.cjs.entry.js.map +1 -0
  104. package/dist/cjs/cat-spinner.cjs.entry.js +27 -0
  105. package/dist/cjs/cat-spinner.cjs.entry.js.map +1 -0
  106. package/dist/cjs/cat-textarea.cjs.entry.js +91 -0
  107. package/dist/cjs/cat-textarea.cjs.entry.js.map +1 -0
  108. package/dist/cjs/cat-toggle.cjs.entry.js +70 -0
  109. package/dist/cjs/cat-toggle.cjs.entry.js.map +1 -0
  110. package/dist/cjs/cat-tooltip.cjs.entry.js +133 -0
  111. package/dist/cjs/cat-tooltip.cjs.entry.js.map +1 -0
  112. package/dist/cjs/catalyst.cjs.js +118 -6
  113. package/dist/cjs/catalyst.cjs.js.map +1 -1
  114. package/dist/cjs/css-shim-6ca600c2.js +8 -0
  115. package/dist/cjs/css-shim-6ca600c2.js.map +1 -0
  116. package/dist/cjs/dom-8d415461.js +77 -0
  117. package/dist/cjs/dom-8d415461.js.map +1 -0
  118. package/dist/cjs/first-tabbable-2068dcc6.js +2133 -0
  119. package/dist/cjs/first-tabbable-2068dcc6.js.map +1 -0
  120. package/dist/cjs/index-abcb3941.js +3094 -0
  121. package/dist/cjs/index-abcb3941.js.map +1 -0
  122. package/dist/cjs/index.cjs.js +4 -1
  123. package/dist/cjs/index.cjs.js.map +1 -1
  124. package/dist/cjs/loader.cjs.js +20 -4
  125. package/dist/cjs/loader.cjs.js.map +1 -1
  126. package/dist/cjs/loglevel-24040e9d.js +348 -0
  127. package/dist/cjs/loglevel-24040e9d.js.map +1 -0
  128. package/dist/cjs/shadow-css-78860e39.js +392 -0
  129. package/dist/cjs/shadow-css-78860e39.js.map +1 -0
  130. package/dist/collection/collection-manifest.json +8 -1
  131. package/dist/collection/components/cat-alert/cat-alert.css +11 -6
  132. package/dist/collection/components/cat-alert/cat-alert.js +19 -8
  133. package/dist/collection/components/cat-alert/cat-alert.js.map +1 -1
  134. package/dist/collection/components/cat-badge/cat-badge.css +17 -17
  135. package/dist/collection/components/cat-badge/cat-badge.js +9 -8
  136. package/dist/collection/components/cat-badge/cat-badge.js.map +1 -1
  137. package/dist/collection/components/cat-button/cat-button.css +18 -8
  138. package/dist/collection/components/cat-button/cat-button.js +32 -8
  139. package/dist/collection/components/cat-button/cat-button.js.map +1 -1
  140. package/dist/collection/components/cat-card/cat-card.css +25 -0
  141. package/dist/collection/components/cat-card/cat-card.js +20 -0
  142. package/dist/collection/components/cat-card/cat-card.js.map +1 -0
  143. package/dist/collection/components/cat-checkbox/cat-checkbox.css +105 -0
  144. package/dist/collection/components/cat-checkbox/cat-checkbox.js +314 -0
  145. package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +1 -0
  146. package/dist/collection/components/cat-i18n/cat-i18n-registry.js +70 -0
  147. package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +1 -0
  148. package/dist/collection/components/cat-icon/cat-icon-registry.js +14 -1
  149. package/dist/collection/components/cat-icon/cat-icon-registry.js.map +1 -1
  150. package/dist/collection/components/cat-icon/cat-icon.css +5 -5
  151. package/dist/collection/components/cat-icon/cat-icon.js +3 -2
  152. package/dist/collection/components/cat-icon/cat-icon.js.map +1 -1
  153. package/dist/collection/components/cat-input/cat-input.css +131 -0
  154. package/dist/collection/components/cat-input/cat-input.js +606 -0
  155. package/dist/collection/components/cat-input/cat-input.js.map +1 -0
  156. package/dist/collection/components/cat-menu/cat-menu.css +2 -1
  157. package/dist/collection/components/cat-menu/cat-menu.js +3 -5
  158. package/dist/collection/components/cat-menu/cat-menu.js.map +1 -1
  159. package/dist/collection/components/cat-radio/cat-radio.css +84 -0
  160. package/dist/collection/components/cat-radio/cat-radio.js +283 -0
  161. package/dist/collection/components/cat-radio/cat-radio.js.map +1 -0
  162. package/dist/collection/components/cat-scrollable/cat-scrollable.js +4 -2
  163. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +1 -1
  164. package/dist/collection/components/cat-skeleton/cat-skeleton.css +30 -30
  165. package/dist/collection/components/cat-skeleton/cat-skeleton.js +4 -4
  166. package/dist/collection/components/cat-skeleton/cat-skeleton.js.map +1 -1
  167. package/dist/collection/components/cat-spinner/cat-spinner.css +7 -7
  168. package/dist/collection/components/cat-spinner/cat-spinner.js +1 -1
  169. package/dist/collection/components/cat-spinner/cat-spinner.js.map +1 -1
  170. package/dist/collection/components/cat-textarea/cat-textarea.css +74 -0
  171. package/dist/collection/components/cat-textarea/cat-textarea.js +393 -0
  172. package/dist/collection/components/cat-textarea/cat-textarea.js.map +1 -0
  173. package/dist/collection/components/cat-toggle/cat-toggle.css +93 -0
  174. package/dist/collection/components/cat-toggle/cat-toggle.js +283 -0
  175. package/dist/collection/components/cat-toggle/cat-toggle.js.map +1 -0
  176. package/dist/collection/components/cat-tooltip/cat-tooltip.css +41 -0
  177. package/dist/collection/components/cat-tooltip/cat-tooltip.js +254 -0
  178. package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +1 -0
  179. package/dist/collection/index.js +1 -0
  180. package/dist/collection/index.js.map +1 -1
  181. package/dist/collection/init.js +9 -1
  182. package/dist/collection/init.js.map +1 -1
  183. package/dist/collection/utils/first-tabbable.js +6 -0
  184. package/dist/collection/utils/first-tabbable.js.map +1 -0
  185. package/dist/collection/utils/is-touch-screen.js +3 -0
  186. package/dist/collection/utils/is-touch-screen.js.map +1 -0
  187. package/dist/components/cat-alert.js +15 -6
  188. package/dist/components/cat-alert.js.map +1 -1
  189. package/dist/components/cat-badge.js +7 -7
  190. package/dist/components/cat-badge.js.map +1 -1
  191. package/dist/components/cat-button.js +1 -647
  192. package/dist/components/cat-button.js.map +1 -1
  193. package/dist/components/cat-button2.js +346 -0
  194. package/dist/components/cat-button2.js.map +1 -0
  195. package/dist/components/cat-card.d.ts +11 -0
  196. package/dist/components/cat-card.js +35 -0
  197. package/dist/components/cat-card.js.map +1 -0
  198. package/dist/components/cat-checkbox.d.ts +11 -0
  199. package/dist/components/cat-checkbox.js +103 -0
  200. package/dist/components/cat-checkbox.js.map +1 -0
  201. package/dist/components/cat-i18n-registry.js +74 -0
  202. package/dist/components/cat-i18n-registry.js.map +1 -0
  203. package/dist/components/cat-icon-registry.js +15 -1
  204. package/dist/components/cat-icon-registry.js.map +1 -1
  205. package/dist/components/cat-icon2.js +3 -2
  206. package/dist/components/cat-icon2.js.map +1 -1
  207. package/dist/components/cat-input.d.ts +11 -0
  208. package/dist/components/cat-input.js +172 -0
  209. package/dist/components/cat-input.js.map +1 -0
  210. package/dist/components/cat-menu.js +12 -1520
  211. package/dist/components/cat-menu.js.map +1 -1
  212. package/dist/components/cat-radio.d.ts +11 -0
  213. package/dist/components/cat-radio.js +93 -0
  214. package/dist/components/cat-radio.js.map +1 -0
  215. package/dist/components/cat-scrollable.js +3210 -25
  216. package/dist/components/cat-scrollable.js.map +1 -1
  217. package/dist/components/cat-skeleton.js +5 -5
  218. package/dist/components/cat-skeleton.js.map +1 -1
  219. package/dist/components/cat-spinner2.js +2 -2
  220. package/dist/components/cat-spinner2.js.map +1 -1
  221. package/dist/components/cat-textarea.d.ts +11 -0
  222. package/dist/components/cat-textarea.js +119 -0
  223. package/dist/components/cat-textarea.js.map +1 -0
  224. package/dist/components/cat-toggle.d.ts +11 -0
  225. package/dist/components/cat-toggle.js +93 -0
  226. package/dist/components/cat-toggle.js.map +1 -0
  227. package/dist/components/cat-tooltip.d.ts +11 -0
  228. package/dist/components/cat-tooltip.js +154 -0
  229. package/dist/components/cat-tooltip.js.map +1 -0
  230. package/dist/components/first-tabbable.js +2123 -0
  231. package/dist/components/first-tabbable.js.map +1 -0
  232. package/dist/components/index.js +778 -0
  233. package/dist/components/index.js.map +1 -1
  234. package/dist/components/loglevel.js +346 -0
  235. package/dist/components/loglevel.js.map +1 -0
  236. package/dist/esm/app-globals-3dd6a26b.js +948 -0
  237. package/dist/esm/app-globals-3dd6a26b.js.map +1 -0
  238. package/dist/esm/cat-alert.entry.js +33 -0
  239. package/dist/esm/cat-alert.entry.js.map +1 -0
  240. package/dist/esm/cat-badge.entry.js +44 -0
  241. package/dist/esm/cat-badge.entry.js.map +1 -0
  242. package/dist/esm/cat-button.entry.js +298 -0
  243. package/dist/esm/cat-button.entry.js.map +1 -0
  244. package/dist/esm/cat-card.entry.js +17 -0
  245. package/dist/esm/cat-card.entry.js.map +1 -0
  246. package/dist/esm/cat-checkbox.entry.js +75 -0
  247. package/dist/esm/cat-checkbox.entry.js.map +1 -0
  248. package/dist/esm/cat-i18n-registry-83d20604.js +74 -0
  249. package/dist/esm/cat-i18n-registry-83d20604.js.map +1 -0
  250. package/dist/esm/cat-icon-registry-2dcfc9fb.js +59 -0
  251. package/dist/esm/cat-icon-registry-2dcfc9fb.js.map +1 -0
  252. package/dist/esm/cat-icon.entry.js +31 -0
  253. package/dist/esm/cat-icon.entry.js.map +1 -0
  254. package/dist/esm/cat-input.entry.js +111 -0
  255. package/dist/esm/cat-input.entry.js.map +1 -0
  256. package/dist/esm/cat-menu.entry.js +850 -0
  257. package/dist/esm/cat-menu.entry.js.map +1 -0
  258. package/dist/esm/cat-radio.entry.js +66 -0
  259. package/dist/esm/cat-radio.entry.js.map +1 -0
  260. package/dist/esm/cat-scrollable.entry.js +4522 -0
  261. package/dist/esm/cat-scrollable.entry.js.map +1 -0
  262. package/dist/esm/cat-skeleton.entry.js +55 -0
  263. package/dist/esm/cat-skeleton.entry.js.map +1 -0
  264. package/dist/esm/cat-spinner.entry.js +23 -0
  265. package/dist/esm/cat-spinner.entry.js.map +1 -0
  266. package/dist/esm/cat-textarea.entry.js +87 -0
  267. package/dist/esm/cat-textarea.entry.js.map +1 -0
  268. package/dist/esm/cat-toggle.entry.js +66 -0
  269. package/dist/esm/cat-toggle.entry.js.map +1 -0
  270. package/dist/esm/cat-tooltip.entry.js +129 -0
  271. package/dist/esm/cat-tooltip.entry.js.map +1 -0
  272. package/dist/esm/catalyst.js +118 -6
  273. package/dist/esm/catalyst.js.map +1 -1
  274. package/dist/esm/css-shim-e6dd2538.js +6 -0
  275. package/dist/esm/css-shim-e6dd2538.js.map +1 -0
  276. package/dist/esm/dom-7fc649b0.js +75 -0
  277. package/dist/esm/dom-7fc649b0.js.map +1 -0
  278. package/dist/esm/first-tabbable-2d9f9e9a.js +2123 -0
  279. package/dist/esm/first-tabbable-2d9f9e9a.js.map +1 -0
  280. package/dist/esm/index-471d4e05.js +3059 -0
  281. package/dist/esm/index-471d4e05.js.map +1 -0
  282. package/dist/esm/index.js +3 -1
  283. package/dist/esm/index.js.map +1 -1
  284. package/dist/esm/loader.js +20 -4
  285. package/dist/esm/loader.js.map +1 -1
  286. package/dist/esm/loglevel-7f0f71af.js +346 -0
  287. package/dist/esm/loglevel-7f0f71af.js.map +1 -0
  288. package/dist/esm/shadow-css-4d56fa31.js +390 -0
  289. package/dist/esm/shadow-css-4d56fa31.js.map +1 -0
  290. package/dist/types/components/cat-alert/cat-alert.d.ts +4 -2
  291. package/dist/types/components/cat-alert/cat-alert.e2e.d.ts +1 -0
  292. package/dist/types/components/cat-alert/cat-alert.spec.d.ts +1 -0
  293. package/dist/types/components/cat-badge/cat-badge.d.ts +3 -2
  294. package/dist/types/components/cat-badge/cat-badge.e2e.d.ts +1 -0
  295. package/dist/types/components/cat-badge/cat-badge.spec.d.ts +1 -0
  296. package/dist/types/components/cat-button/cat-button.d.ts +8 -3
  297. package/dist/types/components/cat-button/cat-button.e2e.d.ts +1 -0
  298. package/dist/types/components/cat-button/cat-button.spec.d.ts +1 -0
  299. package/dist/types/components/cat-card/cat-card.d.ts +7 -0
  300. package/dist/types/components/cat-card/cat-card.e2e.d.ts +1 -0
  301. package/dist/types/components/cat-card/cat-card.spec.d.ts +1 -0
  302. package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +69 -0
  303. package/dist/types/components/cat-checkbox/cat-checkbox.e2e.d.ts +1 -0
  304. package/dist/types/components/cat-checkbox/cat-checkbox.spec.d.ts +1 -0
  305. package/dist/types/components/cat-i18n/cat-i18n-registry.d.ts +18 -0
  306. package/dist/types/components/cat-icon/cat-icon-registry.d.ts +4 -4
  307. package/dist/types/components/cat-icon/cat-icon.d.ts +1 -1
  308. package/dist/types/components/cat-icon/cat-icon.e2e.d.ts +1 -0
  309. package/dist/types/components/cat-icon/cat-icon.spec.d.ts +1 -0
  310. package/dist/types/components/cat-input/cat-input.d.ts +130 -0
  311. package/dist/types/components/cat-input/cat-input.e2e.d.ts +1 -0
  312. package/dist/types/components/cat-input/cat-input.spec.d.ts +1 -0
  313. package/dist/types/components/cat-menu/cat-menu.d.ts +0 -1
  314. package/dist/types/components/cat-menu/cat-menu.e2e.d.ts +1 -0
  315. package/dist/types/components/cat-menu/cat-menu.spec.d.ts +1 -0
  316. package/dist/types/components/cat-radio/cat-radio.d.ts +63 -0
  317. package/dist/types/components/cat-radio/cat-radio.e2e.d.ts +1 -0
  318. package/dist/types/components/cat-radio/cat-radio.spec.d.ts +1 -0
  319. package/dist/types/components/cat-scrollable/cat-scrollable.d.ts +3 -1
  320. package/dist/types/components/cat-scrollable/cat-scrollable.e2e.d.ts +1 -0
  321. package/dist/types/components/cat-scrollable/cat-scrollable.spec.d.ts +1 -0
  322. package/dist/types/components/cat-skeleton/cat-skeleton.e2e.d.ts +1 -0
  323. package/dist/types/components/cat-skeleton/cat-skeleton.spec.d.ts +1 -0
  324. package/dist/types/components/cat-spinner/cat-spinner.e2e.d.ts +1 -0
  325. package/dist/types/components/cat-spinner/cat-spinner.spec.d.ts +1 -0
  326. package/dist/types/components/cat-textarea/cat-textarea.d.ts +85 -0
  327. package/dist/types/components/cat-textarea/cat-textarea.e2e.d.ts +1 -0
  328. package/dist/types/components/cat-textarea/cat-textarea.spec.d.ts +1 -0
  329. package/dist/types/components/cat-toggle/cat-toggle.d.ts +64 -0
  330. package/dist/types/components/cat-toggle/cat-toggle.e2e.d.ts +1 -0
  331. package/dist/types/components/cat-toggle/cat-toggle.spec.d.ts +1 -0
  332. package/dist/types/components/cat-tooltip/cat-tooltip.d.ts +46 -0
  333. package/dist/types/components/cat-tooltip/cat-tooltip.e2e.d.ts +1 -0
  334. package/dist/types/components/cat-tooltip/cat-tooltip.spec.d.ts +1 -0
  335. package/dist/types/components.d.ts +680 -4
  336. package/dist/types/index.d.ts +1 -0
  337. package/dist/types/utils/first-tabbable.d.ts +4 -0
  338. package/dist/types/utils/is-touch-screen.d.ts +2 -0
  339. package/dist/types/utils/media-matcher.spec.d.ts +1 -0
  340. package/package.json +9 -7
  341. package/dist/catalyst/p-31b500c7.entry.js +0 -10
  342. package/dist/catalyst/p-31b500c7.entry.js.map +0 -1
  343. package/dist/catalyst/p-ed826597.js +0 -2
  344. package/dist/catalyst/p-ed826597.js.map +0 -1
  345. package/dist/catalyst/p-ef0a8ae9.js +0 -2
  346. package/dist/catalyst/p-ef0a8ae9.js.map +0 -1
  347. package/dist/catalyst/p-f151cb13.js +0 -2
  348. package/dist/catalyst/p-f151cb13.js.map +0 -1
  349. package/dist/cjs/app-globals-7f2b1f8e.js +0 -173
  350. package/dist/cjs/app-globals-7f2b1f8e.js.map +0 -1
  351. package/dist/cjs/cat-alert_8.cjs.entry.js +0 -4450
  352. package/dist/cjs/cat-alert_8.cjs.entry.js.map +0 -1
  353. package/dist/cjs/cat-icon-registry-850c538c.js.map +0 -1
  354. package/dist/cjs/index-c0881ae0.js +0 -1348
  355. package/dist/cjs/index-c0881ae0.js.map +0 -1
  356. package/dist/collection/utils/utils.js +0 -4
  357. package/dist/collection/utils/utils.js.map +0 -1
  358. package/dist/esm/app-globals-8af9b2cf.js +0 -171
  359. package/dist/esm/app-globals-8af9b2cf.js.map +0 -1
  360. package/dist/esm/cat-alert_8.entry.js +0 -4439
  361. package/dist/esm/cat-alert_8.entry.js.map +0 -1
  362. package/dist/esm/cat-icon-registry-59da2e37.js.map +0 -1
  363. package/dist/esm/index-0ff35bca.js +0 -1320
  364. package/dist/esm/index-0ff35bca.js.map +0 -1
  365. package/dist/types/utils/utils.d.ts +0 -1
@@ -0,0 +1,74 @@
1
+ import { l as loglevel } from './loglevel-7f0f71af.js';
2
+
3
+ class CatI18nRegistry {
4
+ constructor() {
5
+ this.lang = 'en';
6
+ this.messages = new Map();
7
+ // hide constructor
8
+ }
9
+ static getInstance() {
10
+ if (!CatI18nRegistry.instance) {
11
+ CatI18nRegistry.instance = new CatI18nRegistry();
12
+ }
13
+ return CatI18nRegistry.instance;
14
+ }
15
+ getLanguage() {
16
+ return this.lang;
17
+ }
18
+ setLanguage(lang) {
19
+ this.lang = lang;
20
+ }
21
+ getMessage(key) {
22
+ var _a;
23
+ const message = (_a = this.messages.get(this.lang)) === null || _a === void 0 ? void 0 : _a.get(key);
24
+ if (!message) {
25
+ loglevel.error(`[CatI18nRegistry] Unknown message for lang ${this.lang}: ${key}`);
26
+ }
27
+ return message;
28
+ }
29
+ addMessage(lang, key, message) {
30
+ this.getDict(lang).set(key, message);
31
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${key}`);
32
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, key }));
33
+ return this;
34
+ }
35
+ addMessages(lang, i18n) {
36
+ const dict = this.getDict(lang);
37
+ Object.entries(i18n).forEach(([key, message]) => dict.set(key, message));
38
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${Object.keys(i18n).concat(', ')}`);
39
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys: Object.keys(i18n) }));
40
+ return this;
41
+ }
42
+ removeMessage(lang, key) {
43
+ this.getDict(lang).delete(key);
44
+ loglevel.info(`[CatI18nRegistry] Removed message for lang ${lang}: ${key}`);
45
+ window.dispatchEvent(this.buildEvent('cat-i18n-removed', { lang, key }));
46
+ return this;
47
+ }
48
+ removeMessages(lang, keys) {
49
+ const dict = this.getDict(lang);
50
+ keys.forEach(key => dict.delete(key));
51
+ loglevel.info(`[CatI18nRegistry] Removed messages for lang ${lang}: ${keys.concat(', ')}`);
52
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys }));
53
+ return this;
54
+ }
55
+ buildEvent(name, detail) {
56
+ return new CustomEvent(name, {
57
+ bubbles: true,
58
+ composed: true,
59
+ detail
60
+ });
61
+ }
62
+ getDict(lang) {
63
+ let messages = this.messages.get(lang);
64
+ if (!messages) {
65
+ messages = new Map();
66
+ this.messages.set(lang, messages);
67
+ }
68
+ return messages;
69
+ }
70
+ }
71
+
72
+ export { CatI18nRegistry as C };
73
+
74
+ //# sourceMappingURL=cat-i18n-registry-83d20604.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-i18n-registry-83d20604.js","mappings":"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","names":["log"],"sources":["./src/components/cat-i18n/cat-i18n-registry.ts"],"sourcesContent":["import log from 'loglevel';\n\nexport class CatI18nRegistry {\n private static instance: CatI18nRegistry;\n\n private lang = 'en';\n private readonly messages: Map<string, Map<string, string>> = new Map();\n\n private constructor() {\n // hide constructor\n }\n\n static getInstance(): CatI18nRegistry {\n if (!CatI18nRegistry.instance) {\n CatI18nRegistry.instance = new CatI18nRegistry();\n }\n return CatI18nRegistry.instance;\n }\n\n getLanguage(): string {\n return this.lang;\n }\n\n setLanguage(lang: string): void {\n this.lang = lang;\n }\n\n getMessage(key: string): string | undefined {\n const message = this.messages.get(this.lang)?.get(key);\n if (!message) {\n log.error(`[CatI18nRegistry] Unknown message for lang ${this.lang}: ${key}`);\n }\n return message;\n }\n\n addMessage(lang: string, key: string, message: string): CatI18nRegistry {\n this.getDict(lang).set(key, message);\n log.info(`[CatI18nRegistry] Added message for lang ${lang}: ${key}`);\n window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, key }));\n return this;\n }\n\n addMessages(lang: string, i18n: { [key: string]: string }): CatI18nRegistry {\n const dict = this.getDict(lang);\n Object.entries(i18n).forEach(([key, message]) => dict.set(key, message));\n log.info(`[CatI18nRegistry] Added message for lang ${lang}: ${Object.keys(i18n).concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys: Object.keys(i18n) }));\n return this;\n }\n\n removeMessage(lang: string, key: string): CatI18nRegistry {\n this.getDict(lang).delete(key);\n log.info(`[CatI18nRegistry] Removed message for lang ${lang}: ${key}`);\n window.dispatchEvent(this.buildEvent('cat-i18n-removed', { lang, key }));\n return this;\n }\n\n removeMessages(lang: string, keys: string[]): CatI18nRegistry {\n const dict = this.getDict(lang);\n keys.forEach(key => dict.delete(key));\n log.info(`[CatI18nRegistry] Removed messages for lang ${lang}: ${keys.concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys }));\n return this;\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n\n private getDict(lang: string) {\n let messages = this.messages.get(lang);\n if (!messages) {\n messages = new Map();\n this.messages.set(lang, messages);\n }\n return messages;\n }\n}\n"],"version":3}
@@ -0,0 +1,59 @@
1
+ import { l as loglevel } from './loglevel-7f0f71af.js';
2
+
3
+ class CatIconRegistry {
4
+ constructor() {
5
+ this.icons = new Map();
6
+ // hide constructor
7
+ }
8
+ static getInstance() {
9
+ if (!CatIconRegistry.instance) {
10
+ CatIconRegistry.instance = new CatIconRegistry();
11
+ }
12
+ return CatIconRegistry.instance;
13
+ }
14
+ getIcon(name, setName) {
15
+ const icon = this.icons.get(this.buildName(name, setName));
16
+ if (!icon) {
17
+ loglevel.error(`[CatIconRegistry] Unknown icon${setName ? ` in set ${setName}` : ''}: ${name}`);
18
+ }
19
+ return icon;
20
+ }
21
+ addIcon(name, data, setName) {
22
+ this.icons.set(this.buildName(name, setName), data);
23
+ loglevel.info(`[CatIconRegistry] Added icon${setName ? ` to set ${setName}` : ''}: ${name}`);
24
+ window.dispatchEvent(this.buildEvent('cat-icon-added', { name, setName }));
25
+ return this;
26
+ }
27
+ addIcons(icons, setName) {
28
+ Object.entries(icons).forEach(([name, data]) => this.icons.set(this.buildName(name, setName), data));
29
+ loglevel.info(`[CatIconRegistry] Added icons${setName ? ` to set ${setName}` : ''}: ${Object.keys(icons).concat(', ')}`);
30
+ window.dispatchEvent(this.buildEvent('cat-icons-added', { names: Object.keys(icons), setName }));
31
+ return this;
32
+ }
33
+ removeIcon(name, setName) {
34
+ this.icons.delete(this.buildName(name, setName));
35
+ loglevel.info(`[CatIconRegistry] Removed icon${setName ? ` from set ${setName}` : ''}: ${name}`);
36
+ window.dispatchEvent(this.buildEvent('cat-icon-removed', { name, setName }));
37
+ return this;
38
+ }
39
+ removeIcons(names, setName) {
40
+ names.forEach(name => this.icons.delete(this.buildName(name, setName)));
41
+ loglevel.info(`[CatIconRegistry] Removed icons${setName ? ` from set ${setName}` : ''}: ${names.concat(', ')}`);
42
+ window.dispatchEvent(this.buildEvent('cat-icons-removed', { names, setName }));
43
+ return this;
44
+ }
45
+ buildName(name, setName) {
46
+ return setName ? `${setName}:name` : name;
47
+ }
48
+ buildEvent(name, detail) {
49
+ return new CustomEvent(name, {
50
+ bubbles: true,
51
+ composed: true,
52
+ detail
53
+ });
54
+ }
55
+ }
56
+
57
+ export { CatIconRegistry as C };
58
+
59
+ //# sourceMappingURL=cat-icon-registry-2dcfc9fb.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-icon-registry-2dcfc9fb.js","mappings":"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","names":["log"],"sources":["./src/components/cat-icon/cat-icon-registry.ts"],"sourcesContent":["import log from 'loglevel';\n\nexport class CatIconRegistry {\n private static instance: CatIconRegistry;\n\n private readonly icons: Map<string, string> = new Map();\n\n private constructor() {\n // hide constructor\n }\n\n static getInstance(): CatIconRegistry {\n if (!CatIconRegistry.instance) {\n CatIconRegistry.instance = new CatIconRegistry();\n }\n return CatIconRegistry.instance;\n }\n\n getIcon(name: string, setName?: string): string | undefined {\n const icon = this.icons.get(this.buildName(name, setName));\n if (!icon) {\n log.error(`[CatIconRegistry] Unknown icon${setName ? ` in set ${setName}` : ''}: ${name}`);\n }\n return icon;\n }\n\n addIcon(name: string, data: string, setName?: string): CatIconRegistry {\n this.icons.set(this.buildName(name, setName), data);\n log.info(`[CatIconRegistry] Added icon${setName ? ` to set ${setName}` : ''}: ${name}`);\n window.dispatchEvent(this.buildEvent('cat-icon-added', { name, setName }));\n return this;\n }\n\n addIcons(icons: { [name: string]: string }, setName?: string): CatIconRegistry {\n Object.entries(icons).forEach(([name, data]) => this.icons.set(this.buildName(name, setName), data));\n log.info(`[CatIconRegistry] Added icons${setName ? ` to set ${setName}` : ''}: ${Object.keys(icons).concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-icons-added', { names: Object.keys(icons), setName }));\n return this;\n }\n\n removeIcon(name: string, setName?: string): CatIconRegistry {\n this.icons.delete(this.buildName(name, setName));\n log.info(`[CatIconRegistry] Removed icon${setName ? ` from set ${setName}` : ''}: ${name}`);\n window.dispatchEvent(this.buildEvent('cat-icon-removed', { name, setName }));\n return this;\n }\n\n removeIcons(names: string[], setName?: string): CatIconRegistry {\n names.forEach(name => this.icons.delete(this.buildName(name, setName)));\n log.info(`[CatIconRegistry] Removed icons${setName ? ` from set ${setName}` : ''}: ${names.concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-icons-removed', { names, setName }));\n return this;\n }\n\n private buildName(name: string, setName?: string) {\n return setName ? `${setName}:name` : name;\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n}\n"],"version":3}
@@ -0,0 +1,31 @@
1
+ import { r as registerInstance, h } from './index-471d4e05.js';
2
+ import { C as CatIconRegistry } from './cat-icon-registry-2dcfc9fb.js';
3
+ import './loglevel-7f0f71af.js';
4
+
5
+ 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;width:1em;height: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}";
6
+
7
+ const CatIcon = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ this.iconRegistry = CatIconRegistry.getInstance();
11
+ /**
12
+ * The name of the icon.
13
+ */
14
+ this.icon = '';
15
+ /**
16
+ * The size of the icon.
17
+ */
18
+ this.size = 'm';
19
+ }
20
+ render() {
21
+ return (h("span", { innerHTML: this.iconRegistry.getIcon(this.icon), "aria-label": this.a11yLabel, "aria-hidden": this.a11yLabel ? null : 'true', part: "icon", class: {
22
+ icon: true,
23
+ [`icon-${this.size}`]: this.size !== 'inline'
24
+ } }));
25
+ }
26
+ };
27
+ CatIcon.style = catIconCss;
28
+
29
+ export { CatIcon as cat_icon };
30
+
31
+ //# sourceMappingURL=cat-icon.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-icon.entry.js","mappings":";;;;AAAA,MAAM,UAAU,GAAG,kZAAkZ;;MCcxZ,OAAO;EALpB;;IAMmB,iBAAY,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;;;;IAKtD,SAAI,GAAG,EAAE,CAAC;;;;IAKV,SAAI,GAA6C,GAAG,CAAC;GAsB9D;EAdC,MAAM;IACJ,QACE,YACE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBACnC,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":[],"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\n:host {\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 width: 1em;\n height: 1em;\n}\n\n// ----- size\n\n@mixin size($size) {\n .icon-#{$size} svg {\n font-size: cat-size($size) * 0.5;\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 } 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 private readonly iconRegistry = CatIconRegistry.getInstance();\n\n /**\n * The name of the icon.\n */\n @Prop() icon = '';\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.iconRegistry.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}
@@ -0,0 +1,111 @@
1
+ import { r as registerInstance, f as createEvent, h, e as Host } from './index-471d4e05.js';
2
+ import { l as loglevel } from './loglevel-7f0f71af.js';
3
+ import { C as CatI18nRegistry } from './cat-i18n-registry-83d20604.js';
4
+
5
+ const catInputCss = ":host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;margin-bottom:1rem}:host([hidden]){display:none}.input-wrapper{display:flex;align-items:stretch;gap:0.5rem;padding:0 0.75rem;height:2.5rem;overflow:hidden;background:white;border-radius:0.25rem;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear}.input-wrapper.input-round{border-radius:10rem}.input-wrapper.input-disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.input-wrapper:not(.input-disabled):hover{box-shadow:0 0 0 2px #d7dbe0}.input-wrapper:not(.input-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}label{display:block;align-self:flex-start}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.text-prefix,.text-suffix{display:inline-flex;align-items:center;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.text-prefix{border-right:1px solid #d7dbe0;padding-right:0.5rem}.text-suffix{border-left:1px solid #d7dbe0;padding-left:0.5rem}.icon-prefix,.icon-suffix{align-self:center}.input-inner-wrapper{display:flex;position:relative}input{font:inherit;margin:0;padding:0;width:100%;min-width:0;border:none;outline:none;background:none}.input-disabled input{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}input.has-clearable{padding-right:2rem}input::placeholder{color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.clearable{position:absolute;top:calc(50% - 1rem);right:-0.25rem}.input-hint{font-size:0.875rem;line-height:1rem;margin:0}";
6
+
7
+ let nextUniqueId = 0;
8
+ const CatInput = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this.catChange = createEvent(this, "catChange", 7);
12
+ this.catFocus = createEvent(this, "catFocus", 7);
13
+ this.catBlur = createEvent(this, "catBlur", 7);
14
+ this.i18n = CatI18nRegistry.getInstance();
15
+ this.id = `cat-input-${nextUniqueId++}`;
16
+ this.inputValue = '';
17
+ /**
18
+ * Whether the input should show a clear button.
19
+ */
20
+ this.clearable = false;
21
+ /**
22
+ * Whether the input is disabled.
23
+ */
24
+ this.disabled = false;
25
+ /**
26
+ * Display the icon on the right.
27
+ */
28
+ this.iconRight = false;
29
+ /**
30
+ * The label for the input.
31
+ */
32
+ this.label = '';
33
+ /**
34
+ * Visually hide the label, but still show it to assistive technologies like screen readers.
35
+ */
36
+ this.labelHidden = false;
37
+ /**
38
+ * The name of the form control. Submitted with the form as part of a name/value pair.
39
+ */
40
+ this.name = '';
41
+ /**
42
+ * The value is not editable.
43
+ */
44
+ this.readonly = false;
45
+ /**
46
+ * A value is required or must be check for the form to be submittable.
47
+ */
48
+ this.required = false;
49
+ /**
50
+ * Use round input edges.
51
+ */
52
+ this.round = false;
53
+ /**
54
+ * Type of form control.
55
+ */
56
+ this.type = 'text';
57
+ }
58
+ onValueChange(value) {
59
+ this.inputValue = '' + (value !== null && value !== void 0 ? value : '');
60
+ }
61
+ componentWillLoad() {
62
+ this.onValueChange(this.value);
63
+ }
64
+ componentWillRender() {
65
+ if (!this.label) {
66
+ loglevel.error('[A11y] Missing ARIA label on input', this);
67
+ }
68
+ }
69
+ /**
70
+ * Sets focus on the input. Use this method instead of `input.focus()`.
71
+ *
72
+ * @param options An optional object providing options to control aspects of
73
+ * the focusing process.
74
+ */
75
+ async setFocus(options) {
76
+ this.input.focus(options);
77
+ }
78
+ /**
79
+ * Clear the input.
80
+ */
81
+ async clear() {
82
+ this.inputValue = '';
83
+ }
84
+ render() {
85
+ return (h(Host, null, this.label && (h("label", { htmlFor: this.id, class: { hidden: this.labelHidden } }, h("span", { part: "label" }, this.label, !this.required && (h("span", { class: "input-optional", "aria-hidden": "true" }, "(", this.i18n.getMessage('input.optional'), ")"))))), h("div", { class: {
86
+ 'input-wrapper': true,
87
+ 'input-round': this.round,
88
+ 'input-disabled': this.disabled
89
+ }, 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" }), h("div", { class: "input-inner-wrapper" }, h("input", { ref: el => (this.input = el), id: this.id, class: {
90
+ 'has-clearable': this.clearable && !this.disabled
91
+ }, autocomplete: this.autoComplete, disabled: this.disabled, max: this.max, maxlength: this.maxLength, min: this.max, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, type: this.type, value: this.inputValue, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), this.clearable && !this.disabled && this.inputValue && (h("cat-button", { class: "clearable", icon: "cross-circle-outlined", "icon-only": "true", size: "s", variant: "text", round: true, "a11y-label": "sdf", onClick: this.clear.bind(this) }, this.i18n.getMessage('input.clear')))), this.icon && this.iconRight && h("cat-icon", { icon: this.icon, class: "icon-suffix" }), this.textSuffix && (h("span", { class: "text-suffix", part: "suffix" }, this.textSuffix))), this.hint && h("p", { class: "input-hint" }, this.hint)));
92
+ }
93
+ onInput(event) {
94
+ this.inputValue = this.input.value;
95
+ this.catChange.emit(event);
96
+ }
97
+ onFocus(event) {
98
+ this.catFocus.emit(event);
99
+ }
100
+ onBlur(event) {
101
+ this.catBlur.emit(event);
102
+ }
103
+ static get watchers() { return {
104
+ "value": ["onValueChange"]
105
+ }; }
106
+ };
107
+ CatInput.style = catInputCss;
108
+
109
+ export { CatInput as cat_input };
110
+
111
+ //# sourceMappingURL=cat-input.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-input.entry.js","mappings":"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","names":["log"],"sources":["./src/components/cat-input/cat-input.scss?tag=cat-input&encapsulation=shadow","./src/components/cat-input/cat-input.tsx"],"sourcesContent":["@use 'variables' as *;\n@use 'mixins' as *;\n\n:host {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n @include cat-body('m');\n margin-bottom: $cat-body-margin-bottom;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.input-wrapper {\n display: flex;\n align-items: stretch;\n gap: 0.5rem;\n padding: 0 0.75rem;\n height: cat-size('m');\n overflow: hidden;\n background: cat-token('color.ui.background.input');\n border-radius: cat-border-radius('m');\n box-shadow: 0 0 0 1px cat-token('color.ui.border.input');\n transition: box-shadow cat-token('time.transition.s') linear;\n\n &.input-round {\n border-radius: 10rem;\n }\n\n &.input-disabled {\n background: cat-token('color.ui.background.inputDisabled');\n cursor: not-allowed;\n color: cat-token('color.ui.font.muted');\n }\n\n &:not(.input-disabled) {\n &:hover {\n box-shadow: 0 0 0 2px cat-token('color.ui.border.input');\n }\n\n &:focus-within {\n outline: 2px solid cat-token('color.ui.border.focus');\n }\n }\n}\n\nlabel {\n display: block;\n align-self: flex-start;\n\n &.hidden {\n @include cat-visually-hidden;\n }\n}\n\n.input-optional {\n margin-left: 0.25rem;\n @include cat-body('xs');\n color: cat-token('color.ui.font.muted');\n}\n\n.text-prefix,\n.text-suffix {\n display: inline-flex;\n align-items: center;\n @include cat-select(none);\n}\n\n.text-prefix {\n border-right: 1px solid cat-token('color.ui.border.input');\n padding-right: 0.5rem;\n}\n\n.text-suffix {\n border-left: 1px solid cat-token('color.ui.border.input');\n padding-left: 0.5rem;\n}\n\n.icon-prefix,\n.icon-suffix {\n align-self: center;\n}\n\n.input-inner-wrapper {\n display: flex;\n position: relative;\n}\n\ninput {\n font: inherit;\n margin: 0;\n padding: 0;\n width: 100%;\n min-width: 0;\n border: none;\n outline: none;\n background: none;\n\n .input-disabled & {\n cursor: not-allowed;\n color: cat-token('color.ui.font.muted');\n }\n\n &.has-clearable {\n padding-right: cat-size('s');\n }\n\n &::placeholder {\n color: cat-token('color.ui.font.muted');\n }\n}\n\n.clearable {\n position: absolute;\n top: calc(50% - cat-size('s') / 2);\n right: -0.25rem;\n}\n\n.input-hint {\n @include cat-body('s');\n margin: 0;\n}\n","import { Component, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport log from 'loglevel';\nimport { CatI18nRegistry } from '../cat-i18n/cat-i18n-registry';\n\nlet nextUniqueId = 0;\n\n/**\n * Inputs are used to allow users to provide text input when the expected input\n * is short. As well as plain text, Input supports various types of text,\n * including passwords and numbers.\n *\n * @part label - The label content.\n * @part prefix - The text prefix.\n * @part suffix - The text suffix.\n */\n@Component({\n tag: 'cat-input',\n styleUrl: 'cat-input.scss',\n shadow: true\n})\nexport class CatInput {\n private readonly i18n = CatI18nRegistry.getInstance();\n private readonly id = `cat-input-${nextUniqueId++}`;\n private input!: HTMLInputElement;\n\n @State() private inputValue = '';\n\n /**\n * Hint for form autofill feature.\n */\n @Prop() autoComplete?: string;\n\n /**\n * Whether the input should show a clear button.\n */\n @Prop() clearable = false;\n\n /**\n * Whether the input is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Optional hint text to be displayed with the input.\n */\n @Prop() hint?: string;\n\n /**\n * The name of an icon to be displayed in the input.\n */\n @Prop() icon?: string;\n\n /**\n * Display the icon on the right.\n */\n @Prop() iconRight = false;\n\n /**\n * The label for the input.\n */\n @Prop() label = '';\n\n /**\n * Visually hide the label, but still show it to assistive technologies like screen readers.\n */\n @Prop() labelHidden = false;\n\n /**\n * A maximum value for numeric values.\n */\n @Prop() max?: number;\n\n /**\n * A maximum length (number of characters) for textual values.\n */\n @Prop() maxLength?: number;\n\n /**\n * A minimum value for numeric values.\n */\n @Prop() min?: number;\n\n /**\n * A minimum length (number of characters) for textual values.\n */\n @Prop() minLength?: number;\n\n /**\n * The name of the form control. Submitted with the form as part of a name/value pair.\n */\n @Prop() name = '';\n\n /**\n * The placeholder text to display within the input.\n */\n @Prop() placeholder?: string;\n\n /**\n * A textual prefix to be displayed in the input.\n */\n @Prop() textPrefix?: string;\n\n /**\n * A textual suffix to be displayed in the input.\n */\n @Prop() textSuffix?: string;\n\n /**\n * The value is not editable.\n */\n @Prop() readonly = false;\n\n /**\n * A value is required or must be check for the form to be submittable.\n */\n @Prop() required = false;\n\n /**\n * Use round input edges.\n */\n @Prop() round = false;\n\n /**\n * Type of form control.\n */\n @Prop() type: 'text' | 'email' | 'password' | 'tel' | 'url' | 'search' | 'number' = 'text';\n\n /**\n * The initial value of the control.\n */\n @Prop() value?: string | number;\n\n /**\n * Emitted when the value is changed.\n */\n @Event() catChange!: EventEmitter;\n\n /**\n * Emitted when the input received focus.\n */\n @Event() catFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() catBlur!: EventEmitter<FocusEvent>;\n\n @Watch('value')\n onValueChange(value?: string | number) {\n this.inputValue = '' + (value ?? '');\n }\n\n componentWillLoad() {\n this.onValueChange(this.value);\n }\n\n componentWillRender(): void {\n if (!this.label) {\n log.error('[A11y] Missing ARIA label on input', this);\n }\n }\n\n /**\n * Sets focus on the input. Use this method instead of `input.focus()`.\n *\n * @param options An optional object providing options to control aspects of\n * the focusing process.\n */\n @Method()\n async setFocus(options?: FocusOptions): Promise<void> {\n this.input.focus(options);\n }\n\n /**\n * Clear the input.\n */\n @Method()\n async clear(): Promise<void> {\n this.inputValue = '';\n }\n\n render() {\n return (\n <Host>\n {this.label && (\n <label htmlFor={this.id} class={{ hidden: this.labelHidden }}>\n <span part=\"label\">\n {this.label}\n {!this.required && (\n <span class=\"input-optional\" aria-hidden=\"true\">\n ({this.i18n.getMessage('input.optional')})\n </span>\n )}\n </span>\n </label>\n )}\n <div\n class={{\n 'input-wrapper': true,\n 'input-round': this.round,\n 'input-disabled': this.disabled\n }}\n onClick={() => this.input.focus()}\n >\n {this.textPrefix && (\n <span class=\"text-prefix\" part=\"prefix\">\n {this.textPrefix}\n </span>\n )}\n {this.icon && !this.iconRight && <cat-icon icon={this.icon} class=\"icon-prefix\"></cat-icon>}\n <div class=\"input-inner-wrapper\">\n <input\n ref={el => (this.input = el as HTMLInputElement)}\n id={this.id}\n class={{\n 'has-clearable': this.clearable && !this.disabled\n }}\n autocomplete={this.autoComplete}\n disabled={this.disabled}\n max={this.max}\n maxlength={this.maxLength}\n min={this.max}\n minlength={this.minLength}\n name={this.name}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n type={this.type}\n value={this.inputValue}\n onInput={this.onInput.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n ></input>\n {this.clearable && !this.disabled && this.inputValue && (\n <cat-button\n class=\"clearable\"\n icon=\"cross-circle-outlined\"\n icon-only=\"true\"\n size=\"s\"\n variant=\"text\"\n round\n a11y-label=\"sdf\"\n onClick={this.clear.bind(this)}\n >\n {this.i18n.getMessage('input.clear')}\n </cat-button>\n )}\n </div>\n {this.icon && this.iconRight && <cat-icon icon={this.icon} class=\"icon-suffix\"></cat-icon>}\n {this.textSuffix && (\n <span class=\"text-suffix\" part=\"suffix\">\n {this.textSuffix}\n </span>\n )}\n </div>\n {this.hint && <p class=\"input-hint\">{this.hint}</p>}\n </Host>\n );\n }\n\n private onInput(event: Event) {\n this.inputValue = this.input.value;\n this.catChange.emit(event);\n }\n\n private onFocus(event: FocusEvent) {\n this.catFocus.emit(event);\n }\n\n private onBlur(event: FocusEvent) {\n this.catBlur.emit(event);\n }\n}\n"],"version":3}