@navikt/ds-react 6.0.0 → 6.1.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/cjs/accordion/index.d.ts +3 -0
- package/cjs/accordion/index.js +8 -1
- package/cjs/accordion/index.js.map +1 -1
- package/cjs/alert/index.d.ts +1 -2
- package/cjs/alert/index.js +1 -0
- package/cjs/alert/index.js.map +1 -1
- package/cjs/button/index.d.ts +1 -2
- package/cjs/button/index.js +1 -0
- package/cjs/button/index.js.map +1 -1
- package/cjs/chat/Bubble.d.ts +2 -2
- package/cjs/chat/index.d.ts +1 -0
- package/cjs/chat/index.js +4 -1
- package/cjs/chat/index.js.map +1 -1
- package/cjs/chips/Chips.d.ts +4 -4
- package/cjs/chips/Removable.d.ts +2 -2
- package/cjs/chips/Toggle.d.ts +2 -2
- package/cjs/chips/index.d.ts +2 -0
- package/cjs/chips/index.js +6 -1
- package/cjs/chips/index.js.map +1 -1
- package/cjs/copybutton/index.js +1 -0
- package/cjs/copybutton/index.js.map +1 -1
- package/cjs/date/datepicker/index.d.ts +4 -0
- package/cjs/date/datepicker/index.js +17 -0
- package/cjs/date/datepicker/index.js.map +1 -0
- package/cjs/date/datepicker/parts/DropdownCaption.js +3 -3
- package/cjs/date/monthpicker/MonthCaption.js +2 -2
- package/cjs/date/monthpicker/index.d.ts +5 -0
- package/cjs/date/monthpicker/index.js +16 -0
- package/cjs/date/monthpicker/index.js.map +1 -0
- package/cjs/dropdown/Dropdown.d.ts +2 -2
- package/cjs/dropdown/Dropdown.js.map +1 -1
- package/cjs/dropdown/Menu/index.d.ts +3 -3
- package/cjs/dropdown/Toggle.d.ts +3 -3
- package/cjs/dropdown/Toggle.js +3 -3
- package/cjs/dropdown/Toggle.js.map +1 -1
- package/cjs/dropdown/index.d.ts +8 -0
- package/cjs/dropdown/index.js +18 -1
- package/cjs/dropdown/index.js.map +1 -1
- package/cjs/expansion-card/ExpansionCardDescription.d.ts +1 -0
- package/cjs/expansion-card/ExpansionCardDescription.js +1 -0
- package/cjs/expansion-card/ExpansionCardDescription.js.map +1 -1
- package/cjs/expansion-card/ExpansionCardTitle.d.ts +1 -0
- package/cjs/expansion-card/ExpansionCardTitle.js +1 -0
- package/cjs/expansion-card/ExpansionCardTitle.js.map +1 -1
- package/cjs/expansion-card/index.d.ts +4 -0
- package/cjs/expansion-card/index.js +10 -1
- package/cjs/expansion-card/index.js.map +1 -1
- package/cjs/form/checkbox/CheckboxGroup.d.ts +1 -1
- package/cjs/form/checkbox/CheckboxGroup.js +4 -3
- package/cjs/form/checkbox/CheckboxGroup.js.map +1 -1
- package/cjs/form/checkbox/index.js +1 -0
- package/cjs/form/checkbox/index.js.map +1 -1
- package/cjs/form/combobox/index.d.ts +1 -1
- package/cjs/form/combobox/index.js +3 -2
- package/cjs/form/combobox/index.js.map +1 -1
- package/cjs/form/{ConfirmationPanel.d.ts → confirmation-panel/ConfirmationPanel.d.ts} +1 -1
- package/cjs/form/{ConfirmationPanel.js → confirmation-panel/ConfirmationPanel.js} +4 -4
- package/cjs/form/confirmation-panel/ConfirmationPanel.js.map +1 -0
- package/cjs/form/confirmation-panel/index.d.ts +1 -0
- package/cjs/form/confirmation-panel/index.js +10 -0
- package/cjs/form/confirmation-panel/index.js.map +1 -0
- package/cjs/form/error-summary/index.d.ts +2 -2
- package/cjs/form/error-summary/index.js +4 -1
- package/cjs/form/error-summary/index.js.map +1 -1
- package/cjs/form/{Fieldset → fieldset}/Fieldset.js.map +1 -1
- package/cjs/form/{Fieldset → fieldset}/context.js.map +1 -1
- package/cjs/form/{Fieldset → fieldset}/index.d.ts +0 -1
- package/cjs/form/{Fieldset → fieldset}/index.js +2 -3
- package/cjs/form/fieldset/index.js.map +1 -0
- package/cjs/form/{Fieldset → fieldset}/useFieldset.js.map +1 -1
- package/cjs/form/radio/RadioGroup.d.ts +1 -1
- package/cjs/form/radio/RadioGroup.js +4 -3
- package/cjs/form/radio/RadioGroup.js.map +1 -1
- package/cjs/form/radio/index.js +1 -0
- package/cjs/form/radio/index.js.map +1 -1
- package/cjs/form/search/index.d.ts +1 -0
- package/cjs/form/search/index.js +4 -1
- package/cjs/form/search/index.js.map +1 -1
- package/cjs/form/{Select.d.ts → select/Select.d.ts} +1 -1
- package/cjs/form/{Select.js → select/Select.js} +4 -4
- package/cjs/form/select/Select.js.map +1 -0
- package/cjs/form/select/index.d.ts +1 -0
- package/cjs/form/select/index.js +10 -0
- package/cjs/form/select/index.js.map +1 -0
- package/cjs/form/{Switch.d.ts → switch/Switch.d.ts} +1 -1
- package/cjs/form/{Switch.js → switch/Switch.js} +5 -5
- package/cjs/form/switch/Switch.js.map +1 -0
- package/cjs/form/switch/index.d.ts +1 -0
- package/cjs/form/switch/index.js +10 -0
- package/cjs/form/switch/index.js.map +1 -0
- package/{esm/form → cjs/form/textarea}/Textarea.d.ts +1 -1
- package/cjs/form/{Textarea.js → textarea/Textarea.js} +7 -7
- package/cjs/form/textarea/Textarea.js.map +1 -0
- package/cjs/form/{TextareaCounter.js → textarea/TextareaCounter.js} +2 -2
- package/cjs/form/textarea/TextareaCounter.js.map +1 -0
- package/cjs/form/textarea/index.d.ts +1 -0
- package/cjs/form/textarea/index.js +10 -0
- package/cjs/form/textarea/index.js.map +1 -0
- package/cjs/form/{TextField.d.ts → textfield/TextField.d.ts} +1 -1
- package/cjs/form/{TextField.js → textfield/TextField.js} +4 -4
- package/cjs/form/textfield/TextField.js.map +1 -0
- package/cjs/form/textfield/index.d.ts +1 -0
- package/cjs/form/textfield/index.js +10 -0
- package/cjs/form/textfield/index.js.map +1 -0
- package/cjs/form/useFormField.js +1 -1
- package/cjs/guide-panel/index.d.ts +1 -1
- package/cjs/guide-panel/index.js +3 -2
- package/cjs/guide-panel/index.js.map +1 -1
- package/cjs/help-text/index.d.ts +1 -2
- package/cjs/help-text/index.js +1 -0
- package/cjs/help-text/index.js.map +1 -1
- package/cjs/index.d.ts +54 -40
- package/cjs/index.js +127 -54
- package/cjs/index.js.map +1 -1
- package/cjs/internal-header/index.d.ts +4 -4
- package/cjs/internal-header/index.js +10 -1
- package/cjs/internal-header/index.js.map +1 -1
- package/cjs/layout/bleed/Bleed.d.ts +1 -0
- package/cjs/layout/bleed/Bleed.js +1 -0
- package/cjs/layout/bleed/Bleed.js.map +1 -1
- package/cjs/layout/bleed/index.d.ts +1 -1
- package/cjs/layout/bleed/index.js +5 -1
- package/cjs/layout/bleed/index.js.map +1 -1
- package/cjs/layout/box/Box.d.ts +1 -0
- package/cjs/layout/box/Box.js +1 -0
- package/cjs/layout/box/Box.js.map +1 -1
- package/cjs/layout/box/index.d.ts +1 -1
- package/cjs/layout/box/index.js +5 -1
- package/cjs/layout/box/index.js.map +1 -1
- package/cjs/layout/grid/index.js +1 -0
- package/cjs/layout/grid/index.js.map +1 -1
- package/cjs/layout/page/index.d.ts +1 -1
- package/cjs/layout/page/index.js +4 -1
- package/cjs/layout/page/index.js.map +1 -1
- package/cjs/layout/page/parts/PageBlock.d.ts +1 -0
- package/cjs/layout/page/parts/PageBlock.js +1 -0
- package/cjs/layout/page/parts/PageBlock.js.map +1 -1
- package/cjs/layout/responsive/index.js +1 -0
- package/cjs/layout/responsive/index.js.map +1 -1
- package/cjs/layout/sidemal-test/Filter.js +4 -4
- package/cjs/layout/sidemal-test/Filter.js.map +1 -1
- package/cjs/layout/stack/HStack.d.ts +1 -0
- package/cjs/layout/stack/HStack.js +1 -0
- package/cjs/layout/stack/HStack.js.map +1 -1
- package/cjs/layout/stack/Spacer.d.ts +1 -0
- package/cjs/layout/stack/Spacer.js +1 -0
- package/cjs/layout/stack/Spacer.js.map +1 -1
- package/cjs/layout/stack/Stack.d.ts +1 -0
- package/cjs/layout/stack/Stack.js +1 -0
- package/cjs/layout/stack/Stack.js.map +1 -1
- package/cjs/layout/stack/VStack.d.ts +1 -0
- package/cjs/layout/stack/VStack.js +1 -0
- package/cjs/layout/stack/VStack.js.map +1 -1
- package/cjs/layout/stack/index.d.ts +4 -4
- package/cjs/layout/stack/index.js +8 -4
- package/cjs/layout/stack/index.js.map +1 -1
- package/cjs/link/index.d.ts +1 -2
- package/cjs/link/index.js +1 -0
- package/cjs/link/index.js.map +1 -1
- package/cjs/link-panel/LinkPanelDescription.d.ts +1 -0
- package/cjs/link-panel/LinkPanelDescription.js +1 -0
- package/cjs/link-panel/LinkPanelDescription.js.map +1 -1
- package/cjs/link-panel/LinkPanelTitle.d.ts +1 -0
- package/cjs/link-panel/LinkPanelTitle.js +1 -0
- package/cjs/link-panel/LinkPanelTitle.js.map +1 -1
- package/cjs/link-panel/index.d.ts +3 -2
- package/cjs/link-panel/index.js +6 -1
- package/cjs/link-panel/index.js.map +1 -1
- package/cjs/list/index.d.ts +1 -0
- package/cjs/list/index.js +4 -1
- package/cjs/list/index.js.map +1 -1
- package/cjs/loader/index.js +1 -0
- package/cjs/loader/index.js.map +1 -1
- package/cjs/modal/Modal.js +31 -13
- package/cjs/modal/Modal.js.map +1 -1
- package/cjs/modal/ModalHeader.js +1 -1
- package/cjs/modal/ModalHeader.js.map +1 -1
- package/cjs/modal/ModalUtils.d.ts +6 -1
- package/cjs/modal/ModalUtils.js +13 -3
- package/cjs/modal/ModalUtils.js.map +1 -1
- package/cjs/modal/index.d.ts +3 -3
- package/cjs/modal/index.js +8 -1
- package/cjs/modal/index.js.map +1 -1
- package/cjs/modal/types.d.ts +14 -3
- package/cjs/modal/types.test-d.d.ts +1 -0
- package/cjs/modal/types.test-d.js +67 -0
- package/cjs/modal/types.test-d.js.map +1 -0
- package/cjs/pagination/index.d.ts +1 -0
- package/cjs/pagination/index.js +4 -1
- package/cjs/pagination/index.js.map +1 -1
- package/cjs/popover/index.d.ts +1 -1
- package/cjs/popover/index.js +4 -1
- package/cjs/popover/index.js.map +1 -1
- package/cjs/{overlays/portal → portal}/Portal.d.ts +1 -1
- package/cjs/{overlays/portal → portal}/Portal.js +3 -3
- package/cjs/portal/Portal.js.map +1 -0
- package/cjs/portal/index.d.ts +1 -0
- package/cjs/portal/index.js +10 -0
- package/cjs/portal/index.js.map +1 -0
- package/cjs/provider/index.d.ts +1 -1
- package/cjs/provider/index.js +2 -2
- package/cjs/provider/index.js.map +1 -1
- package/cjs/read-more/index.d.ts +1 -2
- package/cjs/read-more/index.js +1 -0
- package/cjs/read-more/index.js.map +1 -1
- package/cjs/skeleton/index.d.ts +1 -2
- package/cjs/skeleton/index.js +1 -0
- package/cjs/skeleton/index.js.map +1 -1
- package/cjs/stepper/index.d.ts +1 -0
- package/cjs/stepper/index.js +4 -1
- package/cjs/stepper/index.js.map +1 -1
- package/cjs/table/index.d.ts +7 -7
- package/cjs/table/index.js +16 -1
- package/cjs/table/index.js.map +1 -1
- package/cjs/tabs/index.d.ts +3 -3
- package/cjs/tabs/index.js +8 -1
- package/cjs/tabs/index.js.map +1 -1
- package/cjs/tag/index.js +1 -0
- package/cjs/tag/index.js.map +1 -1
- package/cjs/timeline/index.d.ts +5 -6
- package/cjs/timeline/index.js +10 -1
- package/cjs/timeline/index.js.map +1 -1
- package/cjs/toggle-group/ToggleGroup.d.ts +3 -3
- package/cjs/toggle-group/ToggleGroup.js.map +1 -1
- package/cjs/toggle-group/ToggleItem.d.ts +2 -2
- package/cjs/toggle-group/index.d.ts +1 -1
- package/cjs/toggle-group/index.js +4 -1
- package/cjs/toggle-group/index.js.map +1 -1
- package/cjs/tooltip/Tooltip.js +2 -2
- package/cjs/tooltip/Tooltip.js.map +1 -1
- package/cjs/tooltip/index.js +1 -0
- package/cjs/tooltip/index.js.map +1 -1
- package/cjs/typography/index.js +1 -0
- package/cjs/typography/index.js.map +1 -1
- package/cjs/util/debounce.js +1 -0
- package/cjs/util/debounce.js.map +1 -1
- package/cjs/util/hooks/useClientLayoutEffect.js +1 -0
- package/cjs/util/hooks/useClientLayoutEffect.js.map +1 -1
- package/cjs/util/hooks/useEventListener.js +1 -0
- package/cjs/util/hooks/useEventListener.js.map +1 -1
- package/cjs/util/hooks/useId.js +1 -0
- package/cjs/util/hooks/useId.js.map +1 -1
- package/cjs/util/index.d.ts +2 -2
- package/cjs/util/index.js +3 -16
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/omit.d.ts +1 -1
- package/cjs/util/omit.js +5 -3
- package/cjs/util/omit.js.map +1 -1
- package/esm/accordion/index.d.ts +3 -0
- package/esm/accordion/index.js +4 -0
- package/esm/accordion/index.js.map +1 -1
- package/esm/alert/index.d.ts +1 -2
- package/esm/alert/index.js +1 -0
- package/esm/alert/index.js.map +1 -1
- package/esm/button/index.d.ts +1 -2
- package/esm/button/index.js +1 -0
- package/esm/button/index.js.map +1 -1
- package/esm/chat/Bubble.d.ts +2 -2
- package/esm/chat/index.d.ts +1 -0
- package/esm/chat/index.js +2 -0
- package/esm/chat/index.js.map +1 -1
- package/esm/chips/Chips.d.ts +4 -4
- package/esm/chips/Removable.d.ts +2 -2
- package/esm/chips/Toggle.d.ts +2 -2
- package/esm/chips/index.d.ts +2 -0
- package/esm/chips/index.js +3 -0
- package/esm/chips/index.js.map +1 -1
- package/esm/copybutton/index.js +1 -0
- package/esm/copybutton/index.js.map +1 -1
- package/esm/date/datepicker/index.d.ts +4 -0
- package/esm/date/datepicker/index.js +6 -0
- package/esm/date/datepicker/index.js.map +1 -0
- package/esm/date/datepicker/parts/DropdownCaption.js +1 -1
- package/esm/date/monthpicker/MonthCaption.js +1 -1
- package/esm/date/monthpicker/index.d.ts +5 -0
- package/esm/date/monthpicker/index.js +6 -0
- package/esm/date/monthpicker/index.js.map +1 -0
- package/esm/dropdown/Dropdown.d.ts +2 -2
- package/esm/dropdown/Dropdown.js.map +1 -1
- package/esm/dropdown/Menu/index.d.ts +3 -3
- package/esm/dropdown/Toggle.d.ts +3 -3
- package/esm/dropdown/Toggle.js +2 -2
- package/esm/dropdown/Toggle.js.map +1 -1
- package/esm/dropdown/index.d.ts +8 -0
- package/esm/dropdown/index.js +9 -0
- package/esm/dropdown/index.js.map +1 -1
- package/esm/expansion-card/ExpansionCardDescription.d.ts +1 -0
- package/esm/expansion-card/ExpansionCardDescription.js +1 -0
- package/esm/expansion-card/ExpansionCardDescription.js.map +1 -1
- package/esm/expansion-card/ExpansionCardTitle.d.ts +1 -0
- package/esm/expansion-card/ExpansionCardTitle.js +1 -0
- package/esm/expansion-card/ExpansionCardTitle.js.map +1 -1
- package/esm/expansion-card/index.d.ts +4 -0
- package/esm/expansion-card/index.js +5 -0
- package/esm/expansion-card/index.js.map +1 -1
- package/esm/form/checkbox/CheckboxGroup.d.ts +1 -1
- package/esm/form/checkbox/CheckboxGroup.js +2 -1
- package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
- package/esm/form/checkbox/index.js +1 -0
- package/esm/form/checkbox/index.js.map +1 -1
- package/esm/form/combobox/index.d.ts +1 -1
- package/esm/form/combobox/index.js +2 -1
- package/esm/form/combobox/index.js.map +1 -1
- package/esm/form/{ConfirmationPanel.d.ts → confirmation-panel/ConfirmationPanel.d.ts} +1 -1
- package/esm/form/{ConfirmationPanel.js → confirmation-panel/ConfirmationPanel.js} +4 -4
- package/esm/form/confirmation-panel/ConfirmationPanel.js.map +1 -0
- package/esm/form/confirmation-panel/index.d.ts +1 -0
- package/esm/form/confirmation-panel/index.js +3 -0
- package/esm/form/confirmation-panel/index.js.map +1 -0
- package/esm/form/error-summary/index.d.ts +2 -2
- package/esm/form/error-summary/index.js +3 -1
- package/esm/form/error-summary/index.js.map +1 -1
- package/esm/form/{Fieldset → fieldset}/Fieldset.js.map +1 -1
- package/esm/form/{Fieldset → fieldset}/context.js.map +1 -1
- package/esm/form/{Fieldset → fieldset}/index.d.ts +0 -1
- package/esm/form/fieldset/index.js +3 -0
- package/esm/form/fieldset/index.js.map +1 -0
- package/esm/form/{Fieldset → fieldset}/useFieldset.js.map +1 -1
- package/esm/form/radio/RadioGroup.d.ts +1 -1
- package/esm/form/radio/RadioGroup.js +2 -1
- package/esm/form/radio/RadioGroup.js.map +1 -1
- package/esm/form/radio/index.js +1 -0
- package/esm/form/radio/index.js.map +1 -1
- package/esm/form/search/index.d.ts +1 -0
- package/esm/form/search/index.js +2 -0
- package/esm/form/search/index.js.map +1 -1
- package/esm/form/{Select.d.ts → select/Select.d.ts} +1 -1
- package/esm/form/{Select.js → select/Select.js} +4 -4
- package/esm/form/select/Select.js.map +1 -0
- package/esm/form/select/index.d.ts +1 -0
- package/esm/form/select/index.js +3 -0
- package/esm/form/select/index.js.map +1 -0
- package/esm/form/{Switch.d.ts → switch/Switch.d.ts} +1 -1
- package/esm/form/{Switch.js → switch/Switch.js} +5 -5
- package/esm/form/switch/Switch.js.map +1 -0
- package/esm/form/switch/index.d.ts +1 -0
- package/esm/form/switch/index.js +3 -0
- package/esm/form/switch/index.js.map +1 -0
- package/{cjs/form → esm/form/textarea}/Textarea.d.ts +1 -1
- package/esm/form/{Textarea.js → textarea/Textarea.js} +7 -7
- package/esm/form/textarea/Textarea.js.map +1 -0
- package/esm/form/{TextareaCounter.js → textarea/TextareaCounter.js} +2 -2
- package/esm/form/textarea/TextareaCounter.js.map +1 -0
- package/esm/form/textarea/index.d.ts +1 -0
- package/esm/form/textarea/index.js +3 -0
- package/esm/form/textarea/index.js.map +1 -0
- package/esm/form/{TextField.d.ts → textfield/TextField.d.ts} +1 -1
- package/esm/form/{TextField.js → textfield/TextField.js} +4 -4
- package/esm/form/textfield/TextField.js.map +1 -0
- package/esm/form/textfield/index.d.ts +1 -0
- package/esm/form/textfield/index.js +3 -0
- package/esm/form/textfield/index.js.map +1 -0
- package/esm/form/useFormField.js +1 -1
- package/esm/guide-panel/index.d.ts +1 -1
- package/esm/guide-panel/index.js +2 -1
- package/esm/guide-panel/index.js.map +1 -1
- package/esm/help-text/index.d.ts +1 -2
- package/esm/help-text/index.js +1 -0
- package/esm/help-text/index.js.map +1 -1
- package/esm/index.d.ts +54 -40
- package/esm/index.js +54 -40
- package/esm/index.js.map +1 -1
- package/esm/internal-header/index.d.ts +4 -4
- package/esm/internal-header/index.js +5 -0
- package/esm/internal-header/index.js.map +1 -1
- package/esm/layout/bleed/Bleed.d.ts +1 -0
- package/esm/layout/bleed/Bleed.js +1 -0
- package/esm/layout/bleed/Bleed.js.map +1 -1
- package/esm/layout/bleed/index.d.ts +1 -1
- package/esm/layout/bleed/index.js +2 -1
- package/esm/layout/bleed/index.js.map +1 -1
- package/esm/layout/box/Box.d.ts +1 -0
- package/esm/layout/box/Box.js +1 -0
- package/esm/layout/box/Box.js.map +1 -1
- package/esm/layout/box/index.d.ts +1 -1
- package/esm/layout/box/index.js +2 -1
- package/esm/layout/box/index.js.map +1 -1
- package/esm/layout/grid/index.js +1 -0
- package/esm/layout/grid/index.js.map +1 -1
- package/esm/layout/page/index.d.ts +1 -1
- package/esm/layout/page/index.js +2 -0
- package/esm/layout/page/index.js.map +1 -1
- package/esm/layout/page/parts/PageBlock.d.ts +1 -0
- package/esm/layout/page/parts/PageBlock.js +1 -0
- package/esm/layout/page/parts/PageBlock.js.map +1 -1
- package/esm/layout/responsive/index.js +1 -0
- package/esm/layout/responsive/index.js.map +1 -1
- package/esm/layout/sidemal-test/Filter.js +1 -1
- package/esm/layout/sidemal-test/Filter.js.map +1 -1
- package/esm/layout/stack/HStack.d.ts +1 -0
- package/esm/layout/stack/HStack.js +1 -0
- package/esm/layout/stack/HStack.js.map +1 -1
- package/esm/layout/stack/Spacer.d.ts +1 -0
- package/esm/layout/stack/Spacer.js +1 -0
- package/esm/layout/stack/Spacer.js.map +1 -1
- package/esm/layout/stack/Stack.d.ts +1 -0
- package/esm/layout/stack/Stack.js +1 -0
- package/esm/layout/stack/Stack.js.map +1 -1
- package/esm/layout/stack/VStack.d.ts +1 -0
- package/esm/layout/stack/VStack.js +1 -0
- package/esm/layout/stack/VStack.js.map +1 -1
- package/esm/layout/stack/index.d.ts +4 -4
- package/esm/layout/stack/index.js +5 -4
- package/esm/layout/stack/index.js.map +1 -1
- package/esm/link/index.d.ts +1 -2
- package/esm/link/index.js +1 -0
- package/esm/link/index.js.map +1 -1
- package/esm/link-panel/LinkPanelDescription.d.ts +1 -0
- package/esm/link-panel/LinkPanelDescription.js +1 -0
- package/esm/link-panel/LinkPanelDescription.js.map +1 -1
- package/esm/link-panel/LinkPanelTitle.d.ts +1 -0
- package/esm/link-panel/LinkPanelTitle.js +1 -0
- package/esm/link-panel/LinkPanelTitle.js.map +1 -1
- package/esm/link-panel/index.d.ts +3 -2
- package/esm/link-panel/index.js +3 -0
- package/esm/link-panel/index.js.map +1 -1
- package/esm/list/index.d.ts +1 -0
- package/esm/list/index.js +2 -0
- package/esm/list/index.js.map +1 -1
- package/esm/loader/index.js +1 -0
- package/esm/loader/index.js.map +1 -1
- package/esm/modal/Modal.js +31 -13
- package/esm/modal/Modal.js.map +1 -1
- package/esm/modal/ModalHeader.js +1 -1
- package/esm/modal/ModalHeader.js.map +1 -1
- package/esm/modal/ModalUtils.d.ts +6 -1
- package/esm/modal/ModalUtils.js +11 -2
- package/esm/modal/ModalUtils.js.map +1 -1
- package/esm/modal/index.d.ts +3 -3
- package/esm/modal/index.js +4 -0
- package/esm/modal/index.js.map +1 -1
- package/esm/modal/types.d.ts +14 -3
- package/esm/modal/types.test-d.d.ts +1 -0
- package/esm/modal/types.test-d.js +65 -0
- package/esm/modal/types.test-d.js.map +1 -0
- package/esm/pagination/index.d.ts +1 -0
- package/esm/pagination/index.js +2 -0
- package/esm/pagination/index.js.map +1 -1
- package/esm/popover/index.d.ts +1 -1
- package/esm/popover/index.js +2 -0
- package/esm/popover/index.js.map +1 -1
- package/esm/{overlays/portal → portal}/Portal.d.ts +1 -1
- package/esm/{overlays/portal → portal}/Portal.js +2 -2
- package/esm/portal/Portal.js.map +1 -0
- package/esm/portal/index.d.ts +1 -0
- package/esm/portal/index.js +3 -0
- package/esm/portal/index.js.map +1 -0
- package/esm/provider/index.d.ts +1 -1
- package/esm/provider/index.js +2 -1
- package/esm/provider/index.js.map +1 -1
- package/esm/read-more/index.d.ts +1 -2
- package/esm/read-more/index.js +1 -0
- package/esm/read-more/index.js.map +1 -1
- package/esm/skeleton/index.d.ts +1 -2
- package/esm/skeleton/index.js +1 -0
- package/esm/skeleton/index.js.map +1 -1
- package/esm/stepper/index.d.ts +1 -0
- package/esm/stepper/index.js +2 -0
- package/esm/stepper/index.js.map +1 -1
- package/esm/table/index.d.ts +7 -7
- package/esm/table/index.js +8 -0
- package/esm/table/index.js.map +1 -1
- package/esm/tabs/index.d.ts +3 -3
- package/esm/tabs/index.js +4 -0
- package/esm/tabs/index.js.map +1 -1
- package/esm/tag/index.js +1 -0
- package/esm/tag/index.js.map +1 -1
- package/esm/timeline/index.d.ts +5 -6
- package/esm/timeline/index.js +5 -0
- package/esm/timeline/index.js.map +1 -1
- package/esm/toggle-group/ToggleGroup.d.ts +3 -3
- package/esm/toggle-group/ToggleGroup.js.map +1 -1
- package/esm/toggle-group/ToggleItem.d.ts +2 -2
- package/esm/toggle-group/index.d.ts +1 -1
- package/esm/toggle-group/index.js +2 -0
- package/esm/toggle-group/index.js.map +1 -1
- package/esm/tooltip/Tooltip.js +1 -1
- package/esm/tooltip/Tooltip.js.map +1 -1
- package/esm/tooltip/index.js +1 -0
- package/esm/tooltip/index.js.map +1 -1
- package/esm/typography/index.js +1 -0
- package/esm/typography/index.js.map +1 -1
- package/esm/util/debounce.js +1 -0
- package/esm/util/debounce.js.map +1 -1
- package/esm/util/hooks/useClientLayoutEffect.js +1 -0
- package/esm/util/hooks/useClientLayoutEffect.js.map +1 -1
- package/esm/util/hooks/useEventListener.js +1 -0
- package/esm/util/hooks/useEventListener.js.map +1 -1
- package/esm/util/hooks/useId.js +1 -0
- package/esm/util/hooks/useId.js.map +1 -1
- package/esm/util/index.d.ts +2 -2
- package/esm/util/index.js +1 -1
- package/esm/util/index.js.map +1 -1
- package/esm/util/omit.d.ts +1 -1
- package/esm/util/omit.js +5 -3
- package/esm/util/omit.js.map +1 -1
- package/package.json +512 -13
- package/src/accordion/index.ts +13 -0
- package/src/alert/index.ts +2 -2
- package/src/button/index.ts +2 -2
- package/src/chat/Bubble.tsx +2 -2
- package/src/chat/chat.stories.tsx +2 -2
- package/src/chat/index.ts +2 -0
- package/src/chips/Chips.tsx +4 -4
- package/src/chips/Removable.tsx +2 -2
- package/src/chips/Toggle.tsx +2 -2
- package/src/chips/chips.stories.tsx +39 -1
- package/src/chips/index.ts +6 -0
- package/src/copybutton/copy-button.stories.tsx +49 -0
- package/src/copybutton/index.ts +1 -0
- package/src/date/datepicker/datepicker.stories.tsx +99 -0
- package/src/date/datepicker/datepicker.test.tsx +5 -3
- package/src/date/datepicker/index.ts +13 -0
- package/src/date/datepicker/parts/DropdownCaption.tsx +1 -1
- package/src/date/hooks/useRangeDatepicker.test.tsx +5 -3
- package/src/date/monthpicker/MonthCaption.tsx +1 -1
- package/src/date/monthpicker/index.ts +9 -0
- package/src/date/monthpicker/monthpicker.stories.tsx +27 -1
- package/src/date/utils/__tests__/check-dates.test.ts +1 -0
- package/src/date/utils/__tests__/dates-disabled.test.ts +1 -0
- package/src/date/utils/__tests__/format-dates.test.ts +1 -0
- package/src/date/utils/__tests__/get-dates.test.ts +1 -0
- package/src/date/utils/__tests__/get-initial-year.test.ts +1 -0
- package/src/date/utils/__tests__/get-month-weeks.test.ts +1 -0
- package/src/date/utils/__tests__/is-match.test.ts +1 -0
- package/src/date/utils/__tests__/parse-dates.test.ts +13 -3
- package/src/dropdown/Dropdown.tsx +2 -4
- package/src/dropdown/Menu/index.tsx +3 -3
- package/src/dropdown/Toggle.tsx +39 -40
- package/src/dropdown/index.ts +9 -0
- package/src/expansion-card/ExpansionCardDescription.tsx +2 -0
- package/src/expansion-card/ExpansionCardTitle.tsx +2 -0
- package/src/expansion-card/expansion-card.stories.tsx +32 -1
- package/src/expansion-card/index.ts +5 -0
- package/src/form/checkbox/Checkbox.test.tsx +6 -4
- package/src/form/checkbox/CheckboxGroup.tsx +2 -1
- package/src/form/checkbox/checkbox.stories.tsx +58 -2
- package/src/form/checkbox/index.ts +1 -0
- package/src/form/combobox/combobox.stories.tsx +3 -1
- package/src/form/combobox/combobox.test.tsx +6 -5
- package/src/form/combobox/index.ts +2 -1
- package/src/form/{ConfirmationPanel.test.tsx → confirmation-panel/ConfirmationPanel.test.tsx} +1 -0
- package/src/form/{ConfirmationPanel.tsx → confirmation-panel/ConfirmationPanel.tsx} +4 -4
- package/src/form/{stories → confirmation-panel}/confirmation-panel.stories.tsx +33 -2
- package/src/form/confirmation-panel/index.ts +5 -0
- package/src/form/error-summary/index.ts +9 -2
- package/src/form/{stories → fieldset}/fieldset.stories.tsx +2 -2
- package/src/form/{Fieldset → fieldset}/index.ts +1 -1
- package/src/form/radio/Radio.test.tsx +9 -3
- package/src/form/radio/RadioGroup.tsx +2 -1
- package/src/form/radio/index.ts +1 -0
- package/src/form/radio/radio.stories.tsx +51 -2
- package/src/form/search/index.ts +6 -0
- package/src/form/search/search.stories.tsx +53 -2
- package/src/form/{Select.tsx → select/Select.tsx} +4 -4
- package/src/form/select/index.ts +2 -0
- package/src/form/{stories → select}/select.stories.tsx +45 -2
- package/src/form/{Switch.tsx → switch/Switch.tsx} +5 -5
- package/src/form/switch/index.ts +2 -0
- package/src/form/{stories → switch}/switch.stories.tsx +1 -1
- package/src/form/{Textarea.tsx → textarea/Textarea.tsx} +7 -7
- package/src/form/{TextareaCounter.tsx → textarea/TextareaCounter.tsx} +2 -2
- package/src/form/textarea/index.ts +2 -0
- package/src/form/{stories → textarea}/textarea.stories.tsx +30 -1
- package/src/form/{TextField.tsx → textfield/TextField.tsx} +4 -4
- package/src/form/textfield/index.ts +2 -0
- package/src/form/{stories → textfield}/text-field.stories.tsx +45 -2
- package/src/form/useFormField.ts +1 -1
- package/src/guide-panel/guidepanel.stories.tsx +3 -1
- package/src/guide-panel/index.ts +2 -1
- package/src/help-text/index.ts +2 -2
- package/src/index.ts +143 -40
- package/src/internal-header/index.ts +17 -4
- package/src/layout/bleed/Bleed.tsx +2 -0
- package/src/layout/bleed/index.ts +2 -1
- package/src/layout/box/Box.tsx +2 -0
- package/src/layout/box/index.ts +2 -1
- package/src/layout/grid/index.ts +1 -0
- package/src/layout/page/index.ts +2 -1
- package/src/layout/page/parts/PageBlock.tsx +2 -0
- package/src/layout/responsive/index.ts +1 -0
- package/src/layout/sidemal-test/Filter.tsx +1 -1
- package/src/layout/stack/HStack.tsx +2 -0
- package/src/layout/stack/Spacer.tsx +2 -0
- package/src/layout/stack/Stack.tsx +2 -0
- package/src/layout/stack/VStack.tsx +2 -0
- package/src/layout/stack/index.ts +5 -4
- package/src/link/index.ts +2 -2
- package/src/link/stories/link.stories.tsx +188 -97
- package/src/link-panel/LinkPanelDescription.tsx +2 -0
- package/src/link-panel/LinkPanelTitle.tsx +2 -0
- package/src/link-panel/index.ts +10 -2
- package/src/list/index.ts +2 -0
- package/src/loader/index.ts +1 -0
- package/src/modal/Modal.test.tsx +1 -0
- package/src/modal/Modal.tsx +51 -12
- package/src/modal/ModalHeader.tsx +1 -1
- package/src/modal/ModalUtils.ts +17 -1
- package/src/modal/index.ts +4 -3
- package/src/modal/modal.stories.tsx +54 -0
- package/src/modal/types.test-d.ts +78 -0
- package/src/modal/types.ts +17 -3
- package/src/pagination/index.ts +5 -0
- package/src/pagination/steps.test.ts +9 -8
- package/src/popover/Popover.test.tsx +9 -8
- package/src/popover/index.ts +5 -1
- package/src/popover/popover.stories.tsx +1 -1
- package/src/{overlays/portal → portal}/Portal.stories.tsx +8 -5
- package/src/{overlays/portal → portal}/Portal.tsx +3 -3
- package/src/portal/index.ts +2 -0
- package/src/provider/index.ts +2 -1
- package/src/read-more/index.ts +2 -2
- package/src/skeleton/index.ts +2 -2
- package/src/skeleton/skeleton.stories.tsx +1 -1
- package/src/stepper/index.ts +2 -0
- package/src/table/index.ts +14 -7
- package/src/table/stories/table-1.stories.tsx +1 -1
- package/src/table/stories/table-2-expandable.stories.tsx +1 -1
- package/src/tabs/Tabs.test.tsx +1 -0
- package/src/tabs/index.ts +4 -3
- package/src/tag/index.ts +1 -0
- package/src/timeline/index.ts +9 -6
- package/src/toggle-group/ToggleGroup.stories.tsx +1 -1
- package/src/toggle-group/ToggleGroup.test.tsx +1 -0
- package/src/toggle-group/ToggleGroup.tsx +3 -3
- package/src/toggle-group/ToggleItem.tsx +2 -2
- package/src/toggle-group/index.ts +5 -1
- package/src/tooltip/Tooltip.test.tsx +5 -4
- package/src/tooltip/Tooltip.tsx +1 -1
- package/src/tooltip/index.ts +1 -0
- package/src/tooltip/tooltip.stories.tsx +1 -1
- package/src/typography/index.ts +1 -0
- package/src/util/__tests__/Slot.test.tsx +7 -6
- package/src/util/__tests__/useMedia.test.tsx +1 -0
- package/src/util/debounce.ts +1 -0
- package/src/util/hooks/useClientLayoutEffect.ts +2 -0
- package/src/util/hooks/useEventListener.ts +2 -0
- package/src/util/hooks/useId.ts +2 -0
- package/src/util/index.ts +2 -2
- package/src/util/omit.ts +8 -4
- package/cjs/date/index.d.ts +0 -7
- package/cjs/date/index.js +0 -15
- package/cjs/date/index.js.map +0 -1
- package/cjs/form/ConfirmationPanel.js.map +0 -1
- package/cjs/form/Fieldset/index.js.map +0 -1
- package/cjs/form/Select.js.map +0 -1
- package/cjs/form/Switch.js.map +0 -1
- package/cjs/form/TextField.js.map +0 -1
- package/cjs/form/Textarea.js.map +0 -1
- package/cjs/form/TextareaCounter.js.map +0 -1
- package/cjs/form/index.d.ts +0 -11
- package/cjs/form/index.js +0 -32
- package/cjs/form/index.js.map +0 -1
- package/cjs/overlays/index.d.ts +0 -2
- package/cjs/overlays/index.js +0 -6
- package/cjs/overlays/index.js.map +0 -1
- package/cjs/overlays/portal/Portal.js.map +0 -1
- package/esm/date/index.d.ts +0 -7
- package/esm/date/index.js +0 -4
- package/esm/date/index.js.map +0 -1
- package/esm/form/ConfirmationPanel.js.map +0 -1
- package/esm/form/Fieldset/index.js +0 -3
- package/esm/form/Fieldset/index.js.map +0 -1
- package/esm/form/Select.js.map +0 -1
- package/esm/form/Switch.js.map +0 -1
- package/esm/form/TextField.js.map +0 -1
- package/esm/form/Textarea.js.map +0 -1
- package/esm/form/TextareaCounter.js.map +0 -1
- package/esm/form/index.d.ts +0 -11
- package/esm/form/index.js +0 -12
- package/esm/form/index.js.map +0 -1
- package/esm/overlays/index.d.ts +0 -2
- package/esm/overlays/index.js +0 -2
- package/esm/overlays/index.js.map +0 -1
- package/esm/overlays/portal/Portal.js.map +0 -1
- package/src/date/index.ts +0 -17
- package/src/form/index.ts +0 -24
- package/src/overlays/index.ts +0 -2
- /package/cjs/form/{Fieldset → fieldset}/Fieldset.d.ts +0 -0
- /package/cjs/form/{Fieldset → fieldset}/Fieldset.js +0 -0
- /package/cjs/form/{Fieldset → fieldset}/context.d.ts +0 -0
- /package/cjs/form/{Fieldset → fieldset}/context.js +0 -0
- /package/cjs/form/{Fieldset → fieldset}/useFieldset.d.ts +0 -0
- /package/cjs/form/{Fieldset → fieldset}/useFieldset.js +0 -0
- /package/cjs/form/{TextareaCounter.d.ts → textarea/TextareaCounter.d.ts} +0 -0
- /package/esm/form/{Fieldset → fieldset}/Fieldset.d.ts +0 -0
- /package/esm/form/{Fieldset → fieldset}/Fieldset.js +0 -0
- /package/esm/form/{Fieldset → fieldset}/context.d.ts +0 -0
- /package/esm/form/{Fieldset → fieldset}/context.js +0 -0
- /package/esm/form/{Fieldset → fieldset}/useFieldset.d.ts +0 -0
- /package/esm/form/{Fieldset → fieldset}/useFieldset.js +0 -0
- /package/esm/form/{TextareaCounter.d.ts → textarea/TextareaCounter.d.ts} +0 -0
- /package/src/form/{Fieldset → fieldset}/Fieldset.tsx +0 -0
- /package/src/form/{Fieldset → fieldset}/context.ts +0 -0
- /package/src/form/{Fieldset → fieldset}/useFieldset.ts +0 -0
|
@@ -1,15 +1,22 @@
|
|
|
1
|
+
import { Meta } from "@storybook/react";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { PlusCircleFillIcon } from "@navikt/aksel-icons";
|
|
3
4
|
import { Alert } from "../../alert";
|
|
4
|
-
import { ConfirmationPanel } from "../../form";
|
|
5
|
+
import { ConfirmationPanel } from "../../form/confirmation-panel";
|
|
6
|
+
import { Box } from "../../layout/box";
|
|
7
|
+
import { VStack } from "../../layout/stack";
|
|
5
8
|
import { BodyLong } from "../../typography";
|
|
6
9
|
import Link from "../Link";
|
|
7
10
|
import { RandomIcon } from "./RandomIcon";
|
|
8
11
|
|
|
9
|
-
|
|
12
|
+
const meta: Meta<typeof Link> = {
|
|
10
13
|
title: "ds-react/Link",
|
|
11
14
|
component: Link,
|
|
15
|
+
parameters: {
|
|
16
|
+
chromatic: { disable: true },
|
|
17
|
+
},
|
|
12
18
|
};
|
|
19
|
+
export default meta;
|
|
13
20
|
|
|
14
21
|
const LinkWrapper = ({
|
|
15
22
|
children = "Ex aliqua incididunt",
|
|
@@ -27,53 +34,38 @@ const LinkWrapper = ({
|
|
|
27
34
|
variant={variant as "action" | "neutral" | "subtle"}
|
|
28
35
|
inlineText={inlineText}
|
|
29
36
|
>
|
|
30
|
-
{iconLeft &&
|
|
31
|
-
<>
|
|
32
|
-
<RandomIcon />{" "}
|
|
33
|
-
</>
|
|
34
|
-
)}
|
|
37
|
+
{iconLeft && <RandomIcon />}
|
|
35
38
|
{children}
|
|
36
|
-
{iconRight &&
|
|
37
|
-
<>
|
|
38
|
-
{" "}
|
|
39
|
-
<RandomIcon />
|
|
40
|
-
</>
|
|
41
|
-
)}
|
|
39
|
+
{iconRight && <RandomIcon />}
|
|
42
40
|
</Link>{" "}
|
|
43
41
|
</>
|
|
44
42
|
);
|
|
45
43
|
|
|
46
44
|
export const Default = {
|
|
47
|
-
render: ({ icon, inline }) => {
|
|
45
|
+
render: ({ icon, inline, underline }) => {
|
|
48
46
|
const LinkD = () => (
|
|
49
|
-
|
|
50
|
-
{
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
{icon && <PlusCircleFillIcon />}
|
|
54
|
-
</Link>{" "}
|
|
55
|
-
</>
|
|
47
|
+
<Link href="#" underline={underline} inlineText={inline}>
|
|
48
|
+
{icon && <PlusCircleFillIcon />}Ex aliqua incididunt
|
|
49
|
+
{icon && <PlusCircleFillIcon />}
|
|
50
|
+
</Link>
|
|
56
51
|
);
|
|
57
52
|
|
|
58
53
|
if (inline) {
|
|
59
54
|
return (
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
borderRadius: "8px",
|
|
66
|
-
}}
|
|
55
|
+
<Box
|
|
56
|
+
borderWidth="1"
|
|
57
|
+
borderRadius="large"
|
|
58
|
+
padding="4"
|
|
59
|
+
style={{ maxWidth: "800px" }}
|
|
67
60
|
>
|
|
68
61
|
<BodyLong>
|
|
69
|
-
Incididunt laborum nisi nisi Lorem
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Lorem eu. Esse elit laboris aute commodo sint laborum fugiat aliqua.
|
|
62
|
+
Incididunt laborum nisi nisi Lorem <LinkD /> in. Laborum aute fugiat
|
|
63
|
+
officia adipisicing non veniam dolor nulla non ex consectetur fugiat
|
|
64
|
+
eiusmod aute. Culpa sit aute est duis minim in in voluptate velit
|
|
65
|
+
fugiat. Laboris est id deserunt ut ea Lorem eu. Esse elit laboris
|
|
66
|
+
aute commodo sint laborum fugiat aliqua.
|
|
75
67
|
</BodyLong>
|
|
76
|
-
</
|
|
68
|
+
</Box>
|
|
77
69
|
);
|
|
78
70
|
}
|
|
79
71
|
return <LinkD />;
|
|
@@ -82,22 +74,21 @@ export const Default = {
|
|
|
82
74
|
args: {
|
|
83
75
|
icon: false,
|
|
84
76
|
inline: false,
|
|
77
|
+
underline: true,
|
|
85
78
|
},
|
|
86
79
|
};
|
|
87
80
|
|
|
88
81
|
export const InlineInsideBodyLong = {
|
|
89
82
|
render: ({ iconLeft, iconRight }) => {
|
|
90
83
|
return (
|
|
91
|
-
<
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
borderRadius: "8px",
|
|
97
|
-
}}
|
|
84
|
+
<Box
|
|
85
|
+
borderWidth="1"
|
|
86
|
+
borderRadius="large"
|
|
87
|
+
padding="4"
|
|
88
|
+
style={{ width: "800px" }}
|
|
98
89
|
>
|
|
99
90
|
<style>{`.storybook-custom-spacing { white-space: pre;}`}</style>
|
|
100
|
-
<BodyLong>
|
|
91
|
+
<BodyLong spacing>
|
|
101
92
|
<LinkWrapper underline iconLeft={iconLeft} iconRight={iconRight} />
|
|
102
93
|
Eiusmod aute.
|
|
103
94
|
<LinkWrapper underline iconLeft={iconLeft} iconRight={iconRight} />
|
|
@@ -119,7 +110,7 @@ export const InlineInsideBodyLong = {
|
|
|
119
110
|
</LinkWrapper>
|
|
120
111
|
{" "}spacing.
|
|
121
112
|
</BodyLong>
|
|
122
|
-
</
|
|
113
|
+
</Box>
|
|
123
114
|
);
|
|
124
115
|
},
|
|
125
116
|
args: {
|
|
@@ -128,86 +119,186 @@ export const InlineInsideBodyLong = {
|
|
|
128
119
|
},
|
|
129
120
|
};
|
|
130
121
|
|
|
131
|
-
const
|
|
122
|
+
export const Varianter = {
|
|
123
|
+
render: ({ iconLeft, iconRight }) => {
|
|
124
|
+
return (
|
|
125
|
+
<VStack gap="3">
|
|
126
|
+
{["action", "neutral", "subtle"].map((variant) => (
|
|
127
|
+
<div key={variant}>
|
|
128
|
+
<LinkWrapper
|
|
129
|
+
iconLeft={iconLeft}
|
|
130
|
+
iconRight={iconRight}
|
|
131
|
+
variant={variant}
|
|
132
|
+
/>
|
|
133
|
+
</div>
|
|
134
|
+
))}
|
|
135
|
+
</VStack>
|
|
136
|
+
);
|
|
137
|
+
},
|
|
138
|
+
args: {
|
|
139
|
+
iconLeft: false,
|
|
140
|
+
iconRight: false,
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
const LinkWithIcon = () => (
|
|
132
145
|
<Link href="#">
|
|
133
|
-
<PlusCircleFillIcon aria-hidden />
|
|
146
|
+
<PlusCircleFillIcon aria-hidden />
|
|
147
|
+
Ex aliqua incididunt
|
|
134
148
|
<PlusCircleFillIcon aria-hidden />
|
|
135
149
|
</Link>
|
|
136
150
|
);
|
|
137
151
|
|
|
138
|
-
export const Icon = () => <
|
|
152
|
+
export const Icon = () => <LinkWithIcon />;
|
|
153
|
+
|
|
154
|
+
const Variants = () => (
|
|
155
|
+
<VStack gap="3">
|
|
156
|
+
{["action", "neutral", "subtle"].map((variant) => (
|
|
157
|
+
<div key={variant}>
|
|
158
|
+
<LinkWrapper variant={variant} />
|
|
159
|
+
</div>
|
|
160
|
+
))}
|
|
161
|
+
</VStack>
|
|
162
|
+
);
|
|
139
163
|
|
|
140
|
-
export const
|
|
141
|
-
|
|
164
|
+
export const Chromatic = () => (
|
|
165
|
+
<>
|
|
166
|
+
<h2>Default</h2>
|
|
167
|
+
<Link href="#">Ex aliqua incididunt</Link>
|
|
168
|
+
|
|
169
|
+
<h2>With icon</h2>
|
|
170
|
+
<LinkWithIcon />
|
|
171
|
+
|
|
172
|
+
<h2>Variants (no underline)</h2>
|
|
173
|
+
<Variants />
|
|
174
|
+
|
|
175
|
+
<h2>Inline</h2>
|
|
176
|
+
<BodyLong style={{ width: 500 }}>
|
|
177
|
+
Culpa sit aute est duis minim in in voluptate{" "}
|
|
178
|
+
<Link href="#" inlineText>
|
|
179
|
+
dette er en veldig lang lenke som brekker over flere linjer
|
|
180
|
+
<PlusCircleFillIcon aria-hidden />
|
|
181
|
+
</Link>{" "}
|
|
182
|
+
Culpa sit aute est duis minim in in voluptate velit Incididunt laborum
|
|
183
|
+
nisi nisi{" "}
|
|
184
|
+
<Link href="#" inlineText>
|
|
185
|
+
dette er en veldig lang lenke som brekker over flere linjer
|
|
186
|
+
</Link>{" "}
|
|
187
|
+
Lorem officia adipisicing non veniam occaecat commodo id ad aliquip.
|
|
188
|
+
</BodyLong>
|
|
189
|
+
|
|
190
|
+
<h2>In Alert</h2>
|
|
142
191
|
<div className="colgap">
|
|
143
192
|
<Alert variant="info">
|
|
144
|
-
<
|
|
193
|
+
<LinkWithIcon />
|
|
145
194
|
</Alert>
|
|
146
195
|
<Alert variant="success">
|
|
147
|
-
<
|
|
196
|
+
<LinkWithIcon />
|
|
148
197
|
</Alert>
|
|
149
198
|
<Alert variant="warning">
|
|
150
|
-
<
|
|
199
|
+
<LinkWithIcon />
|
|
151
200
|
</Alert>
|
|
152
201
|
<Alert variant="error">
|
|
153
|
-
<
|
|
202
|
+
<LinkWithIcon />
|
|
154
203
|
</Alert>
|
|
155
204
|
</div>
|
|
156
|
-
);
|
|
157
|
-
};
|
|
158
205
|
|
|
159
|
-
|
|
160
|
-
return (
|
|
206
|
+
<h2>In ConfirmationPanel</h2>
|
|
161
207
|
<div className="colgap">
|
|
162
208
|
<ConfirmationPanel label="demo">
|
|
163
|
-
<
|
|
209
|
+
<LinkWithIcon />
|
|
164
210
|
</ConfirmationPanel>
|
|
165
211
|
<ConfirmationPanel checked label="demo">
|
|
166
|
-
<
|
|
212
|
+
<LinkWithIcon />
|
|
167
213
|
</ConfirmationPanel>
|
|
168
214
|
<ConfirmationPanel error="demo" label="demo">
|
|
169
|
-
<
|
|
215
|
+
<LinkWithIcon />
|
|
216
|
+
</ConfirmationPanel>
|
|
217
|
+
</div>
|
|
218
|
+
</>
|
|
219
|
+
);
|
|
220
|
+
Chromatic.parameters = { chromatic: { disable: false } };
|
|
221
|
+
|
|
222
|
+
export const ChromaticHover = () => (
|
|
223
|
+
<>
|
|
224
|
+
<h2>With icon</h2>
|
|
225
|
+
<LinkWithIcon />
|
|
226
|
+
|
|
227
|
+
<h2>Variants (no underline)</h2>
|
|
228
|
+
<Variants />
|
|
229
|
+
|
|
230
|
+
<h2>In Alert</h2>
|
|
231
|
+
<div className="colgap">
|
|
232
|
+
<Alert variant="info">
|
|
233
|
+
<LinkWithIcon />
|
|
234
|
+
</Alert>
|
|
235
|
+
</div>
|
|
236
|
+
|
|
237
|
+
<h2>In ConfirmationPanel</h2>
|
|
238
|
+
<div className="colgap">
|
|
239
|
+
<ConfirmationPanel checked label="demo">
|
|
240
|
+
<LinkWithIcon />
|
|
170
241
|
</ConfirmationPanel>
|
|
171
242
|
</div>
|
|
172
|
-
|
|
243
|
+
</>
|
|
244
|
+
);
|
|
245
|
+
ChromaticHover.parameters = {
|
|
246
|
+
chromatic: { disable: false },
|
|
247
|
+
pseudo: { hover: true },
|
|
173
248
|
};
|
|
174
249
|
|
|
175
|
-
export const
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
250
|
+
export const ChromaticFocusVisible = () => (
|
|
251
|
+
<>
|
|
252
|
+
<h2>With icon</h2>
|
|
253
|
+
<LinkWithIcon />
|
|
254
|
+
|
|
255
|
+
<h2>Variants (no underline)</h2>
|
|
256
|
+
<Variants />
|
|
257
|
+
|
|
258
|
+
<h2>In Alert</h2>
|
|
259
|
+
<div className="colgap">
|
|
260
|
+
<Alert variant="info">
|
|
261
|
+
<LinkWithIcon />
|
|
262
|
+
</Alert>
|
|
263
|
+
</div>
|
|
264
|
+
|
|
265
|
+
<h2>In ConfirmationPanel</h2>
|
|
266
|
+
<div className="colgap">
|
|
267
|
+
<ConfirmationPanel checked label="demo">
|
|
268
|
+
<LinkWithIcon />
|
|
269
|
+
</ConfirmationPanel>
|
|
270
|
+
</div>
|
|
271
|
+
</>
|
|
272
|
+
);
|
|
273
|
+
ChromaticFocusVisible.parameters = {
|
|
274
|
+
chromatic: { disable: false },
|
|
275
|
+
pseudo: { focusVisible: true },
|
|
197
276
|
};
|
|
198
277
|
|
|
199
|
-
export const
|
|
200
|
-
|
|
201
|
-
<
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
278
|
+
export const ChromaticActive = () => (
|
|
279
|
+
<>
|
|
280
|
+
<h2>With icon</h2>
|
|
281
|
+
<LinkWithIcon />
|
|
282
|
+
|
|
283
|
+
<h2>Variants (no underline)</h2>
|
|
284
|
+
<Variants />
|
|
285
|
+
|
|
286
|
+
<h2>In Alert</h2>
|
|
287
|
+
<div className="colgap">
|
|
288
|
+
<Alert variant="info">
|
|
289
|
+
<LinkWithIcon />
|
|
290
|
+
</Alert>
|
|
291
|
+
</div>
|
|
292
|
+
|
|
293
|
+
<h2>In ConfirmationPanel</h2>
|
|
294
|
+
<div className="colgap">
|
|
295
|
+
<ConfirmationPanel checked label="demo">
|
|
296
|
+
<LinkWithIcon />
|
|
297
|
+
</ConfirmationPanel>
|
|
298
|
+
</div>
|
|
299
|
+
</>
|
|
300
|
+
);
|
|
301
|
+
ChromaticActive.parameters = {
|
|
302
|
+
chromatic: { disable: false },
|
|
303
|
+
pseudo: { active: true },
|
|
213
304
|
};
|
package/src/link-panel/index.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
export { type LinkPanelProps } from "./LinkPanel";
|
|
1
|
+
"use client";
|
|
2
|
+
export { default as LinkPanel, type LinkPanelProps } from "./LinkPanel";
|
|
3
|
+
export {
|
|
4
|
+
default as LinkPanelTitle,
|
|
5
|
+
type LinkPanelTitleProps,
|
|
6
|
+
} from "./LinkPanelTitle";
|
|
7
|
+
export {
|
|
8
|
+
default as LinkPanelDescription,
|
|
9
|
+
type LinkPanelDescriptionProps,
|
|
10
|
+
} from "./LinkPanelDescription";
|
package/src/list/index.ts
CHANGED
package/src/loader/index.ts
CHANGED
package/src/modal/Modal.test.tsx
CHANGED
package/src/modal/Modal.tsx
CHANGED
|
@@ -3,7 +3,7 @@ import cl from "clsx";
|
|
|
3
3
|
import React, { forwardRef, useContext, useEffect, useRef } from "react";
|
|
4
4
|
import { createPortal } from "react-dom";
|
|
5
5
|
import { DateContext } from "../date/context";
|
|
6
|
-
import { useProvider } from "../provider";
|
|
6
|
+
import { useProvider } from "../provider/Provider";
|
|
7
7
|
import { Detail, Heading } from "../typography";
|
|
8
8
|
import { composeEventHandlers } from "../util/composeEventHandlers";
|
|
9
9
|
import { useId } from "../util/hooks";
|
|
@@ -12,7 +12,12 @@ import { ModalContextProvider, useModalContext } from "./Modal.context";
|
|
|
12
12
|
import ModalBody from "./ModalBody";
|
|
13
13
|
import ModalFooter from "./ModalFooter";
|
|
14
14
|
import ModalHeader from "./ModalHeader";
|
|
15
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
MouseCoordinates,
|
|
17
|
+
coordsAreInside,
|
|
18
|
+
getCloseHandler,
|
|
19
|
+
useBodyScrollLock,
|
|
20
|
+
} from "./ModalUtils";
|
|
16
21
|
import dialogPolyfill, { needPolyfill } from "./dialog-polyfill";
|
|
17
22
|
import { ModalProps } from "./types";
|
|
18
23
|
|
|
@@ -86,6 +91,7 @@ export const Modal = forwardRef<HTMLDialogElement, ModalProps>(
|
|
|
86
91
|
"aria-labelledby": ariaLabelledby,
|
|
87
92
|
style,
|
|
88
93
|
onClick,
|
|
94
|
+
onMouseDown,
|
|
89
95
|
...rest
|
|
90
96
|
}: ModalProps,
|
|
91
97
|
ref,
|
|
@@ -98,8 +104,8 @@ export const Modal = forwardRef<HTMLDialogElement, ModalProps>(
|
|
|
98
104
|
const portalNode = useFloatingPortalNode({ root: rootElement });
|
|
99
105
|
|
|
100
106
|
const dateContext = useContext(DateContext);
|
|
101
|
-
const
|
|
102
|
-
if (
|
|
107
|
+
const isNested = useModalContext(false) !== undefined;
|
|
108
|
+
if (isNested && !dateContext) {
|
|
103
109
|
console.error("Modals should not be nested");
|
|
104
110
|
}
|
|
105
111
|
|
|
@@ -130,7 +136,7 @@ export const Modal = forwardRef<HTMLDialogElement, ModalProps>(
|
|
|
130
136
|
}
|
|
131
137
|
}, [modalRef, portalNode, open]);
|
|
132
138
|
|
|
133
|
-
useBodyScrollLock(modalRef, portalNode);
|
|
139
|
+
useBodyScrollLock(modalRef, portalNode, isNested);
|
|
134
140
|
|
|
135
141
|
const isWidthPreset =
|
|
136
142
|
typeof width === "string" && ["small", "medium"].includes(width);
|
|
@@ -146,18 +152,42 @@ export const Modal = forwardRef<HTMLDialogElement, ModalProps>(
|
|
|
146
152
|
...(!isWidthPreset ? { width } : {}),
|
|
147
153
|
};
|
|
148
154
|
|
|
155
|
+
const mouseClickStart = useRef<MouseCoordinates>({
|
|
156
|
+
clientX: 0,
|
|
157
|
+
clientY: 0,
|
|
158
|
+
});
|
|
159
|
+
const handleModalMouseDown: React.MouseEventHandler<HTMLDialogElement> = (
|
|
160
|
+
event,
|
|
161
|
+
) => {
|
|
162
|
+
mouseClickStart.current = event;
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
const shouldHandleModalClick = closeOnBackdropClick && !needPolyfill;
|
|
166
|
+
|
|
149
167
|
/**
|
|
150
168
|
* @note `closeOnBackdropClick` has issues on polyfill when nesting modals (DatePicker)
|
|
151
169
|
*/
|
|
152
|
-
const handleModalClick = (
|
|
170
|
+
const handleModalClick = (
|
|
171
|
+
endEvent: React.MouseEvent<HTMLDialogElement>,
|
|
172
|
+
) => {
|
|
173
|
+
if (endEvent.target !== modalRef.current) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const modalRect = modalRef.current.getBoundingClientRect();
|
|
178
|
+
|
|
153
179
|
if (
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
event.target === modalRef.current &&
|
|
157
|
-
(!onBeforeClose || onBeforeClose() !== false)
|
|
180
|
+
coordsAreInside(mouseClickStart.current, modalRect) ||
|
|
181
|
+
coordsAreInside(endEvent, modalRect)
|
|
158
182
|
) {
|
|
159
|
-
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if (onBeforeClose !== undefined && onBeforeClose() === false) {
|
|
187
|
+
return;
|
|
160
188
|
}
|
|
189
|
+
|
|
190
|
+
modalRef.current.close();
|
|
161
191
|
};
|
|
162
192
|
|
|
163
193
|
/**
|
|
@@ -182,7 +212,16 @@ export const Modal = forwardRef<HTMLDialogElement, ModalProps>(
|
|
|
182
212
|
className={mergedClassName}
|
|
183
213
|
style={mergedStyle}
|
|
184
214
|
onCancel={composeEventHandlers(onCancel, handleModalCancel)}
|
|
185
|
-
onClick={
|
|
215
|
+
onClick={
|
|
216
|
+
shouldHandleModalClick
|
|
217
|
+
? composeEventHandlers(onClick, handleModalClick)
|
|
218
|
+
: onClick
|
|
219
|
+
}
|
|
220
|
+
onMouseDown={
|
|
221
|
+
shouldHandleModalClick
|
|
222
|
+
? composeEventHandlers(onMouseDown, handleModalMouseDown)
|
|
223
|
+
: onMouseDown
|
|
224
|
+
}
|
|
186
225
|
aria-labelledby={mergedAriaLabelledBy}
|
|
187
226
|
>
|
|
188
227
|
<ModalContextProvider
|
package/src/modal/ModalUtils.ts
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { ModalProps } from "./types";
|
|
3
3
|
|
|
4
|
+
export interface MouseCoordinates {
|
|
5
|
+
clientX: number;
|
|
6
|
+
clientY: number;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export const coordsAreInside = (
|
|
10
|
+
{ clientX, clientY }: MouseCoordinates,
|
|
11
|
+
{ left, top, right, bottom }: DOMRect,
|
|
12
|
+
) => {
|
|
13
|
+
if (clientX < left || clientY < top) return false;
|
|
14
|
+
if (clientX > right || clientY > bottom) return false;
|
|
15
|
+
return true;
|
|
16
|
+
};
|
|
17
|
+
|
|
4
18
|
export function getCloseHandler(
|
|
5
19
|
modalRef: React.RefObject<HTMLDialogElement>,
|
|
6
20
|
header: ModalProps["header"],
|
|
@@ -18,8 +32,10 @@ export const BODY_CLASS = "navds-modal__document-body";
|
|
|
18
32
|
export function useBodyScrollLock(
|
|
19
33
|
modalRef: React.RefObject<HTMLDialogElement>,
|
|
20
34
|
portalNode: HTMLElement | null,
|
|
35
|
+
isNested: boolean,
|
|
21
36
|
) {
|
|
22
37
|
React.useEffect(() => {
|
|
38
|
+
if (isNested) return;
|
|
23
39
|
if (!modalRef.current || !portalNode) return; // We check both to avoid running this twice when not using portal
|
|
24
40
|
if (modalRef.current.open) document.body.classList.add(BODY_CLASS); // In case `open` is true initially
|
|
25
41
|
|
|
@@ -35,5 +51,5 @@ export function useBodyScrollLock(
|
|
|
35
51
|
observer.disconnect();
|
|
36
52
|
document.body.classList.remove(BODY_CLASS); // In case modal is unmounted before it's closed
|
|
37
53
|
};
|
|
38
|
-
}, [modalRef, portalNode]);
|
|
54
|
+
}, [modalRef, portalNode, isNested]);
|
|
39
55
|
}
|
package/src/modal/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
export { default as Modal } from "./Modal";
|
|
2
|
-
export { type ModalBodyProps } from "./ModalBody";
|
|
3
|
-
export { type ModalFooterProps } from "./ModalFooter";
|
|
4
|
-
export { type ModalHeaderProps } from "./ModalHeader";
|
|
3
|
+
export { default as ModalBody, type ModalBodyProps } from "./ModalBody";
|
|
4
|
+
export { default as ModalFooter, type ModalFooterProps } from "./ModalFooter";
|
|
5
|
+
export { default as ModalHeader, type ModalHeaderProps } from "./ModalHeader";
|
|
5
6
|
export { type ModalProps } from "./types";
|
|
@@ -339,3 +339,57 @@ ChromaticViewportTesting.parameters = {
|
|
|
339
339
|
},
|
|
340
340
|
},
|
|
341
341
|
};
|
|
342
|
+
|
|
343
|
+
// For testing TS error messages:
|
|
344
|
+
|
|
345
|
+
/* const PropTypeTest = () => {
|
|
346
|
+
return (
|
|
347
|
+
<>
|
|
348
|
+
<Modal header={{ heading: "Label" }}>OK</Modal>
|
|
349
|
+
|
|
350
|
+
<Modal header={{ heading: "Label" }} aria-label="Label">
|
|
351
|
+
OK
|
|
352
|
+
</Modal>
|
|
353
|
+
|
|
354
|
+
<Modal header={{ heading: "Label" }} aria-labelledby="Label">
|
|
355
|
+
OK
|
|
356
|
+
</Modal>
|
|
357
|
+
|
|
358
|
+
<Modal aria-label="Label">OK</Modal>
|
|
359
|
+
|
|
360
|
+
<Modal aria-labelledby="Label">OK</Modal>
|
|
361
|
+
|
|
362
|
+
<Modal aria-label="Label" open onClose={() => null}>
|
|
363
|
+
OK
|
|
364
|
+
</Modal>
|
|
365
|
+
|
|
366
|
+
<Modal>Mangler label</Modal>
|
|
367
|
+
|
|
368
|
+
<Modal open>Mangler onClose eller label</Modal>
|
|
369
|
+
|
|
370
|
+
<Modal open aria-label="Label">
|
|
371
|
+
Mangler onClose
|
|
372
|
+
</Modal>
|
|
373
|
+
|
|
374
|
+
<Modal open onClose={() => null}>
|
|
375
|
+
Mangler label
|
|
376
|
+
</Modal>
|
|
377
|
+
|
|
378
|
+
<Modal header={{ heading: "Label" }} open>
|
|
379
|
+
Mangler onClose
|
|
380
|
+
</Modal>
|
|
381
|
+
|
|
382
|
+
<Modal
|
|
383
|
+
header={{ heading: "Label" }}
|
|
384
|
+
aria-label="Label"
|
|
385
|
+
aria-labelledby="Label"
|
|
386
|
+
>
|
|
387
|
+
For mange labels
|
|
388
|
+
</Modal>
|
|
389
|
+
|
|
390
|
+
<Modal aria-label="Label" aria-labelledby="Label">
|
|
391
|
+
For mange labels
|
|
392
|
+
</Modal>
|
|
393
|
+
</>
|
|
394
|
+
);
|
|
395
|
+
}; */
|