@digdir/designsystemet-react 1.18.0 → 1.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/divider/divider.js +1 -3
- package/dist/cjs/components/file-upload/file-upload.js +31 -0
- package/dist/cjs/components/file-upload/index.js +27 -0
- package/dist/cjs/components/list/lists.js +6 -8
- package/dist/cjs/components/popover/popover.js +11 -6
- package/dist/cjs/components/suggestion/index.js +5 -0
- package/dist/cjs/components/suggestion/suggestion-clear.js +1 -0
- package/dist/cjs/components/suggestion/suggestion-empty.js +2 -4
- package/dist/cjs/components/suggestion/suggestion-toggle.js +25 -0
- package/dist/cjs/components/suggestion/suggestion.js +2 -4
- package/dist/cjs/components/textfield/textfield.js +2 -2
- package/dist/cjs/components/toggle-group/index.js +1 -1
- package/dist/cjs/components/toggle-group/toggle-group-item.js +2 -2
- package/dist/cjs/components/toggle-group/toggle-group.js +4 -5
- package/dist/cjs/index.js +28 -24
- package/dist/esm/components/divider/divider.js +1 -3
- package/dist/esm/components/file-upload/file-upload.js +29 -0
- package/dist/esm/components/file-upload/index.js +25 -0
- package/dist/esm/components/list/lists.js +6 -8
- package/dist/esm/components/popover/popover.js +11 -6
- package/dist/esm/components/suggestion/index.js +5 -1
- package/dist/esm/components/suggestion/suggestion-clear.js +1 -0
- package/dist/esm/components/suggestion/suggestion-empty.js +3 -5
- package/dist/esm/components/suggestion/suggestion-toggle.js +23 -0
- package/dist/esm/components/suggestion/suggestion.js +2 -4
- package/dist/esm/components/textfield/textfield.js +2 -2
- package/dist/esm/components/toggle-group/index.js +1 -1
- package/dist/esm/components/toggle-group/toggle-group-item.js +2 -2
- package/dist/esm/components/toggle-group/toggle-group.js +4 -5
- package/dist/esm/index.js +2 -0
- package/dist/react-types.d.ts +14 -11
- package/dist/types/colors.d.ts +0 -1
- package/dist/types/components/Combobox/Combobox.d.ts +2 -3
- package/dist/types/components/Combobox/ComboboxContext.d.ts +0 -1
- package/dist/types/components/Combobox/ComboboxIdContext.d.ts +0 -1
- package/dist/types/components/Combobox/Custom.d.ts +0 -1
- package/dist/types/components/Combobox/Empty.d.ts +0 -1
- package/dist/types/components/Combobox/Option/Description.d.ts +0 -1
- package/dist/types/components/Combobox/Option/Option.d.ts +0 -1
- package/dist/types/components/Combobox/Option/SelectedIcon.d.ts +0 -1
- package/dist/types/components/Combobox/Option/useComboboxOption.d.ts +0 -1
- package/dist/types/components/Combobox/data/data.d.ts +0 -1
- package/dist/types/components/Combobox/index.d.ts +0 -1
- package/dist/types/components/Combobox/internal/ComboboxChips.d.ts +0 -1
- package/dist/types/components/Combobox/internal/ComboboxClearButton.d.ts +0 -1
- package/dist/types/components/Combobox/internal/ComboboxError.d.ts +0 -1
- package/dist/types/components/Combobox/internal/ComboboxInput.d.ts +0 -1
- package/dist/types/components/Combobox/internal/ComboboxLabel.d.ts +0 -1
- package/dist/types/components/Combobox/internal/ComboboxNative.d.ts +0 -1
- package/dist/types/components/Combobox/omit/omit.d.ts +0 -1
- package/dist/types/components/Combobox/useCombobox.d.ts +0 -1
- package/dist/types/components/Combobox/useComboboxKeyboard.d.ts +0 -1
- package/dist/types/components/Combobox/useFloatingCombobox.d.ts +0 -1
- package/dist/types/components/Combobox/useFormField/FieldsetContext.d.ts +0 -1
- package/dist/types/components/Combobox/useFormField/useFormField.d.ts +0 -1
- package/dist/types/components/Combobox/utilities.d.ts +0 -1
- package/dist/types/components/alert/alert.d.ts +2 -19
- package/dist/types/components/avatar/avatar.d.ts +0 -1
- package/dist/types/components/avatar-stack/avatar-stack.d.ts +0 -1
- package/dist/types/components/badge/badge-position.d.ts +0 -1
- package/dist/types/components/badge/badge.d.ts +1 -11
- package/dist/types/components/badge/index.d.ts +1 -3
- package/dist/types/components/breadcrumbs/breadcrumbs-item.d.ts +0 -1
- package/dist/types/components/breadcrumbs/breadcrumbs-link.d.ts +0 -1
- package/dist/types/components/breadcrumbs/breadcrumbs-list.d.ts +0 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +0 -1
- package/dist/types/components/breadcrumbs/index.d.ts +0 -1
- package/dist/types/components/button/button.d.ts +1 -11
- package/dist/types/components/card/card-block.d.ts +0 -1
- package/dist/types/components/card/card.d.ts +0 -1
- package/dist/types/components/card/index.d.ts +0 -1
- package/dist/types/components/checkbox/checkbox.d.ts +0 -1
- package/dist/types/components/chip/chips.d.ts +0 -1
- package/dist/types/components/chip/index.d.ts +0 -1
- package/dist/types/components/details/details-content.d.ts +0 -1
- package/dist/types/components/details/details-summary.d.ts +2 -3
- package/dist/types/components/details/details.d.ts +0 -1
- package/dist/types/components/details/index.d.ts +0 -1
- package/dist/types/components/dialog/dialog-block.d.ts +0 -1
- package/dist/types/components/dialog/dialog-trigger-context.d.ts +0 -1
- package/dist/types/components/dialog/dialog-trigger.d.ts +1 -3
- package/dist/types/components/dialog/dialog.d.ts +0 -1
- package/dist/types/components/dialog/index.d.ts +0 -1
- package/dist/types/components/divider/divider.d.ts +0 -1
- package/dist/types/components/dropdown/dropdown-button.d.ts +0 -1
- package/dist/types/components/dropdown/dropdown-heading.d.ts +0 -1
- package/dist/types/components/dropdown/dropdown-item.d.ts +0 -1
- package/dist/types/components/dropdown/dropdown-list.d.ts +0 -1
- package/dist/types/components/dropdown/dropdown-trigger-context.d.ts +0 -1
- package/dist/types/components/dropdown/dropdown-trigger.d.ts +0 -1
- package/dist/types/components/dropdown/dropdown.d.ts +0 -1
- package/dist/types/components/dropdown/index.d.ts +0 -1
- package/dist/types/components/error-summary/error-summary-heading.d.ts +0 -1
- package/dist/types/components/error-summary/error-summary-item.d.ts +0 -1
- package/dist/types/components/error-summary/error-summary-link.d.ts +0 -1
- package/dist/types/components/error-summary/error-summary-list.d.ts +0 -1
- package/dist/types/components/error-summary/error-summary.d.ts +2 -3
- package/dist/types/components/error-summary/index.d.ts +0 -1
- package/dist/types/components/field/field-affix.d.ts +0 -1
- package/dist/types/components/field/field-counter.d.ts +1 -3
- package/dist/types/components/field/field-description.d.ts +0 -1
- package/dist/types/components/field/field.d.ts +0 -1
- package/dist/types/components/field/index.d.ts +0 -1
- package/dist/types/components/fieldset/fieldset-description.d.ts +0 -1
- package/dist/types/components/fieldset/fieldset-legend.d.ts +0 -1
- package/dist/types/components/fieldset/fieldset.d.ts +0 -1
- package/dist/types/components/fieldset/index.d.ts +0 -1
- package/dist/types/components/file-upload/file-upload.d.ts +28 -0
- package/dist/types/components/file-upload/index.d.ts +24 -0
- package/dist/types/components/heading/heading.d.ts +0 -1
- package/dist/types/components/index.d.ts +4 -3
- package/dist/types/components/input/input.d.ts +1 -2
- package/dist/types/components/label/label.d.ts +0 -1
- package/dist/types/components/link/link.d.ts +0 -1
- package/dist/types/components/list/index.d.ts +0 -1
- package/dist/types/components/list/list-item.d.ts +0 -1
- package/dist/types/components/list/lists.d.ts +0 -1
- package/dist/types/components/pagination/index.d.ts +0 -1
- package/dist/types/components/pagination/pagination-button.d.ts +0 -1
- package/dist/types/components/pagination/pagination-item.d.ts +0 -1
- package/dist/types/components/pagination/pagination-list.d.ts +0 -1
- package/dist/types/components/pagination/pagination.d.ts +0 -1
- package/dist/types/components/paragraph/paragraph.d.ts +0 -1
- package/dist/types/components/popover/index.d.ts +0 -1
- package/dist/types/components/popover/popover-trigger-context.d.ts +0 -1
- package/dist/types/components/popover/popover-trigger.d.ts +0 -1
- package/dist/types/components/popover/popover.d.ts +1 -11
- package/dist/types/components/radio/radio.d.ts +0 -1
- package/dist/types/components/search/index.d.ts +0 -1
- package/dist/types/components/search/search-button.d.ts +1 -3
- package/dist/types/components/search/search-clear.d.ts +0 -1
- package/dist/types/components/search/search-input.d.ts +0 -1
- package/dist/types/components/search/search.d.ts +0 -1
- package/dist/types/components/select/index.d.ts +0 -1
- package/dist/types/components/select/select-optgroup.d.ts +0 -1
- package/dist/types/components/select/select-option.d.ts +0 -1
- package/dist/types/components/select/select.d.ts +2 -3
- package/dist/types/components/skeleton/skeleton.d.ts +0 -1
- package/dist/types/components/skip-link/skip-link.d.ts +0 -1
- package/dist/types/components/spinner/spinner.d.ts +0 -1
- package/dist/types/components/suggestion/index.d.ts +25 -2
- package/dist/types/components/suggestion/suggestion-clear.d.ts +1 -1
- package/dist/types/components/suggestion/suggestion-empty.d.ts +14 -3
- package/dist/types/components/suggestion/suggestion-input.d.ts +0 -1
- package/dist/types/components/suggestion/suggestion-list.d.ts +0 -1
- package/dist/types/components/suggestion/suggestion-option.d.ts +0 -1
- package/dist/types/components/suggestion/suggestion-toggle.d.ts +30 -0
- package/dist/types/components/suggestion/suggestion.d.ts +0 -2
- package/dist/types/components/switch/switch.d.ts +0 -1
- package/dist/types/components/table/index.d.ts +0 -1
- package/dist/types/components/table/table-body.d.ts +0 -1
- package/dist/types/components/table/table-cell.d.ts +0 -1
- package/dist/types/components/table/table-foot.d.ts +0 -1
- package/dist/types/components/table/table-head.d.ts +0 -1
- package/dist/types/components/table/table-header-cell.d.ts +0 -1
- package/dist/types/components/table/table-row.d.ts +0 -1
- package/dist/types/components/table/table.d.ts +0 -1
- package/dist/types/components/tabs/index.d.ts +0 -1
- package/dist/types/components/tabs/tabs-list.d.ts +0 -1
- package/dist/types/components/tabs/tabs-panel.d.ts +0 -1
- package/dist/types/components/tabs/tabs-tab.d.ts +0 -1
- package/dist/types/components/tabs/tabs.d.ts +1 -2
- package/dist/types/components/tag/tag.d.ts +1 -11
- package/dist/types/components/textarea/textarea.d.ts +2 -3
- package/dist/types/components/textfield/textfield.d.ts +2 -3
- package/dist/types/components/toggle-group/index.d.ts +1 -2
- package/dist/types/components/toggle-group/toggle-group-item.d.ts +2 -3
- package/dist/types/components/toggle-group/toggle-group.d.ts +16 -31
- package/dist/types/components/tooltip/tooltip.d.ts +2 -3
- package/dist/types/components/validation-message/validation-message.d.ts +2 -14
- package/dist/types/index.d.ts +0 -1
- package/dist/types/types.d.ts +9 -6
- package/dist/types/utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.d.ts +0 -1
- package/dist/types/utilities/hooks/deprecated/use-isomorphic-layout-effect/use-isomorphic-layout-effect.d.ts +0 -1
- package/dist/types/utilities/hooks/deprecated/use-media-query/use-media-query.d.ts +0 -1
- package/dist/types/utilities/hooks/index.d.ts +0 -1
- package/dist/types/utilities/hooks/use-checkbox-group/use-checkbox-group.d.ts +0 -1
- package/dist/types/utilities/hooks/use-merge-refs/use-merge-refs.d.ts +0 -1
- package/dist/types/utilities/hooks/use-pagination/use-pagination.d.ts +0 -1
- package/dist/types/utilities/hooks/use-radio-group/use-radio-group.d.ts +0 -1
- package/dist/types/utilities/hooks/use-synchronized-animation/use-synchronized-animation.d.ts +0 -1
- package/dist/types/utilities/index.d.ts +0 -1
- package/dist/types/utilities/roving-focus/roving-focus-item.d.ts +0 -1
- package/dist/types/utilities/roving-focus/roving-focus-root.d.ts +0 -1
- package/dist/types/utilities/roving-focus/use-roving-focus.d.ts +5 -4
- package/dist/types/utilities/types.d.ts +0 -1
- package/package.json +21 -21
- package/dist/types/colors.d.ts.map +0 -1
- package/dist/types/components/Combobox/Combobox.d.ts.map +0 -1
- package/dist/types/components/Combobox/ComboboxContext.d.ts.map +0 -1
- package/dist/types/components/Combobox/ComboboxIdContext.d.ts.map +0 -1
- package/dist/types/components/Combobox/Custom.d.ts.map +0 -1
- package/dist/types/components/Combobox/Empty.d.ts.map +0 -1
- package/dist/types/components/Combobox/Option/Description.d.ts.map +0 -1
- package/dist/types/components/Combobox/Option/Option.d.ts.map +0 -1
- package/dist/types/components/Combobox/Option/SelectedIcon.d.ts.map +0 -1
- package/dist/types/components/Combobox/Option/useComboboxOption.d.ts.map +0 -1
- package/dist/types/components/Combobox/data/data.d.ts.map +0 -1
- package/dist/types/components/Combobox/index.d.ts.map +0 -1
- package/dist/types/components/Combobox/internal/ComboboxChips.d.ts.map +0 -1
- package/dist/types/components/Combobox/internal/ComboboxClearButton.d.ts.map +0 -1
- package/dist/types/components/Combobox/internal/ComboboxError.d.ts.map +0 -1
- package/dist/types/components/Combobox/internal/ComboboxInput.d.ts.map +0 -1
- package/dist/types/components/Combobox/internal/ComboboxLabel.d.ts.map +0 -1
- package/dist/types/components/Combobox/internal/ComboboxNative.d.ts.map +0 -1
- package/dist/types/components/Combobox/omit/omit.d.ts.map +0 -1
- package/dist/types/components/Combobox/useCombobox.d.ts.map +0 -1
- package/dist/types/components/Combobox/useComboboxKeyboard.d.ts.map +0 -1
- package/dist/types/components/Combobox/useFloatingCombobox.d.ts.map +0 -1
- package/dist/types/components/Combobox/useFormField/FieldsetContext.d.ts.map +0 -1
- package/dist/types/components/Combobox/useFormField/useFormField.d.ts.map +0 -1
- package/dist/types/components/Combobox/utilities.d.ts.map +0 -1
- package/dist/types/components/alert/alert.d.ts.map +0 -1
- package/dist/types/components/avatar/avatar.d.ts.map +0 -1
- package/dist/types/components/avatar-stack/avatar-stack.d.ts.map +0 -1
- package/dist/types/components/badge/badge-position.d.ts.map +0 -1
- package/dist/types/components/badge/badge.d.ts.map +0 -1
- package/dist/types/components/badge/index.d.ts.map +0 -1
- package/dist/types/components/breadcrumbs/breadcrumbs-item.d.ts.map +0 -1
- package/dist/types/components/breadcrumbs/breadcrumbs-link.d.ts.map +0 -1
- package/dist/types/components/breadcrumbs/breadcrumbs-list.d.ts.map +0 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts.map +0 -1
- package/dist/types/components/breadcrumbs/index.d.ts.map +0 -1
- package/dist/types/components/button/button.d.ts.map +0 -1
- package/dist/types/components/card/card-block.d.ts.map +0 -1
- package/dist/types/components/card/card.d.ts.map +0 -1
- package/dist/types/components/card/index.d.ts.map +0 -1
- package/dist/types/components/checkbox/checkbox.d.ts.map +0 -1
- package/dist/types/components/chip/chips.d.ts.map +0 -1
- package/dist/types/components/chip/index.d.ts.map +0 -1
- package/dist/types/components/details/details-content.d.ts.map +0 -1
- package/dist/types/components/details/details-summary.d.ts.map +0 -1
- package/dist/types/components/details/details.d.ts.map +0 -1
- package/dist/types/components/details/index.d.ts.map +0 -1
- package/dist/types/components/dialog/dialog-block.d.ts.map +0 -1
- package/dist/types/components/dialog/dialog-trigger-context.d.ts.map +0 -1
- package/dist/types/components/dialog/dialog-trigger.d.ts.map +0 -1
- package/dist/types/components/dialog/dialog.d.ts.map +0 -1
- package/dist/types/components/dialog/index.d.ts.map +0 -1
- package/dist/types/components/divider/divider.d.ts.map +0 -1
- package/dist/types/components/dropdown/dropdown-button.d.ts.map +0 -1
- package/dist/types/components/dropdown/dropdown-heading.d.ts.map +0 -1
- package/dist/types/components/dropdown/dropdown-item.d.ts.map +0 -1
- package/dist/types/components/dropdown/dropdown-list.d.ts.map +0 -1
- package/dist/types/components/dropdown/dropdown-trigger-context.d.ts.map +0 -1
- package/dist/types/components/dropdown/dropdown-trigger.d.ts.map +0 -1
- package/dist/types/components/dropdown/dropdown.d.ts.map +0 -1
- package/dist/types/components/dropdown/index.d.ts.map +0 -1
- package/dist/types/components/error-summary/error-summary-heading.d.ts.map +0 -1
- package/dist/types/components/error-summary/error-summary-item.d.ts.map +0 -1
- package/dist/types/components/error-summary/error-summary-link.d.ts.map +0 -1
- package/dist/types/components/error-summary/error-summary-list.d.ts.map +0 -1
- package/dist/types/components/error-summary/error-summary.d.ts.map +0 -1
- package/dist/types/components/error-summary/index.d.ts.map +0 -1
- package/dist/types/components/field/field-affix.d.ts.map +0 -1
- package/dist/types/components/field/field-counter.d.ts.map +0 -1
- package/dist/types/components/field/field-description.d.ts.map +0 -1
- package/dist/types/components/field/field.d.ts.map +0 -1
- package/dist/types/components/field/index.d.ts.map +0 -1
- package/dist/types/components/fieldset/fieldset-description.d.ts.map +0 -1
- package/dist/types/components/fieldset/fieldset-legend.d.ts.map +0 -1
- package/dist/types/components/fieldset/fieldset.d.ts.map +0 -1
- package/dist/types/components/fieldset/index.d.ts.map +0 -1
- package/dist/types/components/heading/heading.d.ts.map +0 -1
- package/dist/types/components/index.d.ts.map +0 -1
- package/dist/types/components/input/input.d.ts.map +0 -1
- package/dist/types/components/label/label.d.ts.map +0 -1
- package/dist/types/components/link/link.d.ts.map +0 -1
- package/dist/types/components/list/index.d.ts.map +0 -1
- package/dist/types/components/list/list-item.d.ts.map +0 -1
- package/dist/types/components/list/lists.d.ts.map +0 -1
- package/dist/types/components/pagination/index.d.ts.map +0 -1
- package/dist/types/components/pagination/pagination-button.d.ts.map +0 -1
- package/dist/types/components/pagination/pagination-item.d.ts.map +0 -1
- package/dist/types/components/pagination/pagination-list.d.ts.map +0 -1
- package/dist/types/components/pagination/pagination.d.ts.map +0 -1
- package/dist/types/components/paragraph/paragraph.d.ts.map +0 -1
- package/dist/types/components/popover/index.d.ts.map +0 -1
- package/dist/types/components/popover/popover-trigger-context.d.ts.map +0 -1
- package/dist/types/components/popover/popover-trigger.d.ts.map +0 -1
- package/dist/types/components/popover/popover.d.ts.map +0 -1
- package/dist/types/components/radio/radio.d.ts.map +0 -1
- package/dist/types/components/search/index.d.ts.map +0 -1
- package/dist/types/components/search/search-button.d.ts.map +0 -1
- package/dist/types/components/search/search-clear.d.ts.map +0 -1
- package/dist/types/components/search/search-input.d.ts.map +0 -1
- package/dist/types/components/search/search.d.ts.map +0 -1
- package/dist/types/components/select/index.d.ts.map +0 -1
- package/dist/types/components/select/select-optgroup.d.ts.map +0 -1
- package/dist/types/components/select/select-option.d.ts.map +0 -1
- package/dist/types/components/select/select.d.ts.map +0 -1
- package/dist/types/components/skeleton/skeleton.d.ts.map +0 -1
- package/dist/types/components/skip-link/skip-link.d.ts.map +0 -1
- package/dist/types/components/spinner/spinner.d.ts.map +0 -1
- package/dist/types/components/suggestion/index.d.ts.map +0 -1
- package/dist/types/components/suggestion/suggestion-clear.d.ts.map +0 -1
- package/dist/types/components/suggestion/suggestion-empty.d.ts.map +0 -1
- package/dist/types/components/suggestion/suggestion-input.d.ts.map +0 -1
- package/dist/types/components/suggestion/suggestion-list.d.ts.map +0 -1
- package/dist/types/components/suggestion/suggestion-option.d.ts.map +0 -1
- package/dist/types/components/suggestion/suggestion.d.ts.map +0 -1
- package/dist/types/components/switch/switch.d.ts.map +0 -1
- package/dist/types/components/table/index.d.ts.map +0 -1
- package/dist/types/components/table/table-body.d.ts.map +0 -1
- package/dist/types/components/table/table-cell.d.ts.map +0 -1
- package/dist/types/components/table/table-foot.d.ts.map +0 -1
- package/dist/types/components/table/table-head.d.ts.map +0 -1
- package/dist/types/components/table/table-header-cell.d.ts.map +0 -1
- package/dist/types/components/table/table-row.d.ts.map +0 -1
- package/dist/types/components/table/table.d.ts.map +0 -1
- package/dist/types/components/tabs/index.d.ts.map +0 -1
- package/dist/types/components/tabs/tabs-list.d.ts.map +0 -1
- package/dist/types/components/tabs/tabs-panel.d.ts.map +0 -1
- package/dist/types/components/tabs/tabs-tab.d.ts.map +0 -1
- package/dist/types/components/tabs/tabs.d.ts.map +0 -1
- package/dist/types/components/tag/tag.d.ts.map +0 -1
- package/dist/types/components/textarea/textarea.d.ts.map +0 -1
- package/dist/types/components/textfield/textfield.d.ts.map +0 -1
- package/dist/types/components/toggle-group/index.d.ts.map +0 -1
- package/dist/types/components/toggle-group/toggle-group-item.d.ts.map +0 -1
- package/dist/types/components/toggle-group/toggle-group.d.ts.map +0 -1
- package/dist/types/components/tooltip/tooltip.d.ts.map +0 -1
- package/dist/types/components/validation-message/validation-message.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.d.ts.map +0 -1
- package/dist/types/utilities/hooks/deprecated/use-isomorphic-layout-effect/use-isomorphic-layout-effect.d.ts.map +0 -1
- package/dist/types/utilities/hooks/deprecated/use-media-query/use-media-query.d.ts.map +0 -1
- package/dist/types/utilities/hooks/index.d.ts.map +0 -1
- package/dist/types/utilities/hooks/use-checkbox-group/use-checkbox-group.d.ts.map +0 -1
- package/dist/types/utilities/hooks/use-merge-refs/use-merge-refs.d.ts.map +0 -1
- package/dist/types/utilities/hooks/use-pagination/use-pagination.d.ts.map +0 -1
- package/dist/types/utilities/hooks/use-radio-group/use-radio-group.d.ts.map +0 -1
- package/dist/types/utilities/hooks/use-synchronized-animation/use-synchronized-animation.d.ts.map +0 -1
- package/dist/types/utilities/index.d.ts.map +0 -1
- package/dist/types/utilities/roving-focus/roving-focus-item.d.ts.map +0 -1
- package/dist/types/utilities/roving-focus/roving-focus-root.d.ts.map +0 -1
- package/dist/types/utilities/roving-focus/use-roving-focus.d.ts.map +0 -1
- package/dist/types/utilities/types.d.ts.map +0 -1
|
@@ -12,9 +12,7 @@ var react = require('react');
|
|
|
12
12
|
* <Divider />
|
|
13
13
|
*/
|
|
14
14
|
const Divider = react.forwardRef(function Divider({ className, ...rest }, ref) {
|
|
15
|
-
return (
|
|
16
|
-
// biome-ignore lint/a11y/noAriaHiddenOnFocusable: <hr> is not foucsable but biome thinks it is
|
|
17
|
-
jsxRuntime.jsx("hr", { "aria-hidden": 'true', className: cl('ds-divider', className), ref: ref, ...rest }));
|
|
15
|
+
return (jsxRuntime.jsx("hr", { "aria-hidden": 'true', className: cl('ds-divider', className), ref: ref, ...rest }));
|
|
18
16
|
});
|
|
19
17
|
|
|
20
18
|
exports.Divider = Divider;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var cl = require('clsx/lite');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* FileUpload component to present a file upload area.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <Field>
|
|
13
|
+
* <Label>Upload file</Label>
|
|
14
|
+
* <FileUpload>
|
|
15
|
+
* <CloudUpIcon aria-hidden='true' />
|
|
16
|
+
* <Field.Description>Drop file here</Field.Description>
|
|
17
|
+
* <Field.Description>
|
|
18
|
+
* File must be in csv format and less than 2MB
|
|
19
|
+
* </Field.Description>
|
|
20
|
+
* <Button asChild data-variant='secondary'>
|
|
21
|
+
* <span>Upload file</span>
|
|
22
|
+
* </Button>
|
|
23
|
+
* <input type="file" />
|
|
24
|
+
* </FileUpload>
|
|
25
|
+
* </Field>
|
|
26
|
+
*/
|
|
27
|
+
const FileUpload = react.forwardRef(function FileUpload({ className, ...rest }, ref) {
|
|
28
|
+
return (jsxRuntime.jsx("div", { ref: ref, className: cl('ds-file-upload', className), ...rest }));
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
exports.FileUpload = FileUpload;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var fileUpload = require('./file-upload.js');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* FileUpload component to present a file upload area.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <Field>
|
|
11
|
+
* <Label>Upload file</Label>
|
|
12
|
+
* <FileUpload>
|
|
13
|
+
* <CloudUpIcon aria-hidden='true' />
|
|
14
|
+
* <Field.Description>Drop file here</Field.Description>
|
|
15
|
+
* <Field.Description>
|
|
16
|
+
* File must be in csv format and less than 2MB
|
|
17
|
+
* </Field.Description>
|
|
18
|
+
* <Button asChild data-variant='secondary'>
|
|
19
|
+
* <span>Upload file</span>
|
|
20
|
+
* </Button>
|
|
21
|
+
* <input type="file" />
|
|
22
|
+
* </FileUpload>
|
|
23
|
+
* </Field>
|
|
24
|
+
*/
|
|
25
|
+
const EXPERIMENTAL_FileUpload = fileUpload.FileUpload;
|
|
26
|
+
|
|
27
|
+
exports.EXPERIMENTAL_FileUpload = EXPERIMENTAL_FileUpload;
|
|
@@ -6,10 +6,6 @@ var reactSlot = require('@radix-ui/react-slot');
|
|
|
6
6
|
var cl = require('clsx/lite');
|
|
7
7
|
var react = require('react');
|
|
8
8
|
|
|
9
|
-
const render = (tagName, { asChild, className, ...rest }, ref) => {
|
|
10
|
-
const Component = asChild ? reactSlot.Slot : tagName;
|
|
11
|
-
return jsxRuntime.jsx(Component, { className: cl(`ds-list`, className), ref: ref, ...rest });
|
|
12
|
-
};
|
|
13
9
|
/**
|
|
14
10
|
* ListUnordered component, used to display a list of items.
|
|
15
11
|
* Renders a native `ul` element.
|
|
@@ -20,8 +16,9 @@ const render = (tagName, { asChild, className, ...rest }, ref) => {
|
|
|
20
16
|
* <ListItem>Item 2</ListItem>
|
|
21
17
|
* </ListUnordered>
|
|
22
18
|
*/
|
|
23
|
-
const ListUnordered = react.forwardRef(function ListUnordered(
|
|
24
|
-
|
|
19
|
+
const ListUnordered = react.forwardRef(function ListUnordered({ asChild, className, ...rest }, ref) {
|
|
20
|
+
const Component = asChild ? reactSlot.Slot : 'ul';
|
|
21
|
+
return (jsxRuntime.jsx(Component, { className: cl(`ds-list`, className), ref: ref, ...rest }));
|
|
25
22
|
});
|
|
26
23
|
/**
|
|
27
24
|
* ListOrdered component, used to display a list of items.
|
|
@@ -33,8 +30,9 @@ const ListUnordered = react.forwardRef(function ListUnordered(props, ref) {
|
|
|
33
30
|
* <ListItem>Item 2</ListItem>
|
|
34
31
|
* </ListOrdered>
|
|
35
32
|
*/
|
|
36
|
-
const ListOrdered = react.forwardRef(function ListOrdered(
|
|
37
|
-
|
|
33
|
+
const ListOrdered = react.forwardRef(function ListOrdered({ asChild, className, ...rest }, ref) {
|
|
34
|
+
const Component = asChild ? reactSlot.Slot : 'ol';
|
|
35
|
+
return (jsxRuntime.jsx(Component, { className: cl(`ds-list`, className), ref: ref, ...rest }));
|
|
38
36
|
});
|
|
39
37
|
|
|
40
38
|
exports.ListOrdered = ListOrdered;
|
|
@@ -9,6 +9,7 @@ require('@digdir/designsystemet-web');
|
|
|
9
9
|
var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
|
|
10
10
|
var popoverTriggerContext = require('./popover-trigger-context.js');
|
|
11
11
|
|
|
12
|
+
const IS_DROPDOWN = /(?:^|\s)ds-dropdown(?:\s|$)/;
|
|
12
13
|
/**
|
|
13
14
|
* Popover component, used to display content in a popover over an element.
|
|
14
15
|
*
|
|
@@ -26,7 +27,7 @@ var popoverTriggerContext = require('./popover-trigger-context.js');
|
|
|
26
27
|
* Content
|
|
27
28
|
* </Popover>
|
|
28
29
|
*/
|
|
29
|
-
const Popover = react.forwardRef(function Popover({ id, className, onClose, onOpen, open, variant, placement = 'top', autoPlacement = true, asChild = false, ...rest }, ref) {
|
|
30
|
+
const Popover = react.forwardRef(function Popover({ id, className = '', onClose, onOpen, open, variant, placement = 'top', autoPlacement = true, asChild = false, ...rest }, ref) {
|
|
30
31
|
const Component = asChild ? reactSlot.Slot : 'div';
|
|
31
32
|
const popoverRef = react.useRef(null);
|
|
32
33
|
const mergedRefs = useMergeRefs.useMergeRefs([popoverRef, ref]);
|
|
@@ -61,10 +62,12 @@ const Popover = react.forwardRef(function Popover({ id, className, onClose, onOp
|
|
|
61
62
|
}
|
|
62
63
|
};
|
|
63
64
|
popover?.togglePopover?.(controlledOpen);
|
|
64
|
-
if (controlledOpen)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
if (controlledOpen)
|
|
66
|
+
popover?.dispatchEvent(new CustomEvent('ds-toggle-source', {
|
|
67
|
+
bubbles: true,
|
|
68
|
+
composed: true, // Enable bubbling out of shadow DOM boundaries
|
|
69
|
+
detail: document.querySelector(trigger), // Since togglePopover({ source }) is not supported in all browsers yet
|
|
70
|
+
}));
|
|
68
71
|
document.addEventListener('click', handleClick, true); // Use capture to execute before React event API
|
|
69
72
|
document.addEventListener('keydown', handleKeydown);
|
|
70
73
|
return () => {
|
|
@@ -77,7 +80,9 @@ const Popover = react.forwardRef(function Popover({ id, className, onClose, onOp
|
|
|
77
80
|
if (id)
|
|
78
81
|
setPopoverId?.(id);
|
|
79
82
|
}, [id]);
|
|
80
|
-
return (jsxRuntime.jsx(Component, { className:
|
|
83
|
+
return (jsxRuntime.jsx(Component, { className:
|
|
84
|
+
// Prevent double className when using Dropdown component
|
|
85
|
+
cl(IS_DROPDOWN.test(className) ? undefined : 'ds-popover', className), id: id || popoverId, popover: 'manual', "data-placement": placement, "data-variant": variant, ref: mergedRefs, suppressHydrationWarning // Since _ds-floating adds attributes
|
|
81
86
|
: true, ...rest }));
|
|
82
87
|
});
|
|
83
88
|
// NOTE: This is not able to check if the popover is the most recently added #topLayer,
|
|
@@ -7,6 +7,7 @@ var suggestionEmpty = require('./suggestion-empty.js');
|
|
|
7
7
|
var suggestionInput = require('./suggestion-input.js');
|
|
8
8
|
var suggestionList = require('./suggestion-list.js');
|
|
9
9
|
var suggestionOption = require('./suggestion-option.js');
|
|
10
|
+
var suggestionToggle = require('./suggestion-toggle.js');
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* A component that provides a suggestion list for an input field.
|
|
@@ -14,6 +15,7 @@ var suggestionOption = require('./suggestion-option.js');
|
|
|
14
15
|
* @example
|
|
15
16
|
* <Suggestion>
|
|
16
17
|
* <Suggestion.Input />
|
|
18
|
+
* <Suggestion.Toggle />
|
|
17
19
|
* <Suggestion.Clear />
|
|
18
20
|
* <Suggestion.List>
|
|
19
21
|
* <Suggestion.Empty>Tomt</Suggestion.Empty>
|
|
@@ -27,6 +29,7 @@ const EXPERIMENTAL_Suggestion = Object.assign(suggestion.Suggestion, {
|
|
|
27
29
|
Input: suggestionInput.SuggestionInput,
|
|
28
30
|
Empty: suggestionEmpty.SuggestionEmpty,
|
|
29
31
|
Option: suggestionOption.SuggestionOption,
|
|
32
|
+
Toggle: suggestionToggle.SuggestionToggle,
|
|
30
33
|
Clear: suggestionClear.SuggestionClear,
|
|
31
34
|
});
|
|
32
35
|
EXPERIMENTAL_Suggestion.displayName = 'EXPERIMENTAL_Suggestion';
|
|
@@ -34,6 +37,7 @@ EXPERIMENTAL_Suggestion.List.displayName = 'EXPERIMENTAL_Suggestion.List';
|
|
|
34
37
|
EXPERIMENTAL_Suggestion.Input.displayName = 'EXPERIMENTAL_Suggestion.Input';
|
|
35
38
|
EXPERIMENTAL_Suggestion.Empty.displayName = 'EXPERIMENTAL_Suggestion.Empty';
|
|
36
39
|
EXPERIMENTAL_Suggestion.Option.displayName = 'EXPERIMENTAL_Suggestion.Option';
|
|
40
|
+
EXPERIMENTAL_Suggestion.Toggle.displayName = 'EXPERIMENTAL_Suggestion.Toggle';
|
|
37
41
|
EXPERIMENTAL_Suggestion.Clear.displayName = 'EXPERIMENTAL_Suggestion.Clear';
|
|
38
42
|
|
|
39
43
|
exports.EXPERIMENTAL_SuggestionClear = suggestionClear.SuggestionClear;
|
|
@@ -41,4 +45,5 @@ exports.EXPERIMENTAL_SuggestionEmpty = suggestionEmpty.SuggestionEmpty;
|
|
|
41
45
|
exports.EXPERIMENTAL_SuggestionInput = suggestionInput.SuggestionInput;
|
|
42
46
|
exports.EXPERIMENTAL_SuggestionList = suggestionList.SuggestionList;
|
|
43
47
|
exports.EXPERIMENTAL_SuggestionOption = suggestionOption.SuggestionOption;
|
|
48
|
+
exports.EXPERIMENTAL_SuggestionToggle = suggestionToggle.SuggestionToggle;
|
|
44
49
|
exports.EXPERIMENTAL_Suggestion = EXPERIMENTAL_Suggestion;
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var react = require('react');
|
|
6
|
-
var suggestion = require('./suggestion.js');
|
|
7
6
|
require('@digdir/designsystemet-web');
|
|
8
7
|
|
|
9
8
|
/**
|
|
@@ -17,9 +16,8 @@ require('@digdir/designsystemet-web');
|
|
|
17
16
|
* </Suggestion.List>
|
|
18
17
|
*/
|
|
19
18
|
const SuggestionEmpty = react.forwardRef(function SuggestionEmpty(rest, ref) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
: true, value: '', ...rest })) : null;
|
|
19
|
+
return (jsxRuntime.jsx("u-option", { "data-empty": true, ref: ref, suppressHydrationWarning // Since <u-option> adds attributes
|
|
20
|
+
: true, ...rest }));
|
|
23
21
|
});
|
|
24
22
|
|
|
25
23
|
exports.SuggestionEmpty = SuggestionEmpty;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Component that provides a toggle button for the Suggestion list.
|
|
9
|
+
*
|
|
10
|
+
* Place as a descendant of `Suggestion`
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* <Suggestion>
|
|
14
|
+
* <Suggestion.Input />
|
|
15
|
+
* <Suggestion.Toggle />
|
|
16
|
+
* <Suggestion.Clear />
|
|
17
|
+
* <Suggestion.List />
|
|
18
|
+
* </Suggestion>
|
|
19
|
+
*/
|
|
20
|
+
const SuggestionToggle = react.forwardRef(function SuggestionToggle({ 'aria-label': label = 'Valg', ...rest }, ref) {
|
|
21
|
+
return (jsxRuntime.jsx("button", { "aria-expanded": 'false', "aria-label": label, ref: ref, suppressHydrationWarning // Since <ds-suggestion> adds attributes
|
|
22
|
+
: true, type: 'button', ...rest }));
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
exports.SuggestionToggle = SuggestionToggle;
|
|
@@ -28,7 +28,6 @@ const Suggestion = react.forwardRef(function Suggestion({ children, className, c
|
|
|
28
28
|
const selectId = rest.id ? `${rest.id}-select` : genId;
|
|
29
29
|
const isControlled = selected !== undefined;
|
|
30
30
|
const mergedRefs = useMergeRefs.useMergeRefs([ref, dsSuggestionRef]);
|
|
31
|
-
const [isEmpty, setIsEmpty] = react.useState(false);
|
|
32
31
|
const [defaultItems, setDefaultItems] = react.useState(sanitizeItems(defaultSelected));
|
|
33
32
|
const selectedItems = selected ? sanitizeItems(selected) : defaultItems;
|
|
34
33
|
const onSelectedChangeRef = react.useRef(onSelectedChange);
|
|
@@ -72,7 +71,7 @@ const Suggestion = react.forwardRef(function Suggestion({ children, className, c
|
|
|
72
71
|
const filterFn = filter === true ? defaultFilter : filter;
|
|
73
72
|
let disabled = 0;
|
|
74
73
|
let index = 0;
|
|
75
|
-
for (const option of options)
|
|
74
|
+
for (const option of Array.from(options))
|
|
76
75
|
if (!option.hasAttribute('data-empty')) {
|
|
77
76
|
if (filterFn && input)
|
|
78
77
|
option.disabled =
|
|
@@ -86,9 +85,8 @@ const Suggestion = react.forwardRef(function Suggestion({ children, className, c
|
|
|
86
85
|
}) && Boolean(++disabled);
|
|
87
86
|
index++; // Increment index for each <option>
|
|
88
87
|
}
|
|
89
|
-
setIsEmpty(index === disabled);
|
|
90
88
|
}, [filter]);
|
|
91
|
-
return (jsxRuntime.jsx(SuggestionContext.Provider, { value: {
|
|
89
|
+
return (jsxRuntime.jsx(SuggestionContext.Provider, { value: { handleFilter, dsSuggestionRef }, children: jsxRuntime.jsxs("ds-suggestion", { "data-multiple": multiple || undefined, "data-creatable": creatable || undefined, class: cl('ds-suggestion', className), ref: mergedRefs, suppressHydrationWarning // Since <ds-suggestion> adds attributes
|
|
92
90
|
: true, ...rest, children: [selectedItems.map((item) => (jsxRuntime.jsx("data", { value: item.value, children: renderSelected(item) }, item.value))), children, !!name && (jsxRuntime.jsx("select", { name: name, multiple: true, hidden: true, id: selectId }))] }) }));
|
|
93
91
|
});
|
|
94
92
|
const SuggestionContext = react.createContext({
|
|
@@ -20,8 +20,8 @@ var fieldAffix = require('../field/field-affix.js');
|
|
|
20
20
|
* @example
|
|
21
21
|
* <Textfield label="Textfield label">
|
|
22
22
|
*/
|
|
23
|
-
const Textfield = react.forwardRef(function Textfield({ label: label$1, description, error, multiline, prefix, suffix, 'data-size': size, counter, style, className, ...rest }, ref) {
|
|
24
|
-
return (jsxRuntime.jsxs(index.Field, { className: className, "data-size": size, style: style, children: [!!label$1 && jsxRuntime.jsx(label.Label, { children: label$1 }), !!description && jsxRuntime.jsx(fieldDescription.FieldDescription, { children: description }), jsxRuntime.jsxs(fieldAffix.FieldAffixes, { children: [prefix === undefined || jsxRuntime.jsx(fieldAffix.FieldAffix, { children: prefix }), multiline === true ? (jsxRuntime.jsx(textarea.Textarea, { ref: ref, "aria-invalid": Boolean(error) || undefined, ...rest })) : (jsxRuntime.jsx(input.Input, { ref: ref, "aria-invalid": Boolean(error) || undefined, ...rest })), suffix === undefined || jsxRuntime.jsx(fieldAffix.FieldAffix, { children: suffix })] }), !!counter && (jsxRuntime.jsx(index.Field.Counter, { ...(typeof counter === 'number' ? { limit: counter } : counter) })), !!error && jsxRuntime.jsx(validationMessage.ValidationMessage, { children: error })] }));
|
|
23
|
+
const Textfield = react.forwardRef(function Textfield({ label: label$1, description, error, multiline, prefix, suffix, 'data-color': color, 'data-size': size, counter, style, className, ...rest }, ref) {
|
|
24
|
+
return (jsxRuntime.jsxs(index.Field, { className: className, "data-color": color, "data-size": size, style: style, children: [!!label$1 && jsxRuntime.jsx(label.Label, { children: label$1 }), !!description && jsxRuntime.jsx(fieldDescription.FieldDescription, { children: description }), jsxRuntime.jsxs(fieldAffix.FieldAffixes, { children: [prefix === undefined || jsxRuntime.jsx(fieldAffix.FieldAffix, { children: prefix }), multiline === true ? (jsxRuntime.jsx(textarea.Textarea, { ref: ref, "aria-invalid": Boolean(error) || undefined, ...rest })) : (jsxRuntime.jsx(input.Input, { ref: ref, "aria-invalid": Boolean(error) || undefined, ...rest })), suffix === undefined || jsxRuntime.jsx(fieldAffix.FieldAffix, { children: suffix })] }), !!counter && (jsxRuntime.jsx(index.Field.Counter, { ...(typeof counter === 'number' ? { limit: counter } : counter) })), !!error && jsxRuntime.jsx(validationMessage.ValidationMessage, { children: error })] }));
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
exports.Textfield = Textfield;
|
|
@@ -8,7 +8,7 @@ var toggleGroupItem = require('./toggle-group-item.js');
|
|
|
8
8
|
* Display a group of buttons that can be toggled between.
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
|
-
* <ToggleGroup
|
|
11
|
+
* <ToggleGroup aria-label="Label" onChange={(value) => console.log(value)}>
|
|
12
12
|
* <ToggleGroup.Item value='1'>Toggle 1</ToggleGroup.Item>
|
|
13
13
|
* <ToggleGroup.Item value='2'>Toggle 2</ToggleGroup.Item>
|
|
14
14
|
* <ToggleGroup.Item value='3'>Toggle 3</ToggleGroup.Item>
|
|
@@ -16,8 +16,8 @@ const ToggleGroupItem = react.forwardRef(function ToggleGroupItem({ className, c
|
|
|
16
16
|
const toggleGroup$1 = react.useContext(toggleGroup.ToggleGroupContext);
|
|
17
17
|
const value = rawValue ?? genValue;
|
|
18
18
|
const active = toggleGroup$1.value === value;
|
|
19
|
-
const { 'aria-disabled': ariaDisabled, disabled, form, formAction, formEncType, formMethod, formNoValidate, formTarget, required, ...labelProps } = rest;
|
|
20
|
-
return (jsxRuntime.jsxs("label", { ref: ref, ...labelProps, className: cl('ds-button', className), "data-variant": 'tertiary', "aria-disabled": ariaDisabled ?? disabled, children: [jsxRuntime.jsx("input", { "aria-disabled": ariaDisabled, checked: active, disabled: disabled, form: form, formAction: formAction, formEncType: formEncType, formMethod: formMethod, formNoValidate: formNoValidate, formTarget: formTarget, name: toggleGroup$1.name, onChange: () => toggleGroup$1.onChange?.(value), required: required, type: 'radio', value: value }), children] }));
|
|
19
|
+
const { 'aria-disabled': ariaDisabled, disabled, readOnly, form, formAction, formEncType, formMethod, formNoValidate, formTarget, required, ...labelProps } = rest;
|
|
20
|
+
return (jsxRuntime.jsxs("label", { ref: ref, ...labelProps, className: cl('ds-button', className), "data-variant": 'tertiary', "aria-disabled": ariaDisabled ?? disabled, children: [jsxRuntime.jsx("input", { "aria-disabled": ariaDisabled, checked: active, disabled: disabled, readOnly: readOnly, form: form, formAction: formAction, formEncType: formEncType, formMethod: formMethod, formNoValidate: formNoValidate, formTarget: formTarget, name: toggleGroup$1.name, onChange: () => toggleGroup$1.onChange?.(value), required: required, type: 'radio', value: value }), children] }));
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
exports.ToggleGroupItem = ToggleGroupItem;
|
|
@@ -10,13 +10,13 @@ const ToggleGroupContext = react.createContext({});
|
|
|
10
10
|
* Display a group of buttons that can be toggled between.
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
|
-
* <ToggleGroup
|
|
13
|
+
* <ToggleGroup aria-label="Label" onChange={(value) => console.log(value)}>
|
|
14
14
|
* <ToggleGroup.Item value='1'>Toggle 1</ToggleGroup.Item>
|
|
15
15
|
* <ToggleGroup.Item value='2'>Toggle 2</ToggleGroup.Item>
|
|
16
16
|
* <ToggleGroup.Item value='3'>Toggle 3</ToggleGroup.Item>
|
|
17
17
|
* </ToggleGroup>
|
|
18
18
|
*/
|
|
19
|
-
const ToggleGroup = react.forwardRef(function ToggleGroup({ children, className, defaultValue, name, onChange, value, variant, ...rest }, ref) {
|
|
19
|
+
const ToggleGroup = react.forwardRef(function ToggleGroup({ 'data-toggle-group': label, children, className, defaultValue, name, onChange, value, variant, ...rest }, ref) {
|
|
20
20
|
const nameId = react.useId();
|
|
21
21
|
const isControlled = value !== undefined;
|
|
22
22
|
const [uncontrolledValue, setUncontrolledValue] = react.useState(defaultValue);
|
|
@@ -34,9 +34,8 @@ const ToggleGroup = react.forwardRef(function ToggleGroup({ children, className,
|
|
|
34
34
|
onChange: onValueChange,
|
|
35
35
|
value,
|
|
36
36
|
variant,
|
|
37
|
-
}, children: jsxRuntime.jsx("fieldset", { className: cl('ds-toggle-group', className), "data-
|
|
38
|
-
|
|
39
|
-
: true, ref: ref, ...rest, children: children }) }));
|
|
37
|
+
}, children: jsxRuntime.jsx("fieldset", { "aria-label": label, className: cl('ds-toggle-group', className), "data-variant": variant, focusgroup: 'radiogroup', ref: ref, suppressHydrationWarning // Since @digdir/designsystemet-web adds attributes
|
|
38
|
+
: true, ...rest, children: children }) }));
|
|
40
39
|
});
|
|
41
40
|
|
|
42
41
|
exports.ToggleGroup = ToggleGroup;
|
package/dist/cjs/index.js
CHANGED
|
@@ -16,31 +16,32 @@ var index$5 = require('./components/details/index.js');
|
|
|
16
16
|
var index$6 = require('./components/dialog/index.js');
|
|
17
17
|
var divider = require('./components/divider/divider.js');
|
|
18
18
|
var index$7 = require('./components/dropdown/index.js');
|
|
19
|
-
var index$
|
|
20
|
-
var index$
|
|
21
|
-
var index$
|
|
19
|
+
var index$a = require('./components/error-summary/index.js');
|
|
20
|
+
var index$b = require('./components/field/index.js');
|
|
21
|
+
var index$c = require('./components/fieldset/index.js');
|
|
22
|
+
var index$8 = require('./components/file-upload/index.js');
|
|
22
23
|
var heading = require('./components/heading/heading.js');
|
|
23
24
|
var input = require('./components/input/input.js');
|
|
24
25
|
var label = require('./components/label/label.js');
|
|
25
26
|
var link = require('./components/link/link.js');
|
|
26
|
-
var index$
|
|
27
|
-
var index$
|
|
27
|
+
var index$d = require('./components/list/index.js');
|
|
28
|
+
var index$e = require('./components/pagination/index.js');
|
|
28
29
|
var paragraph = require('./components/paragraph/paragraph.js');
|
|
29
|
-
var index$
|
|
30
|
+
var index$f = require('./components/popover/index.js');
|
|
30
31
|
var radio = require('./components/radio/radio.js');
|
|
31
|
-
var index$
|
|
32
|
-
var index$
|
|
32
|
+
var index$g = require('./components/search/index.js');
|
|
33
|
+
var index$h = require('./components/select/index.js');
|
|
33
34
|
var skeleton = require('./components/skeleton/skeleton.js');
|
|
34
35
|
var skipLink = require('./components/skip-link/skip-link.js');
|
|
35
36
|
var spinner = require('./components/spinner/spinner.js');
|
|
36
|
-
var index$
|
|
37
|
+
var index$9 = require('./components/suggestion/index.js');
|
|
37
38
|
var _switch = require('./components/switch/switch.js');
|
|
38
|
-
var index$
|
|
39
|
-
var index$
|
|
39
|
+
var index$i = require('./components/table/index.js');
|
|
40
|
+
var index$j = require('./components/tabs/index.js');
|
|
40
41
|
var tag = require('./components/tag/tag.js');
|
|
41
42
|
var textarea = require('./components/textarea/textarea.js');
|
|
42
43
|
var textfield = require('./components/textfield/textfield.js');
|
|
43
|
-
var index$
|
|
44
|
+
var index$k = require('./components/toggle-group/index.js');
|
|
44
45
|
var tooltip = require('./components/tooltip/tooltip.js');
|
|
45
46
|
var validationMessage = require('./components/validation-message/validation-message.js');
|
|
46
47
|
var omit = require('./components/Combobox/omit/omit.js');
|
|
@@ -78,6 +79,7 @@ var suggestionEmpty = require('./components/suggestion/suggestion-empty.js');
|
|
|
78
79
|
var suggestionInput = require('./components/suggestion/suggestion-input.js');
|
|
79
80
|
var suggestionList = require('./components/suggestion/suggestion-list.js');
|
|
80
81
|
var suggestionOption = require('./components/suggestion/suggestion-option.js');
|
|
82
|
+
var suggestionToggle = require('./components/suggestion/suggestion-toggle.js');
|
|
81
83
|
var errorSummaryHeading = require('./components/error-summary/error-summary-heading.js');
|
|
82
84
|
var errorSummaryItem = require('./components/error-summary/error-summary-item.js');
|
|
83
85
|
var errorSummaryLink = require('./components/error-summary/error-summary-link.js');
|
|
@@ -126,31 +128,32 @@ exports.Details = index$5.Details;
|
|
|
126
128
|
exports.Dialog = index$6.Dialog;
|
|
127
129
|
exports.Divider = divider.Divider;
|
|
128
130
|
exports.Dropdown = index$7.Dropdown;
|
|
129
|
-
exports.ErrorSummary = index$
|
|
130
|
-
exports.Field = index$
|
|
131
|
-
exports.Fieldset = index$
|
|
131
|
+
exports.ErrorSummary = index$a.ErrorSummary;
|
|
132
|
+
exports.Field = index$b.Field;
|
|
133
|
+
exports.Fieldset = index$c.Fieldset;
|
|
134
|
+
exports.EXPERIMENTAL_FileUpload = index$8.EXPERIMENTAL_FileUpload;
|
|
132
135
|
exports.Heading = heading.Heading;
|
|
133
136
|
exports.Input = input.Input;
|
|
134
137
|
exports.Label = label.Label;
|
|
135
138
|
exports.Link = link.Link;
|
|
136
|
-
exports.List = index$
|
|
137
|
-
exports.Pagination = index$
|
|
139
|
+
exports.List = index$d.List;
|
|
140
|
+
exports.Pagination = index$e.Pagination;
|
|
138
141
|
exports.Paragraph = paragraph.Paragraph;
|
|
139
|
-
exports.Popover = index$
|
|
142
|
+
exports.Popover = index$f.Popover;
|
|
140
143
|
exports.Radio = radio.Radio;
|
|
141
|
-
exports.Search = index$
|
|
142
|
-
exports.Select = index$
|
|
144
|
+
exports.Search = index$g.Search;
|
|
145
|
+
exports.Select = index$h.Select;
|
|
143
146
|
exports.Skeleton = skeleton.Skeleton;
|
|
144
147
|
exports.SkipLink = skipLink.SkipLink;
|
|
145
148
|
exports.Spinner = spinner.Spinner;
|
|
146
|
-
exports.EXPERIMENTAL_Suggestion = index$
|
|
149
|
+
exports.EXPERIMENTAL_Suggestion = index$9.EXPERIMENTAL_Suggestion;
|
|
147
150
|
exports.Switch = _switch.Switch;
|
|
148
|
-
exports.Table = index$
|
|
149
|
-
exports.Tabs = index$
|
|
151
|
+
exports.Table = index$i.Table;
|
|
152
|
+
exports.Tabs = index$j.Tabs;
|
|
150
153
|
exports.Tag = tag.Tag;
|
|
151
154
|
exports.Textarea = textarea.Textarea;
|
|
152
155
|
exports.Textfield = textfield.Textfield;
|
|
153
|
-
exports.ToggleGroup = index$
|
|
156
|
+
exports.ToggleGroup = index$k.ToggleGroup;
|
|
154
157
|
exports.Tooltip = tooltip.Tooltip;
|
|
155
158
|
exports.ValidationMessage = validationMessage.ValidationMessage;
|
|
156
159
|
exports.omit = omit.omit;
|
|
@@ -190,6 +193,7 @@ exports.EXPERIMENTAL_SuggestionEmpty = suggestionEmpty.SuggestionEmpty;
|
|
|
190
193
|
exports.EXPERIMENTAL_SuggestionInput = suggestionInput.SuggestionInput;
|
|
191
194
|
exports.EXPERIMENTAL_SuggestionList = suggestionList.SuggestionList;
|
|
192
195
|
exports.EXPERIMENTAL_SuggestionOption = suggestionOption.SuggestionOption;
|
|
196
|
+
exports.EXPERIMENTAL_SuggestionToggle = suggestionToggle.SuggestionToggle;
|
|
193
197
|
exports.ErrorSummaryHeading = errorSummaryHeading.ErrorSummaryHeading;
|
|
194
198
|
exports.ErrorSummaryItem = errorSummaryItem.ErrorSummaryItem;
|
|
195
199
|
exports.ErrorSummaryLink = errorSummaryLink.ErrorSummaryLink;
|
|
@@ -10,9 +10,7 @@ import { forwardRef } from 'react';
|
|
|
10
10
|
* <Divider />
|
|
11
11
|
*/
|
|
12
12
|
const Divider = forwardRef(function Divider({ className, ...rest }, ref) {
|
|
13
|
-
return (
|
|
14
|
-
// biome-ignore lint/a11y/noAriaHiddenOnFocusable: <hr> is not foucsable but biome thinks it is
|
|
15
|
-
jsx("hr", { "aria-hidden": 'true', className: cl('ds-divider', className), ref: ref, ...rest }));
|
|
13
|
+
return (jsx("hr", { "aria-hidden": 'true', className: cl('ds-divider', className), ref: ref, ...rest }));
|
|
16
14
|
});
|
|
17
15
|
|
|
18
16
|
export { Divider };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import cl from 'clsx/lite';
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* FileUpload component to present a file upload area.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <Field>
|
|
11
|
+
* <Label>Upload file</Label>
|
|
12
|
+
* <FileUpload>
|
|
13
|
+
* <CloudUpIcon aria-hidden='true' />
|
|
14
|
+
* <Field.Description>Drop file here</Field.Description>
|
|
15
|
+
* <Field.Description>
|
|
16
|
+
* File must be in csv format and less than 2MB
|
|
17
|
+
* </Field.Description>
|
|
18
|
+
* <Button asChild data-variant='secondary'>
|
|
19
|
+
* <span>Upload file</span>
|
|
20
|
+
* </Button>
|
|
21
|
+
* <input type="file" />
|
|
22
|
+
* </FileUpload>
|
|
23
|
+
* </Field>
|
|
24
|
+
*/
|
|
25
|
+
const FileUpload = forwardRef(function FileUpload({ className, ...rest }, ref) {
|
|
26
|
+
return (jsx("div", { ref: ref, className: cl('ds-file-upload', className), ...rest }));
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export { FileUpload };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { FileUpload } from './file-upload.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* FileUpload component to present a file upload area.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* <Field>
|
|
9
|
+
* <Label>Upload file</Label>
|
|
10
|
+
* <FileUpload>
|
|
11
|
+
* <CloudUpIcon aria-hidden='true' />
|
|
12
|
+
* <Field.Description>Drop file here</Field.Description>
|
|
13
|
+
* <Field.Description>
|
|
14
|
+
* File must be in csv format and less than 2MB
|
|
15
|
+
* </Field.Description>
|
|
16
|
+
* <Button asChild data-variant='secondary'>
|
|
17
|
+
* <span>Upload file</span>
|
|
18
|
+
* </Button>
|
|
19
|
+
* <input type="file" />
|
|
20
|
+
* </FileUpload>
|
|
21
|
+
* </Field>
|
|
22
|
+
*/
|
|
23
|
+
const EXPERIMENTAL_FileUpload = FileUpload;
|
|
24
|
+
|
|
25
|
+
export { EXPERIMENTAL_FileUpload };
|
|
@@ -4,10 +4,6 @@ import { Slot } from '@radix-ui/react-slot';
|
|
|
4
4
|
import cl from 'clsx/lite';
|
|
5
5
|
import { forwardRef } from 'react';
|
|
6
6
|
|
|
7
|
-
const render = (tagName, { asChild, className, ...rest }, ref) => {
|
|
8
|
-
const Component = asChild ? Slot : tagName;
|
|
9
|
-
return jsx(Component, { className: cl(`ds-list`, className), ref: ref, ...rest });
|
|
10
|
-
};
|
|
11
7
|
/**
|
|
12
8
|
* ListUnordered component, used to display a list of items.
|
|
13
9
|
* Renders a native `ul` element.
|
|
@@ -18,8 +14,9 @@ const render = (tagName, { asChild, className, ...rest }, ref) => {
|
|
|
18
14
|
* <ListItem>Item 2</ListItem>
|
|
19
15
|
* </ListUnordered>
|
|
20
16
|
*/
|
|
21
|
-
const ListUnordered = forwardRef(function ListUnordered(
|
|
22
|
-
|
|
17
|
+
const ListUnordered = forwardRef(function ListUnordered({ asChild, className, ...rest }, ref) {
|
|
18
|
+
const Component = asChild ? Slot : 'ul';
|
|
19
|
+
return (jsx(Component, { className: cl(`ds-list`, className), ref: ref, ...rest }));
|
|
23
20
|
});
|
|
24
21
|
/**
|
|
25
22
|
* ListOrdered component, used to display a list of items.
|
|
@@ -31,8 +28,9 @@ const ListUnordered = forwardRef(function ListUnordered(props, ref) {
|
|
|
31
28
|
* <ListItem>Item 2</ListItem>
|
|
32
29
|
* </ListOrdered>
|
|
33
30
|
*/
|
|
34
|
-
const ListOrdered = forwardRef(function ListOrdered(
|
|
35
|
-
|
|
31
|
+
const ListOrdered = forwardRef(function ListOrdered({ asChild, className, ...rest }, ref) {
|
|
32
|
+
const Component = asChild ? Slot : 'ol';
|
|
33
|
+
return (jsx(Component, { className: cl(`ds-list`, className), ref: ref, ...rest }));
|
|
36
34
|
});
|
|
37
35
|
|
|
38
36
|
export { ListOrdered, ListUnordered };
|
|
@@ -7,6 +7,7 @@ import '@digdir/designsystemet-web';
|
|
|
7
7
|
import { useMergeRefs } from '../../utilities/hooks/use-merge-refs/use-merge-refs.js';
|
|
8
8
|
import { Context } from './popover-trigger-context.js';
|
|
9
9
|
|
|
10
|
+
const IS_DROPDOWN = /(?:^|\s)ds-dropdown(?:\s|$)/;
|
|
10
11
|
/**
|
|
11
12
|
* Popover component, used to display content in a popover over an element.
|
|
12
13
|
*
|
|
@@ -24,7 +25,7 @@ import { Context } from './popover-trigger-context.js';
|
|
|
24
25
|
* Content
|
|
25
26
|
* </Popover>
|
|
26
27
|
*/
|
|
27
|
-
const Popover = forwardRef(function Popover({ id, className, onClose, onOpen, open, variant, placement = 'top', autoPlacement = true, asChild = false, ...rest }, ref) {
|
|
28
|
+
const Popover = forwardRef(function Popover({ id, className = '', onClose, onOpen, open, variant, placement = 'top', autoPlacement = true, asChild = false, ...rest }, ref) {
|
|
28
29
|
const Component = asChild ? Slot : 'div';
|
|
29
30
|
const popoverRef = useRef(null);
|
|
30
31
|
const mergedRefs = useMergeRefs([popoverRef, ref]);
|
|
@@ -59,10 +60,12 @@ const Popover = forwardRef(function Popover({ id, className, onClose, onOpen, op
|
|
|
59
60
|
}
|
|
60
61
|
};
|
|
61
62
|
popover?.togglePopover?.(controlledOpen);
|
|
62
|
-
if (controlledOpen)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
if (controlledOpen)
|
|
64
|
+
popover?.dispatchEvent(new CustomEvent('ds-toggle-source', {
|
|
65
|
+
bubbles: true,
|
|
66
|
+
composed: true, // Enable bubbling out of shadow DOM boundaries
|
|
67
|
+
detail: document.querySelector(trigger), // Since togglePopover({ source }) is not supported in all browsers yet
|
|
68
|
+
}));
|
|
66
69
|
document.addEventListener('click', handleClick, true); // Use capture to execute before React event API
|
|
67
70
|
document.addEventListener('keydown', handleKeydown);
|
|
68
71
|
return () => {
|
|
@@ -75,7 +78,9 @@ const Popover = forwardRef(function Popover({ id, className, onClose, onOpen, op
|
|
|
75
78
|
if (id)
|
|
76
79
|
setPopoverId?.(id);
|
|
77
80
|
}, [id]);
|
|
78
|
-
return (jsx(Component, { className:
|
|
81
|
+
return (jsx(Component, { className:
|
|
82
|
+
// Prevent double className when using Dropdown component
|
|
83
|
+
cl(IS_DROPDOWN.test(className) ? undefined : 'ds-popover', className), id: id || popoverId, popover: 'manual', "data-placement": placement, "data-variant": variant, ref: mergedRefs, suppressHydrationWarning // Since _ds-floating adds attributes
|
|
79
84
|
: true, ...rest }));
|
|
80
85
|
});
|
|
81
86
|
// NOTE: This is not able to check if the popover is the most recently added #topLayer,
|
|
@@ -5,6 +5,7 @@ import { SuggestionEmpty } from './suggestion-empty.js';
|
|
|
5
5
|
import { SuggestionInput } from './suggestion-input.js';
|
|
6
6
|
import { SuggestionList } from './suggestion-list.js';
|
|
7
7
|
import { SuggestionOption } from './suggestion-option.js';
|
|
8
|
+
import { SuggestionToggle } from './suggestion-toggle.js';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* A component that provides a suggestion list for an input field.
|
|
@@ -12,6 +13,7 @@ import { SuggestionOption } from './suggestion-option.js';
|
|
|
12
13
|
* @example
|
|
13
14
|
* <Suggestion>
|
|
14
15
|
* <Suggestion.Input />
|
|
16
|
+
* <Suggestion.Toggle />
|
|
15
17
|
* <Suggestion.Clear />
|
|
16
18
|
* <Suggestion.List>
|
|
17
19
|
* <Suggestion.Empty>Tomt</Suggestion.Empty>
|
|
@@ -25,6 +27,7 @@ const EXPERIMENTAL_Suggestion = Object.assign(Suggestion, {
|
|
|
25
27
|
Input: SuggestionInput,
|
|
26
28
|
Empty: SuggestionEmpty,
|
|
27
29
|
Option: SuggestionOption,
|
|
30
|
+
Toggle: SuggestionToggle,
|
|
28
31
|
Clear: SuggestionClear,
|
|
29
32
|
});
|
|
30
33
|
EXPERIMENTAL_Suggestion.displayName = 'EXPERIMENTAL_Suggestion';
|
|
@@ -32,6 +35,7 @@ EXPERIMENTAL_Suggestion.List.displayName = 'EXPERIMENTAL_Suggestion.List';
|
|
|
32
35
|
EXPERIMENTAL_Suggestion.Input.displayName = 'EXPERIMENTAL_Suggestion.Input';
|
|
33
36
|
EXPERIMENTAL_Suggestion.Empty.displayName = 'EXPERIMENTAL_Suggestion.Empty';
|
|
34
37
|
EXPERIMENTAL_Suggestion.Option.displayName = 'EXPERIMENTAL_Suggestion.Option';
|
|
38
|
+
EXPERIMENTAL_Suggestion.Toggle.displayName = 'EXPERIMENTAL_Suggestion.Toggle';
|
|
35
39
|
EXPERIMENTAL_Suggestion.Clear.displayName = 'EXPERIMENTAL_Suggestion.Clear';
|
|
36
40
|
|
|
37
|
-
export { EXPERIMENTAL_Suggestion, SuggestionClear as EXPERIMENTAL_SuggestionClear, SuggestionEmpty as EXPERIMENTAL_SuggestionEmpty, SuggestionInput as EXPERIMENTAL_SuggestionInput, SuggestionList as EXPERIMENTAL_SuggestionList, SuggestionOption as EXPERIMENTAL_SuggestionOption };
|
|
41
|
+
export { EXPERIMENTAL_Suggestion, SuggestionClear as EXPERIMENTAL_SuggestionClear, SuggestionEmpty as EXPERIMENTAL_SuggestionEmpty, SuggestionInput as EXPERIMENTAL_SuggestionInput, SuggestionList as EXPERIMENTAL_SuggestionList, SuggestionOption as EXPERIMENTAL_SuggestionOption, SuggestionToggle as EXPERIMENTAL_SuggestionToggle };
|