@navikt/ds-react 6.0.0-alpha.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/chat/Bubble.d.ts +0 -5
- package/cjs/chat/Bubble.js +2 -2
- package/cjs/chat/Bubble.js.map +1 -1
- package/cjs/chat/Chat.d.ts +0 -10
- package/cjs/chat/Chat.js +3 -3
- package/cjs/chat/Chat.js.map +1 -1
- package/cjs/date/context/useSharedMonthContext.js +2 -6
- package/cjs/date/context/useSharedMonthContext.js.map +1 -1
- package/cjs/date/datepicker/DatePicker.js +3 -5
- package/cjs/date/datepicker/DatePicker.js.map +1 -1
- package/cjs/date/datepicker/DatePickerStandalone.js +3 -5
- package/cjs/date/datepicker/DatePickerStandalone.js.map +1 -1
- package/cjs/date/datepicker/parts/DayButton.js +2 -5
- package/cjs/date/datepicker/parts/DayButton.js.map +1 -1
- package/cjs/date/datepicker/parts/DropdownCaption.js +3 -6
- package/cjs/date/datepicker/parts/DropdownCaption.js.map +1 -1
- package/cjs/date/datepicker/parts/Row.js +2 -1
- package/cjs/date/datepicker/parts/Row.js.map +1 -1
- package/cjs/date/hooks/useDatepicker.d.ts +1 -6
- package/cjs/date/hooks/useDatepicker.js +7 -11
- package/cjs/date/hooks/useDatepicker.js.map +1 -1
- package/cjs/date/hooks/useMonthPicker.d.ts +1 -6
- package/cjs/date/hooks/useMonthPicker.js.map +1 -1
- package/cjs/date/hooks/useRangeDatepicker.js +20 -25
- package/cjs/date/hooks/useRangeDatepicker.js.map +1 -1
- package/cjs/date/monthpicker/MonthButton.js +11 -15
- package/cjs/date/monthpicker/MonthButton.js.map +1 -1
- package/cjs/date/monthpicker/MonthCaption.js +4 -7
- package/cjs/date/monthpicker/MonthCaption.js.map +1 -1
- package/cjs/date/monthpicker/MonthPicker.js +7 -1
- package/cjs/date/monthpicker/MonthPicker.js.map +1 -1
- package/cjs/date/monthpicker/MonthPickerStandalone.js +7 -1
- package/cjs/date/monthpicker/MonthPickerStandalone.js.map +1 -1
- package/cjs/date/monthpicker/MonthSelector.js +8 -11
- package/cjs/date/monthpicker/MonthSelector.js.map +1 -1
- package/cjs/date/parts/DateInput.d.ts +1 -1
- package/cjs/date/parts/DateWrapper.js +2 -2
- package/cjs/date/parts/DateWrapper.js.map +1 -1
- package/cjs/date/utils/check-dates.js +2 -6
- package/cjs/date/utils/check-dates.js.map +1 -1
- package/cjs/date/utils/dates-disabled.js +3 -6
- package/cjs/date/utils/dates-disabled.js.map +1 -1
- package/cjs/date/utils/format-date.d.ts +1 -0
- package/cjs/date/utils/format-date.js +2 -5
- package/cjs/date/utils/format-date.js.map +1 -1
- package/cjs/date/utils/get-dates.js +14 -21
- package/cjs/date/utils/get-dates.js.map +1 -1
- package/cjs/date/utils/get-initial-year.js +2 -5
- package/cjs/date/utils/get-initial-year.js.map +1 -1
- package/cjs/date/utils/is-match.js +14 -20
- package/cjs/date/utils/is-match.js.map +1 -1
- package/cjs/date/utils/labels.d.ts +1 -0
- package/cjs/date/utils/labels.js.map +1 -1
- package/cjs/date/utils/locale.d.ts +1 -1
- package/cjs/date/utils/locale.js +4 -9
- package/cjs/date/utils/locale.js.map +1 -1
- package/cjs/date/utils/navigation.js +21 -24
- package/cjs/date/utils/navigation.js.map +1 -1
- package/cjs/date/utils/parse-date.d.ts +1 -0
- package/cjs/date/utils/parse-date.js +8 -13
- package/cjs/date/utils/parse-date.js.map +1 -1
- package/cjs/form/Textarea.js +8 -8
- package/cjs/form/Textarea.js.map +1 -1
- package/cjs/form/combobox/Combobox.js +1 -1
- package/cjs/form/combobox/Combobox.js.map +1 -1
- package/cjs/form/combobox/ComboboxProvider.js +2 -1
- package/cjs/form/combobox/ComboboxProvider.js.map +1 -1
- package/cjs/form/combobox/ComboboxWrapper.js +1 -1
- package/cjs/form/combobox/ComboboxWrapper.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +59 -41
- package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/filtered-options-util.d.ts +2 -1
- package/cjs/form/combobox/FilteredOptions/filtered-options-util.js +3 -1
- package/cjs/form/combobox/FilteredOptions/filtered-options-util.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +15 -3
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.d.ts +2 -4
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js +52 -32
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
- package/cjs/form/combobox/Input/Input.js +3 -1
- package/cjs/form/combobox/Input/Input.js.map +1 -1
- package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.d.ts +5 -2
- package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.js +3 -1
- package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.js.map +1 -1
- package/cjs/form/combobox/types.d.ts +14 -0
- package/cjs/form/search/Search.d.ts +2 -1
- package/cjs/form/search/Search.js +2 -2
- package/cjs/form/search/Search.js.map +1 -1
- package/cjs/index.d.ts +1 -2
- package/cjs/index.js +2 -3
- package/cjs/index.js.map +1 -1
- package/cjs/layout/bleed/Bleed.d.ts +2 -2
- package/cjs/layout/utilities/css.js +4 -0
- package/cjs/layout/utilities/css.js.map +1 -1
- package/cjs/layout/utilities/types.d.ts +1 -1
- package/cjs/modal/Modal.context.d.ts +9 -0
- package/cjs/modal/Modal.context.js +10 -0
- package/cjs/modal/Modal.context.js.map +1 -0
- package/cjs/modal/Modal.js +3 -6
- package/cjs/modal/Modal.js.map +1 -1
- package/cjs/modal/ModalHeader.js +2 -6
- package/cjs/modal/ModalHeader.js.map +1 -1
- package/cjs/modal/types.d.ts +24 -3
- package/cjs/overlays/index.d.ts +2 -0
- package/cjs/overlays/index.js +6 -0
- package/cjs/overlays/index.js.map +1 -0
- package/cjs/overlays/portal/Portal.d.ts +11 -0
- package/cjs/{grid/Grid.js → overlays/portal/Portal.js} +15 -11
- package/cjs/overlays/portal/Portal.js.map +1 -0
- package/cjs/panel/Panel.d.ts +9 -16
- package/cjs/panel/Panel.js +6 -16
- package/cjs/panel/Panel.js.map +1 -1
- package/cjs/popover/Popover.js +2 -2
- package/cjs/popover/Popover.js.map +1 -1
- package/cjs/table/types.d.ts +1 -1
- package/cjs/tabs/TabList.js +2 -2
- package/cjs/tabs/TabList.js.map +1 -1
- package/cjs/tabs/TabPanel.js +2 -2
- package/cjs/tabs/TabPanel.js.map +1 -1
- package/cjs/timeline/AxisLabels.js +4 -4
- package/cjs/timeline/AxisLabels.js.map +1 -1
- package/cjs/tooltip/Tooltip.js +5 -9
- package/cjs/tooltip/Tooltip.js.map +1 -1
- package/cjs/util/Slot.js +5 -2
- package/cjs/util/Slot.js.map +1 -1
- package/cjs/util/TextareaAutoSize.js +14 -24
- package/cjs/util/TextareaAutoSize.js.map +1 -1
- package/cjs/util/create-context.d.ts +2 -5
- package/cjs/util/create-context.js +9 -5
- package/cjs/util/create-context.js.map +1 -1
- package/cjs/util/types/AsChildProps.d.ts +36 -0
- package/cjs/util/types/AsChildProps.js +3 -0
- package/cjs/util/types/AsChildProps.js.map +1 -0
- package/cjs/util/types/OverridableComponent.d.ts +1 -1
- package/cjs/util/types/index.d.ts +1 -0
- package/esm/accordion/Accordion.d.ts +3 -3
- package/esm/accordion/Accordion.js +4 -4
- package/esm/accordion/AccordionContent.js +2 -2
- package/esm/accordion/AccordionHeader.js +4 -4
- package/esm/accordion/AccordionItem.js +3 -3
- package/esm/accordion/index.d.ts +1 -1
- package/esm/accordion/index.js +1 -1
- package/esm/alert/Alert.js +2 -2
- package/esm/alert/index.d.ts +2 -2
- package/esm/alert/index.js +1 -1
- package/esm/button/Button.d.ts +1 -1
- package/esm/button/Button.js +6 -6
- package/esm/button/index.d.ts +2 -2
- package/esm/button/index.js +1 -1
- package/esm/chat/Bubble.d.ts +0 -5
- package/esm/chat/Bubble.js +3 -3
- package/esm/chat/Bubble.js.map +1 -1
- package/esm/chat/Chat.d.ts +1 -11
- package/esm/chat/Chat.js +5 -5
- package/esm/chat/Chat.js.map +1 -1
- package/esm/chat/index.d.ts +1 -1
- package/esm/chat/index.js +1 -1
- package/esm/chips/Chips.d.ts +3 -3
- package/esm/chips/Chips.js +2 -2
- package/esm/chips/Removable.js +1 -1
- package/esm/chips/Toggle.d.ts +1 -1
- package/esm/chips/index.d.ts +1 -1
- package/esm/chips/index.js +1 -1
- package/esm/copybutton/CopyButton.js +3 -3
- package/esm/copybutton/index.d.ts +1 -1
- package/esm/copybutton/index.js +1 -1
- package/esm/date/context/index.d.ts +2 -2
- package/esm/date/context/index.js +2 -2
- package/esm/date/context/useSharedMonthContext.d.ts +1 -1
- package/esm/date/context/useSharedMonthContext.js +2 -3
- package/esm/date/context/useSharedMonthContext.js.map +1 -1
- package/esm/date/datepicker/DatePicker.d.ts +3 -3
- package/esm/date/datepicker/DatePicker.js +15 -17
- package/esm/date/datepicker/DatePicker.js.map +1 -1
- package/esm/date/datepicker/DatePickerStandalone.d.ts +1 -1
- package/esm/date/datepicker/DatePickerStandalone.js +9 -11
- package/esm/date/datepicker/DatePickerStandalone.js.map +1 -1
- package/esm/date/datepicker/parts/Caption.js +3 -3
- package/esm/date/datepicker/parts/DayButton.js +1 -1
- package/esm/date/datepicker/parts/DayButton.js.map +1 -1
- package/esm/date/datepicker/parts/DropdownCaption.js +6 -9
- package/esm/date/datepicker/parts/DropdownCaption.js.map +1 -1
- package/esm/date/datepicker/parts/HeadRow.js +1 -1
- package/esm/date/datepicker/parts/Row.js +5 -4
- package/esm/date/datepicker/parts/Row.js.map +1 -1
- package/esm/date/datepicker/parts/WeekNumber.js +1 -1
- package/esm/date/datepicker/parts/WeekRow.js +6 -6
- package/esm/date/hooks/index.d.ts +6 -6
- package/esm/date/hooks/index.js +3 -3
- package/esm/date/hooks/useDatepicker.d.ts +3 -8
- package/esm/date/hooks/useDatepicker.js +2 -3
- package/esm/date/hooks/useDatepicker.js.map +1 -1
- package/esm/date/hooks/useMonthPicker.d.ts +3 -8
- package/esm/date/hooks/useMonthPicker.js +1 -1
- package/esm/date/hooks/useMonthPicker.js.map +1 -1
- package/esm/date/hooks/useRangeDatepicker.d.ts +3 -3
- package/esm/date/hooks/useRangeDatepicker.js +2 -4
- package/esm/date/hooks/useRangeDatepicker.js.map +1 -1
- package/esm/date/index.d.ts +7 -7
- package/esm/date/index.js +3 -3
- package/esm/date/monthpicker/MonthButton.js +3 -7
- package/esm/date/monthpicker/MonthButton.js.map +1 -1
- package/esm/date/monthpicker/MonthCaption.js +5 -8
- package/esm/date/monthpicker/MonthCaption.js.map +1 -1
- package/esm/date/monthpicker/MonthPicker.d.ts +3 -3
- package/esm/date/monthpicker/MonthPicker.js +17 -11
- package/esm/date/monthpicker/MonthPicker.js.map +1 -1
- package/esm/date/monthpicker/MonthPickerStandalone.d.ts +1 -1
- package/esm/date/monthpicker/MonthPickerStandalone.js +12 -6
- package/esm/date/monthpicker/MonthPickerStandalone.js.map +1 -1
- package/esm/date/monthpicker/MonthSelector.js +5 -8
- package/esm/date/monthpicker/MonthSelector.js.map +1 -1
- package/esm/date/monthpicker/types.d.ts +1 -1
- package/esm/date/parts/DateInput.d.ts +2 -2
- package/esm/date/parts/DateInput.js +5 -5
- package/esm/date/parts/DateWrapper.js +8 -8
- package/esm/date/parts/DateWrapper.js.map +1 -1
- package/esm/date/utils/check-dates.js +1 -2
- package/esm/date/utils/check-dates.js.map +1 -1
- package/esm/date/utils/dates-disabled.js +1 -1
- package/esm/date/utils/dates-disabled.js.map +1 -1
- package/esm/date/utils/format-date.d.ts +1 -0
- package/esm/date/utils/format-date.js +2 -2
- package/esm/date/utils/format-date.js.map +1 -1
- package/esm/date/utils/get-dates.js +1 -5
- package/esm/date/utils/get-dates.js.map +1 -1
- package/esm/date/utils/get-initial-year.js +1 -1
- package/esm/date/utils/get-initial-year.js.map +1 -1
- package/esm/date/utils/index.d.ts +10 -10
- package/esm/date/utils/index.js +10 -10
- package/esm/date/utils/is-match.js +1 -4
- package/esm/date/utils/is-match.js.map +1 -1
- package/esm/date/utils/labels.d.ts +1 -0
- package/esm/date/utils/labels.js.map +1 -1
- package/esm/date/utils/locale.d.ts +1 -1
- package/esm/date/utils/locale.js +1 -3
- package/esm/date/utils/locale.js.map +1 -1
- package/esm/date/utils/navigation.d.ts +1 -1
- package/esm/date/utils/navigation.js +2 -2
- package/esm/date/utils/navigation.js.map +1 -1
- package/esm/date/utils/parse-date.d.ts +1 -0
- package/esm/date/utils/parse-date.js +2 -4
- package/esm/date/utils/parse-date.js.map +1 -1
- package/esm/dropdown/Dropdown.d.ts +2 -2
- package/esm/dropdown/Dropdown.js +4 -4
- package/esm/dropdown/Menu/GroupedList/GroupedItem.d.ts +1 -1
- package/esm/dropdown/Menu/GroupedList/GroupedItem.js +2 -2
- package/esm/dropdown/Menu/GroupedList/index.d.ts +3 -3
- package/esm/dropdown/Menu/GroupedList/index.js +2 -2
- package/esm/dropdown/Menu/List/Item.d.ts +1 -1
- package/esm/dropdown/Menu/List/Item.js +2 -2
- package/esm/dropdown/Menu/List/index.d.ts +2 -2
- package/esm/dropdown/Menu/List/index.js +1 -1
- package/esm/dropdown/Menu/index.d.ts +2 -2
- package/esm/dropdown/Menu/index.js +5 -5
- package/esm/dropdown/Toggle.js +2 -2
- package/esm/dropdown/index.d.ts +1 -1
- package/esm/dropdown/index.js +1 -1
- package/esm/expansion-card/ExpansionCard.d.ts +5 -5
- package/esm/expansion-card/ExpansionCard.js +5 -5
- package/esm/expansion-card/ExpansionCardContent.js +2 -2
- package/esm/expansion-card/ExpansionCardDescription.js +2 -2
- package/esm/expansion-card/ExpansionCardHeader.js +1 -1
- package/esm/expansion-card/ExpansionCardTitle.d.ts +1 -1
- package/esm/expansion-card/index.d.ts +1 -1
- package/esm/expansion-card/index.js +1 -1
- package/esm/form/ConfirmationPanel.d.ts +1 -1
- package/esm/form/ConfirmationPanel.js +4 -4
- package/esm/form/Fieldset/Fieldset.d.ts +1 -1
- package/esm/form/Fieldset/Fieldset.js +5 -5
- package/esm/form/Fieldset/index.d.ts +2 -2
- package/esm/form/Fieldset/index.js +2 -2
- package/esm/form/Fieldset/useFieldset.js +1 -1
- package/esm/form/Select.d.ts +1 -1
- package/esm/form/Select.js +4 -4
- package/esm/form/Switch.d.ts +1 -1
- package/esm/form/Switch.js +5 -5
- package/esm/form/TextField.d.ts +1 -1
- package/esm/form/TextField.js +4 -4
- package/esm/form/Textarea.d.ts +1 -1
- package/esm/form/Textarea.js +15 -15
- package/esm/form/Textarea.js.map +1 -1
- package/esm/form/TextareaCounter.d.ts +1 -1
- package/esm/form/TextareaCounter.js +2 -2
- package/esm/form/checkbox/Checkbox.d.ts +1 -1
- package/esm/form/checkbox/Checkbox.js +5 -5
- package/esm/form/checkbox/CheckboxGroup.d.ts +1 -1
- package/esm/form/checkbox/CheckboxGroup.js +1 -1
- package/esm/form/checkbox/index.d.ts +3 -3
- package/esm/form/checkbox/index.js +2 -2
- package/esm/form/checkbox/types.d.ts +1 -1
- package/esm/form/checkbox/useCheckbox.d.ts +1 -1
- package/esm/form/checkbox/useCheckbox.js +3 -3
- package/esm/form/combobox/Combobox.d.ts +1 -1
- package/esm/form/combobox/Combobox.js +12 -12
- package/esm/form/combobox/Combobox.js.map +1 -1
- package/esm/form/combobox/ComboboxProvider.d.ts +1 -1
- package/esm/form/combobox/ComboboxProvider.js +7 -6
- package/esm/form/combobox/ComboboxProvider.js.map +1 -1
- package/esm/form/combobox/ComboboxWrapper.js +1 -1
- package/esm/form/combobox/ComboboxWrapper.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/FilteredOptions.js +65 -47
- package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/filtered-options-util.d.ts +2 -1
- package/esm/form/combobox/FilteredOptions/filtered-options-util.js +3 -1
- package/esm/form/combobox/FilteredOptions/filtered-options-util.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.d.ts +2 -2
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +20 -8
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.d.ts +2 -4
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.js +52 -32
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
- package/esm/form/combobox/Input/Input.js +8 -6
- package/esm/form/combobox/Input/Input.js.map +1 -1
- package/esm/form/combobox/Input/inputContext.d.ts +1 -1
- package/esm/form/combobox/Input/inputContext.js +2 -2
- package/esm/form/combobox/SelectedOptions/SelectedOptions.js +3 -3
- package/esm/form/combobox/SelectedOptions/selectedOptionsContext.d.ts +5 -2
- package/esm/form/combobox/SelectedOptions/selectedOptionsContext.js +6 -4
- package/esm/form/combobox/SelectedOptions/selectedOptionsContext.js.map +1 -1
- package/esm/form/combobox/ToggleListButton.js +1 -1
- package/esm/form/combobox/customOptionsContext.js +1 -1
- package/esm/form/combobox/index.d.ts +2 -2
- package/esm/form/combobox/index.js +1 -1
- package/esm/form/combobox/types.d.ts +15 -1
- package/esm/form/error-summary/ErrorSummary.d.ts +1 -1
- package/esm/form/error-summary/ErrorSummary.js +3 -3
- package/esm/form/error-summary/ErrorSummaryItem.d.ts +1 -1
- package/esm/form/error-summary/index.d.ts +2 -2
- package/esm/form/error-summary/index.js +1 -1
- package/esm/form/index.d.ts +11 -11
- package/esm/form/index.js +11 -11
- package/esm/form/radio/Radio.d.ts +1 -1
- package/esm/form/radio/Radio.js +4 -4
- package/esm/form/radio/RadioGroup.d.ts +1 -1
- package/esm/form/radio/RadioGroup.js +2 -2
- package/esm/form/radio/index.d.ts +3 -3
- package/esm/form/radio/index.js +2 -2
- package/esm/form/radio/types.d.ts +1 -1
- package/esm/form/radio/useRadio.d.ts +1 -1
- package/esm/form/radio/useRadio.js +3 -3
- package/esm/form/search/Search.d.ts +4 -3
- package/esm/form/search/Search.js +8 -8
- package/esm/form/search/Search.js.map +1 -1
- package/esm/form/search/SearchButton.d.ts +1 -1
- package/esm/form/search/SearchButton.js +3 -3
- package/esm/form/search/index.d.ts +1 -1
- package/esm/form/search/index.js +1 -1
- package/esm/form/useFormField.js +2 -2
- package/esm/guide-panel/GuidePanel.js +1 -1
- package/esm/guide-panel/Illustration.js +1 -1
- package/esm/guide-panel/index.d.ts +2 -2
- package/esm/guide-panel/index.js +2 -2
- package/esm/help-text/HelpText.d.ts +1 -1
- package/esm/help-text/HelpText.js +4 -4
- package/esm/help-text/HelpTextIcon.js +1 -1
- package/esm/help-text/index.d.ts +2 -2
- package/esm/help-text/index.js +1 -1
- package/esm/index.d.ts +40 -41
- package/esm/index.js +40 -41
- package/esm/index.js.map +1 -1
- package/esm/internal-header/InternalHeader.d.ts +5 -5
- package/esm/internal-header/InternalHeader.js +4 -4
- package/esm/internal-header/InternalHeaderButton.d.ts +1 -1
- package/esm/internal-header/InternalHeaderTitle.d.ts +1 -1
- package/esm/internal-header/InternalHeaderUser.js +1 -1
- package/esm/internal-header/InternalHeaderUserButton.d.ts +1 -1
- package/esm/internal-header/InternalHeaderUserButton.js +2 -2
- package/esm/internal-header/index.d.ts +5 -5
- package/esm/internal-header/index.js +1 -1
- package/esm/layout/bleed/Bleed.d.ts +3 -3
- package/esm/layout/bleed/Bleed.js +2 -2
- package/esm/layout/bleed/index.d.ts +1 -1
- package/esm/layout/bleed/index.js +1 -1
- package/esm/layout/box/Box.d.ts +2 -2
- package/esm/layout/box/Box.js +1 -1
- package/esm/layout/box/index.d.ts +1 -1
- package/esm/layout/box/index.js +1 -1
- package/esm/layout/grid/HGrid.d.ts +1 -1
- package/esm/layout/grid/HGrid.js +1 -1
- package/esm/layout/grid/index.d.ts +1 -1
- package/esm/layout/grid/index.js +1 -1
- package/esm/layout/page/Page.d.ts +2 -2
- package/esm/layout/page/Page.js +1 -1
- package/esm/layout/page/index.d.ts +2 -2
- package/esm/layout/page/index.js +1 -1
- package/esm/layout/page/parts/PageBlock.d.ts +1 -1
- package/esm/layout/responsive/Responsive.d.ts +1 -1
- package/esm/layout/responsive/Responsive.js +1 -1
- package/esm/layout/responsive/index.d.ts +1 -1
- package/esm/layout/responsive/index.js +1 -1
- package/esm/layout/sidemal-test/AvatarPanel.js +2 -2
- package/esm/layout/sidemal-test/Content.js +9 -9
- package/esm/layout/sidemal-test/Filter.js +4 -4
- package/esm/layout/sidemal-test/Header.js +5 -5
- package/esm/layout/sidemal-test/Intro.js +4 -4
- package/esm/layout/sidemal-test/Sidebar.js +4 -4
- package/esm/layout/sidemal-test/content-box/ContentBox.d.ts +1 -1
- package/esm/layout/sidemal-test/content-box/index.d.ts +1 -1
- package/esm/layout/sidemal-test/content-box/index.js +1 -1
- package/esm/layout/stack/HStack.d.ts +2 -2
- package/esm/layout/stack/HStack.js +1 -1
- package/esm/layout/stack/Stack.d.ts +2 -2
- package/esm/layout/stack/Stack.js +1 -1
- package/esm/layout/stack/VStack.d.ts +2 -2
- package/esm/layout/stack/VStack.js +1 -1
- package/esm/layout/stack/index.d.ts +4 -4
- package/esm/layout/stack/index.js +4 -4
- package/esm/layout/utilities/css.d.ts +1 -1
- package/esm/layout/utilities/css.js +4 -0
- package/esm/layout/utilities/css.js.map +1 -1
- package/esm/layout/utilities/types.d.ts +1 -1
- package/esm/link/Link.d.ts +1 -1
- package/esm/link/index.d.ts +2 -2
- package/esm/link/index.js +1 -1
- package/esm/link-panel/LinkPanel.d.ts +3 -3
- package/esm/link-panel/LinkPanel.js +3 -3
- package/esm/link-panel/LinkPanelDescription.js +1 -1
- package/esm/link-panel/LinkPanelTitle.d.ts +1 -1
- package/esm/link-panel/index.d.ts +2 -2
- package/esm/link-panel/index.js +1 -1
- package/esm/list/List.d.ts +2 -2
- package/esm/list/List.js +4 -4
- package/esm/list/ListItem.js +2 -2
- package/esm/list/context.d.ts +1 -1
- package/esm/list/index.d.ts +2 -2
- package/esm/list/index.js +1 -1
- package/esm/loader/Loader.js +2 -2
- package/esm/loader/index.d.ts +2 -2
- package/esm/loader/index.js +1 -1
- package/esm/modal/Modal.context.d.ts +9 -0
- package/esm/modal/Modal.context.js +6 -0
- package/esm/modal/Modal.context.js.map +1 -0
- package/esm/modal/Modal.d.ts +4 -4
- package/esm/modal/Modal.js +14 -17
- package/esm/modal/Modal.js.map +1 -1
- package/esm/modal/ModalHeader.js +4 -8
- package/esm/modal/ModalHeader.js.map +1 -1
- package/esm/modal/ModalUtils.d.ts +1 -1
- package/esm/modal/index.d.ts +5 -5
- package/esm/modal/index.js +1 -1
- package/esm/modal/types.d.ts +24 -3
- package/esm/overlays/index.d.ts +2 -0
- package/esm/overlays/index.js +2 -0
- package/esm/overlays/index.js.map +1 -0
- package/esm/overlays/portal/Portal.d.ts +11 -0
- package/esm/overlays/portal/Portal.js +27 -0
- package/esm/overlays/portal/Portal.js.map +1 -0
- package/esm/package.json +1 -1
- package/esm/pagination/Pagination.d.ts +1 -1
- package/esm/pagination/Pagination.js +2 -2
- package/esm/pagination/PaginationItem.d.ts +2 -2
- package/esm/pagination/PaginationItem.js +1 -1
- package/esm/pagination/index.d.ts +1 -1
- package/esm/pagination/index.js +1 -1
- package/esm/panel/Panel.d.ts +10 -17
- package/esm/panel/Panel.js +6 -16
- package/esm/panel/Panel.js.map +1 -1
- package/esm/panel/index.d.ts +2 -2
- package/esm/panel/index.js +1 -1
- package/esm/popover/Popover.d.ts +1 -1
- package/esm/popover/Popover.js +6 -6
- package/esm/popover/Popover.js.map +1 -1
- package/esm/popover/index.d.ts +2 -2
- package/esm/popover/index.js +1 -1
- package/esm/provider/index.d.ts +1 -1
- package/esm/provider/index.js +1 -1
- package/esm/read-more/ReadMore.js +3 -3
- package/esm/read-more/index.d.ts +2 -2
- package/esm/read-more/index.js +1 -1
- package/esm/skeleton/index.d.ts +2 -2
- package/esm/skeleton/index.js +1 -1
- package/esm/stepper/Step.d.ts +1 -1
- package/esm/stepper/Step.js +3 -3
- package/esm/stepper/Stepper.d.ts +1 -1
- package/esm/stepper/Stepper.js +2 -2
- package/esm/stepper/index.d.ts +1 -1
- package/esm/stepper/index.js +1 -1
- package/esm/table/ColumnHeader.d.ts +1 -1
- package/esm/table/ColumnHeader.js +2 -2
- package/esm/table/DataCell.js +1 -1
- package/esm/table/ExpandableRow.d.ts +1 -1
- package/esm/table/ExpandableRow.js +6 -6
- package/esm/table/Table.d.ts +8 -8
- package/esm/table/Table.js +8 -8
- package/esm/table/context.d.ts +1 -1
- package/esm/table/index.d.ts +9 -9
- package/esm/table/index.js +1 -1
- package/esm/table/types.d.ts +1 -1
- package/esm/tabs/Tab.d.ts +1 -1
- package/esm/tabs/Tab.js +2 -2
- package/esm/tabs/TabList.js +5 -5
- package/esm/tabs/TabList.js.map +1 -1
- package/esm/tabs/TabPanel.js +2 -2
- package/esm/tabs/TabPanel.js.map +1 -1
- package/esm/tabs/Tabs.d.ts +4 -4
- package/esm/tabs/Tabs.js +4 -4
- package/esm/tabs/index.d.ts +4 -4
- package/esm/tabs/index.js +1 -1
- package/esm/tag/Tag.js +1 -1
- package/esm/tag/index.d.ts +1 -1
- package/esm/tag/index.js +1 -1
- package/esm/timeline/AxisLabels.d.ts +1 -1
- package/esm/timeline/AxisLabels.js +5 -5
- package/esm/timeline/AxisLabels.js.map +1 -1
- package/esm/timeline/Pin.d.ts +1 -1
- package/esm/timeline/Pin.js +3 -3
- package/esm/timeline/Timeline.d.ts +5 -5
- package/esm/timeline/Timeline.js +9 -9
- package/esm/timeline/TimelineRow.d.ts +1 -1
- package/esm/timeline/TimelineRow.js +5 -5
- package/esm/timeline/hooks/useRowContext.d.ts +1 -1
- package/esm/timeline/hooks/useTimelineRows.d.ts +1 -1
- package/esm/timeline/hooks/useTimelineRows.js +3 -3
- package/esm/timeline/index.d.ts +6 -6
- package/esm/timeline/index.js +1 -1
- package/esm/timeline/period/ClickablePeriod.d.ts +1 -1
- package/esm/timeline/period/ClickablePeriod.js +5 -5
- package/esm/timeline/period/NonClickablePeriod.d.ts +1 -1
- package/esm/timeline/period/NonClickablePeriod.js +1 -1
- package/esm/timeline/period/index.d.ts +1 -1
- package/esm/timeline/period/index.js +4 -4
- package/esm/timeline/utils/filter.d.ts +1 -1
- package/esm/timeline/utils/index.d.ts +1 -1
- package/esm/timeline/utils/index.js +1 -1
- package/esm/timeline/utils/sort.d.ts +1 -1
- package/esm/timeline/utils/timeline.d.ts +1 -1
- package/esm/timeline/utils/timeline.js +1 -1
- package/esm/timeline/zoom/ZoomButton.js +2 -2
- package/esm/timeline/zoom/index.d.ts +1 -1
- package/esm/timeline/zoom/index.js +1 -1
- package/esm/toggle-group/ToggleGroup.d.ts +1 -1
- package/esm/toggle-group/ToggleGroup.js +4 -4
- package/esm/toggle-group/ToggleItem.js +2 -2
- package/esm/toggle-group/index.d.ts +2 -2
- package/esm/toggle-group/index.js +1 -1
- package/esm/tooltip/Tooltip.js +11 -15
- package/esm/tooltip/Tooltip.js.map +1 -1
- package/esm/tooltip/index.d.ts +1 -1
- package/esm/tooltip/index.js +1 -1
- package/esm/typography/BodyLong.d.ts +2 -2
- package/esm/typography/BodyLong.js +1 -1
- package/esm/typography/BodyShort.d.ts +2 -2
- package/esm/typography/BodyShort.js +1 -1
- package/esm/typography/Detail.d.ts +2 -2
- package/esm/typography/Detail.js +1 -1
- package/esm/typography/ErrorMessage.d.ts +2 -2
- package/esm/typography/ErrorMessage.js +1 -1
- package/esm/typography/Heading.d.ts +2 -2
- package/esm/typography/Heading.js +1 -1
- package/esm/typography/Ingress.d.ts +1 -1
- package/esm/typography/Label.d.ts +2 -2
- package/esm/typography/Label.js +1 -1
- package/esm/typography/index.d.ts +7 -7
- package/esm/typography/index.js +7 -7
- package/esm/typography/util.d.ts +1 -1
- package/esm/util/Slot.js +6 -3
- package/esm/util/Slot.js.map +1 -1
- package/esm/util/TextareaAutoSize.js +17 -27
- package/esm/util/TextareaAutoSize.js.map +1 -1
- package/esm/util/create-context.d.ts +2 -5
- package/esm/util/create-context.js +10 -6
- package/esm/util/create-context.js.map +1 -1
- package/esm/util/hooks/descendants/descendant.js +1 -1
- package/esm/util/hooks/descendants/useDescendant.d.ts +1 -1
- package/esm/util/hooks/descendants/useDescendant.js +5 -5
- package/esm/util/hooks/index.d.ts +8 -8
- package/esm/util/hooks/index.js +8 -8
- package/esm/util/hooks/useControllableState.js +1 -1
- package/esm/util/index.d.ts +6 -6
- package/esm/util/index.js +5 -5
- package/esm/util/types/AsChildProps.d.ts +36 -0
- package/esm/util/types/AsChildProps.js +2 -0
- package/esm/util/types/AsChildProps.js.map +1 -0
- package/esm/util/types/OverridableComponent.d.ts +1 -1
- package/esm/util/types/index.d.ts +2 -1
- package/package.json +11 -10
- package/src/accordion/accordion.stories.tsx +121 -135
- package/src/alert/alert.stories.tsx +202 -113
- package/src/button/button.stories.tsx +88 -185
- package/src/chat/Bubble.tsx +2 -23
- package/src/chat/Chat.tsx +1 -18
- package/src/chat/chat.stories.tsx +284 -216
- package/src/date/context/useSharedMonthContext.tsx +1 -2
- package/src/date/datepicker/DatePicker.tsx +1 -3
- package/src/date/datepicker/DatePickerStandalone.tsx +1 -3
- package/src/date/datepicker/datepicker.stories.tsx +11 -7
- package/src/date/datepicker/parts/DayButton.tsx +1 -1
- package/src/date/datepicker/parts/DropdownCaption.tsx +1 -4
- package/src/date/datepicker/parts/Row.tsx +3 -2
- package/src/date/hooks/useDatepicker.tsx +2 -8
- package/src/date/hooks/useMonthPicker.tsx +1 -6
- package/src/date/hooks/useRangeDatepicker.tsx +5 -3
- package/src/date/monthpicker/MonthButton.tsx +7 -5
- package/src/date/monthpicker/MonthCaption.tsx +7 -4
- package/src/date/monthpicker/MonthPicker.tsx +10 -8
- package/src/date/monthpicker/MonthPickerStandalone.tsx +10 -8
- package/src/date/monthpicker/MonthSelector.tsx +1 -4
- package/src/date/monthpicker/monthpicker.stories.tsx +5 -3
- package/src/date/parts/DateInput.tsx +1 -1
- package/src/date/parts/DateWrapper.tsx +3 -3
- package/src/date/utils/__tests__/format-dates.test.ts +1 -1
- package/src/date/utils/__tests__/get-initial-year.test.ts +1 -1
- package/src/date/utils/__tests__/parse-dates.test.ts +2 -2
- package/src/date/utils/check-dates.ts +1 -2
- package/src/date/utils/dates-disabled.ts +1 -1
- package/src/date/utils/format-date.ts +1 -1
- package/src/date/utils/get-dates.ts +7 -5
- package/src/date/utils/get-initial-year.ts +1 -1
- package/src/date/utils/is-match.ts +6 -4
- package/src/date/utils/labels.ts +1 -0
- package/src/date/utils/locale.ts +1 -3
- package/src/date/utils/navigation.ts +1 -1
- package/src/date/utils/parse-date.ts +1 -3
- package/src/dropdown/dropdown.stories.tsx +1 -1
- package/src/form/Textarea.tsx +34 -34
- package/src/form/combobox/Combobox.tsx +1 -1
- package/src/form/combobox/ComboboxProvider.tsx +2 -0
- package/src/form/combobox/ComboboxWrapper.tsx +0 -1
- package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +131 -92
- package/src/form/combobox/FilteredOptions/filtered-options-util.ts +9 -2
- package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +22 -3
- package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +63 -45
- package/src/form/combobox/Input/Input.tsx +3 -1
- package/src/form/combobox/SelectedOptions/selectedOptionsContext.tsx +11 -1
- package/src/form/combobox/combobox.stories.tsx +36 -1
- package/src/form/combobox/combobox.test.tsx +1 -3
- package/src/form/combobox/types.ts +15 -0
- package/src/form/error-summary/error-summary.stories.tsx +1 -1
- package/src/form/search/Search.tsx +7 -2
- package/src/form/stories/confirmation-panel.stories.tsx +1 -1
- package/src/form/stories/textarea.stories.tsx +37 -0
- package/src/help-text/help-text.stories.tsx +2 -1
- package/src/index.ts +2 -2
- package/src/internal-header/header.stories.tsx +2 -1
- package/src/layout/bleed/Bleed.stories.tsx +15 -1
- package/src/layout/bleed/Bleed.tsx +2 -2
- package/src/layout/box/Box.stories.tsx +3 -2
- package/src/layout/sidemal-test/navno-sidemal.stories.tsx +5 -1
- package/src/layout/utilities/css.ts +3 -0
- package/src/layout/utilities/types.ts +1 -1
- package/src/link/stories/link.stories.tsx +20 -22
- package/src/link-panel/link-panel.stories.tsx +1 -1
- package/src/list/list.stories.tsx +2 -1
- package/src/loader/loader.stories.tsx +1 -1
- package/src/modal/Modal.context.ts +13 -0
- package/src/modal/Modal.test.tsx +2 -2
- package/src/modal/Modal.tsx +6 -8
- package/src/modal/ModalHeader.tsx +3 -7
- package/src/modal/modal.stories.tsx +33 -6
- package/src/modal/types.ts +21 -4
- package/src/overlays/index.ts +2 -0
- package/src/overlays/portal/Portal.stories.tsx +99 -0
- package/src/overlays/portal/Portal.tsx +32 -0
- package/src/panel/Panel.tsx +9 -16
- package/src/popover/Popover.tsx +2 -2
- package/src/stepper/stepper.stories.tsx +1 -1
- package/src/table/stories/{table.stories.tsx → table-1.stories.tsx} +118 -92
- package/src/table/stories/{table-expandable.stories.tsx → table-2-expandable.stories.tsx} +10 -34
- package/src/table/stories/{table-async.stories.tsx → table-3-async.stories.tsx} +5 -3
- package/src/table/stories/tests/table.stories.tsx +4 -1
- package/src/table/types.ts +1 -1
- package/src/tabs/TabList.tsx +2 -2
- package/src/tabs/TabPanel.tsx +2 -2
- package/src/tabs/Tabs.test.tsx +109 -0
- package/src/timeline/AxisLabels.tsx +1 -1
- package/src/toggle-group/ToggleGroup.test.tsx +54 -0
- package/src/tooltip/Tooltip.tsx +7 -17
- package/src/tooltip/tooltip.stories.tsx +4 -1
- package/src/typography/stories/bodylong.stories.tsx +49 -3
- package/src/typography/stories/bodyshort.stories.tsx +50 -4
- package/src/typography/stories/detail.stories.tsx +32 -3
- package/src/typography/stories/error-message.stories.tsx +34 -3
- package/src/typography/stories/heading.stories.tsx +32 -3
- package/src/typography/stories/label.stories.tsx +38 -3
- package/src/util/Slot.tsx +4 -2
- package/src/util/TextareaAutoSize.tsx +16 -31
- package/src/util/create-context.tsx +26 -15
- package/src/util/types/AsChildProps.ts +37 -0
- package/src/util/types/OverridableComponent.ts +1 -1
- package/src/util/types/index.ts +1 -0
- package/_docs.json +0 -19787
- package/cjs/grid/Cell.d.ts +0 -30
- package/cjs/grid/Cell.js +0 -52
- package/cjs/grid/Cell.js.map +0 -1
- package/cjs/grid/Grid.d.ts +0 -13
- package/cjs/grid/Grid.js.map +0 -1
- package/cjs/grid/index.d.ts +0 -2
- package/cjs/grid/index.js +0 -11
- package/cjs/grid/index.js.map +0 -1
- package/cjs/layout/content-container/ContentContainer.d.ts +0 -9
- package/cjs/layout/content-container/ContentContainer.js +0 -48
- package/cjs/layout/content-container/ContentContainer.js.map +0 -1
- package/cjs/layout/content-container/index.d.ts +0 -1
- package/cjs/layout/content-container/index.js +0 -9
- package/cjs/layout/content-container/index.js.map +0 -1
- package/cjs/modal/ModalContext.d.ts +0 -7
- package/cjs/modal/ModalContext.js +0 -9
- package/cjs/modal/ModalContext.js.map +0 -1
- package/esm/grid/Cell.d.ts +0 -30
- package/esm/grid/Cell.js +0 -23
- package/esm/grid/Cell.js.map +0 -1
- package/esm/grid/Grid.d.ts +0 -13
- package/esm/grid/Grid.js +0 -23
- package/esm/grid/Grid.js.map +0 -1
- package/esm/grid/index.d.ts +0 -2
- package/esm/grid/index.js +0 -3
- package/esm/grid/index.js.map +0 -1
- package/esm/layout/content-container/ContentContainer.d.ts +0 -9
- package/esm/layout/content-container/ContentContainer.js +0 -19
- package/esm/layout/content-container/ContentContainer.js.map +0 -1
- package/esm/layout/content-container/index.d.ts +0 -1
- package/esm/layout/content-container/index.js +0 -2
- package/esm/layout/content-container/index.js.map +0 -1
- package/esm/modal/ModalContext.d.ts +0 -7
- package/esm/modal/ModalContext.js +0 -3
- package/esm/modal/ModalContext.js.map +0 -1
- package/src/grid/Cell.tsx +0 -53
- package/src/grid/Grid.tsx +0 -23
- package/src/grid/grid.stories.tsx +0 -67
- package/src/grid/index.ts +0 -2
- package/src/layout/content-container/ContentContainer.tsx +0 -22
- package/src/layout/content-container/index.ts +0 -4
- package/src/layout/sidemal-test/navno-sidemal.stories.mdx +0 -29
- package/src/modal/ModalContext.ts +0 -7
- package/src/panel/panel.stories.tsx +0 -63
- package/src/typography/stories/ingress.stories.tsx +0 -50
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { fireEvent, render, screen } from "@testing-library/react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Tabs } from "./Tabs";
|
|
4
|
+
|
|
5
|
+
const TestTabs = ({
|
|
6
|
+
value,
|
|
7
|
+
onChange,
|
|
8
|
+
defaultValue,
|
|
9
|
+
selectionFollowsFocus,
|
|
10
|
+
loop,
|
|
11
|
+
iconPosition,
|
|
12
|
+
}: any) => (
|
|
13
|
+
<Tabs
|
|
14
|
+
value={value}
|
|
15
|
+
onChange={onChange}
|
|
16
|
+
defaultValue={defaultValue}
|
|
17
|
+
selectionFollowsFocus={selectionFollowsFocus}
|
|
18
|
+
loop={loop}
|
|
19
|
+
iconPosition={iconPosition}
|
|
20
|
+
>
|
|
21
|
+
<Tabs.List data-testid="tablist">
|
|
22
|
+
<Tabs.Tab value="tab1" data-testid="tab1" label="Tab 1" />
|
|
23
|
+
<Tabs.Tab value="tab2" data-testid="tab2" label="Tab 2" />
|
|
24
|
+
<Tabs.Tab value="tab3" data-testid="tab3" label="Tab 3" />
|
|
25
|
+
</Tabs.List>
|
|
26
|
+
<Tabs.Panel value="tab1" data-testid="tabpanel1">
|
|
27
|
+
Tabpanel 1
|
|
28
|
+
</Tabs.Panel>
|
|
29
|
+
<Tabs.Panel value="tab2" data-testid="tabpanel2">
|
|
30
|
+
Tabpanel 2
|
|
31
|
+
</Tabs.Panel>
|
|
32
|
+
<Tabs.Panel value="tab3" data-testid="tabpanel3">
|
|
33
|
+
Tabpanel 3
|
|
34
|
+
</Tabs.Panel>
|
|
35
|
+
</Tabs>
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
describe("Tabs", () => {
|
|
39
|
+
test("sets default value correctly", () => {
|
|
40
|
+
render(<TestTabs defaultValue="tab2" />);
|
|
41
|
+
const tab = screen.getByTestId("tab2");
|
|
42
|
+
const panel = screen.getByTestId("tabpanel2");
|
|
43
|
+
|
|
44
|
+
expect(tab).toHaveAttribute("aria-selected", "true");
|
|
45
|
+
expect(panel).toHaveTextContent("Tabpanel 2");
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
test("label-connection between tab and tabpanel is correct", async () => {
|
|
49
|
+
render(<TestTabs defaultValue="tab2" />);
|
|
50
|
+
const tab = screen.getByTestId("tab2");
|
|
51
|
+
const panel = screen.getByTestId("tabpanel2");
|
|
52
|
+
|
|
53
|
+
const controlsId = tab.getAttribute("aria-controls");
|
|
54
|
+
const panelLabelledBy = panel.getAttribute("aria-labelledby");
|
|
55
|
+
|
|
56
|
+
expect(controlsId).toEqual(panel.id);
|
|
57
|
+
expect(tab.id).toEqual(panelLabelledBy);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
test("sets correct attributes on active tab", () => {
|
|
61
|
+
render(<TestTabs defaultValue="tab2" />);
|
|
62
|
+
const tab = screen.getByTestId("tab2");
|
|
63
|
+
|
|
64
|
+
expect(tab).toHaveAttribute("aria-selected", "true");
|
|
65
|
+
expect(tab).toHaveAttribute("role", "tab");
|
|
66
|
+
expect(tab).toHaveAttribute("aria-controls");
|
|
67
|
+
expect(tab).toHaveAttribute("tabindex", "-1");
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
test("sets correct attributes on idle tab", () => {
|
|
71
|
+
render(<TestTabs defaultValue="tab2" />);
|
|
72
|
+
const tab = screen.getByTestId("tab1");
|
|
73
|
+
|
|
74
|
+
expect(tab).toHaveAttribute("aria-selected", "false");
|
|
75
|
+
expect(tab).toHaveAttribute("role", "tab");
|
|
76
|
+
expect(tab).toHaveAttribute("aria-controls");
|
|
77
|
+
expect(tab).toHaveAttribute("tabindex", "-1");
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test("sets correct attributes on active tabpanel", () => {
|
|
81
|
+
render(<TestTabs defaultValue="tab2" />);
|
|
82
|
+
const panel = screen.getByTestId("tabpanel2");
|
|
83
|
+
|
|
84
|
+
expect(panel).toHaveAttribute("aria-labelledby");
|
|
85
|
+
expect(panel).toHaveAttribute("role", "tabpanel");
|
|
86
|
+
expect(panel).toHaveAttribute("tabindex", "0");
|
|
87
|
+
expect(panel).toHaveTextContent("Tabpanel 2");
|
|
88
|
+
expect(panel).toHaveStyle({ display: "block" });
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
test("sets correct attributes on idle tabpanel", () => {
|
|
92
|
+
render(<TestTabs defaultValue="tab1" />);
|
|
93
|
+
const panel = screen.getByTestId("tabpanel2");
|
|
94
|
+
|
|
95
|
+
expect(panel).toHaveAttribute("aria-labelledby");
|
|
96
|
+
expect(panel).toHaveAttribute("role", "tabpanel");
|
|
97
|
+
expect(panel).toHaveAttribute("tabindex", "0");
|
|
98
|
+
expect(panel).toBeEmptyDOMElement();
|
|
99
|
+
expect(panel).toHaveStyle({ display: "none" });
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
test("sets tabindex to 0 when focused", () => {
|
|
103
|
+
render(<TestTabs defaultValue="tab2" />);
|
|
104
|
+
const tab = screen.getByTestId("tab2");
|
|
105
|
+
|
|
106
|
+
fireEvent.focus(tab);
|
|
107
|
+
expect(tab).toHaveAttribute("tabindex", "0");
|
|
108
|
+
});
|
|
109
|
+
});
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
startOfYear,
|
|
14
14
|
subDays,
|
|
15
15
|
} from "date-fns";
|
|
16
|
-
import nbLocale from "date-fns/locale
|
|
16
|
+
import { nb as nbLocale } from "date-fns/locale";
|
|
17
17
|
import React from "react";
|
|
18
18
|
import { Detail } from "../typography/Detail";
|
|
19
19
|
import { useTimelineContext } from "./hooks/useTimelineContext";
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { fireEvent, render, screen } from "@testing-library/react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ToggleGroup } from "./ToggleGroup";
|
|
4
|
+
|
|
5
|
+
const TestToggleGroup = ({ value, onChange, defaultValue }: any) => (
|
|
6
|
+
<ToggleGroup value={value} onChange={onChange} defaultValue={defaultValue}>
|
|
7
|
+
<ToggleGroup.Item value="toggle1" data-testid="toggle1">
|
|
8
|
+
Toggle 1
|
|
9
|
+
</ToggleGroup.Item>
|
|
10
|
+
<ToggleGroup.Item value="toggle2" data-testid="toggle2">
|
|
11
|
+
Toggle 2
|
|
12
|
+
</ToggleGroup.Item>
|
|
13
|
+
<ToggleGroup.Item value="toggle3" data-testid="toggle3">
|
|
14
|
+
Toggle 3
|
|
15
|
+
</ToggleGroup.Item>
|
|
16
|
+
</ToggleGroup>
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
describe("ToggleGroup", () => {
|
|
20
|
+
test("sets default value correctly", () => {
|
|
21
|
+
render(<TestToggleGroup defaultValue="toggle2" />);
|
|
22
|
+
const toggle = screen.getByTestId("toggle2");
|
|
23
|
+
|
|
24
|
+
expect(toggle).toHaveAttribute("aria-checked", "true");
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
test("sets correct attributes on active toggle", () => {
|
|
28
|
+
render(<TestToggleGroup defaultValue="toggle2" />);
|
|
29
|
+
const toggle = screen.getByTestId("toggle2");
|
|
30
|
+
|
|
31
|
+
expect(toggle).toHaveAttribute("aria-checked", "true");
|
|
32
|
+
expect(toggle).toHaveAttribute("role", "radio");
|
|
33
|
+
expect(toggle).toHaveAttribute("type", "button");
|
|
34
|
+
expect(toggle).toHaveAttribute("tabindex", "-1");
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
test("sets correct attributes on idle toggle", () => {
|
|
38
|
+
render(<TestToggleGroup defaultValue="toggle1" />);
|
|
39
|
+
const toggle = screen.getByTestId("toggle2");
|
|
40
|
+
|
|
41
|
+
expect(toggle).toHaveAttribute("aria-checked", "false");
|
|
42
|
+
expect(toggle).toHaveAttribute("role", "radio");
|
|
43
|
+
expect(toggle).toHaveAttribute("type", "button");
|
|
44
|
+
expect(toggle).toHaveAttribute("tabindex", "-1");
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
test("sets tabindex to 0 when focused", () => {
|
|
48
|
+
render(<TestToggleGroup defaultValue="toggle2" />);
|
|
49
|
+
const toggle = screen.getByTestId("toggle2");
|
|
50
|
+
|
|
51
|
+
fireEvent.focus(toggle);
|
|
52
|
+
expect(toggle).toHaveAttribute("tabindex", "0");
|
|
53
|
+
});
|
|
54
|
+
});
|
package/src/tooltip/Tooltip.tsx
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
FloatingPortal,
|
|
3
2
|
autoUpdate,
|
|
4
3
|
arrow as flArrow,
|
|
5
4
|
flip,
|
|
@@ -13,15 +12,9 @@ import {
|
|
|
13
12
|
useInteractions,
|
|
14
13
|
} from "@floating-ui/react";
|
|
15
14
|
import cl from "clsx";
|
|
16
|
-
import React, {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
forwardRef,
|
|
20
|
-
useContext,
|
|
21
|
-
useRef,
|
|
22
|
-
} from "react";
|
|
23
|
-
import { ModalContext } from "../modal/ModalContext";
|
|
24
|
-
import { useProvider } from "../provider";
|
|
15
|
+
import React, { HTMLAttributes, cloneElement, forwardRef, useRef } from "react";
|
|
16
|
+
import { useModalContext } from "../modal/Modal.context";
|
|
17
|
+
import Portal from "../overlays/portal/Portal";
|
|
25
18
|
import { Detail } from "../typography";
|
|
26
19
|
import { useId } from "../util/hooks";
|
|
27
20
|
import { useControllableState } from "../util/hooks/useControllableState";
|
|
@@ -122,11 +115,8 @@ export const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(
|
|
|
122
115
|
});
|
|
123
116
|
|
|
124
117
|
const arrowRef = useRef<HTMLDivElement | null>(null);
|
|
125
|
-
const modalContext =
|
|
126
|
-
const
|
|
127
|
-
const rootElement = modalContext
|
|
128
|
-
? modalContext.ref.current
|
|
129
|
-
: providerRootElement;
|
|
118
|
+
const modalContext = useModalContext(false);
|
|
119
|
+
const rootElement = modalContext ? modalContext.ref.current : undefined;
|
|
130
120
|
|
|
131
121
|
const {
|
|
132
122
|
x,
|
|
@@ -199,7 +189,7 @@ export const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(
|
|
|
199
189
|
: children?.props["aria-describedby"],
|
|
200
190
|
}),
|
|
201
191
|
)}
|
|
202
|
-
<
|
|
192
|
+
<Portal rootElement={rootElement} asChild>
|
|
203
193
|
{_open && (
|
|
204
194
|
<div
|
|
205
195
|
{...getFloatingProps({
|
|
@@ -253,7 +243,7 @@ export const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(
|
|
|
253
243
|
)}
|
|
254
244
|
</div>
|
|
255
245
|
)}
|
|
256
|
-
</
|
|
246
|
+
</Portal>
|
|
257
247
|
</>
|
|
258
248
|
);
|
|
259
249
|
},
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Meta } from "@storybook/react";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { Alert
|
|
3
|
+
import { Alert } from "../alert";
|
|
4
|
+
import { Button } from "../button";
|
|
5
|
+
import { Search } from "../form";
|
|
6
|
+
import Tooltip from "./Tooltip";
|
|
4
7
|
|
|
5
8
|
export default {
|
|
6
9
|
title: "ds-react/Tooltip",
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
2
|
import { expect, within } from "@storybook/test";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
4
|
+
import { VStack } from "../../layout/stack";
|
|
5
|
+
import BodyLong from "../BodyLong";
|
|
6
6
|
|
|
7
7
|
const meta = {
|
|
8
8
|
title: "ds-react/Typography/BodyLong",
|
|
9
9
|
component: BodyLong,
|
|
10
10
|
decorators: [(story) => <div style={{ maxWidth: "700px" }}>{story()}</div>],
|
|
11
|
+
parameters: {
|
|
12
|
+
chromatic: { disable: true },
|
|
13
|
+
},
|
|
11
14
|
} satisfies Meta<typeof BodyLong>;
|
|
12
15
|
|
|
13
16
|
export default meta;
|
|
@@ -17,7 +20,7 @@ type Story = StoryObj<typeof meta>;
|
|
|
17
20
|
const lorem =
|
|
18
21
|
"Hvis du ikke bor sammen med begge foreldrene dine, kan du ha rett til barnebidrag fra en eller begge foreldre mens du fullfører videregående skole eller tilsvarende.";
|
|
19
22
|
|
|
20
|
-
export const
|
|
23
|
+
export const Controls: Story = {
|
|
21
24
|
args: {
|
|
22
25
|
spacing: false,
|
|
23
26
|
children: lorem,
|
|
@@ -162,3 +165,46 @@ export const OverrideTag: Story = {
|
|
|
162
165
|
expect(legendBodyLong.tagName).toEqual("LEGEND");
|
|
163
166
|
},
|
|
164
167
|
};
|
|
168
|
+
|
|
169
|
+
export const Chromatic: Story = {
|
|
170
|
+
render: (...props) => (
|
|
171
|
+
<div>
|
|
172
|
+
<div>
|
|
173
|
+
<h2>Large</h2>
|
|
174
|
+
<h3>Size</h3>
|
|
175
|
+
{SizeLarge.render?.(...props)}
|
|
176
|
+
<h3>Spacing</h3>
|
|
177
|
+
{SpacingLarge.render?.(...props)}
|
|
178
|
+
</div>
|
|
179
|
+
<div>
|
|
180
|
+
<h2>Medium</h2>
|
|
181
|
+
<h3>Size</h3>
|
|
182
|
+
{SizeMedium.render?.(...props)}
|
|
183
|
+
<h3>Spacing</h3>
|
|
184
|
+
{SpacingMedium.render?.(...props)}
|
|
185
|
+
</div>
|
|
186
|
+
<div>
|
|
187
|
+
<h2>Small</h2>
|
|
188
|
+
<h3>Size</h3>
|
|
189
|
+
{SizeSmall.render?.(...props)}
|
|
190
|
+
<h3>Spacing</h3>
|
|
191
|
+
{SpacingSmall.render?.(...props)}
|
|
192
|
+
</div>
|
|
193
|
+
<div>
|
|
194
|
+
<h2>Colors</h2>
|
|
195
|
+
{Colors.render?.(...props)}
|
|
196
|
+
</div>
|
|
197
|
+
<div>
|
|
198
|
+
<h2>Align</h2>
|
|
199
|
+
{Align.render?.(...props)}
|
|
200
|
+
</div>
|
|
201
|
+
<div>
|
|
202
|
+
<h2>Override Tag</h2>
|
|
203
|
+
{OverrideTag.render?.(...props)}
|
|
204
|
+
</div>
|
|
205
|
+
</div>
|
|
206
|
+
),
|
|
207
|
+
parameters: {
|
|
208
|
+
chromatic: { disable: false },
|
|
209
|
+
},
|
|
210
|
+
};
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
2
|
import { expect, within } from "@storybook/test";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { VStack } from "../../layout/stack";
|
|
5
|
+
import { BodyShort } from "../BodyShort";
|
|
6
6
|
|
|
7
7
|
const meta = {
|
|
8
8
|
title: "ds-react/Typography/BodyShort",
|
|
9
9
|
component: BodyShort,
|
|
10
|
-
decorators: [(story) => <div style={{ maxWidth: "
|
|
10
|
+
decorators: [(story) => <div style={{ maxWidth: "250px" }}>{story()}</div>],
|
|
11
|
+
parameters: {
|
|
12
|
+
chromatic: { disable: true },
|
|
13
|
+
},
|
|
11
14
|
} satisfies Meta<typeof BodyShort>;
|
|
12
15
|
|
|
13
16
|
export default meta;
|
|
@@ -16,7 +19,7 @@ type Story = StoryObj<typeof meta>;
|
|
|
16
19
|
|
|
17
20
|
const lorem = "Du må gjøre en filtrering for å se brukere i listen.";
|
|
18
21
|
|
|
19
|
-
export const
|
|
22
|
+
export const Controls: Story = {
|
|
20
23
|
args: {
|
|
21
24
|
spacing: false,
|
|
22
25
|
children: lorem,
|
|
@@ -161,3 +164,46 @@ export const OverrideTag: Story = {
|
|
|
161
164
|
expect(legendBodyShort.tagName).toEqual("LEGEND");
|
|
162
165
|
},
|
|
163
166
|
};
|
|
167
|
+
|
|
168
|
+
export const Chromatic: Story = {
|
|
169
|
+
render: (...props) => (
|
|
170
|
+
<div>
|
|
171
|
+
<div>
|
|
172
|
+
<h2>Large</h2>
|
|
173
|
+
<h3>Size</h3>
|
|
174
|
+
{SizeLarge.render?.(...props)}
|
|
175
|
+
<h3>Spacing</h3>
|
|
176
|
+
{SpacingLarge.render?.(...props)}
|
|
177
|
+
</div>
|
|
178
|
+
<div>
|
|
179
|
+
<h2>Medium</h2>
|
|
180
|
+
<h3>Size</h3>
|
|
181
|
+
{SizeMedium.render?.(...props)}
|
|
182
|
+
<h3>Spacing</h3>
|
|
183
|
+
{SpacingMedium.render?.(...props)}
|
|
184
|
+
</div>
|
|
185
|
+
<div>
|
|
186
|
+
<h2>Small</h2>
|
|
187
|
+
<h3>Size</h3>
|
|
188
|
+
{SizeSmall.render?.(...props)}
|
|
189
|
+
<h3>Spacing</h3>
|
|
190
|
+
{SpacingSmall.render?.(...props)}
|
|
191
|
+
</div>
|
|
192
|
+
<div>
|
|
193
|
+
<h2>Colors</h2>
|
|
194
|
+
{Colors.render?.(...props)}
|
|
195
|
+
</div>
|
|
196
|
+
<div>
|
|
197
|
+
<h2>Align</h2>
|
|
198
|
+
{Align.render?.(...props)}
|
|
199
|
+
</div>
|
|
200
|
+
<div>
|
|
201
|
+
<h2>Override Tag</h2>
|
|
202
|
+
{OverrideTag.render?.(...props)}
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
),
|
|
206
|
+
parameters: {
|
|
207
|
+
chromatic: { disable: false },
|
|
208
|
+
},
|
|
209
|
+
};
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
2
|
import { expect, within } from "@storybook/test";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
4
|
+
import { VStack } from "../../layout/stack";
|
|
5
|
+
import Detail from "../Detail";
|
|
6
6
|
|
|
7
7
|
const meta = {
|
|
8
8
|
title: "ds-react/Typography/Detail",
|
|
9
9
|
component: Detail,
|
|
10
10
|
decorators: [(story) => <div style={{ maxWidth: "200px" }}>{story()}</div>],
|
|
11
|
+
parameters: {
|
|
12
|
+
chromatic: { disable: true },
|
|
13
|
+
},
|
|
11
14
|
} satisfies Meta<typeof Detail>;
|
|
12
15
|
|
|
13
16
|
export default meta;
|
|
@@ -16,7 +19,7 @@ type Story = StoryObj<typeof meta>;
|
|
|
16
19
|
|
|
17
20
|
const lorem = "Du må gjøre en filtrering for å se brukere i listen.";
|
|
18
21
|
|
|
19
|
-
export const
|
|
22
|
+
export const Controls: Story = {
|
|
20
23
|
args: {
|
|
21
24
|
spacing: false,
|
|
22
25
|
children: lorem,
|
|
@@ -85,3 +88,29 @@ export const OverrideTag: Story = {
|
|
|
85
88
|
expect(legendDetail.tagName).toEqual("LEGEND");
|
|
86
89
|
},
|
|
87
90
|
};
|
|
91
|
+
|
|
92
|
+
export const Chromatic: Story = {
|
|
93
|
+
render: (...props) => (
|
|
94
|
+
<div>
|
|
95
|
+
<div>
|
|
96
|
+
<h2>Spacing</h2>
|
|
97
|
+
{Spacing.render?.(...props)}
|
|
98
|
+
</div>
|
|
99
|
+
<div>
|
|
100
|
+
<h2>Colors</h2>
|
|
101
|
+
{Colors.render?.(...props)}
|
|
102
|
+
</div>
|
|
103
|
+
<div>
|
|
104
|
+
<h2>Align</h2>
|
|
105
|
+
{Align.render?.(...props)}
|
|
106
|
+
</div>
|
|
107
|
+
<div>
|
|
108
|
+
<h2>Override Tag</h2>
|
|
109
|
+
{OverrideTag.render?.(...props)}
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
),
|
|
113
|
+
parameters: {
|
|
114
|
+
chromatic: { disable: false },
|
|
115
|
+
},
|
|
116
|
+
};
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
2
|
import { expect, within } from "@storybook/test";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
4
|
+
import { VStack } from "../../layout/stack";
|
|
5
|
+
import ErrorMessage from "../ErrorMessage";
|
|
6
6
|
|
|
7
7
|
const meta = {
|
|
8
8
|
title: "ds-react/Typography/ErrorMessage",
|
|
9
9
|
component: ErrorMessage,
|
|
10
|
+
parameters: {
|
|
11
|
+
chromatic: { disable: true },
|
|
12
|
+
},
|
|
10
13
|
} satisfies Meta<typeof ErrorMessage>;
|
|
11
14
|
|
|
12
15
|
export default meta;
|
|
@@ -16,7 +19,7 @@ type Story = StoryObj<typeof meta>;
|
|
|
16
19
|
const lorem =
|
|
17
20
|
"Du må fylle ut: Oppgi årsaken til at du har ventet mer enn 6 måneder med å søke om refusjon";
|
|
18
21
|
|
|
19
|
-
export const
|
|
22
|
+
export const Controls: Story = {
|
|
20
23
|
args: {
|
|
21
24
|
spacing: false,
|
|
22
25
|
children: lorem,
|
|
@@ -90,3 +93,31 @@ export const OverrideTag: Story = {
|
|
|
90
93
|
expect(legendErrorMessage.tagName).toEqual("LEGEND");
|
|
91
94
|
},
|
|
92
95
|
};
|
|
96
|
+
|
|
97
|
+
export const Chromatic: Story = {
|
|
98
|
+
render: (...props) => (
|
|
99
|
+
<div>
|
|
100
|
+
<div>
|
|
101
|
+
<h2>Medium</h2>
|
|
102
|
+
<h3>Size</h3>
|
|
103
|
+
{SizeMedium.render?.(...props)}
|
|
104
|
+
<h3>Spacing</h3>
|
|
105
|
+
{SpacingMedium.render?.(...props)}
|
|
106
|
+
</div>
|
|
107
|
+
<div>
|
|
108
|
+
<h2>Small</h2>
|
|
109
|
+
<h3>Size</h3>
|
|
110
|
+
{SizeSmall.render?.(...props)}
|
|
111
|
+
<h3>Spacing</h3>
|
|
112
|
+
{SpacingSmall.render?.(...props)}
|
|
113
|
+
</div>
|
|
114
|
+
<div>
|
|
115
|
+
<h2>Override Tag</h2>
|
|
116
|
+
{OverrideTag.render?.(...props)}
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
),
|
|
120
|
+
parameters: {
|
|
121
|
+
chromatic: { disable: false },
|
|
122
|
+
},
|
|
123
|
+
};
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
2
|
import { expect, within } from "@storybook/test";
|
|
3
3
|
import { default as React } from "react";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
4
|
+
import { VStack } from "../../layout/stack";
|
|
5
|
+
import Heading from "../Heading";
|
|
6
6
|
|
|
7
7
|
const meta = {
|
|
8
8
|
title: "ds-react/Typography/Heading",
|
|
9
9
|
component: Heading,
|
|
10
10
|
decorators: [(story) => <div style={{ maxWidth: "300px" }}>{story()}</div>],
|
|
11
|
+
parameters: {
|
|
12
|
+
chromatic: { disable: true },
|
|
13
|
+
},
|
|
11
14
|
} satisfies Meta<typeof Heading>;
|
|
12
15
|
|
|
13
16
|
export default meta;
|
|
@@ -16,7 +19,7 @@ type Story = StoryObj<typeof meta>;
|
|
|
16
19
|
|
|
17
20
|
const lorem = "Hva kan vi hjelpe deg med?";
|
|
18
21
|
|
|
19
|
-
export const
|
|
22
|
+
export const Controls: Story = {
|
|
20
23
|
args: {
|
|
21
24
|
spacing: false,
|
|
22
25
|
children: lorem,
|
|
@@ -139,3 +142,29 @@ export const OverrideTag: Story = {
|
|
|
139
142
|
expect(legendHeading.tagName).toEqual("LEGEND");
|
|
140
143
|
},
|
|
141
144
|
};
|
|
145
|
+
|
|
146
|
+
export const Chromatic: Story = {
|
|
147
|
+
render: (...props) => (
|
|
148
|
+
<div>
|
|
149
|
+
<div>
|
|
150
|
+
<h2>Sizes</h2>
|
|
151
|
+
{Sizes.render?.(...props)}
|
|
152
|
+
</div>
|
|
153
|
+
<div>
|
|
154
|
+
<h2>Colors</h2>
|
|
155
|
+
{Colors.render?.(...props)}
|
|
156
|
+
</div>
|
|
157
|
+
<div>
|
|
158
|
+
<h2>Align</h2>
|
|
159
|
+
{Align.render?.(...props)}
|
|
160
|
+
</div>
|
|
161
|
+
<div>
|
|
162
|
+
<h2>Override Tag</h2>
|
|
163
|
+
{OverrideTag.render?.(...props)}
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
),
|
|
167
|
+
parameters: {
|
|
168
|
+
chromatic: { disable: false },
|
|
169
|
+
},
|
|
170
|
+
};
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
2
|
import { expect, within } from "@storybook/test";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
4
|
+
import { VStack } from "../../layout/stack";
|
|
5
|
+
import Label from "../Label";
|
|
6
6
|
|
|
7
7
|
const meta = {
|
|
8
8
|
title: "ds-react/Typography/Label",
|
|
9
9
|
component: Label,
|
|
10
10
|
decorators: [(story) => <div style={{ maxWidth: "400px" }}>{story()}</div>],
|
|
11
|
+
parameters: {
|
|
12
|
+
chromatic: { disable: true },
|
|
13
|
+
},
|
|
11
14
|
} satisfies Meta<typeof Label>;
|
|
12
15
|
|
|
13
16
|
export default meta;
|
|
@@ -17,7 +20,7 @@ type Story = StoryObj<typeof meta>;
|
|
|
17
20
|
const lorem =
|
|
18
21
|
"Oppgi årsaken til at du har ventet mer enn 6 måneder med å søke om refusjon";
|
|
19
22
|
|
|
20
|
-
export const
|
|
23
|
+
export const Controls: Story = {
|
|
21
24
|
args: {
|
|
22
25
|
spacing: false,
|
|
23
26
|
children: lorem,
|
|
@@ -95,3 +98,35 @@ export const OverrideTag: Story = {
|
|
|
95
98
|
expect(legendLabel.tagName).toEqual("LEGEND");
|
|
96
99
|
},
|
|
97
100
|
};
|
|
101
|
+
|
|
102
|
+
export const Chromatic: Story = {
|
|
103
|
+
render: (...props) => (
|
|
104
|
+
<div>
|
|
105
|
+
<div>
|
|
106
|
+
<h2>Medium</h2>
|
|
107
|
+
<h3>Size</h3>
|
|
108
|
+
{SizeMedium.render?.(...props)}
|
|
109
|
+
<h3>Spacing</h3>
|
|
110
|
+
{SpacingMedium.render?.(...props)}
|
|
111
|
+
</div>
|
|
112
|
+
<div>
|
|
113
|
+
<h2>Small</h2>
|
|
114
|
+
<h3>Size</h3>
|
|
115
|
+
{SizeSmall.render?.(...props)}
|
|
116
|
+
<h3>Spacing</h3>
|
|
117
|
+
{SpacingSmall.render?.(...props)}
|
|
118
|
+
</div>
|
|
119
|
+
<div>
|
|
120
|
+
<h2>Colors</h2>
|
|
121
|
+
{Colors.render?.(...props)}
|
|
122
|
+
</div>
|
|
123
|
+
<div>
|
|
124
|
+
<h2>Override Tag</h2>
|
|
125
|
+
{OverrideTag.render?.(...props)}
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
),
|
|
129
|
+
parameters: {
|
|
130
|
+
chromatic: { disable: false },
|
|
131
|
+
},
|
|
132
|
+
};
|
package/src/util/Slot.tsx
CHANGED
|
@@ -20,10 +20,12 @@ export const Slot = React.forwardRef<HTMLElement, SlotProps>(
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
if (React.Children.count(children) > 1) {
|
|
23
|
-
|
|
23
|
+
const error = new Error(
|
|
24
24
|
"Aksel: Components using 'asChild' expects to recieve a single React element child.",
|
|
25
25
|
);
|
|
26
|
-
|
|
26
|
+
error.name = "SlotError";
|
|
27
|
+
Error.captureStackTrace?.(error, Slot);
|
|
28
|
+
throw error;
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
return null;
|