@codeandfunction/callaloo 3.15.2 → 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 (142) 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/CLFormCharCounter/CLFormCharCounter.vue.d.ts +24 -0
  55. package/dist/components/Form/CLFormLabel/CLFormLabel.vue.d.ts +22 -0
  56. package/dist/components/Form/CLInput/CLInput.css +1 -0
  57. package/dist/components/Form/CLInput/CLInput.js +378 -0
  58. package/dist/components/Form/CLInput/CLInput.vue.d.ts +8 -8
  59. package/dist/components/Form/CLInput/CLInputColorTools.vue.d.ts +29 -0
  60. package/dist/components/Form/CLInput/CLInputPill.vue.d.ts +14 -0
  61. package/dist/components/Form/CLInput/CLInputPrefix.vue.d.ts +20 -0
  62. package/dist/components/Form/CLInput/CLInputSuffix.vue.d.ts +20 -0
  63. package/dist/components/Form/CLInput/index.d.ts +18 -3
  64. package/dist/components/Form/CLRadioButton/CLRadioButton.css +1 -0
  65. package/dist/components/Form/CLRadioButton/CLRadioButton.js +132 -0
  66. package/dist/components/Form/CLRadioButton/CLRadioButton.vue.d.ts +1 -1
  67. package/dist/components/Form/CLSelect/CLSelect.css +1 -0
  68. package/dist/components/Form/CLSelect/CLSelect.js +137 -0
  69. package/dist/components/Form/CLSelect/CLSelect.vue.d.ts +9 -9
  70. package/dist/components/Form/CLTextArea/CLTextArea.css +1 -0
  71. package/dist/components/Form/CLTextArea/CLTextArea.js +149 -0
  72. package/dist/components/Form/CLTextArea/CLTextArea.vue.d.ts +2 -2
  73. package/dist/components/Form/index.d.ts +5 -6
  74. package/dist/components/Indicators/CLBadge/CLBadge.css +1 -0
  75. package/dist/components/Indicators/CLBadge/CLBadge.js +40 -0
  76. package/dist/components/Indicators/CLBadge/CLBadge.vue.d.ts +1 -1
  77. package/dist/components/Indicators/CLBanner/CLBanner.css +1 -0
  78. package/dist/components/Indicators/CLBanner/CLBanner.js +147 -0
  79. package/dist/components/Indicators/CLBanner/CLBanner.vue.d.ts +3 -3
  80. package/dist/components/Indicators/CLPill/CLPill.css +1 -0
  81. package/dist/components/Indicators/CLPill/CLPill.js +6 -0
  82. package/dist/components/Indicators/CLPill/CLPill.vue.d.ts +3 -3
  83. package/dist/components/Indicators/CLProgress/CLProgress.css +1 -0
  84. package/dist/components/Indicators/CLProgress/CLProgress.js +6 -0
  85. package/dist/components/Indicators/CLProgress/CLProgress.vue.d.ts +2 -2
  86. package/dist/components/Loading/CLSkeleton/CLSkeleton.css +1 -0
  87. package/dist/components/Loading/CLSkeleton/CLSkeleton.js +6 -0
  88. package/dist/components/Loading/CLSkeleton/CLSkeleton.vue.d.ts +1 -1
  89. package/dist/components/Loading/CLSpinner/CLSpinner.css +1 -0
  90. package/dist/components/Loading/CLSpinner/CLSpinner.js +6 -0
  91. package/dist/components/Loading/CLSpinner/CLSpinner.vue.d.ts +1 -1
  92. package/dist/components/Modals/CLModal/CLModal.css +1 -0
  93. package/dist/components/Modals/CLModal/CLModal.js +175 -0
  94. package/dist/components/Modals/CLModal/CLModal.vue.d.ts +2 -2
  95. package/dist/components/Navigation/CLLink/CLLink.css +1 -0
  96. package/dist/components/Navigation/CLLink/CLLink.js +6 -0
  97. package/dist/components/Navigation/CLLink/CLLink.vue.d.ts +2 -2
  98. package/dist/components/Navigation/CLNavLink/CLNavLink.js +5 -0
  99. package/dist/components/Navigation/CLNavLink/CLNavLink.vue.d.ts +1 -1
  100. package/dist/components/Navigation/CLNavSection/CLNavSection.css +1 -0
  101. package/dist/components/Navigation/CLNavSection/CLNavSection.js +55 -0
  102. package/dist/components/Navigation/CLNavSection/CLNavSection.vue.d.ts +1 -1
  103. package/dist/components/Popups/CLDropdownMenu/CLDropdownMenu.css +1 -0
  104. package/dist/components/Popups/CLDropdownMenu/CLDropdownMenu.js +1233 -0
  105. package/dist/components/Popups/CLDropdownMenu/CLDropdownMenu.vue.d.ts +29 -29
  106. package/dist/components/Popups/CLToast/CLToast.css +1 -0
  107. package/dist/components/Popups/CLToast/CLToast.js +6 -0
  108. package/dist/components/Popups/CLToast/CLToast.vue.d.ts +2 -2
  109. package/dist/components/Providers/CLThemeProvider/CLThemeProvider.js +42 -0
  110. package/dist/components/Providers/CLThemeProvider/CLThemeProvider.vue.d.ts +27 -0
  111. package/dist/components/Providers/CLThemeProvider/index.d.ts +4 -0
  112. package/dist/components/Providers/CLToastProvider/CLToastProvider.js +45 -0
  113. package/dist/components/Providers/{Toast → CLToastProvider}/CLToastProvider.vue.d.ts +1 -7
  114. package/dist/components/Providers/CLToastProvider/index.d.ts +4 -0
  115. package/dist/components/Providers/index.d.ts +2 -6
  116. package/dist/components/Typography/CLHeading/CLHeading.css +1 -0
  117. package/dist/components/Typography/CLHeading/CLHeading.js +6 -0
  118. package/dist/components/Typography/CLText/CLText.css +1 -0
  119. package/dist/components/Typography/CLText/CLText.js +6 -0
  120. package/dist/index.d.ts +1 -16
  121. package/dist/index.js +27 -5769
  122. package/dist/types.d.ts +4 -0
  123. package/dist/utils/helper.d.ts +1 -0
  124. package/package.json +133 -10
  125. package/dist/assets/styles.css +0 -1
  126. package/dist/components/Assets/index.d.ts +0 -2
  127. package/dist/components/Providers/Theme/CLThemeProvider.vue.d.ts +0 -26
  128. package/dist/constants.d.ts +0 -22
  129. package/dist/stats.json +0 -41
  130. package/dist/chunks/{icons.QRYZHNAf.js → icons-QRYZHNAf.js} +0 -0
  131. package/dist/components/{Assets/CLIcon → CLIcon}/index.d.ts +0 -0
  132. package/dist/components/{Assets → CLIcon}/utils.d.ts +0 -0
  133. package/dist/components/{Table → CLTable}/CLTable.vue.d.ts +1 -1
  134. /package/dist/components/{Table → CLTable}/CLTableBody.vue.d.ts +0 -0
  135. /package/dist/components/{Table → CLTable}/CLTableCell.vue.d.ts +0 -0
  136. /package/dist/components/{Table → CLTable}/CLTableFooter.vue.d.ts +0 -0
  137. /package/dist/components/{Table → CLTable}/CLTableHeader.vue.d.ts +0 -0
  138. /package/dist/components/{Table → CLTable}/CLTableNestedCell.vue.d.ts +0 -0
  139. /package/dist/components/{Table → CLTable}/CLTableRow.vue.d.ts +0 -0
  140. /package/dist/components/{Table → CLTable}/utils.d.ts +0 -0
  141. /package/dist/components/Providers/{Theme → CLThemeProvider}/base-theme.d.ts +0 -0
  142. /package/dist/components/Providers/{Theme → CLThemeProvider}/utils.d.ts +0 -0
@@ -90,33 +90,33 @@ declare const _default: import('vue').DefineComponent<{
90
90
  pattern: string;
91
91
  variant: CLColorVariants.Outline | CLColorVariants.Ghost;
92
92
  borderRadius: CLBorderRadius;
93
+ fluid: boolean;
94
+ rounded: boolean;
93
95
  testId: string;
94
96
  type: CLInputTypes;
95
- required: boolean;
96
- prefix: string | CLIconNames;
97
97
  onFocus: CLGenericFocusFunction;
98
98
  onBlur: CLGenericFocusFunction;
99
99
  onChange: CLGenericFunction;
100
100
  onInput: CLGenericInputFunction;
101
+ size: CLSizes;
102
+ required: boolean;
103
+ prefix: string | CLIconNames;
101
104
  ariaLabel: string;
102
105
  busy: boolean;
103
- rounded: boolean;
104
- fluid: boolean;
105
106
  disabled: boolean;
106
107
  pill: string;
107
- size: CLSizes;
108
108
  placeholder: string;
109
109
  orientation: CLOrientation;
110
110
  readonly: boolean;
111
111
  messages: string[];
112
112
  messageType: CLColors;
113
+ maxLength: number;
114
+ grouped: boolean;
115
+ suffix: string | CLIconNames;
113
116
  autoComplete: boolean;
114
117
  charCounter: boolean;
115
- grouped: boolean;
116
- maxLength: number;
117
118
  minLength: number;
118
119
  spellCheck: boolean;
119
- suffix: string | CLIconNames;
120
120
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
121
121
  'input-elem': HTMLInputElement;
122
122
  }, HTMLDivElement>;
@@ -0,0 +1,29 @@
1
+ import { CLSizes } from '../../../index.ts';
2
+ export interface CLInputColorToolsProps {
3
+ /** Whether color was copied */
4
+ copied?: boolean;
5
+ /** Initial color value for reset */
6
+ initialValue?: string;
7
+ /** Current color value */
8
+ modelValue?: string | number;
9
+ /** Size for buttons and icons */
10
+ size?: CLSizes;
11
+ /** Test ID for testing purposes */
12
+ testId?: string;
13
+ }
14
+ declare const _default: import('vue').DefineComponent<CLInputColorToolsProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
+ copy: () => any;
16
+ reset: (value: string | number | undefined) => any;
17
+ "update:copied": (copied: boolean) => any;
18
+ }, string, import('vue').PublicProps, Readonly<CLInputColorToolsProps> & Readonly<{
19
+ onCopy?: (() => any) | undefined;
20
+ onReset?: ((value: string | number | undefined) => any) | undefined;
21
+ "onUpdate:copied"?: ((copied: boolean) => any) | undefined;
22
+ }>, {
23
+ testId: string;
24
+ size: CLSizes;
25
+ modelValue: string | number;
26
+ copied: boolean;
27
+ initialValue: string;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
29
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import { CLColors } from '../../../types';
2
+ export interface CLInputPillProps {
3
+ /** Color of the pill */
4
+ color?: CLColors;
5
+ /** The pill label text */
6
+ label: string;
7
+ /** Test ID for testing purposes */
8
+ testId?: string;
9
+ }
10
+ declare const _default: import('vue').DefineComponent<CLInputPillProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<CLInputPillProps> & Readonly<{}>, {
11
+ color: CLColors;
12
+ testId: string;
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
14
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { CLIconNames, CLSizes } from '../../../index.ts';
2
+ export interface CLInputPrefixProps {
3
+ /** The border radius size to apply to the prefix */
4
+ borderRadius?: string;
5
+ /** Whether input is grouped */
6
+ grouped?: boolean;
7
+ /** The prefix content - icon name or text string */
8
+ prefix: string | CLIconNames;
9
+ /** Size for icon rendering */
10
+ size?: CLSizes;
11
+ /** Test ID for testing purposes */
12
+ testId?: string;
13
+ }
14
+ declare const _default: import('vue').DefineComponent<CLInputPrefixProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<CLInputPrefixProps> & Readonly<{}>, {
15
+ borderRadius: string;
16
+ testId: string;
17
+ size: CLSizes;
18
+ grouped: boolean;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
20
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { CLIconNames, CLSizes } from '../../../index.ts';
2
+ export interface CLInputSuffixProps {
3
+ /** The border radius size to apply to the suffix */
4
+ borderRadius?: string;
5
+ /** Whether input is grouped */
6
+ grouped?: boolean;
7
+ /** The suffix content - icon name or text string */
8
+ suffix: string | CLIconNames;
9
+ /** Size for icon rendering */
10
+ size?: CLSizes;
11
+ /** Test ID for testing purposes */
12
+ testId?: string;
13
+ }
14
+ declare const _default: import('vue').DefineComponent<CLInputSuffixProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<CLInputSuffixProps> & Readonly<{}>, {
15
+ borderRadius: string;
16
+ testId: string;
17
+ size: CLSizes;
18
+ grouped: boolean;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
20
+ export default _default;
@@ -1,4 +1,19 @@
1
1
  import { default as CLInputComponent } from './CLInput.vue';
2
- export { CLInputComponent as CLInput };
3
- export default CLInputComponent;
4
- export type CLInput = InstanceType<typeof CLInputComponent>;
2
+ import { default as CLInputPrefixComponent } from './CLInputPrefix.vue';
3
+ import { default as CLInputSuffixComponent } from './CLInputSuffix.vue';
4
+ import { default as CLInputPillComponent } from './CLInputPill.vue';
5
+ import { default as CLInputColorToolsComponent } from './CLInputColorTools.vue';
6
+ declare const CLInput: typeof CLInputComponent & {
7
+ Prefix: typeof CLInputPrefixComponent;
8
+ Suffix: typeof CLInputSuffixComponent;
9
+ Pill: typeof CLInputPillComponent;
10
+ ColorTools: typeof CLInputColorToolsComponent;
11
+ };
12
+ export { CLInput };
13
+ export default CLInput;
14
+ export type CLInput = InstanceType<typeof CLInput>;
15
+ export type CLInputPrefix = InstanceType<typeof CLInputPrefixComponent>;
16
+ export type CLInputSuffix = InstanceType<typeof CLInputSuffixComponent>;
17
+ export type CLInputPill = InstanceType<typeof CLInputPillComponent>;
18
+ export type CLInputColorTools = InstanceType<typeof CLInputColorToolsComponent>;
19
+ export type { CLInputProps } from './CLInput.vue';
@@ -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-radiobutton{position:relative;overflow:hidden;border-radius:0;flex:none;display:inline-flex;align-items:center;box-sizing:border-box;align-items:flex-start;flex-direction:column;overflow:visible}.clll-radiobutton .clll-radiobutton__label{position:relative;overflow:hidden;border-radius:0;flex:none;display:inline-flex;align-items:center;box-sizing:border-box;overflow:visible;text-align:left;user-select:none;cursor:pointer}.clll-radiobutton .clll-radiobutton__label>:not([hidden])~:not([hidden]){margin-left:var(--clll-unit-2)}.clll-radiobutton .clll-radiobutton__radiobutton-container{position:relative;overflow:hidden;border-radius:0;flex:none;display:inline-flex;align-items:center;box-sizing:border-box;overflow:visible}.clll-radiobutton .clll-radiobutton__radiobutton-container .clll-radiobutton__radiobutton-frame .clll-radiobutton__radiobutton:not(:checked)+.clll-radiobutton__indicator{display:none}.clll-radiobutton .clll-radiobutton__indicator{position:absolute;display:inline-flex;background-color:#fff}.clll-radiobutton .clll-radiobutton__radiobutton{display:inline-block;appearance:none;border-width:1px;cursor:pointer}.clll-radiobutton.clll-radiobutton--rounded .clll-radiobutton__radiobutton{border-radius:var(--clll-rounded-full)}.clll-radiobutton.clll-radiobutton--rounded:not(.clll-radiobutton--rounded-none) .clll-radiobutton__indicator{border-radius:var(--clll-rounded-full)}.clll-radiobutton.clll-radiobutton--rounded.clll-radiobutton--rounded-full .clll-radiobutton__radiobutton{border-radius:var(--clll-rounded-full)}.clll-radiobutton.clll-radiobutton--rounded.clll-radiobutton--rounded-lg .clll-radiobutton__radiobutton{border-radius:var(--clll-rounded-lg)}.clll-radiobutton.clll-radiobutton--rounded.clll-radiobutton--rounded-md .clll-radiobutton__radiobutton{border-radius:var(--clll-rounded-md)}.clll-radiobutton.clll-radiobutton--rounded.clll-radiobutton--rounded-sm .clll-radiobutton__radiobutton{border-radius:var(--clll-rounded-sm)}.clll-radiobutton.clll-radiobutton--rounded.clll-radiobutton--rounded-xs .clll-radiobutton__radiobutton{border-radius:var(--clll-rounded-xs)}.clll-radiobutton.clll-radiobutton--rounded.clll-radiobutton--rounded-xl .clll-radiobutton__radiobutton{border-radius:var(--clll-rounded-xl)}.clll-radiobutton.clll-radiobutton--rounded.clll-radiobutton--rounded-2xl .clll-radiobutton__radiobutton{border-radius:var(--clll-rounded-2xl)}.clll-radiobutton.clll-radiobutton--rounded.clll-radiobutton--rounded-3xl .clll-radiobutton__radiobutton{border-radius:var(--clll-rounded-3xl)}.clll-radiobutton.clll-radiobutton--rounded.clll-radiobutton--rounded-none .clll-radiobutton__radiobutton{border-radius:0}.clll-radiobutton.clll-radiobutton--tiny .clll-radiobutton__radiobutton-container .clll-radiobutton__label>:not([hidden])~:not([hidden]){margin-left:var(--clll-unit-1_5)}.clll-radiobutton.clll-radiobutton--tiny .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-checkbox__checkbox,.clll-radiobutton.clll-radiobutton--tiny .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-radiobutton__radiobutton{width:var(--clll-unit-4);height:var(--clll-unit-4)}.clll-radiobutton.clll-radiobutton--tiny .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-radiobutton__indicator{width:var(--clll-unit-1_5);height:var(--clll-unit-1_5)}.clll-radiobutton.clll-radiobutton--small .clll-radiobutton__radiobutton-container .clll-radiobutton__label>:not([hidden])~:not([hidden]){margin-left:var(--clll-unit-2)}.clll-radiobutton.clll-radiobutton--small .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-checkbox__checkbox,.clll-radiobutton.clll-radiobutton--small .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-radiobutton__radiobutton{width:var(--clll-unit-5);height:var(--clll-unit-5)}.clll-radiobutton.clll-radiobutton--small .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-radiobutton__indicator{width:var(--clll-unit-2);height:var(--clll-unit-2)}.clll-radiobutton.clll-radiobutton--medium .clll-radiobutton__radiobutton-container .clll-radiobutton__label>:not([hidden])~:not([hidden]){margin-left:var(--clll-unit-2_5)}.clll-radiobutton.clll-radiobutton--medium .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-checkbox__checkbox,.clll-radiobutton.clll-radiobutton--medium .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-radiobutton__radiobutton{width:var(--clll-unit-6);height:var(--clll-unit-6)}.clll-radiobutton.clll-radiobutton--medium .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-radiobutton__indicator{width:var(--clll-unit-2_5);height:var(--clll-unit-2_5)}.clll-radiobutton.clll-radiobutton--large .clll-radiobutton__radiobutton-container .clll-radiobutton__label>:not([hidden])~:not([hidden]){margin-left:var(--clll-unit-3)}.clll-radiobutton.clll-radiobutton--large .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-checkbox__checkbox,.clll-radiobutton.clll-radiobutton--large .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-radiobutton__radiobutton{width:var(--clll-unit-7);height:var(--clll-unit-7)}.clll-radiobutton.clll-radiobutton--large .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-radiobutton__indicator{width:var(--clll-unit-3);height:var(--clll-unit-3)}.clll-radiobutton.clll-radiobutton--xlarge .clll-radiobutton__radiobutton-container .clll-radiobutton__label>:not([hidden])~:not([hidden]){margin-left:var(--clll-unit-3)}.clll-radiobutton.clll-radiobutton--xlarge .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-checkbox__checkbox,.clll-radiobutton.clll-radiobutton--xlarge .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-radiobutton__radiobutton{width:var(--clll-unit-8);height:var(--clll-unit-8)}.clll-radiobutton.clll-radiobutton--xlarge .clll-radiobutton__radiobutton-container .clll-radiobutton__label .clll-radiobutton__indicator{width:var(--clll-unit-3_5);height:var(--clll-unit-3_5)}
@@ -0,0 +1,132 @@
1
+ import './CLRadioButton.css';
2
+ import { defineComponent as k, mergeModels as x, useModel as T, useTemplateRef as h, computed as f, createBlock as m, openBlock as c, withCtx as $, createElementVNode as n, createCommentVNode as y, normalizeClass as d, unref as u, withDirectives as R, vModelRadio as q, createTextVNode as V, toDisplayString as M } from "vue";
3
+ import { _ as S, c as z, a as F } from "../../../chunks/CLInputMessages.vue_vue_type_style_index_0_lang-xm2qDJGJ.js";
4
+ import { _ as N } from "../../../chunks/CLText.vue_vue_type_style_index_0_lang-CTc6UiQV.js";
5
+ import { CLSizes as s, CLTextTypes as i, CLColorVariants as w, CLColors as D } from "../../../index.js";
6
+ const I = ["data-testid"], X = ["for"], E = ["id", "aria-label", "checked", "disabled", "name", "value", "required"], A = /* @__PURE__ */ k({
7
+ name: "CLRadioButton",
8
+ __name: "CLRadioButton",
9
+ props: /* @__PURE__ */ x({
10
+ ariaLabel: {},
11
+ borderRadius: {},
12
+ busy: { type: Boolean },
13
+ checked: { type: Boolean },
14
+ color: { default: D.Neutral },
15
+ disabled: { type: Boolean },
16
+ form: {},
17
+ id: {},
18
+ label: {},
19
+ messages: {},
20
+ messageType: {},
21
+ name: {},
22
+ required: { type: Boolean },
23
+ rounded: { type: Boolean, default: !0 },
24
+ size: { default: s.Small },
25
+ testId: { default: "clll-radiobutton" },
26
+ value: { type: [String, Number, Boolean] },
27
+ variant: { default: w.Outline },
28
+ onBlur: {},
29
+ onChange: {},
30
+ onFocus: {}
31
+ }, {
32
+ modelValue: {},
33
+ modelModifiers: {}
34
+ }),
35
+ emits: ["update:modelValue"],
36
+ setup(e, { expose: C }) {
37
+ const g = {
38
+ [s.Tiny]: i.Small,
39
+ [s.Small]: i.Medium,
40
+ [s.Medium]: i.Medium,
41
+ [s.Large]: i.Large,
42
+ [s.XL]: i.XL
43
+ }, l = e, a = "clll-radiobutton", b = T(e, "modelValue"), r = h("radiobutton-ref"), v = () => {
44
+ r.value && r.value.focus();
45
+ }, B = f(() => [
46
+ a,
47
+ l.borderRadius ? `${a}--${l.borderRadius}` : "",
48
+ l.busy ? `${a}--busy` : `${a}--ready`,
49
+ `${a}--${l.color}`,
50
+ `${a}--${l.size}`,
51
+ l.disabled ? `${a}--disabled` : `${a}--active`,
52
+ l.label ? `${a}--haslabel` : "",
53
+ l.messageType ? `${a}--${l.messageType}` : "",
54
+ l.rounded ? `${a}--rounded` : `${a}--box`,
55
+ l.required ? `${a}--required` : `${a}--optional`
56
+ ]), L = f(() => [
57
+ `${a}__radiobutton-container`,
58
+ `${a}--${l.variant}`
59
+ ]);
60
+ return C({
61
+ radiobuttonRef: r
62
+ }), (H, t) => (c(), m(S, null, {
63
+ default: $(() => [
64
+ n("span", {
65
+ class: d([u(B), u(z)({ color: e.color, component: "radiobutton", disabled: e.disabled || e.busy, variant: e.variant })]),
66
+ "data-testid": e.testId
67
+ }, [
68
+ n("span", {
69
+ class: d(u(L)),
70
+ onClick: v
71
+ }, [
72
+ n("label", {
73
+ for: e.id,
74
+ class: d(`${a}__label`)
75
+ }, [
76
+ n("span", {
77
+ class: d([`${a}__radiobutton-frame`, "form-control-flex"])
78
+ }, [
79
+ R(n("input", {
80
+ id: e.id,
81
+ ref: "radiobutton-ref",
82
+ "onUpdate:modelValue": t[0] || (t[0] = (o) => b.value = o),
83
+ "aria-label": e.ariaLabel,
84
+ class: d(`${a}__radiobutton`),
85
+ checked: e.checked,
86
+ disabled: e.disabled || e.busy,
87
+ name: e.name,
88
+ value: e.value,
89
+ required: e.required,
90
+ type: "radio",
91
+ onBlur: t[1] || (t[1] = //@ts-ignore
92
+ (...o) => e.onBlur && e.onBlur(...o)),
93
+ onChange: t[2] || (t[2] = //@ts-ignore
94
+ (...o) => e.onChange && e.onChange(...o)),
95
+ onFocus: t[3] || (t[3] = //@ts-ignore
96
+ (...o) => e.onFocus && e.onFocus(...o))
97
+ }, null, 42, E), [
98
+ [q, b.value]
99
+ ]),
100
+ n("span", {
101
+ class: d(`${a}__indicator`)
102
+ }, null, 2)
103
+ ], 2),
104
+ e.label ? (c(), m(u(N), {
105
+ key: 0,
106
+ as: "span",
107
+ type: g[e.size],
108
+ class: d(e.required ? `${a}__label--required` : "")
109
+ }, {
110
+ default: $(() => [
111
+ V(M(e.label), 1)
112
+ ]),
113
+ _: 1
114
+ }, 8, ["type", "class"])) : y("", !0)
115
+ ], 10, X)
116
+ ], 2)
117
+ ], 10, I),
118
+ e.id ? (c(), m(F, {
119
+ key: 0,
120
+ id: e.id,
121
+ messages: e.messages,
122
+ "message-type": e.messageType
123
+ }, null, 8, ["id", "messages", "message-type"])) : y("", !0)
124
+ ]),
125
+ _: 1
126
+ }));
127
+ }
128
+ });
129
+ export {
130
+ A as CLRadioButton,
131
+ A as default
132
+ };
@@ -56,8 +56,8 @@ declare const _default: import('vue').DefineComponent<{
56
56
  }>, {
57
57
  color: CLColors;
58
58
  variant: CLColorVariants.Outline | CLColorVariants.Ghost;
59
- testId: string;
60
59
  rounded: boolean;
60
+ testId: string;
61
61
  size: CLSizes;
62
62
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
63
63
  'radiobutton-ref': HTMLInputElement;
@@ -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-select{position:relative;overflow:hidden;border-radius:0;flex:none;display:inline-flex;align-items:center;box-sizing:border-box;align-items:flex-start;overflow:visible}.clll-select.clll-select--haslabel .clll-select__label>:not([hidden])~:not([hidden]){margin-left:var(--clll-unit-1)}.clll-select .clll-select__select-container{position:relative;overflow:hidden;border-radius:0;flex:none;display:inline-flex;align-items:center;box-sizing:border-box;overflow:visible}.clll-select .clll-select__select-container .clll-select__select{display:inline-block;appearance:none;font-family:var(--clll-font-family);-webkit-font-smoothing:antialiased}.clll-select .clll-select__icon{pointer-events:none}.clll-select.clll-select--rounded .clll-select__select-container,.clll-select.clll-select--rounded .clll-select__select{border-radius:var(--clll-rounded-xs)}.clll-select.clll-select--rounded.clll-select--rounded-full .clll-select__select-container{border-radius:var(--clll-rounded-full)}.clll-select.clll-select--rounded.clll-select--rounded-lg .clll-select__select-container{border-radius:var(--clll-rounded-lg)}.clll-select.clll-select--rounded.clll-select--rounded-md .clll-select__select-container{border-radius:var(--clll-rounded-md)}.clll-select.clll-select--rounded.clll-select--rounded-sm .clll-select__select-container{border-radius:var(--clll-rounded-sm)}.clll-select.clll-select--rounded.clll-select--rounded-xs .clll-select__select-container{border-radius:var(--clll-rounded-xs)}.clll-select.clll-select--rounded.clll-select--rounded-xl .clll-select__select-container{border-radius:var(--clll-rounded-xl)}.clll-select.clll-select--rounded.clll-select--rounded-2xl .clll-select__select-container{border-radius:var(--clll-rounded-2xl)}.clll-select.clll-select--rounded.clll-select--rounded-3xl .clll-select__select-container{border-radius:var(--clll-rounded-3xl)}.clll-select.clll-select--rounded.clll-select--rounded-none .clll-select__select-container{border-radius:0}.clll-select.clll-select--rounded.clll-select--rounded-full .clll-select__select{border-radius:var(--clll-rounded-full)}.clll-select.clll-select--rounded.clll-select--rounded-lg .clll-select__select{border-radius:var(--clll-rounded-lg)}.clll-select.clll-select--rounded.clll-select--rounded-md .clll-select__select{border-radius:var(--clll-rounded-md)}.clll-select.clll-select--rounded.clll-select--rounded-sm .clll-select__select{border-radius:var(--clll-rounded-sm)}.clll-select.clll-select--rounded.clll-select--rounded-xs .clll-select__select{border-radius:var(--clll-rounded-xs)}.clll-select.clll-select--rounded.clll-select--rounded-xl .clll-select__select{border-radius:var(--clll-rounded-xl)}.clll-select.clll-select--rounded.clll-select--rounded-2xl .clll-select__select{border-radius:var(--clll-rounded-2xl)}.clll-select.clll-select--rounded.clll-select--rounded-3xl .clll-select__select{border-radius:var(--clll-rounded-3xl)}.clll-select.clll-select--rounded.clll-select--rounded-none .clll-select__select{border-radius:0}.clll-select.clll-select--tiny .clll-select__select-container .clll-select__select{font-size:var(--clll-unit-3);line-height:var(--clll-unit-5);padding:var(--clll-py-xs) var(--clll-px-xs);padding-right:var(--clll-unit-5)}.clll-select.clll-select--tiny .clll-select__select-container .clll-select__icon{padding-right:var(--clll-unit-1)}.clll-select.clll-select--small .clll-select__select-container .clll-select__select{font-size:var(--clll-unit-3_5);line-height:var(--clll-unit-6);padding:var(--clll-py-sm) var(--clll-px-sm);padding-right:var(--clll-unit-7)}.clll-select.clll-select--small .clll-select__select-container .clll-select__icon{padding-right:var(--clll-unit-2)}.clll-select.clll-select--medium .clll-select__select-container .clll-select__select{font-size:var(--clll-unit-4);line-height:var(--clll-unit-6_5);padding:var(--clll-py-md) var(--clll-px-md);padding-right:var(--clll-unit-10)}.clll-select.clll-select--medium .clll-select__select-container .clll-select__icon{padding-right:var(--clll-unit-3)}.clll-select.clll-select--large .clll-select__select-container .clll-select__select{font-size:var(--clll-unit-4_5);line-height:var(--clll-unit-7);padding:var(--clll-py-lg) var(--clll-px-lg);padding-right:var(--clll-unit-14)}.clll-select.clll-select--large .clll-select__select-container .clll-select__icon{padding-right:var(--clll-unit-3_5)}.clll-select.clll-select--xlarge .clll-select__select-container .clll-select__select{font-size:var(--clll-unit-5);line-height:var(--clll-unit-7_5);padding:var(--clll-py-xl) var(--clll-px-xl);padding-right:var(--clll-unit-18)}.clll-select.clll-select--xlarge .clll-select__select-container .clll-select__icon{padding-right:var(--clll-unit-4)}.clll-select.clll-select--fluid,.clll-select.clll-select--fluid .clll-select__select-container,.clll-select.clll-select--fluid .clll-select__select-container .clll-select__select{width:100%}.clll-select.clll-select--vertical{flex-direction:column}.clll-select.clll-select--vertical.clll-select--haslabel>:not([hidden])~:not([hidden]){margin-top:var(--clll-unit-1_5)}.clll-select.clll-select--horizontal.clll-select--haslabel{flex-direction:row;align-items:center;flex-wrap:wrap}.clll-select.clll-select--horizontal.clll-select--haslabel .clll-select__label,.clll-select.clll-select--horizontal.clll-select--haslabel .clll-select__select-container{width:50%}.clll-select.clll-select--hidden{display:none}
@@ -0,0 +1,137 @@
1
+ import './CLSelect.css';
2
+ import { defineComponent as B, mergeModels as h, useModel as S, useTemplateRef as q, computed as x, createBlock as f, openBlock as o, withCtx as T, createElementVNode as d, createCommentVNode as b, normalizeClass as r, unref as u, withDirectives as V, createElementBlock as $, Fragment as k, renderList as M, toDisplayString as F, vModelSelect as I, createVNode as N } from "vue";
3
+ import { _ as R, s as D, a as w } from "../../../chunks/CLInputMessages.vue_vue_type_style_index_0_lang-xm2qDJGJ.js";
4
+ import { _ as E } from "../../../chunks/CLFormLabel.vue_vue_type_script_setup_true_lang-ORvye4vi.js";
5
+ import { _ as H } from "../../../chunks/CLIcon.vue_vue_type_style_index_0_lang-zZ4zGuBt.js";
6
+ import { CLSizes as n, CLIconSizes as s, CLOrientation as y, CLIconNames as O, CLColorVariants as P, CLColors as U } from "../../../index.js";
7
+ const X = ["data-testid"], j = ["id", "aria-label", "disabled", "name", "placeholder", "form", "required"], A = ["value", "selected", "disabled"], Z = /* @__PURE__ */ B({
8
+ name: "CLSelect",
9
+ __name: "CLSelect",
10
+ props: /* @__PURE__ */ h({
11
+ ariaLabel: {},
12
+ borderRadius: {},
13
+ busy: { type: Boolean },
14
+ color: { default: U.Neutral },
15
+ disabled: { type: Boolean },
16
+ fluid: { type: Boolean, default: !1 },
17
+ form: {},
18
+ id: {},
19
+ label: {},
20
+ messages: {},
21
+ messageType: {},
22
+ name: {},
23
+ onBlur: {},
24
+ onChange: {},
25
+ onFocus: {},
26
+ orientation: { default: y.Vertical },
27
+ options: {},
28
+ placeholder: {},
29
+ required: { type: Boolean },
30
+ rounded: { type: Boolean, default: !0 },
31
+ size: { default: n.Small },
32
+ testId: { default: "clll-select" },
33
+ variant: { default: P.Outline }
34
+ }, {
35
+ modelValue: {},
36
+ modelModifiers: {}
37
+ }),
38
+ emits: ["update:modelValue"],
39
+ setup(e, { expose: C }) {
40
+ const g = {
41
+ [n.Tiny]: s.Tiny,
42
+ [n.Small]: s.Tiny,
43
+ [n.Medium]: s.Small,
44
+ [n.Large]: s.Medium,
45
+ [n.XL]: s.Medium
46
+ }, a = e, l = "clll-select", m = S(e, "modelValue"), c = q("select-ref"), v = () => {
47
+ c.value && c.value.focus();
48
+ }, L = x(() => [
49
+ l,
50
+ a.borderRadius ? `${l}--${a.borderRadius}` : "",
51
+ a.busy ? `${l}--busy` : `${l}--ready`,
52
+ `${l}--${a.color}`,
53
+ `${l}--${a.size}`,
54
+ `${l}--${a.variant}`,
55
+ a.disabled || a.busy ? `${l}--disabled` : `${l}--active`,
56
+ a.fluid || a.orientation === y.Horizontal ? `${l}--fluid` : `${l}--fixed`,
57
+ a.label ? `${l}--haslabel` : "",
58
+ a.messageType ? `${l}--${a.messageType}` : "",
59
+ a.orientation ? `${l}--${a.orientation}` : "",
60
+ a.rounded ? `${l}--rounded` : `${l}--box`,
61
+ a.required ? `${l}--required` : `${l}--optional`
62
+ ]);
63
+ return C({
64
+ selectRef: c
65
+ }), (G, i) => (o(), f(R, {
66
+ fluid: e.fluid,
67
+ orientation: e.orientation
68
+ }, {
69
+ default: T(() => [
70
+ d("span", {
71
+ class: r([u(L), u(D)({ color: e.color, component: "input", disabled: e.disabled || e.busy, variant: e.variant })]),
72
+ "data-testid": e.testId
73
+ }, [
74
+ e.label ? (o(), f(E, {
75
+ key: 0,
76
+ "css-prefix": l,
77
+ "html-for": e.id,
78
+ label: e.label,
79
+ required: e.required,
80
+ size: e.size
81
+ }, null, 8, ["html-for", "label", "required", "size"])) : b("", !0),
82
+ d("span", {
83
+ class: r(`${l}__select-container`),
84
+ onClick: v
85
+ }, [
86
+ V(d("select", {
87
+ id: e.id,
88
+ ref: "select-ref",
89
+ "onUpdate:modelValue": i[0] || (i[0] = (t) => m.value = t),
90
+ "aria-label": e.ariaLabel,
91
+ class: r(`${l}__select`),
92
+ disabled: e.disabled || e.busy,
93
+ name: e.name,
94
+ placeholder: e.placeholder,
95
+ form: e.form,
96
+ required: e.required,
97
+ onBlur: i[1] || (i[1] = //@ts-ignore
98
+ (...t) => e.onBlur && e.onBlur(...t)),
99
+ onChange: i[2] || (i[2] = //@ts-ignore
100
+ (...t) => e.onChange && e.onChange(...t)),
101
+ onFocus: i[3] || (i[3] = //@ts-ignore
102
+ (...t) => e.onFocus && e.onFocus(...t))
103
+ }, [
104
+ e.options ? (o(!0), $(k, { key: 0 }, M(e.options, (t, z) => (o(), $("option", {
105
+ key: `${e.id}-option-${z}`,
106
+ value: t.value,
107
+ selected: t.value === m.value,
108
+ disabled: t.disabled
109
+ }, F(t.label), 9, A))), 128)) : b("", !0)
110
+ ], 42, j), [
111
+ [I, m.value]
112
+ ]),
113
+ d("span", {
114
+ class: r([`${l}__icon`, "form-select-icon-flex"])
115
+ }, [
116
+ N(u(H), {
117
+ name: u(O).ChevronDown,
118
+ size: g[e.size]
119
+ }, null, 8, ["name", "size"])
120
+ ], 2)
121
+ ], 2)
122
+ ], 10, X),
123
+ e.id ? (o(), f(w, {
124
+ key: 0,
125
+ id: e.id,
126
+ messages: e.messages,
127
+ "message-type": e.messageType
128
+ }, null, 8, ["id", "messages", "message-type"])) : b("", !0)
129
+ ]),
130
+ _: 1
131
+ }, 8, ["fluid", "orientation"]));
132
+ }
133
+ });
134
+ export {
135
+ Z as CLSelect,
136
+ Z as default
137
+ };
@@ -1,4 +1,4 @@
1
- import { CLBorderRadius, CLColors, CLColorVariants, CLGenericFocusFunction, CLGenericFunction, CLOption, CLOrientation, CLSizes } from '../../../index.ts';
1
+ import { CLBorderRadius, CLColors, CLColorVariants, CLGenericFocusFunction, CLGenericFunction, CLOption, CLOrientation, CLSizes } from '../../../types';
2
2
  export interface CLSelectProps {
3
3
  /** Sets the aria-label on the input. It should be used when there is no label present. */
4
4
  ariaLabel?: string;
@@ -24,6 +24,12 @@ export interface CLSelectProps {
24
24
  messageType?: CLColors;
25
25
  /** A string representing name of the select. The name is submitted along with the select value when the form it belongs to is submitted. */
26
26
  name: string;
27
+ /** A callback function which handles when the select loses focus. */
28
+ onBlur?: CLGenericFocusFunction;
29
+ /** A callback function which handles when the select is clicked. */
30
+ onChange?: CLGenericFunction;
31
+ /** A callback function which handles when the select gains focus. */
32
+ onFocus?: CLGenericFocusFunction;
27
33
  /** Sets the label position to be above or to the left of the form element. The property can be one of `CLOrientation` */
28
34
  orientation?: CLOrientation;
29
35
  /** A list of options */
@@ -40,12 +46,6 @@ export interface CLSelectProps {
40
46
  testId?: string;
41
47
  /** Sets the color variant. The property can be one of `CLColorVariants.Outline | CLColorVariants.Ghost`, e.g `CLColorVariants.Outline`. */
42
48
  variant?: CLColorVariants.Outline | CLColorVariants.Ghost;
43
- /** A callback function which handles when the select loses focus. */
44
- onBlur?: CLGenericFocusFunction;
45
- /** A callback function which handles when the select is clicked. */
46
- onChange?: CLGenericFunction;
47
- /** A callback function which handles when the select gains focus. */
48
- onFocus?: CLGenericFocusFunction;
49
49
  }
50
50
  declare const _default: import('vue').DefineComponent<{
51
51
  modelValue?: string | number | null;
@@ -60,9 +60,9 @@ declare const _default: import('vue').DefineComponent<{
60
60
  }>, {
61
61
  color: CLColors;
62
62
  variant: CLColorVariants.Outline | CLColorVariants.Ghost;
63
- testId: string;
64
- rounded: boolean;
65
63
  fluid: boolean;
64
+ rounded: boolean;
65
+ testId: string;
66
66
  size: CLSizes;
67
67
  orientation: CLOrientation;
68
68
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
@@ -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-textarea{position:relative;overflow:hidden;border-radius:0;flex:none;display:inline-flex;align-items:center;box-sizing:border-box;flex-direction:column;align-items:flex-start;overflow:visible}.clll-textarea .clll-textarea__input-container{position:relative;overflow:hidden;border-radius:0;flex:none;display:inline-flex;align-items:center;box-sizing:border-box;overflow:visible}.clll-textarea .clll-textarea__input{resize:none;display:inline-block;appearance:none;background-color:#fff;font-family:var(--clll-font-family);-webkit-font-smoothing:antialiased}.clll-textarea.clll-textarea--resizable .clll-textarea__input{resize:both}.clll-textarea.clll-textarea--rounded .clll-textarea__input-container,.clll-textarea.clll-textarea--rounded .clll-textarea__input{border-radius:var(--clll-rounded-xs)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-full .clll-textarea__input-container{border-radius:var(--clll-rounded-full)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-lg .clll-textarea__input-container{border-radius:var(--clll-rounded-lg)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-md .clll-textarea__input-container{border-radius:var(--clll-rounded-md)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-sm .clll-textarea__input-container{border-radius:var(--clll-rounded-sm)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-xs .clll-textarea__input-container{border-radius:var(--clll-rounded-xs)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-xl .clll-textarea__input-container{border-radius:var(--clll-rounded-xl)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-2xl .clll-textarea__input-container{border-radius:var(--clll-rounded-2xl)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-3xl .clll-textarea__input-container{border-radius:var(--clll-rounded-3xl)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-none .clll-textarea__input-container{border-radius:0}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-full .clll-textarea__input{border-radius:var(--clll-rounded-full)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-lg .clll-textarea__input{border-radius:var(--clll-rounded-lg)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-md .clll-textarea__input{border-radius:var(--clll-rounded-md)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-sm .clll-textarea__input{border-radius:var(--clll-rounded-sm)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-xs .clll-textarea__input{border-radius:var(--clll-rounded-xs)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-xl .clll-textarea__input{border-radius:var(--clll-rounded-xl)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-2xl .clll-textarea__input{border-radius:var(--clll-rounded-2xl)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-3xl .clll-textarea__input{border-radius:var(--clll-rounded-3xl)}.clll-textarea.clll-textarea--rounded.clll-textarea--rounded-none .clll-textarea__input{border-radius:0}.clll-textarea.clll-textarea--tiny .clll-textarea__input-container .clll-textarea__input{font-size:var(--clll-unit-3);line-height:var(--clll-unit-5);padding:var(--clll-py-xs) var(--clll-px-sm)}.clll-textarea.clll-textarea--small .clll-textarea__input-container .clll-textarea__input{font-size:var(--clll-unit-3_5);line-height:var(--clll-unit-6);padding:var(--clll-py-sm) var(--clll-px-md)}.clll-textarea.clll-textarea--medium .clll-textarea__input-container .clll-textarea__input{font-size:var(--clll-unit-4);line-height:var(--clll-unit-6_5);padding:var(--clll-py-md) var(--clll-px-lg)}.clll-textarea.clll-textarea--large .clll-textarea__input-container .clll-textarea__input{font-size:var(--clll-unit-4_5);line-height:var(--clll-unit-7);padding:var(--clll-py-lg) var(--clll-px-2xl)}.clll-textarea.clll-textarea--xlarge .clll-textarea__input-container .clll-textarea__input{font-size:var(--clll-unit-5);line-height:var(--clll-unit-7_5);padding:var(--clll-py-2xl) var(--clll-px-3xl)}.clll-textarea.clll-textarea--fluid,.clll-textarea.clll-textarea--fluid .clll-textarea__input-container,.clll-textarea.clll-textarea--fluid .clll-textarea__input-container .clll-textarea__input{width:100%}.clll-textarea.clll-textarea--vertical{flex-direction:column}.clll-textarea.clll-textarea--vertical.clll-textarea--haslabel>:not([hidden])~:not([hidden]){margin-top:var(--clll-unit-1_5)}.clll-textarea.clll-textarea--horizontal.clll-textarea--haslabel{flex-direction:row;flex-wrap:wrap}.clll-textarea.clll-textarea--horizontal.clll-textarea--haslabel .clll-textarea__label{padding-top:var(--clll-unit-1_5)}.clll-textarea.clll-textarea--horizontal.clll-textarea--haslabel .clll-textarea__label,.clll-textarea.clll-textarea--horizontal.clll-textarea--haslabel .clll-textarea__input-container{width:50%}.clll-textarea.clll-textarea--hascharcounter>:not([hidden])~:not([hidden]){margin-top:var(--clll-unit-1)}