@codeandfunction/callaloo 1.5.0 → 1.7.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.
- package/dist/assets/index.css +1 -0
- package/dist/components/Assets/Icon.vue.d.ts +1 -5
- package/dist/components/Buttons/A11yButton.vue.d.ts +4 -0
- package/dist/components/Buttons/Button.vue.d.ts +152 -71
- package/dist/components/Containers/Card.vue.d.ts +5 -2
- package/dist/components/Containers/Carousel/Carousel.vue.d.ts +11 -8
- package/dist/components/Containers/Disclosure.vue.d.ts +27 -17
- package/dist/components/Indicators/Pill.vue.d.ts +7 -3
- package/dist/components/Navigation/Link.vue.d.ts +13 -5
- package/dist/components/Navigation/NavLink.vue.d.ts +13 -5
- package/dist/components/Navigation/NavSection.vue.d.ts +6 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +488 -2238
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +31 -23
- package/package.json +14 -9
- package/dist/index.umd.cjs +0 -4851
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/icons.svg?raw","../src/types.ts","../src/components/Buttons/A11yButton.vue","../src/components/Indicators/Badge.vue","../src/components/Indicators/Banner.vue","../src/components/Buttons/Button.vue","../src/helper.ts","../src/components/Containers/Card.vue","../src/components/Containers/Carousel/Carousel.vue","../src/components/Form/InputMessages.vue","../src/components/Form/Checkbox.vue","../src/composables/useEsc.ts","../src/components/Containers/Disclosure.vue","../src/components/Typography/Heading.vue","../src/components/Assets/Icon.vue","../src/components/Form/Input.vue","../src/components/Navigation/Link.vue","../src/composables/useDropdown.ts","../src/components/Popups/Menu.vue","../src/components/Navigation/NavSection.vue","../src/components/Indicators/Pill.vue","../src/components/Form/RadioButton.vue","../src/components/Form/Select.vue","../src/components/Loading/Skeleton.vue","../src/components/Loading/Spinner.vue","../src/components/Table/Table.vue","../src/components/Table/TableBody.vue","../src/components/Table/TableCell.vue","../src/components/Table/TableFooter.vue","../src/components/Table/TableHeader.vue","../src/components/Table/TableNestedCell.vue","../src/components/Table/TableRow.vue","../src/components/Typography/Text.vue","../src/components/Form/TextArea.vue","../src/components/Popups/Toast.vue","../src/index.ts"],"sourcesContent":["export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"><symbol id=\\\"tabler:ai\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8 16v-6a2 2 0 1 1 4 0v6m-4-3h4m4-5v8\\\"/></symbol><symbol id=\\\"tabler:archive\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v0a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2m2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8m-9 4h4\\\"/></symbol><symbol id=\\\"tabler:arrow-back-up\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m9 14l-4-4l4-4\\\"/><path d=\\\"M5 10h11a4 4 0 1 1 0 8h-1\\\"/></g></symbol><symbol id=\\\"tabler:arrow-forward-up\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m15 14l4-4l-4-4\\\"/><path d=\\\"M19 10H8a4 4 0 1 0 0 8h1\\\"/></g></symbol><symbol id=\\\"tabler:arrows-move\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m18 9l3 3l-3 3m-3-3h6M6 9l-3 3l3 3m-3-3h6m0 6l3 3l3-3m-3-3v6m3-15l-3-3l-3 3m3-3v6\\\"/></symbol><symbol id=\\\"tabler:arrow-big-up-line\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M9 12H5.414a1 1 0 0 1-.707-1.707l6.586-6.586a1 1 0 0 1 1.414 0l6.586 6.586A1 1 0 0 1 18.586 12H15v6H9zm0 9h6\\\"/></symbol><symbol id=\\\"tabler:arrow-big-down-line\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M15 12h3.586a1 1 0 0 1 .707 1.707l-6.586 6.586a1 1 0 0 1-1.414 0l-6.586-6.586A1 1 0 0 1 5.414 12H9V6h6zm0-9H9\\\"/></symbol><symbol id=\\\"tabler:arrow-back\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m9 11l-4 4l4 4m-4-4h11a4 4 0 0 0 0-8h-1\\\"/></symbol><symbol id=\\\"tabler:arrow-down\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 5v14m6-6l-6 6m-6-6l6 6\\\"/></symbol><symbol id=\\\"tabler:arrow-forward\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m15 11l4 4l-4 4m4-4H8a4 4 0 0 1 0-8h1\\\"/></symbol><symbol id=\\\"tabler:arrow-left\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 12h14M5 12l6 6m-6-6l6-6\\\"/></symbol><symbol id=\\\"tabler:arrow-right\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 12h14m-6 6l6-6m-6-6l6 6\\\"/></symbol><symbol id=\\\"tabler:arrow-up\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 5v14m6-8l-6-6m-6 6l6-6\\\"/></symbol><symbol id=\\\"tabler:arrow-narrow-down\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 5v14m4-4l-4 4m-4-4l4 4\\\"/></symbol><symbol id=\\\"tabler:arrow-narrow-left\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 12h14M5 12l4 4m-4-4l4-4\\\"/></symbol><symbol id=\\\"tabler:arrow-narrow-right\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 12h14m-4 4l4-4m-4-4l4 4\\\"/></symbol><symbol id=\\\"tabler:arrow-narrow-up\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 5v14m4-10l-4-4M8 9l4-4\\\"/></symbol><symbol id=\\\"tabler:arrows-maximize\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M16 4h4v4m-6 2l6-6M8 20H4v-4m0 4l6-6m6 6h4v-4m-6-2l6 6M8 4H4v4m0-4l6 6\\\"/></symbol><symbol id=\\\"tabler:arrows-minimize\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 9h4V5M3 3l6 6m-4 6h4v4m-6 2l6-6m10-6h-4V5m0 4l6-6m-2 12h-4v4m0-4l6 6\\\"/></symbol><symbol id=\\\"tabler:at\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0\\\"/><path d=\\\"M16 12v1.5a2.5 2.5 0 0 0 5 0V12a9 9 0 1 0-5.5 8.28\\\"/></g></symbol><symbol id=\\\"tabler:auth-2fa\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M7 16H3l3.47-4.66A2 2 0 1 0 3 9.8m7 6.2V8h4m-4 4h3m4 4v-6a2 2 0 0 1 4 0v6m-4-3h4\\\"/></symbol><symbol id=\\\"tabler:backspace\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20 6a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H9l-5-5a1.5 1.5 0 0 1 0-2l5-5zm-8 4l4 4m0-4l-4 4\\\"/></symbol><symbol id=\\\"tabler:book\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 19a9 9 0 0 1 9 0a9 9 0 0 1 9 0M3 6a9 9 0 0 1 9 0a9 9 0 0 1 9 0M3 6v13m9-13v13m9-13v13\\\"/></symbol><symbol id=\\\"tabler:brush\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 21v-4a4 4 0 1 1 4 4z\\\"/><path d=\\\"M21 3A16 16 0 0 0 8.2 13.2M21 3a16 16 0 0 1-10.2 12.8\\\"/><path d=\\\"M10.6 9a9 9 0 0 1 4.4 4.4\\\"/></g></symbol><symbol id=\\\"tabler:brand-apple\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8.286 7.008C5.07 7.008 4 10.238 4 12.928C4 16.157 6.143 21 8.286 21c1.165-.05 1.799-.538 3.214-.538c1.406 0 1.607.538 3.214.538S19 17.771 19 15.619c-.03-.011-2.649-.434-2.679-3.23c-.02-2.335 2.589-3.179 2.679-3.228c-1.096-1.606-3.162-2.113-3.75-2.153c-1.535-.12-3.032 1.077-3.75 1.077c-.729 0-2.036-1.077-3.214-1.077M12 4a2 2 0 0 0 2-2a2 2 0 0 0-2 2\\\"/></symbol><symbol id=\\\"tabler:brand-aws\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M17 18.5a15.2 15.2 0 0 1-7.37 1.44A14.6 14.6 0 0 1 3 17m16.5 4c.907-1.411 1.451-3.323 1.5-5c-1.197-.773-2.577-.935-4-1M3 11V6.5a1.5 1.5 0 0 1 3 0V11M3 9h3m3-4l1.2 6L12 7l1.8 4L15 5m3 5.25c0 .414.336.75.75.75H20a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-1a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.25a.75.75 0 0 1 .75.75\\\"/></symbol><symbol id=\\\"tabler:brand-cloudflare\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M13.031 7.007C15.5 7 16.326 8.3 17 10c4 0 4.994 3.825 5 6H2c-.001-1.64 1.36-2.954 3-3c0-1.5 1-3 3-3c.66-1.942 2.562-2.986 5.031-2.993M12 13h6m-1-3l-2.5 6\\\"/></symbol><symbol id=\\\"tabler:brand-facebook-filled\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"currentColor\\\" d=\\\"M18 2a1 1 0 0 1 .993.883L19 3v4a1 1 0 0 1-.883.993L18 8h-3v1h3a1 1 0 0 1 .991 1.131l-.02.112l-1 4a1 1 0 0 1-.858.75L17 15h-2v6a1 1 0 0 1-.883.993L14 22h-4a1 1 0 0 1-.993-.883L9 21v-6H7a1 1 0 0 1-.993-.883L6 14v-4a1 1 0 0 1 .883-.993L7 9h2V8a6 6 0 0 1 5.775-5.996L15 2z\\\"/></symbol><symbol id=\\\"tabler:brand-gitlab\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m21 14l-9 7l-9-7L6 3l3 7h6l3-7z\\\"/></symbol><symbol id=\\\"tabler:brand-github\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2c2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2a4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6c-.6.6-.6 1.2-.5 2V21\\\"/></symbol><symbol id=\\\"tabler:brand-google-filled\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"currentColor\\\" d=\\\"M12 2a9.96 9.96 0 0 1 6.29 2.226a1 1 0 0 1 .04 1.52l-1.51 1.362a1 1 0 0 1-1.265.06a6 6 0 1 0 2.103 6.836l.001-.004h-3.66a1 1 0 0 1-.992-.883L13 13v-2a1 1 0 0 1 1-1h6.945a1 1 0 0 1 .994.89q.06.55.061 1.11c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2\\\"/></symbol><symbol id=\\\"tabler:brand-instagram\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M4 8a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4z\\\"/><path d=\\\"M9 12a3 3 0 1 0 6 0a3 3 0 1 0-6 0m7.5-4.5v.01\\\"/></g></symbol><symbol id=\\\"tabler:brand-linkedin\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm4 5v5m0-8v.01M12 16v-5\\\"/><path d=\\\"M16 16v-3a2 2 0 0 0-4 0\\\"/></g></symbol><symbol id=\\\"tabler:brand-npm\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M1 8h22v7H11v2H7v-2H1zm6 0v7m7-7v7m3-4v4M4 11v4m7-4v1m9-1v4\\\"/></symbol><symbol id=\\\"tabler:brand-nuxt\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m12.146 8.583l-1.3-2.09a1.046 1.046 0 0 0-1.786.017l-5.91 9.908A1.046 1.046 0 0 0 4.047 18H7.96m12.083 0c.743 0 1.201-.843.82-1.505l-4.044-7.013a.936.936 0 0 0-1.638 0l-4.043 7.013c-.382.662.076 1.505.819 1.505z\\\"/></symbol><symbol id=\\\"tabler:brand-react\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M6.306 8.711C3.704 9.434 2 10.637 2 12c0 2.21 4.477 4 10 4c.773 0 1.526-.035 2.248-.102m3.444-.609C20.295 14.567 22 13.363 22 12c0-2.21-4.477-4-10-4c-.773 0-1.526.035-2.25.102\\\"/><path d=\\\"M6.305 15.287C5.629 17.902 5.82 19.98 7 20.66c1.913 1.105 5.703-1.877 8.464-6.66q.581-1.007 1.036-2m1.194-3.284C18.371 6.1 18.181 4.02 17 3.34C15.087 2.235 11.297 5.217 8.536 10c-.387.67-.733 1.34-1.037 2\\\"/><path d=\\\"M12 5.424C10.075 3.532 8.18 2.658 7 3.34C5.087 4.444 5.774 9.217 8.536 14c.386.67.793 1.304 1.212 1.896M12 18.574c1.926 1.893 3.821 2.768 5 2.086c1.913-1.104 1.226-5.877-1.536-10.66q-.563-.976-1.212-1.897M11.5 12.866a1 1 0 1 0 1-1.732a1 1 0 0 0-1 1.732\\\"/></g></symbol><symbol id=\\\"tabler:brand-react-native\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M6.357 9C3.72 9.68 2 10.845 2 12.175C2 14.282 6.405 16 11.85 16c.74 0 1.26-.039 1.95-.097\\\"/><path d=\\\"M9.837 15.9c-.413-.596-.806-1.133-1.18-1.8c-2.751-4.9-3.488-9.77-1.63-10.873c1.15-.697 3.047.253 4.974 2.254\\\"/><path d=\\\"M6.429 15.387c-.702 2.688-.56 4.716.56 5.395c1.783 1.08 5.387-1.958 8.043-6.804q.54-1.005.968-1.978\\\"/><path d=\\\"M12 18.52c1.928 2 3.817 2.95 4.978 2.253c1.85-1.102 1.121-5.972-1.633-10.873c-.384-.677-.777-1.204-1.18-1.8\\\"/><path d=\\\"M17.66 15c2.612-.687 4.34-1.85 4.34-3.176C22 9.714 17.592 8 12.155 8c-.747 0-1.266.029-1.955.087\\\"/><path d=\\\"M8 12c.285-.66.607-1.308.968-1.978c2.647-4.844 6.253-7.89 8.046-6.801c1.11.679 1.262 2.706.56 5.393m-5.314 3.401h-.01c-.01.13-.12.24-.26.24a.263.263 0 0 1-.25-.26c0-.14.11-.25.24-.25h-.01c.13-.01.25.11.25.24\\\"/></g></symbol><symbol id=\\\"tabler:brand-spotify\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0\\\"/><path d=\\\"M8 11.973c2.5-1.473 5.5-.973 7.5.527M9 15c1.5-1 4-1 5 .5M7 9c2-1 6-2 10 .5\\\"/></g></symbol><symbol id=\\\"tabler:brand-tidal\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m5.333 6l3.334 3.25L12 6l3.333 3.25L18.667 6L22 9.25l-3.333 3.25l-3.334-3.25L12 12.5l3.333 3.25L12 19l-3.333-3.25L12 12.5L8.667 9.25L5.333 12.5L2 9.25z\\\"/></symbol><symbol id=\\\"tabler:brand-tiktok\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M21 7.917v4.034A9.95 9.95 0 0 1 16 10v4.5a6.5 6.5 0 1 1-8-6.326V12.5a2.5 2.5 0 1 0 4 2V3h4.083A6.005 6.005 0 0 0 21 7.917\\\"/></symbol><symbol id=\\\"tabler:brand-twitter-filled\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"currentColor\\\" d=\\\"M14.058 3.41c-1.807.767-2.995 2.453-3.056 4.38L11 7.972l-.243-.023C8.365 7.68 6.259 6.437 4.813 4.418a1 1 0 0 0-1.685.092l-.097.186l-.049.099c-.719 1.485-1.19 3.29-1.017 5.203l.03.273c.283 2.263 1.5 4.215 3.779 5.679l.173.107l-.081.043c-1.315.663-2.518.952-3.827.9c-1.056-.04-1.446 1.372-.518 1.878c3.598 1.961 7.461 2.566 10.792 1.6c4.06-1.18 7.152-4.223 8.335-8.433l.127-.495c.238-.993.372-2.006.401-3.024l.003-.332l.393-.779l.44-.862l.214-.434l.118-.247c.265-.565.456-1.033.574-1.43l.014-.056l.008-.018c.22-.593-.166-1.358-.941-1.358l-.122.007a1 1 0 0 0-.231.057l-.086.038a8 8 0 0 1-.88.36l-.356.115l-.271.08l-.772.214c-1.336-1.118-3.144-1.254-5.012-.554l-.211.084z\\\"/></symbol><symbol id=\\\"tabler:brand-vercel\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 19h18L12 4z\\\"/></symbol><symbol id=\\\"tabler:brand-vue\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M16.5 4L12 12L7.5 4\\\"/><path d=\\\"m3 4l9 16l9-16\\\"/></g></symbol><symbol id=\\\"tabler:brand-whatsapp\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m3 21l1.65-3.8a9 9 0 1 1 3.4 2.9z\\\"/><path d=\\\"M9 10a.5.5 0 0 0 1 0V9a.5.5 0 0 0-1 0za5 5 0 0 0 5 5h1a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1\\\"/></g></symbol><symbol id=\\\"tabler:brand-x\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m4 4l11.733 16H20L8.267 4zm0 16l6.768-6.768m2.46-2.46L20 4\\\"/></symbol><symbol id=\\\"tabler:brand-youtube-filled\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"currentColor\\\" d=\\\"M18 3a5 5 0 0 1 5 5v8a5 5 0 0 1-5 5H6a5 5 0 0 1-5-5V8a5 5 0 0 1 5-5zM9 9v6a1 1 0 0 0 1.514.857l5-3a1 1 0 0 0 0-1.714l-5-3A1 1 0 0 0 9 9\\\"/></symbol><symbol id=\\\"tabler:carousel-horizontal\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M7 6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1zm15 11h-1a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1M2 17h1a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H2\\\"/></symbol><symbol id=\\\"tabler:check\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m5 12l5 5L20 7\\\"/></symbol><symbol id=\\\"tabler:chevron-left\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m15 6l-6 6l6 6\\\"/></symbol><symbol id=\\\"tabler:chevron-right\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m9 6l6 6l-6 6\\\"/></symbol><symbol id=\\\"tabler:chevron-up\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m6 15l6-6l6 6\\\"/></symbol><symbol id=\\\"tabler:chevron-down\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m6 9l6 6l6-6\\\"/></symbol><symbol id=\\\"tabler:circle-check\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0\\\"/><path d=\\\"m9 12l2 2l4-4\\\"/></g></symbol><symbol id=\\\"tabler:click\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 12h3m6-9v3M7.8 7.8L5.6 5.6m10.6 2.2l2.2-2.2M7.8 16.2l-2.2 2.2M12 12l9 3l-4 2l-2 4z\\\"/></symbol><symbol id=\\\"tabler:clipboard-copy\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h3m9-9V7a2 2 0 0 0-2-2h-2m-2 12v-1a1 1 0 0 1 1-1h1m3 0h1a1 1 0 0 1 1 1v1m0 3v1a1 1 0 0 1-1 1h-1m-3 0h-1a1 1 0 0 1-1-1v-1\\\"/><path d=\\\"M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v0a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2\\\"/></g></symbol><symbol id=\\\"tabler:clipboard-text\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2\\\"/><path d=\\\"M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v0a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2m0 7h6m-6 4h6\\\"/></g></symbol><symbol id=\\\"tabler:code\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m7 8l-4 4l4 4m10-8l4 4l-4 4M14 4l-4 16\\\"/></symbol><symbol id=\\\"tabler:columns-1\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z\\\"/></symbol><symbol id=\\\"tabler:columns-2\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm9-1v18\\\"/></symbol><symbol id=\\\"tabler:columns-3\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm6-1v18m6-18v18\\\"/></symbol><symbol id=\\\"tabler:command\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M7 9a2 2 0 1 1 2-2v10a2 2 0 1 1-2-2h10a2 2 0 1 1-2 2V7a2 2 0 1 1 2 2z\\\"/></symbol><symbol id=\\\"tabler:components\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m3 12l3 3l3-3l-3-3zm12 0l3 3l3-3l-3-3zM9 6l3 3l3-3l-3-3zm0 12l3 3l3-3l-3-3z\\\"/></symbol><symbol id=\\\"tabler:contrast\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0\\\"/><path d=\\\"M12 17a5 5 0 0 0 0-10z\\\"/></g></symbol><symbol id=\\\"tabler:copy\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z\\\"/><path d=\\\"M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1\\\"/></g></symbol><symbol id=\\\"tabler:dashboard\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M10 13a2 2 0 1 0 4 0a2 2 0 1 0-4 0m3.45-1.45L15.5 9.5\\\"/><path d=\\\"M6.4 20a9 9 0 1 1 11.2 0z\\\"/></g></symbol><symbol id=\\\"tabler:database\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M4 6a8 3 0 1 0 16 0A8 3 0 1 0 4 6\\\"/><path d=\\\"M4 6v6a8 3 0 0 0 16 0V6\\\"/><path d=\\\"M4 12v6a8 3 0 0 0 16 0v-6\\\"/></g></symbol><symbol id=\\\"tabler:x\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M18 6L6 18M6 6l12 12\\\"/></symbol><symbol id=\\\"tabler:devices\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M13 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1z\\\"/><path d=\\\"M18 8V5a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h9m3-9h2\\\"/></g></symbol><symbol id=\\\"tabler:device-desktop\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm4 15h10m-8-4v4m6-4v4\\\"/></symbol><symbol id=\\\"tabler:device-mobile\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M6 5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2zm5-1h2m-1 13v.01\\\"/></symbol><symbol id=\\\"tabler:device-tablet\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M5 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z\\\"/><path d=\\\"M11 17a1 1 0 1 0 2 0a1 1 0 0 0-2 0\\\"/></g></symbol><symbol id=\\\"tabler:device-tv\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zm13-6l-4 4l-4-4\\\"/></symbol><symbol id=\\\"tabler:download\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5l5-5m-5-7v12\\\"/></symbol><symbol id=\\\"tabler:edit-circle\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m12 15l8.385-8.415a2.1 2.1 0 0 0-2.97-2.97L9 12v3zm4-10l3 3\\\"/><path d=\\\"M9 7.07A7 7 0 0 0 10 21a7 7 0 0 0 6.929-6\\\"/></g></symbol><symbol id=\\\"tabler:edit\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M7 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-1\\\"/><path d=\\\"M20.385 6.585a2.1 2.1 0 0 0-2.97-2.97L9 12v3h3zM16 5l3 3\\\"/></g></symbol><symbol id=\\\"tabler:mail\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\"/><path d=\\\"m3 7l9 6l9-6\\\"/></g></symbol><symbol id=\\\"tabler:external-link\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 6H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6m-7 1l9-9m-5 0h5v5\\\"/></symbol><symbol id=\\\"tabler:eye\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M10 12a2 2 0 1 0 4 0a2 2 0 0 0-4 0\\\"/><path d=\\\"M21 12q-3.6 6-9 6t-9-6q3.6-6 9-6t9 6\\\"/></g></symbol><symbol id=\\\"tabler:eye-off\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M10.585 10.587a2 2 0 0 0 2.829 2.828\\\"/><path d=\\\"M16.681 16.673A8.7 8.7 0 0 1 12 18q-5.4 0-9-6q1.908-3.18 4.32-4.674m2.86-1.146A9 9 0 0 1 12 6q5.4 0 9 6q-1 1.665-2.138 2.87M3 3l18 18\\\"/></g></symbol><symbol id=\\\"tabler:file-text\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4\\\"/><path d=\\\"M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2M9 9h1m-1 4h6m-6 4h6\\\"/></g></symbol><symbol id=\\\"tabler:file-type-css\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4\\\"/><path d=\\\"M5 12V5a2 2 0 0 1 2-2h7l5 5v4M8 16.5a1.5 1.5 0 0 0-3 0v3a1.5 1.5 0 0 0 3 0m3 .75c0 .414.336.75.75.75H13a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h1.25a.75.75 0 0 1 .75.75m3 4.5c0 .414.336.75.75.75H19a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h1.25a.75.75 0 0 1 .75.75\\\"/></g></symbol><symbol id=\\\"tabler:file-type-csv\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4\\\"/><path d=\\\"M5 12V5a2 2 0 0 1 2-2h7l5 5v4M7 16.5a1.5 1.5 0 0 0-3 0v3a1.5 1.5 0 0 0 3 0m3 .75c0 .414.336.75.75.75H12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h1.25a.75.75 0 0 1 .75.75m3-.75l2 6l2-6\\\"/></g></symbol><symbol id=\\\"tabler:file-type-html\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4\\\"/><path d=\\\"M5 12V5a2 2 0 0 1 2-2h7l5 5v4M2 21v-6m3 0v6m-3-3h3m15-3v6h2m-9 0v-6l2 3l2-3v6m-9.5-6h3M9 15v6\\\"/></g></symbol><symbol id=\\\"tabler:file-type-png\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4\\\"/><path d=\\\"M5 12V5a2 2 0 0 1 2-2h7l5 5v4m1 3h-1a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h1v-3M5 18h1.5a1.5 1.5 0 0 0 0-3H5v6m6 0v-6l3 6v-6\\\"/></g></symbol><symbol id=\\\"tabler:file-type-jpg\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4\\\"/><path d=\\\"M5 12V5a2 2 0 0 1 2-2h7l5 5v4m-8 6h1.5a1.5 1.5 0 0 0 0-3H11v6m9-6h-1a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h1v-3M5 15h3v4.5a1.5 1.5 0 0 1-3 0\\\"/></g></symbol><symbol id=\\\"tabler:file-type-js\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4M3 15h3v4.5a1.5 1.5 0 0 1-3 0m6 .75c0 .414.336.75.75.75H11a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h1.25a.75.75 0 0 1 .75.75\\\"/><path d=\\\"M5 12V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2h-1\\\"/></g></symbol><symbol id=\\\"tabler:file-type-jsx\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4\\\"/><path d=\\\"M5 12V5a2 2 0 0 1 2-2h7l5 5v4M4 15h3v4.5a1.5 1.5 0 0 1-3 0m6 .75c0 .414.336.75.75.75H12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h1.25a.75.75 0 0 1 .75.75m3-.75l4 6m-4 0l4-6\\\"/></g></symbol><symbol id=\\\"tabler:file-type-svg\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4\\\"/><path d=\\\"M5 12V5a2 2 0 0 1 2-2h7l5 5v4M4 20.25c0 .414.336.75.75.75H6a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H5a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h1.25a.75.75 0 0 1 .75.75m3-.75l2 6l2-6m6 0h-1a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h1v-3\\\"/></g></symbol><symbol id=\\\"tabler:file-type-ts\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4\\\"/><path d=\\\"M5 12V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2h-1\\\"/><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4M9 20.25c0 .414.336.75.75.75H11a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h1.25a.75.75 0 0 1 .75.75M3.5 15h3M5 15v6\\\"/></g></symbol><symbol id=\\\"tabler:file-type-vue\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 3v4a1 1 0 0 0 1 1h4\\\"/><path d=\\\"M5 12V5a2 2 0 0 1 2-2h7l5 5v4M4 15l2 6l2-6m3 0v4.5a1.5 1.5 0 0 0 3 0V15m6 0h-3v6h3m-3-3h2\\\"/></g></symbol><symbol id=\\\"tabler:folder\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 4h4l3 3h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2\\\"/></symbol><symbol id=\\\"tabler:forms\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3M6 3a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3m7-14h7a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-7M5 7H4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h1m12-5h.01M13 12h.01\\\"/></symbol><symbol id=\\\"tabler:heading\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M7 12h10M7 5v14M17 5v14m-2 0h4M15 5h4M5 19h4M5 5h4\\\"/></symbol><symbol id=\\\"tabler:help\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0m9 5v.01\\\"/><path d=\\\"M12 13.5a1.5 1.5 0 0 1 1-1.5a2.6 2.6 0 1 0-3-4\\\"/></g></symbol><symbol id=\\\"tabler:help-circle\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m9 4v.01\\\"/><path d=\\\"M12 13a2 2 0 0 0 .914-3.782a1.98 1.98 0 0 0-2.414.483\\\"/></g></symbol><symbol id=\\\"tabler:help-small\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 16v.01M12 13a2 2 0 0 0 .914-3.782a1.98 1.98 0 0 0-2.414.483\\\"/></symbol><symbol id=\\\"tabler:html\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M13 16V8l2 5l2-5v8M1 16V8m4 0v8m-4-4h4m2-4h4M9 8v8m11-8v8h3\\\"/></symbol><symbol id=\\\"tabler:photo\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M15 8h.01M3 6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3z\\\"/><path d=\\\"m3 16l5-5c.928-.893 2.072-.893 3 0l5 5\\\"/><path d=\\\"m14 14l1-1c.928-.893 2.072-.893 3 0l3 3\\\"/></g></symbol><symbol id=\\\"tabler:info-circle\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m9-3h.01\\\"/><path d=\\\"M11 12h1v4h1\\\"/></g></symbol><symbol id=\\\"tabler:info-small\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 9h.01M11 12h1v4h1\\\"/></symbol><symbol id=\\\"tabler:keyboard\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M2 8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2zm4 2v.01m4-.01v.01m4-.01v.01m4-.01v.01M6 14v.01M18 14v.01M10 14l4 .01\\\"/></symbol><symbol id=\\\"tabler:layers-subtract\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M8 6a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2z\\\"/><path d=\\\"M16 16v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2\\\"/></g></symbol><symbol id=\\\"tabler:layout\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm0 9a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm10-9a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2z\\\"/></symbol><symbol id=\\\"tabler:layout-bottombar\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm0 9h16\\\"/></symbol><symbol id=\\\"tabler:layout-dashboard\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 12h4a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1m10-4h4a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1m0-8h4a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1\\\"/></symbol><symbol id=\\\"tabler:layout-grid\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm10 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zM4 15a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm10 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z\\\"/></symbol><symbol id=\\\"tabler:layout-navbar\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm0 3h16\\\"/></symbol><symbol id=\\\"tabler:layout-sidebar\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm5-2v16\\\"/></symbol><symbol id=\\\"tabler:layout-sidebar-right\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm11-2v16\\\"/></symbol><symbol id=\\\"tabler:link\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m9 15l6-6m-4-3l.463-.536a5 5 0 0 1 7.071 7.072L18 13m-5 5l-.397.534a5.07 5.07 0 0 1-7.127 0a4.97 4.97 0 0 1 0-7.071L6 11\\\"/></symbol><symbol id=\\\"tabler:list\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M9 6h11M9 12h11M9 18h11M5 6v.01M5 12v.01M5 18v.01\\\"/></symbol><symbol id=\\\"tabler:list-numbers\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M11 6h9m-9 6h9m-8 6h8M4 16a2 2 0 1 1 4 0c0 .591-.5 1-1 1.5L4 20h4M6 10V4L4 6\\\"/></symbol><symbol id=\\\"tabler:list-tree\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M9 6h11m-8 6h8m-5 6h5M5 6v.01M8 12v.01M11 18v.01\\\"/></symbol><symbol id=\\\"tabler:login\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M15 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-2\\\"/><path d=\\\"M21 12H8l3-3m0 6l-3-3\\\"/></g></symbol><symbol id=\\\"tabler:logout\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14 8V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-2\\\"/><path d=\\\"M9 12h12l-3-3m0 6l3-3\\\"/></g></symbol><symbol id=\\\"tabler:palette\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M12 21a9 9 0 0 1 0-18c4.97 0 9 3.582 9 8c0 1.06-.474 2.078-1.318 2.828S17.693 15 16.5 15H14a2 2 0 0 0-1 3.75A1.3 1.3 0 0 1 12 21\\\"/><path d=\\\"M7.5 10.5a1 1 0 1 0 2 0a1 1 0 1 0-2 0m4-3a1 1 0 1 0 2 0a1 1 0 1 0-2 0m4 3a1 1 0 1 0 2 0a1 1 0 1 0-2 0\\\"/></g></symbol><symbol id=\\\"tabler:paint\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M5 5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z\\\"/><path d=\\\"M19 6h1a2 2 0 0 1 2 2a5 5 0 0 1-5 5h-5v2m-2 1a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z\\\"/></g></symbol><symbol id=\\\"tabler:marquee\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 6a2 2 0 0 1 2-2m3 0h1.5m3 0H15m3 0a2 2 0 0 1 2 2m0 3v1.5m0 3V15m0 3a2 2 0 0 1-2 2m-3 0h-1.5m-3 0H9m-3 0a2 2 0 0 1-2-2m0-3v-1.5m0-3V9m0-3\\\"/></symbol><symbol id=\\\"tabler:marquee-off\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 6c0-.556.227-1.059.593-1.421M9 4h1.5m3 0H15m3 0a2 2 0 0 1 2 2m0 3v1.5m0 3V15m-.598 4.426A2 2 0 0 1 18 20m-3 0h-1.5m-3 0H9m-3 0a2 2 0 0 1-2-2m0-3v-1.5m0-3V9M3 3l18 18\\\"/></symbol><symbol id=\\\"tabler:mail\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\"/><path d=\\\"m3 7l9 6l9-6\\\"/></g></symbol><symbol id=\\\"tabler:maximize\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 8V6a2 2 0 0 1 2-2h2M4 16v2a2 2 0 0 0 2 2h2m8-16h2a2 2 0 0 1 2 2v2m-4 12h2a2 2 0 0 0 2-2v-2\\\"/></symbol><symbol id=\\\"tabler:menu-2\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 6h16M4 12h16M4 18h16\\\"/></symbol><symbol id=\\\"tabler:message\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8 9h8m-8 4h6m4-9a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-5l-5 3v-3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3z\\\"/></symbol><symbol id=\\\"tabler:message-dots\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 11v.01M8 11v.01m8-.01v.01M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-5l-5 3v-3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3z\\\"/></symbol><symbol id=\\\"tabler:mood-dollar\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M20.87 10.48a9 9 0 1 0-7.876 10.465M9 10h.01M15 10h.01\\\"/><path d=\\\"M9.5 15c.658.64 1.56 1 2.5 1c.357 0 .709-.052 1.043-.151M21 15h-2.5a1.5 1.5 0 0 0 0 3h1a1.5 1.5 0 0 1 0 3H17m2 0v1m0-8v1\\\"/></g></symbol><symbol id=\\\"tabler:mood-heart\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M21 12a9 9 0 1 0-8.012 8.946M9 10h.01M15 10h.01\\\"/><path d=\\\"M9.5 15a3.6 3.6 0 0 0 2.774.99m6.72 5.51l2.518-2.58a1.74 1.74 0 0 0 .004-2.413a1.627 1.627 0 0 0-2.346-.005l-.168.172l-.168-.172a1.627 1.627 0 0 0-2.346-.004a1.74 1.74 0 0 0-.004 2.412z\\\"/></g></symbol><symbol id=\\\"tabler:mood-puzzled\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M14.986 3.51A9 9 0 1 0 16.5 19.794c2.489-1.437 4.181-3.978 4.5-6.794m-11-3h.01M14 8h.01\\\"/><path d=\\\"M12 15q1.5-2 3-2m5-4v.01M20 6a2.003 2.003 0 0 0 .914-3.782a1.98 1.98 0 0 0-2.414.483\\\"/></g></symbol><symbol id=\\\"tabler:mood-sad-squint\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0\\\"/><path d=\\\"M14.5 16.05a3.5 3.5 0 0 0-5 0m-1-4.55L10 10L8.5 8.5m7 3L14 10l1.5-1.5\\\"/></g></symbol><symbol id=\\\"tabler:mood-smile\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0m6-2h.01M15 10h.01\\\"/><path d=\\\"M9.5 15a3.5 3.5 0 0 0 5 0\\\"/></g></symbol><symbol id=\\\"tabler:mood-wink-2\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M12 21a9 9 0 1 1 0-18a9 9 0 0 1 0 18M9 10h-.01\\\"/><path d=\\\"M14.5 15a3.5 3.5 0 0 1-5 0m6-6.5L14 10l1.5 1.5\\\"/></g></symbol><symbol id=\\\"tabler:mood-wrrr\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M12 21a9 9 0 1 1 0-18a9 9 0 0 1 0 18\\\"/><path d=\\\"m8 16l1-1l1.5 1l1.5-1l1.5 1l1.5-1l1 1m-7.5-4.5L10 10L8.5 8.5m7 3L14 10l1.5-1.5\\\"/></g></symbol><symbol id=\\\"tabler:mouse\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M6 7a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4zm6 0v4\\\"/></symbol><symbol id=\\\"tabler:dots\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 12a1 1 0 1 0 2 0a1 1 0 1 0-2 0m7 0a1 1 0 1 0 2 0a1 1 0 1 0-2 0m7 0a1 1 0 1 0 2 0a1 1 0 1 0-2 0\\\"/></symbol><symbol id=\\\"tabler:dots-vertical\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M11 12a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0-14a1 1 0 1 0 2 0a1 1 0 1 0-2 0\\\"/></symbol><symbol id=\\\"tabler:movie\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm4-2v16m8-16v16M4 8h4m-4 8h4m-4-4h16m-4-4h4m-4 8h4\\\"/></symbol><symbol id=\\\"tabler:circle-plus\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m6 0h6m-3-3v6\\\"/></symbol><symbol id=\\\"tabler:plus\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 5v14m-7-7h14\\\"/></symbol><symbol id=\\\"tabler:rectangle\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\"/></symbol><symbol id=\\\"tabler:refresh\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4m-4 4a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4\\\"/></symbol><symbol id=\\\"tabler:shopping-cart\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M4 19a2 2 0 1 0 4 0a2 2 0 1 0-4 0m11 0a2 2 0 1 0 4 0a2 2 0 1 0-4 0\\\"/><path d=\\\"M17 17H6V3H4\\\"/><path d=\\\"m6 5l14 1l-1 7H6\\\"/></g></symbol><symbol id=\\\"tabler:search\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 10a7 7 0 1 0 14 0a7 7 0 1 0-14 0m18 11l-6-6\\\"/></symbol><symbol id=\\\"tabler:select\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\"/><path d=\\\"m9 11l3 3l3-3\\\"/></g></symbol><symbol id=\\\"tabler:settings\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 0 0-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 0 0-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 0 0-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 0 0-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 0 0 1.066-2.573c-.94-1.543.826-3.31 2.37-2.37c1 .608 2.296.07 2.572-1.065\\\"/><path d=\\\"M9 12a3 3 0 1 0 6 0a3 3 0 0 0-6 0\\\"/></g></symbol><symbol id=\\\"tabler:share\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 12a3 3 0 1 0 6 0a3 3 0 1 0-6 0m12-6a3 3 0 1 0 6 0a3 3 0 1 0-6 0m0 12a3 3 0 1 0 6 0a3 3 0 1 0-6 0m-6.3-7.3l6.6-3.4m-6.6 6l6.6 3.4\\\"/></symbol><symbol id=\\\"tabler:share-2\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8 9H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1m-4 5V3M9 6l3-3l3 3\\\"/></symbol><symbol id=\\\"tabler:share-3\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M13 4v4C6.425 9.028 3.98 14.788 3 20c-.037.206 5.384-5.962 10-6v4l8-7z\\\"/></symbol><symbol id=\\\"tabler:adjustments\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 10a2 2 0 1 0 4 0a2 2 0 0 0-4 0m2-6v4m0 4v8m4-4a2 2 0 1 0 4 0a2 2 0 0 0-4 0m2-12v10m0 4v2m4-13a2 2 0 1 0 4 0a2 2 0 0 0-4 0m2-3v1m0 4v11\\\"/></symbol><symbol id=\\\"tabler:square\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\"/></symbol><symbol id=\\\"tabler:square-check\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\"/><path d=\\\"m9 12l2 2l4-4\\\"/></g></symbol><symbol id=\\\"tabler:square-plus\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M9 12h6m-3-3v6M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\"/></symbol><symbol id=\\\"tabler:sun\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0m-5 0h1m8-9v1m8 8h1m-9 8v1M5.6 5.6l.7.7m12.1-.7l-.7.7m0 11.4l.7.7m-12.1-.7l-.7.7\\\"/></symbol><symbol id=\\\"tabler:terminal\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m5 7l5 5l-5 5m7 2h7\\\"/></symbol><symbol id=\\\"tabler:terminal-2\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"m8 9l3 3l-3 3m5 0h3\\\"/><path d=\\\"M3 6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\"/></g></symbol><symbol id=\\\"tabler:text-size\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M3 7V5h13v2m-6-2v14m2 0H8m7-6v-1h6v1m-3-1v7m-1 0h2\\\"/></symbol><symbol id=\\\"tabler:trash\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 7h16m-10 4v6m4-6v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3\\\"/></symbol><symbol id=\\\"tabler:typography\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 20h3m7 0h7M6.9 15h6.9m-3.6-8.7L16 20M5 20l6-16h2l7 16\\\"/></symbol><symbol id=\\\"tabler:upload\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 9l5-5l5 5m-5-5v12\\\"/></symbol><symbol id=\\\"tabler:video\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m15 10l4.553-2.276A1 1 0 0 1 21 8.618v6.764a1 1 0 0 1-1.447.894L15 14zM3 8a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\"/></symbol><symbol id=\\\"tabler:window-maximize\\\" viewBox=\\\"0 0 24 24\\\"><g fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\"><path d=\\\"M3 17a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm1-5V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\\\"/><path d=\\\"M12 8h4v4m0-4l-5 5\\\"/></g></symbol></svg>\"","export enum Align {\n Left = 'left',\n Center = 'center',\n Right = 'right',\n}\n\nexport type BadgeThemes = Exclude<Themes, Themes.Transparent>;\n\nexport enum ButtonTypes {\n Button = 'button',\n Submit = 'submit',\n}\n\nexport type BannerThemes = Exclude<Themes, Themes.Transparent>;\n\nexport type BlockTextHtmlTags =\n | 'blockquote'\n | 'dd'\n | 'div'\n | 'dl'\n | 'dt'\n | 'figcaption'\n | 'figure'\n | 'hr'\n | 'li'\n | 'menu'\n | 'ol'\n | 'p'\n | 'pre'\n | 'ul';\n\nexport interface BannerProps {\n ariaLabel?: string;\n busy?: boolean;\n title?: string;\n message?: string;\n theme?: BannerThemes;\n width?: string;\n height?: string;\n rounded?: boolean;\n align?: Align;\n onDismiss?: (event?: Event) => void;\n onClick?: (event?: Event) => void;\n}\n\nexport enum CardTypes {\n Tiny = 'tiny',\n Compact = 'compact',\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n XLarge = 'xlarge',\n}\n\nexport interface CardProps {\n active?: boolean;\n align?: Align;\n byline?: string;\n busy?: boolean;\n elevated?: boolean;\n forwardRef?: (elem: HTMLDivElement) => void;\n height?: string;\n href?: string;\n image?: string;\n imageAltText?: string;\n imageOrder?: Order;\n imageHeight?: string;\n imageWidth?: string;\n onClick?: (event?: Event) => void;\n padded?: boolean;\n rounded?: boolean;\n target?: LinkTarget;\n testId?: string;\n title?: string;\n titleType?: HeadingTypes;\n titleHLevel?: HeadingLevels;\n theme?: Themes;\n type?: CardTypes;\n width?: string;\n}\n\nexport type CheckboxThemes = Exclude<\n Themes,\n | Themes.Transparent\n | Themes.Outline\n | Themes.OutlineDanger\n | Themes.OutlineInfo\n | Themes.OutlinePrimary\n | Themes.OutlineSecondary\n | Themes.OutlineSuccess\n | Themes.OutlineWarning\n>;\n\nexport enum DarkMode {\n On = 'dark',\n Off = 'light',\n System = 'system',\n}\n\nexport type HeadingThemes = Extract<Themes, Themes.Light | Themes.Dark>;\n\nexport enum HeadingLevels {\n H1 = 'h1',\n H2 = 'h2',\n H3 = 'h3',\n H4 = 'h4',\n H5 = 'h5',\n H6 = 'h6',\n}\n\nexport enum HeadingTypes {\n Title = 'title',\n PageTitle = 'pagetitle',\n Section = 'section',\n SubSection = 'subsection',\n}\n\nexport enum IconNames {\n Ai = 'tabler:ai',\n Archive = 'tabler:archive',\n ArrowBackUp = 'tabler:arrow-back-up',\n ArrowForwardUp = 'tabler:arrow-forward-up',\n ArrowsMove = 'tabler:arrows-move',\n ArrowBigUpLine = 'tabler:arrow-big-up-line',\n ArrowBigDownLine = 'tabler:arrow-big-down-line',\n ArrowBack = 'tabler:arrow-back',\n ArrowDown = 'tabler:arrow-down',\n ArrowForward = 'tabler:arrow-forward',\n ArrowLeft = 'tabler:arrow-left',\n ArrowRight = 'tabler:arrow-right',\n ArrowUp = 'tabler:arrow-up',\n ArrowNarrowDown = 'tabler:arrow-narrow-down',\n ArrowNarrowLeft = 'tabler:arrow-narrow-left',\n ArrowNarrowRight = 'tabler:arrow-narrow-right',\n ArrowNarrowUp = 'tabler:arrow-narrow-up',\n ArrowsMaximize = 'tabler:arrows-maximize',\n ArrowsMinimize = 'tabler:arrows-minimize',\n AtSign = 'tabler:at',\n Auth2fa = 'tabler:auth-2fa',\n Backspace = 'tabler:backspace',\n Book = 'tabler:book',\n Brush = 'tabler:brush',\n BrandApple = 'tabler:brand-apple',\n BrandAws = 'tabler:brand-aws',\n BrandCloudflare = 'tabler:brand-cloudflare',\n BrandFacebook = 'tabler:brand-facebook-filled',\n BrandGitlab = 'tabler:brand-gitlab',\n BrandGithub = 'tabler:brand-github',\n BrandGoogle = 'tabler:brand-google-filled',\n BrandInstagram = 'tabler:brand-instagram',\n BrandLinkedIn = 'tabler:brand-linkedin',\n BrandNpm = 'tabler:brand-npm',\n BrandNuxt = 'tabler:brand-nuxt',\n BrandReact = 'tabler:brand-react',\n BrandReactNative = 'tabler:brand-react-native',\n BrandSpotify = 'tabler:brand-spotify',\n BrandTidal = 'tabler:brand-tidal',\n BrandTikTok = 'tabler:brand-tiktok',\n BrandTwitter = 'tabler:brand-twitter-filled',\n BrandVercel = 'tabler:brand-vercel',\n BrandVue = 'tabler:brand-vue',\n BrandWhatsApp = 'tabler:brand-whatsapp',\n BrandX = 'tabler:brand-x',\n BrandYouTube = 'tabler:brand-youtube-filled',\n CarouselHorizontal = 'tabler:carousel-horizontal',\n Check = 'tabler:check',\n ChevronLeft = 'tabler:chevron-left',\n ChevronRight = 'tabler:chevron-right',\n ChevronUp = 'tabler:chevron-up',\n ChevronDown = 'tabler:chevron-down',\n CircleCheck = 'tabler:circle-check',\n Click = 'tabler:click',\n ClipboardCopy = 'tabler:clipboard-copy',\n ClipboardText = 'tabler:clipboard-text',\n Code = 'tabler:code',\n Columns1 = 'tabler:columns-1',\n Columns2 = 'tabler:columns-2',\n Columns3 = 'tabler:columns-3',\n Command = 'tabler:command',\n Components = 'tabler:components',\n Contrast = 'tabler:contrast',\n Copy = 'tabler:copy',\n Dasboard = 'tabler:dashboard',\n Database = 'tabler:database',\n Delete = 'tabler:x',\n Devices = 'tabler:devices',\n DeviceDesktop = 'tabler:device-desktop',\n DeviceMobile = 'tabler:device-mobile',\n DeviceTablet = 'tabler:device-tablet',\n DeviceTv = 'tabler:device-tv',\n Download = 'tabler:download',\n EditItem = 'tabler:edit-circle',\n EditPencil = 'tabler:edit',\n Email = 'tabler:mail',\n ExternalLink = 'tabler:external-link',\n Eye = 'tabler:eye',\n EyeOff = 'tabler:eye-off',\n FileText = 'tabler:file-text',\n FileTypeCss = 'tabler:file-type-css',\n FileTypeCsv = 'tabler:file-type-csv',\n FileTypeHtml = 'tabler:file-type-html',\n FileTypePng = 'tabler:file-type-png',\n FileTypeJpg = 'tabler:file-type-jpg',\n FileTypeJs = 'tabler:file-type-js',\n FileTypeJsx = 'tabler:file-type-jsx',\n FileTypeSvg = 'tabler:file-type-svg',\n FileTypeTs = 'tabler:file-type-ts',\n FileTypeVue = 'tabler:file-type-vue',\n Folder = 'tabler:folder',\n Forms = 'tabler:forms',\n Heading = 'tabler:heading',\n Help = 'tabler:help',\n HelpCircle = 'tabler:help-circle',\n HelpSmall = 'tabler:help-small',\n Html = 'tabler:html',\n Image = 'tabler:photo',\n InfoCircle = 'tabler:info-circle',\n InfoSmall = 'tabler:info-small',\n Keyboard = 'tabler:keyboard',\n Layers = 'tabler:layers-subtract',\n Layout = 'tabler:layout',\n LayoutBottomBar = 'tabler:layout-bottombar',\n LayoutDashboard = 'tabler:layout-dashboard',\n LayoutGrid = 'tabler:layout-grid',\n LayoutNavbar = 'tabler:layout-navbar',\n LayoutSidebar = 'tabler:layout-sidebar',\n LayoutSidebarRight = 'tabler:layout-sidebar-right',\n Link = 'tabler:link',\n List = 'tabler:list',\n ListNumbers = 'tabler:list-numbers',\n ListTree = 'tabler:list-tree',\n LogIn = 'tabler:login',\n LogOut = 'tabler:logout',\n Palette = 'tabler:palette',\n Paint = 'tabler:paint',\n Marquee = 'tabler:marquee',\n MarqueeOff = 'tabler:marquee-off',\n Mail = 'tabler:mail',\n Maximize = 'tabler:maximize',\n Menu = 'tabler:menu-2',\n Message = 'tabler:message',\n MessageDots = 'tabler:message-dots',\n MoodDollar = 'tabler:mood-dollar',\n MoodHeart = 'tabler:mood-heart',\n MoodPuzzled = 'tabler:mood-puzzled',\n MoodSadSquint = 'tabler:mood-sad-squint',\n MoodSmile = 'tabler:mood-smile',\n MoodWink2 = 'tabler:mood-wink-2',\n MoodWrrr = 'tabler:mood-wrrr',\n Mouse = 'tabler:mouse',\n MoreHorizontal = 'tabler:dots',\n MoreVertical = 'tabler:dots-vertical',\n Movie = 'tabler:movie',\n PlusCircle = 'tabler:circle-plus',\n Plus = 'tabler:plus',\n Rectangle = 'tabler:rectangle',\n Refresh = 'tabler:refresh',\n ShoppingCart = 'tabler:shopping-cart',\n Search = 'tabler:search',\n Select = 'tabler:select',\n Settings = 'tabler:settings',\n Share = 'tabler:share',\n Share2 = 'tabler:share-2',\n Share3 = 'tabler:share-3',\n Sliders = 'tabler:adjustments',\n Square = 'tabler:square',\n SquareCheck = 'tabler:square-check',\n SquarePlus = 'tabler:square-plus',\n Sun = 'tabler:sun',\n Terminal = 'tabler:terminal',\n Terminal2 = 'tabler:terminal-2',\n TextSize = 'tabler:text-size',\n TrashCan = 'tabler:trash',\n Typography = 'tabler:typography',\n Upload = 'tabler:upload',\n Video = 'tabler:video',\n WindowMaximize = 'tabler:window-maximize',\n}\n\nexport type InlineTextHtmlTags =\n | 'a'\n | 'abbr'\n | 'b'\n | 'bdi'\n | 'bdo'\n | 'br'\n | 'cite'\n | 'code'\n | 'data'\n | 'dfn'\n | 'em'\n | 'i'\n | 'kbd'\n | 'mark'\n | 'q'\n | 'rp'\n | 'rt'\n | 'ruby'\n | 's'\n | 'samp'\n | 'small'\n | 'span'\n | 'strong'\n | 'sub'\n | 'sup'\n | 'time'\n | 'u'\n | 'var'\n | 'wbr';\n\nexport enum InputTypes {\n Date = 'date',\n DateTimeLocal = 'datetime-local',\n Decimal = 'decimal',\n Email = 'email',\n Hidden = 'hidden',\n File = 'file',\n None = 'none',\n Number = 'number',\n Password = 'password',\n Search = 'search',\n Tel = 'tel',\n Text = 'text',\n Time = 'time',\n Url = 'url',\n}\n\nexport enum LinkTarget {\n Blank = '_blank',\n Self = '_self',\n}\n\nexport enum MessageType {\n Default = 'default',\n Danger = 'danger',\n Success = 'success',\n Warning = 'warning',\n}\n\nexport interface NavItem {\n ariaLabel?: string;\n external?: boolean;\n href?: string;\n id: string;\n label: string;\n onClick?: (event?: Event) => void;\n rel?: string;\n target?: LinkTarget;\n theme?: SimpleThemes;\n}\n\nexport interface Option {\n label: string;\n value: string | number | null;\n}\n\nexport type PillThemes = Exclude<Themes, Themes.Transparent>;\n\nexport interface InputProps {\n ariaLabel?: string;\n autoComplete?: boolean;\n busy?: boolean;\n checked?: boolean;\n disabled?: boolean;\n floatingLabel?: boolean;\n fluid?: boolean;\n form?: string;\n grouped?: boolean;\n id?: string;\n label?: string;\n maxLength?: number;\n minLength?: number;\n messages?: string[];\n messageType?: MessageType;\n name: string;\n options?: Option[];\n pattern?: string;\n pill?: string;\n placeholder?: string;\n prefix?: string | IconNames;\n readonly?: boolean;\n required?: boolean;\n resizable?: boolean;\n rounded?: boolean;\n rows?: number;\n size?: Sizes;\n spellCheck?: boolean;\n suffix?: string | IconNames;\n type?: InputTypes;\n theme?: Themes;\n value?: string | number;\n onInput?: (event: Event) => void;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onChange?: (event: Event) => void;\n}\n\nexport enum Order {\n After = 'after',\n Before = 'before',\n}\n\nexport enum Orientation {\n Horizontal = 'horizontal',\n Vertical = 'vertical',\n}\n\nexport enum Position {\n Absolute = 'absolute',\n Relative = 'relative',\n}\n\nexport type SimpleThemes = Extract<\n Themes,\n | Themes.Dark\n | Themes.Danger\n | Themes.Default\n | Themes.Light\n | Themes.Primary\n | Themes.Success\n | Themes.Warning\n>;\n\nexport enum Sizes {\n Tiny = 'tiny',\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n XLarge = 'xlarge',\n}\n\nexport type SpinnerThemes = Exclude<\n Themes,\n | Themes.Transparent\n | Themes.Outline\n | Themes.OutlineDanger\n | Themes.OutlineInfo\n | Themes.OutlinePrimary\n | Themes.OutlineSecondary\n | Themes.OutlineSuccess\n | Themes.OutlineWarning\n>;\n\nexport enum TableTypes {\n Condensed = 'condensed',\n Default = 'default',\n Plain = 'plain',\n}\n\nexport type TextHtmlTags = BlockTextHtmlTags | InlineTextHtmlTags;\n\nexport type TextThemes = Extract<Themes, Themes.Light | Themes.Dark>;\n\nexport enum TextTypes {\n Body = 'body',\n Summary = 'summary',\n Tiny = 'tiny',\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n XLarge = 'xlarge',\n}\n\nexport enum Themes {\n Default = 'default',\n Primary = 'primary',\n Secondary = 'secondary',\n Transparent = 'transparent',\n Outline = 'outline',\n OutlinePrimary = 'outline-primary',\n OutlineSecondary = 'outline-secondary',\n OutlineDanger = 'outline-danger',\n OutlineWarning = 'outline-warning',\n OutlineSuccess = 'outline-success',\n OutlineInfo = 'outline-info',\n Danger = 'danger',\n Warning = 'warning',\n Success = 'success',\n Info = 'info',\n Light = 'light',\n Dark = 'dark',\n}\n\nexport interface ToastProps {\n title?: string;\n message?: string;\n width?: string;\n rounded?: boolean;\n actionLabel?: string;\n icon?: IconNames;\n iconSize?: Sizes;\n /** Time in seconds e.g 5 = 5 seconds */\n dismissTimer?: number;\n onAction?: (event?: Event) => void;\n onDismiss: () => void;\n}\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\n\nconst clickableElemTypes = ['a', 'button'];\nconst refExpandedArea = ref();\n\nexport interface Props {\n enabled?: boolean;\n fluid?: boolean;\n rounded: boolean;\n testId?: string;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n enabled: false,\n fluid: true,\n testId: 'clll-a11y__button',\n});\n\nconst clickHandler = (e: Event) => {\n if (!props.enabled) return;\n\n const { target } = e;\n const elem = target ? (target as HTMLElement).closest('a,button') : undefined;\n const clickableElems = [\n ...refExpandedArea.value.querySelectorAll('[data-expand-click-area]'),\n ];\n\n if (clickableElems.length !== 1) {\n throw new Error(\n `Expected one clickable element but found ${clickableElems.length}`\n );\n }\n\n const clickableElem = clickableElems[0];\n const targetIsClickable = elem\n ? clickableElemTypes.includes(elem.tagName.toLowerCase())\n : null;\n\n if (!elem && clickableElem !== e.target && !targetIsClickable)\n clickableElem.click();\n};\n</script>\n\n<template>\n <div\n @click=\"clickHandler\"\n :class=\"[\n 'clll-a11y__button',\n { '--enabled': enabled },\n { '--rounded': rounded },\n { '--fluid': fluid },\n ]\"\n :data-testid=\"testId\"\n :data-cy=\"testId\"\n @keyup.enter=\"clickHandler\"\n ref=\"refExpandedArea\"\n :tabindex=\"!enabled ? -1 : 0\">\n <slot />\n </div>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-a11y__button {\n display: inline-block;\n\n &.--enabled {\n cursor: pointer;\n\n @include transition;\n @include focus;\n }\n\n &.--rounded {\n border-radius: var(--#{$prefix}-rounded-sm);\n }\n\n &.--fluid {\n display: block;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { CLBadgeThemes, CLThemes } from '../../index';\n\nexport interface Props {\n count?: number;\n limit?: number;\n elevated?: boolean;\n theme?: CLBadgeThemes;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n elevated: false,\n theme: CLThemes.Default,\n});\n\nconst prefix = 'clll-badge';\n\nconst getCount = () => {\n const limit = props?.limit ?? 0;\n const label = props?.count ?? '';\n\n if (limit) {\n if (label.toString().length > limit)\n return `${props.count?.toString().slice(0, props.limit)}+`;\n }\n\n return props.count;\n};\n</script>\n\n<template>\n <div\n :class=\"[\n prefix,\n `${prefix}--${theme}`,\n elevated ? `${prefix}--elevated` : '',\n ]\">\n <span :class=\"`${prefix}__count`\">\n {{ getCount() }}\n </span>\n </div>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n@import '../../scss/components/badge';\n\n.clll-badge {\n @include base-layout(var(--#{$prefix}-rounded-full));\n padding: var(--#{$prefix}-py-xs) var(--#{$prefix}-px-xs);\n\n .clll-badge__count {\n font-weight: 400;\n color: var(--#{$prefix}-color-neutral-900);\n\n @include base-text;\n @include text-xs;\n }\n\n &.clll-badge--light {\n background-color: var(--#{$prefix}-color-neutral-100);\n }\n\n &.clll-badge--dark {\n background-color: var(--#{$prefix}-color-neutral-800);\n\n .clll-badge__count {\n color: var(--#{$prefix}-color-neutral-100);\n }\n }\n\n &.clll-badge--primary {\n @include badge\\-solid(primary);\n }\n\n &.clll-badge--default,\n &.clll-badge--secondary {\n @include badge-solid(secondary);\n }\n\n &.clll-badge--danger {\n @include badge-solid(danger);\n }\n\n &.clll-badge--warning {\n @include badge-solid(warning);\n }\n\n &.clll-badge--success {\n @include badge-solid(success);\n }\n\n &.clll-badge--info {\n @include badge-solid(info);\n }\n\n &.clll-badge--outline,\n &.clll-badge--outline-secondary {\n @include badge-outline(secondary);\n }\n\n &.clll-badge--outline-primary {\n @include badge-outline(primary);\n }\n\n &.clll-badge--outline-danger {\n @include badge-outline(danger);\n }\n\n &.clll-badge--outline-warning {\n @include badge-outline(warning);\n }\n\n &.clll-badge--outline-success {\n @include badge-outline(success);\n }\n\n &.clll-badge--outline-info {\n @include badge-outline(info);\n }\n\n &.clll-badge--elevated {\n @include drop-shadow($size: var(--#{$prefix}-unit-2));\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport {\n CLAlign,\n CLA11yButton,\n CLBannerProps,\n CLButton,\n CLHeading,\n CLHeadingTypes,\n CLIconNames,\n CLSizes,\n CLSkeleton,\n CLText,\n CLTextTypes,\n CLThemes,\n} from '../../index';\n\nconst props = withDefaults(defineProps<CLBannerProps>(), {\n busy: false,\n theme: CLThemes.Default,\n align: CLAlign.Left,\n width: '100%',\n height: 'auto',\n rounded: true,\n});\n\nconst prefix = 'clll-banner';\n\nconst getTextTheme = () => {\n switch (props.theme) {\n case CLThemes.Dark:\n return CLThemes.Light;\n case CLThemes.Light:\n return CLThemes.Dark;\n case CLThemes.Default:\n case CLThemes.Danger:\n case CLThemes.Info:\n case CLThemes.Outline:\n case CLThemes.OutlinePrimary:\n case CLThemes.OutlineSecondary:\n case CLThemes.OutlineDanger:\n case CLThemes.OutlineWarning:\n case CLThemes.OutlineSuccess:\n case CLThemes.OutlineInfo:\n case CLThemes.Primary:\n case CLThemes.Secondary:\n case CLThemes.Success:\n case CLThemes.Warning:\n return CLThemes.Dark;\n default:\n return CLThemes.Light;\n }\n};\n</script>\n\n<template>\n <CLA11yButton\n :enabled=\"onClick && ariaLabel ? true : false\"\n :rounded=\"rounded\">\n <div\n :class=\"[\n prefix,\n `${prefix}--${theme}`,\n `${prefix}--align-${align}`,\n rounded ? `${prefix}--rounded` : `${prefix}--box`,\n busy ? `${prefix}--busy` : `${prefix}--ready`,\n onDismiss ? `${prefix}--dismissable` : '',\n ]\">\n <div :class=\"`${prefix}__content`\">\n <CLSkeleton v-if=\"busy\" height=\"28px\" />\n <CLSkeleton v-if=\"busy\" width=\"70%\" height=\"20px\" />\n <CLHeading\n v-if=\"title && !busy\"\n :type=\"CLHeadingTypes.Section\"\n :theme=\"getTextTheme()\"\n :align=\"align\">\n {{ title }}\n </CLHeading>\n <CLText\n v-if=\"message && !busy\"\n :type=\"CLTextTypes.Summary\"\n :theme=\"getTextTheme()\">\n {{ message }}\n </CLText>\n </div>\n <div v-if=\"onDismiss\" :class=\"`${prefix}__dismiss-button`\">\n <CLButton\n ariaLabel=\"Dismiss banner\"\n :iconBefore=\"CLIconNames.Delete\"\n :iconSize=\"CLSizes.Tiny\"\n :size=\"CLSizes.Tiny\"\n :onClick=\"onDismiss\"\n :theme=\"CLThemes.Transparent\" />\n </div>\n <button\n v-if=\"onClick && ariaLabel\"\n class=\"sr-only\"\n @click=\"onClick\"\n data-expand-click-area>\n {{ ariaLabel }}\n </button>\n </div>\n </CLA11yButton>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n@import '../../scss/components/banner';\n\n.clll-banner {\n @include base-layout;\n\n width: v-bind(width);\n height: v-bind(height);\n border-bottom: solid 0.25rem;\n padding: var(--#{$prefix}-py-3xl) var(--#{$prefix}-px-2xl);\n\n .clll-banner__content {\n position: relative;\n z-index: var(--#{$prefix}-z-index-10);\n width: 100%;\n\n @include space-y-1;\n }\n\n &.clll-banner--dismissable {\n .clll-banner__content {\n padding-top: var(--#{$prefix}-unit-2);\n padding-right: var(--#{$prefix}-unit-12);\n padding-bottom: var(--#{$prefix}-unit-2);\n }\n\n .clll-banner__dismiss-button {\n position: absolute;\n top: var(--#{$prefix}-unit-4);\n right: var(--#{$prefix}-unit-4);\n z-index: var(--#{$prefix}-z-index-10);\n }\n }\n\n &.clll-banner--rounded {\n border-radius: var(--#{$prefix}-rounded-sm);\n }\n\n &.clll-banner--light {\n background-color: var(--#{$prefix}-color-neutral-100);\n border-left: 1px solid var(--#{$prefix}-color-neutral-200);\n border-right: 1px solid var(--#{$prefix}-color-neutral-200);\n border-top: 1px solid var(--#{$prefix}-color-neutral-200);\n border-bottom-color: var(--#{$prefix}-color-neutral-200);\n }\n\n &.clll-banner--dark {\n background-color: var(--#{$prefix}-color-neutral-700);\n border-left: 1px solid var(--#{$prefix}-color-neutral-900);\n border-right: 1px solid var(--#{$prefix}-color-neutral-900);\n border-top: 1px solid var(--#{$prefix}-color-neutral-900);\n border-bottom-color: var(--#{$prefix}-color-neutral-900);\n }\n\n &.clll-banner--primary {\n @include banner-solid(primary);\n }\n\n &.clll-banner--default,\n &.clll-banner--secondary {\n @include banner-solid(secondary);\n }\n\n &.clll-banner--danger {\n @include banner-solid(danger);\n }\n\n &.clll-banner--warning {\n @include banner-solid(warning);\n }\n\n &.clll-banner--success {\n @include banner-solid(success);\n }\n\n &.clll-banner--info {\n @include banner-solid(info);\n }\n\n &.clll-banner--outline,\n &.clll-banner--outline-secondary {\n @include banner-outline(secondary);\n }\n\n &.clll-banner--outline-primary {\n @include banner-outline(primary);\n }\n\n &.clll-banner--outline-danger {\n @include banner-outline(danger);\n }\n\n &.clll-banner--outline-warning {\n @include banner-outline(warning);\n }\n\n &.clll-banner--outline-success {\n @include banner-outline(success);\n }\n\n &.clll-banner--outline-info {\n @include banner-outline(info);\n }\n\n &.clll-banner--busy {\n pointer-events: none;\n }\n\n &.clll-banner--align-left {\n text-align: left;\n }\n\n &.clll-banner--align-center {\n text-align: center;\n }\n\n &.clll-banner--align-right {\n text-align: right;\n }\n}\n</style>\n","<script lang=\"ts\">\nimport { h, PropType, ref, watch } from 'vue';\n\nimport {\n CLAlign,\n CLButtonTypes,\n CLIcon,\n CLIconNames,\n CLSizes,\n CLSpinner,\n CLThemes,\n} from '../../index';\n\nconst prefix = 'clll-button';\n\nexport default {\n props: {\n alignContent: {\n type: String as PropType<CLAlign>,\n default: CLAlign.Left,\n },\n ariaLabel: {\n type: String,\n },\n busy: {\n type: Boolean,\n },\n elevated: {\n type: Boolean,\n default: false,\n },\n form: {\n type: String,\n },\n forwardRef: {\n type: Function,\n },\n height: {\n type: String,\n default: 'auto',\n },\n iconAfter: {\n type: String as PropType<CLIconNames>,\n },\n iconBefore: {\n type: String as PropType<CLIconNames>,\n },\n iconSize: {\n type: String as PropType<CLSizes>,\n },\n link: {\n type: Boolean,\n },\n onClick: {\n type: Function,\n },\n pill: {\n type: Boolean,\n },\n rounded: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<CLSizes>,\n default: CLSizes.Small,\n },\n title: {\n type: String,\n },\n testId: {\n type: String,\n default: prefix,\n },\n type: {\n type: String as PropType<CLButtonTypes>,\n },\n theme: {\n type: String as PropType<CLThemes>,\n },\n width: {\n type: String,\n default: 'auto',\n },\n wrap: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, { slots }) {\n const buttonEl = ref();\n const hasSlots = slots?.['default']?.()[0]?.children?.length ?? 0;\n\n const getSpinnerSize = () => {\n switch (props.size) {\n case CLSizes.Medium:\n case CLSizes.Large:\n return CLSizes.Small;\n case CLSizes.XLarge:\n return CLSizes.Medium;\n case CLSizes.Tiny:\n default:\n return CLSizes.Tiny;\n }\n };\n\n watch(buttonEl, (button) => {\n if (props?.forwardRef) props.forwardRef(button);\n });\n\n return () =>\n h(\n 'button',\n {\n ariaLabel: props.ariaLabel,\n class: [\n prefix,\n `${prefix}--${props.type}`,\n `${prefix}--${props.theme}`,\n `${prefix}--${props.size}`,\n `${prefix}--${props.alignContent}`,\n props.busy ? `${prefix}--busy` : '',\n props.wrap ? `${prefix}--wrapped` : '',\n props.rounded ? `${prefix}--rounded` : '',\n !hasSlots ? `${prefix}--no-content` : `${prefix}--has-content`,\n props.elevated ? `${prefix}--elevated` : '',\n props.link ? `${prefix}--link` : '',\n props.pill ? `${prefix}--pill` : '',\n ],\n 'data-testid': props?.testId,\n 'data-cy': props?.testId,\n disabled: props?.busy,\n form: props?.form,\n onClick: (event?: Event) => props?.onClick?.(event),\n ref: buttonEl,\n title: props?.title,\n type: props?.type,\n },\n [\n props.busy\n ? h(CLSpinner, {\n align: CLAlign.Center,\n size: getSpinnerSize(),\n theme:\n props?.theme === CLThemes.Secondary\n ? CLThemes.Light\n : CLThemes.Dark,\n })\n : null,\n props.iconBefore\n ? h(CLIcon, {\n name: props.iconBefore,\n size: props.iconSize,\n })\n : null,\n h(\n 'span',\n {\n class: [\n `${prefix}__content`,\n `${prefix}__content--${props.alignContent}`,\n ],\n },\n {\n default: () => slots?.['default'] && slots?.['default'](),\n }\n ),\n props.iconAfter\n ? h(CLIcon, {\n name: props.iconAfter,\n size: props.iconSize,\n })\n : null,\n ]\n );\n },\n};\n</script>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n@import '../../scss/components/button';\n\n.clll-button {\n position: relative;\n width: v-bind(width);\n height: v-bind(height);\n border: 1px solid transparent;\n cursor: pointer;\n\n @include transition;\n @include focus;\n\n .clll-button__content,\n .clll-text,\n .clll-icon {\n font-weight: 500;\n color: var(--#{$prefix}-color-neutral-900);\n @include base-text;\n }\n\n &.clll-button--has-content {\n display: inline-flex;\n align-items: center;\n }\n\n &.clll-button--default,\n &.clll-button--secondary {\n background-color: var(--#{$prefix}-color-secondary-500);\n\n @include focus($shadow-width: 0);\n\n &:hover {\n background-color: var(--#{$prefix}-color-secondary-600);\n }\n }\n\n &.clll-button--light {\n background-color: var(--#{$prefix}-color-neutral-100);\n\n @include focus($shadow-width: 0);\n\n &:hover {\n background-color: var(--#{$prefix}-color-neutral-200);\n }\n }\n\n &.clll-button--dark {\n background-color: var(--#{$prefix}-color-neutral-800);\n\n @include focus($shadow-width: 0);\n\n .clll-button__content,\n .clll-text,\n .clll-icon {\n color: var(--#{$prefix}-color-neutral-100);\n }\n\n &:hover {\n background-color: var(--#{$prefix}-color-neutral-900);\n }\n }\n\n &.clll-button--transparent {\n background-color: transparent;\n @include focus($shadow-width: 0);\n\n &:hover {\n background-color: transparent;\n }\n }\n\n &.clll-button--primary {\n @include button-solid(primary);\n }\n\n &.clll-button--danger {\n @include button-solid(danger);\n }\n\n &.clll-button--warning {\n @include button-solid(warning);\n }\n\n &.clll-button--success {\n @include button-solid(success);\n }\n\n &.clll-button--info {\n @include button-solid(info);\n }\n\n &.clll-button--outline-secondary,\n &.clll-button--outline {\n @include button-outline(secondary);\n }\n\n &.clll-button--outline-primary {\n @include button-outline(primary);\n }\n\n &.clll-button--outline-danger {\n @include button-outline(danger);\n }\n\n &.clll-button--outline-warning {\n @include button-outline(warning);\n }\n\n &.clll-button--outline-info {\n @include button-outline(info);\n }\n\n &.clll-button--outline-success {\n @include button-outline(success);\n }\n\n &.clll-button--tiny {\n @include text-xs;\n padding: var(--#{$prefix}-py-sm) var(--#{$prefix}-px-lg);\n\n &.clll-button--has-content {\n @include space-x-1;\n }\n\n &.clll-button--rounded {\n border-radius: var(--#{$prefix}-rounded-lg);\n }\n\n &.clll-button--no-content {\n padding: var(--#{$prefix}-px-sm);\n }\n }\n\n &.clll-button--small {\n @include text-sm;\n padding: var(--#{$prefix}-py-md) var(--#{$prefix}-px-xl);\n\n &.clll-button--has-content {\n @include space-x-2;\n }\n\n &.clll-button--rounded {\n border-radius: var(--#{$prefix}-rounded-xl);\n }\n\n &.clll-button--no-content {\n padding: var(--#{$prefix}-px-md);\n }\n }\n\n &.clll-button--medium {\n @include text-md;\n padding: var(--#{$prefix}-py-lg) var(--#{$prefix}-px-2xl);\n\n &.clll-button--has-content {\n @include space-x-2;\n }\n\n &.clll-button--rounded {\n border-radius: var(--#{$prefix}-rounded-xl);\n }\n\n &.clll-button--no-content {\n padding: var(--#{$prefix}-px-lg);\n }\n }\n\n &.clll-button--large {\n @include text-lg;\n padding: var(--#{$prefix}-py-xl) var(--#{$prefix}-px-4xl);\n\n &.clll-button--has-content {\n @include space-x-3;\n }\n\n &.clll-button--rounded {\n border-radius: var(--#{$prefix}-rounded-2xl);\n }\n\n &.clll-button--no-content {\n padding: var(--#{$prefix}-px-xl);\n }\n }\n\n &.clll-button--xlarge {\n @include text-xl;\n padding: var(--#{$prefix}-py-2xl) var(--#{$prefix}-px-5xl);\n\n &.clll-button--has-content {\n @include space-x-3;\n }\n\n &.clll-button--rounded {\n border-radius: var(--#{$prefix}-rounded-3xl);\n }\n\n &.clll-button--no-content {\n padding: var(--#{$prefix}-px-2xl);\n }\n }\n\n .clll-button__content {\n @include flex-1;\n\n &.clll-button__content--left {\n text-align: left;\n }\n\n &.clll-button__content--center {\n text-align: center;\n }\n\n &.clll-button__content--right {\n text-align: right;\n }\n }\n\n &.clll-button--no-content {\n display: flex;\n align-items: center;\n @include space-x-0;\n\n .clll-button__content {\n position: absolute;\n left: -100%;\n }\n\n &.clll-button--left {\n justify-content: flex-start;\n }\n\n &.clll-button--center {\n justify-content: center;\n }\n\n &.clll-button--right {\n justify-content: flex-end;\n }\n\n &.clll-button--rounded {\n border-radius: var(--#{$prefix}-rounded-full);\n }\n }\n\n &.clll-button--wrapped {\n padding: var(--#{$prefix}-unit-0);\n\n &.clll-button--transparent {\n @include focus($outline-offset: 2px, $shadow-width: 0);\n }\n }\n\n &.clll-button--busy {\n pointer-events: none;\n\n .clll-icon,\n .clll-button__content {\n opacity: 0;\n }\n }\n\n &.clll-button--link {\n @include base-link($underline: false);\n\n &.clll-button--rounded {\n border-radius: var(--#{$prefix}-rounded-xs);\n }\n\n .clll-button__content {\n color: inherit;\n }\n }\n\n &.clll-button--pill {\n border: 0;\n padding: var(--#{$prefix}-unit-0);\n background-color: transparent;\n outline-offset: -0.5px;\n\n &:focus {\n box-shadow: none;\n }\n\n &.clll-button--rounded {\n border-radius: var(--#{$prefix}-rounded-xs);\n }\n\n .clll-button__content {\n line-height: 0;\n }\n }\n\n &:disabled {\n pointer-events: none;\n opacity: 0.25;\n }\n\n &.clll-button--elevated {\n @include drop-shadow;\n }\n}\n</style>\n","import { Comment } from 'vue';\n\nexport interface IAnimate {\n start: (duration: number, callbackFn: (elapsedTime: number) => void) => void;\n stop: () => void;\n}\n\nexport const animate = (): IAnimate => {\n let reqId: number | undefined;\n let start: number | undefined;\n let previousTime: number | undefined;\n let done = false;\n let maxDuration: number | undefined;\n let fn: (elapsedTime: number) => void;\n\n const step = (currentTime: number) => {\n if (done) return;\n if (start === undefined) start = currentTime;\n\n const elapsed = currentTime - start;\n\n if (previousTime !== currentTime) fn?.(elapsed);\n\n if (maxDuration && elapsed < maxDuration) {\n previousTime = currentTime;\n\n if (!done) {\n reqId = window.requestAnimationFrame(step);\n }\n }\n };\n\n const reset = () => {\n reqId = undefined;\n start = undefined;\n previousTime = undefined;\n done = false;\n maxDuration = undefined;\n fn;\n };\n\n return {\n start: (duration: number, callbackFn: (elapsedTime: number) => void) => {\n fn = callbackFn;\n maxDuration = duration;\n reqId = window.requestAnimationFrame(step);\n },\n stop: () => {\n done = true;\n if (reqId) window.cancelAnimationFrame(reqId);\n reset();\n },\n };\n};\n\nexport const getMaxZIndex = () => {\n return Math.max(\n ...Array.from(document.querySelectorAll('body *'), (el) =>\n parseFloat(window.getComputedStyle(el).zIndex)\n ).filter((zIndex) => !Number.isNaN(zIndex)),\n 0\n );\n};\n\nexport const hasSlotContent = (\n slots: any,\n slotName: string,\n component: string\n) => {\n let foundContent = false;\n slots?.[slotName]?.({}).every((n: any) => {\n if (typeof window !== undefined) {\n const found = nodeHasContent(n, typeof n.children, component);\n if (found) foundContent = found;\n } else {\n const found = nodeHasContent(n, typeof n.children, component);\n if (found) foundContent = found;\n }\n });\n\n return foundContent;\n};\n\nconst nodeHasContent = (vnode: any, slotType: string, component?: string) => {\n const vnodeType = typeof vnode?.type;\n\n if (vnode?.type === Comment) return false;\n\n switch (slotType) {\n case 'string':\n return vnode.children.length;\n case 'object':\n if (vnodeType === 'object') {\n if (vnode.type?.__name) {\n return true;\n } else {\n return (\n vnode?.children?.['default']?.()?.length ?? vnode?.children?.length\n );\n }\n } else {\n return true;\n }\n }\n};\n\nexport const debounce = (fn: () => void, ms = 300) => {\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n return function (this: any, ...args: any | any[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\n };\n};\n","<script setup lang=\"ts\">\nimport { onMounted, onUpdated, nextTick, ref, useSlots } from 'vue';\n\nimport {\n CLAlign,\n CLCardProps,\n CLCardTypes,\n CLHeading,\n CLHeadingTypes,\n CLHeadingLevels,\n CLLink,\n CLLinkTarget,\n CLOrder,\n CLSkeleton,\n CLText,\n CLTextTypes,\n CLThemes,\n} from '../../index';\n\nimport { hasSlotContent } from '../../helper';\n\nconst prefix = 'clll-card';\nconst slots = useSlots();\n\nconst props = withDefaults(defineProps<CLCardProps>(), {\n active: false,\n align: CLAlign.Left,\n busy: false,\n elevated: false,\n height: 'auto',\n imageAltText: '',\n imageHeight: 'auto',\n imageWidth: 'auto',\n padded: true,\n rounded: true,\n target: CLLinkTarget.Self,\n testId: prefix,\n theme: CLThemes.Default,\n titleType: CLHeadingTypes.SubSection,\n titleHLevel: CLHeadingLevels.H2,\n type: CLCardTypes.Medium,\n width: 'auto',\n});\n\nconst slotContent = ref<HTMLDivElement>();\nconst hasSlot = ref(true);\nconst clickableElemTypes = ['a', 'button'];\nconst refExpandedArea = ref();\n\nconst clickHandler = (e: Event) => {\n if (props.busy || !props.onClick) return;\n\n const { target } = e;\n const elem = target ? (target as HTMLElement).closest('a,button') : undefined;\n const clickableElems = [\n ...refExpandedArea.value.querySelectorAll('[data-expand-click-area]'),\n ];\n\n if (clickableElems.length !== 1) {\n throw new Error(\n `Expected one clickable element but found ${clickableElems.length}`\n );\n }\n\n const clickableElem = clickableElems[0];\n const targetIsClickable = elem\n ? clickableElemTypes.includes(elem.tagName.toLowerCase())\n : null;\n\n if (!elem && clickableElem !== e.target && !targetIsClickable)\n clickableElem.click();\n};\n\nconst getTextTheme = () => {\n switch (props.theme) {\n case CLThemes.Dark:\n return CLThemes.Light;\n case CLThemes.Light:\n return CLThemes.Dark;\n case CLThemes.Default:\n case CLThemes.Danger:\n case CLThemes.Info:\n case CLThemes.Outline:\n case CLThemes.OutlinePrimary:\n case CLThemes.OutlineSecondary:\n case CLThemes.OutlineDanger:\n case CLThemes.OutlineWarning:\n case CLThemes.OutlineSuccess:\n case CLThemes.OutlineInfo:\n case CLThemes.Primary:\n case CLThemes.Secondary:\n case CLThemes.Success:\n case CLThemes.Transparent:\n case CLThemes.Warning:\n return CLThemes.Dark;\n default:\n return CLThemes.Light;\n }\n};\n\nonMounted(async () => {\n await nextTick();\n hasSlot.value = hasSlotContent(slots, 'default', 'Card');\n\n if (refExpandedArea.value) props.forwardRef?.(refExpandedArea.value);\n});\n\nonUpdated(async () => {\n await nextTick();\n hasSlot.value = hasSlotContent(slots, 'default', 'Card');\n});\n</script>\n\n<template>\n <div\n ref=\"refExpandedArea\"\n :tabindex=\"!onClick ? undefined : 0\"\n @click=\"clickHandler\"\n :data-testid=\"testId\"\n :data-cy=\"testId\"\n @keyup.enter=\"clickHandler\"\n :class=\"[\n prefix,\n `${prefix}--${type}`,\n `${prefix}--${theme}`,\n `${prefix}--align-${align}`,\n rounded ? `${prefix}--rounded` : `${prefix}--box`,\n busy ? `${prefix}--busy` : `${prefix}--ready`,\n !hasSlot ? `${prefix}--no-content` : `${prefix}--has-content`,\n image ? `${prefix}--has-image` : `${prefix}--has-no-image`,\n imageOrder ? `${prefix}--image-${imageOrder}` : '',\n active ? `${prefix}--active` : `${prefix}--inactive`,\n onClick ? `${prefix}--has-link` : '',\n elevated ? `${prefix}--elevated` : '',\n !padded ? `${prefix}--no-padding` : '',\n ]\">\n <div\n v-if=\"image && (imageOrder === CLOrder.Before || !imageOrder)\"\n :class=\"`${prefix}__image`\">\n <CLSkeleton\n v-if=\"busy\"\n :width=\"imageWidth\"\n :height=\"imageHeight\"\n :rounded=\"false\" />\n <img\n v-if=\"!busy\"\n :class=\"`${prefix}__image__elem`\"\n :src=\"image\"\n :alt=\"imageAltText\" />\n </div>\n <div :class=\"`${prefix}__content`\">\n <div v-if=\"title || byline\" :class=\"`${prefix}__header`\">\n <CLSkeleton v-if=\"busy\" height=\"28px\" />\n <CLSkeleton v-if=\"busy\" width=\"70%\" height=\"16px\" />\n <template v-if=\"!onClick\">\n <CLHeading\n v-if=\"title && !busy\"\n :type=\"titleType\"\n :level=\"titleHLevel\"\n :theme=\"getTextTheme()\"\n :align=\"align\">\n {{ title }}\n </CLHeading>\n </template>\n <template v-else>\n <CLLink\n :href=\"href\"\n :theme=\"CLThemes.Dark\"\n :target=\"target\"\n :on-click=\"onClick\"\n data-expand-click-area>\n <CLHeading\n v-if=\"title && !busy\"\n :type=\"titleType\"\n :level=\"titleHLevel\"\n :theme=\"getTextTheme()\"\n :align=\"align\">\n {{ title }}\n </CLHeading>\n </CLLink>\n </template>\n <CLText\n v-if=\"byline && !busy\"\n :type=\"CLTextTypes.Small\"\n :theme=\"getTextTheme()\">\n {{ byline }}\n </CLText>\n </div>\n <div :class=\"`${prefix}__slot`\">\n <CLSkeleton v-if=\"busy\" height=\"50px\" />\n <div v-if=\"!busy\" ref=\"slotContent\" :class=\"`${prefix}__slot-content`\">\n <slot />\n </div>\n </div>\n </div>\n <div\n v-if=\"image && imageOrder === CLOrder.After\"\n :class=\"`${prefix}__image`\">\n <CLSkeleton\n v-if=\"busy\"\n :width=\"imageWidth\"\n :height=\"imageHeight\"\n :rounded=\"false\" />\n <img\n v-if=\"!busy\"\n :class=\"`${prefix}__image__elem`\"\n :src=\"image\"\n :alt=\"imageAltText\" />\n </div>\n <div v-if=\"onClick\" :class=\"`${prefix}__hover-elem`\"></div>\n </div>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n@import '../../scss/components/card';\n\n.clll-card {\n @include base-layout;\n @include transition;\n\n border: 1px solid;\n width: v-bind(width);\n height: v-bind(height);\n flex-direction: column;\n\n .clll-card__content {\n position: relative;\n width: 100%;\n z-index: var(--#{$prefix}-z-index-10);\n @include space-y-4;\n }\n\n .clll-card__header {\n position: relative;\n z-index: var(--#{$prefix}-z-index-10);\n @include space-y-1;\n }\n\n .clll-card__slot-content {\n color: var(--#{$prefix}-color-neutral-900);\n @include base-text;\n }\n\n .clll-card__hover-elem {\n z-index: 0;\n @include hover-box;\n }\n\n &.clll-card--image-before,\n &.clll-card--image-after {\n flex-wrap: wrap;\n flex-direction: row;\n\n .clll-card__content {\n display: flex;\n flex-direction: column;\n height: 100%;\n @include flex-1;\n\n .clll-card__slot {\n @include flex-1;\n }\n }\n }\n\n &.clll-card--rounded {\n border-radius: var(--#{$prefix}-rounded-sm);\n }\n\n &.clll-card--light {\n border-color: var(--#{$prefix}-color-neutral-200);\n background-color: var(--#{$prefix}-color-neutral-100);\n }\n\n &.clll-card--dark {\n border-color: var(--#{$prefix}-color-neutral-900);\n background-color: var(--#{$prefix}-color-neutral-800);\n\n .clll-card__slot-content {\n color: var(--#{$prefix}-color-neutral-100);\n }\n }\n\n &.clll-card--default,\n &.clll-card--secondary {\n @include card-solid(secondary);\n }\n\n &.clll-card--primary {\n @include card-solid(primary);\n }\n\n &.clll-card--danger {\n @include card-solid(danger);\n }\n\n &.clll-card--warning {\n @include card-solid(warning);\n }\n\n &.clll-card--info {\n @include card-solid(info);\n }\n\n &.clll-card--success {\n @include card-solid(success);\n }\n\n &.clll-card--outline,\n &.clll-card--outline-secondary {\n @include card-outline(secondary);\n }\n\n &.clll-card--outline-primary {\n @include card-outline(primary);\n }\n\n &.clll-card--outline-danger {\n @include card-outline(danger);\n }\n\n &.clll-card--outline-warning {\n @include card-outline(warning);\n }\n\n &.clll-card--outline-info {\n @include card-outline(info);\n }\n\n &.clll-card--outline-success {\n @include card-outline(success);\n }\n\n &.clll-card--tiny {\n padding: var(--#{$prefix}-unit-1);\n\n &.clll-card--has-image {\n .clll-card__header {\n padding: var(--#{$prefix}-unit-1);\n }\n\n .clll-card__slot {\n padding: 0 var(--#{$prefix}-unit-1) var(--#{$prefix}-unit-1);\n }\n }\n }\n\n &.clll-card--compact {\n padding: var(--#{$prefix}-unit-2);\n\n &.clll-card--has-image {\n .clll-card__header {\n padding: var(--#{$prefix}-unit-2);\n }\n\n .clll-card__slot {\n padding: 0 var(--#{$prefix}-unit-2) var(--#{$prefix}-unit-2);\n }\n }\n }\n\n &.clll-card--small {\n padding: var(--#{$prefix}-unit-3);\n\n &.clll-card--has-image {\n .clll-card__header {\n padding: var(--#{$prefix}-unit-3);\n }\n\n .clll-card__slot {\n padding: 0 var(--#{$prefix}-unit-3) var(--#{$prefix}-unit-3);\n }\n }\n }\n\n &.clll-card--medium {\n padding: var(--#{$prefix}-unit-4);\n\n &.clll-card--has-image {\n .clll-card__header {\n padding: var(--#{$prefix}-unit-4);\n }\n\n .clll-card__slot {\n padding: 0 var(--#{$prefix}-unit-4) var(--#{$prefix}-unit-4);\n }\n }\n }\n\n &.clll-card--large {\n padding: var(--#{$prefix}-unit-6);\n\n &.clll-card--has-image {\n .clll-card__header {\n padding: var(--#{$prefix}-unit-6);\n }\n\n .clll-card__slot {\n padding: 0 var(--#{$prefix}-unit-6) var(--#{$prefix}-unit-6);\n }\n }\n }\n\n &.clll-card--xlarge {\n padding: var(--#{$prefix}-unit-8);\n\n &.clll-card--has-image {\n .clll-card__header {\n padding: var(--#{$prefix}-unit-8);\n }\n\n .clll-card__slot {\n padding: 0 var(--#{$prefix}-unit-8) var(--#{$prefix}-unit-8);\n }\n }\n }\n\n &.clll-card--no-content {\n .clll-card__slot {\n position: absolute;\n left: -100%;\n }\n }\n\n &.clll-card--active {\n @include drop-shadow;\n }\n\n &.clll-card--busy {\n pointer-events: none;\n\n .clll-heading,\n .clll-text,\n .clll-icon,\n .clll-card__image__elem {\n opacity: 0;\n }\n\n .clll-card__slot-content {\n overflow: hidden;\n }\n }\n\n .clll-card__image {\n @include base-layout;\n display: flex;\n width: v-bind(imageWidth);\n height: v-bind(imageHeight);\n background-color: var(--#{$prefix}-color-secondary-200);\n justify-content: center;\n z-index: var(--#{$prefix}-z-index-10);\n\n .clll-card__image__elem {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n &.clll-card--has-image {\n padding: 0;\n\n .clll-card__content {\n @include space-y-0;\n\n .clll-card__slot {\n @include flex-1;\n }\n }\n }\n\n &.clll-card--has-link {\n cursor: pointer;\n outline-offset: 2px;\n @include focus($outline-offset: 2px, $shadow-width: 0);\n\n &:hover {\n .clll-card__hover-elem {\n opacity: 1;\n }\n }\n\n &:hover {\n .clll-card__header {\n .clll-button {\n .clll-button__content {\n .clll-heading {\n text-decoration-line: underline;\n text-underline-offset: var(--#{$prefix}-py-s-xs);\n }\n }\n }\n }\n }\n }\n\n &.clll-card--transparent {\n border: none;\n background-color: transparent;\n\n &.clll-card--has-image {\n &.clll-card--rounded {\n .clll-card__image {\n border-radius: var(--#{$prefix}-rounded-sm);\n }\n }\n }\n\n &:hover {\n .clll-card__hover-elem {\n opacity: 0;\n }\n }\n }\n\n &.clll-card--align-left {\n text-align: left;\n }\n\n &.clll-card--align-center {\n text-align: center;\n }\n\n &.clll-card--align-right {\n text-align: right;\n }\n\n &.clll-card--no-padding {\n padding: 0;\n\n &.clll-card--has-image {\n .clll-card__header,\n .clll-card__slot {\n padding: 0;\n }\n }\n }\n\n &.clll-card--elevated {\n @include drop-shadow;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue';\n\nimport CarouselNavigation from './CarouselNavigation.vue';\nimport {\n CLAlign,\n CLHeading,\n CLHeadingTypes,\n CLOrder,\n CLThemes,\n} from '../../../index';\n\nimport { debounce } from '../../../helper';\n\nconst prefix = 'clll-carousel';\n\nexport interface Props {\n controlAlign?: CLAlign;\n controlPosition?: CLOrder;\n enabled?: boolean;\n onShowMore?: (event?: Event) => void;\n testId?: string;\n title?: string;\n theme?: CLThemes;\n}\n\nwithDefaults(defineProps<Props>(), {\n controlAlign: CLAlign.Right,\n controlPosition: CLOrder.Before,\n enabled: true,\n testid: prefix,\n theme: CLThemes.Secondary,\n});\n\nconst totalPages = ref(0);\nconst currentPage = ref(1);\nconst scrollContainer = ref();\nconst scrollContainerWidth = ref(0);\nconst nextPageEnabled = ref(false);\nconst prevPageEnabled = ref(false);\n\nconst calcPerPage = () => {\n const container = scrollContainer?.value;\n\n if (container) {\n const containerWidth = container.offsetWidth;\n scrollContainerWidth.value = containerWidth;\n\n const slides = container.querySelectorAll(\n `div[class=\"${prefix}__slides\"] > *`\n );\n const slide = slides[0];\n\n if (slide) {\n const perPage = Math.round(containerWidth / slide.offsetWidth);\n const maxPages = Math.ceil(slides.length / perPage);\n totalPages.value = maxPages;\n\n if (maxPages > 1) nextPageEnabled.value = true;\n }\n }\n\n reset();\n};\n\nconst reset = () => {\n currentPage.value = 1;\n prevPageEnabled.value = false;\n\n const container = scrollContainer?.value;\n if (container) container.scroll({ left: 0 });\n};\n\nconst showNextItems = () => {\n const container = scrollContainer?.value;\n\n if (container && scrollContainerWidth) {\n const page = currentPage.value;\n const xPos = scrollContainerWidth.value * page;\n container.scrollTo({ left: xPos, behavior: 'smooth' });\n\n const nextPage = page + 1;\n currentPage.value = nextPage;\n\n prevPageEnabled.value = true;\n\n if (nextPage === totalPages.value) nextPageEnabled.value = false;\n }\n};\n\nconst showPrevItems = () => {\n const container = scrollContainer?.value;\n\n if (container && scrollContainerWidth) {\n const page = currentPage.value - 1;\n const prevPage = page - 1;\n\n const xPos = scrollContainerWidth.value * prevPage;\n container.scrollTo({ left: xPos, behavior: 'smooth' });\n\n currentPage.value = page;\n\n nextPageEnabled.value = true;\n\n if (!prevPage) prevPageEnabled.value = false;\n }\n};\n\nconst calc = debounce(calcPerPage, 100);\n\nonMounted(() => {\n window.addEventListener('resize', calc);\n calc();\n});\n\nonUnmounted(() => {\n window.removeEventListener('resize', calc);\n});\n</script>\n\n<template>\n <div\n :class=\"[\n prefix,\n onShowMore ? `${prefix}--has-more` : '',\n enabled ? `${prefix}--enabled` : `${prefix}--disabled`,\n ]\"\n :data-testid=\"testId\"\n :data-cy=\"testId\">\n <div\n v-if=\"title || prevPageEnabled || nextPageEnabled\"\n :class=\"`${prefix}__slide-controls`\">\n <div :class=\"`${prefix}__title`\">\n <CLHeading :type=\"CLHeadingTypes.Section\">{{ title }}</CLHeading>\n </div>\n <div\n v-if=\"totalPages && controlPosition === CLOrder.Before\"\n :class=\"[\n `${prefix}__navigation`,\n `${prefix}__navigation--${controlAlign}`,\n `${prefix}__navigation--${controlPosition}`,\n ]\">\n <CarouselNavigation\n :prefix=\"prefix\"\n :current-page=\"currentPage\"\n :total-pages=\"totalPages\"\n :theme=\"theme\"\n :next-page-enabled=\"nextPageEnabled\"\n :prev-page-enabled=\"prevPageEnabled\"\n :showNextItems=\"showNextItems\"\n :showPrevItems=\"showPrevItems\"\n :showMore=\"onShowMore\" />\n </div>\n </div>\n <div ref=\"scrollContainer\" :class=\"`${prefix}__slides`\">\n <slot />\n </div>\n <div\n v-if=\"totalPages && (prevPageEnabled || nextPageEnabled)\"\n :class=\"`${prefix}__slide-controls`\">\n <div\n v-if=\"controlPosition === CLOrder.After\"\n :class=\"[\n `${prefix}__navigation`,\n `${prefix}__navigation--${controlAlign}`,\n `${prefix}__navigation--${controlPosition}`,\n ]\">\n <CarouselNavigation\n :prefix=\"prefix\"\n :current-page=\"currentPage\"\n :total-pages=\"totalPages\"\n :theme=\"theme\"\n :next-page-enabled=\"nextPageEnabled\"\n :prev-page-enabled=\"prevPageEnabled\"\n :showNextItems=\"showNextItems\"\n :showPrevItems=\"showPrevItems\"\n :showMore=\"onShowMore\" />\n </div>\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n@import '../../../scss/main.scss';\n\n.clll-carousel {\n position: relative;\n @include space-y-2;\n\n .clll-carousel__slides {\n position: relative;\n\n @include sm {\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n width: 0 !important;\n }\n }\n\n > * {\n flex: none;\n }\n }\n\n .clll-carousel__slide-controls {\n display: flex;\n align-items: center;\n @include space-x-2;\n\n .clll-carousel__navigation {\n display: flex;\n align-items: center;\n @include space-x-2;\n\n &.clll-carousel__navigation--after,\n &.clll-carousel__navigation--before {\n flex: 1;\n }\n\n &.clll-carousel__navigation--left {\n justify-content: left;\n }\n\n &.clll-carousel__navigation--center {\n justify-content: center;\n }\n\n &.clll-carousel__navigation--right {\n justify-content: right;\n }\n\n .clll-carousel__page-indicator,\n .clll-carousel__prev-slide,\n .clll-carousel__next-slide {\n display: none;\n\n @include sm {\n display: block;\n }\n }\n }\n }\n\n &.clll-carousel--enabled {\n .clll-carousel__slides {\n display: flex;\n width: 100%;\n overflow-x: scroll;\n white-space: nowrap;\n padding: var(--cll-unit-1) 0;\n\n @include sm {\n overflow-x: hidden;\n }\n }\n }\n\n &.clll-carousel--disabled {\n .clll-carousel__slides {\n display: block;\n }\n\n .clll-carousel__page-indicator,\n .clll-carousel__prev-slide,\n .clll-carousel__next-slide {\n display: none;\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { CLMessageType } from '../../index';\n\nexport interface Props {\n id: string;\n messages?: string[];\n messageType?: CLMessageType;\n}\n\ndefineProps<Props>();\n\nconst cssPrefix = 'clll-input__message';\n</script>\n\n<template>\n <span\n :class=\"[cssPrefix, `${cssPrefix}--${messageType}`]\"\n v-for=\"(message, idx) in messages\"\n :key=\"`${id}-message-${idx}`\">\n <span :class=\"[`${cssPrefix}__text`]\">{{ message }}</span>\n </span>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-input__message {\n margin-top: var(--#{$prefix}-unit-1);\n\n .clll-input__message__text {\n font-size: var(--#{$prefix}-unit-3);\n @include base-text;\n }\n\n &.clll-input__message--danger {\n color: var(--#{$prefix}-color-danger-800);\n }\n\n &.clll-input__message--success {\n color: var(--#{$prefix}-color-success-800);\n }\n\n &.clll-input__message--warning {\n color: var(--#{$prefix}-color-warning-800);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\n\nimport InputMessages from './InputMessages.vue';\nimport {\n CLIcon,\n CLIconNames,\n CLInputProps,\n CLSizes,\n CLText,\n CLTextTypes,\n CLThemes,\n} from '../../index';\n\nconst props = withDefaults(\n defineProps<\n Omit<\n CLInputProps,\n | 'autoComplete'\n | 'floatingLabel'\n | 'fluid'\n | 'grouped'\n | 'labelSize'\n | 'maxLength'\n | 'minLength'\n | 'options'\n | 'pattern'\n | 'placeholder'\n | 'prefix'\n | 'readonly'\n | 'resizable'\n | 'rows'\n | 'spellcheck'\n | 'suffix'\n | 'width'\n >\n >(),\n {\n rounded: true,\n size: CLSizes.Small,\n theme: CLThemes.Default,\n }\n);\n\nconst cssPrefix = 'clll-checkbox';\nconst checkboxElem = ref<HTMLInputElement>();\n\nconst setFocusHandler = () => {\n if (checkboxElem.value) checkboxElem.value.focus();\n};\n\nconst getIconSize = () => {\n switch (props.size) {\n case CLSizes.Tiny:\n case CLSizes.Small:\n return CLSizes.Tiny;\n case CLSizes.Medium:\n return CLSizes.Small;\n case CLSizes.Large:\n case CLSizes.XLarge:\n return CLSizes.Medium;\n default:\n return CLSizes.Small;\n }\n};\n\nconst getLabelSize = () => {\n switch (props.size) {\n case CLSizes.Tiny:\n return CLTextTypes.Small;\n case CLSizes.Small:\n case CLSizes.Medium:\n return CLTextTypes.Medium;\n case CLSizes.Large:\n case CLSizes.XLarge:\n return CLTextTypes.Large;\n }\n};\n</script>\n\n<template>\n <span\n :class=\"[\n cssPrefix,\n `${cssPrefix}--${theme}`,\n `${cssPrefix}--${size}`,\n label ? `${cssPrefix}--haslabel` : '',\n messageType ? `${cssPrefix}--${messageType}` : '',\n busy ? `${cssPrefix}--busy` : `${cssPrefix}--ready`,\n disabled ? `${cssPrefix}--disabled` : `${cssPrefix}--active`,\n rounded ? `${cssPrefix}--rounded` : `${cssPrefix}--box`,\n required ? `${cssPrefix}--required` : `${cssPrefix}--optional`,\n ]\">\n <span :class=\"`${cssPrefix}__checkbox-container`\" @click=\"setFocusHandler\">\n <label :for=\"id\" :class=\"`${cssPrefix}__label`\" :disabled=\"disabled\">\n <span :class=\"`${cssPrefix}__checkbox-frame`\">\n <input\n ref=\"checkboxElem\"\n :id=\"id\"\n :name=\"name\"\n :aria-label=\"ariaLabel\"\n :checked=\"checked\"\n :value=\"value\"\n :disabled=\"disabled\"\n type=\"checkbox\"\n :class=\"`${cssPrefix}__checkbox`\" />\n <span :class=\"`${cssPrefix}__icon`\">\n <CLIcon :name=\"CLIconNames.Check\" :size=\"getIconSize()\" />\n </span>\n </span>\n <CLText\n v-if=\"label\"\n :type=\"getLabelSize()\"\n :class=\"required ? `${cssPrefix}__label--required` : ''\">\n {{ label }}\n </CLText>\n </label>\n </span>\n <InputMessages\n v-if=\"id\"\n :id=\"id\"\n :messages=\"messages\"\n :messageType=\"messageType\" />\n </span>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n@import '../../scss/components/input';\n@import '../../scss/components/common';\n\n.clll-checkbox {\n @include base-layout;\n align-items: flex-start;\n flex-direction: column;\n overflow: visible;\n\n .clll-checkbox__label {\n @include base-layout;\n overflow: visible;\n text-align: left;\n user-select: none;\n cursor: pointer;\n\n @include space-x-2;\n\n .clll-text {\n &.clll-checkbox__label--required::after {\n font-weight: 500;\n @include required-asterisk;\n }\n }\n }\n\n .clll-checkbox__checkbox-container {\n @include base-layout;\n overflow: visible;\n\n .clll-checkbox__checkbox-frame {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n\n .clll-checkbox__checkbox {\n background-color: white;\n\n &:not(:checked) + .clll-checkbox__icon {\n display: none;\n }\n }\n }\n }\n\n .clll-checkbox__icon {\n position: absolute;\n display: inline-flex;\n }\n\n .clll-checkbox__checkbox {\n display: inline-block;\n appearance: none;\n background-color: white;\n cursor: pointer;\n\n @include transition;\n @include base-form-element;\n @include focus;\n }\n\n &.clll-checkbox--rounded {\n .clll-checkbox__checkbox {\n border-radius: var(--#{$prefix}-rounded-xs);\n }\n }\n\n &.clll-checkbox--default {\n @include checkbox-style('checkbox', 'secondary');\n }\n\n &.clll-checkbox--disabled {\n @include checkbox-style('checkbox', 'secondary', 'secondary', true);\n }\n\n &.clll-checkbox--danger {\n @include checkbox-style('checkbox', 'danger');\n }\n\n &.clll-checkbox--success {\n @include checkbox-style('checkbox', 'success');\n }\n\n &.clll-checkbox--warning {\n @include checkbox-style('checkbox', 'warning');\n }\n\n &.clll-checkbox--tiny {\n .clll-checkbox__checkbox-container {\n .clll-checkbox__label {\n @include space-x-1_5;\n\n .clll-checkbox__checkbox {\n width: var(--#{$prefix}-unit-4);\n height: var(--#{$prefix}-unit-4);\n }\n }\n }\n }\n\n &.clll-checkbox--small {\n .clll-checkbox__checkbox-container {\n .clll-checkbox__label {\n @include space-x-2;\n\n .clll-checkbox__checkbox {\n width: var(--#{$prefix}-unit-5);\n height: var(--#{$prefix}-unit-5);\n }\n }\n }\n }\n\n &.clll-checkbox--medium {\n .clll-checkbox__checkbox-container {\n .clll-checkbox__label {\n @include space-x-2_5;\n\n .clll-checkbox__checkbox {\n width: var(--#{$prefix}-unit-6);\n height: var(--#{$prefix}-unit-6);\n }\n }\n }\n }\n\n &.clll-checkbox--large {\n .clll-checkbox__checkbox-container {\n .clll-checkbox__label {\n @include space-x-3;\n\n .clll-checkbox__checkbox {\n width: var(--#{$prefix}-unit-7);\n height: var(--#{$prefix}-unit-7);\n }\n }\n }\n }\n\n &.clll-checkbox--xlarge {\n .clll-checkbox__checkbox-container {\n .clll-checkbox__label {\n @include space-x-3;\n\n .clll-checkbox__checkbox {\n width: var(--#{$prefix}-unit-8);\n height: var(--#{$prefix}-unit-8);\n }\n }\n }\n }\n}\n</style>\n","interface Props {\n escHandler: () => void;\n}\n\nexport const useEsc = ({ escHandler }: Props) => {\n if (typeof document !== 'undefined') {\n const handleEscKey = (evt: KeyboardEvent) => {\n if (evt.key === 'Escape') escHandler();\n };\n\n document.addEventListener('keyup', handleEscKey, false);\n }\n};\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\n\nimport {\n CLButton,\n CLButtonTypes,\n CLHeading,\n CLHeadingTypes,\n CLHeadingLevels,\n CLIconNames,\n CLText,\n CLThemes,\n CLTextTypes,\n CLSizes,\n} from '../../index';\nimport { useEsc } from '../../composables/useEsc';\n\nconst prefix = 'clll-disclosure';\n\nexport interface Props {\n compact?: boolean;\n contentSpacing?: boolean;\n expanded?: boolean;\n expandedIcon?: CLIconNames;\n heading: string;\n headingType?: CLHeadingTypes;\n headingLevel?: CLHeadingLevels;\n icon?: CLIconNames;\n iconSize?: CLSizes;\n rounded?: boolean;\n subHeading?: string;\n subHeadingType?: CLTextTypes;\n testId?: string;\n transparent?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n contentSpacing: true,\n expanded: false,\n expandedIcon: CLIconNames.ChevronUp,\n headingType: CLHeadingTypes.Title,\n icon: CLIconNames.ChevronDown,\n iconSize: CLSizes.Large,\n rounded: true,\n testId: prefix,\n subHeadingType: CLTextTypes.Body,\n});\n\nconst expanded = ref(props.expanded);\n\nconst onTriggerClickedHandler = () => {\n if (!expanded.value) {\n expanded.value = true;\n } else {\n expanded.value = false;\n }\n};\n\nuseEsc({ escHandler: onTriggerClickedHandler });\n</script>\n\n<template>\n <div\n :class=\"[\n contentSpacing ? `${prefix}--padded` : `${prefix}--nopadding`,\n compact ? `${prefix}--compact` : '',\n !expanded ? `${prefix}--collapsed` : `${prefix}--expanded`,\n prefix,\n rounded ? `${prefix}--rounded` : `${prefix}--box`,\n transparent ? `${prefix}--transparent` : '',\n ]\"\n :data-testid=\"testId\"\n :data-cy=\"testId\">\n <div :class=\"`${prefix}__trigger`\">\n <CLButton\n :theme=\"CLThemes.Transparent\"\n :onClick=\"onTriggerClickedHandler\"\n :type=\"CLButtonTypes.Button\"\n :rounded=\"false\"\n :iconAfter=\"!expanded ? icon : expandedIcon\"\n :iconSize=\"iconSize\"\n width=\"100%\"\n wrap>\n <CLHeading :type=\"headingType\" :level=\"headingLevel\">\n {{ heading }}\n </CLHeading>\n <CLText :type=\"subHeadingType\">{{ subHeading }}</CLText>\n </CLButton>\n </div>\n <div :class=\"`${prefix}__content`\">\n <slot />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-disclosure {\n border: 1px solid var(--#{$prefix}-color-secondary-500);\n background-color: white;\n\n &.clll-disclosure--padded {\n .clll-disclosure__content {\n padding: var(--#{$prefix}-unit-5);\n }\n }\n\n &.clll-disclosure--expanded {\n .clll-disclosure__content {\n display: block;\n }\n }\n\n &.clll-disclosure--collapsed {\n .clll-disclosure__content {\n display: none;\n }\n }\n\n &.clll-disclosure--rounded {\n border-radius: var(--#{$prefix}-rounded-md);\n\n &.clll-disclosure--collapsed {\n .clll-disclosure__trigger {\n .clll-button {\n border-radius: var(--#{$prefix}-rounded-md);\n }\n }\n }\n\n .clll-disclosure__trigger {\n .clll-button {\n border-top-right-radius: var(--#{$prefix}-rounded-md);\n border-top-left-radius: var(--#{$prefix}-rounded-md);\n }\n }\n }\n\n .clll-disclosure__trigger {\n padding: var(--#{$prefix}-unit-0_5);\n\n .clll-button {\n padding: var(--#{$prefix}-unit-5);\n }\n }\n\n &.clll-disclosure--compact {\n .clll-disclosure__trigger {\n padding: 0;\n\n .clll-button {\n padding: var(--#{$prefix}-unit-1) 0;\n }\n }\n\n .clll-disclosure__content {\n padding: var(--#{$prefix}-unit-1) 0;\n }\n }\n\n &.clll-disclosure--transparent {\n border: 0;\n\n .clll-disclosure__trigger {\n .clll-button {\n border: 0;\n }\n }\n }\n\n .clll-disclosure__content {\n border-top: 1px solid var(--#{$prefix}-color-secondary-200);\n }\n}\n</style>\n","<script lang=\"ts\">\nimport { h, PropType } from 'vue';\n\nimport {\n CLAlign,\n CLHeadingLevels,\n CLHeadingTypes,\n CLHeadingThemes,\n CLThemes,\n} from '../../index';\n\nconst prefix = 'clll-heading';\n\nexport default {\n props: {\n type: {\n type: String as PropType<CLHeadingTypes>,\n default: CLHeadingTypes.Title,\n },\n theme: {\n type: String as PropType<CLHeadingThemes>,\n default: CLThemes.Dark,\n },\n align: {\n type: String as PropType<CLAlign>,\n default: CLAlign.Left,\n },\n level: {\n type: String as PropType<CLHeadingLevels>,\n },\n },\n setup(props, { slots }) {\n const getLevel = () => {\n if (props.level) return props.level;\n\n switch (props.type) {\n case CLHeadingTypes.Section:\n return CLHeadingLevels.H2;\n case CLHeadingTypes.SubSection:\n return CLHeadingLevels.H3;\n case CLHeadingTypes.PageTitle:\n case CLHeadingTypes.Title:\n default:\n return CLHeadingLevels.H1;\n }\n };\n\n return () =>\n h(\n getLevel(),\n {\n class: [\n prefix,\n `${prefix}--${props.type}`,\n `${prefix}--${props.theme}`,\n `${prefix}--${props.align}`,\n ],\n },\n {\n default: () => slots?.['default'] && slots?.['default'](),\n }\n );\n },\n};\n</script>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-heading {\n @include base-text;\n\n &.clll-heading--pagetitle {\n font-weight: 700;\n @include text-6xl;\n }\n\n &.clll-heading--title {\n font-weight: 600;\n @include text-2xl;\n }\n\n &.clll-heading--section {\n font-weight: 600;\n @include text-xl;\n }\n\n &.clll-heading--subsection {\n font-weight: 500;\n @include text-md;\n }\n\n &.clll-heading--light {\n color: var(--#{$prefix}-color-neutral-100);\n }\n\n &.clll-heading--dark {\n color: var(--#{$prefix}-color-neutral-800);\n }\n &.clll-heading--left {\n text-align: left;\n }\n\n &.clll-heading--center {\n text-align: center;\n }\n\n &.clll-heading--right {\n text-align: right;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { CLIconNames, CLSizes } from '../../index';\n\nexport interface Props {\n name: CLIconNames;\n size?: CLSizes;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n size: CLSizes.Small,\n});\n\nconst prefix = 'clll-icon';\n\nconst getSize = () => {\n switch (props.size) {\n case CLSizes.Tiny:\n return 16;\n case CLSizes.Small:\n return 24;\n case CLSizes.Medium:\n return 36;\n case CLSizes.Large:\n return 40;\n case CLSizes.XLarge:\n return 48;\n default:\n return;\n }\n};\n</script>\n\n<template>\n <span :class=\"[prefix, `${prefix}--${name}`, `${prefix}--${size}`]\">\n <svg\n aria-hidden=\"true\"\n :class=\"`${prefix}-sprite`\"\n :height=\"getSize()\"\n :width=\"getSize()\"\n viewBox=\"0 0 24 24\">\n <use :href=\"`#${name}`\" />\n </svg>\n </span>\n</template>\n\n<style>\n.clll-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: v-bind(getSize());\n height: v-bind(getSize());\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\n\nimport InputMessages from './InputMessages.vue';\nimport {\n CLIcon,\n CLIconNames,\n CLInputTypes,\n CLInputProps,\n CLPill,\n CLSizes,\n CLText,\n CLTextTypes,\n CLThemes,\n} from '../../index';\n\nconst props = withDefaults(\n defineProps<\n Omit<CLInputProps, 'checked' | 'options' | 'rows' | 'resizable'>\n >(),\n {\n rounded: true,\n size: CLSizes.Small,\n theme: CLThemes.Default,\n type: CLInputTypes.Text,\n fluid: false,\n }\n);\n\nconst cssPrefix = 'clll-input';\nconst inputElem = ref<HTMLInputElement>();\n\nconst isAnIcon = (text: any) => Object.values(CLIconNames).includes(text);\nconst getIcon = (text: string) => text as CLIconNames;\n\nconst getIconSize = () => {\n switch (props.size) {\n case CLSizes.Tiny:\n case CLSizes.Small:\n return CLSizes.Tiny;\n case CLSizes.Medium:\n return CLSizes.Small;\n case CLSizes.Large:\n case CLSizes.XLarge:\n return CLSizes.Medium;\n default:\n return CLSizes.Small;\n }\n};\n\nconst getLabelSize = () => {\n switch (props.size) {\n case CLSizes.Tiny:\n return CLTextTypes.Tiny;\n case CLSizes.Small:\n return CLTextTypes.Small;\n case CLSizes.Medium:\n return CLTextTypes.Medium;\n case CLSizes.Large:\n case CLSizes.XLarge:\n return CLTextTypes.Body;\n }\n};\n\nconst setFocusHandler = () => {\n if (inputElem.value) inputElem.value.focus();\n};\n</script>\n\n<template>\n <span\n :class=\"[\n cssPrefix,\n `${cssPrefix}--${theme}`,\n `${cssPrefix}--${size}`,\n `${cssPrefix}--${type}`,\n label ? `${cssPrefix}--haslabel` : '',\n floatingLabel ? `${cssPrefix}--hasfloatinglabel` : '',\n messageType ? `${cssPrefix}--${messageType}` : '',\n busy ? `${cssPrefix}--busy` : `${cssPrefix}--ready`,\n disabled ? `${cssPrefix}--disabled` : `${cssPrefix}--active`,\n readonly ? `${cssPrefix}--readonly` : `${cssPrefix}--writeable`,\n rounded ? `${cssPrefix}--rounded` : `${cssPrefix}--box`,\n required ? `${cssPrefix}--required` : `${cssPrefix}--optional`,\n prefix ? `${cssPrefix}--hasprefix` : '',\n prefix\n ? isAnIcon(prefix)\n ? `${cssPrefix}--hasiconprefix`\n : `${cssPrefix}--hascustomprefix`\n : '',\n suffix ? `${cssPrefix}--hassuffix` : '',\n suffix\n ? isAnIcon(suffix)\n ? `${cssPrefix}--hasiconsuffix`\n : `${cssPrefix}--hascustomsuffix`\n : '',\n grouped ? `${cssPrefix}--grouped` : '',\n pill ? `${cssPrefix}--haspill` : '',\n fluid ? `${cssPrefix}--fluid` : `${cssPrefix}--fixed`,\n ]\">\n <label v-if=\"label\" :for=\"id\" :class=\"`${cssPrefix}__label`\">\n <CLText\n :type=\"getLabelSize()\"\n :class=\"required ? `${cssPrefix}__label--required` : ''\">\n {{ label }}\n </CLText>\n </label>\n <span\n :class=\"[`${cssPrefix}__input-container`, '--focus-within']\"\n @click=\"setFocusHandler\">\n <span\n v-if=\"prefix\"\n :class=\"[\n `${cssPrefix}__input-prefix`,\n !isAnIcon(prefix)\n ? `${cssPrefix}__input-prefix--string`\n : `${cssPrefix}__input-prefix--icon`,\n { '--input-group': grouped || prefix },\n ]\">\n <template v-if=\"isAnIcon(prefix)\">\n <CLIcon :name=\"getIcon(prefix)\" :size=\"getIconSize()\" />\n </template>\n <template v-else>{{ prefix }}</template>\n </span>\n <input\n ref=\"inputElem\"\n :id=\"id\"\n :name=\"name\"\n :aria-label=\"ariaLabel\"\n :autocomplete=\"autoComplete ? 'on' : 'off'\"\n :disabled=\"disabled\"\n :form=\"form\"\n :maxlength=\"maxLength\"\n :minlength=\"minLength\"\n :pattern=\"pattern\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :required=\"required\"\n :spellcheck=\"spellCheck\"\n :type=\"type\"\n :value=\"value\"\n @input=\"onInput\"\n @change=\"onChange\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n :class=\"[\n `${cssPrefix}__input`,\n { '--input-group': grouped || prefix || suffix },\n ]\" />\n <span\n v-if=\"suffix\"\n :class=\"[\n `${cssPrefix}__input-suffix`,\n !isAnIcon(suffix)\n ? `${cssPrefix}__input-suffix--string`\n : `${cssPrefix}__input-suffix--icon`,\n { '--input-group': grouped || prefix },\n ]\">\n <template v-if=\"isAnIcon(suffix)\">\n <CLIcon :name=\"getIcon(suffix)\" :size=\"getIconSize()\" />\n </template>\n <template v-else>{{ suffix }}</template>\n </span>\n </span>\n <span v-if=\"pill\">\n <CLPill :label=\"pill\" />\n </span>\n <InputMessages\n v-if=\"id\"\n :id=\"id\"\n :messages=\"messages\"\n :messageType=\"messageType\" />\n </span>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n@import '../../scss/components/common';\n@import '../../scss/components/input';\n\n.clll-input {\n @include base-layout;\n flex-direction: column;\n align-items: flex-start;\n overflow: visible;\n\n &.clll-input--haslabel {\n &:not(.clll-input--hasfloatinglabel) {\n @include space-y-1_5;\n }\n\n .clll-input__label {\n .clll-text {\n font-weight: 500;\n\n &.clll-input__label--required::after {\n @include required-asterisk;\n }\n }\n }\n }\n\n .clll-input__input-container {\n @include base-layout;\n overflow: visible;\n }\n\n .clll-input__input {\n display: inline-block;\n appearance: none;\n color: var(--#{$prefix}-color-secondary-900);\n\n @include transition;\n @include base-font;\n @include base-form-element;\n @include focus($outline-width: 1px);\n }\n\n &.clll-input--hascustomprefix,\n &.clll-input--hascustomsuffix,\n &.clll-input--hasfloatinglabel,\n &.clll-input--grouped {\n @include transition;\n @include focus-within;\n\n .clll-input__input {\n @include focus-none;\n }\n }\n\n .clll-input__input-prefix,\n .clll-input__input-suffix {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--#{$prefix}-color-secondary-900);\n pointer-events: none;\n user-select: none;\n height: 100%;\n\n &.clll-input__input-prefix--icon,\n &.clll-input__input-suffix--icon {\n position: absolute;\n @include base-border-box;\n }\n\n &.clll-input__input-prefix--string,\n &.clll-input__input-suffix--string {\n position: relative;\n @include base-font;\n }\n }\n\n .clll-input__input-prefix {\n left: 0;\n }\n\n .clll-input__input-suffix {\n right: 0;\n }\n\n .clll-icon {\n color: var(--#{$prefix}-color-secondary-900);\n }\n\n &.clll-input--rounded {\n .clll-input__input-container,\n .clll-input__input {\n border-radius: var(--#{$prefix}-rounded-xs);\n }\n }\n\n &.clll-input--disabled {\n @include input-style('input', 'secondary', 'secondary');\n }\n\n &.clll-input--readonly {\n @include input-style('input', 'secondary', 'secondary', true);\n }\n\n &.clll-input--danger {\n @include input-style('input', 'danger');\n }\n\n &.clll-input--success {\n @include input-style('input', 'success');\n }\n\n &.clll-input--warning {\n @include input-style('input', 'warning');\n }\n\n &.clll-input--tiny {\n .clll-input__input-container {\n .clll-input__input {\n @include text-xs;\n padding: var(--#{$prefix}-py-xs) var(--#{$prefix}-px-sm);\n\n &::file-selector-button {\n padding: var(--#{$prefix}-py-sm) var(--#{$prefix}-px-sm);\n margin-right: var(--#{$prefix}-px-sm);\n }\n }\n }\n\n &.clll-input--hasfloatinglabel {\n .clll-input__label {\n top: var(--#{$prefix}-unit-0_5);\n left: var(--#{$prefix}-unit-2);\n }\n\n .clll-input__input-container {\n padding-top: var(--#{$prefix}-unit-5);\n }\n }\n\n &.clll-input--hasprefix {\n .clll-input__input-prefix {\n padding: 0 var(--#{$prefix}-unit-1);\n }\n\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-6);\n }\n }\n\n &.clll-input--hassuffix {\n .clll-input__input-suffix {\n right: 0;\n padding: 0 var(--#{$prefix}-unit-1);\n }\n\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-6);\n }\n }\n\n &.clll-input--hascustomprefix,\n &.clll-input--hascustomsuffix {\n @include text-xs;\n }\n\n &.clll-input--hascustomprefix {\n .clll-input__input {\n padding-left: 0;\n }\n }\n\n &.clll-input--hascustomsuffix {\n .clll-input__input {\n padding-right: 0;\n }\n }\n\n &.clll-input--grouped {\n .clll-input__input-prefix,\n .clll-input__input-suffix {\n padding: var(--#{$prefix}-unit-1_5);\n }\n\n &.clll-input--hasiconprefix {\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-9);\n }\n }\n\n &.clll-input--hascustomprefix {\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-1_5);\n }\n }\n\n &.clll-input--hasiconsuffix {\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-9);\n }\n }\n\n &.clll-input--hascustomsuffix {\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-1_5);\n }\n }\n }\n }\n\n &.clll-input--small {\n .clll-input__input-container {\n .clll-input__input {\n @include text-sm;\n padding: var(--#{$prefix}-py-sm) var(--#{$prefix}-px-md);\n\n &::file-selector-button {\n padding: var(--#{$prefix}-py-md) var(--#{$prefix}-px-md);\n margin-right: var(--#{$prefix}-px-md);\n }\n }\n }\n\n &.clll-input--hasfloatinglabel {\n .clll-input__label {\n top: var(--#{$prefix}-unit-1);\n left: var(--#{$prefix}-unit-2_5);\n }\n\n .clll-input__input-container {\n padding-top: var(--#{$prefix}-unit-6);\n }\n }\n\n &.clll-input--hasprefix {\n .clll-input__input-prefix:not(.clll-input__input-prefix--string) {\n padding-left: var(--#{$prefix}-unit-1_5);\n padding-right: var(--#{$prefix}-unit-1_5);\n }\n\n .clll-input__input-prefix--string {\n padding-left: var(--#{$prefix}-unit-1_5);\n }\n\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-9);\n }\n }\n\n &.clll-input--hassuffix {\n .clll-input__input-suffix:not(.clll-input__input-suffix--string) {\n padding-left: var(--#{$prefix}-unit-1_5);\n padding-right: var(--#{$prefix}-unit-1_5);\n }\n\n .clll-input__input-suffix--string {\n padding-right: var(--#{$prefix}-unit-1_5);\n }\n\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-9);\n }\n }\n\n &.clll-input--hascustomprefix,\n &.clll-input--hascustomsuffix {\n @include text-sm;\n }\n\n &.clll-input--hascustomprefix {\n .clll-input__input {\n padding-left: 0;\n }\n }\n\n &.clll-input--hascustomsuffix {\n .clll-input__input {\n padding-right: 0;\n }\n }\n\n &.clll-input--grouped {\n .clll-input__input-prefix,\n .clll-input__input-suffix {\n padding: var(--#{$prefix}-py-sm) var(--#{$prefix}-px-md);\n }\n\n &.clll-input--hasiconprefix {\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-10);\n }\n }\n\n &.clll-input--hascustomprefix {\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-2_5);\n }\n }\n\n &.clll-input--hasiconsuffix {\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-10);\n }\n }\n\n &.clll-input--hascustomsuffix {\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-2_5);\n }\n }\n }\n }\n\n &.clll-input--medium {\n .clll-input__input-container {\n .clll-input__input {\n @include text-md;\n padding: var(--#{$prefix}-py-md) var(--#{$prefix}-px-lg);\n\n &::file-selector-button {\n padding: var(--#{$prefix}-py-xl) var(--#{$prefix}-px-lg);\n margin-right: var(--#{$prefix}-px-lg);\n }\n }\n }\n\n &.clll-input--hasfloatinglabel {\n .clll-input__label {\n top: var(--#{$prefix}-unit-1_5);\n left: var(--#{$prefix}-unit-3);\n }\n\n .clll-input__input-container {\n padding-top: var(--#{$prefix}-unit-7);\n }\n }\n\n &.clll-input--hasprefix {\n .clll-input__input-prefix {\n padding: 0 var(--#{$prefix}-unit-1_5);\n }\n\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-10);\n }\n }\n\n &.clll-input--hassuffix {\n .clll-input__input-suffix {\n padding: 0 var(--#{$prefix}-unit-1_5);\n }\n\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-10);\n }\n }\n\n &.clll-input--hascustomprefix,\n &.clll-input--hascustomsuffix {\n @include text-md;\n }\n\n &.clll-input--hascustomprefix {\n .clll-input__input {\n padding-left: 0;\n }\n }\n\n &.clll-input--hascustomsuffix {\n .clll-input__input {\n padding-right: 0;\n }\n }\n\n &.clll-input--grouped {\n .clll-input__input-prefix,\n .clll-input__input-suffix {\n padding: var(--#{$prefix}-py-md) var(--#{$prefix}-px-lg);\n }\n\n &.clll-input--hasiconprefix {\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-17);\n }\n }\n\n &.clll-input--hascustomprefix {\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-3_5);\n }\n }\n\n &.clll-input--hasiconsuffix {\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-17);\n }\n }\n\n &.clll-input--hascustomsuffix {\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-3_5);\n }\n }\n }\n }\n\n &.clll-input--large {\n .clll-input__input-container {\n .clll-input__input {\n @include text-lg;\n padding: var(--#{$prefix}-py-lg) var(--#{$prefix}-px-2xl);\n\n &::file-selector-button {\n padding: var(--#{$prefix}-py-2xl) var(--#{$prefix}-px-2xl);\n margin-right: var(--#{$prefix}-px-2xl);\n }\n }\n }\n\n &.clll-input--hasfloatinglabel {\n .clll-input__label {\n top: var(--#{$prefix}-unit-2);\n left: var(--#{$prefix}-unit-4);\n }\n\n .clll-input__input-container {\n padding-top: var(--#{$prefix}-unit-8);\n }\n }\n\n &.clll-input--hasprefix {\n .clll-input__input-prefix {\n padding: 0 var(--#{$prefix}-unit-2);\n }\n\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-12);\n }\n }\n\n &.clll-input--hassuffix {\n .clll-input__input-suffix {\n padding: 0 var(--#{$prefix}-unit-2);\n }\n\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-12);\n }\n }\n\n &.clll-input--hascustomprefix,\n &.clll-input--hascustomsuffix {\n @include text-lg;\n }\n\n &.clll-input--hascustomprefix {\n .clll-input__input {\n padding-left: 0;\n }\n }\n\n &.clll-input--hascustomsuffix {\n .clll-input__input {\n padding-right: 0;\n }\n }\n\n &.clll-input--grouped {\n .clll-input__input-prefix,\n .clll-input__input-suffix {\n padding: var(--#{$prefix}-py-lg) var(--#{$prefix}-px-2xl);\n }\n\n &.clll-input--hasiconprefix {\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-18);\n }\n }\n\n &.clll-input--hascustomprefix {\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-3_5);\n }\n }\n\n &.clll-input--hasiconsuffix {\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-18);\n }\n }\n\n &.clll-input--hascustomsuffix {\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-3_5);\n }\n }\n }\n }\n\n &.clll-input--xlarge {\n .clll-input__input-container {\n .clll-input__input {\n @include text-xl;\n padding: var(--#{$prefix}-py-2xl) var(--#{$prefix}-px-3xl);\n\n &::file-selector-button {\n padding: var(--#{$prefix}-py-4xl) var(--#{$prefix}-px-3xl);\n margin-right: var(--#{$prefix}-px-3xl);\n }\n }\n }\n\n &.clll-input--hasfloatinglabel {\n .clll-input__label {\n top: var(--#{$prefix}-unit-2_5);\n left: var(--#{$prefix}-unit-5);\n }\n\n .clll-input__input-container {\n padding-top: var(--#{$prefix}-unit-9);\n }\n }\n\n &.clll-input--hasprefix {\n .clll-input__input-prefix {\n padding: 0 var(--#{$prefix}-unit-2_5);\n }\n\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-14);\n }\n }\n\n &.clll-input--hassuffix {\n .clll-input__input-suffix {\n padding: 0 var(--#{$prefix}-unit-2_5);\n }\n\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-14);\n }\n }\n\n &.clll-input--hascustomprefix,\n &.clll-input--hascustomsuffix {\n @include text-xl;\n }\n\n &.clll-input--hascustomprefix {\n .clll-input__input {\n padding-left: 0;\n }\n }\n\n &.clll-input--hascustomsuffix {\n .clll-input__input {\n padding-right: 0;\n }\n }\n\n &.clll-input--grouped {\n .clll-input__input-prefix,\n .clll-input__input-suffix {\n padding: var(--#{$prefix}-py-2xl) var(--#{$prefix}-px-3xl);\n }\n\n &.clll-input--hasiconprefix {\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-20);\n }\n }\n\n &.clll-input--hascustomprefix {\n .clll-input__input {\n padding-left: var(--#{$prefix}-unit-4);\n }\n }\n\n &.clll-input--hasiconsuffix {\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-20);\n }\n }\n\n &.clll-input--hascustomsuffix {\n .clll-input__input {\n padding-right: var(--#{$prefix}-unit-4);\n }\n }\n }\n }\n\n &.clll-input--grouped {\n &.clll-input--hasiconprefix,\n &.clll-input--hascustomprefix {\n .clll-input__input-container {\n padding-left: 0;\n }\n }\n\n &.clll-input--hasiconsuffix,\n &.clll-input--hascustomsuffix {\n .clll-input__input-container {\n padding-right: 0;\n }\n }\n\n .clll-input__input-prefix,\n .clll-input__input-suffix {\n background-color: var(--#{$prefix}-color-secondary-200);\n color: var(--#{$prefix}-color-neutral-600);\n\n .clll-icon {\n color: var(--#{$prefix}-color-neutral-500);\n }\n }\n\n .clll-input__input-suffix {\n border-top-right-radius: var(--#{$prefix}-rounded-xs);\n border-bottom-right-radius: var(--#{$prefix}-rounded-xs);\n }\n\n .clll-input__input-prefix {\n border-top-left-radius: var(--#{$prefix}-rounded-xs);\n border-bottom-left-radius: var(--#{$prefix}-rounded-xs);\n }\n }\n\n &.clll-input--hasfloatinglabel {\n .clll-input__label {\n @include floating-label-text;\n }\n }\n\n &.clll-input--fluid {\n width: 100%;\n\n .clll-input__input-container {\n width: 100%;\n\n .clll-input__input {\n width: 100%;\n }\n }\n }\n\n &.clll-input--hidden {\n .clll-input__input-container {\n display: none;\n }\n }\n\n &.clll-input--file {\n .clll-input__input-container {\n .clll-input__input {\n cursor: pointer;\n padding-top: 0;\n padding-left: 0;\n padding-bottom: 0;\n\n &::file-selector-button {\n cursor: pointer;\n background-color: var(--#{$prefix}-color-secondary-100);\n border: 0;\n }\n }\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport {\n CLIcon,\n CLIconNames,\n CLLinkTarget,\n CLSizes,\n type CLSimpleThemes,\n CLThemes,\n} from '../../index';\n\nconst prefix = 'clll-link';\n\nexport interface Props {\n ariaLabel?: string;\n external?: boolean;\n href?: string;\n onClick?: (event?: Event) => void;\n rel?: string;\n target?: CLLinkTarget;\n theme?: CLSimpleThemes;\n testId?: string;\n underline?: boolean;\n}\n\nwithDefaults(defineProps<Props>(), {\n external: false,\n rel: 'noreferrer noopener',\n testId: prefix,\n theme: CLThemes.Default,\n target: CLLinkTarget.Self,\n underline: true,\n});\n</script>\n<template>\n <a\n :aria-label=\"ariaLabel\"\n @click=\"onClick\"\n :class=\"[\n prefix,\n `${prefix}--${theme}`,\n `${prefix}--${external ? 'external' : 'internal'}`,\n underline ? `${prefix}--underline` : `${prefix}--nounderline`,\n ]\"\n :data-testid=\"testId\"\n :data-cy=\"testId\"\n :href=\"href\"\n :rel=\"external ? rel : ''\"\n :target=\"target\">\n <slot />\n <CLIcon\n v-if=\"external\"\n :name=\"CLIconNames.ExternalLink\"\n :size=\"CLSizes.Tiny\" />\n </a>\n</template>\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-link {\n cursor: pointer;\n\n &.clll-link--underline {\n &.clll-link--dark {\n @include base-link($underline: true, $color: 'neutral');\n }\n\n &.clll-link--default {\n @include base-link($underline: true);\n }\n\n &.clll-link--light {\n @include base-link($underline: true, $color: 'light');\n }\n\n &.clll-link--primary {\n @include base-link($underline: true, $color: 'primary');\n }\n\n &.clll-link--danger {\n @include base-link($underline: true, $color: 'danger');\n }\n\n &.clll-link--warning {\n @include base-link($underline: true, $color: 'warning');\n }\n\n &.clll-link--success {\n @include base-link($underline: true, $color: 'success');\n }\n }\n\n &.clll-link--nounderline {\n &.clll-link--dark {\n @include base-link($underline: false, $color: 'neutral');\n }\n\n &.clll-link--default {\n @include base-link($underline: false);\n }\n\n &.clll-link--light {\n @include base-link($underline: false, $color: 'light');\n }\n\n &.clll-link--primary {\n @include base-link($underline: false, $color: 'primary');\n }\n\n &.clll-link--danger {\n @include base-link($underline: false, $color: 'danger');\n }\n\n &.clll-link--warning {\n @include base-link($underline: false, $color: 'warning');\n }\n\n &.clll-link--success {\n @include base-link($underline: false, $color: 'success');\n }\n }\n\n .clll-text {\n @include transition;\n }\n\n &.clll-link--external {\n .clll-icon {\n padding-left: var(--#{$prefix}-px-s-xs);\n }\n }\n}\n</style>\n","import { Ref, ref } from 'vue';\n\ninterface Props {\n triggerRef?: Ref<HTMLButtonElement | undefined>;\n dropdownRef?: Ref<HTMLElement | undefined>;\n openDropdownHandler?: () => void;\n closeDropdownHandler?: () => void;\n}\n\nexport const useDropdown = ({\n triggerRef,\n dropdownRef,\n openDropdownHandler,\n closeDropdownHandler,\n}: Props) => {\n const open = ref(false);\n\n const toggle = () => {\n open.value = !open.value;\n\n if (open.value && typeof window !== 'undefined') {\n window.setTimeout(() => {\n window.removeEventListener('click', closeListener);\n window.removeEventListener('keyup', closeListener);\n\n window.addEventListener('click', closeListener);\n window.addEventListener('keyup', closeListener);\n }, 100);\n }\n\n openDropdownHandler?.();\n };\n\n const clickOutsideHandler = (evt: Event) => {\n const target = evt?.target as HTMLElement;\n const trigger = triggerRef?.value;\n const dropdown = dropdownRef?.value;\n\n if (typeof window !== 'undefined' && trigger && dropdown) {\n if (!trigger.contains(target) && !dropdown.contains(target)) return true;\n }\n\n return;\n };\n\n const closeListener = (evt: Event) => {\n if (clickOutsideHandler(evt)) {\n window.removeEventListener('click', closeListener);\n window.removeEventListener('keyup', closeListener);\n\n open.value = false;\n closeDropdownHandler?.();\n }\n };\n\n const close = () => {\n window.removeEventListener('click', closeListener);\n window.removeEventListener('keyup', closeListener);\n\n open.value = false;\n closeDropdownHandler?.();\n };\n\n return {\n open,\n toggleDropdown: toggle,\n closeDropdown: close,\n };\n};\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\n\nimport { useDropdown } from '../../composables/useDropdown';\nimport { useEsc } from '../../composables/useEsc';\n\nimport { CLA11yButton, CLCard } from '../../index';\n\ninterface Props {\n ariaLabel: string;\n zIndex?: number;\n contentWidth?: string;\n}\n\nwithDefaults(defineProps<Props>(), {\n zIndex: 30,\n contentWidth: 'auto',\n});\n\nlet toggleElem = ref<HTMLButtonElement>();\nlet contentElem = ref<HTMLDivElement>();\n\nconst dropdownElem = ref<HTMLDivElement>();\nconst showDropdown = ref(false);\n\nconst prefix = 'clll-menu';\n\nconst toggleHandler = () => {\n if (dropdownOpen.value) {\n openDropdownHandler();\n } else {\n closeDropDownHandler();\n }\n};\n\nconst openDropdownHandler = () => {\n showDropdown.value = true;\n};\n\nconst closeDropDownHandler = () => {\n if (dropdownElem?.value) {\n showDropdown.value = false;\n }\n};\n\nconst forwardRefHandler = (elem?: HTMLDivElement) => {\n if (elem) contentElem.value = elem;\n};\n\nconst {\n open: dropdownOpen,\n toggleDropdown: toggleShowContent,\n closeDropdown,\n} = useDropdown({\n triggerRef: toggleElem,\n dropdownRef: dropdownElem,\n openDropdownHandler: toggleHandler,\n closeDropdownHandler: closeDropDownHandler,\n});\n\nuseEsc({ escHandler: closeDropdown });\n</script>\n\n<template>\n <div :class=\"[`${prefix}__menu`]\">\n <CLA11yButton\n :enabled=\"ariaLabel ? true : false\"\n :fluid=\"false\"\n :class=\"`${prefix}__toggle`\"\n rounded>\n <slot name=\"toggle\" />\n <button\n ref=\"toggleElem\"\n class=\"sr-only\"\n @click=\"toggleShowContent\"\n data-expand-click-area>\n {{ ariaLabel }}\n </button>\n </CLA11yButton>\n <div\n v-show=\"showDropdown\"\n ref=\"dropdownElem\"\n :class=\"`${prefix}__dropdown`\"\n :aria-labelledby=\"`${prefix}__toggle`\">\n <CLCard\n :forwardRef=\"forwardRefHandler\"\n :has-shadow=\"true\"\n :padded=\"false\"\n :width=\"contentWidth\">\n <slot name=\"content\" />\n </CLCard>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n.clll-menu__menu {\n .clll-menu__dropdown {\n position: absolute;\n display: block;\n top: auto;\n z-index: v-bind(zIndex);\n margin-top: var(--#{$prefix}-unit-1);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport {\n CLNavItem,\n CLNavLink,\n CLOrientation,\n type CLSimpleThemes,\n CLText,\n} from '../../index';\n\nconst prefix = 'clll-nav-section';\n\nexport interface Props {\n navItems: CLNavItem[];\n theme?: CLSimpleThemes;\n testId?: string;\n type?: CLOrientation;\n}\n\nwithDefaults(defineProps<Props>(), {\n testId: prefix,\n type: CLOrientation.Horizontal,\n});\n</script>\n<template>\n <ul\n :class=\"[`${prefix}`, `${prefix}--${type}`]\"\n :data-testid=\"testId\"\n :data-cy=\"testId\">\n <template\n v-for=\"(navItem, idx) in navItems\"\n :key=\"`link-${navItem.id}-${idx}`\">\n <li class=\"clll-nav-section__item\">\n <CLNavLink\n :aria-label=\"navItem.ariaLabel\"\n :id=\"navItem.id\"\n :external=\"navItem.external\"\n :href=\"navItem.href\"\n :rel=\"navItem.rel\"\n :target=\"navItem.target\"\n :theme=\"theme\"\n :on-click=\"navItem.onClick\">\n <CLText as=\"span\">{{ navItem.label }}</CLText>\n </CLNavLink>\n </li>\n </template>\n </ul>\n</template>\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-nav-section {\n margin: 0;\n padding: 0;\n list-style: none;\n\n &.clll-nav-section--horizontal {\n @include space-y-2;\n\n @include md {\n display: inline-block;\n\n @include space-y-0;\n @include space-x-4;\n }\n\n @include xl {\n @include space-x-8;\n }\n\n .clll-nav-section__item {\n @include md {\n display: inline-block;\n }\n }\n }\n\n &.clll-nav-section--vertical {\n @include space-y-2;\n\n @include md {\n @include space-y-4;\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport {\n CLButton,\n CLIcon,\n CLIconNames,\n CLPillThemes,\n CLSizes,\n CLThemes,\n} from '../../index';\n\nexport interface Props {\n label: string;\n count?: number;\n elevated?: boolean;\n icon?: CLIconNames;\n rounded?: boolean;\n theme?: CLPillThemes;\n onClick?: () => void;\n}\n\nwithDefaults(defineProps<Props>(), {\n elevated: false,\n rounded: true,\n theme: CLThemes.Default,\n});\n\nconst prefix = 'clll-pill';\n</script>\n\n<template>\n <div\n v-if=\"!onClick\"\n :class=\"[\n prefix,\n `${prefix}--${theme}`,\n count ? `${prefix}--has-count` : '',\n icon ? `${prefix}--has-icon` : `${prefix}--has-noicon`,\n elevated ? `${prefix}--elevated` : '',\n rounded ? `${prefix}--rounded` : '',\n ]\">\n <CLIcon v-if=\"icon\" :name=\"icon\" :size=\"CLSizes.Tiny\" />\n <span :class=\"`${prefix}__label`\">{{ label }}</span>\n <span v-if=\"count\" :class=\"`${prefix}__count`\">{{ count }}</span>\n </div>\n <CLButton v-if=\"onClick\" :on-click=\"onClick\" :theme=\"theme\" pill>\n <div\n :class=\"[\n prefix,\n `${prefix}--${theme}`,\n count ? `${prefix}--has-count` : '',\n icon ? `${prefix}--has-icon` : `${prefix}--has-noicon`,\n `${prefix}--clickable`,\n ]\">\n <CLIcon v-if=\"icon\" :name=\"icon\" :size=\"CLSizes.Tiny\" />\n <span :class=\"`${prefix}__label`\">{{ label }}</span>\n <span v-if=\"count\" :class=\"`${prefix}__count`\">{{ count }}</span>\n </div>\n </CLButton>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n@import '../../scss/components/pill';\n\n.clll-pill {\n &.clll-pill--rounded {\n @include base-layout(var(--#{$prefix}-rounded-xs));\n }\n\n &:not(.clll-pill--rounded) {\n @include base-layout;\n }\n\n &.clll-pill--has-count {\n @include space-x-1;\n }\n\n .clll-pill__count {\n @include base-text;\n @include text-xs;\n\n display: block;\n font-weight: 500;\n color: var(--#{$prefix}-color-neutral-900);\n padding: var(--#{$prefix}-py-xs) var(--#{$prefix}-px-sm);\n background-color: var(--#{$prefix}-color-neutral-200);\n }\n\n .clll-pill__label {\n @include base-text;\n @include text-xs;\n display: block;\n font-weight: 500;\n padding: var(--#{$prefix}-py-xs) var(--#{$prefix}-px-sm);\n }\n\n &.clll-pill--has-count {\n .clll-pill__label {\n padding-right: var(--#{$prefix}-px-s-sm);\n }\n }\n\n &.clll-pill--has-icon {\n padding-left: var(--#{$prefix}-px-xs);\n @include space-x-1_5;\n\n .clll-pill__label {\n padding-left: var(--#{$prefix}-px-xs);\n }\n }\n\n &.clll-pill--clickable {\n @include transition;\n }\n\n &.clll-pill--light {\n background-color: var(--#{$prefix}-color-neutral-100);\n\n &.clll-pill--clickable {\n &:hover {\n background-color: var(--#{$prefix}-color-neutral-200);\n }\n }\n }\n\n &.clll-pill--dark {\n background-color: var(--#{$prefix}-color-neutral-700);\n\n .clll-icon,\n .clll-pill__count,\n .clll-pill__label {\n color: var(--#{$prefix}-color-neutral-100);\n }\n\n .clll-pill__count {\n background-color: var(--#{$prefix}-color-neutral-800);\n }\n\n &.clll-pill--clickable {\n &:hover {\n background-color: var(--#{$prefix}-color-neutral-900);\n }\n }\n }\n\n &.clll-pill--primary {\n @include pill-solid(primary);\n }\n\n &.clll-pill--default,\n &.clll-pill--secondary {\n @include pill-solid(secondary);\n }\n\n &.clll-pill--danger {\n @include pill-solid(danger);\n }\n\n &.clll-pill--warning {\n @include pill-solid(warning);\n }\n\n &.clll-pill--success {\n @include pill-solid(success);\n }\n\n &.clll-pill--info {\n @include pill-solid(info);\n }\n\n &.clll-pill--outline,\n &.clll-pill--outline-secondary {\n @include pill-outline(secondary);\n }\n\n &.clll-pill--outline-primary {\n @include pill-outline(primary);\n }\n\n &.clll-pill--outline-danger {\n @include pill-outline(danger);\n }\n\n &.clll-pill--outline-warning {\n @include pill-outline(warning);\n }\n\n &.clll-pill--outline-success {\n @include pill-outline(success);\n }\n\n &.clll-pill--outline-info {\n @include pill-outline(info);\n }\n\n &.clll-pill--elevated {\n @include drop-shadow($size: var(--#{$prefix}-unit-2));\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\n\nimport InputMessages from './InputMessages.vue';\nimport {\n CLInputProps,\n CLSizes,\n CLText,\n CLTextTypes,\n CLThemes,\n} from '../../index';\n\nconst props = withDefaults(\n defineProps<\n Omit<\n CLInputProps,\n | 'autoComplete'\n | 'floatingLabel'\n | 'fluid'\n | 'grouped'\n | 'labelSize'\n | 'maxLength'\n | 'minLength'\n | 'options'\n | 'pattern'\n | 'placeholder'\n | 'prefix'\n | 'readonly'\n | 'rows'\n | 'resizable'\n | 'spellcheck'\n | 'suffix'\n | 'width'\n >\n >(),\n {\n rounded: true,\n size: CLSizes.Small,\n theme: CLThemes.Default,\n }\n);\n\nconst cssPrefix = 'clll-radiobutton';\nconst radioButtonElem = ref<HTMLInputElement>();\n\nconst setFocusHandler = () => {\n if (radioButtonElem.value) radioButtonElem.value.focus();\n};\n\nconst getLabelSize = () => {\n switch (props.size) {\n case CLSizes.Tiny:\n return CLTextTypes.Small;\n case CLSizes.Small:\n case CLSizes.Medium:\n return CLTextTypes.Medium;\n case CLSizes.Large:\n case CLSizes.XLarge:\n return CLTextTypes.Large;\n }\n\n return CLTextTypes.Medium;\n};\n</script>\n\n<template>\n <span\n :class=\"[\n cssPrefix,\n `${cssPrefix}--${theme}`,\n `${cssPrefix}--${size}`,\n label ? `${cssPrefix}--haslabel` : '',\n messageType ? `${cssPrefix}--${messageType}` : '',\n busy ? `${cssPrefix}--busy` : `${cssPrefix}--ready`,\n disabled ? `${cssPrefix}--disabled` : `${cssPrefix}--active`,\n rounded ? `${cssPrefix}--rounded` : `${cssPrefix}--box`,\n required ? `${cssPrefix}--required` : `${cssPrefix}--optional`,\n ]\">\n <span\n :class=\"`${cssPrefix}__radiobutton-container`\"\n @click=\"setFocusHandler\">\n <label :for=\"id\" :class=\"`${cssPrefix}__label`\">\n <span :class=\"`${cssPrefix}__radiobutton-frame`\">\n <input\n ref=\"radioButtonElem\"\n :id=\"id\"\n :name=\"name\"\n :aria-label=\"ariaLabel\"\n :checked=\"checked\"\n :value=\"value\"\n :disabled=\"disabled\"\n type=\"radio\"\n :class=\"`${cssPrefix}__radiobutton`\" />\n <span :class=\"`${cssPrefix}__indicator`\" />\n </span>\n <CLText\n v-if=\"label\"\n :type=\"getLabelSize()\"\n :class=\"required ? `${cssPrefix}__label--required` : ''\">\n {{ label }}\n </CLText>\n </label>\n </span>\n <InputMessages\n v-if=\"id\"\n :id=\"id\"\n :messages=\"messages\"\n :messageType=\"messageType\" />\n </span>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n@import '../../scss/components/input';\n@import '../../scss/components/common';\n\n.clll-radiobutton {\n @include base-layout;\n align-items: flex-start;\n flex-direction: column;\n overflow: visible;\n\n .clll-radiobutton__label {\n @include base-layout;\n overflow: visible;\n\n text-align: left;\n user-select: none;\n cursor: pointer;\n\n @include space-x-2;\n\n .clll-text {\n &.clll-radiobutton__label--required::after {\n font-weight: 500;\n @include required-asterisk;\n }\n }\n }\n\n .clll-radiobutton__radiobutton-container {\n @include base-layout;\n overflow: visible;\n\n .clll-radiobutton__radiobutton-frame {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n\n .clll-radiobutton__radiobutton {\n background-color: white;\n\n &:not(:checked) + .clll-radiobutton__indicator {\n display: none;\n }\n }\n }\n }\n\n .clll-radiobutton__indicator {\n position: absolute;\n display: inline-flex;\n border-radius: var(--#{$prefix}-rounded-full);\n background-color: white;\n }\n\n .clll-radiobutton__radiobutton {\n display: inline-block;\n appearance: none;\n background-color: white;\n border-width: 1px;\n cursor: pointer;\n\n @include transition;\n @include base-form-element;\n @include focus;\n }\n\n &.clll-radiobutton--rounded {\n .clll-radiobutton__radiobutton {\n border-radius: var(--#{$prefix}-rounded-full);\n }\n }\n\n &.clll-radiobutton--default {\n @include checkbox-style('radiobutton', 'secondary');\n }\n\n &.clll-radiobutton--disabled {\n @include checkbox-style('radiobutton', 'secondary', 'secondary', true);\n }\n\n &.clll-radiobutton--danger {\n @include checkbox-style('radiobutton', 'danger');\n }\n\n &.clll-radiobutton--success {\n @include checkbox-style('radiobutton', 'success');\n }\n\n &.clll-radiobutton--warning {\n @include checkbox-style('radiobutton', 'warning');\n }\n\n &.clll-radiobutton--tiny {\n .clll-radiobutton__radiobutton-container {\n .clll-radiobutton__label {\n @include space-x-1_5;\n\n .clll-radiobutton__radiobutton {\n width: var(--#{$prefix}-unit-4);\n height: var(--#{$prefix}-unit-4);\n }\n\n .clll-radiobutton__indicator {\n width: var(--#{$prefix}-unit-1_5);\n height: var(--#{$prefix}-unit-1_5);\n }\n }\n }\n }\n\n &.clll-radiobutton--small {\n .clll-radiobutton__radiobutton-container {\n .clll-radiobutton__label {\n @include space-x-2;\n\n .clll-radiobutton__radiobutton {\n width: var(--#{$prefix}-unit-5);\n height: var(--#{$prefix}-unit-5);\n }\n\n .clll-radiobutton__indicator {\n width: var(--#{$prefix}-unit-2);\n height: var(--#{$prefix}-unit-2);\n }\n }\n }\n }\n\n &.clll-radiobutton--medium {\n .clll-radiobutton__radiobutton-container {\n .clll-radiobutton__label {\n @include space-x-2_5;\n\n .clll-radiobutton__radiobutton {\n width: var(--#{$prefix}-unit-6);\n height: var(--#{$prefix}-unit-6);\n }\n\n .clll-radiobutton__indicator {\n width: var(--#{$prefix}-unit-2_5);\n height: var(--#{$prefix}-unit-2_5);\n }\n }\n }\n }\n\n &.clll-radiobutton--large {\n .clll-radiobutton__radiobutton-container {\n .clll-radiobutton__label {\n @include space-x-3;\n\n .clll-radiobutton__radiobutton {\n width: var(--#{$prefix}-unit-7);\n height: var(--#{$prefix}-unit-7);\n }\n\n .clll-radiobutton__indicator {\n width: var(--#{$prefix}-unit-3);\n height: var(--#{$prefix}-unit-3);\n }\n }\n }\n }\n\n &.clll-radiobutton--xlarge {\n .clll-radiobutton__radiobutton-container {\n .clll-radiobutton__label {\n @include space-x-3;\n\n .clll-radiobutton__radiobutton {\n width: var(--#{$prefix}-unit-8);\n height: var(--#{$prefix}-unit-8);\n }\n\n .clll-radiobutton__indicator {\n width: var(--#{$prefix}-unit-3_5);\n height: var(--#{$prefix}-unit-3_5);\n }\n }\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\n\nimport InputMessages from './InputMessages.vue';\nimport {\n CLIcon,\n CLIconNames,\n CLInputProps,\n CLSizes,\n CLText,\n CLTextTypes,\n CLThemes,\n} from '../../index';\n\nconst props = withDefaults(\n defineProps<\n Omit<\n CLInputProps,\n | 'autoComplete'\n | 'grouped'\n | 'maxLength'\n | 'minLength'\n | 'pattern'\n | 'placeholder'\n | 'prefix'\n | 'readonly'\n | 'rows'\n | 'resizable'\n | 'spellcheck'\n | 'suffix'\n >\n >(),\n {\n rounded: true,\n size: CLSizes.Small,\n theme: CLThemes.Default,\n fluid: false,\n }\n);\n\nconst cssPrefix = 'clll-select';\nconst selectElem = ref<HTMLSelectElement>();\n\nconst getIconSize = () => {\n switch (props.size) {\n case CLSizes.Tiny:\n case CLSizes.Small:\n return CLSizes.Tiny;\n case CLSizes.Medium:\n return CLSizes.Small;\n case CLSizes.Large:\n case CLSizes.XLarge:\n return CLSizes.Medium;\n default:\n return CLSizes.Small;\n }\n};\n\nconst getLabelSize = () => {\n switch (props.size) {\n case CLSizes.Tiny:\n return CLTextTypes.Tiny;\n case CLSizes.Small:\n return CLTextTypes.Small;\n case CLSizes.Medium:\n return CLTextTypes.Medium;\n case CLSizes.Large:\n case CLSizes.XLarge:\n return CLTextTypes.Body;\n }\n};\n\nconst setFocusHandler = () => {\n if (selectElem.value) selectElem.value.focus();\n};\n</script>\n\n<template>\n <span\n :class=\"[\n cssPrefix,\n `${cssPrefix}--${theme}`,\n `${cssPrefix}--${size}`,\n label ? `${cssPrefix}--haslabel` : '',\n floatingLabel ? `${cssPrefix}--hasfloatinglabel` : '',\n messageType ? `${cssPrefix}--${messageType}` : '',\n disabled || busy ? `${cssPrefix}--disabled` : `${cssPrefix}--active`,\n rounded ? `${cssPrefix}--rounded` : `${cssPrefix}--box`,\n required ? `${cssPrefix}--required` : `${cssPrefix}--optional`,\n fluid ? `${cssPrefix}--fluid` : `${cssPrefix}--fixed`,\n ]\">\n <label v-if=\"label\" :for=\"id\" :class=\"`${cssPrefix}__label`\">\n <CLText\n :type=\"getLabelSize()\"\n :class=\"required ? `${cssPrefix}__label--required` : ''\">\n {{ label }}\n </CLText>\n </label>\n <span :class=\"`${cssPrefix}__select-container`\" @click=\"setFocusHandler\">\n <select\n :aria-label=\"ariaLabel\"\n :class=\"`${cssPrefix}__select`\"\n :disabled=\"disabled || busy\"\n :id=\"id\"\n :name=\"name\"\n :form=\"form\"\n ref=\"selectElem\"\n :required=\"required\"\n @change=\"onChange\"\n @focus=\"onFocus\"\n @blur=\"onBlur\">\n <template v-if=\"options\">\n <option\n :key=\"`${id}-option-${idx}`\"\n v-for=\"(option, idx) in options\"\n :value=\"option.value\"\n :selected=\"option.value === value\">\n {{ option.label }}\n </option>\n </template>\n </select>\n <span :class=\"`${cssPrefix}__icon`\">\n <CLIcon :name=\"CLIconNames.ChevronDown\" :size=\"getIconSize()\" />\n </span>\n </span>\n <InputMessages\n v-if=\"id\"\n :id=\"id\"\n :messages=\"messages\"\n :messageType=\"messageType\" />\n </span>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n@import '../../scss/components/common';\n@import '../../scss/components/select';\n\n.clll-select {\n @include base-layout;\n flex-direction: column;\n align-items: flex-start;\n overflow: visible;\n\n &.clll-select--haslabel {\n &:not(.clll-select--hasfloatinglabel) {\n @include space-y-1_5;\n }\n\n .clll-select__label {\n text-align: left;\n @include space-x-1;\n\n .clll-text {\n &.clll-select__label--required::after {\n font-weight: 500;\n @include required-asterisk;\n }\n }\n }\n }\n\n .clll-select__select-container {\n @include base-layout;\n overflow: visible;\n\n .clll-select__select {\n display: inline-block;\n appearance: none;\n background-color: white;\n color: var(--#{$prefix}-text);\n\n @include transition;\n @include base-font;\n @include base-form-element;\n @include focus($outline-width: 1px);\n }\n }\n\n .clll-select__icon {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n display: flex;\n align-items: center;\n pointer-events: none;\n\n .clll-icon {\n color: var(--#{$prefix}-color-neutral-500);\n }\n }\n\n &.clll-select--rounded {\n .clll-select__select-container,\n .clll-select__select {\n border-radius: var(--#{$prefix}-rounded-xs);\n }\n }\n\n &.clll-select--disabled {\n @include select-style('secondary', 'secondary');\n }\n\n &.clll-select--danger {\n @include select-style('danger');\n }\n\n &.clll-select--success {\n @include select-style('success');\n }\n\n &.clll-select--warning {\n @include select-style('warning');\n }\n\n &.clll-select--tiny {\n .clll-select__select-container {\n .clll-select__select {\n @include text-xs;\n padding: var(--#{$prefix}-py-xs) var(--#{$prefix}-px-xs);\n padding-right: var(--#{$prefix}-unit-5);\n }\n\n .clll-select__icon {\n padding-right: var(--#{$prefix}-unit-1);\n }\n }\n\n &.clll-select--hasfloatinglabel {\n .clll-select__label {\n top: var(--#{$prefix}-unit-1);\n left: var(--#{$prefix}-unit-2);\n }\n\n .clll-select__select {\n padding-top: var(--#{$prefix}-unit-5);\n padding-right: var(--#{$prefix}-unit-9);\n }\n\n .clll-select__icon {\n padding-right: var(--#{$prefix}-unit-2);\n }\n }\n }\n\n &.clll-select--small {\n .clll-select__select-container {\n .clll-select__select {\n @include text-sm;\n padding: var(--#{$prefix}-py-sm) var(--#{$prefix}-px-sm);\n padding-right: var(--#{$prefix}-unit-7);\n }\n\n .clll-select__icon {\n padding-right: var(--#{$prefix}-unit-2);\n }\n }\n\n &.clll-select--hasfloatinglabel {\n .clll-select__label {\n top: var(--#{$prefix}-unit-1_5);\n left: var(--#{$prefix}-unit-2_5);\n }\n\n .clll-select__select {\n padding-top: var(--#{$prefix}-unit-6);\n padding-right: var(--#{$prefix}-unit-11);\n }\n }\n }\n\n &.clll-select--medium {\n .clll-select__select-container {\n .clll-select__select {\n @include text-md;\n padding: var(--#{$prefix}-py-md) var(--#{$prefix}-px-md);\n padding-right: var(--#{$prefix}-unit-10);\n }\n\n .clll-select__icon {\n padding-right: var(--#{$prefix}-unit-3);\n }\n }\n\n &.clll-select--hasfloatinglabel {\n .clll-select__label {\n top: var(--#{$prefix}-unit-2);\n left: var(--#{$prefix}-unit-3);\n }\n\n .clll-select__select {\n padding-top: var(--#{$prefix}-unit-7);\n padding-right: var(--#{$prefix}-unit-13);\n }\n }\n }\n\n &.clll-select--large {\n .clll-select__select-container {\n .clll-select__select {\n @include text-lg;\n padding: var(--#{$prefix}-py-lg) var(--#{$prefix}-px-lg);\n padding-right: var(--#{$prefix}-unit-14);\n }\n\n .clll-select__icon {\n padding-right: var(--#{$prefix}-unit-3_5);\n }\n }\n\n &.clll-select--hasfloatinglabel {\n .clll-select__label {\n top: var(--#{$prefix}-unit-2);\n left: var(--#{$prefix}-unit-3_5);\n }\n\n .clll-select__select {\n padding-top: var(--#{$prefix}-unit-8);\n }\n }\n }\n\n &.clll-select--xlarge {\n .clll-select__select-container {\n .clll-select__select {\n @include text-xl;\n padding: var(--#{$prefix}-py-xl) var(--#{$prefix}-px-xl);\n padding-right: var(--#{$prefix}-unit-18);\n }\n\n .clll-select__icon {\n padding-right: var(--#{$prefix}-unit-4);\n }\n }\n\n &.clll-select--hasfloatinglabel {\n .clll-select__label {\n top: var(--#{$prefix}-unit-2_5);\n left: var(--#{$prefix}-unit-4);\n }\n\n .clll-select__select {\n padding-top: var(--#{$prefix}-unit-9);\n }\n }\n }\n\n &.clll-select--hasfloatinglabel {\n .clll-select__label {\n @include floating-label-text;\n }\n }\n\n &.clll-select--fluid {\n width: 100%;\n\n .clll-select__select-container {\n width: 100%;\n\n .clll-select__select {\n width: 100%;\n }\n }\n }\n\n &.clll-select--hidden {\n display: none;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nexport interface Props {\n width?: string;\n height?: string;\n rounded?: boolean;\n}\n\nwithDefaults(defineProps<Props>(), {\n width: '100%',\n height: '100%',\n rounded: true,\n});\n\nconst prefix = 'clll-skeleton';\n</script>\n\n<template>\n <div :class=\"[prefix, rounded ? `${prefix}--rounded` : `${prefix}--square`]\">\n <div class=\"clll-skeleton__animation\"></div>\n </div>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-skeleton {\n position: relative;\n overflow: hidden;\n width: v-bind(width);\n height: v-bind(height);\n background-color: rgba(0 0 0 / 0.075);\n\n &.clll-skeleton--rounded {\n border-radius: var(--#{$prefix}-rounded-xs);\n }\n\n .clll-skeleton__animation {\n position: absolute;\n top: 0;\n left: 0;\n width: 14rem;\n height: 100%;\n background-image: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255 255 255 / 0.5),\n rgba(255, 255, 255, 0)\n );\n animation: animate infinite 2s ease-in-out;\n }\n\n @keyframes animate {\n from {\n left: -14rem;\n }\n\n to {\n left: 100%;\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport {\n CLAlign,\n CLPosition,\n CLSpinnerThemes,\n CLSizes,\n CLThemes,\n} from '../../index';\n\nexport interface Props {\n theme?: CLSpinnerThemes;\n size?: CLSizes;\n align?: CLAlign;\n position?: CLPosition;\n}\n\nwithDefaults(defineProps<Props>(), {\n theme: CLThemes.Primary,\n size: CLSizes.Medium,\n align: CLAlign.Left,\n position: CLPosition.Absolute,\n});\n\nconst prefix = 'clll-spinner';\n</script>\n\n<template>\n <div\n :class=\"[\n prefix,\n `${prefix}--${position}`,\n `${prefix}--${theme}`,\n `${prefix}--${size}`,\n `${prefix}--${align}`,\n ]\">\n <svg\n :class=\"[`${prefix}__circle`, `${prefix}__circle--${size}`]\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\">\n <circle\n style=\"opacity: 0.25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"></circle>\n <path\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n </svg>\n </div>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-spinner {\n display: flex;\n\n &.clll-spinner--absolute {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n &.clll-spinner--relative {\n position: relative;\n }\n\n &.clll-spinner--primary {\n color: var(--#{$prefix}-color-primary-500);\n }\n\n &.clll-spinner--default,\n &.clll-spinner--secondary {\n color: var(--#{$prefix}-color-secondary-800);\n }\n\n &.clll-spinner--light {\n color: var(--#{$prefix}-color-secondary-100);\n }\n\n &.clll-spinner--dark {\n color: var(--#{$prefix}-color-secondary-900);\n }\n\n &.clll-spinner--danger {\n color: var(--#{$prefix}-color-danger-500);\n }\n\n &.clll-spinner--warning {\n color: var(--#{$prefix}-color-warning-500);\n }\n\n &.clll-spinner--success {\n color: var(--#{$prefix}-color-success-500);\n }\n\n &.clll-spinner--info {\n color: var(--#{$prefix}-color-info-500);\n }\n\n &.clll-spinner--left {\n align-items: center;\n justify-content: flex-start;\n }\n\n &.clll-spinner--center {\n align-items: center;\n justify-content: center;\n }\n\n &.clll-spinner--right {\n align-items: center;\n justify-content: flex-end;\n }\n\n .clll-spinner__circle {\n animation: spin 1s linear infinite;\n\n &.clll-spinner__circle--tiny {\n width: var(--#{$prefix}-unit-4);\n height: var(--#{$prefix}-unit-4);\n }\n\n &.clll-spinner__circle--small {\n width: var(--#{$prefix}-unit-5);\n height: var(--#{$prefix}-unit-5);\n }\n\n &.clll-spinner__circle--medium {\n width: var(--#{$prefix}-unit-6);\n height: var(--#{$prefix}-unit-6);\n }\n\n &.clll-spinner__circle--large {\n width: var(--#{$prefix}-unit-8);\n height: var(--#{$prefix}-unit-8);\n }\n\n &.clll-spinner__circle--xlarge {\n width: var(--#{$prefix}-unit-10);\n height: var(--#{$prefix}-unit-10);\n }\n }\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { CLTableTypes } from '../../index';\n\nexport interface Props {\n id?: string;\n type?: CLTableTypes;\n striped?: boolean;\n withVerticalLines?: boolean;\n bordered?: boolean;\n colWidths?: string[];\n rowHeight?: string;\n rounded?: boolean;\n}\n\nwithDefaults(defineProps<Props>(), {\n id: 'main',\n type: CLTableTypes.Default,\n rounded: true,\n rowHeight: 'auto',\n});\n\nconst prefix = 'clll-table';\n</script>\n\n<template>\n <div\n :class=\"[\n `${prefix}-container`,\n rounded ? `${prefix}--rounded` : `${prefix}--box`,\n bordered ? `${prefix}--bordered` : undefined,\n ]\">\n <table\n :id=\"`${prefix}-${id}`\"\n :class=\"[\n prefix,\n `${prefix}--${type}`,\n striped ? `${prefix}--striped` : undefined,\n withVerticalLines ? `${prefix}--vertical-lines` : undefined,\n bordered ? `${prefix}--bordered` : undefined,\n ]\">\n <template v-if=\"colWidths?.length\">\n <colgroup>\n <col\n v-for=\"(colWidth, idx) in colWidths\"\n :key=\"`table-${id}-col-${idx}`\"\n :style=\"{ width: colWidth }\" />\n </colgroup>\n </template>\n <slot />\n </table>\n </div>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-table-container {\n &.clll-table--rounded {\n overflow: hidden;\n border-radius: var(--#{$prefix}-rounded-sm);\n }\n\n &.clll-table--bordered {\n border: 1px solid var(--#{$prefix}-color-secondary-500);\n }\n\n .clll-table {\n @include base-font;\n @include base-form-table;\n\n position: relative;\n table-layout: auto;\n width: 100%;\n\n .clll-table__row {\n height: v-bind(rowHeight);\n }\n\n &.clll-table--default,\n &.clll-table--condensed {\n .clll-table__header {\n .clll-table__row {\n border-bottom: 1px solid var(--#{$prefix}-color-secondary-500);\n }\n }\n\n .clll-table__body {\n .clll-table__row {\n border-bottom: 1px solid var(--#{$prefix}-color-secondary-200);\n\n &:hover {\n background-color: var(--#{$prefix}-color-secondary-200);\n }\n\n &:last-child {\n border-bottom: 0;\n }\n }\n }\n\n .clll-table__footer {\n .clll-table__row {\n border-top: 1px solid var(--#{$prefix}-color-secondary-500);\n }\n }\n }\n\n &.clll-table--default {\n .clll-table__row {\n .clll-table__cell {\n padding: var(--#{$prefix}-unit-3) var(--#{$prefix}-unit-4);\n }\n }\n }\n\n &.clll-table--condensed {\n .clll-table__row {\n .clll-table__cell {\n padding: var(--#{$prefix}-unit-2_5);\n }\n }\n }\n\n &.clll-table--plain {\n .clll-table__row {\n .clll-table__cell {\n padding: var(--#{$prefix}-unit-2);\n }\n }\n }\n\n &.clll-table--striped {\n .clll-table__body {\n .clll-table__row {\n &:nth-child(even) {\n background-color: var(--#{$prefix}-color-secondary-200);\n }\n }\n }\n }\n\n &.clll-table--vertical-lines {\n .clll-table__header {\n .clll-table__row {\n .clll-table__cell {\n border-right: 1px solid var(--#{$prefix}-color-secondary-500);\n\n &:last-child {\n border-right: 0;\n }\n }\n }\n }\n\n .clll-table__body {\n .clll-table__row {\n border-bottom: 1px solid var(--#{$prefix}-color-secondary-200);\n\n .clll-table__cell {\n border-right: 1px solid var(--#{$prefix}-color-secondary-200);\n\n &:last-child {\n border-right: 0;\n }\n }\n }\n }\n\n .clll-table__footer {\n .clll-table__row {\n .clll-table__cell {\n border-right: 1px solid var(--#{$prefix}-color-secondary-500);\n\n &:last-child {\n border-right: 0;\n }\n }\n }\n }\n }\n\n &.clll-table--bordered {\n .clll-table__header {\n .clll-table__row {\n .clll-table__cell {\n border-right: 1px solid var(--#{$prefix}-color-secondary-500);\n\n &:last-child {\n border-right: 0;\n }\n }\n }\n }\n\n .clll-table__body {\n .clll-table__row {\n border-bottom: 1px solid var(--#{$prefix}-color-secondary-200);\n\n .clll-table__cell {\n border-right: 1px solid var(--#{$prefix}-color-secondary-200);\n\n &:last-child {\n border-right: 0;\n }\n }\n }\n }\n\n .clll-table__footer {\n .clll-table__row {\n .clll-table__cell {\n border-right: 1px solid var(--#{$prefix}-color-secondary-500);\n\n &:last-child {\n border-right: 0;\n }\n }\n }\n }\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nconst prefix = 'clll-table__body';\n</script>\n\n<template>\n <tbody :class=\"[prefix]\">\n <slot />\n </tbody>\n</template>\n","<script setup lang=\"ts\">\nexport interface Props {\n isHeader?: boolean;\n isNumber?: boolean;\n isAction?: boolean;\n isActive?: boolean;\n colSpan?: number;\n onClick?: (event?: Event) => void;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n isHeader: false,\n isNumber: false,\n isAction: false,\n isActive: false,\n colSpan: 1,\n});\n\nconst prefix = 'clll-table__cell';\nconst onClickHandler = () => props?.onClick?.();\n</script>\n\n<template>\n <template v-if=\"isHeader\">\n <th\n :class=\"[\n prefix,\n `${prefix}--header`,\n isNumber ? `${prefix}--number` : '',\n isAction ? `${prefix}--hasactions` : '',\n isActive ? `${prefix}--active` : '',\n onClick ? `${prefix}--clickable` : '',\n ]\"\n :colspan=\"colSpan\"\n @click=\"onClickHandler\">\n <template v-if=\"!isAction\">\n <slot />\n </template>\n <template v-else>\n <div :class=\"`${prefix}__actions`\"><slot /></div>\n </template>\n </th>\n </template>\n <template v-else>\n <td\n :class=\"[\n prefix,\n `${prefix}--default`,\n isNumber ? `${prefix}--number` : '',\n isAction ? `${prefix}--hasactions` : '',\n isActive ? `${prefix}--active` : '',\n onClick ? `${prefix}--clickable` : '',\n ]\"\n :colspan=\"colSpan\"\n @click=\"onClickHandler\">\n <template v-if=\"!isAction\">\n <slot />\n </template>\n <template v-else>\n <div :class=\"`${prefix}__actions`\"><slot /></div>\n </template>\n </td>\n </template>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-table__cell {\n text-align: left;\n max-width: 0;\n @include space-y-1;\n\n &.clll-table__cell--number,\n &.clll-table__cell--hasactions {\n text-align: right;\n }\n\n &.clll-table__cell--hasactions {\n .clll-table__cell__actions {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n @include space-x-2;\n }\n }\n\n &.clll-table__cell--active {\n background-color: var(--#{$prefix}-color-secondary-200);\n }\n\n &.clll-table__cell--clickable {\n cursor: pointer;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nconst prefix = 'clll-table__footer';\n</script>\n\n<template>\n <tfoot :class=\"[prefix]\">\n <slot />\n </tfoot>\n</template>\n\n<style lang=\"scss\">\n.clll-table__footer {\n .clll-table__row {\n .clll-table__cell {\n font-weight: 700;\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nconst prefix = 'clll-table__header';\n</script>\n\n<template>\n <thead :class=\"[prefix]\">\n <slot />\n </thead>\n</template>\n","<script setup lang=\"ts\">\nimport { CLText, CLTextTypes } from '../../index';\n\nexport interface Props {\n truncate?: boolean;\n}\n\ndefineProps<Props>();\n\nconst prefix = 'clll-table__nested-cell';\n</script>\n\n<template>\n <div :class=\"prefix\">\n <CLText :type=\"CLTextTypes.Small\" :truncate=\"truncate\">\n <slot />\n </CLText>\n </div>\n</template>\n","<script setup lang=\"ts\">\nexport interface Props {\n onClick?: (event?: Event) => void;\n}\n\nconst props = defineProps<Props>();\nconst prefix = 'clll-table__row';\nconst onClickHandler = () => props?.onClick?.();\n</script>\n\n<template>\n <tr\n :class=\"[prefix, onClick ? `${prefix}--clickable` : '']\"\n @click=\"onClickHandler\">\n <slot />\n </tr>\n</template>\n\n<style lang=\"scss\">\n.clll-table__row {\n &.clll-table__row--clickable {\n cursor: pointer;\n }\n}\n</style>\n","<script lang=\"ts\">\nimport { h, PropType } from 'vue';\n\nimport {\n CLTextHtmlTags,\n CLTextThemes,\n CLTextTypes,\n CLThemes,\n} from '../../index';\n\nconst prefix = 'clll-text';\n\nexport default {\n props: {\n type: {\n type: String as PropType<CLTextTypes>,\n default: CLTextTypes.Body,\n },\n theme: {\n type: String as PropType<CLTextThemes>,\n default: CLThemes.Dark,\n },\n truncate: {\n type: Boolean,\n default: false,\n },\n label: {\n type: Boolean,\n default: false,\n },\n as: {\n type: String as PropType<CLTextHtmlTags>,\n default: 'p',\n },\n },\n setup(props, { slots }) {\n return () =>\n h(\n props.as,\n {\n class: [\n prefix,\n `${prefix}--${props.type}`,\n `${prefix}--${props.theme}`,\n `${prefix}--${props.truncate ? 'wrap' : 'nowrap'}`,\n props.label ? `${prefix}--label` : '',\n ],\n },\n {\n default: () => slots?.['default'] && slots?.['default'](),\n }\n );\n },\n};\n</script>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-text {\n @include base-text;\n color: var(--#{$prefix}-color-neutral-100);\n\n &.clll-text--body {\n @include text-md;\n }\n\n &.clll-text--summary {\n @include text-sm;\n }\n\n &.clll-text--tiny {\n @include text-xxs;\n }\n\n &.clll-text--small {\n @include text-xs;\n }\n\n &.clll-text--medium {\n @include text-sm;\n }\n\n &.clll-text--large {\n @include text-lg;\n }\n\n &.clll-text--xlarge {\n @include text-xl;\n }\n\n &.clll-text--light {\n color: var(--#{$prefix}-color-neutral-200);\n }\n\n &.clll-text--dark {\n color: var(--#{$prefix}-color-neutral-600);\n }\n\n &.clll-text--wrap {\n @include truncate;\n }\n\n &.clll-link--dark {\n color: var(--#{$prefix}-color-neutral-600);\n }\n\n &.clll-text--label {\n font-weight: 500;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\n\nimport InputMessages from './InputMessages.vue';\nimport {\n CLInputProps,\n CLSizes,\n CLText,\n CLTextTypes,\n CLThemes,\n} from '../../index';\n\nconst props = withDefaults(\n defineProps<\n Omit<\n CLInputProps,\n 'checked' | 'pill' | 'options' | 'type' | 'grouped' | 'prefix' | 'suffix'\n >\n >(),\n {\n rounded: true,\n size: CLSizes.Small,\n theme: CLThemes.Default,\n resizable: false,\n fluid: false,\n }\n);\n\nconst cssPrefix = 'clll-textarea';\nconst inputElem = ref<HTMLInputElement>();\n\nconst getLabelSize = () => {\n switch (props.size) {\n case CLSizes.Tiny:\n return CLTextTypes.Tiny;\n case CLSizes.Small:\n return CLTextTypes.Small;\n case CLSizes.Medium:\n return CLTextTypes.Medium;\n case CLSizes.Large:\n case CLSizes.XLarge:\n return CLTextTypes.Body;\n }\n};\n\nconst setFocusHandler = () => {\n if (inputElem.value) inputElem.value.focus();\n};\n</script>\n\n<template>\n <span\n :class=\"[\n `${cssPrefix}`,\n `${cssPrefix}--${theme}`,\n `${cssPrefix}--${size}`,\n label ? `${cssPrefix}--haslabel` : '',\n resizable ? `${cssPrefix}--resizable` : '',\n floatingLabel ? `${cssPrefix}--hasfloatinglabel` : '',\n messageType ? `${cssPrefix}--${messageType}` : '',\n disabled || busy ? `${cssPrefix}--disabled` : `${cssPrefix}--active`,\n readonly ? `${cssPrefix}--readonly` : `${cssPrefix}--writeable`,\n rounded ? `${cssPrefix}--rounded` : `${cssPrefix}--box`,\n required ? `${cssPrefix}--required` : `${cssPrefix}--optional`,\n fluid ? `${cssPrefix}--fluid` : `${cssPrefix}--fixed`,\n ]\">\n <label v-if=\"label\" :for=\"id\" :class=\"`${cssPrefix}__label`\">\n <CLText\n :type=\"getLabelSize()\"\n :class=\"required ? `${cssPrefix}__label--required` : ''\">\n {{ label }}\n </CLText>\n </label>\n <span :class=\"`${cssPrefix}__input-container`\" @click=\"setFocusHandler\">\n <textarea\n ref=\"inputElem\"\n :id=\"id\"\n :name=\"name\"\n :aria-label=\"ariaLabel\"\n :autocomplete=\"autoComplete ? 'on' : 'off'\"\n :disabled=\"disabled || busy\"\n :form=\"form\"\n :maxlength=\"maxLength\"\n :minlength=\"minLength\"\n :pattern=\"pattern\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :required=\"required\"\n :spellcheck=\"spellCheck\"\n :rows=\"rows\"\n :class=\"`${cssPrefix}__input`\"\n @input=\"onInput\"\n @change=\"onChange\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n :value=\"value\"></textarea>\n </span>\n <InputMessages\n v-if=\"id\"\n :id=\"id\"\n :messages=\"messages\"\n :messageType=\"messageType\" />\n </span>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n@import '../../scss/components/common';\n@import '../../scss/components/input';\n\n.clll-textarea {\n @include base-layout;\n\n flex-direction: column;\n align-items: flex-start;\n overflow: visible;\n\n &.clll-textarea--haslabel {\n &:not(.clll-textarea--hasfloatinglabel) {\n @include space-y-1_5;\n }\n\n .clll-textarea__label {\n .clll-text {\n font-weight: 500;\n\n &.clll-textarea__label--required::after {\n @include required-asterisk;\n }\n }\n }\n }\n\n .clll-textarea__input-container {\n @include base-layout;\n overflow: visible;\n }\n\n .clll-textarea__input {\n resize: none;\n display: inline-block;\n appearance: none;\n background-color: white;\n color: var(--#{$prefix}-text);\n\n @include transition;\n @include base-font;\n @include base-form-element;\n @include focus($outline-width: 1px);\n }\n\n &.clll-textarea--resizable {\n .clll-textarea__input {\n resize: both;\n }\n }\n\n &.clll-textarea--rounded {\n .clll-textarea__input-container,\n .clll-textarea__input {\n border-radius: var(--#{$prefix}-rounded-xs);\n }\n }\n\n &.clll-textarea--disabled {\n @include input-style('textarea', 'secondary', 'secondary');\n }\n\n &.clll-textarea--readonly {\n @include input-style('textarea', 'secondary', 'secondary', true);\n }\n\n &.clll-textarea--danger {\n @include input-style('textarea', 'danger');\n }\n\n &.clll-textarea--success {\n @include input-style('textarea', 'success');\n }\n\n &.clll-textarea--warning {\n @include input-style('textarea', 'warning');\n }\n\n &.clll-textarea--tiny {\n .clll-textarea__input-container {\n .clll-textarea__input {\n @include text-xs;\n padding: var(--#{$prefix}-py-xs) var(--#{$prefix}-px-sm);\n }\n }\n\n &.clll-textarea--hasfloatinglabel {\n .clll-textarea__label {\n top: var(--#{$prefix}-unit-0_5);\n left: var(--#{$prefix}-unit-2);\n }\n\n .clll-textarea__input-container {\n .clll-textarea__input {\n padding-top: var(--#{$prefix}-unit-5);\n }\n }\n }\n }\n\n &.clll-textarea--small {\n .clll-textarea__input-container {\n .clll-textarea__input {\n @include text-sm;\n padding: var(--#{$prefix}-py-sm) var(--#{$prefix}-px-md);\n }\n }\n\n &.clll-textarea--hasfloatinglabel {\n .clll-textarea__label {\n top: var(--#{$prefix}-unit-1);\n left: var(--#{$prefix}-unit-2_5);\n }\n\n .clll-textarea__input-container {\n .clll-textarea__input {\n padding-top: var(--#{$prefix}-unit-6);\n }\n }\n }\n }\n\n &.clll-textarea--medium {\n .clll-textarea__input-container {\n .clll-textarea__input {\n @include text-md;\n padding: var(--#{$prefix}-py-md) var(--#{$prefix}-px-lg);\n }\n }\n\n &.clll-textarea--hasfloatinglabel {\n .clll-textarea__label {\n top: var(--#{$prefix}-unit-1_5);\n left: var(--#{$prefix}-unit-3);\n }\n\n .clll-textarea__input-container {\n .clll-textarea__input {\n padding-top: var(--#{$prefix}-unit-7);\n }\n }\n }\n }\n\n &.clll-textarea--large {\n .clll-textarea__input-container {\n .clll-textarea__input {\n @include text-lg;\n padding: var(--#{$prefix}-py-lg) var(--#{$prefix}-px-2xl);\n }\n }\n\n &.clll-textarea--hasfloatinglabel {\n .clll-textarea__label {\n top: var(--#{$prefix}-unit-2);\n left: var(--#{$prefix}-unit-4);\n }\n\n .clll-textarea__input-container {\n .clll-textarea__input {\n padding-top: var(--#{$prefix}-unit-8);\n }\n }\n }\n }\n\n &.clll-textarea--xlarge {\n .clll-textarea__input-container {\n .clll-textarea__input {\n @include text-xl;\n padding: var(--#{$prefix}-py-2xl) var(--#{$prefix}-px-3xl);\n }\n }\n\n &.clll-textarea--hasfloatinglabel {\n .clll-textarea__label {\n top: var(--#{$prefix}-unit-2_5);\n left: var(--#{$prefix}-unit-5);\n }\n\n .clll-textarea__input-container {\n .clll-textarea__input {\n padding-top: var(--#{$prefix}-unit-9);\n }\n }\n }\n }\n\n &.clll-textarea--hasfloatinglabel {\n .clll-textarea__label {\n @include floating-label-text;\n }\n }\n\n &.clll-textarea--fluid {\n width: 100%;\n\n .clll-textarea__input-container {\n width: 100%;\n\n .clll-textarea__input {\n width: 100%;\n }\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue';\n\nimport {\n CLButton,\n CLHeading,\n CLHeadingTypes,\n CLIcon,\n CLIconNames,\n CLSizes,\n CLText,\n CLTextTypes,\n CLThemes,\n CLToastProps,\n} from '../../index';\n\nimport { animate, getMaxZIndex, IAnimate } from '../../helper';\nimport { useEsc } from '../../composables/useEsc';\n\nconst props = withDefaults(defineProps<CLToastProps>(), {\n dismissTimer: 5,\n width: '24rem',\n rounded: true,\n iconSize: CLSizes.Small,\n});\n\nconst animationDuration = 300;\nconst elem = ref();\nconst barScaleX = ref(100);\nconst mounted = ref(false);\nconst timer = ref<IAnimate>();\nconst zIndex = ref(0);\n\nconst prefix = 'clll-toast';\n\nconst onDismissHandler = () => {\n mounted.value = false;\n\n if (timer.value) {\n timer.value.stop();\n timer.value.start(animationDuration, (elapsedTime) => {\n const frame = Math.min(elapsedTime, animationDuration);\n\n if (frame === animationDuration) {\n timer.value?.stop();\n props.onDismiss?.();\n }\n });\n }\n};\n\nconst onDismissTransitionHandler = () => {\n const seconds = props.dismissTimer * 1000;\n const maxFrames = seconds / 100;\n\n timer.value?.start(seconds, (elapsedTime) => {\n const frame = Math.min(elapsedTime / 100, maxFrames);\n barScaleX.value = 1 - frame / maxFrames;\n\n if (frame === maxFrames) onDismissHandler();\n });\n};\n\nonMounted(() => {\n if (typeof window !== 'undefined') {\n zIndex.value = getMaxZIndex() + 1;\n\n if (!timer.value) {\n timer.value = animate();\n\n timer.value.start(100, (elapsedTime) => {\n const frame = Math.min(elapsedTime, 100);\n\n if (frame === 100) {\n timer.value?.stop();\n mounted.value = true;\n\n if (props?.dismissTimer) {\n timer.value?.start(animationDuration, (elapsedTime) => {\n const frame = Math.min(elapsedTime, animationDuration);\n\n if (frame === animationDuration) {\n timer.value?.stop();\n onDismissTransitionHandler();\n }\n });\n }\n }\n });\n }\n }\n});\n\nonUnmounted(() => {\n if (typeof window !== 'undefined') {\n if (props?.dismissTimer) {\n if (timer.value) {\n timer.value.stop();\n timer.value = undefined;\n }\n }\n }\n\n mounted.value = false;\n props.onDismiss?.();\n});\n\nuseEsc({ escHandler: onDismissHandler });\n</script>\n\n<template>\n <output\n ref=\"elem\"\n :class=\"[\n prefix,\n rounded ? `${prefix}--rounded` : `${prefix}--box`,\n onAction && actionLabel ? `${prefix}--has-action` : '',\n mounted ? `${prefix}--mounted` : '',\n dismissTimer ? `${prefix}--has-timer` : '',\n icon ? `${prefix}--has-icon` : '',\n title && !message ? `${prefix}--has-titleonly` : '',\n message && !title ? `${prefix}--has-messageonly` : '',\n title && message ? `${prefix}--has-titleandmessage` : '',\n ]\"\n :style=\"{ zIndex: zIndex }\">\n <div :class=\"`${prefix}__body`\">\n <div :class=\"`${prefix}__content`\">\n <div v-if=\"icon\" :class=\"`${prefix}__icon`\">\n <CLIcon :name=\"icon\" :size=\"iconSize\" />\n </div>\n <div :class=\"`${prefix}__text`\">\n <CLHeading\n v-if=\"title\"\n :type=\"CLHeadingTypes.Section\"\n :theme=\"CLThemes.Light\">\n {{ title }}\n </CLHeading>\n <CLText\n v-if=\"message\"\n :type=\"!title ? CLTextTypes.Body : CLTextTypes.Medium\"\n :theme=\"CLThemes.Light\">\n {{ message }}\n </CLText>\n </div>\n <div v-if=\"onAction && actionLabel\" :class=\"`${prefix}__action-button`\">\n <CLButton :onClick=\"onAction\" :theme=\"CLThemes.Dark\">\n {{ actionLabel }}\n </CLButton>\n </div>\n </div>\n <div :class=\"`${prefix}__dismiss-button`\">\n <CLButton\n ariaLabel=\"Dismiss toast\"\n :iconBefore=\"CLIconNames.Delete\"\n :iconSize=\"CLSizes.Tiny\"\n :size=\"CLSizes.Tiny\"\n :onClick=\"onDismissHandler\"\n :theme=\"CLThemes.Secondary\" />\n </div>\n </div>\n <div\n v-if=\"dismissTimer\"\n :class=\"`${prefix}__timer-bar`\"\n :style=\"{ transform: `scaleX(${barScaleX})` }\"></div>\n </output>\n</template>\n\n<style lang=\"scss\">\n@import '../../scss/main';\n\n.clll-toast {\n position: fixed;\n left: 0;\n bottom: var(--#{$prefix}-unit-4);\n right: 0;\n margin-left: auto;\n margin-right: auto;\n overflow: hidden;\n width: 90%;\n background-color: var(--#{$prefix}-color-neutral-900);\n transform: translateY(100vh);\n\n @include transition;\n @include drop-shadow;\n\n @include md {\n width: v-bind(width);\n bottom: var(--#{$prefix}-unit-8);\n }\n\n .clll-toast__body {\n display: flex;\n align-items: center;\n padding-top: var(--#{$prefix}-unit-2_5);\n padding-left: var(--#{$prefix}-unit-4);\n padding-bottom: var(--#{$prefix}-unit-2_5);\n padding-right: var(--#{$prefix}-unit-4);\n\n @include space-x-4;\n\n .clll-toast__content {\n display: flex;\n align-items: center;\n @include flex-1;\n @include space-x-4;\n\n .clll-toast__icon {\n display: flex;\n flex-direction: column;\n align-items: center;\n background-color: white;\n padding: var(--#{$prefix}-unit-2);\n border-radius: var(--#{$prefix}-rounded-full);\n }\n\n .clll-toast__text {\n @include flex-1;\n }\n }\n }\n\n .clll-toast__timer-bar {\n position: absolute;\n left: 0;\n bottom: 0;\n height: var(--#{$prefix}-unit-1);\n background-color: white;\n transform-origin: left;\n width: 100%;\n\n @include transform-gpu;\n }\n\n &.clll-toast--has-icon {\n .clll-toast__body {\n padding-top: var(--#{$prefix}-unit-2);\n padding-bottom: var(--#{$prefix}-unit-2);\n }\n }\n\n &.clll-toast--has-titleandmessage {\n .clll-toast__body {\n padding-top: var(--#{$prefix}-unit-4);\n padding-bottom: var(--#{$prefix}-unit-4);\n\n .clll-toast__content {\n .clll-toast__text {\n .clll-text--large {\n font-weight: 500;\n }\n }\n }\n }\n }\n\n &.clll-toast--mounted {\n transform: translateY(0);\n }\n\n &.clll-toast--rounded {\n border-radius: var(--#{$prefix}-rounded-sm);\n }\n}\n</style>\n","/// <reference types=\"vite/client\" />\n(async () => {\n if (typeof window === 'undefined') return;\n\n const modules = import.meta.glob('./**/*.svg', {\n query: '?raw',\n import: 'default',\n eager: true,\n });\n\n const svgSrc = modules['./icons.svg'] as string;\n var div = document.createElement('div');\n div.id = 'clll-icons';\n div.style.display = 'none';\n div.innerHTML = svgSrc.toString(); //xhr.responseText;\n\n if (document.readyState === 'loading') {\n window.addEventListener('DOMContentLoaded', () => {\n document.body.insertBefore(div, document.body.childNodes[0]);\n });\n } else {\n document.body.insertBefore(div, document.body.childNodes[0]);\n }\n})();\n\n// types\nexport {\n Align as CLAlign,\n ButtonTypes as CLButtonTypes,\n CardTypes as CLCardTypes,\n DarkMode as CLDarkMode,\n HeadingLevels as CLHeadingLevels,\n HeadingTypes as CLHeadingTypes,\n IconNames as CLIconNames,\n InputTypes as CLInputTypes,\n LinkTarget as CLLinkTarget,\n MessageType as CLMessageType,\n Orientation as CLOrientation,\n Order as CLOrder,\n Position as CLPosition,\n Sizes as CLSizes,\n TableTypes as CLTableTypes,\n TextTypes as CLTextTypes,\n Themes as CLThemes,\n} from './types';\nexport type {\n BadgeThemes as CLBadgeThemes,\n BannerProps as CLBannerProps,\n CardProps as CLCardProps,\n HeadingThemes as CLHeadingThemes,\n InputProps as CLInputProps,\n NavItem as CLNavItem,\n PillThemes as CLPillThemes,\n Option as CLOption,\n SimpleThemes as CLSimpleThemes,\n SpinnerThemes as CLSpinnerThemes,\n ToastProps as CLToastProps,\n TextThemes as CLTextThemes,\n TextHtmlTags as CLTextHtmlTags,\n} from './types';\n// components\nexport { default as CLA11yButton } from './components/Buttons/A11yButton.vue';\nexport { default as CLBadge } from './components/Indicators/Badge.vue';\nexport { default as CLBanner } from './components/Indicators/Banner.vue';\nexport { default as CLButton } from './components/Buttons/Button.vue';\nexport { default as CLCard } from './components/Containers/Card.vue';\nexport { default as CLCarousel } from './components/Containers/Carousel/Carousel.vue';\nexport { default as CLCheckbox } from './components/Form/Checkbox.vue';\nexport { default as CLDisclosure } from './components/Containers/Disclosure.vue';\nexport { default as CLHeading } from './components/Typography/Heading.vue';\nexport { default as CLIcon } from './components/Assets/Icon.vue';\nexport { default as CLInput } from './components/Form/Input.vue';\nexport { default as CLLink } from './components/Navigation/Link.vue';\nexport { default as CLMenu } from './components/Popups/Menu.vue';\nexport { default as CLNavLink } from './components/Navigation/NavLink.vue';\nexport { default as CLNavSection } from './components/Navigation/NavSection.vue';\nexport { default as CLPill } from './components/Indicators/Pill.vue';\nexport { default as CLRadioButton } from './components/Form/RadioButton.vue';\nexport { default as CLSelect } from './components/Form/Select.vue';\nexport { default as CLSkeleton } from './components/Loading/Skeleton.vue';\nexport { default as CLSpinner } from './components/Loading/Spinner.vue';\nexport { default as CLTable } from './components/Table/Table.vue';\nexport { default as CLTableBody } from './components/Table/TableBody.vue';\nexport { default as CLTableCell } from './components/Table/TableCell.vue';\nexport { default as CLTableFooter } from './components/Table/TableFooter.vue';\nexport { default as CLTableHeader } from './components/Table/TableHeader.vue';\nexport { default as CLTableNestedCell } from './components/Table/TableNestedCell.vue';\nexport { default as CLTableRow } from './components/Table/TableRow.vue';\nexport { default as CLText } from './components/Typography/Text.vue';\nexport { default as CLTextArea } from './components/Form/TextArea.vue';\nexport { default as CLToast } from './components/Popups/Toast.vue';\n"],"names":["Align","ButtonTypes","CardTypes","DarkMode","HeadingLevels","HeadingTypes","IconNames","InputTypes","LinkTarget","MessageType","Order","Orientation","Position","Sizes","TableTypes","TextTypes","Themes","prefix","CLThemes","CLAlign","CLSizes","CLSpinner","CLIcon","cssPrefix","CLTextTypes","CLHeadingTypes","CLHeadingLevels","CLIconNames","elapsedTime","frame"],"mappings":"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"}
|