@midas-ds/components 17.23.9 → 17.25.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 (38) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/assets/checkbox.css +1 -1
  3. package/assets/radio.css +1 -1
  4. package/checkbox/Checkbox.d.ts +6 -5
  5. package/checkbox/Checkbox.stories.d.ts +1 -6
  6. package/checkbox/CheckboxButton.d.ts +3 -0
  7. package/checkbox/CheckboxField.d.ts +3 -0
  8. package/checkbox/CheckboxGroup.d.ts +5 -4
  9. package/checkbox/CheckboxGroup.stories.d.ts +1 -1
  10. package/checkbox/SelectAllCheckbox.d.ts +6 -0
  11. package/checkbox/index.d.ts +3 -2
  12. package/checkbox/index.js +2 -2
  13. package/checkbox/useSelectAll.d.ts +1 -1
  14. package/chunks/checkbox-ivInWvEp.js +105 -0
  15. package/chunks/radio-W0YqY7lo.js +48 -0
  16. package/chunks/{select-CZklrPAQ.js → select-LjjT_7hr.js} +1 -1
  17. package/chunks/{table-BrA5r_BP.js → table-O7Ht2ilY.js} +1 -1
  18. package/index.js +40 -40
  19. package/package.json +1 -1
  20. package/radio/Radio.d.ts +3 -23
  21. package/radio/Radio.stories.d.ts +101 -45
  22. package/radio/RadioButton.d.ts +3 -0
  23. package/radio/RadioField.d.ts +3 -0
  24. package/radio/RadioGroup.d.ts +21 -0
  25. package/radio/RadioGroup.stories.d.ts +27 -0
  26. package/radio/index.d.ts +3 -0
  27. package/radio/index.js +2 -2
  28. package/select/index.js +1 -1
  29. package/table/index.js +1 -1
  30. package/textfield/TextArea.stories.d.ts +1 -1
  31. package/checkbox/CheckboxGroupFieldError.d.ts +0 -8
  32. package/checkbox/CheckboxGroupItem.d.ts +0 -2
  33. package/checkbox/CheckboxInner.d.ts +0 -1
  34. package/checkbox/SingleCheckbox.d.ts +0 -2
  35. package/checkbox/context.d.ts +0 -3
  36. package/checkbox/types.d.ts +0 -19
  37. package/chunks/checkbox-BjPgN3h_.js +0 -200
  38. package/chunks/radio-DmCYqo3Z.js +0 -43
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## 17.25.0 (2026-09-17)
2
+
3
+ ### 🚀 Features
4
+
5
+ - **components,checkbox:** export CheckboxButton & CheckboxField ([#1361](https://github.com/migrationsverket/midas/pull/1361))
6
+
7
+ ## 17.24.0 (2026-09-17)
8
+
9
+ ### 🚀 Features
10
+
11
+ - **components,radio:** export RadioButton & RadioField ([#1359](https://github.com/migrationsverket/midas/pull/1359))
12
+
1
13
  ## 17.23.9 (2026-09-17)
2
14
 
3
15
  ### 🩹 Fixes
@@ -1 +1 @@
1
- ._checkboxInner_klbao_1{--border-color:var(--midas-border-color-primary);width:var(--midas-size-icon-sm);height:var(--midas-size-icon-sm);box-sizing:border-box;border:1px solid var(--border-color);transition:background-color 50ms,border-color 50ms;display:flex}._checkboxInner_klbao_1[data-readonly]{--border-color:var(--midas-border-color-subtle)}._checkboxInner_klbao_1 svg path{stroke-dasharray:24;stroke-dashoffset:24px;transition:stroke-dashoffset var(--midas-transition-duration-quick) var(--midas-transition-timing-ease-in-out)}._checkbox_klbao_1[data-selected] svg path,._checkbox_klbao_1[data-indeterminate] svg path{stroke-dashoffset:0}._checkbox_klbao_1{--checkbox-base-color:var(--midas-button-background-primary-base);--checkbox-hover-color:var(--midas-button-background-primary-hover);--checkbox-active-color:var(--midas-button-background-primary-active);--checkbox-disabled-border:var(--midas-border-color-disabled);--checkbox-disabled-background:var(--midas-field-disabled,var(--midas-field-01-disabled));--checkbox-readonly-border:var(--midas-border-color-subtle);--checkbox-warning-border:var(--midas-support-border-warning);font-family:var(--midas-typography-font-family);font-weight:var(--midas-typography-weight-regular);gap:var(--midas-space-small);cursor:pointer;width:max-content;color:var(--midas-text-primary);line-height:var(--midas-typography-line-height-30);align-items:center;display:flex}._checkbox_klbao_1[data-focus-visible],._checkbox_klbao_1:focus-visible{box-shadow:var(--midas-state-focus);outline:none}@media (forced-colors:active){._checkbox_klbao_1[data-focus-visible],._checkbox_klbao_1:focus-visible{outline:var(--midas-state-focus-contrast-mode-outline) solid;outline-offset:var(--midas-state-focus-contrast-mode-offset)}}._checkbox_klbao_1[data-hovered] ._checkboxInner_klbao_1{border-color:var(--checkbox-hover-color)}._checkbox_klbao_1[data-pressed] ._checkboxInner_klbao_1{border-color:var(--checkbox-active-color)}._checkbox_klbao_1[data-selected] ._checkboxInner_klbao_1,._checkbox_klbao_1[data-indeterminate] ._checkboxInner_klbao_1{background:var(--checkbox-base-color);border-color:var(--checkbox-base-color)}._checkbox_klbao_1[data-selected][data-hovered] ._checkboxInner_klbao_1,._checkbox_klbao_1[data-indeterminate][data-hovered] ._checkboxInner_klbao_1{background:var(--checkbox-hover-color);border-color:var(--checkbox-hover-color)}._checkbox_klbao_1[data-selected][data-pressed] ._checkboxInner_klbao_1,._checkbox_klbao_1[data-indeterminate][data-pressed] ._checkboxInner_klbao_1{background:var(--checkbox-active-color);border-color:var(--checkbox-active-color)}._checkbox_klbao_1[data-invalid] ._checkboxInner_klbao_1{outline:2px solid var(--checkbox-warning-border);outline-offset:-2px}._checkbox_klbao_1[data-invalid][data-hovered] ._checkboxInner_klbao_1{opacity:.5;transition:opacity 50ms}._checkbox_klbao_1[data-disabled]{color:var(--midas-text-disabled);cursor:not-allowed}._checkbox_klbao_1[data-disabled] ._checkboxInner_klbao_1{pointer-events:none;border:1px solid var(--checkbox-disabled-border)}._checkbox_klbao_1[data-disabled][data-selected] ._checkboxInner_klbao_1,._checkbox_klbao_1[data-disabled][data-indeterminate] ._checkboxInner_klbao_1{background:var(--checkbox-disabled-background)}._checkbox_klbao_1[data-readonly],._checkbox_klbao_1[data-readonly][data-indeterminate],._checkbox_klbao_1[data-readonly][data-selected]{pointer-events:none;border-color:var(--checkbox-readonly-border);background-color:#0000}:is(._checkbox_klbao_1[data-readonly],._checkbox_klbao_1[data-readonly][data-indeterminate],._checkbox_klbao_1[data-readonly][data-selected]) ._checkboxInner_klbao_1{border-color:var(--checkbox-readonly-border);background:0 0}:is(._checkbox_klbao_1[data-readonly],._checkbox_klbao_1[data-readonly][data-indeterminate],._checkbox_klbao_1[data-readonly][data-selected]) svg{stroke:currentColor}._checkboxWrapper_klbao_144{align-items:flex-start;gap:var(--midas-space-05);flex-direction:column;width:100%;display:flex}._checkboxGroup_klbao_155{font-family:var(--midas-typography-font-family);font-size:var(--midas-typography-font-size-30);flex-direction:column;min-width:150px;display:flex}._checkboxGroup_klbao_155[data-disabled]{color:var(--midas-text-disabled)}._checkboxGroup_klbao_155 ._checkboxList_klbao_166{gap:var(--midas-space-small);flex-direction:column;display:flex}@media (width<=479px){._checkboxGroup_klbao_155 ._checkbox_klbao_1{padding:var(--midas-space-70) var(--midas-space-medium);border:1px solid var(--midas-border-color-primary);width:auto}._checkboxGroup_klbao_155 ._checkbox_klbao_1[data-hovered]{background-color:var(--midas-layer-01-hover)}._checkboxGroup_klbao_155 ._checkbox_klbao_1[data-invalid]{border:2px solid var(--checkbox-warning-border)}._checkboxGroup_klbao_155 ._checkbox_klbao_1[data-disabled]{border-color:var(--checkbox-disabled-border);pointer-events:none}._checkboxGroup_klbao_155 ._checkbox_klbao_1[data-readonly]{border-color:var(--checkbox-readonly-border)}}@media (forced-colors:active){._checkbox_klbao_1[data-hovered] ._checkboxInner_klbao_1,._checkbox_klbao_1[data-selected] ._checkboxInner_klbao_1,._checkbox_klbao_1[data-indeterminate] ._checkboxInner_klbao_1{border-color:selecteditem}._checkbox_klbao_1[data-selected] ._checkboxInner_klbao_1,._checkbox_klbao_1[data-indeterminate] ._checkboxInner_klbao_1{background:selecteditem}._checkbox_klbao_1[data-disabled]{color:graytext}._checkbox_klbao_1[data-disabled] ._checkboxInner_klbao_1{border-color:graytext}._checkbox_klbao_1[data-disabled][data-selected] ._checkboxInner_klbao_1,._checkbox_klbao_1[data-disabled][data-indeterminate] ._checkboxInner_klbao_1{background:graytext}}@media (prefers-reduced-motion){._checkboxInner_klbao_1 svg path{transition:none}}
1
+ ._indicator_3jfn4_1{--border-color:var(--midas-border-color-primary);width:var(--midas-size-icon-sm);height:var(--midas-size-icon-sm);box-sizing:border-box;border:1px solid var(--border-color);transition:background-color 50ms,border-color 50ms;display:flex}._indicator_3jfn4_1[data-readonly]{--border-color:var(--midas-border-color-subtle)}._indicator_3jfn4_1 svg path{stroke-dasharray:24;stroke-dashoffset:24px;transition:stroke-dashoffset var(--midas-transition-duration-quick) var(--midas-transition-timing-ease-in-out)}._checkboxButton_3jfn4_27[data-selected] svg path,._checkboxButton_3jfn4_27[data-indeterminate] svg path{stroke-dashoffset:0}._checkboxButton_3jfn4_27{--checkbox-base-color:var(--midas-button-background-primary-base);--checkbox-hover-color:var(--midas-button-background-primary-hover);--checkbox-active-color:var(--midas-button-background-primary-active);--checkbox-disabled-border:var(--midas-border-color-disabled);--checkbox-disabled-background:var(--midas-field-disabled,var(--midas-field-01-disabled));--checkbox-readonly-border:var(--midas-border-color-subtle);--checkbox-warning-border:var(--midas-support-border-warning);font-family:var(--midas-typography-font-family);font-weight:var(--midas-typography-weight-regular);gap:var(--midas-space-small);cursor:pointer;width:max-content;color:var(--midas-text-primary);line-height:var(--midas-typography-line-height-30);align-items:center;display:flex}._checkboxButton_3jfn4_27[data-focus-visible],._checkboxButton_3jfn4_27:focus-visible{box-shadow:var(--midas-state-focus);outline:none}@media (forced-colors:active){._checkboxButton_3jfn4_27[data-focus-visible],._checkboxButton_3jfn4_27:focus-visible{outline:var(--midas-state-focus-contrast-mode-outline) solid;outline-offset:var(--midas-state-focus-contrast-mode-offset)}}._checkboxButton_3jfn4_27[data-hovered] ._indicator_3jfn4_1{border-color:var(--checkbox-hover-color)}._checkboxButton_3jfn4_27[data-pressed] ._indicator_3jfn4_1{border-color:var(--checkbox-active-color)}._checkboxButton_3jfn4_27[data-selected] ._indicator_3jfn4_1,._checkboxButton_3jfn4_27[data-indeterminate] ._indicator_3jfn4_1{background:var(--checkbox-base-color);border-color:var(--checkbox-base-color)}._checkboxButton_3jfn4_27[data-selected][data-hovered] ._indicator_3jfn4_1,._checkboxButton_3jfn4_27[data-indeterminate][data-hovered] ._indicator_3jfn4_1{background:var(--checkbox-hover-color);border-color:var(--checkbox-hover-color)}._checkboxButton_3jfn4_27[data-selected][data-pressed] ._indicator_3jfn4_1,._checkboxButton_3jfn4_27[data-indeterminate][data-pressed] ._indicator_3jfn4_1{background:var(--checkbox-active-color);border-color:var(--checkbox-active-color)}._checkboxButton_3jfn4_27[data-invalid] ._indicator_3jfn4_1{outline:2px solid var(--checkbox-warning-border);outline-offset:-2px}._checkboxButton_3jfn4_27[data-invalid][data-hovered] ._indicator_3jfn4_1{opacity:.5;transition:opacity 50ms}._checkboxButton_3jfn4_27[data-disabled]{color:var(--midas-text-disabled);cursor:not-allowed}._checkboxButton_3jfn4_27[data-disabled] ._indicator_3jfn4_1{pointer-events:none;border:1px solid var(--checkbox-disabled-border)}._checkboxButton_3jfn4_27[data-disabled][data-selected] ._indicator_3jfn4_1,._checkboxButton_3jfn4_27[data-disabled][data-indeterminate] ._indicator_3jfn4_1{background:var(--checkbox-disabled-background)}._checkboxButton_3jfn4_27[data-readonly],._checkboxButton_3jfn4_27[data-readonly][data-indeterminate],._checkboxButton_3jfn4_27[data-readonly][data-selected]{pointer-events:none;border-color:var(--checkbox-readonly-border);background-color:#0000}:is(._checkboxButton_3jfn4_27[data-readonly],._checkboxButton_3jfn4_27[data-readonly][data-indeterminate],._checkboxButton_3jfn4_27[data-readonly][data-selected]) ._indicator_3jfn4_1{border-color:var(--checkbox-readonly-border);background:0 0}:is(._checkboxButton_3jfn4_27[data-readonly],._checkboxButton_3jfn4_27[data-readonly][data-indeterminate],._checkboxButton_3jfn4_27[data-readonly][data-selected]) svg{stroke:currentColor}._checkboxField_3jfn4_144{align-items:flex-start;gap:var(--midas-space-05);flex-direction:column;width:100%;display:flex}._checkboxGroup_3jfn4_155{font-family:var(--midas-typography-font-family);font-size:var(--midas-typography-font-size-30);flex-direction:column;min-width:150px;display:flex}._checkboxGroup_3jfn4_155[data-disabled]{color:var(--midas-text-disabled)}._checkboxGroup_3jfn4_155 ._checkboxList_3jfn4_166{gap:var(--midas-space-small);flex-direction:column;display:flex}@media (width<=479px){._checkboxGroup_3jfn4_155 ._checkboxButton_3jfn4_27{padding:var(--midas-space-70) var(--midas-space-medium);border:1px solid var(--midas-border-color-primary);width:auto}._checkboxGroup_3jfn4_155 ._checkboxButton_3jfn4_27[data-hovered]{background-color:var(--midas-layer-01-hover)}._checkboxGroup_3jfn4_155 ._checkboxButton_3jfn4_27[data-invalid]{border:2px solid var(--checkbox-warning-border)}._checkboxGroup_3jfn4_155 ._checkboxButton_3jfn4_27[data-disabled]{border-color:var(--checkbox-disabled-border);pointer-events:none}._checkboxGroup_3jfn4_155 ._checkboxButton_3jfn4_27[data-readonly]{border-color:var(--checkbox-readonly-border)}}@media (forced-colors:active){._checkboxButton_3jfn4_27[data-hovered] ._indicator_3jfn4_1,._checkboxButton_3jfn4_27[data-selected] ._indicator_3jfn4_1,._checkboxButton_3jfn4_27[data-indeterminate] ._indicator_3jfn4_1{border-color:selecteditem}._checkboxButton_3jfn4_27[data-selected] ._indicator_3jfn4_1,._checkboxButton_3jfn4_27[data-indeterminate] ._indicator_3jfn4_1{background:selecteditem}._checkboxButton_3jfn4_27[data-disabled]{color:graytext}._checkboxButton_3jfn4_27[data-disabled] ._indicator_3jfn4_1{border-color:graytext}._checkboxButton_3jfn4_27[data-disabled][data-selected] ._indicator_3jfn4_1,._checkboxButton_3jfn4_27[data-disabled][data-indeterminate] ._indicator_3jfn4_1{background:graytext}}@media (prefers-reduced-motion){._indicator_3jfn4_1 svg path{transition:none}}
package/assets/radio.css CHANGED
@@ -1 +1 @@
1
- ._radioGroup_1oic0_1{font-family:var(--midas-typography-font-family);flex-direction:column;display:flex}._radioGroup_1oic0_1[data-disabled]{cursor:not-allowed;opacity:1;color:var(--midas-text-disabled)}._radioGroup_1oic0_1 ._wrap_1oic0_12{gap:var(--midas-space-small);flex-direction:column;align-items:start;display:flex}._radioGroup_1oic0_1[aria-orientation=horizontal] ._wrap_1oic0_12{gap:var(--midas-space-medium);flex-direction:row}._radio_1oic0_1{font-size:var(--midas-typography-font-size-30);align-items:center;gap:var(--midas-space-small);color:var(--midas-text-primary);cursor:pointer;display:flex}._radio_1oic0_1:before{content:"";box-sizing:border-box;border:.0625rem solid var(--midas-border-color-primary);width:1rem;height:1rem;transition:border-color var(--midas-transition-duration-instant) var(--midas-transition-timing-ease-out), border-width var(--midas-transition-duration-instant) var(--midas-transition-timing-ease-out), background var(--midas-transition-duration-instant) var(--midas-transition-timing-ease-out), padding var(--midas-transition-duration-instant) var(--midas-transition-timing-ease-out);border-radius:1.286rem;display:block}@media (forced-colors:active){._radio_1oic0_1:before{transition:none}}._radio_1oic0_1[data-readonly]{cursor:default;border-color:var(--midas-border-color-subtle)}._radio_1oic0_1[data-readonly]:before{border-color:var(--midas-border-color-subtle)}._radio_1oic0_1[data-focus-visible],._radio_1oic0_1:focus-visible{box-shadow:var(--midas-state-focus);outline:none}@media (forced-colors:active){._radio_1oic0_1[data-focus-visible],._radio_1oic0_1:focus-visible{outline-offset:2px;outline:3px solid highlight}}._radio_1oic0_1[data-hovered]:before{border-color:var(--midas-border-color-secondary)}._radio_1oic0_1[data-disabled]{color:var(--midas-text-disabled);cursor:not-allowed}@media (forced-colors:active){._radio_1oic0_1[data-disabled]{color:graytext}}._radio_1oic0_1[data-disabled]:before{border-color:var(--midas-border-color-disabled)}@media (forced-colors:active){._radio_1oic0_1[data-disabled]:before{border-color:graytext}}._radio_1oic0_1[data-pressed]:before{border-color:var(--midas-border-color-subtle)}._radio_1oic0_1[data-selected]:before{background:var(--midas-icon-secondary) 50% 50% no-repeat content-box;border-width:.1rem;padding:.188rem}@media (forced-colors:active){._radio_1oic0_1[data-selected]:before{background:highlight 50% no-repeat content-box content-box}}._radio_1oic0_1[data-selected][data-pressed]:before{border-color:var(--midas-border-color-subtle);background:var(--midas-icon-secondary) 50% 50% no-repeat content-box}._radio_1oic0_1[data-invalid]:before{border:.125rem solid var(--midas-support-border-warning)}@media (width<=479px){._radio_1oic0_1{padding:var(--midas-space-70) var(--midas-space-medium);border:1px solid var(--midas-border-color-primary);width:auto}._radio_1oic0_1._radio_1oic0_1{box-sizing:border-box;width:100%}._radio_1oic0_1[data-hovered]{background-color:var(--midas-field-02-hover)}._radio_1oic0_1[data-invalid]{border:2px solid var(--midas-support-border-warning)}._radio_1oic0_1[data-disabled]{pointer-events:none;border-color:var(--midas-border-color-disabled)}}@media (prefers-reduced-motion){._radio_1oic0_1:before{transition:none}}
1
+ ._radioGroup_1l7aa_1{font-family:var(--midas-typography-font-family);flex-direction:column;display:flex}._radioGroup_1l7aa_1[data-disabled]{cursor:not-allowed;opacity:1;color:var(--midas-text-disabled)}._radioGroup_1l7aa_1 ._wrap_1l7aa_12{gap:var(--midas-space-small);flex-direction:column;align-items:start;display:flex}._radioGroup_1l7aa_1[aria-orientation=horizontal] ._wrap_1l7aa_12{gap:var(--midas-space-medium);flex-direction:row}._radioButton_1l7aa_25{font-size:var(--midas-typography-font-size-30);align-items:center;gap:var(--midas-space-small);color:var(--midas-text-primary);cursor:pointer;display:flex}._radioButton_1l7aa_25:before{content:"";box-sizing:border-box;border:.0625rem solid var(--midas-border-color-primary);width:1rem;height:1rem;transition:border-color var(--midas-transition-duration-instant) var(--midas-transition-timing-ease-out), border-width var(--midas-transition-duration-instant) var(--midas-transition-timing-ease-out), background var(--midas-transition-duration-instant) var(--midas-transition-timing-ease-out), padding var(--midas-transition-duration-instant) var(--midas-transition-timing-ease-out);border-radius:1.286rem;display:block}@media (forced-colors:active){._radioButton_1l7aa_25:before{transition:none}}._radioButton_1l7aa_25[data-readonly]{cursor:default;border-color:var(--midas-border-color-subtle)}._radioButton_1l7aa_25[data-readonly]:before{border-color:var(--midas-border-color-subtle)}._radioButton_1l7aa_25[data-focus-visible],._radioButton_1l7aa_25:focus-visible{box-shadow:var(--midas-state-focus);outline:none}@media (forced-colors:active){._radioButton_1l7aa_25[data-focus-visible],._radioButton_1l7aa_25:focus-visible{outline-offset:2px;outline:3px solid highlight}}._radioButton_1l7aa_25[data-hovered]:before{border-color:var(--midas-border-color-secondary)}._radioButton_1l7aa_25[data-disabled]{color:var(--midas-text-disabled);cursor:not-allowed}@media (forced-colors:active){._radioButton_1l7aa_25[data-disabled]{color:graytext}}._radioButton_1l7aa_25[data-disabled]:before{border-color:var(--midas-border-color-disabled)}@media (forced-colors:active){._radioButton_1l7aa_25[data-disabled]:before{border-color:graytext}}._radioButton_1l7aa_25[data-pressed]:before{border-color:var(--midas-border-color-subtle)}._radioButton_1l7aa_25[data-selected]:before{background:var(--midas-icon-secondary) 50% 50% no-repeat content-box;border-width:.1rem;padding:.188rem}@media (forced-colors:active){._radioButton_1l7aa_25[data-selected]:before{background:highlight 50% no-repeat content-box content-box}}._radioButton_1l7aa_25[data-selected][data-pressed]:before{border-color:var(--midas-border-color-subtle);background:var(--midas-icon-secondary) 50% 50% no-repeat content-box}._radioButton_1l7aa_25[data-invalid]:before{border:.125rem solid var(--midas-support-border-warning)}@media (width<=479px){._radioButton_1l7aa_25{padding:var(--midas-space-70) var(--midas-space-medium);border:1px solid var(--midas-border-color-primary);width:auto}._radioButton_1l7aa_25._radioButton_1l7aa_25{box-sizing:border-box;width:100%}._radioButton_1l7aa_25[data-hovered]{background-color:var(--midas-field-02-hover)}._radioButton_1l7aa_25[data-invalid]{border:2px solid var(--midas-support-border-warning)}._radioButton_1l7aa_25[data-disabled]{pointer-events:none;border-color:var(--midas-border-color-disabled)}}@media (prefers-reduced-motion){._radioButton_1l7aa_25:before{transition:none}}
@@ -1,6 +1,7 @@
1
- export declare const Checkbox: import('react').ForwardRefExoticComponent<import('react-aria').AriaCheckboxProps & import('react-aria-components').SlotProps & {
2
- className?: string;
1
+ import { CheckboxFieldProps as AriaCheckboxFieldProps, ValidationResult } from 'react-aria-components';
2
+ export interface CheckboxProps extends AriaCheckboxFieldProps {
3
3
  description?: string;
4
- errorMessage?: string | ((validation: import('react-aria-components').ValidationResult) => string);
5
- errorPosition?: "top" | "bottom";
6
- } & import('react').RefAttributes<HTMLLabelElement>>;
4
+ errorMessage?: string | ((validation: ValidationResult) => string);
5
+ errorPosition?: 'top' | 'bottom';
6
+ }
7
+ export declare const Checkbox: import('react').ForwardRefExoticComponent<CheckboxProps & import('react').RefAttributes<HTMLLabelElement>>;
@@ -2,12 +2,7 @@ import { StoryObj } from '@storybook/react-vite';
2
2
  import { Checkbox } from './Checkbox';
3
3
  type Story = StoryObj<typeof Checkbox>;
4
4
  declare const _default: {
5
- component: import('react').ForwardRefExoticComponent<import('react-aria').AriaCheckboxProps & import('react-aria-components').SlotProps & {
6
- className?: string;
7
- description?: string;
8
- errorMessage?: string | ((validation: import('react-aria-components').ValidationResult) => string);
9
- errorPosition?: "top" | "bottom";
10
- } & import('react').RefAttributes<HTMLLabelElement>>;
5
+ component: import('react').ForwardRefExoticComponent<import('./Checkbox').CheckboxProps & import('react').RefAttributes<HTMLLabelElement>>;
11
6
  title: string;
12
7
  tags: string[];
13
8
  parameters: {
@@ -0,0 +1,3 @@
1
+ import { CheckboxButtonProps as AriaCheckboxButtonProps } from 'react-aria-components';
2
+ export type CheckboxButtonProps = AriaCheckboxButtonProps;
3
+ export declare const CheckboxButton: import('react').ForwardRefExoticComponent<AriaCheckboxButtonProps & import('react').RefAttributes<HTMLLabelElement>>;
@@ -0,0 +1,3 @@
1
+ import { CheckboxFieldProps as AriaCheckboxFieldProps } from 'react-aria-components';
2
+ export type CheckboxFieldProps = AriaCheckboxFieldProps;
3
+ export declare const CheckboxField: ({ className, ...rest }: CheckboxFieldProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,12 @@
1
- import { AriaCheckboxGroupProps } from 'react-aria';
1
+ import { CheckboxGroupProps as AriaCheckboxGroupProps, ValidationResult } from 'react-aria-components';
2
2
  import { InfoPopoverProps } from '../label';
3
- import * as React from 'react';
4
3
  export interface CheckboxGroupProps extends AriaCheckboxGroupProps {
5
- children: React.ReactNode;
4
+ label?: string;
5
+ description?: string;
6
+ errorMessage?: string | ((validation: ValidationResult) => string);
6
7
  showSelectAll?: boolean;
7
8
  selectAllLabel?: string;
8
9
  errorPosition?: 'top' | 'bottom';
9
10
  popover?: InfoPopoverProps;
10
11
  }
11
- export declare function CheckboxGroup(props: CheckboxGroupProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare const CheckboxGroup: ({ label, description, errorMessage, errorPosition, popover, showSelectAll, selectAllLabel, className, children, ...props }: CheckboxGroupProps) => import("react/jsx-runtime").JSX.Element;
@@ -3,7 +3,7 @@ import { CheckboxGroup } from './CheckboxGroup';
3
3
  type Story = StoryObj<typeof CheckboxGroup>;
4
4
  declare const _default: {
5
5
  title: string;
6
- component: typeof CheckboxGroup;
6
+ component: ({ label, description, errorMessage, errorPosition, popover, showSelectAll, selectAllLabel, className, children, ...props }: import('./CheckboxGroup').CheckboxGroupProps) => import("react/jsx-runtime").JSX.Element;
7
7
  parameters: {
8
8
  layout: string;
9
9
  };
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ export interface SelectAllCheckboxProps {
3
+ checkboxes: ReactNode;
4
+ label?: string;
5
+ }
6
+ export declare const SelectAllCheckbox: ({ checkboxes, label, }: SelectAllCheckboxProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,4 @@
1
- export { Checkbox } from './Checkbox';
1
+ export { type CheckboxProps, Checkbox } from './Checkbox';
2
+ export { type CheckboxButtonProps, CheckboxButton } from './CheckboxButton';
3
+ export { type CheckboxFieldProps, CheckboxField } from './CheckboxField';
2
4
  export { type CheckboxGroupProps, CheckboxGroup } from './CheckboxGroup';
3
- export type { CheckboxProps } from './types';
package/checkbox/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/checkbox-BjPgN3h_.js";
2
- export { e as Checkbox, t as CheckboxGroup };
1
+ import { i as e, n as t, r as n, t as r } from "../chunks/checkbox-ivInWvEp.js";
2
+ export { t as Checkbox, n as CheckboxButton, e as CheckboxField, r as CheckboxGroup };
@@ -1,6 +1,6 @@
1
1
  import { CheckboxGroupState } from 'react-stately';
2
2
  import * as React from 'react';
3
- export declare const useSelectAll: (children: React.ReactNode, { value: selectedItems }: CheckboxGroupState) => {
3
+ export declare const useSelectAll: (children: React.ReactNode, state: CheckboxGroupState | null) => {
4
4
  allSelected: boolean;
5
5
  someSelected: boolean;
6
6
  checkboxValues: string[];
@@ -0,0 +1,105 @@
1
+ 'use client';
2
+ import { t as e } from "./clsx-B1NYyfch.js";
3
+ import { t } from "./createLucideIcon-BgluSHFG.js";
4
+ import { t as n } from "./check-DV00NPU0.js";
5
+ import { t as r } from "./useLocalizedStringFormatter-CeyBc0x0.js";
6
+ import { t as i } from "./text-EUdAWwZz.js";
7
+ import { t as a } from "./field-error-pJiSw4PN.js";
8
+ import { n as o, t as s } from "./label-CEYHiWSa.js";
9
+ import * as c from "react";
10
+ import { forwardRef as l, useContext as u } from "react";
11
+ import { CheckboxButton as d, CheckboxField as f, CheckboxGroup as p, CheckboxGroupStateContext as m, composeRenderProps as h } from "react-aria-components";
12
+ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
13
+ import { variables as y } from "@midas-ds/theme";
14
+ import '../assets/checkbox.css';var b = t("minus", [["path", {
15
+ d: "M5 12h14",
16
+ key: "1ays0h"
17
+ }]]), x = {
18
+ indicator: "_indicator_3jfn4_1",
19
+ checkboxButton: "_checkboxButton_3jfn4_27",
20
+ checkboxField: "_checkboxField_3jfn4_144",
21
+ checkboxGroup: "_checkboxGroup_3jfn4_155",
22
+ checkboxList: "_checkboxList_3jfn4_166"
23
+ }, S = ({ className: t, ...n }) => /* @__PURE__ */ _(f, {
24
+ className: e(x.checkboxField, t),
25
+ ...n
26
+ }), C = l(({ className: t, ...n }, r) => /* @__PURE__ */ _(d, {
27
+ className: e(x.checkboxButton, t),
28
+ ref: r,
29
+ ...n
30
+ })), w = l(({ className: e, description: t, errorMessage: r, errorPosition: o = "top", children: s, ...c }, l) => /* @__PURE__ */ v(S, {
31
+ ...c,
32
+ children: [
33
+ t && /* @__PURE__ */ _(i, {
34
+ slot: "description",
35
+ children: t
36
+ }),
37
+ o === "top" && /* @__PURE__ */ _(a, { children: r }),
38
+ /* @__PURE__ */ _(C, {
39
+ ref: l,
40
+ className: e,
41
+ children: ({ isIndeterminate: e }) => /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("div", {
42
+ className: x.indicator,
43
+ children: _(e ? b : n, {
44
+ size: 14,
45
+ color: y.iconOnColor
46
+ })
47
+ }), s] })
48
+ }),
49
+ o === "bottom" && /* @__PURE__ */ _(a, { children: r })
50
+ ]
51
+ }));
52
+ w.displayName = "Checkbox";
53
+ //#endregion
54
+ //#region src/checkbox/useSelectAll.ts
55
+ var T = (e, t) => {
56
+ let n = t?.value ?? [], r = c.Children.toArray(e).filter((e) => c.isValidElement(e) && e.type === w), i = r.filter((e) => !e.props.isDisabled).map((e) => e.props.value || ""), a = r.filter((e) => e.props.isDisabled).map((e) => e.props.value || "").filter((e) => n.includes(e)), o = n.filter((e) => i.includes(e)).length, s = o === 0, l = o === i.length;
57
+ return {
58
+ allSelected: l,
59
+ someSelected: !s && !l,
60
+ checkboxValues: i,
61
+ disabledSelectedValues: a
62
+ };
63
+ }, E = {
64
+ en: { selectAll: "Select all" },
65
+ sv: { selectAll: "Välj alla" }
66
+ }, D = ({ checkboxes: e, label: t }) => {
67
+ let n = u(m), i = r(E), { allSelected: a, someSelected: o, checkboxValues: s, disabledSelectedValues: c } = T(e, n);
68
+ return /* @__PURE__ */ _(m.Provider, {
69
+ value: null,
70
+ children: /* @__PURE__ */ _(w, {
71
+ isSelected: a,
72
+ isIndeterminate: o,
73
+ isReadOnly: n?.isReadOnly,
74
+ isDisabled: n?.isDisabled,
75
+ onChange: (e) => {
76
+ n?.setValue(e ? [...s, ...c] : c);
77
+ },
78
+ children: t || i.format("selectAll")
79
+ })
80
+ });
81
+ }, O = ({ label: t, description: n, errorMessage: r, errorPosition: c = "top", popover: l, showSelectAll: u, selectAllLabel: d, className: f, children: m, ...y }) => /* @__PURE__ */ _(p, {
82
+ ...y,
83
+ className: e(x.checkboxGroup, f),
84
+ children: h(m, (e) => /* @__PURE__ */ v(g, { children: [
85
+ /* @__PURE__ */ _(o, {
86
+ popover: l,
87
+ children: t && /* @__PURE__ */ _(s, { children: t })
88
+ }),
89
+ n && /* @__PURE__ */ _(i, {
90
+ slot: "description",
91
+ children: n
92
+ }),
93
+ c === "top" && r && /* @__PURE__ */ _(a, { children: r }),
94
+ /* @__PURE__ */ v("div", {
95
+ className: x.checkboxList,
96
+ children: [u && /* @__PURE__ */ _(D, {
97
+ label: d,
98
+ checkboxes: e
99
+ }), e]
100
+ }),
101
+ c === "bottom" && r && /* @__PURE__ */ _(a, { children: r })
102
+ ] }))
103
+ });
104
+ //#endregion
105
+ export { S as i, w as n, C as r, O as t };
@@ -0,0 +1,48 @@
1
+ import { t as e } from "./clsx-B1NYyfch.js";
2
+ import { t } from "./text-EUdAWwZz.js";
3
+ import { t as n } from "./field-error-pJiSw4PN.js";
4
+ import { n as r, t as i } from "./label-CEYHiWSa.js";
5
+ import { Group as a, RadioButton as o, RadioField as s, RadioGroup as c, composeRenderProps as l } from "react-aria-components";
6
+ import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
7
+ import '../assets/radio.css';//#region src/radio/RadioField.tsx
8
+ var p = (e) => /* @__PURE__ */ d(s, { ...e }), m = {
9
+ radioGroup: "_radioGroup_1l7aa_1",
10
+ wrap: "_wrap_1l7aa_12",
11
+ radioButton: "_radioButton_1l7aa_25"
12
+ }, h = ({ className: t, ...n }) => /* @__PURE__ */ d(o, {
13
+ className: e(m.radioButton, t),
14
+ ...n
15
+ }), g = ({ children: e, className: t, ...n }) => /* @__PURE__ */ d(p, {
16
+ ...n,
17
+ children: /* @__PURE__ */ d(h, {
18
+ className: t,
19
+ children: e
20
+ })
21
+ }), _ = ({ label: o, description: s, errorMessage: p, children: h, className: g, errorPosition: _ = "top", popover: v, ...y }) => /* @__PURE__ */ d(c, {
22
+ ...y,
23
+ className: e(m.radioGroup, g),
24
+ children: l(h, (e) => /* @__PURE__ */ f(u, { children: [
25
+ /* @__PURE__ */ d(r, {
26
+ popover: v,
27
+ children: o && /* @__PURE__ */ d(i, { children: o })
28
+ }),
29
+ s && /* @__PURE__ */ d(t, {
30
+ slot: "description",
31
+ children: s
32
+ }),
33
+ _ === "top" && /* @__PURE__ */ d(n, {
34
+ "data-testid": "fieldError",
35
+ children: p
36
+ }),
37
+ /* @__PURE__ */ d(a, {
38
+ className: m.wrap,
39
+ children: e
40
+ }),
41
+ _ === "bottom" && /* @__PURE__ */ d(n, {
42
+ "data-testid": "fieldError",
43
+ children: p
44
+ })
45
+ ] }))
46
+ });
47
+ //#endregion
48
+ export { p as i, g as n, h as r, _ as t };
@@ -1,6 +1,6 @@
1
1
  import { n as e, t } from "./clsx-B1NYyfch.js";
2
2
  import { t as n } from "./chevron-down-CP7nEDei.js";
3
- import { n as r } from "./checkbox-BjPgN3h_.js";
3
+ import { n as r } from "./checkbox-ivInWvEp.js";
4
4
  import { t as i } from "./x-BJAOO5a5.js";
5
5
  import { t as a } from "./useLocalizedStringFormatter-CeyBc0x0.js";
6
6
  import { t as o } from "./text-EUdAWwZz.js";
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { t as e } from "./clsx-B1NYyfch.js";
3
3
  import { t } from "./createLucideIcon-BgluSHFG.js";
4
- import { n } from "./checkbox-BjPgN3h_.js";
4
+ import { n } from "./checkbox-ivInWvEp.js";
5
5
  import { Button as r, Cell as i, Collection as a, Column as o, Row as s, Table as c, TableBody as l, TableHeader as u, useTableOptions as d } from "react-aria-components";
6
6
  import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
7
7
  import '../assets/table.css';var h = t("arrow-down", [["path", {
package/index.js CHANGED
@@ -5,49 +5,49 @@ import { t as n } from "./chunks/clsx-B1NYyfch.js";
5
5
  import { t as r } from "./chunks/spinner-DMR5G-6u.js";
6
6
  import { a as i, i as a, n as o, r as s, t as c } from "./chunks/layout-DVj8wSj3.js";
7
7
  import { n as l, t as u } from "./chunks/link-CQoSw1Pv.js";
8
- import { a as d, i as f, n as p, o as m, r as h, t as g } from "./chunks/table-BrA5r_BP.js";
8
+ import { a as d, i as f, n as p, o as m, r as h, t as g } from "./chunks/table-O7Ht2ilY.js";
9
9
  import { t as _ } from "./chunks/link-button-BMFzCHH8.js";
10
10
  import { n as v, t as y } from "./chunks/date-picker-1W7OmCT0.js";
11
11
  import { n as b, t as x } from "./chunks/calendar-R7x0m8ch.js";
12
- import { n as S, t as C } from "./chunks/checkbox-BjPgN3h_.js";
13
- import { n as w, t as T } from "./chunks/color-scheme-switch-jgoxUu3x.js";
14
- import { t as E } from "./chunks/search-field-d7FV4Kuv.js";
15
- import { n as D, t as O } from "./chunks/file-list-DM1Vtkun.js";
16
- import { t as k } from "./chunks/useLocalizedStringFormatter-CeyBc0x0.js";
17
- import { n as A, t as j } from "./chunks/button-Ch860h28.js";
18
- import { t as M } from "./chunks/heading-bnDePIbv.js";
19
- import { n as N, t as P } from "./chunks/badge-BplGU5BS.js";
20
- import { n as F, t as I } from "./chunks/breadcrumbs-C-Z6UlQn.js";
21
- import { t as L } from "./chunks/text-EUdAWwZz.js";
22
- import { t as R } from "./chunks/field-error-pJiSw4PN.js";
23
- import { a as z, c as B, i as V, l as H, n as U, o as W, r as G, s as K, t as q } from "./chunks/card-Bzc8kToe.js";
24
- import { t as J } from "./chunks/character-counter-CSoVSrxZ.js";
25
- import { t as Y } from "./chunks/label-CEYHiWSa.js";
26
- import { t as X } from "./chunks/popover-wAwxm_cM.js";
27
- import { n as Z, r as Q, t as $ } from "./chunks/modal-C-xHt7Ds.js";
28
- import { t as ee } from "./chunks/icons-UBHIX2oV.js";
29
- import { n as te, t as ne } from "./chunks/toggle-button-BgUQKcK-.js";
30
- import { a as re, i as ie, n as ae, o as oe, r as se, t as ce } from "./chunks/menu-CPCGm0MC.js";
31
- import { t as le } from "./chunks/combobox-DDO4fEtI.js";
32
- import { a as ue, c as de, i as fe, n as pe, o as me, r as he, s as ge, t as _e } from "./chunks/list-box-VdBVTwZK.js";
33
- import { i as ve, n as ye, r as be, t as xe } from "./chunks/date-field-DG5TYsTF.js";
34
- import { n as Se, t as Ce } from "./chunks/file-upload-DInuSFCB.js";
35
- import { n as we, t as Te } from "./chunks/grid-DZB3GGDg.js";
36
- import { t as Ee } from "./chunks/info-banner-DnFNZ1_o.js";
37
- import { n as De, t as Oe } from "./chunks/tooltip-D7LYQwj0.js";
38
- import { n as ke, t as Ae } from "./chunks/logo-CDxNjDeI.js";
39
- import { t as je } from "./chunks/progress-bar-Cft_RPHz.js";
40
- import { n as Me, t as Ne } from "./chunks/radio-DmCYqo3Z.js";
41
- import { t as Pe } from "./chunks/select-CZklrPAQ.js";
42
- import { n as Fe, r as Ie, t as Le } from "./chunks/tag-mzNjP8EX.js";
43
- import { t as Re } from "./chunks/skeleton-DWmvym7R.js";
44
- import { i as ze, n as Be, r as Ve, t as He } from "./chunks/tabs-BFFTnO4i.js";
45
- import { i as Ue, n as We, r as Ge, t as Ke } from "./chunks/textfield-BsijPPRD.js";
46
- import { t as qe } from "./chunks/time-field-BlNUOjUJ.js";
47
- import { a as Je, i as Ye, n as Xe, o as Ze, r as Qe, t as $e } from "./chunks/toast-Cz0JDIr1.js";
12
+ import { i as S, n as C, r as w, t as T } from "./chunks/checkbox-ivInWvEp.js";
13
+ import { n as E, t as D } from "./chunks/color-scheme-switch-jgoxUu3x.js";
14
+ import { t as O } from "./chunks/search-field-d7FV4Kuv.js";
15
+ import { n as k, t as A } from "./chunks/file-list-DM1Vtkun.js";
16
+ import { t as j } from "./chunks/useLocalizedStringFormatter-CeyBc0x0.js";
17
+ import { n as M, t as N } from "./chunks/button-Ch860h28.js";
18
+ import { t as P } from "./chunks/heading-bnDePIbv.js";
19
+ import { n as F, t as I } from "./chunks/badge-BplGU5BS.js";
20
+ import { n as L, t as R } from "./chunks/breadcrumbs-C-Z6UlQn.js";
21
+ import { t as z } from "./chunks/text-EUdAWwZz.js";
22
+ import { t as B } from "./chunks/field-error-pJiSw4PN.js";
23
+ import { a as V, c as H, i as U, l as W, n as G, o as K, r as q, s as J, t as Y } from "./chunks/card-Bzc8kToe.js";
24
+ import { t as X } from "./chunks/character-counter-CSoVSrxZ.js";
25
+ import { t as Z } from "./chunks/label-CEYHiWSa.js";
26
+ import { t as Q } from "./chunks/popover-wAwxm_cM.js";
27
+ import { n as $, r as ee, t as te } from "./chunks/modal-C-xHt7Ds.js";
28
+ import { t as ne } from "./chunks/icons-UBHIX2oV.js";
29
+ import { n as re, t as ie } from "./chunks/toggle-button-BgUQKcK-.js";
30
+ import { a as ae, i as oe, n as se, o as ce, r as le, t as ue } from "./chunks/menu-CPCGm0MC.js";
31
+ import { t as de } from "./chunks/combobox-DDO4fEtI.js";
32
+ import { a as fe, c as pe, i as me, n as he, o as ge, r as _e, s as ve, t as ye } from "./chunks/list-box-VdBVTwZK.js";
33
+ import { i as be, n as xe, r as Se, t as Ce } from "./chunks/date-field-DG5TYsTF.js";
34
+ import { n as we, t as Te } from "./chunks/file-upload-DInuSFCB.js";
35
+ import { n as Ee, t as De } from "./chunks/grid-DZB3GGDg.js";
36
+ import { t as Oe } from "./chunks/info-banner-DnFNZ1_o.js";
37
+ import { n as ke, t as Ae } from "./chunks/tooltip-D7LYQwj0.js";
38
+ import { n as je, t as Me } from "./chunks/logo-CDxNjDeI.js";
39
+ import { t as Ne } from "./chunks/progress-bar-Cft_RPHz.js";
40
+ import { i as Pe, n as Fe, r as Ie, t as Le } from "./chunks/radio-W0YqY7lo.js";
41
+ import { t as Re } from "./chunks/select-LjjT_7hr.js";
42
+ import { n as ze, r as Be, t as Ve } from "./chunks/tag-mzNjP8EX.js";
43
+ import { t as He } from "./chunks/skeleton-DWmvym7R.js";
44
+ import { i as Ue, n as We, r as Ge, t as Ke } from "./chunks/tabs-BFFTnO4i.js";
45
+ import { i as qe, n as Je, r as Ye, t as Xe } from "./chunks/textfield-BsijPPRD.js";
46
+ import { t as Ze } from "./chunks/time-field-BlNUOjUJ.js";
47
+ import { a as Qe, i as $e, n as et, o as tt, r as nt, t as rt } from "./chunks/toast-Cz0JDIr1.js";
48
48
  //#endregion
49
49
  //#region src/version.ts
50
- var et = {
50
+ var it = {
51
51
  name: "@midas-ds/components",
52
52
  author: { name: "Migrationsverket" },
53
53
  keywords: [
@@ -59,7 +59,7 @@ var et = {
59
59
  description: "Midas Components",
60
60
  homepage: "https://designsystem.migrationsverket.se/",
61
61
  license: "CC0-1.0",
62
- version: "17.23.9",
62
+ version: "17.25.0",
63
63
  module: "./index.js",
64
64
  type: "module",
65
65
  main: "./index.js",
@@ -91,4 +91,4 @@ var et = {
91
91
  }
92
92
  }.version;
93
93
  //#endregion
94
- export { e as Accordion, t as AccordionItem, N as Badge, P as BadgeContainer, I as Breadcrumb, F as Breadcrumbs, A as Button, j as ButtonGroup, b as Calendar, G as Card, V as CardActionArea, z as CardActions, U as CardBody, W as CardContent, q as CardHeader, K as CardImage, B as CardLink, H as CardTitle, g as Cell, J as CharacterCounter, S as Checkbox, C as CheckboxGroup, w as ColorSchemeSwitch, T as ColorSchemeSwitchMenu, p as Column, le as ComboBox, ee as ContrastFilled, ve as DateField, ye as DateInput, xe as DateInputDivider, v as DatePicker, y as DateRangePicker, be as DateSegment, $ as DialogTrigger, Ce as DropZone, R as FieldError, D as FileList, O as FileListItem, Se as FileTrigger, $e as GlobalToastRegion, we as Grid, Te as GridItem, s as Header, M as Heading, Ee as InfoBanner, Ge as Input, Y as Label, c as Layout, u as Link, _ as LinkButton, de as ListBox, ge as ListBoxButton, _e as ListBoxEmptyState, pe as ListBoxHeader, me as ListBoxItem, he as ListBoxLoadMoreItem, ue as ListBoxPopover, fe as ListBoxSection, Ae as Logo, ke as LogoContext, re as Menu, ie as MenuItem, se as MenuPopover, ae as MenuSection, oe as MenuTrigger, Z as Modal, Q as ModalOverlay, o as Navbar, X as Popover, je as ProgressBar, Ne as Radio, Me as RadioGroup, x as RangeCalendar, l as RouterProvider, h as Row, E as SearchField, Pe as Select, ce as Separator, a as Sidebar, i as SidebarLink, Re as Skeleton, r as Spinner, Ve as Tab, He as TabList, Be as TabPanel, f as Table, d as TableBody, m as TableHeader, ze as Tabs, Ie as Tag, Le as TagGroup, Fe as TagList, L as Text, Ke as TextArea, We as TextField, Ue as TextFieldBase, qe as TimeField, Xe as Toast, Qe as ToastProvider, Ye as ToastRegion, te as ToggleButton, ne as ToggleButtonGroup, Oe as Tooltip, De as TooltipTrigger, et as VERSION, n as clsx, Je as toastQueue, k as useLocalizedStringFormatter, Ze as useToastState };
94
+ export { e as Accordion, t as AccordionItem, F as Badge, I as BadgeContainer, R as Breadcrumb, L as Breadcrumbs, M as Button, N as ButtonGroup, b as Calendar, q as Card, U as CardActionArea, V as CardActions, G as CardBody, K as CardContent, Y as CardHeader, J as CardImage, H as CardLink, W as CardTitle, g as Cell, X as CharacterCounter, C as Checkbox, w as CheckboxButton, S as CheckboxField, T as CheckboxGroup, E as ColorSchemeSwitch, D as ColorSchemeSwitchMenu, p as Column, de as ComboBox, ne as ContrastFilled, be as DateField, xe as DateInput, Ce as DateInputDivider, v as DatePicker, y as DateRangePicker, Se as DateSegment, te as DialogTrigger, Te as DropZone, B as FieldError, k as FileList, A as FileListItem, we as FileTrigger, rt as GlobalToastRegion, Ee as Grid, De as GridItem, s as Header, P as Heading, Oe as InfoBanner, Ye as Input, Z as Label, c as Layout, u as Link, _ as LinkButton, pe as ListBox, ve as ListBoxButton, ye as ListBoxEmptyState, he as ListBoxHeader, ge as ListBoxItem, _e as ListBoxLoadMoreItem, fe as ListBoxPopover, me as ListBoxSection, Me as Logo, je as LogoContext, ae as Menu, oe as MenuItem, le as MenuPopover, se as MenuSection, ce as MenuTrigger, $ as Modal, ee as ModalOverlay, o as Navbar, Q as Popover, Ne as ProgressBar, Fe as Radio, Ie as RadioButton, Pe as RadioField, Le as RadioGroup, x as RangeCalendar, l as RouterProvider, h as Row, O as SearchField, Re as Select, ue as Separator, a as Sidebar, i as SidebarLink, He as Skeleton, r as Spinner, Ge as Tab, Ke as TabList, We as TabPanel, f as Table, d as TableBody, m as TableHeader, Ue as Tabs, Be as Tag, Ve as TagGroup, ze as TagList, z as Text, Xe as TextArea, Je as TextField, qe as TextFieldBase, Ze as TimeField, et as Toast, nt as ToastProvider, $e as ToastRegion, re as ToggleButton, ie as ToggleButtonGroup, Ae as Tooltip, ke as TooltipTrigger, it as VERSION, n as clsx, Qe as toastQueue, j as useLocalizedStringFormatter, tt as useToastState };
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "description": "Midas Components",
15
15
  "homepage": "https://designsystem.migrationsverket.se/",
16
16
  "license": "CC0-1.0",
17
- "version": "17.23.9",
17
+ "version": "17.25.0",
18
18
  "module": "./index.js",
19
19
  "type": "module",
20
20
  "main": "./index.js",
package/radio/Radio.d.ts CHANGED
@@ -1,23 +1,3 @@
1
- import { RadioGroupProps as AriaRadioGroupProps, RadioProps, ValidationResult } from 'react-aria-components';
2
- import { InfoPopoverProps } from '../label';
3
- import * as React from 'react';
4
- export interface RadioGroupProps extends AriaRadioGroupProps {
5
- /** Label for the RadioGroup */
6
- label?: string;
7
- /** Additional description rendered below the label */
8
- description?: string;
9
- /** String to display as error message or function to handle the result and produce the error message */
10
- errorMessage?: string | ((validation: ValidationResult) => string);
11
- errorPosition?: 'top' | 'bottom';
12
- /** An assistive text that helps the user understand the field better. Will be hidden in a popover with an info icon button. */
13
- popover?: InfoPopoverProps;
14
- }
15
- /**
16
- * @deprecated since v17.0.0 please use `RadioGroupProps` instead
17
- */
18
- export type MVDSRadioGroupProps = RadioGroupProps;
19
- /**
20
- * RadioGroup is used to group several radio items together
21
- */
22
- export declare const RadioGroup: React.FC<RadioGroupProps>;
23
- export declare const Radio: ({ className, ...rest }: RadioProps) => import("react/jsx-runtime").JSX.Element;
1
+ import { RadioFieldProps } from 'react-aria-components';
2
+ export type RadioProps = RadioFieldProps;
3
+ export declare const Radio: ({ children, className, ...rest }: RadioProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,54 +1,110 @@
1
1
  import { StoryObj } from '@storybook/react-vite';
2
- import { RadioGroup } from './Radio';
2
+ import { Radio } from '.';
3
+ type Story = StoryObj<typeof Radio>;
3
4
  declare const _default: {
4
5
  title: string;
5
- component: import('react').FC<import('./Radio').RadioGroupProps>;
6
- subcomponents: {
7
- Radio: ({ className, ...rest }: import('react-aria-components').RadioProps) => import("react/jsx-runtime").JSX.Element;
8
- };
9
- tags: string[];
10
6
  args: {
11
- label: string;
12
- description: string;
13
- errorMessage: string;
14
- errorPosition: "top";
15
- };
16
- argTypes: {
17
- children: {
18
- table: {
19
- disable: true;
20
- };
21
- };
22
- label: {
23
- type: "string";
24
- control: {
25
- type: "text";
26
- };
27
- };
28
- isDisabled: {
29
- type: "boolean";
30
- options: boolean[];
31
- control: {
32
- type: "radio";
33
- };
34
- };
35
- isInvalid: {
36
- type: "boolean";
37
- options: boolean[];
38
- control: {
39
- type: "radio";
40
- };
41
- };
7
+ children: string;
8
+ isDisabled: false;
42
9
  };
10
+ component: ({ children, className, ...rest }: import('./Radio').RadioProps) => import("react/jsx-runtime").JSX.Element;
11
+ decorators: (Story: import('storybook/internal/csf').PartialStoryFn<import('@storybook/react').ReactRenderer, {
12
+ className?: import('react-aria-components').ClassNameOrFunction<import('react-aria-components').RadioFieldRenderProps> | undefined;
13
+ inputRef?: import('@react-types/shared').RefObject<HTMLInputElement | null> | undefined;
14
+ isDisabled?: boolean | undefined;
15
+ id?: string | undefined;
16
+ onClick?: ((e: import('react').MouseEvent<import('@react-types/shared').FocusableElement>) => void) | undefined;
17
+ value: string;
18
+ 'aria-describedby'?: string | undefined;
19
+ 'aria-details'?: string | undefined;
20
+ 'aria-label'?: string | undefined;
21
+ 'aria-labelledby'?: string | undefined;
22
+ onFocus?: ((e: import('react').FocusEvent<Element, Element>) => void) | undefined;
23
+ onBlur?: ((e: import('react').FocusEvent<Element, Element>) => void) | undefined;
24
+ onKeyDown?: ((e: import('@react-types/shared').KeyboardEvent) => void) | undefined;
25
+ onKeyUp?: ((e: import('@react-types/shared').KeyboardEvent) => void) | undefined;
26
+ onPress?: ((e: import('react-aria-components').PressEvent) => void) | undefined;
27
+ onPressStart?: ((e: import('react-aria-components').PressEvent) => void) | undefined;
28
+ onPressEnd?: ((e: import('react-aria-components').PressEvent) => void) | undefined;
29
+ onPressChange?: ((isPressed: boolean) => void) | undefined;
30
+ onPressUp?: ((e: import('react-aria-components').PressEvent) => void) | undefined;
31
+ autoFocus?: boolean | undefined;
32
+ onFocusChange?: ((isFocused: boolean) => void) | undefined;
33
+ children?: import('react-aria-components').ChildrenOrFunction<import('react-aria-components').RadioFieldRenderProps>;
34
+ style?: import('react-aria-components').StyleOrFunction<import('react-aria-components').RadioFieldRenderProps> | undefined;
35
+ render?: import('react-aria-components').DOMRenderFunction<"div", import('react-aria-components').RadioFieldRenderProps> | undefined;
36
+ slot?: string | null | undefined;
37
+ dir?: string | undefined | undefined;
38
+ lang?: string | undefined | undefined;
39
+ hidden?: boolean | undefined | undefined;
40
+ inert?: boolean | undefined | undefined;
41
+ translate?: "yes" | "no" | undefined | undefined;
42
+ onClickCapture?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
43
+ onAuxClick?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
44
+ onAuxClickCapture?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
45
+ onContextMenu?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
46
+ onContextMenuCapture?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
47
+ onDoubleClick?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
48
+ onDoubleClickCapture?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
49
+ onMouseDown?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
50
+ onMouseDownCapture?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
51
+ onMouseEnter?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
52
+ onMouseLeave?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
53
+ onMouseMove?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
54
+ onMouseMoveCapture?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
55
+ onMouseOut?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
56
+ onMouseOutCapture?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
57
+ onMouseOver?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
58
+ onMouseOverCapture?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
59
+ onMouseUp?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
60
+ onMouseUpCapture?: import('react').MouseEventHandler<HTMLDivElement> | undefined;
61
+ onTouchCancel?: import('react').TouchEventHandler<HTMLDivElement> | undefined;
62
+ onTouchCancelCapture?: import('react').TouchEventHandler<HTMLDivElement> | undefined;
63
+ onTouchEnd?: import('react').TouchEventHandler<HTMLDivElement> | undefined;
64
+ onTouchEndCapture?: import('react').TouchEventHandler<HTMLDivElement> | undefined;
65
+ onTouchMove?: import('react').TouchEventHandler<HTMLDivElement> | undefined;
66
+ onTouchMoveCapture?: import('react').TouchEventHandler<HTMLDivElement> | undefined;
67
+ onTouchStart?: import('react').TouchEventHandler<HTMLDivElement> | undefined;
68
+ onTouchStartCapture?: import('react').TouchEventHandler<HTMLDivElement> | undefined;
69
+ onPointerDown?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
70
+ onPointerDownCapture?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
71
+ onPointerMove?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
72
+ onPointerMoveCapture?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
73
+ onPointerUp?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
74
+ onPointerUpCapture?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
75
+ onPointerCancel?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
76
+ onPointerCancelCapture?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
77
+ onPointerEnter?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
78
+ onPointerLeave?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
79
+ onPointerOver?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
80
+ onPointerOverCapture?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
81
+ onPointerOut?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
82
+ onPointerOutCapture?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
83
+ onGotPointerCapture?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
84
+ onGotPointerCaptureCapture?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
85
+ onLostPointerCapture?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
86
+ onLostPointerCaptureCapture?: import('react').PointerEventHandler<HTMLDivElement> | undefined;
87
+ onScroll?: import('react').UIEventHandler<HTMLDivElement> | undefined;
88
+ onScrollCapture?: import('react').UIEventHandler<HTMLDivElement> | undefined;
89
+ onWheel?: import('react').WheelEventHandler<HTMLDivElement> | undefined;
90
+ onWheelCapture?: import('react').WheelEventHandler<HTMLDivElement> | undefined;
91
+ onAnimationStart?: import('react').AnimationEventHandler<HTMLDivElement> | undefined;
92
+ onAnimationStartCapture?: import('react').AnimationEventHandler<HTMLDivElement> | undefined;
93
+ onAnimationEnd?: import('react').AnimationEventHandler<HTMLDivElement> | undefined;
94
+ onAnimationEndCapture?: import('react').AnimationEventHandler<HTMLDivElement> | undefined;
95
+ onAnimationIteration?: import('react').AnimationEventHandler<HTMLDivElement> | undefined;
96
+ onAnimationIterationCapture?: import('react').AnimationEventHandler<HTMLDivElement> | undefined;
97
+ onTransitionCancel?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
98
+ onTransitionCancelCapture?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
99
+ onTransitionEnd?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
100
+ onTransitionEndCapture?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
101
+ onTransitionRun?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
102
+ onTransitionRunCapture?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
103
+ onTransitionStart?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
104
+ onTransitionStartCapture?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
105
+ }>) => import("react/jsx-runtime").JSX.Element;
106
+ tags: string[];
43
107
  };
44
108
  export default _default;
45
- type Story = StoryObj<typeof RadioGroup>;
46
109
  export declare const Primary: Story;
47
110
  export declare const Disabled: Story;
48
- export declare const ReadOnly: Story;
49
- export declare const OneItemDisabled: Story;
50
- export declare const Invalid: Story;
51
- export declare const Required: Story;
52
- export declare const CustomValidation: Story;
53
- export declare const Horizontal: Story;
54
- export declare const WithHelpPopover: Story;
@@ -0,0 +1,3 @@
1
+ import { RadioButtonProps as AriaRadioButtonProps } from 'react-aria-components';
2
+ export type RadioButtonProps = AriaRadioButtonProps;
3
+ export declare const RadioButton: ({ className, ...rest }: RadioButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { RadioFieldProps as AriaRadioFieldProps } from 'react-aria-components';
2
+ export type RadioFieldProps = AriaRadioFieldProps;
3
+ export declare const RadioField: (props: RadioFieldProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { RadioGroupProps as AriaRadioGroupProps, ValidationResult } from 'react-aria-components';
2
+ import { InfoPopoverProps } from '../label';
3
+ export interface RadioGroupProps extends AriaRadioGroupProps {
4
+ /** Label for the RadioGroup */
5
+ label?: string;
6
+ /** Additional description rendered below the label */
7
+ description?: string;
8
+ /** String to display as error message or function to handle the result and produce the error message */
9
+ errorMessage?: string | ((validation: ValidationResult) => string);
10
+ errorPosition?: 'top' | 'bottom';
11
+ /** An assistive text that helps the user understand the field better. Will be hidden in a popover with an info icon button. */
12
+ popover?: InfoPopoverProps;
13
+ }
14
+ /**
15
+ * @deprecated since v17.0.0 please use `RadioGroupProps` instead
16
+ */
17
+ export type MVDSRadioGroupProps = RadioGroupProps;
18
+ /**
19
+ * RadioGroup is used to group several radio items together
20
+ */
21
+ export declare const RadioGroup: React.FC<RadioGroupProps>;
@@ -0,0 +1,27 @@
1
+ import { StoryObj } from '@storybook/react-vite';
2
+ import { RadioGroup } from '.';
3
+ declare const _default: {
4
+ title: string;
5
+ component: import('react').FC<import('./RadioGroup').RadioGroupProps>;
6
+ subcomponents: {
7
+ Radio: ({ children, className, ...rest }: import('./Radio').RadioProps) => import("react/jsx-runtime").JSX.Element;
8
+ };
9
+ tags: string[];
10
+ args: {
11
+ label: string;
12
+ description: string;
13
+ errorMessage: string;
14
+ errorPosition: "top";
15
+ };
16
+ };
17
+ export default _default;
18
+ type Story = StoryObj<typeof RadioGroup>;
19
+ export declare const Primary: Story;
20
+ export declare const Disabled: Story;
21
+ export declare const ReadOnly: Story;
22
+ export declare const OneItemDisabled: Story;
23
+ export declare const Invalid: Story;
24
+ export declare const Required: Story;
25
+ export declare const CustomValidation: Story;
26
+ export declare const Horizontal: Story;
27
+ export declare const WithHelpPopover: Story;
package/radio/index.d.ts CHANGED
@@ -1 +1,4 @@
1
1
  export * from './Radio';
2
+ export * from './RadioButton';
3
+ export * from './RadioField';
4
+ export * from './RadioGroup';
package/radio/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/radio-DmCYqo3Z.js";
2
- export { t as Radio, e as RadioGroup };
1
+ import { i as e, n as t, r as n, t as r } from "../chunks/radio-W0YqY7lo.js";
2
+ export { t as Radio, n as RadioButton, e as RadioField, r as RadioGroup };
package/select/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "../chunks/select-CZklrPAQ.js";
1
+ import { t as e } from "../chunks/select-LjjT_7hr.js";
2
2
  export { e as Select };
package/table/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, t as a } from "../chunks/table-BrA5r_BP.js";
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "../chunks/table-O7Ht2ilY.js";
2
2
  export { a as Cell, n as Column, i as Row, t as Table, e as TableBody, r as TableHeader };
@@ -144,8 +144,8 @@ export declare const Disabled: {
144
144
  autoComplete?: string;
145
145
  maxLength?: number;
146
146
  minLength?: number;
147
- isRequired?: boolean;
148
147
  validationBehavior?: "native" | "aria";
148
+ isRequired?: boolean;
149
149
  validate?: ((value: string) => import('@react-types/shared').ValidationError | true | null | undefined) | undefined;
150
150
  errorPosition?: "top" | "bottom";
151
151
  showCounter?: boolean;
@@ -1,8 +0,0 @@
1
- import { CheckboxGroupState } from 'react-stately';
2
- import { CheckboxGroupProps } from './CheckboxGroup';
3
- import * as React from 'react';
4
- interface CheckboxGroupFieldErrorProps extends CheckboxGroupProps {
5
- state: CheckboxGroupState;
6
- }
7
- export declare const CheckboxGroupFieldError: React.FC<CheckboxGroupFieldErrorProps>;
8
- export {};
@@ -1,2 +0,0 @@
1
- import { CheckboxGroupItemProps } from './types';
2
- export declare const CheckBoxGroupItem: import('react').ForwardRefExoticComponent<CheckboxGroupItemProps & import('react').RefAttributes<HTMLLabelElement>>;
@@ -1 +0,0 @@
1
- export declare const CheckboxInner: import('react').ForwardRefExoticComponent<import('./types').CheckboxComponentProps & import('react-aria').CheckboxAria & import('react').RefAttributes<HTMLLabelElement>>;
@@ -1,2 +0,0 @@
1
- import { CheckboxComponentProps } from './types';
2
- export declare const SingleCheckbox: import('react').ForwardRefExoticComponent<CheckboxComponentProps & import('react').RefAttributes<HTMLLabelElement>>;
@@ -1,3 +0,0 @@
1
- import { CheckboxGroupState } from 'react-stately';
2
- import { default as React } from 'react';
3
- export declare const CheckboxGroupContext: React.Context<CheckboxGroupState | null>;
@@ -1,19 +0,0 @@
1
- import { AriaCheckboxProps, CheckboxAria, FocusRingAria, HoverResult, PressResult } from 'react-aria';
2
- import { SlotProps, ValidationResult } from 'react-aria-components';
3
- import { CheckboxGroupState } from 'react-stately';
4
- export type CheckboxProps = AriaCheckboxProps & SlotProps & {
5
- className?: string;
6
- description?: string;
7
- errorMessage?: string | ((validation: ValidationResult) => string);
8
- errorPosition?: 'top' | 'bottom';
9
- };
10
- export interface CheckboxComponentProps extends CheckboxProps {
11
- focusRingAria: FocusRingAria;
12
- pressResult: PressResult;
13
- hoverResult: HoverResult;
14
- inputRef: React.RefObject<HTMLInputElement | null>;
15
- }
16
- export interface CheckboxGroupItemProps extends CheckboxComponentProps {
17
- state: CheckboxGroupState;
18
- }
19
- export type CheckboxInnerProps = CheckboxComponentProps & CheckboxAria;
@@ -1,200 +0,0 @@
1
- import { n as e } from "./clsx-B1NYyfch.js";
2
- import { t } from "./createLucideIcon-BgluSHFG.js";
3
- import { t as n } from "./check-DV00NPU0.js";
4
- import { t as r } from "./useLocalizedStringFormatter-CeyBc0x0.js";
5
- import { t as i } from "./text-EUdAWwZz.js";
6
- import { t as a } from "./field-error-pJiSw4PN.js";
7
- import { n as o, t as s } from "./label-CEYHiWSa.js";
8
- import * as c from "react";
9
- import l, { forwardRef as u, useContext as d, useRef as f } from "react";
10
- import { CheckboxContext as p, FieldErrorContext as m, FormContext as h, useContextProps as g, useSlottedContext as _ } from "react-aria-components";
11
- import { jsx as v, jsxs as y } from "react/jsx-runtime";
12
- import { VisuallyHidden as b, mergeProps as x, useCheckbox as S, useCheckboxGroup as C, useCheckboxGroupItem as w, useFocusRing as T, useHover as E, usePress as D } from "react-aria";
13
- import { variables as O } from "@midas-ds/theme";
14
- import { useCheckboxGroupState as k, useToggleState as A } from "react-stately";
15
- import '../assets/checkbox.css';var j = t("minus", [["path", {
16
- d: "M5 12h14",
17
- key: "1ays0h"
18
- }]]), M = l.createContext(null), N = {
19
- checkboxInner: "_checkboxInner_klbao_1",
20
- checkbox: "_checkbox_klbao_1",
21
- checkboxWrapper: "_checkboxWrapper_klbao_144",
22
- checkboxGroup: "_checkboxGroup_klbao_155",
23
- checkboxList: "_checkboxList_klbao_166"
24
- }, P = u(({ hoverResult: t, pressResult: r, focusRingAria: o, labelProps: s, slot: c, className: l, isSelected: u, isIndeterminate: d, isDisabled: f, isInvalid: p, isReadOnly: h, isRequired: g, inputProps: _, inputRef: S, children: C, description: w, errorMessage: T, errorPosition: E = "top", descriptionProps: D, errorMessageProps: k, validationErrors: A, validationDetails: M }, P) => {
25
- let { hoverProps: F, isHovered: I } = t, { pressProps: L, isPressed: R } = r, { isFocused: z, isFocusVisible: B, focusProps: V } = o, H = /* @__PURE__ */ y("label", {
26
- ref: P,
27
- ...x(F, L, s),
28
- slot: w || T ? void 0 : c || void 0,
29
- className: e(N.checkbox, l),
30
- "data-hovered": I || void 0,
31
- "data-selected": u || void 0,
32
- "data-indeterminate": d || void 0,
33
- "data-pressed": R || void 0,
34
- "data-disabled": f || void 0,
35
- "data-readonly": h || void 0,
36
- "data-invalid": p || void 0,
37
- "data-focused": z || void 0,
38
- "data-focus-visible": B || void 0,
39
- "data-required": g || void 0,
40
- children: [
41
- /* @__PURE__ */ v("div", {
42
- className: e(N.checkboxInner),
43
- children: v(d ? j : n, {
44
- size: 14,
45
- color: O.iconOnColor
46
- })
47
- }),
48
- /* @__PURE__ */ v(b, { children: /* @__PURE__ */ v("input", {
49
- ...x(_, V),
50
- ref: S
51
- }) }),
52
- C
53
- ]
54
- });
55
- if (!w && !T) return H;
56
- let U = T && /* @__PURE__ */ v(m.Provider, {
57
- value: {
58
- isInvalid: !!p,
59
- validationErrors: A,
60
- validationDetails: M
61
- },
62
- children: /* @__PURE__ */ v(a, {
63
- ...k,
64
- children: T
65
- })
66
- });
67
- return /* @__PURE__ */ y("div", {
68
- className: N.checkboxWrapper,
69
- slot: c || void 0,
70
- children: [
71
- w && /* @__PURE__ */ v(i, {
72
- slot: "description",
73
- ...D,
74
- children: w
75
- }),
76
- E === "top" && U,
77
- H,
78
- E === "bottom" && U
79
- ]
80
- });
81
- });
82
- P.displayName = "CheckboxInner";
83
- //#endregion
84
- //#region src/checkbox/CheckboxGroupItem.tsx
85
- var F = u((e, t) => {
86
- let n = w({
87
- ...e,
88
- value: e.value || ""
89
- }, e.state, e.inputRef);
90
- return /* @__PURE__ */ v(P, {
91
- ...e,
92
- ...n,
93
- ref: t
94
- });
95
- });
96
- F.displayName = "CheckBoxGroupItem";
97
- //#endregion
98
- //#region src/checkbox/SingleCheckbox.tsx
99
- var I = u((e, t) => {
100
- let n = S(e, A(e), e.inputRef);
101
- return /* @__PURE__ */ v(P, {
102
- ...e,
103
- ...n,
104
- ref: t
105
- });
106
- });
107
- I.displayName = "SingleCheckbox";
108
- //#endregion
109
- //#region src/checkbox/Checkbox.tsx
110
- var L = u((e, t) => {
111
- [e, t] = g(e, t, p);
112
- let n = _(h), r = e.validationBehavior ?? n?.validationBehavior ?? "native", i = d(M), a = f(null), o = E(e), s = D({
113
- ref: t,
114
- isDisabled: e.isDisabled
115
- }), c = T();
116
- return i ? /* @__PURE__ */ v(F, {
117
- ...e,
118
- state: i,
119
- inputRef: a,
120
- hoverResult: o,
121
- pressResult: s,
122
- focusRingAria: c,
123
- validationBehavior: r
124
- }) : /* @__PURE__ */ v(I, {
125
- ...e,
126
- inputRef: a,
127
- hoverResult: o,
128
- pressResult: s,
129
- focusRingAria: c,
130
- validationBehavior: r
131
- });
132
- });
133
- L.displayName = "Checkbox";
134
- //#endregion
135
- //#region src/checkbox/useSelectAll.ts
136
- var R = (e, { value: t }) => {
137
- let n = c.Children.toArray(e).filter((e) => c.isValidElement(e) && e.type === L), r = n.filter((e) => !e.props.isDisabled).map((e) => e.props.value || ""), i = n.filter((e) => e.props.isDisabled).map((e) => e.props.value || "").filter((e) => t.includes(e)), a = t.filter((e) => r.includes(e)).length, o = a === 0, s = a === r.length;
138
- return {
139
- allSelected: s,
140
- someSelected: !o && !s,
141
- checkboxValues: r,
142
- disabledSelectedValues: i
143
- };
144
- }, z = ({ state: e, errorMessage: t }) => /* @__PURE__ */ v(m.Provider, {
145
- value: e.displayValidation,
146
- children: /* @__PURE__ */ v(a, { children: t })
147
- }), B = {
148
- en: { selectAll: "Select all" },
149
- sv: { selectAll: "Välj alla" }
150
- };
151
- //#endregion
152
- //#region src/checkbox/CheckboxGroup.tsx
153
- function V(e) {
154
- let t = k(e), n = r(B), { groupProps: a, labelProps: c, descriptionProps: l } = C(e, t), { allSelected: u, someSelected: d, checkboxValues: f, disabledSelectedValues: p } = R(e.children, t), m = (e) => {
155
- t.setValue(e ? [...f, ...p] : p);
156
- };
157
- return /* @__PURE__ */ y("div", {
158
- ...a,
159
- className: N.checkboxGroup,
160
- "data-readonly": e.isReadOnly || void 0,
161
- "data-disabled": e.isDisabled || void 0,
162
- children: [
163
- /* @__PURE__ */ v(o, {
164
- popover: e.popover,
165
- children: e.label && /* @__PURE__ */ v(s, {
166
- ...c,
167
- children: e.label
168
- })
169
- }),
170
- e.description && /* @__PURE__ */ v(i, {
171
- slot: "description",
172
- ...l,
173
- children: e.description
174
- }),
175
- e.errorPosition === "top" && /* @__PURE__ */ v(z, {
176
- ...e,
177
- state: t
178
- }),
179
- /* @__PURE__ */ y("div", {
180
- className: N.checkboxList,
181
- children: [e.showSelectAll && /* @__PURE__ */ v(L, {
182
- isSelected: u,
183
- isIndeterminate: d,
184
- isReadOnly: e.isReadOnly,
185
- onChange: m,
186
- children: e.selectAllLabel || n.format("selectAll")
187
- }), /* @__PURE__ */ v(M.Provider, {
188
- value: t,
189
- children: e.children
190
- })]
191
- }),
192
- e.errorPosition === "bottom" && /* @__PURE__ */ v(z, {
193
- ...e,
194
- state: t
195
- })
196
- ]
197
- });
198
- }
199
- //#endregion
200
- export { L as n, V as t };
@@ -1,43 +0,0 @@
1
- 'use client';
2
- import { t as e } from "./clsx-B1NYyfch.js";
3
- import { t } from "./text-EUdAWwZz.js";
4
- import { t as n } from "./field-error-pJiSw4PN.js";
5
- import { n as r, t as i } from "./label-CEYHiWSa.js";
6
- import "react";
7
- import { Group as a, Radio as o, RadioGroup as s, composeRenderProps as c } from "react-aria-components";
8
- import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
9
- import '../assets/radio.css';var f = {
10
- radioGroup: "_radioGroup_1oic0_1",
11
- wrap: "_wrap_1oic0_12",
12
- radio: "_radio_1oic0_1"
13
- }, p = ({ label: o, description: p, errorMessage: m, children: h, className: g, errorPosition: _ = "top", popover: v, ...y }) => /* @__PURE__ */ u(s, {
14
- ...y,
15
- className: e(f.radioGroup, g),
16
- children: c(h, (e) => /* @__PURE__ */ d(l, { children: [
17
- /* @__PURE__ */ u(r, {
18
- popover: v,
19
- children: o && /* @__PURE__ */ u(i, { children: o })
20
- }),
21
- p && /* @__PURE__ */ u(t, {
22
- slot: "description",
23
- children: p
24
- }),
25
- _ === "top" && /* @__PURE__ */ u(n, {
26
- "data-testid": "fieldError",
27
- children: m
28
- }),
29
- /* @__PURE__ */ u(a, {
30
- className: f.wrap,
31
- children: e
32
- }),
33
- _ === "bottom" && /* @__PURE__ */ u(n, {
34
- "data-testid": "fieldError",
35
- children: m
36
- })
37
- ] }))
38
- }), m = ({ className: t, ...n }) => /* @__PURE__ */ u(o, {
39
- className: e(f.radio, t),
40
- ...n
41
- });
42
- //#endregion
43
- export { p as n, m as t };