@codeandfunction/callaloo 3.15.3 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +7 -3
  2. package/dist/assets/CLFormCharCounter.css +1 -0
  3. package/dist/assets/CLInputMessages.css +1 -0
  4. package/dist/chunks/CLA11yButton.vue_vue_type_style_index_0_lang-COGwQtRU.js +45 -0
  5. package/dist/chunks/CLButton.vue_vue_type_style_index_0_lang-CqgySW52.js +128 -0
  6. package/dist/chunks/CLCard.vue_vue_type_style_index_0_lang-DSvubJfG.js +252 -0
  7. package/dist/chunks/CLFormCharCounter.vue_vue_type_style_index_0_lang-CJ4VrvmR.js +38 -0
  8. package/dist/chunks/CLFormLabel.vue_vue_type_script_setup_true_lang-ORvye4vi.js +43 -0
  9. package/dist/chunks/CLHeading.vue_vue_type_style_index_0_lang-CbHdHW2E.js +50 -0
  10. package/dist/chunks/CLIcon.vue_vue_type_style_index_0_lang-zZ4zGuBt.js +83 -0
  11. package/dist/chunks/CLInputMessages.vue_vue_type_style_index_0_lang-xm2qDJGJ.js +121 -0
  12. package/dist/chunks/CLLink.vue_vue_type_style_index_0_lang-D7BqWIqs.js +60 -0
  13. package/dist/chunks/CLNavLink.vue_vue_type_script_setup_true_lang-Dp3SsIfq.js +44 -0
  14. package/dist/chunks/CLPill.vue_vue_type_style_index_0_lang-BXGTb6A6.js +88 -0
  15. package/dist/chunks/CLProgress.vue_vue_type_style_index_0_lang-5-cwF-oh.js +65 -0
  16. package/dist/chunks/CLSkeleton.vue_vue_type_style_index_0_lang-D7_swcoA.js +33 -0
  17. package/dist/chunks/CLSpinner.vue_vue_type_style_index_0_lang-CLccujHE.js +53 -0
  18. package/dist/chunks/CLText.vue_vue_type_style_index_0_lang-CTc6UiQV.js +46 -0
  19. package/dist/chunks/CLToast.vue_vue_type_style_index_0_lang-BIiSNSlg.js +178 -0
  20. package/dist/chunks/base-theme-B89pbWnC.js +841 -0
  21. package/dist/chunks/useEsc-BGAp0d_1.js +19 -0
  22. package/dist/chunks/useHasSlotContent-DDqs5uK9.js +14 -0
  23. package/dist/chunks/utils-CFL9veAf.js +30 -0
  24. package/dist/chunks/utils-D2P_fCSp.js +73 -0
  25. package/dist/chunks/utils-DYzsHCvl.js +15 -0
  26. package/dist/chunks/utils-DaKwZixu.js +26 -0
  27. package/dist/chunks/utils-Dg9e9uLW.js +29 -0
  28. package/dist/chunks/utils-Dz_31dEE.js +387 -0
  29. package/dist/components/Buttons/CLA11yButton/CLA11yButton.css +1 -0
  30. package/dist/components/Buttons/CLA11yButton/CLA11yButton.js +6 -0
  31. package/dist/components/Buttons/CLA11yButton/CLA11yButton.vue.d.ts +2 -2
  32. package/dist/components/Buttons/CLButton/CLButton.css +1 -0
  33. package/dist/components/Buttons/CLButton/CLButton.js +6 -0
  34. package/dist/components/Buttons/CLButton/CLButton.vue.d.ts +7 -7
  35. package/dist/components/CLIcon/CLIcon.css +1 -0
  36. package/dist/components/CLIcon/CLIcon.js +6 -0
  37. package/dist/components/{Assets/CLIcon → CLIcon}/CLIcon.vue.d.ts +1 -1
  38. package/dist/components/CLTable/CLTable.css +1 -0
  39. package/dist/components/CLTable/CLTable.js +197 -0
  40. package/dist/components/{Table → CLTable}/index.d.ts +0 -7
  41. package/dist/components/Containers/CLCard/CLCard.css +1 -0
  42. package/dist/components/Containers/CLCard/CLCard.js +6 -0
  43. package/dist/components/Containers/CLCard/CLCard.vue.d.ts +6 -6
  44. package/dist/components/Containers/CLCarousel/CLCarousel.css +1 -0
  45. package/dist/components/Containers/CLCarousel/CLCarousel.js +436 -0
  46. package/dist/components/Containers/CLCarousel/CLCarousel.vue.d.ts +2 -2
  47. package/dist/components/Containers/CLCarousel/CLCarouselNavigation.vue.d.ts +1 -1
  48. package/dist/components/Containers/CLDisclosure/CLDisclosure.css +1 -0
  49. package/dist/components/Containers/CLDisclosure/CLDisclosure.js +137 -0
  50. package/dist/components/Containers/CLDisclosure/CLDisclosure.vue.d.ts +3 -3
  51. package/dist/components/Form/CLCheckbox/CLCheckbox.css +1 -0
  52. package/dist/components/Form/CLCheckbox/CLCheckbox.js +147 -0
  53. package/dist/components/Form/CLCheckbox/CLCheckbox.vue.d.ts +4 -4
  54. package/dist/components/Form/CLFormLabel/CLFormLabel.vue.d.ts +1 -1
  55. package/dist/components/Form/CLInput/CLInput.css +1 -0
  56. package/dist/components/Form/CLInput/CLInput.js +378 -0
  57. package/dist/components/Form/CLInput/CLInput.vue.d.ts +5 -5
  58. package/dist/components/Form/CLInput/CLInputPill.vue.d.ts +1 -1
  59. package/dist/components/Form/CLRadioButton/CLRadioButton.css +1 -0
  60. package/dist/components/Form/CLRadioButton/CLRadioButton.js +132 -0
  61. package/dist/components/Form/CLRadioButton/CLRadioButton.vue.d.ts +1 -1
  62. package/dist/components/Form/CLSelect/CLSelect.css +1 -0
  63. package/dist/components/Form/CLSelect/CLSelect.js +137 -0
  64. package/dist/components/Form/CLSelect/CLSelect.vue.d.ts +3 -3
  65. package/dist/components/Form/CLTextArea/CLTextArea.css +1 -0
  66. package/dist/components/Form/CLTextArea/CLTextArea.js +149 -0
  67. package/dist/components/Form/CLTextArea/CLTextArea.vue.d.ts +2 -2
  68. package/dist/components/Form/index.d.ts +5 -9
  69. package/dist/components/Indicators/CLBadge/CLBadge.css +1 -0
  70. package/dist/components/Indicators/CLBadge/CLBadge.js +40 -0
  71. package/dist/components/Indicators/CLBadge/CLBadge.vue.d.ts +1 -1
  72. package/dist/components/Indicators/CLBanner/CLBanner.css +1 -0
  73. package/dist/components/Indicators/CLBanner/CLBanner.js +147 -0
  74. package/dist/components/Indicators/CLBanner/CLBanner.vue.d.ts +3 -3
  75. package/dist/components/Indicators/CLPill/CLPill.css +1 -0
  76. package/dist/components/Indicators/CLPill/CLPill.js +6 -0
  77. package/dist/components/Indicators/CLPill/CLPill.vue.d.ts +3 -3
  78. package/dist/components/Indicators/CLProgress/CLProgress.css +1 -0
  79. package/dist/components/Indicators/CLProgress/CLProgress.js +6 -0
  80. package/dist/components/Indicators/CLProgress/CLProgress.vue.d.ts +2 -2
  81. package/dist/components/Loading/CLSkeleton/CLSkeleton.css +1 -0
  82. package/dist/components/Loading/CLSkeleton/CLSkeleton.js +6 -0
  83. package/dist/components/Loading/CLSkeleton/CLSkeleton.vue.d.ts +1 -1
  84. package/dist/components/Loading/CLSpinner/CLSpinner.css +1 -0
  85. package/dist/components/Loading/CLSpinner/CLSpinner.js +6 -0
  86. package/dist/components/Loading/CLSpinner/CLSpinner.vue.d.ts +1 -1
  87. package/dist/components/Modals/CLModal/CLModal.css +1 -0
  88. package/dist/components/Modals/CLModal/CLModal.js +175 -0
  89. package/dist/components/Modals/CLModal/CLModal.vue.d.ts +2 -2
  90. package/dist/components/Navigation/CLLink/CLLink.css +1 -0
  91. package/dist/components/Navigation/CLLink/CLLink.js +6 -0
  92. package/dist/components/Navigation/CLLink/CLLink.vue.d.ts +2 -2
  93. package/dist/components/Navigation/CLNavLink/CLNavLink.js +5 -0
  94. package/dist/components/Navigation/CLNavLink/CLNavLink.vue.d.ts +1 -1
  95. package/dist/components/Navigation/CLNavSection/CLNavSection.css +1 -0
  96. package/dist/components/Navigation/CLNavSection/CLNavSection.js +55 -0
  97. package/dist/components/Navigation/CLNavSection/CLNavSection.vue.d.ts +1 -1
  98. package/dist/components/Popups/CLDropdownMenu/CLDropdownMenu.css +1 -0
  99. package/dist/components/Popups/CLDropdownMenu/CLDropdownMenu.js +1233 -0
  100. package/dist/components/Popups/CLDropdownMenu/CLDropdownMenu.vue.d.ts +29 -29
  101. package/dist/components/Popups/CLToast/CLToast.css +1 -0
  102. package/dist/components/Popups/CLToast/CLToast.js +6 -0
  103. package/dist/components/Popups/CLToast/CLToast.vue.d.ts +2 -2
  104. package/dist/components/Providers/CLThemeProvider/CLThemeProvider.js +42 -0
  105. package/dist/components/Providers/CLThemeProvider/CLThemeProvider.vue.d.ts +27 -0
  106. package/dist/components/Providers/CLThemeProvider/index.d.ts +4 -0
  107. package/dist/components/Providers/CLToastProvider/CLToastProvider.js +45 -0
  108. package/dist/components/Providers/{Toast → CLToastProvider}/CLToastProvider.vue.d.ts +1 -7
  109. package/dist/components/Providers/CLToastProvider/index.d.ts +4 -0
  110. package/dist/components/Providers/index.d.ts +2 -6
  111. package/dist/components/Typography/CLHeading/CLHeading.css +1 -0
  112. package/dist/components/Typography/CLHeading/CLHeading.js +6 -0
  113. package/dist/components/Typography/CLText/CLText.css +1 -0
  114. package/dist/components/Typography/CLText/CLText.js +6 -0
  115. package/dist/index.d.ts +0 -15
  116. package/dist/index.js +27 -5899
  117. package/package.json +121 -13
  118. package/dist/assets/styles.css +0 -1
  119. package/dist/components/Assets/index.d.ts +0 -2
  120. package/dist/components/Form/CLFormCharCounter/index.d.ts +0 -5
  121. package/dist/components/Form/CLFormLabel/index.d.ts +0 -5
  122. package/dist/components/Providers/Theme/CLThemeProvider.vue.d.ts +0 -26
  123. package/dist/constants.d.ts +0 -22
  124. package/dist/chunks/{icons.QRYZHNAf.js → icons-QRYZHNAf.js} +0 -0
  125. package/dist/components/{Assets/CLIcon → CLIcon}/index.d.ts +0 -0
  126. package/dist/components/{Assets → CLIcon}/utils.d.ts +0 -0
  127. package/dist/components/{Table → CLTable}/CLTable.vue.d.ts +1 -1
  128. /package/dist/components/{Table → CLTable}/CLTableBody.vue.d.ts +0 -0
  129. /package/dist/components/{Table → CLTable}/CLTableCell.vue.d.ts +0 -0
  130. /package/dist/components/{Table → CLTable}/CLTableFooter.vue.d.ts +0 -0
  131. /package/dist/components/{Table → CLTable}/CLTableHeader.vue.d.ts +0 -0
  132. /package/dist/components/{Table → CLTable}/CLTableNestedCell.vue.d.ts +0 -0
  133. /package/dist/components/{Table → CLTable}/CLTableRow.vue.d.ts +0 -0
  134. /package/dist/components/{Table → CLTable}/utils.d.ts +0 -0
  135. /package/dist/components/Providers/{Theme → CLThemeProvider}/base-theme.d.ts +0 -0
  136. /package/dist/components/Providers/{Theme → CLThemeProvider}/utils.d.ts +0 -0
package/README.md CHANGED
@@ -13,6 +13,11 @@ Callaloo is a Vue UI library. It is easy to integrate into any Vue3+ project, ha
13
13
 
14
14
  ## Installation
15
15
 
16
+ ```sh [pnpm]
17
+ $ pnpm add @codeandfunction/callaloo
18
+ ```
19
+
20
+
16
21
  ```sh
17
22
  npm install @codeandfunction/callaloo
18
23
  ```
@@ -29,9 +34,8 @@ The following example demonstrates how to use a Callaloo component in your Vue p
29
34
 
30
35
  ```tsx
31
36
  <script setup lang="ts">
32
- import '@codeandfunction/callaloo/styles.css';
33
-
34
- import { CLButton, CLThemeProvider } from '@codeandfunction/callaloo';
37
+ import CLThemeProvider from '@codeandfunction/callaloo/CLThemeProvider';
38
+ import CLButton from '@codeandfunction/callaloo/CLButton';
35
39
 
36
40
  const onClickHandler = (evt?: Event) => {
37
41
  alert('Hello World!');
@@ -0,0 +1 @@
1
+ :root{--clll-unit-0: 0;--clll-unit-0_5: .125rem;--clll-unit-1: .25rem;--clll-unit-1_5: .375rem;--clll-unit-2: .5rem;--clll-unit-2_5: .625rem;--clll-unit-3: .75rem;--clll-unit-3_5: .875rem;--clll-unit-4: 1rem;--clll-unit-4_5: 1.125rem;--clll-unit-5: 1.25rem;--clll-unit-5_5: 1.375rem;--clll-unit-6: 1.5rem;--clll-unit-6_5: 1.625rem;--clll-unit-7: 1.75rem;--clll-unit-7_5: 1.875rem;--clll-unit-8: 2rem;--clll-unit-8_5: 2.125rem;--clll-unit-9_5: 2.375rem;--clll-unit-10: 2.5rem;--clll-unit-10_5: 2.625rem;--clll-unit-12: 3rem;--clll-unit-14: 3.5rem;--clll-unit-14_5: 3.625rem;--clll-unit-18: 4.5rem}.form-addon-flex{display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none}.form-addon-flex--left{left:0}.form-addon-flex--right{right:0}.form-addon-flex--icon{z-index:10;box-sizing:border-box}.form-addon-flex--string{position:relative}.form-addon-radius--left-full{border-top-left-radius:var(--clll-rounded-full);border-bottom-left-radius:var(--clll-rounded-full)}.form-addon-radius--right-full{border-top-right-radius:var(--clll-rounded-full);border-bottom-right-radius:var(--clll-rounded-full)}.form-addon-radius--left-lg{border-top-left-radius:var(--clll-rounded-lg);border-bottom-left-radius:var(--clll-rounded-lg)}.form-addon-radius--right-lg{border-top-right-radius:var(--clll-rounded-lg);border-bottom-right-radius:var(--clll-rounded-lg)}.form-addon-radius--left-md{border-top-left-radius:var(--clll-rounded-md);border-bottom-left-radius:var(--clll-rounded-md)}.form-addon-radius--right-md{border-top-right-radius:var(--clll-rounded-md);border-bottom-right-radius:var(--clll-rounded-md)}.form-addon-radius--left-sm{border-top-left-radius:var(--clll-rounded-sm);border-bottom-left-radius:var(--clll-rounded-sm)}.form-addon-radius--right-sm{border-top-right-radius:var(--clll-rounded-sm);border-bottom-right-radius:var(--clll-rounded-sm)}.form-addon-radius--left-xs{border-top-left-radius:var(--clll-rounded-xs);border-bottom-left-radius:var(--clll-rounded-xs)}.form-addon-radius--right-xs{border-top-right-radius:var(--clll-rounded-xs);border-bottom-right-radius:var(--clll-rounded-xs)}.form-addon-radius--left-xl{border-top-left-radius:var(--clll-rounded-xl);border-bottom-left-radius:var(--clll-rounded-xl)}.form-addon-radius--right-xl{border-top-right-radius:var(--clll-rounded-xl);border-bottom-right-radius:var(--clll-rounded-xl)}.form-addon-radius--left-2xl{border-top-left-radius:var(--clll-rounded-2xl);border-bottom-left-radius:var(--clll-rounded-2xl)}.form-addon-radius--right-2xl{border-top-right-radius:var(--clll-rounded-2xl);border-bottom-right-radius:var(--clll-rounded-2xl)}.form-addon-radius--left-3xl{border-top-left-radius:var(--clll-rounded-3xl);border-bottom-left-radius:var(--clll-rounded-3xl)}.form-addon-radius--right-3xl{border-top-right-radius:var(--clll-rounded-3xl);border-bottom-right-radius:var(--clll-rounded-3xl)}.form-addon-radius--left-none{border-top-left-radius:0;border-bottom-left-radius:0}.form-addon-radius--right-none{border-top-right-radius:0;border-bottom-right-radius:0}.form-control-flex{display:inline-flex;align-items:center;justify-content:center;position:relative}.form-counter-flex{display:flex;align-items:center;justify-content:flex-end;max-width:100px;box-sizing:border-box;flex:1;position:relative;pointer-events:none;user-select:none}.form-select-icon-flex{position:absolute;top:0;right:0;height:100%;display:flex;align-items:center;pointer-events:none}:root{--clll-rounded-full: 9999px;--clll-rounded-none: 0;--clll-rounded-xs: var(--clll-unit-1);--clll-rounded-sm: var(--clll-unit-2);--clll-rounded-md: var(--clll-unit-3);--clll-rounded-lg: var(--clll-unit-4);--clll-rounded-xl: var(--clll-unit-5);--clll-rounded-2xl: var(--clll-unit-6);--clll-rounded-3xl: var(--clll-unit-7);--clll-px-xs: var(--clll-unit-1_5);--clll-px-sm: var(--clll-unit-2);--clll-px-md: var(--clll-unit-2_5);--clll-px-lg: var(--clll-unit-3);--clll-px-xl: var(--clll-unit-3_5);--clll-px-2xl: var(--clll-unit-4);--clll-px-3xl: var(--clll-unit-4_5);--clll-px-s-xs: calc(var(--clll-px-xs) * .5);--clll-px-s-sm: calc(var(--clll-px-sm) * .5);--clll-py-xs: calc(var(--clll-unit-1) - 1px);--clll-py-sm: calc(var(--clll-unit-1_5) - 1px);--clll-py-md: calc(var(--clll-unit-2) - 1px);--clll-py-lg: var(--clll-unit-2);--clll-py-xl: var(--clll-unit-2_5);--clll-py-2xl: var(--clll-unit-3);--clll-py-3xl: var(--clll-unit-3_5);--clll-py-4xl: var(--clll-unit-4);--clll-py-s-xs: calc(var(--clll-py-xs) * .5);--clll-z-index-10: 10}.clll-form-char-counter{pointer-events:none;user-select:none}.clll-form-char-counter--inline{max-width:100px;box-sizing:border-box;flex:1;position:relative}.clll-form-char-counter--block{display:block;width:100%;text-align:right;box-sizing:border-box;position:relative}.clll-form-char-counter__char-counter__text{font-family:var(--clll-font-family);-webkit-font-smoothing:antialiased}.clll-form-char-counter--tiny .clll-form-char-counter__char-counter__text{font-size:var(--clll-unit-3);line-height:var(--clll-unit-5)}.clll-form-char-counter--small .clll-form-char-counter__char-counter__text{font-size:var(--clll-unit-3_5);line-height:var(--clll-unit-6)}.clll-form-char-counter--medium .clll-form-char-counter__char-counter__text{font-size:var(--clll-unit-4);line-height:var(--clll-unit-6_5)}.clll-form-char-counter--large .clll-form-char-counter__char-counter__text{font-size:var(--clll-unit-4_5);line-height:var(--clll-unit-7)}.clll-form-char-counter--xlarge .clll-form-char-counter__char-counter__text{font-size:var(--clll-unit-5);line-height:var(--clll-unit-7_5)}
@@ -0,0 +1 @@
1
+ .clll-form-field{position:relative;flex:none;display:inline-flex;flex-direction:column;flex-wrap:wrap;box-sizing:border-box}.clll-form-field.clll-form-field--fluid{width:100%}.clll-form-field.clll-form-field--haspill>:not([hidden])~:not([hidden]){margin-top:var(--clll-unit-1_5)}.clll-form-field.clll-form-field--horizontal{display:flex;flex-direction:row}.clll-form-field.clll-form-field--horizontal.clll-form-field--haspill .clll-input__pill,.clll-form-field.clll-form-field--horizontal.clll-form-field--haspill .clll-input__spacer{width:50%}:root{--clll-unit-0: 0;--clll-unit-0_5: .125rem;--clll-unit-1: .25rem;--clll-unit-1_5: .375rem;--clll-unit-2: .5rem;--clll-unit-2_5: .625rem;--clll-unit-3: .75rem;--clll-unit-3_5: .875rem;--clll-unit-4: 1rem;--clll-unit-4_5: 1.125rem;--clll-unit-5: 1.25rem;--clll-unit-5_5: 1.375rem;--clll-unit-6: 1.5rem;--clll-unit-6_5: 1.625rem;--clll-unit-7: 1.75rem;--clll-unit-7_5: 1.875rem;--clll-unit-8: 2rem;--clll-unit-8_5: 2.125rem;--clll-unit-9_5: 2.375rem;--clll-unit-10: 2.5rem;--clll-unit-10_5: 2.625rem;--clll-unit-12: 3rem;--clll-unit-14: 3.5rem;--clll-unit-14_5: 3.625rem;--clll-unit-18: 4.5rem}.form-addon-flex{display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none}.form-addon-flex--left{left:0}.form-addon-flex--right{right:0}.form-addon-flex--icon{z-index:10;box-sizing:border-box}.form-addon-flex--string{position:relative}.form-addon-radius--left-full{border-top-left-radius:var(--clll-rounded-full);border-bottom-left-radius:var(--clll-rounded-full)}.form-addon-radius--right-full{border-top-right-radius:var(--clll-rounded-full);border-bottom-right-radius:var(--clll-rounded-full)}.form-addon-radius--left-lg{border-top-left-radius:var(--clll-rounded-lg);border-bottom-left-radius:var(--clll-rounded-lg)}.form-addon-radius--right-lg{border-top-right-radius:var(--clll-rounded-lg);border-bottom-right-radius:var(--clll-rounded-lg)}.form-addon-radius--left-md{border-top-left-radius:var(--clll-rounded-md);border-bottom-left-radius:var(--clll-rounded-md)}.form-addon-radius--right-md{border-top-right-radius:var(--clll-rounded-md);border-bottom-right-radius:var(--clll-rounded-md)}.form-addon-radius--left-sm{border-top-left-radius:var(--clll-rounded-sm);border-bottom-left-radius:var(--clll-rounded-sm)}.form-addon-radius--right-sm{border-top-right-radius:var(--clll-rounded-sm);border-bottom-right-radius:var(--clll-rounded-sm)}.form-addon-radius--left-xs{border-top-left-radius:var(--clll-rounded-xs);border-bottom-left-radius:var(--clll-rounded-xs)}.form-addon-radius--right-xs{border-top-right-radius:var(--clll-rounded-xs);border-bottom-right-radius:var(--clll-rounded-xs)}.form-addon-radius--left-xl{border-top-left-radius:var(--clll-rounded-xl);border-bottom-left-radius:var(--clll-rounded-xl)}.form-addon-radius--right-xl{border-top-right-radius:var(--clll-rounded-xl);border-bottom-right-radius:var(--clll-rounded-xl)}.form-addon-radius--left-2xl{border-top-left-radius:var(--clll-rounded-2xl);border-bottom-left-radius:var(--clll-rounded-2xl)}.form-addon-radius--right-2xl{border-top-right-radius:var(--clll-rounded-2xl);border-bottom-right-radius:var(--clll-rounded-2xl)}.form-addon-radius--left-3xl{border-top-left-radius:var(--clll-rounded-3xl);border-bottom-left-radius:var(--clll-rounded-3xl)}.form-addon-radius--right-3xl{border-top-right-radius:var(--clll-rounded-3xl);border-bottom-right-radius:var(--clll-rounded-3xl)}.form-addon-radius--left-none{border-top-left-radius:0;border-bottom-left-radius:0}.form-addon-radius--right-none{border-top-right-radius:0;border-bottom-right-radius:0}.form-control-flex{display:inline-flex;align-items:center;justify-content:center;position:relative}.form-counter-flex{display:flex;align-items:center;justify-content:flex-end;max-width:100px;box-sizing:border-box;flex:1;position:relative;pointer-events:none;user-select:none}.form-select-icon-flex{position:absolute;top:0;right:0;height:100%;display:flex;align-items:center;pointer-events:none}:root{--clll-rounded-full: 9999px;--clll-rounded-none: 0;--clll-rounded-xs: var(--clll-unit-1);--clll-rounded-sm: var(--clll-unit-2);--clll-rounded-md: var(--clll-unit-3);--clll-rounded-lg: var(--clll-unit-4);--clll-rounded-xl: var(--clll-unit-5);--clll-rounded-2xl: var(--clll-unit-6);--clll-rounded-3xl: var(--clll-unit-7);--clll-px-xs: var(--clll-unit-1_5);--clll-px-sm: var(--clll-unit-2);--clll-px-md: var(--clll-unit-2_5);--clll-px-lg: var(--clll-unit-3);--clll-px-xl: var(--clll-unit-3_5);--clll-px-2xl: var(--clll-unit-4);--clll-px-3xl: var(--clll-unit-4_5);--clll-px-s-xs: calc(var(--clll-px-xs) * .5);--clll-px-s-sm: calc(var(--clll-px-sm) * .5);--clll-py-xs: calc(var(--clll-unit-1) - 1px);--clll-py-sm: calc(var(--clll-unit-1_5) - 1px);--clll-py-md: calc(var(--clll-unit-2) - 1px);--clll-py-lg: var(--clll-unit-2);--clll-py-xl: var(--clll-unit-2_5);--clll-py-2xl: var(--clll-unit-3);--clll-py-3xl: var(--clll-unit-3_5);--clll-py-4xl: var(--clll-unit-4);--clll-py-s-xs: calc(var(--clll-py-xs) * .5);--clll-z-index-10: 10}.clll-input__message{margin-top:var(--clll-unit-1);width:100%}.clll-input__message .clll-input__message__text{font-size:var(--clll-unit-3);font-family:var(--clll-font-family);-webkit-font-smoothing:antialiased;margin:0}
@@ -0,0 +1,45 @@
1
+ import { defineComponent as b, ref as p, computed as y, createElementBlock as k, openBlock as C, withKeys as B, normalizeClass as E, unref as s, renderSlot as x } from "vue";
2
+ import { CLColors as A } from "../index.js";
3
+ import { a as _ } from "./utils-Dg9e9uLW.js";
4
+ const g = ["data-testid", "tabindex"], w = /* @__PURE__ */ b({
5
+ name: "CLA11yButton",
6
+ __name: "CLA11yButton",
7
+ props: {
8
+ color: { default: A.Neutral },
9
+ enabled: { type: Boolean, default: !1 },
10
+ fluid: { type: Boolean, default: !0 },
11
+ rounded: { type: Boolean, default: !0 },
12
+ testId: { default: "clll-a11y__button" }
13
+ },
14
+ setup(e) {
15
+ const t = e, u = ["a", "button"], n = p(), i = "clll-a11y__button", f = y(() => [
16
+ i,
17
+ t.enabled ? "--enabled" : "",
18
+ t.rounded ? "--rounded" : "",
19
+ t.fluid ? "--fluid" : ""
20
+ ]), c = (l) => {
21
+ if (!t.enabled) return;
22
+ const { target: a } = l, o = a ? a.closest("a,button") : void 0, r = [
23
+ ...n.value?.querySelectorAll("[data-expand-click-area]") ?? []
24
+ ];
25
+ if (r.length) {
26
+ const d = r[0], m = o ? u.includes(o.tagName.toLowerCase()) : null;
27
+ !o && d !== l.target && !m && d.click();
28
+ }
29
+ };
30
+ return (l, a) => (C(), k("div", {
31
+ ref_key: "refExpandedArea",
32
+ ref: n,
33
+ class: E([s(f), s(_)({ color: e.color })]),
34
+ "data-testid": e.testId,
35
+ tabindex: e.enabled ? 0 : void 0,
36
+ onClick: c,
37
+ onKeyup: B(c, ["enter"])
38
+ }, [
39
+ x(l.$slots, "default")
40
+ ], 42, g));
41
+ }
42
+ });
43
+ export {
44
+ w as _
45
+ };
@@ -0,0 +1,128 @@
1
+ import { defineComponent as C, useSlots as h, ref as S, computed as z, onMounted as B, nextTick as g, createBlock as n, openBlock as i, resolveDynamicComponent as L, normalizeStyle as k, normalizeClass as s, unref as l, withCtx as w, createCommentVNode as d, createElementBlock as A, renderSlot as R } from "vue";
2
+ import { _ as c } from "./CLIcon.vue_vue_type_style_index_0_lang-zZ4zGuBt.js";
3
+ import { _ as T } from "./CLSpinner.vue_vue_type_style_index_0_lang-CLccujHE.js";
4
+ import { CLColorVariants as I, CLButtonTypes as x, CLLinkTarget as M, CLSizes as o, CLIconSizes as m, CLColors as F, CLAlign as b, CLPosition as N } from "../index.js";
5
+ import { b as V } from "./utils-Dg9e9uLW.js";
6
+ import { u as D } from "./useHasSlotContent-DDqs5uK9.js";
7
+ const J = /* @__PURE__ */ C({
8
+ name: "CLButton",
9
+ __name: "CLButton",
10
+ props: {
11
+ active: { type: Boolean, default: !1 },
12
+ alignContent: { default: b.Center },
13
+ ariaLabel: { default: void 0 },
14
+ as: { default: "button" },
15
+ borderRadius: { default: void 0 },
16
+ busy: { type: Boolean, default: !1 },
17
+ color: { default: F.Neutral },
18
+ disabled: { type: Boolean, default: !1 },
19
+ elevated: { type: Boolean, default: !1 },
20
+ form: { default: void 0 },
21
+ forwardRef: { type: Function, default: void 0 },
22
+ height: { default: "auto" },
23
+ href: { default: void 0 },
24
+ iconAfter: { default: void 0 },
25
+ iconBefore: { default: void 0 },
26
+ iconAfterSize: { default: m.Small },
27
+ iconSize: { default: m.Small },
28
+ onClick: { type: Function, default: void 0 },
29
+ pill: { type: Boolean, default: !1 },
30
+ rounded: { type: Boolean, default: !0 },
31
+ size: { default: o.Small },
32
+ target: { default: M.Self },
33
+ testId: { default: "clll-button" },
34
+ title: { default: void 0 },
35
+ type: { default: x.Button },
36
+ variant: { default: I.Soft },
37
+ width: { default: "auto" },
38
+ wrap: { type: Boolean, default: !1 }
39
+ },
40
+ setup(e) {
41
+ const t = e, r = D();
42
+ h();
43
+ const u = S(), a = "clll-button", y = z(() => [
44
+ a,
45
+ `${a}--${t.type}`,
46
+ `${a}--${t.color}--${t.variant}`,
47
+ `${a}--${t.size}`,
48
+ `${a}--${t.alignContent}`,
49
+ t.active ? `${a}--active` : "",
50
+ t.busy ? `${a}--busy` : "",
51
+ t.disabled ? `${a}--disabled` : "",
52
+ t.wrap ? `${a}--wrapped` : "",
53
+ t.rounded ? `${a}--rounded` : "",
54
+ t.borderRadius ? `${a}--${t.borderRadius}` : "",
55
+ r.value ? `${a}--has-content` : `${a}--no-content`,
56
+ t.iconBefore ? `${a}--icon-before` : "",
57
+ t.iconAfter ? `${a}--icon-after` : "",
58
+ t.elevated ? `${a}--elevated` : "",
59
+ t.pill ? `${a}--pill` : ""
60
+ ]), v = () => {
61
+ switch (t.size) {
62
+ case o.Medium:
63
+ case o.Large:
64
+ return o.Small;
65
+ case o.XL:
66
+ return o.Medium;
67
+ case o.Tiny:
68
+ default:
69
+ return o.Tiny;
70
+ }
71
+ };
72
+ B(() => {
73
+ g(() => {
74
+ u.value && t.forwardRef?.(u.value);
75
+ });
76
+ });
77
+ const $ = (f) => {
78
+ t.onClick?.(f);
79
+ };
80
+ return (f, E) => (i(), n(L(e.as), {
81
+ ref_key: "buttonRef",
82
+ ref: u,
83
+ "aria-label": e.ariaLabel,
84
+ class: s([l(y), l(V)({ color: e.color, variant: e.variant })]),
85
+ "data-testid": e.testId,
86
+ disabled: e.as === "button" ? e.busy || e.disabled : void 0,
87
+ form: e.as === "button" ? e.form : void 0,
88
+ href: e.as === "a" ? e.href : void 0,
89
+ target: e.as === "a" ? e.target : void 0,
90
+ title: e.title,
91
+ type: e.as === "button" ? e.type : void 0,
92
+ style: k({ width: e.width, height: e.height }),
93
+ onClick: $
94
+ }, {
95
+ default: w(() => [
96
+ e.iconBefore ? (i(), n(l(c), {
97
+ key: 0,
98
+ name: e.iconBefore,
99
+ size: e.iconSize,
100
+ "test-id": `${e.testId}-icon-before`
101
+ }, null, 8, ["name", "size", "test-id"])) : d("", !0),
102
+ l(r) ? (i(), A("span", {
103
+ key: 1,
104
+ class: s(`${a}__content`)
105
+ }, [
106
+ R(f.$slots, "default")
107
+ ], 2)) : d("", !0),
108
+ e.iconAfter ? (i(), n(l(c), {
109
+ key: 2,
110
+ name: e.iconAfter,
111
+ size: e.iconAfterSize,
112
+ "test-id": `${e.testId}-icon-after`
113
+ }, null, 8, ["name", "size", "test-id"])) : d("", !0),
114
+ e.busy ? (i(), n(l(T), {
115
+ key: 3,
116
+ align: l(b).Center,
117
+ position: l(N).Absolute,
118
+ size: v(),
119
+ color: e.color
120
+ }, null, 8, ["align", "position", "size", "color"])) : d("", !0)
121
+ ]),
122
+ _: 3
123
+ }, 8, ["aria-label", "class", "data-testid", "disabled", "form", "href", "target", "title", "type", "style"]));
124
+ }
125
+ });
126
+ export {
127
+ J as _
128
+ };
@@ -0,0 +1,252 @@
1
+ import { defineComponent as W, useCssVars as I, useSlots as D, ref as v, computed as F, onMounted as K, nextTick as M, createElementBlock as r, openBlock as n, withKeys as q, normalizeClass as d, unref as l, createCommentVNode as o, createElementVNode as u, withDirectives as S, createVNode as z, vShow as x, createBlock as c, renderSlot as s, Fragment as G, withCtx as y, createTextVNode as k, toDisplayString as b } from "vue";
2
+ import { _ as A } from "./CLHeading.vue_vue_type_style_index_0_lang-CbHdHW2E.js";
3
+ import { _ as j } from "./CLLink.vue_vue_type_style_index_0_lang-D7BqWIqs.js";
4
+ import { _ as m } from "./CLSkeleton.vue_vue_type_style_index_0_lang-D7_swcoA.js";
5
+ import { _ as J } from "./CLText.vue_vue_type_style_index_0_lang-CTc6UiQV.js";
6
+ import { CLColorVariants as E, CLCardTypes as P, CLHeadingTypes as Q, CLHeadingLevels as U, CLLinkTarget as X, CLOverflow as Y, CLLoading as Z, CLColors as p, CLAlign as _, CLOrder as O, CLTextTypes as ee } from "../index.js";
7
+ import { c as ae } from "./utils-CFL9veAf.js";
8
+ import { u as te } from "./useHasSlotContent-DDqs5uK9.js";
9
+ const le = ["data-testid", "tabindex"], ie = ["alt", "loading", "src"], ne = ["alt", "loading", "src"], de = ["aria-label", "href", "target"], ye = /* @__PURE__ */ W({
10
+ name: "CLCard",
11
+ __name: "CLCard",
12
+ props: {
13
+ active: { type: Boolean, default: !1 },
14
+ align: { default: _.Left },
15
+ ariaLabel: {},
16
+ borderRadius: {},
17
+ bordered: { type: Boolean, default: !0 },
18
+ busy: { type: Boolean, default: !1 },
19
+ byline: {},
20
+ color: { default: p.Neutral },
21
+ compact: { type: Boolean, default: !1 },
22
+ elevated: { type: Boolean, default: !1 },
23
+ forwardRef: {},
24
+ height: { default: "auto" },
25
+ href: {},
26
+ image: {},
27
+ imageAltText: { default: "" },
28
+ imageHeight: { default: "auto" },
29
+ imageLoading: { default: Z.Eager },
30
+ imageOrder: {},
31
+ imageWidth: { default: "auto" },
32
+ onClick: {},
33
+ overflow: { default: Y.Hidden },
34
+ padded: { type: Boolean, default: !0 },
35
+ rounded: { type: Boolean, default: !0 },
36
+ target: { default: X.Self },
37
+ testId: { default: "clll-card" },
38
+ title: {},
39
+ titleHLevel: { default: U.H2 },
40
+ titleType: { default: Q.SubSection },
41
+ truncateTitle: { type: Boolean, default: !1 },
42
+ type: { default: P.Medium },
43
+ variant: { default: E.Soft },
44
+ width: { default: "auto" }
45
+ },
46
+ setup(e) {
47
+ I((i) => ({
48
+ v788294c1: i.width,
49
+ v7e01098c: i.height,
50
+ v561da727: i.overflow,
51
+ v6ce6f310: i.imageWidth,
52
+ v1628751d: i.imageHeight
53
+ }));
54
+ const a = "clll-card", t = e, C = te(), L = D(), $ = v(), w = v(), N = ["a", "button"], h = v(), V = F(() => [
55
+ a,
56
+ `${a}--${t.type}`,
57
+ `${a}--${t.color}-${t.variant}`,
58
+ `${a}--${t.variant}`,
59
+ `${a}--align-${t.align}`,
60
+ t.rounded ? `${a}--rounded` : `${a}--box`,
61
+ t.bordered ? `${a}--bordered` : "",
62
+ t.borderRadius ? `${a}--${t.borderRadius}` : "",
63
+ t.busy ? `${a}--busy` : `${a}--ready`,
64
+ t.compact ? `${a}--compact` : `${a}--no-compact`,
65
+ t.title || t.byline ? `${a}--has-header` : `${a}--no-header`,
66
+ $.value ? `${a}--has-heading` : `${a}--no-heading`,
67
+ C.value ? `${a}--has-content` : `${a}--no-content`,
68
+ w.value ? `${a}--has-footer` : `${a}--no-footer`,
69
+ t.image ? `${a}--has-image` : `${a}--has-no-image`,
70
+ t.imageOrder ? `${a}--image-${t.imageOrder}` : "",
71
+ t.active ? `${a}--active` : `${a}--inactive`,
72
+ t.onClick ? `${a}--has-link` : "",
73
+ t.truncateTitle ? `${a}--has-truncated-title` : "",
74
+ t.elevated ? `${a}--elevated` : "",
75
+ t.overflow ? `${a}--overflow-${t.overflow}` : "",
76
+ t.padded ? "" : `${a}--no-padding`
77
+ ]), T = (i) => {
78
+ if (t.busy || !t.onClick) return;
79
+ const { target: g } = i, f = g ? g.closest("a,button") : void 0, H = [
80
+ ...h.value?.querySelectorAll("[data-expand-click-area]") ?? []
81
+ ];
82
+ if (H.length) {
83
+ const B = H[0], R = f ? N.includes(f.tagName.toLowerCase()) : null;
84
+ !f && B !== i.target && !R && B.click();
85
+ }
86
+ };
87
+ return K(async () => {
88
+ await M(), h.value && t.forwardRef?.(h.value), $.value = L?.heading, w.value = L?.footer;
89
+ }), (i, g) => (n(), r("div", {
90
+ ref_key: "refExpandedArea",
91
+ ref: h,
92
+ class: d([l(V), l(ae)({ color: e.color, variant: e.variant })]),
93
+ "data-testid": e.testId,
94
+ tabindex: e.onClick ? 0 : void 0,
95
+ onClick: T,
96
+ onKeyup: q(T, ["enter"])
97
+ }, [
98
+ e.image && (e.imageOrder === l(O).Before || !e.imageOrder) ? (n(), r("div", {
99
+ key: 0,
100
+ class: d(`${a}__image`)
101
+ }, [
102
+ S(z(l(m), {
103
+ width: e.imageWidth,
104
+ height: e.imageHeight,
105
+ rounded: !1
106
+ }, null, 8, ["width", "height"]), [
107
+ [x, e.busy]
108
+ ]),
109
+ S(u("img", {
110
+ alt: e.imageAltText,
111
+ class: d(`${a}__image__elem`),
112
+ loading: e.imageLoading,
113
+ src: e.image
114
+ }, null, 10, ie), [
115
+ [x, !e.busy]
116
+ ])
117
+ ], 2)) : o("", !0),
118
+ u("div", {
119
+ class: d(`${a}__content`)
120
+ }, [
121
+ u("div", {
122
+ class: d(`${a}__header`)
123
+ }, [
124
+ e.busy ? (n(), c(l(m), {
125
+ key: 0,
126
+ height: "28px"
127
+ })) : o("", !0),
128
+ e.busy ? (n(), c(l(m), {
129
+ key: 1,
130
+ width: "70%",
131
+ height: "16px"
132
+ })) : o("", !0),
133
+ !e.onClick && !e.href ? (n(), r(G, { key: 2 }, [
134
+ s(i.$slots, "heading"),
135
+ e.title && !e.busy ? (n(), c(l(A), {
136
+ key: 0,
137
+ align: e.align,
138
+ class: d(`${a}__heading`),
139
+ color: e.color,
140
+ level: e.titleHLevel,
141
+ truncate: e.truncateTitle,
142
+ type: e.titleType
143
+ }, {
144
+ default: y(() => [
145
+ k(b(e.title), 1)
146
+ ]),
147
+ _: 1
148
+ }, 8, ["align", "class", "color", "level", "truncate", "type"])) : o("", !0)
149
+ ], 64)) : e.title || l($) && (e.onClick || e.href) ? (n(), c(l(j), {
150
+ key: 3,
151
+ "aria-label": e.ariaLabel,
152
+ color: e.color,
153
+ href: e.href,
154
+ target: e.target,
155
+ "on-click": e.onClick,
156
+ "data-expand-click-area": ""
157
+ }, {
158
+ default: y(() => [
159
+ s(i.$slots, "heading"),
160
+ e.title && !e.busy ? (n(), c(l(A), {
161
+ key: 0,
162
+ align: e.align,
163
+ class: d(`${a}__heading`),
164
+ color: e.color,
165
+ level: e.titleHLevel,
166
+ truncate: e.truncateTitle,
167
+ type: e.titleType
168
+ }, {
169
+ default: y(() => [
170
+ k(b(e.title), 1)
171
+ ]),
172
+ _: 1
173
+ }, 8, ["align", "class", "color", "level", "truncate", "type"])) : o("", !0)
174
+ ]),
175
+ _: 3
176
+ }, 8, ["aria-label", "color", "href", "target", "on-click"])) : o("", !0),
177
+ s(i.$slots, "byline"),
178
+ e.byline && !e.busy ? (n(), c(l(J), {
179
+ key: 4,
180
+ align: e.align,
181
+ class: d(`${a}__byline`),
182
+ color: e.color,
183
+ type: l(ee).Small
184
+ }, {
185
+ default: y(() => [
186
+ k(b(e.byline), 1)
187
+ ]),
188
+ _: 1
189
+ }, 8, ["align", "class", "color", "type"])) : o("", !0)
190
+ ], 2),
191
+ u("div", {
192
+ class: d(`${a}__slot`)
193
+ }, [
194
+ u("div", {
195
+ ref: "slot-content",
196
+ class: d([`${a}__slot-content`, { busy: e.busy }])
197
+ }, [
198
+ l(C) && e.busy ? (n(), c(l(m), {
199
+ key: 0,
200
+ width: "100%",
201
+ height: "100%"
202
+ })) : o("", !0),
203
+ u("div", null, [
204
+ s(i.$slots, "default")
205
+ ])
206
+ ], 2)
207
+ ], 2),
208
+ u("div", {
209
+ class: d(`${a}__footer`)
210
+ }, [
211
+ s(i.$slots, "footer")
212
+ ], 2)
213
+ ], 2),
214
+ e.image && e.imageOrder === l(O).After ? (n(), r("div", {
215
+ key: 1,
216
+ class: d(`${a}__image`)
217
+ }, [
218
+ e.busy ? (n(), c(l(m), {
219
+ key: 0,
220
+ width: e.imageWidth,
221
+ height: e.imageHeight,
222
+ rounded: !1
223
+ }, null, 8, ["width", "height"])) : o("", !0),
224
+ s(i.$slots, "image"),
225
+ e.busy ? o("", !0) : (n(), r("img", {
226
+ key: 1,
227
+ alt: e.imageAltText,
228
+ class: d(`${a}__image__elem`),
229
+ loading: e.imageLoading,
230
+ src: e.image
231
+ }, null, 10, ne))
232
+ ], 2)) : o("", !0),
233
+ !e.title && (e.onClick || e.href) ? (n(), r("a", {
234
+ key: 2,
235
+ "aria-label": e.ariaLabel,
236
+ class: "sr-only",
237
+ href: e.href,
238
+ target: e.target,
239
+ "data-expand-click-area": "",
240
+ onClick: g[0] || (g[0] = //@ts-ignore
241
+ (...f) => e.onClick && e.onClick(...f))
242
+ }, null, 8, de)) : o("", !0),
243
+ e.onClick && e.variant !== l(E).Ghost ? (n(), r("div", {
244
+ key: 3,
245
+ class: d(`${a}__hover-elem`)
246
+ }, null, 2)) : o("", !0)
247
+ ], 42, le));
248
+ }
249
+ });
250
+ export {
251
+ ye as _
252
+ };
@@ -0,0 +1,38 @@
1
+ import { defineComponent as l, computed as a, createElementBlock as n, openBlock as s, normalizeClass as u, unref as m, createElementVNode as i, toDisplayString as r } from "vue";
2
+ import { CLSizes as f, CLCharCounterLayout as o, CLColors as h } from "../index.js";
3
+ const d = ["data-testid"], C = {
4
+ "aria-live": "polite",
5
+ class: "clll-form-char-counter__char-counter__text",
6
+ role: "status"
7
+ }, g = /* @__PURE__ */ l({
8
+ name: "CLFormCharCounter",
9
+ __name: "CLFormCharCounter",
10
+ props: {
11
+ color: { default: h.Neutral },
12
+ cssPrefix: {},
13
+ currentLength: {},
14
+ layout: { default: o.Block },
15
+ maxLength: {},
16
+ size: { default: f.Small },
17
+ testId: { default: "clll-form-char-counter" }
18
+ },
19
+ setup(t) {
20
+ const e = t, c = a(() => [
21
+ `${e.cssPrefix}__char-counter`,
22
+ "clll-form-char-counter",
23
+ `clll-form-char-counter--${e.layout}`,
24
+ `clll-form-char-counter--${e.size}`,
25
+ `clll-form-char-counter--${e.color}`,
26
+ e.layout === o.Inline ? "form-counter-flex" : ""
27
+ ]);
28
+ return (_, L) => (s(), n("span", {
29
+ class: u(m(c)),
30
+ "data-testid": t.testId
31
+ }, [
32
+ i("div", C, r(t.currentLength) + "/" + r(t.maxLength), 1)
33
+ ], 10, d));
34
+ }
35
+ });
36
+ export {
37
+ g as _
38
+ };
@@ -0,0 +1,43 @@
1
+ import { defineComponent as r, createElementBlock as i, openBlock as o, normalizeClass as a, createVNode as m, unref as d, withCtx as n, createTextVNode as c, toDisplayString as f } from "vue";
2
+ import { _ as u } from "./CLText.vue_vue_type_style_index_0_lang-CTc6UiQV.js";
3
+ import { CLSizes as l, CLTextTypes as t } from "../index.js";
4
+ const b = ["for", "data-testid"], h = /* @__PURE__ */ r({
5
+ name: "CLFormLabel",
6
+ __name: "CLFormLabel",
7
+ props: {
8
+ cssPrefix: { default: "clll-form" },
9
+ htmlFor: {},
10
+ label: {},
11
+ required: { type: Boolean, default: !1 },
12
+ size: { default: l.Small },
13
+ testId: { default: "clll-form-label" }
14
+ },
15
+ setup(e) {
16
+ const s = {
17
+ [l.Tiny]: t.Tiny,
18
+ [l.Small]: t.Small,
19
+ [l.Medium]: t.Medium,
20
+ [l.Large]: t.Body,
21
+ [l.XL]: t.Body
22
+ };
23
+ return (y, L) => (o(), i("label", {
24
+ for: e.htmlFor,
25
+ class: a(`${e.cssPrefix}__label`),
26
+ "data-testid": e.testId
27
+ }, [
28
+ m(d(u), {
29
+ as: "span",
30
+ type: s[e.size],
31
+ class: a(e.required ? `${e.cssPrefix}__label--required` : "")
32
+ }, {
33
+ default: n(() => [
34
+ c(f(e.label), 1)
35
+ ]),
36
+ _: 1
37
+ }, 8, ["type", "class"])
38
+ ], 10, b));
39
+ }
40
+ });
41
+ export {
42
+ h as _
43
+ };
@@ -0,0 +1,50 @@
1
+ import { defineComponent as i, computed as r, createBlock as u, openBlock as f, resolveDynamicComponent as p, unref as o, normalizeClass as m, withCtx as g, renderSlot as C } from "vue";
2
+ import { CLHeadingTypes as l, CLColors as $, CLAlign as L, CLHeadingLevels as n } from "../index.js";
3
+ import { t as h } from "./utils-DYzsHCvl.js";
4
+ const T = /* @__PURE__ */ i({
5
+ name: "CLHeading",
6
+ __name: "CLHeading",
7
+ props: {
8
+ align: { default: L.Left },
9
+ bolder: { type: Boolean, default: !1 },
10
+ color: { default: $.Secondary },
11
+ level: {},
12
+ testId: { default: "clll-heading" },
13
+ truncate: { type: Boolean, default: !1 },
14
+ type: { default: l.Title }
15
+ },
16
+ setup(a) {
17
+ const e = a, t = "clll-heading", s = r(() => {
18
+ if (e.level) return e.level;
19
+ switch (e.type) {
20
+ case l.Section:
21
+ return n.H2;
22
+ case l.SubSection:
23
+ return n.H3;
24
+ case l.PageTitle:
25
+ case l.Title:
26
+ default:
27
+ return n.H1;
28
+ }
29
+ }), c = r(() => [
30
+ t,
31
+ `${t}--${e.align}`,
32
+ `${t}--${e.color}`,
33
+ `${t}--${e.truncate ? "wrap" : "nowrap"}`,
34
+ `${t}--${e.type}`,
35
+ e.bolder ? `${t}--bolder` : ""
36
+ ]);
37
+ return (d, y) => (f(), u(p(o(s)), {
38
+ class: m([o(c), o(h)({ color: a.color })]),
39
+ "data-testid": a.testId
40
+ }, {
41
+ default: g(() => [
42
+ C(d.$slots, "default")
43
+ ]),
44
+ _: 3
45
+ }, 8, ["class", "data-testid"]));
46
+ }
47
+ });
48
+ export {
49
+ T as _
50
+ };