@digdir/designsystemet-react 0.0.0-deps-tsdown-20260421103939
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/LICENSE +7 -0
- package/README.md +14 -0
- package/dist/cjs/components/Combobox/Combobox.js +206 -0
- package/dist/cjs/components/Combobox/ComboboxContext.js +8 -0
- package/dist/cjs/components/Combobox/ComboboxIdContext.js +42 -0
- package/dist/cjs/components/Combobox/Custom.js +36 -0
- package/dist/cjs/components/Combobox/Empty.js +20 -0
- package/dist/cjs/components/Combobox/Option/Description.js +13 -0
- package/dist/cjs/components/Combobox/Option/Option.js +38 -0
- package/dist/cjs/components/Combobox/Option/SelectedIcon.js +13 -0
- package/dist/cjs/components/Combobox/Option/useComboboxOption.js +51 -0
- package/dist/cjs/components/Combobox/index.js +19 -0
- package/dist/cjs/components/Combobox/internal/ComboboxChips.js +45 -0
- package/dist/cjs/components/Combobox/internal/ComboboxClearButton.js +35 -0
- package/dist/cjs/components/Combobox/internal/ComboboxError.js +12 -0
- package/dist/cjs/components/Combobox/internal/ComboboxInput.js +81 -0
- package/dist/cjs/components/Combobox/internal/ComboboxLabel.js +15 -0
- package/dist/cjs/components/Combobox/internal/ComboboxNative.js +13 -0
- package/dist/cjs/components/Combobox/omit/omit.js +30 -0
- package/dist/cjs/components/Combobox/useCombobox.js +123 -0
- package/dist/cjs/components/Combobox/useComboboxKeyboard.js +79 -0
- package/dist/cjs/components/Combobox/useFloatingCombobox.js +76 -0
- package/dist/cjs/components/Combobox/useFormField/FieldsetContext.js +8 -0
- package/dist/cjs/components/Combobox/useFormField/useFormField.js +36 -0
- package/dist/cjs/components/Combobox/utilities.js +40 -0
- package/dist/cjs/components/alert/alert.js +18 -0
- package/dist/cjs/components/avatar/avatar.js +33 -0
- package/dist/cjs/components/avatar-stack/avatar-stack.js +33 -0
- package/dist/cjs/components/badge/badge-position.js +21 -0
- package/dist/cjs/components/badge/badge.js +23 -0
- package/dist/cjs/components/badge/index.js +17 -0
- package/dist/cjs/components/breadcrumbs/breadcrumbs-item.js +11 -0
- package/dist/cjs/components/breadcrumbs/breadcrumbs-link.js +13 -0
- package/dist/cjs/components/breadcrumbs/breadcrumbs-list.js +11 -0
- package/dist/cjs/components/breadcrumbs/breadcrumbs.js +29 -0
- package/dist/cjs/components/breadcrumbs/index.js +39 -0
- package/dist/cjs/components/button/button.js +31 -0
- package/dist/cjs/components/card/card-block.js +14 -0
- package/dist/cjs/components/card/card.js +51 -0
- package/dist/cjs/components/card/index.js +23 -0
- package/dist/cjs/components/checkbox/checkbox.js +21 -0
- package/dist/cjs/components/chip/chips.js +52 -0
- package/dist/cjs/components/chip/index.js +21 -0
- package/dist/cjs/components/details/details-content.js +17 -0
- package/dist/cjs/components/details/details-summary.js +18 -0
- package/dist/cjs/components/details/details.js +43 -0
- package/dist/cjs/components/details/index.js +26 -0
- package/dist/cjs/components/dialog/dialog-block.js +30 -0
- package/dist/cjs/components/dialog/dialog-trigger-context.js +28 -0
- package/dist/cjs/components/dialog/dialog-trigger.js +34 -0
- package/dist/cjs/components/dialog/dialog.js +64 -0
- package/dist/cjs/components/dialog/index.js +34 -0
- package/dist/cjs/components/divider/divider.js +20 -0
- package/dist/cjs/components/dropdown/dropdown-button.js +24 -0
- package/dist/cjs/components/dropdown/dropdown-heading.js +20 -0
- package/dist/cjs/components/dropdown/dropdown-item.js +23 -0
- package/dist/cjs/components/dropdown/dropdown-list.js +23 -0
- package/dist/cjs/components/dropdown/dropdown-trigger-context.js +28 -0
- package/dist/cjs/components/dropdown/dropdown-trigger.js +28 -0
- package/dist/cjs/components/dropdown/dropdown.js +40 -0
- package/dist/cjs/components/dropdown/index.js +60 -0
- package/dist/cjs/components/error-summary/error-summary-heading.js +20 -0
- package/dist/cjs/components/error-summary/error-summary-item.js +23 -0
- package/dist/cjs/components/error-summary/error-summary-link.js +22 -0
- package/dist/cjs/components/error-summary/error-summary-list.js +27 -0
- package/dist/cjs/components/error-summary/error-summary.js +32 -0
- package/dist/cjs/components/error-summary/index.js +41 -0
- package/dist/cjs/components/field/field-affix.js +37 -0
- package/dist/cjs/components/field/field-counter.js +25 -0
- package/dist/cjs/components/field/field-description.js +18 -0
- package/dist/cjs/components/field/field.js +32 -0
- package/dist/cjs/components/field/index.js +35 -0
- package/dist/cjs/components/fieldset/fieldset-description.js +21 -0
- package/dist/cjs/components/fieldset/fieldset-legend.js +19 -0
- package/dist/cjs/components/fieldset/fieldset.js +28 -0
- package/dist/cjs/components/fieldset/index.js +32 -0
- package/dist/cjs/components/heading/heading.js +20 -0
- package/dist/cjs/components/input/input.js +23 -0
- package/dist/cjs/components/label/label.js +21 -0
- package/dist/cjs/components/link/link.js +21 -0
- package/dist/cjs/components/list/index.js +19 -0
- package/dist/cjs/components/list/list-item.js +19 -0
- package/dist/cjs/components/list/lists.js +41 -0
- package/dist/cjs/components/pagination/index.js +39 -0
- package/dist/cjs/components/pagination/pagination-button.js +20 -0
- package/dist/cjs/components/pagination/pagination-item.js +23 -0
- package/dist/cjs/components/pagination/pagination-list.js +25 -0
- package/dist/cjs/components/pagination/pagination.js +36 -0
- package/dist/cjs/components/paragraph/paragraph.js +21 -0
- package/dist/cjs/components/popover/index.js +28 -0
- package/dist/cjs/components/popover/popover-trigger-context.js +27 -0
- package/dist/cjs/components/popover/popover-trigger.js +41 -0
- package/dist/cjs/components/popover/popover.js +88 -0
- package/dist/cjs/components/radio/radio.js +21 -0
- package/dist/cjs/components/search/index.js +37 -0
- package/dist/cjs/components/search/search-button.js +21 -0
- package/dist/cjs/components/search/search-clear.js +37 -0
- package/dist/cjs/components/search/search-input.js +22 -0
- package/dist/cjs/components/search/search.js +28 -0
- package/dist/cjs/components/select/index.js +26 -0
- package/dist/cjs/components/select/select-optgroup.js +24 -0
- package/dist/cjs/components/select/select-option.js +22 -0
- package/dist/cjs/components/select/select.js +22 -0
- package/dist/cjs/components/skeleton/skeleton.js +30 -0
- package/dist/cjs/components/skip-link/skip-link.js +19 -0
- package/dist/cjs/components/spinner/spinner.js +26 -0
- package/dist/cjs/components/suggestion/index.js +44 -0
- package/dist/cjs/components/suggestion/suggestion-clear.js +26 -0
- package/dist/cjs/components/suggestion/suggestion-empty.js +25 -0
- package/dist/cjs/components/suggestion/suggestion-input.js +35 -0
- package/dist/cjs/components/suggestion/suggestion-list.js +28 -0
- package/dist/cjs/components/suggestion/suggestion-option.js +25 -0
- package/dist/cjs/components/suggestion/suggestion.js +96 -0
- package/dist/cjs/components/switch/switch.js +20 -0
- package/dist/cjs/components/table/index.js +59 -0
- package/dist/cjs/components/table/table-body.js +22 -0
- package/dist/cjs/components/table/table-cell.js +17 -0
- package/dist/cjs/components/table/table-foot.js +22 -0
- package/dist/cjs/components/table/table-head.js +22 -0
- package/dist/cjs/components/table/table-header-cell.js +17 -0
- package/dist/cjs/components/table/table-row.js +20 -0
- package/dist/cjs/components/table/table.js +37 -0
- package/dist/cjs/components/tabs/index.js +36 -0
- package/dist/cjs/components/tabs/tabs-list.js +22 -0
- package/dist/cjs/components/tabs/tabs-panel.js +21 -0
- package/dist/cjs/components/tabs/tabs-tab.js +31 -0
- package/dist/cjs/components/tabs/tabs.js +66 -0
- package/dist/cjs/components/tag/tag.js +18 -0
- package/dist/cjs/components/textarea/textarea.js +18 -0
- package/dist/cjs/components/textfield/textfield.js +27 -0
- package/dist/cjs/components/toggle-group/index.js +23 -0
- package/dist/cjs/components/toggle-group/toggle-group-item.js +23 -0
- package/dist/cjs/components/toggle-group/toggle-group.js +43 -0
- package/dist/cjs/components/tooltip/tooltip.js +29 -0
- package/dist/cjs/components/validation-message/validation-message.js +21 -0
- package/dist/cjs/index.js +225 -0
- package/dist/cjs/utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js +27 -0
- package/dist/cjs/utilities/hooks/deprecated/use-isomorphic-layout-effect/use-isomorphic-layout-effect.js +9 -0
- package/dist/cjs/utilities/hooks/deprecated/use-media-query/use-media-query.js +49 -0
- package/dist/cjs/utilities/hooks/use-checkbox-group/use-checkbox-group.js +129 -0
- package/dist/cjs/utilities/hooks/use-merge-refs/use-merge-refs.js +57 -0
- package/dist/cjs/utilities/hooks/use-pagination/use-pagination.js +85 -0
- package/dist/cjs/utilities/hooks/use-radio-group/use-radio-group.js +102 -0
- package/dist/cjs/utilities/hooks/use-synchronized-animation/use-synchronized-animation.js +50 -0
- package/dist/cjs/utilities/index.js +17 -0
- package/dist/cjs/utilities/roving-focus/roving-focus-item.js +74 -0
- package/dist/cjs/utilities/roving-focus/roving-focus-root.js +77 -0
- package/dist/cjs/utilities/roving-focus/use-roving-focus.js +45 -0
- package/dist/esm/components/Combobox/Combobox.js +203 -0
- package/dist/esm/components/Combobox/ComboboxContext.js +6 -0
- package/dist/esm/components/Combobox/ComboboxIdContext.js +35 -0
- package/dist/esm/components/Combobox/Custom.js +34 -0
- package/dist/esm/components/Combobox/Empty.js +18 -0
- package/dist/esm/components/Combobox/Option/Description.js +11 -0
- package/dist/esm/components/Combobox/Option/Option.js +35 -0
- package/dist/esm/components/Combobox/Option/SelectedIcon.js +11 -0
- package/dist/esm/components/Combobox/Option/useComboboxOption.js +49 -0
- package/dist/esm/components/Combobox/index.js +15 -0
- package/dist/esm/components/Combobox/internal/ComboboxChips.js +43 -0
- package/dist/esm/components/Combobox/internal/ComboboxClearButton.js +33 -0
- package/dist/esm/components/Combobox/internal/ComboboxError.js +10 -0
- package/dist/esm/components/Combobox/internal/ComboboxInput.js +79 -0
- package/dist/esm/components/Combobox/internal/ComboboxLabel.js +13 -0
- package/dist/esm/components/Combobox/internal/ComboboxNative.js +11 -0
- package/dist/esm/components/Combobox/omit/omit.js +28 -0
- package/dist/esm/components/Combobox/useCombobox.js +121 -0
- package/dist/esm/components/Combobox/useComboboxKeyboard.js +77 -0
- package/dist/esm/components/Combobox/useFloatingCombobox.js +74 -0
- package/dist/esm/components/Combobox/useFormField/FieldsetContext.js +6 -0
- package/dist/esm/components/Combobox/useFormField/useFormField.js +34 -0
- package/dist/esm/components/Combobox/utilities.js +34 -0
- package/dist/esm/components/alert/alert.js +16 -0
- package/dist/esm/components/avatar/avatar.js +31 -0
- package/dist/esm/components/avatar-stack/avatar-stack.js +31 -0
- package/dist/esm/components/badge/badge-position.js +19 -0
- package/dist/esm/components/badge/badge.js +21 -0
- package/dist/esm/components/badge/index.js +14 -0
- package/dist/esm/components/breadcrumbs/breadcrumbs-item.js +9 -0
- package/dist/esm/components/breadcrumbs/breadcrumbs-link.js +11 -0
- package/dist/esm/components/breadcrumbs/breadcrumbs-list.js +9 -0
- package/dist/esm/components/breadcrumbs/breadcrumbs.js +27 -0
- package/dist/esm/components/breadcrumbs/index.js +34 -0
- package/dist/esm/components/button/button.js +29 -0
- package/dist/esm/components/card/card-block.js +12 -0
- package/dist/esm/components/card/card.js +49 -0
- package/dist/esm/components/card/index.js +20 -0
- package/dist/esm/components/checkbox/checkbox.js +19 -0
- package/dist/esm/components/chip/chips.js +47 -0
- package/dist/esm/components/chip/index.js +15 -0
- package/dist/esm/components/details/details-content.js +15 -0
- package/dist/esm/components/details/details-summary.js +16 -0
- package/dist/esm/components/details/details.js +41 -0
- package/dist/esm/components/details/index.js +22 -0
- package/dist/esm/components/dialog/dialog-block.js +28 -0
- package/dist/esm/components/dialog/dialog-trigger-context.js +25 -0
- package/dist/esm/components/dialog/dialog-trigger.js +32 -0
- package/dist/esm/components/dialog/dialog.js +62 -0
- package/dist/esm/components/dialog/index.js +29 -0
- package/dist/esm/components/divider/divider.js +18 -0
- package/dist/esm/components/dropdown/dropdown-button.js +22 -0
- package/dist/esm/components/dropdown/dropdown-heading.js +18 -0
- package/dist/esm/components/dropdown/dropdown-item.js +21 -0
- package/dist/esm/components/dropdown/dropdown-list.js +21 -0
- package/dist/esm/components/dropdown/dropdown-trigger-context.js +26 -0
- package/dist/esm/components/dropdown/dropdown-trigger.js +26 -0
- package/dist/esm/components/dropdown/dropdown.js +38 -0
- package/dist/esm/components/dropdown/index.js +52 -0
- package/dist/esm/components/error-summary/error-summary-heading.js +18 -0
- package/dist/esm/components/error-summary/error-summary-item.js +21 -0
- package/dist/esm/components/error-summary/error-summary-link.js +20 -0
- package/dist/esm/components/error-summary/error-summary-list.js +25 -0
- package/dist/esm/components/error-summary/error-summary.js +30 -0
- package/dist/esm/components/error-summary/index.js +35 -0
- package/dist/esm/components/field/field-affix.js +34 -0
- package/dist/esm/components/field/field-counter.js +23 -0
- package/dist/esm/components/field/field-description.js +16 -0
- package/dist/esm/components/field/field.js +30 -0
- package/dist/esm/components/field/index.js +29 -0
- package/dist/esm/components/fieldset/fieldset-description.js +19 -0
- package/dist/esm/components/fieldset/fieldset-legend.js +17 -0
- package/dist/esm/components/fieldset/fieldset.js +26 -0
- package/dist/esm/components/fieldset/index.js +28 -0
- package/dist/esm/components/heading/heading.js +18 -0
- package/dist/esm/components/input/input.js +21 -0
- package/dist/esm/components/label/label.js +19 -0
- package/dist/esm/components/link/link.js +19 -0
- package/dist/esm/components/list/index.js +14 -0
- package/dist/esm/components/list/list-item.js +17 -0
- package/dist/esm/components/list/lists.js +38 -0
- package/dist/esm/components/pagination/index.js +34 -0
- package/dist/esm/components/pagination/pagination-button.js +18 -0
- package/dist/esm/components/pagination/pagination-item.js +21 -0
- package/dist/esm/components/pagination/pagination-list.js +23 -0
- package/dist/esm/components/pagination/pagination.js +34 -0
- package/dist/esm/components/paragraph/paragraph.js +19 -0
- package/dist/esm/components/popover/index.js +24 -0
- package/dist/esm/components/popover/popover-trigger-context.js +24 -0
- package/dist/esm/components/popover/popover-trigger.js +39 -0
- package/dist/esm/components/popover/popover.js +86 -0
- package/dist/esm/components/radio/radio.js +19 -0
- package/dist/esm/components/search/index.js +32 -0
- package/dist/esm/components/search/search-button.js +19 -0
- package/dist/esm/components/search/search-clear.js +35 -0
- package/dist/esm/components/search/search-input.js +20 -0
- package/dist/esm/components/search/search.js +26 -0
- package/dist/esm/components/select/index.js +22 -0
- package/dist/esm/components/select/select-optgroup.js +22 -0
- package/dist/esm/components/select/select-option.js +20 -0
- package/dist/esm/components/select/select.js +20 -0
- package/dist/esm/components/skeleton/skeleton.js +28 -0
- package/dist/esm/components/skip-link/skip-link.js +17 -0
- package/dist/esm/components/spinner/spinner.js +24 -0
- package/dist/esm/components/suggestion/index.js +37 -0
- package/dist/esm/components/suggestion/suggestion-clear.js +24 -0
- package/dist/esm/components/suggestion/suggestion-empty.js +23 -0
- package/dist/esm/components/suggestion/suggestion-input.js +33 -0
- package/dist/esm/components/suggestion/suggestion-list.js +26 -0
- package/dist/esm/components/suggestion/suggestion-option.js +23 -0
- package/dist/esm/components/suggestion/suggestion.js +93 -0
- package/dist/esm/components/switch/switch.js +18 -0
- package/dist/esm/components/table/index.js +51 -0
- package/dist/esm/components/table/table-body.js +20 -0
- package/dist/esm/components/table/table-cell.js +15 -0
- package/dist/esm/components/table/table-foot.js +20 -0
- package/dist/esm/components/table/table-head.js +20 -0
- package/dist/esm/components/table/table-header-cell.js +15 -0
- package/dist/esm/components/table/table-row.js +18 -0
- package/dist/esm/components/table/table.js +35 -0
- package/dist/esm/components/tabs/index.js +31 -0
- package/dist/esm/components/tabs/tabs-list.js +20 -0
- package/dist/esm/components/tabs/tabs-panel.js +19 -0
- package/dist/esm/components/tabs/tabs-tab.js +29 -0
- package/dist/esm/components/tabs/tabs.js +63 -0
- package/dist/esm/components/tag/tag.js +16 -0
- package/dist/esm/components/textarea/textarea.js +16 -0
- package/dist/esm/components/textfield/textfield.js +25 -0
- package/dist/esm/components/toggle-group/index.js +20 -0
- package/dist/esm/components/toggle-group/toggle-group-item.js +21 -0
- package/dist/esm/components/toggle-group/toggle-group.js +40 -0
- package/dist/esm/components/tooltip/tooltip.js +27 -0
- package/dist/esm/components/validation-message/validation-message.js +19 -0
- package/dist/esm/index.js +109 -0
- package/dist/esm/utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js +25 -0
- package/dist/esm/utilities/hooks/deprecated/use-isomorphic-layout-effect/use-isomorphic-layout-effect.js +7 -0
- package/dist/esm/utilities/hooks/deprecated/use-media-query/use-media-query.js +47 -0
- package/dist/esm/utilities/hooks/use-checkbox-group/use-checkbox-group.js +127 -0
- package/dist/esm/utilities/hooks/use-merge-refs/use-merge-refs.js +55 -0
- package/dist/esm/utilities/hooks/use-pagination/use-pagination.js +83 -0
- package/dist/esm/utilities/hooks/use-radio-group/use-radio-group.js +100 -0
- package/dist/esm/utilities/hooks/use-synchronized-animation/use-synchronized-animation.js +47 -0
- package/dist/esm/utilities/index.js +11 -0
- package/dist/esm/utilities/roving-focus/roving-focus-item.js +70 -0
- package/dist/esm/utilities/roving-focus/roving-focus-root.js +74 -0
- package/dist/esm/utilities/roving-focus/use-roving-focus.js +43 -0
- package/dist/react-types.d.ts +39 -0
- package/dist/types/colors.d.ts +2 -0
- package/dist/types/colors.d.ts.map +1 -0
- package/dist/types/components/Combobox/Combobox.d.ts +317 -0
- package/dist/types/components/Combobox/Combobox.d.ts.map +1 -0
- package/dist/types/components/Combobox/ComboboxContext.d.ts +42 -0
- package/dist/types/components/Combobox/ComboboxContext.d.ts.map +1 -0
- package/dist/types/components/Combobox/ComboboxIdContext.d.ts +19 -0
- package/dist/types/components/Combobox/ComboboxIdContext.d.ts.map +1 -0
- package/dist/types/components/Combobox/Custom.d.ts +33 -0
- package/dist/types/components/Combobox/Custom.d.ts.map +1 -0
- package/dist/types/components/Combobox/Empty.d.ts +5 -0
- package/dist/types/components/Combobox/Empty.d.ts.map +1 -0
- package/dist/types/components/Combobox/Option/Description.d.ts +5 -0
- package/dist/types/components/Combobox/Option/Description.d.ts.map +1 -0
- package/dist/types/components/Combobox/Option/Option.d.ts +34 -0
- package/dist/types/components/Combobox/Option/Option.d.ts.map +1 -0
- package/dist/types/components/Combobox/Option/SelectedIcon.d.ts +10 -0
- package/dist/types/components/Combobox/Option/SelectedIcon.d.ts.map +1 -0
- package/dist/types/components/Combobox/Option/useComboboxOption.d.ts +17 -0
- package/dist/types/components/Combobox/Option/useComboboxOption.d.ts.map +1 -0
- package/dist/types/components/Combobox/data/data.d.ts +7 -0
- package/dist/types/components/Combobox/data/data.d.ts.map +1 -0
- package/dist/types/components/Combobox/index.d.ts +16 -0
- package/dist/types/components/Combobox/index.d.ts.map +1 -0
- package/dist/types/components/Combobox/internal/ComboboxChips.d.ts +6 -0
- package/dist/types/components/Combobox/internal/ComboboxChips.d.ts.map +1 -0
- package/dist/types/components/Combobox/internal/ComboboxClearButton.d.ts +4 -0
- package/dist/types/components/Combobox/internal/ComboboxClearButton.d.ts.map +1 -0
- package/dist/types/components/Combobox/internal/ComboboxError.d.ts +13 -0
- package/dist/types/components/Combobox/internal/ComboboxError.d.ts.map +1 -0
- package/dist/types/components/Combobox/internal/ComboboxInput.d.ts +15 -0
- package/dist/types/components/Combobox/internal/ComboboxInput.d.ts.map +1 -0
- package/dist/types/components/Combobox/internal/ComboboxLabel.d.ts +16 -0
- package/dist/types/components/Combobox/internal/ComboboxLabel.d.ts.map +1 -0
- package/dist/types/components/Combobox/internal/ComboboxNative.d.ts +15 -0
- package/dist/types/components/Combobox/internal/ComboboxNative.d.ts.map +1 -0
- package/dist/types/components/Combobox/omit/omit.d.ts +13 -0
- package/dist/types/components/Combobox/omit/omit.d.ts.map +1 -0
- package/dist/types/components/Combobox/useCombobox.d.ts +34 -0
- package/dist/types/components/Combobox/useCombobox.d.ts.map +1 -0
- package/dist/types/components/Combobox/useComboboxKeyboard.d.ts +20 -0
- package/dist/types/components/Combobox/useComboboxKeyboard.d.ts.map +1 -0
- package/dist/types/components/Combobox/useFloatingCombobox.d.ts +19 -0
- package/dist/types/components/Combobox/useFloatingCombobox.d.ts.map +1 -0
- package/dist/types/components/Combobox/useFormField/FieldsetContext.d.ts +4 -0
- package/dist/types/components/Combobox/useFormField/FieldsetContext.d.ts.map +1 -0
- package/dist/types/components/Combobox/useFormField/useFormField.d.ts +36 -0
- package/dist/types/components/Combobox/useFormField/useFormField.d.ts.map +1 -0
- package/dist/types/components/Combobox/utilities.d.ts +19 -0
- package/dist/types/components/Combobox/utilities.d.ts.map +1 -0
- package/dist/types/components/alert/alert.d.ts +27 -0
- package/dist/types/components/alert/alert.d.ts.map +1 -0
- package/dist/types/components/avatar/avatar.d.ts +64 -0
- package/dist/types/components/avatar/avatar.d.ts.map +1 -0
- package/dist/types/components/avatar-stack/avatar-stack.d.ts +70 -0
- package/dist/types/components/avatar-stack/avatar-stack.d.ts.map +1 -0
- package/dist/types/components/badge/badge-position.d.ts +41 -0
- package/dist/types/components/badge/badge-position.d.ts.map +1 -0
- package/dist/types/components/badge/badge.d.ts +58 -0
- package/dist/types/components/badge/badge.d.ts.map +1 -0
- package/dist/types/components/badge/index.d.ts +23 -0
- package/dist/types/components/badge/index.d.ts.map +1 -0
- package/dist/types/components/breadcrumbs/breadcrumbs-item.d.ts +4 -0
- package/dist/types/components/breadcrumbs/breadcrumbs-item.d.ts.map +1 -0
- package/dist/types/components/breadcrumbs/breadcrumbs-link.d.ts +7 -0
- package/dist/types/components/breadcrumbs/breadcrumbs-link.d.ts.map +1 -0
- package/dist/types/components/breadcrumbs/breadcrumbs-list.d.ts +4 -0
- package/dist/types/components/breadcrumbs/breadcrumbs-list.d.ts.map +1 -0
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +38 -0
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/types/components/breadcrumbs/index.d.ts +73 -0
- package/dist/types/components/breadcrumbs/index.d.ts.map +1 -0
- package/dist/types/components/button/button.d.ts +101 -0
- package/dist/types/components/button/button.d.ts.map +1 -0
- package/dist/types/components/card/card-block.d.ts +16 -0
- package/dist/types/components/card/card-block.d.ts.map +1 -0
- package/dist/types/components/card/card.d.ts +44 -0
- package/dist/types/components/card/card.d.ts.map +1 -0
- package/dist/types/components/card/index.d.ts +32 -0
- package/dist/types/components/card/index.d.ts.map +1 -0
- package/dist/types/components/checkbox/checkbox.d.ts +34 -0
- package/dist/types/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/types/components/chip/chips.d.ts +43 -0
- package/dist/types/components/chip/chips.d.ts.map +1 -0
- package/dist/types/components/chip/index.d.ts +37 -0
- package/dist/types/components/chip/index.d.ts.map +1 -0
- package/dist/types/components/details/details-content.d.ts +10 -0
- package/dist/types/components/details/details-content.d.ts.map +1 -0
- package/dist/types/components/details/details-summary.d.ts +16 -0
- package/dist/types/components/details/details-summary.d.ts.map +1 -0
- package/dist/types/components/details/details.d.ts +50 -0
- package/dist/types/components/details/details.d.ts.map +1 -0
- package/dist/types/components/details/index.d.ts +34 -0
- package/dist/types/components/details/index.d.ts.map +1 -0
- package/dist/types/components/dialog/dialog-block.d.ts +32 -0
- package/dist/types/components/dialog/dialog-block.d.ts.map +1 -0
- package/dist/types/components/dialog/dialog-trigger-context.d.ts +21 -0
- package/dist/types/components/dialog/dialog-trigger-context.d.ts.map +1 -0
- package/dist/types/components/dialog/dialog-trigger.d.ts +26 -0
- package/dist/types/components/dialog/dialog-trigger.d.ts.map +1 -0
- package/dist/types/components/dialog/dialog.d.ts +115 -0
- package/dist/types/components/dialog/dialog.d.ts.map +1 -0
- package/dist/types/components/dialog/index.d.ts +67 -0
- package/dist/types/components/dialog/index.d.ts.map +1 -0
- package/dist/types/components/divider/divider.d.ts +10 -0
- package/dist/types/components/divider/divider.d.ts.map +1 -0
- package/dist/types/components/dropdown/dropdown-button.d.ts +16 -0
- package/dist/types/components/dropdown/dropdown-button.d.ts.map +1 -0
- package/dist/types/components/dropdown/dropdown-heading.d.ts +16 -0
- package/dist/types/components/dropdown/dropdown-heading.d.ts.map +1 -0
- package/dist/types/components/dropdown/dropdown-item.d.ts +16 -0
- package/dist/types/components/dropdown/dropdown-item.d.ts.map +1 -0
- package/dist/types/components/dropdown/dropdown-list.d.ts +16 -0
- package/dist/types/components/dropdown/dropdown-list.d.ts.map +1 -0
- package/dist/types/components/dropdown/dropdown-trigger-context.d.ts +25 -0
- package/dist/types/components/dropdown/dropdown-trigger-context.d.ts.map +1 -0
- package/dist/types/components/dropdown/dropdown-trigger.d.ts +20 -0
- package/dist/types/components/dropdown/dropdown-trigger.d.ts.map +1 -0
- package/dist/types/components/dropdown/dropdown.d.ts +45 -0
- package/dist/types/components/dropdown/dropdown.d.ts.map +1 -0
- package/dist/types/components/dropdown/index.d.ts +127 -0
- package/dist/types/components/dropdown/index.d.ts.map +1 -0
- package/dist/types/components/error-summary/error-summary-heading.d.ts +16 -0
- package/dist/types/components/error-summary/error-summary-heading.d.ts.map +1 -0
- package/dist/types/components/error-summary/error-summary-item.d.ts +16 -0
- package/dist/types/components/error-summary/error-summary-item.d.ts.map +1 -0
- package/dist/types/components/error-summary/error-summary-link.d.ts +17 -0
- package/dist/types/components/error-summary/error-summary-link.d.ts.map +1 -0
- package/dist/types/components/error-summary/error-summary-list.d.ts +21 -0
- package/dist/types/components/error-summary/error-summary-list.d.ts.map +1 -0
- package/dist/types/components/error-summary/error-summary.d.ts +31 -0
- package/dist/types/components/error-summary/error-summary.d.ts.map +1 -0
- package/dist/types/components/error-summary/index.d.ts +78 -0
- package/dist/types/components/error-summary/index.d.ts.map +1 -0
- package/dist/types/components/field/field-affix.d.ts +27 -0
- package/dist/types/components/field/field-affix.d.ts.map +1 -0
- package/dist/types/components/field/field-counter.d.ts +66 -0
- package/dist/types/components/field/field-counter.d.ts.map +1 -0
- package/dist/types/components/field/field-description.d.ts +10 -0
- package/dist/types/components/field/field-description.d.ts.map +1 -0
- package/dist/types/components/field/field.d.ts +42 -0
- package/dist/types/components/field/field.d.ts.map +1 -0
- package/dist/types/components/field/index.d.ts +64 -0
- package/dist/types/components/field/index.d.ts.map +1 -0
- package/dist/types/components/fieldset/fieldset-description.d.ts +16 -0
- package/dist/types/components/fieldset/fieldset-description.d.ts.map +1 -0
- package/dist/types/components/fieldset/fieldset-legend.d.ts +11 -0
- package/dist/types/components/fieldset/fieldset-legend.d.ts.map +1 -0
- package/dist/types/components/fieldset/fieldset.d.ts +20 -0
- package/dist/types/components/fieldset/fieldset.d.ts.map +1 -0
- package/dist/types/components/fieldset/index.d.ts +42 -0
- package/dist/types/components/fieldset/index.d.ts.map +1 -0
- package/dist/types/components/heading/heading.d.ts +42 -0
- package/dist/types/components/heading/heading.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +84 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/components/input/input.d.ts +74 -0
- package/dist/types/components/input/input.d.ts.map +1 -0
- package/dist/types/components/label/label.d.ts +33 -0
- package/dist/types/components/label/label.d.ts.map +1 -0
- package/dist/types/components/link/link.d.ts +32 -0
- package/dist/types/components/link/link.d.ts.map +1 -0
- package/dist/types/components/list/index.d.ts +38 -0
- package/dist/types/components/list/index.d.ts.map +1 -0
- package/dist/types/components/list/list-item.d.ts +22 -0
- package/dist/types/components/list/list-item.d.ts.map +1 -0
- package/dist/types/components/list/lists.d.ts +47 -0
- package/dist/types/components/list/lists.d.ts.map +1 -0
- package/dist/types/components/pagination/index.d.ts +64 -0
- package/dist/types/components/pagination/index.d.ts.map +1 -0
- package/dist/types/components/pagination/pagination-button.d.ts +25 -0
- package/dist/types/components/pagination/pagination-button.d.ts.map +1 -0
- package/dist/types/components/pagination/pagination-item.d.ts +26 -0
- package/dist/types/components/pagination/pagination-item.d.ts.map +1 -0
- package/dist/types/components/pagination/pagination-list.d.ts +28 -0
- package/dist/types/components/pagination/pagination-list.d.ts.map +1 -0
- package/dist/types/components/pagination/pagination.d.ts +68 -0
- package/dist/types/components/pagination/pagination.d.ts.map +1 -0
- package/dist/types/components/paragraph/paragraph.d.ts +41 -0
- package/dist/types/components/paragraph/paragraph.d.ts.map +1 -0
- package/dist/types/components/popover/index.d.ts +56 -0
- package/dist/types/components/popover/index.d.ts.map +1 -0
- package/dist/types/components/popover/popover-trigger-context.d.ts +24 -0
- package/dist/types/components/popover/popover-trigger-context.d.ts.map +1 -0
- package/dist/types/components/popover/popover-trigger.d.ts +44 -0
- package/dist/types/components/popover/popover-trigger.d.ts.map +1 -0
- package/dist/types/components/popover/popover.d.ts +111 -0
- package/dist/types/components/popover/popover.d.ts.map +1 -0
- package/dist/types/components/radio/radio.d.ts +34 -0
- package/dist/types/components/radio/radio.d.ts.map +1 -0
- package/dist/types/components/search/index.d.ts +58 -0
- package/dist/types/components/search/index.d.ts.map +1 -0
- package/dist/types/components/search/search-button.d.ts +36 -0
- package/dist/types/components/search/search-button.d.ts.map +1 -0
- package/dist/types/components/search/search-clear.d.ts +25 -0
- package/dist/types/components/search/search-clear.d.ts.map +1 -0
- package/dist/types/components/search/search-input.d.ts +13 -0
- package/dist/types/components/search/search-input.d.ts.map +1 -0
- package/dist/types/components/search/search.d.ts +21 -0
- package/dist/types/components/search/search.d.ts.map +1 -0
- package/dist/types/components/select/index.d.ts +42 -0
- package/dist/types/components/select/index.d.ts.map +1 -0
- package/dist/types/components/select/select-optgroup.d.ts +27 -0
- package/dist/types/components/select/select-optgroup.d.ts.map +1 -0
- package/dist/types/components/select/select-option.d.ts +25 -0
- package/dist/types/components/select/select-option.d.ts.map +1 -0
- package/dist/types/components/select/select.d.ts +40 -0
- package/dist/types/components/select/select.d.ts.map +1 -0
- package/dist/types/components/skeleton/skeleton.d.ts +54 -0
- package/dist/types/components/skeleton/skeleton.d.ts.map +1 -0
- package/dist/types/components/skip-link/skip-link.d.ts +31 -0
- package/dist/types/components/skip-link/skip-link.d.ts.map +1 -0
- package/dist/types/components/spinner/spinner.d.ts +24 -0
- package/dist/types/components/spinner/spinner.d.ts.map +1 -0
- package/dist/types/components/suggestion/index.d.ts +92 -0
- package/dist/types/components/suggestion/index.d.ts.map +1 -0
- package/dist/types/components/suggestion/suggestion-clear.d.ts +30 -0
- package/dist/types/components/suggestion/suggestion-clear.d.ts.map +1 -0
- package/dist/types/components/suggestion/suggestion-empty.d.ts +16 -0
- package/dist/types/components/suggestion/suggestion-empty.d.ts.map +1 -0
- package/dist/types/components/suggestion/suggestion-input.d.ts +34 -0
- package/dist/types/components/suggestion/suggestion-input.d.ts.map +1 -0
- package/dist/types/components/suggestion/suggestion-list.d.ts +50 -0
- package/dist/types/components/suggestion/suggestion-list.d.ts.map +1 -0
- package/dist/types/components/suggestion/suggestion-option.d.ts +18 -0
- package/dist/types/components/suggestion/suggestion-option.d.ts.map +1 -0
- package/dist/types/components/suggestion/suggestion.d.ts +117 -0
- package/dist/types/components/suggestion/suggestion.d.ts.map +1 -0
- package/dist/types/components/switch/switch.d.ts +36 -0
- package/dist/types/components/switch/switch.d.ts.map +1 -0
- package/dist/types/components/table/index.d.ts +105 -0
- package/dist/types/components/table/index.d.ts.map +1 -0
- package/dist/types/components/table/table-body.d.ts +15 -0
- package/dist/types/components/table/table-body.d.ts.map +1 -0
- package/dist/types/components/table/table-cell.d.ts +10 -0
- package/dist/types/components/table/table-cell.d.ts.map +1 -0
- package/dist/types/components/table/table-foot.d.ts +15 -0
- package/dist/types/components/table/table-foot.d.ts.map +1 -0
- package/dist/types/components/table/table-head.d.ts +15 -0
- package/dist/types/components/table/table-head.d.ts.map +1 -0
- package/dist/types/components/table/table-header-cell.d.ts +23 -0
- package/dist/types/components/table/table-header-cell.d.ts.map +1 -0
- package/dist/types/components/table/table-row.d.ts +13 -0
- package/dist/types/components/table/table-row.d.ts.map +1 -0
- package/dist/types/components/table/table.d.ts +72 -0
- package/dist/types/components/table/table.d.ts.map +1 -0
- package/dist/types/components/tabs/index.d.ts +52 -0
- package/dist/types/components/tabs/index.d.ts.map +1 -0
- package/dist/types/components/tabs/tabs-list.d.ts +15 -0
- package/dist/types/components/tabs/tabs-list.d.ts.map +1 -0
- package/dist/types/components/tabs/tabs-panel.d.ts +24 -0
- package/dist/types/components/tabs/tabs-panel.d.ts.map +1 -0
- package/dist/types/components/tabs/tabs-tab.d.ts +22 -0
- package/dist/types/components/tabs/tabs-tab.d.ts.map +1 -0
- package/dist/types/components/tabs/tabs.d.ts +62 -0
- package/dist/types/components/tabs/tabs.d.ts.map +1 -0
- package/dist/types/components/tag/tag.d.ts +35 -0
- package/dist/types/components/tag/tag.d.ts.map +1 -0
- package/dist/types/components/textarea/textarea.d.ts +11 -0
- package/dist/types/components/textarea/textarea.d.ts.map +1 -0
- package/dist/types/components/textfield/textfield.d.ts +75 -0
- package/dist/types/components/textfield/textfield.d.ts.map +1 -0
- package/dist/types/components/toggle-group/index.d.ts +25 -0
- package/dist/types/components/toggle-group/index.d.ts.map +1 -0
- package/dist/types/components/toggle-group/toggle-group-item.d.ts +30 -0
- package/dist/types/components/toggle-group/toggle-group-item.d.ts.map +1 -0
- package/dist/types/components/toggle-group/toggle-group.d.ts +76 -0
- package/dist/types/components/toggle-group/toggle-group.d.ts.map +1 -0
- package/dist/types/components/tooltip/tooltip.d.ts +90 -0
- package/dist/types/components/tooltip/tooltip.d.ts.map +1 -0
- package/dist/types/components/validation-message/validation-message.d.ts +35 -0
- package/dist/types/components/validation-message/validation-message.d.ts.map +1 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types.d.ts +30 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.d.ts +4 -0
- package/dist/types/utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.d.ts.map +1 -0
- package/dist/types/utilities/hooks/deprecated/use-isomorphic-layout-effect/use-isomorphic-layout-effect.d.ts +3 -0
- package/dist/types/utilities/hooks/deprecated/use-isomorphic-layout-effect/use-isomorphic-layout-effect.d.ts.map +1 -0
- package/dist/types/utilities/hooks/deprecated/use-media-query/use-media-query.d.ts +7 -0
- package/dist/types/utilities/hooks/deprecated/use-media-query/use-media-query.d.ts.map +1 -0
- package/dist/types/utilities/hooks/index.d.ts +12 -0
- package/dist/types/utilities/hooks/index.d.ts.map +1 -0
- package/dist/types/utilities/hooks/use-checkbox-group/use-checkbox-group.d.ts +64 -0
- package/dist/types/utilities/hooks/use-checkbox-group/use-checkbox-group.d.ts.map +1 -0
- package/dist/types/utilities/hooks/use-merge-refs/use-merge-refs.d.ts +6 -0
- package/dist/types/utilities/hooks/use-merge-refs/use-merge-refs.d.ts.map +1 -0
- package/dist/types/utilities/hooks/use-pagination/use-pagination.d.ts +82 -0
- package/dist/types/utilities/hooks/use-pagination/use-pagination.d.ts.map +1 -0
- package/dist/types/utilities/hooks/use-radio-group/use-radio-group.d.ts +56 -0
- package/dist/types/utilities/hooks/use-radio-group/use-radio-group.d.ts.map +1 -0
- package/dist/types/utilities/hooks/use-synchronized-animation/use-synchronized-animation.d.ts +16 -0
- package/dist/types/utilities/hooks/use-synchronized-animation/use-synchronized-animation.d.ts.map +1 -0
- package/dist/types/utilities/index.d.ts +13 -0
- package/dist/types/utilities/index.d.ts.map +1 -0
- package/dist/types/utilities/roving-focus/roving-focus-item.d.ts +17 -0
- package/dist/types/utilities/roving-focus/roving-focus-item.d.ts.map +1 -0
- package/dist/types/utilities/roving-focus/roving-focus-root.d.ts +34 -0
- package/dist/types/utilities/roving-focus/roving-focus-root.d.ts.map +1 -0
- package/dist/types/utilities/roving-focus/use-roving-focus.d.ts +298 -0
- package/dist/types/utilities/roving-focus/use-roving-focus.d.ts.map +1 -0
- package/dist/types/utilities/types.d.ts +6 -0
- package/dist/types/utilities/types.d.ts.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { createContext, useRef } from 'react';
|
|
4
|
+
|
|
5
|
+
const Context = createContext({
|
|
6
|
+
current: null,
|
|
7
|
+
});
|
|
8
|
+
/**
|
|
9
|
+
* DialogTriggerContext component, used to provide a context for a dialog trigger.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <Dialog.TriggerContext>
|
|
13
|
+
* <Dialog.Trigger>Open Dialog</Dialog.Trigger>
|
|
14
|
+
* <Dialog>
|
|
15
|
+
* Content
|
|
16
|
+
* </Dialog>
|
|
17
|
+
* </Dialog.TriggerContext>
|
|
18
|
+
*/
|
|
19
|
+
const DialogTriggerContext = (rest) => {
|
|
20
|
+
const contextRef = useRef(null);
|
|
21
|
+
return jsx(Context.Provider, { value: contextRef, ...rest });
|
|
22
|
+
};
|
|
23
|
+
DialogTriggerContext.displayName = 'DialogTriggerContext';
|
|
24
|
+
|
|
25
|
+
export { Context, DialogTriggerContext };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
+
import { forwardRef, useContext } from 'react';
|
|
5
|
+
import { Button } from '../button/button.js';
|
|
6
|
+
import { Context } from './dialog-trigger-context.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* DialogTrigger component, used within a Dialog.TriggerContext to open a dialog.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <Dialog.TriggerContext>
|
|
13
|
+
* <Dialog.Trigger>Open Dialog</Dialog.Trigger>
|
|
14
|
+
* <Dialog>
|
|
15
|
+
* Content
|
|
16
|
+
* </Dialog>
|
|
17
|
+
* </Dialog.TriggerContext>
|
|
18
|
+
*/
|
|
19
|
+
const DialogTrigger = forwardRef(function DialogTrigger({ asChild, ...rest }, ref) {
|
|
20
|
+
const contextRef = useContext(Context); // Using contextRef instead of command as this is instantly available and plays nice with tests
|
|
21
|
+
const Component = asChild ? Slot : Button;
|
|
22
|
+
const openDialog = () => {
|
|
23
|
+
/* check if element has `data-modal`, it it has, use `showModal` */
|
|
24
|
+
contextRef.current?.getAttribute('data-modal') === 'true'
|
|
25
|
+
? contextRef.current?.showModal()
|
|
26
|
+
: contextRef.current?.show();
|
|
27
|
+
};
|
|
28
|
+
return (jsx(Component, { "aria-haspopup": 'dialog', onClick: openDialog, ref: ref, suppressHydrationWarning // Might get augmented through designsystemet-web with aria-haspopup
|
|
29
|
+
: true, ...rest }));
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
export { DialogTrigger };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
+
import cl from 'clsx/lite';
|
|
5
|
+
import { forwardRef, useContext, useRef, useId, useEffect } from 'react';
|
|
6
|
+
import { useMergeRefs } from '../../utilities/hooks/use-merge-refs/use-merge-refs.js';
|
|
7
|
+
import '@digdir/designsystemet-web';
|
|
8
|
+
import { Button } from '../button/button.js';
|
|
9
|
+
import { Context } from './dialog-trigger-context.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Dialog component, used to display a dialog dialog.
|
|
13
|
+
*
|
|
14
|
+
* @example with TriggerContext
|
|
15
|
+
* <Dialog.TriggerContext>
|
|
16
|
+
* <Dialog.Trigger>Open Dialog</Dialog.Trigger>
|
|
17
|
+
* <Dialog>
|
|
18
|
+
* <Dialog.Block>
|
|
19
|
+
* Content
|
|
20
|
+
* </Dialog.Block>
|
|
21
|
+
* </Dialog>
|
|
22
|
+
* </Dialog.TriggerContext>
|
|
23
|
+
*
|
|
24
|
+
* @example without TriggerContext
|
|
25
|
+
* const dialogRef = useRef<HTMLDialogElement>(null);
|
|
26
|
+
*
|
|
27
|
+
* ...
|
|
28
|
+
*
|
|
29
|
+
* <Button command="show-modal" commandfor="my-dialog">Open Dialog</Button>
|
|
30
|
+
* <Dialog id="my-dialog">
|
|
31
|
+
* Content
|
|
32
|
+
* </Dialog>
|
|
33
|
+
*/
|
|
34
|
+
const Dialog = forwardRef(function Dialog({ asChild, children, className, closeButton = 'Lukk dialogvindu', id, modal = true, onAnimationEnd, onClick, onClose, open, placement = 'center', ...rest }, ref) {
|
|
35
|
+
const contextRef = useContext(Context);
|
|
36
|
+
const dialogRef = useRef(null); // This local ref is used to make sure the dialog works without a DialogTriggerContext
|
|
37
|
+
const Component = asChild ? Slot : 'dialog';
|
|
38
|
+
const mergedRefs = useMergeRefs([contextRef, ref, dialogRef]);
|
|
39
|
+
const showProp = modal ? 'showModal' : 'show';
|
|
40
|
+
const autoId = useId();
|
|
41
|
+
const usedId = id ?? autoId;
|
|
42
|
+
// Toggle open based on prop
|
|
43
|
+
useEffect(() => dialogRef.current?.[open ? showProp : 'close'](), [open]);
|
|
44
|
+
return (jsxs(Component, { className: cl('ds-dialog', className), "data-placement": placement, "data-modal": modal, id: usedId, onClose: (event) => onClose?.(event.nativeEvent), onClick: (event) => {
|
|
45
|
+
onClick?.(event);
|
|
46
|
+
const { currentTarget: dialog, target: el, defaultPrevented } = event;
|
|
47
|
+
const isClose = el?.closest?.('[data-command="close"]');
|
|
48
|
+
if (!defaultPrevented && isClose) {
|
|
49
|
+
dialog.close();
|
|
50
|
+
if (window.dsWarnings !== false)
|
|
51
|
+
console.log('Designsystemet: data-command="close" is deprecated. Use command="close" and commandfor="DIALOG-ID" instead.');
|
|
52
|
+
}
|
|
53
|
+
}, onAnimationEnd: (event) => {
|
|
54
|
+
const { currentTarget: dialog } = event;
|
|
55
|
+
const autofocus = dialog.querySelector('[autofocus]');
|
|
56
|
+
if (document.activeElement !== autofocus)
|
|
57
|
+
autofocus?.focus(); // Handle autofocus on open
|
|
58
|
+
onAnimationEnd?.(event);
|
|
59
|
+
}, ref: mergedRefs, ...rest, children: [closeButton !== false && (jsx(Button, { "aria-label": closeButton, "data-color": 'neutral', icon: true, variant: 'tertiary', command: 'close', commandfor: usedId })), children] }));
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
export { Dialog };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { Dialog } from './dialog.js';
|
|
3
|
+
import { DialogBlock } from './dialog-block.js';
|
|
4
|
+
import { DialogTrigger } from './dialog-trigger.js';
|
|
5
|
+
import { DialogTriggerContext } from './dialog-trigger-context.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Dialog component, used to display a Dialog dialog.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <Dialog.TriggerContext>
|
|
12
|
+
* <Dialog.Trigger>Open Dialog</Dialog.Trigger>
|
|
13
|
+
* <Dialog>
|
|
14
|
+
* <Dialog.Block>
|
|
15
|
+
* Content
|
|
16
|
+
* </Dialog.Block>
|
|
17
|
+
* </Dialog>
|
|
18
|
+
* </Dialog.TriggerContext>
|
|
19
|
+
*/
|
|
20
|
+
const DialogComponent = Object.assign(Dialog, {
|
|
21
|
+
Block: DialogBlock,
|
|
22
|
+
TriggerContext: DialogTriggerContext,
|
|
23
|
+
Trigger: DialogTrigger,
|
|
24
|
+
});
|
|
25
|
+
DialogComponent.Block.displayName = 'Dialog.Block';
|
|
26
|
+
DialogComponent.TriggerContext.displayName = 'Dialog.TriggerContext';
|
|
27
|
+
DialogComponent.Trigger.displayName = 'Dialog.Trigger';
|
|
28
|
+
|
|
29
|
+
export { DialogComponent as Dialog, DialogBlock, DialogTrigger, DialogTriggerContext };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import cl from 'clsx/lite';
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Divider component, used to separate content. Uses `hr` element.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <Divider />
|
|
11
|
+
*/
|
|
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 }));
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export { Divider };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Button } from '../button/button.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* DropdownButton component, used to display a button in the DropdownItem.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <Dropdown>
|
|
11
|
+
* <DropdownList>
|
|
12
|
+
* <DropdownItem>
|
|
13
|
+
* <DropdownButton>Button</DropdownButton>
|
|
14
|
+
* </DropdownItem>
|
|
15
|
+
* </DropdownList>
|
|
16
|
+
* </Dropdown>
|
|
17
|
+
*/
|
|
18
|
+
const DropdownButton = forwardRef(function DropdownButton({ ...rest }, ref) {
|
|
19
|
+
return jsx(Button, { ref: ref, variant: 'tertiary', ...rest });
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export { DropdownButton };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Heading } from '../heading/heading.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* DropdownHeading component, used to display a heading in the Dropdown.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <Dropdown>
|
|
11
|
+
* <DropdownHeading>Heading</DropdownHeading>
|
|
12
|
+
* </Dropdown>
|
|
13
|
+
*/
|
|
14
|
+
const DropdownHeading = forwardRef(function DropdownHeading(rest, ref) {
|
|
15
|
+
return jsx(Heading, { ref: ref, ...rest });
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export { DropdownHeading };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* DropdownItem component, used to display an item in the Dropdown. Used within a DropdownList.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* <Dropdown>
|
|
10
|
+
* <DropdownList>
|
|
11
|
+
* <DropdownItem>
|
|
12
|
+
* <DropdownButton>Button</DropdownButton>
|
|
13
|
+
* </DropdownItem>
|
|
14
|
+
* </DropdownList>
|
|
15
|
+
* </Dropdown>
|
|
16
|
+
*/
|
|
17
|
+
const DropdownItem = forwardRef(function DropdownItem(rest, ref) {
|
|
18
|
+
return jsx("li", { ref: ref, ...rest });
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
export { DropdownItem };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* DropdownList component, used to display a list of items in the Dropdown.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* <Dropdown>
|
|
10
|
+
* <DropdownList>
|
|
11
|
+
* <DropdownItem>
|
|
12
|
+
* <DropdownButton>Button</DropdownButton>
|
|
13
|
+
* </DropdownItem>
|
|
14
|
+
* </DropdownList>
|
|
15
|
+
* </Dropdown>
|
|
16
|
+
*/
|
|
17
|
+
const DropdownList = forwardRef(function DropdownList(rest, ref) {
|
|
18
|
+
return jsx("ul", { ref: ref, ...rest });
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
export { DropdownList };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { PopoverTriggerContext } from '../popover/popover-trigger-context.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* DropdownTriggerContext enables use of the `.Trigger` for the Dropdown component.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* <DropdownTriggerContext>
|
|
10
|
+
* <DropdownTrigger>Dropdown</DropdownTrigger>
|
|
11
|
+
* <Dropdown>
|
|
12
|
+
* <DropdownHeading>Heading</DropdownHeading>
|
|
13
|
+
* <DropdownList>
|
|
14
|
+
* <DropdownItem>
|
|
15
|
+
* <DropdownButton>Button</DropdownButton>
|
|
16
|
+
* </DropdownItem>
|
|
17
|
+
* </DropdownList>
|
|
18
|
+
* </Dropdown>
|
|
19
|
+
* </DropdownTriggerContext>
|
|
20
|
+
*/
|
|
21
|
+
const DropdownTriggerContext = ({ children, }) => {
|
|
22
|
+
return jsx(PopoverTriggerContext, { children: children });
|
|
23
|
+
};
|
|
24
|
+
DropdownTriggerContext.displayName = 'DropdownTriggerContext';
|
|
25
|
+
|
|
26
|
+
export { DropdownTriggerContext };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { PopoverTrigger } from '../popover/popover-trigger.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* DropdownTrigger component, used within a Dropdown.TriggerContext to open a Dropdown.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <Dropdown.TriggerContext>
|
|
11
|
+
* <Dropdown.Trigger>Dropdown</Dropdown.Trigger>
|
|
12
|
+
* <Dropdown>
|
|
13
|
+
* <Dropdown.Heading>Heading</Dropdown.Heading>
|
|
14
|
+
* <Dropdown.List>
|
|
15
|
+
* <Dropdown.Item>
|
|
16
|
+
* <Dropdown.Button>Button</Dropdown.Button>
|
|
17
|
+
* </Dropdown.Item>
|
|
18
|
+
* </Dropdown.List>
|
|
19
|
+
* </Dropdown>
|
|
20
|
+
* </Dropdown.TriggerContext>
|
|
21
|
+
*/
|
|
22
|
+
const DropdownTrigger = forwardRef(function DropdownTrigger({ asChild, ...rest }, ref) {
|
|
23
|
+
return jsx(PopoverTrigger, { ref: ref, ...rest });
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
export { DropdownTrigger };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import cl from 'clsx/lite';
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
import { Popover } from '../popover/popover.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Dropdown component, used to display a list of options.
|
|
9
|
+
*
|
|
10
|
+
* @example with TriggerContext
|
|
11
|
+
* <Dropdown.TriggerContext>
|
|
12
|
+
* <Dropdown.Trigger>Dropdown trigger</Dropdown.Trigger>
|
|
13
|
+
* <Dropdown placement='bottom-end'>
|
|
14
|
+
* <Dropdown.Heading>Dropdown</Dropdown.Heading>
|
|
15
|
+
* <Dropdown.List>
|
|
16
|
+
* <Dropdown.Item>
|
|
17
|
+
* <Dropdown.Button>Option</Dropdown.Button>
|
|
18
|
+
* </Dropdown.Item>
|
|
19
|
+
* </Dropdown.List>
|
|
20
|
+
* </Dropdown>
|
|
21
|
+
* </Dropdown.TriggerContext>
|
|
22
|
+
*
|
|
23
|
+
* @example without TriggerContext
|
|
24
|
+
* <Button popovertarget="my-dropdown">Trigger</Button>
|
|
25
|
+
* <Dropdown id="my-dropdown">
|
|
26
|
+
* <Dropdown.Heading>Heading</Dropdown.Heading>
|
|
27
|
+
* <Dropdown.List>
|
|
28
|
+
* <Dropdown.Item>
|
|
29
|
+
* <Dropdown.Button>Item</Dropdown.Button>
|
|
30
|
+
* </Dropdown.Item>
|
|
31
|
+
* </Dropdown.List>
|
|
32
|
+
* </Dropdown>
|
|
33
|
+
*/
|
|
34
|
+
const Dropdown = forwardRef(function DropdownContent({ placement = 'bottom-end', className, ...rest }, ref) {
|
|
35
|
+
return (jsx(Popover, { className: cl('ds-dropdown', className), placement: placement, ref: ref, ...rest }));
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
export { Dropdown };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { Dropdown } from './dropdown.js';
|
|
3
|
+
import { DropdownButton } from './dropdown-button.js';
|
|
4
|
+
import { DropdownHeading } from './dropdown-heading.js';
|
|
5
|
+
import { DropdownItem } from './dropdown-item.js';
|
|
6
|
+
import { DropdownList } from './dropdown-list.js';
|
|
7
|
+
import { DropdownTrigger } from './dropdown-trigger.js';
|
|
8
|
+
import { DropdownTriggerContext } from './dropdown-trigger-context.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Dropdown component, used to display a list of options.
|
|
12
|
+
*
|
|
13
|
+
* @example with TriggerContext
|
|
14
|
+
* <Dropdown.TriggerContext>
|
|
15
|
+
* <Dropdown.Trigger>Dropdown trigger</Dropdown.Trigger>
|
|
16
|
+
* <Dropdown placement='bottom-end'>
|
|
17
|
+
* <Dropdown.Heading>Dropdown</Dropdown.Heading>
|
|
18
|
+
* <Dropdown.List>
|
|
19
|
+
* <Dropdown.Item>
|
|
20
|
+
* <Dropdown.Button>Option</Dropdown.Button>
|
|
21
|
+
* </Dropdown.Item>
|
|
22
|
+
* </Dropdown.List>
|
|
23
|
+
* </Dropdown>
|
|
24
|
+
* </Dropdown.TriggerContext>
|
|
25
|
+
*
|
|
26
|
+
* @example without TriggerContext
|
|
27
|
+
* <Button popovertarget="my-dropdown">Trigger</Button>
|
|
28
|
+
* <Dropdown id="my-dropdown">
|
|
29
|
+
* <Dropdown.Heading>Heading</Dropdown.Heading>
|
|
30
|
+
* <Dropdown.List>
|
|
31
|
+
* <Dropdown.Item>
|
|
32
|
+
* <Dropdown.Button>Item</Dropdown.Button>
|
|
33
|
+
* </Dropdown.Item>
|
|
34
|
+
* </Dropdown.List>
|
|
35
|
+
* </Dropdown>
|
|
36
|
+
*/
|
|
37
|
+
const DropdownComponent = Object.assign(Dropdown, {
|
|
38
|
+
TriggerContext: DropdownTriggerContext,
|
|
39
|
+
Heading: DropdownHeading,
|
|
40
|
+
List: DropdownList,
|
|
41
|
+
Item: DropdownItem,
|
|
42
|
+
Button: DropdownButton,
|
|
43
|
+
Trigger: DropdownTrigger,
|
|
44
|
+
});
|
|
45
|
+
DropdownComponent.TriggerContext.displayName = 'Dropdown.TriggerContext';
|
|
46
|
+
DropdownComponent.List.displayName = 'Dropdown.List';
|
|
47
|
+
DropdownComponent.Heading.displayName = 'Dropdown.Heading';
|
|
48
|
+
DropdownComponent.Item.displayName = 'Dropdown.Item';
|
|
49
|
+
DropdownComponent.Button.displayName = 'Dropdown.Button';
|
|
50
|
+
DropdownComponent.Trigger.displayName = 'Dropdown.Trigger';
|
|
51
|
+
|
|
52
|
+
export { DropdownComponent as Dropdown, DropdownButton, DropdownHeading, DropdownItem, DropdownList, DropdownTrigger, DropdownTriggerContext };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Heading } from '../heading/heading.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* ErrorSummary heading component, used to display a heading for the error summary.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <ErrorSummary>
|
|
11
|
+
* <ErrorSummaryHeading>Heading</ErrorSummaryHeading>
|
|
12
|
+
* </ErrorSummary>
|
|
13
|
+
*/
|
|
14
|
+
const ErrorSummaryHeading = forwardRef(function ErrorSummaryHeading(rest, ref) {
|
|
15
|
+
return jsx(Heading, { ref: ref, suppressHydrationWarning: true, ...rest }); // Suppress hydration warning since we will get an ID from <ds-error-summary>
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export { ErrorSummaryHeading };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import '../list/index.js';
|
|
5
|
+
import { ListItem } from '../list/list-item.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* ErrorSummaryItem component, used to display an error link in the ErrorSummary.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <ErrorSummaryItem>
|
|
12
|
+
* <ErrorSummaryLink href="#">
|
|
13
|
+
* Link to error
|
|
14
|
+
* </ErrorSummaryLink>
|
|
15
|
+
* </ErrorSummaryItem>
|
|
16
|
+
*/
|
|
17
|
+
const ErrorSummaryItem = forwardRef(function ErrorSummaryItem({ ...rest }, ref) {
|
|
18
|
+
return jsx(ListItem, { ref: ref, ...rest });
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
export { ErrorSummaryItem };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Link } from '../link/link.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* ErrorSummary link component, used to link to a specific error. Used within an ErrorSummary.Item.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <ErrorSummary>
|
|
11
|
+
* <ErrorSummaryItem>
|
|
12
|
+
* <ErrorSummaryLink href='#'>Error 1</ErrorSummaryLink>
|
|
13
|
+
* </ErrorSummaryItem>
|
|
14
|
+
* </ErrorSummary>
|
|
15
|
+
*/
|
|
16
|
+
const ErrorSummaryLink = forwardRef(function ErrorSummaryLink({ ...rest }, ref) {
|
|
17
|
+
return jsx(Link, { ref: ref, "data-color": 'neutral', ...rest });
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export { ErrorSummaryLink };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { List as ListComponent } from '../list/index.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* ErrorSummary list component, used to display a list of errors.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <ErrorSummary>
|
|
11
|
+
* <ErrorSummary.List>
|
|
12
|
+
* <ErrorSummary.Item>
|
|
13
|
+
* <ErrorSummary.Link href='#'>Error 1</ErrorSummary.Link>
|
|
14
|
+
* </ErrorSummary.Item>
|
|
15
|
+
* <ErrorSummary.Item>
|
|
16
|
+
* <ErrorSummary.Link href='#'>Error 2</ErrorSummary.Link>
|
|
17
|
+
* </ErrorSummary.Item>
|
|
18
|
+
* </ErrorSummary.List>
|
|
19
|
+
* </ErrorSummary>
|
|
20
|
+
*/
|
|
21
|
+
const ErrorSummaryList = forwardRef(function ErrorSummaryList({ ...rest }, ref) {
|
|
22
|
+
return jsx(ListComponent.Unordered, { ...rest, ref: ref });
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export { ErrorSummaryList };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
+
import cl from 'clsx/lite';
|
|
5
|
+
import { forwardRef } from 'react';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* ErrorSummary component, used to display a list of errors.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <ErrorSummary>
|
|
12
|
+
* <ErrorSummary.Heading>Heading</ErrorSummary.Heading>
|
|
13
|
+
* <ErrorSummary.List>
|
|
14
|
+
* <ErrorSummary.Item>
|
|
15
|
+
* <ErrorSummary.Link href='#'>Error 1</ErrorSummary.Link>
|
|
16
|
+
* </ErrorSummary.Item>
|
|
17
|
+
* <ErrorSummary.Item>
|
|
18
|
+
* <ErrorSummary.Link href='#'>Error 2</ErrorSummary.Link>
|
|
19
|
+
* </ErrorSummary.Item>
|
|
20
|
+
* </ErrorSummary.List>
|
|
21
|
+
* </ErrorSummary>
|
|
22
|
+
*/
|
|
23
|
+
const ErrorSummary = forwardRef(function ErrorSummary({ asChild, className, ...rest }, ref) {
|
|
24
|
+
const Component = asChild ? Slot : 'ds-error-summary';
|
|
25
|
+
return (jsx(Component, { ...(asChild
|
|
26
|
+
? { className: cl('ds-error-summary', className) }
|
|
27
|
+
: { class: cl('ds-error-summary', className) }), ref: ref, suppressHydrationWarning: true, ...rest }));
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
export { ErrorSummary };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { ErrorSummary } from './error-summary.js';
|
|
3
|
+
import { ErrorSummaryHeading } from './error-summary-heading.js';
|
|
4
|
+
import { ErrorSummaryItem } from './error-summary-item.js';
|
|
5
|
+
import { ErrorSummaryLink } from './error-summary-link.js';
|
|
6
|
+
import { ErrorSummaryList } from './error-summary-list.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* ErrorSummary component, used to display a list of errors.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <ErrorSummary>
|
|
13
|
+
* <ErrorSummary.Heading>Heading</ErrorSummary.Heading>
|
|
14
|
+
* <ErrorSummary.List>
|
|
15
|
+
* <ErrorSummary.Item>
|
|
16
|
+
* <ErrorSummary.Link href='#'>Error 1</ErrorSummary.Link>
|
|
17
|
+
* </ErrorSummary.Item>
|
|
18
|
+
* <ErrorSummary.Item>
|
|
19
|
+
* <ErrorSummary.Link href='#'>Error 2</ErrorSummary.Link>
|
|
20
|
+
* </ErrorSummary.Item>
|
|
21
|
+
* </ErrorSummary.List>
|
|
22
|
+
* </ErrorSummary>
|
|
23
|
+
*/
|
|
24
|
+
const ErrorSummaryComponent = Object.assign(ErrorSummary, {
|
|
25
|
+
Heading: ErrorSummaryHeading,
|
|
26
|
+
Item: ErrorSummaryItem,
|
|
27
|
+
List: ErrorSummaryList,
|
|
28
|
+
Link: ErrorSummaryLink,
|
|
29
|
+
});
|
|
30
|
+
ErrorSummaryComponent.Item.displayName = 'ErrorSummary.Item';
|
|
31
|
+
ErrorSummaryComponent.Heading.displayName = 'ErrorSummary.Heading';
|
|
32
|
+
ErrorSummaryComponent.List.displayName = 'ErrorSummary.List';
|
|
33
|
+
ErrorSummaryComponent.Link.displayName = 'ErrorSummary.Link';
|
|
34
|
+
|
|
35
|
+
export { ErrorSummaryComponent as ErrorSummary, ErrorSummaryHeading, ErrorSummaryItem, ErrorSummaryLink, ErrorSummaryList };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import cl from 'clsx/lite';
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* FieldAffixes component, used to wrap a form field.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <Field.Affixes>
|
|
11
|
+
* <Field.Affix>NOK</Field.Affix>
|
|
12
|
+
* <Input />
|
|
13
|
+
* <Field.Affix>pr. mnd.</Field.Affix>
|
|
14
|
+
* </Field.Affixes>
|
|
15
|
+
*/
|
|
16
|
+
const FieldAffixes = forwardRef(function FieldAffixes({ className, ...rest }, ref) {
|
|
17
|
+
return (jsx("div", { className: cl('ds-field-affixes', className), ref: ref, ...rest }));
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* FieldAffix component, used to wrap a form field.
|
|
21
|
+
* Use together with Field.Affixes.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* <Field.Affixes>
|
|
25
|
+
* <Field.Affix>NOK</Field.Affix>
|
|
26
|
+
* <Input />
|
|
27
|
+
* <Field.Affix>pr. mnd.</Field.Affix>
|
|
28
|
+
* </Field.Affixes>
|
|
29
|
+
*/
|
|
30
|
+
const FieldAffix = forwardRef(function FieldAffix({ className, ...rest }, ref) {
|
|
31
|
+
return (jsx("span", { className: cl('ds-field-affix', className), "aria-hidden": 'true', ref: ref, ...rest }));
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export { FieldAffix, FieldAffixes };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { warn } from '../../utilities/index.js';
|
|
5
|
+
import { ValidationMessage } from '../validation-message/validation-message.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* FieldCounter component, used to display a counter for a form field.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <Field>
|
|
12
|
+
* <Input />
|
|
13
|
+
* <Field.Counter limit={100} under='%d tegn igjen' over='%d tegn for mye' />
|
|
14
|
+
* </Field>
|
|
15
|
+
*/
|
|
16
|
+
const FieldCounter = forwardRef(function FieldCounter({ limit, under, over, hint, ...rest }, _ref) {
|
|
17
|
+
if (hint)
|
|
18
|
+
warn('hint attribute is deprecated on Field.Counter');
|
|
19
|
+
return (jsx(ValidationMessage, { suppressHydrationWarning // Since <ds-field> adds attributes
|
|
20
|
+
: true, "data-field": 'counter', "data-limit": limit, "data-under": under, "data-over": over, ...rest }));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export { FieldCounter };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Field description component, used to provide additional information below the input.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* <FieldDescription>Additional information</FieldDescription>
|
|
10
|
+
*/
|
|
11
|
+
const FieldDescription = forwardRef(function FieldDescription(rest, ref) {
|
|
12
|
+
return (jsx("div", { suppressHydrationWarning // Since <ds-field> adds attributes
|
|
13
|
+
: true, "data-field": 'description', ref: ref, ...rest }));
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export { FieldDescription };
|