@navikt/ds-react 3.4.2 → 4.1.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/_docs.json +5912 -3911
- package/cjs/accordion/Accordion.js +22 -2
- package/cjs/alert/Alert.js +9 -0
- package/cjs/button/Button.js +10 -0
- package/cjs/chat/Chat.js +16 -0
- package/cjs/chips/Chips.js +27 -0
- package/cjs/chips/Toggle.js +4 -6
- package/cjs/copybutton/CopyButton.js +11 -0
- package/cjs/date/DateInput.js +1 -1
- package/cjs/date/datepicker/DatePicker.js +22 -0
- package/cjs/date/hooks/index.js +4 -4
- package/cjs/date/hooks/useDatepicker.js +13 -0
- package/cjs/date/hooks/useMonthPicker.js +13 -0
- package/cjs/date/hooks/useRangeDatepicker.js +12 -0
- package/cjs/date/index.js +6 -6
- package/cjs/date/monthpicker/MonthPicker.js +22 -0
- package/cjs/dropdown/Dropdown.js +88 -0
- package/cjs/dropdown/Menu/Divider.js +47 -0
- package/cjs/dropdown/Menu/GroupedList/Heading.js +47 -0
- package/cjs/dropdown/Menu/GroupedList/Item.js +54 -0
- package/cjs/dropdown/Menu/GroupedList/index.js +51 -0
- package/cjs/dropdown/Menu/GroupedList/package.json +6 -0
- package/cjs/dropdown/Menu/List/Item.js +54 -0
- package/cjs/dropdown/Menu/List/index.js +49 -0
- package/cjs/dropdown/Menu/List/package.json +6 -0
- package/cjs/dropdown/Menu/index.js +64 -0
- package/cjs/dropdown/Menu/package.json +6 -0
- package/cjs/dropdown/Toggle.js +66 -0
- package/cjs/dropdown/index.js +23 -0
- package/cjs/dropdown/package.json +6 -0
- package/cjs/expansion-card/ExpansionCard.js +18 -0
- package/cjs/form/ConfirmationPanel.js +18 -0
- package/cjs/form/Select.js +16 -0
- package/cjs/form/Switch.js +11 -0
- package/cjs/form/TextField.js +11 -0
- package/cjs/form/Textarea.js +11 -0
- package/cjs/form/checkbox/CheckboxGroup.js +15 -0
- package/cjs/form/error-summary/ErrorSummary.js +18 -0
- package/cjs/form/radio/RadioGroup.js +10 -0
- package/cjs/form/search/Search.js +13 -0
- package/cjs/guide-panel/GuidePanel.js +15 -0
- package/cjs/help-text/HelpText.js +13 -0
- package/cjs/index.js +4 -0
- package/cjs/internal-header/InternalHeader.js +83 -0
- package/cjs/internal-header/InternalHeaderButton.js +47 -0
- package/cjs/internal-header/InternalHeaderTitle.js +48 -0
- package/cjs/internal-header/InternalHeaderUser.js +51 -0
- package/cjs/internal-header/InternalHeaderUserButton.js +54 -0
- package/cjs/internal-header/index.js +8 -0
- package/cjs/internal-header/package.json +6 -0
- package/cjs/link/Link.js +13 -0
- package/cjs/link-panel/LinkPanel.js +17 -0
- package/cjs/loader/Loader.js +11 -0
- package/cjs/modal/Modal.js +27 -0
- package/cjs/pagination/Pagination.js +17 -0
- package/cjs/panel/Panel.js +19 -0
- package/cjs/popover/Popover.js +20 -0
- package/cjs/provider/Provider.js +13 -0
- package/cjs/read-more/ReadMore.js +17 -0
- package/cjs/skeleton/Skeleton.js +51 -0
- package/cjs/skeleton/index.js +8 -0
- package/cjs/skeleton/package.json +6 -0
- package/cjs/stepper/Step.js +3 -4
- package/cjs/stepper/Stepper.js +24 -0
- package/cjs/table/Table.js +32 -0
- package/cjs/tabs/Tabs.js +27 -1
- package/cjs/tag/Tag.js +11 -0
- package/cjs/timeline/AxisLabels.js +90 -0
- package/cjs/timeline/Pin.js +106 -0
- package/cjs/timeline/Timeline.js +180 -0
- package/cjs/timeline/TimelineRow.js +86 -0
- package/cjs/timeline/hooks/usePeriodContext.js +16 -0
- package/cjs/timeline/hooks/useRowContext.js +18 -0
- package/cjs/timeline/hooks/useTimelineContext.js +23 -0
- package/cjs/timeline/hooks/useTimelineRows.js +79 -0
- package/cjs/timeline/index.js +8 -0
- package/cjs/timeline/package.json +6 -0
- package/cjs/timeline/period/ClickablePeriod.js +120 -0
- package/cjs/timeline/period/NonClickablePeriod.js +18 -0
- package/cjs/timeline/period/index.js +46 -0
- package/cjs/timeline/period/package.json +6 -0
- package/cjs/timeline/utils/calc.js +19 -0
- package/cjs/timeline/utils/filter.js +18 -0
- package/cjs/timeline/utils/index.js +7 -0
- package/cjs/timeline/utils/package.json +6 -0
- package/cjs/timeline/utils/period.js +40 -0
- package/cjs/timeline/utils/sort.js +10 -0
- package/cjs/timeline/utils/timeline.js +79 -0
- package/cjs/timeline/utils/types.external.js +2 -0
- package/cjs/timeline/utils/types.internal.js +2 -0
- package/cjs/timeline/zoom/ZoomButton.js +68 -0
- package/cjs/timeline/zoom/index.js +50 -0
- package/cjs/timeline/zoom/package.json +6 -0
- package/cjs/toggle-group/ToggleGroup.js +17 -2
- package/cjs/tooltip/Tooltip.js +13 -0
- package/cjs/typography/BodyLong.js +14 -0
- package/cjs/typography/BodyShort.js +14 -0
- package/cjs/typography/Detail.js +14 -0
- package/cjs/typography/ErrorMessage.js +14 -0
- package/cjs/typography/Heading.js +14 -0
- package/cjs/typography/Ingress.js +14 -0
- package/cjs/typography/Label.js +14 -0
- package/esm/accordion/Accordion.d.ts +40 -6
- package/esm/accordion/Accordion.js +22 -2
- package/esm/accordion/Accordion.js.map +1 -1
- package/esm/accordion/AccordionContent.d.ts +1 -2
- package/esm/accordion/AccordionContent.js.map +1 -1
- package/esm/accordion/AccordionHeader.d.ts +1 -2
- package/esm/accordion/AccordionHeader.js.map +1 -1
- package/esm/accordion/AccordionItem.d.ts +1 -2
- package/esm/accordion/AccordionItem.js.map +1 -1
- package/esm/alert/Alert.d.ts +9 -0
- package/esm/alert/Alert.js +9 -0
- package/esm/alert/Alert.js.map +1 -1
- package/esm/button/Button.d.ts +10 -0
- package/esm/button/Button.js +10 -0
- package/esm/button/Button.js.map +1 -1
- package/esm/chat/Bubble.d.ts +1 -2
- package/esm/chat/Bubble.js.map +1 -1
- package/esm/chat/Chat.d.ts +21 -2
- package/esm/chat/Chat.js +16 -0
- package/esm/chat/Chat.js.map +1 -1
- package/esm/chips/Chips.d.ts +42 -4
- package/esm/chips/Chips.js +27 -0
- package/esm/chips/Chips.js.map +1 -1
- package/esm/chips/Removable.d.ts +0 -2
- package/esm/chips/Removable.js.map +1 -1
- package/esm/chips/Toggle.d.ts +11 -3
- package/esm/chips/Toggle.js +4 -6
- package/esm/chips/Toggle.js.map +1 -1
- package/esm/copybutton/CopyButton.d.ts +11 -0
- package/esm/copybutton/CopyButton.js +11 -0
- package/esm/copybutton/CopyButton.js.map +1 -1
- package/esm/date/DateInput.d.ts +2 -3
- package/esm/date/DateInput.js +1 -1
- package/esm/date/DateInput.js.map +1 -1
- package/esm/date/datepicker/DatePicker.d.ts +38 -2
- package/esm/date/datepicker/DatePicker.js +22 -0
- package/esm/date/datepicker/DatePicker.js.map +1 -1
- package/esm/date/hooks/index.d.ts +3 -3
- package/esm/date/hooks/index.js +3 -3
- package/esm/date/hooks/index.js.map +1 -1
- package/esm/date/hooks/useDatepicker.d.ts +13 -0
- package/esm/date/hooks/useDatepicker.js +13 -0
- package/esm/date/hooks/useDatepicker.js.map +1 -1
- package/esm/date/hooks/useMonthPicker.d.ts +13 -0
- package/esm/date/hooks/useMonthPicker.js +13 -0
- package/esm/date/hooks/useMonthPicker.js.map +1 -1
- package/esm/date/hooks/useRangeDatepicker.d.ts +12 -0
- package/esm/date/hooks/useRangeDatepicker.js +12 -0
- package/esm/date/hooks/useRangeDatepicker.js.map +1 -1
- package/esm/date/index.d.ts +3 -3
- package/esm/date/index.js +3 -3
- package/esm/date/index.js.map +1 -1
- package/esm/date/monthpicker/MonthPicker.d.ts +34 -4
- package/esm/date/monthpicker/MonthPicker.js +22 -0
- package/esm/date/monthpicker/MonthPicker.js.map +1 -1
- package/esm/dropdown/Dropdown.d.ts +74 -0
- package/esm/dropdown/Dropdown.js +60 -0
- package/esm/dropdown/Dropdown.js.map +1 -0
- package/esm/dropdown/Menu/Divider.d.ts +3 -0
- package/esm/dropdown/Menu/Divider.js +19 -0
- package/esm/dropdown/Menu/Divider.js.map +1 -0
- package/esm/dropdown/Menu/GroupedList/Heading.d.ts +9 -0
- package/esm/dropdown/Menu/GroupedList/Heading.js +19 -0
- package/esm/dropdown/Menu/GroupedList/Heading.js.map +1 -0
- package/esm/dropdown/Menu/GroupedList/Item.d.ts +10 -0
- package/esm/dropdown/Menu/GroupedList/Item.js +26 -0
- package/esm/dropdown/Menu/GroupedList/Item.js.map +1 -0
- package/esm/dropdown/Menu/GroupedList/index.d.ts +23 -0
- package/esm/dropdown/Menu/GroupedList/index.js +23 -0
- package/esm/dropdown/Menu/GroupedList/index.js.map +1 -0
- package/esm/dropdown/Menu/List/Item.d.ts +10 -0
- package/esm/dropdown/Menu/List/Item.js +26 -0
- package/esm/dropdown/Menu/List/Item.js.map +1 -0
- package/esm/dropdown/Menu/List/index.d.ts +18 -0
- package/esm/dropdown/Menu/List/index.js +21 -0
- package/esm/dropdown/Menu/List/index.js.map +1 -0
- package/esm/dropdown/Menu/index.d.ts +35 -0
- package/esm/dropdown/Menu/index.js +36 -0
- package/esm/dropdown/Menu/index.js.map +1 -0
- package/esm/dropdown/Toggle.d.ts +9 -0
- package/esm/dropdown/Toggle.js +38 -0
- package/esm/dropdown/Toggle.js.map +1 -0
- package/esm/dropdown/index.d.ts +2 -0
- package/esm/dropdown/index.js +3 -0
- package/esm/dropdown/index.js.map +1 -0
- package/esm/expansion-card/ExpansionCard.d.ts +40 -8
- package/esm/expansion-card/ExpansionCard.js +18 -0
- package/esm/expansion-card/ExpansionCard.js.map +1 -1
- package/esm/expansion-card/ExpansionCardContent.d.ts +1 -2
- package/esm/expansion-card/ExpansionCardContent.js.map +1 -1
- package/esm/expansion-card/ExpansionCardDescription.d.ts +2 -4
- package/esm/expansion-card/ExpansionCardDescription.js.map +1 -1
- package/esm/expansion-card/ExpansionCardHeader.d.ts +1 -2
- package/esm/expansion-card/ExpansionCardHeader.js.map +1 -1
- package/esm/expansion-card/ExpansionCardTitle.d.ts +2 -4
- package/esm/expansion-card/ExpansionCardTitle.js.map +1 -1
- package/esm/form/ConfirmationPanel.d.ts +18 -0
- package/esm/form/ConfirmationPanel.js +18 -0
- package/esm/form/ConfirmationPanel.js.map +1 -1
- package/esm/form/Select.d.ts +16 -0
- package/esm/form/Select.js +16 -0
- package/esm/form/Select.js.map +1 -1
- package/esm/form/Switch.d.ts +11 -0
- package/esm/form/Switch.js +11 -0
- package/esm/form/Switch.js.map +1 -1
- package/esm/form/TextField.d.ts +11 -0
- package/esm/form/TextField.js +11 -0
- package/esm/form/TextField.js.map +1 -1
- package/esm/form/Textarea.d.ts +11 -0
- package/esm/form/Textarea.js +11 -0
- package/esm/form/Textarea.js.map +1 -1
- package/esm/form/checkbox/CheckboxGroup.d.ts +15 -0
- package/esm/form/checkbox/CheckboxGroup.js +15 -0
- package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
- package/esm/form/error-summary/ErrorSummary.d.ts +18 -0
- package/esm/form/error-summary/ErrorSummary.js +18 -0
- package/esm/form/error-summary/ErrorSummary.js.map +1 -1
- package/esm/form/radio/RadioGroup.d.ts +10 -0
- package/esm/form/radio/RadioGroup.js +10 -0
- package/esm/form/radio/RadioGroup.js.map +1 -1
- package/esm/form/search/Search.d.ts +13 -0
- package/esm/form/search/Search.js +13 -0
- package/esm/form/search/Search.js.map +1 -1
- package/esm/guide-panel/GuidePanel.d.ts +15 -0
- package/esm/guide-panel/GuidePanel.js +15 -0
- package/esm/guide-panel/GuidePanel.js.map +1 -1
- package/esm/help-text/HelpText.d.ts +13 -0
- package/esm/help-text/HelpText.js +13 -0
- package/esm/help-text/HelpText.js.map +1 -1
- package/esm/index.d.ts +4 -0
- package/esm/index.js +4 -0
- package/esm/index.js.map +1 -1
- package/esm/internal-header/InternalHeader.d.ts +60 -0
- package/esm/internal-header/InternalHeader.js +55 -0
- package/esm/internal-header/InternalHeader.js.map +1 -0
- package/esm/internal-header/InternalHeaderButton.d.ts +10 -0
- package/esm/internal-header/InternalHeaderButton.js +19 -0
- package/esm/internal-header/InternalHeaderButton.js.map +1 -0
- package/esm/internal-header/InternalHeaderTitle.d.ts +10 -0
- package/esm/internal-header/InternalHeaderTitle.js +20 -0
- package/esm/internal-header/InternalHeaderTitle.js.map +1 -0
- package/esm/internal-header/InternalHeaderUser.d.ts +13 -0
- package/esm/internal-header/InternalHeaderUser.js +23 -0
- package/esm/internal-header/InternalHeaderUser.js.map +1 -0
- package/esm/internal-header/InternalHeaderUserButton.d.ts +14 -0
- package/esm/internal-header/InternalHeaderUserButton.js +26 -0
- package/esm/internal-header/InternalHeaderUserButton.js.map +1 -0
- package/esm/internal-header/index.d.ts +5 -0
- package/esm/internal-header/index.js +2 -0
- package/esm/internal-header/index.js.map +1 -0
- package/esm/link/Link.d.ts +13 -0
- package/esm/link/Link.js +13 -0
- package/esm/link/Link.js.map +1 -1
- package/esm/link-panel/LinkPanel.d.ts +28 -4
- package/esm/link-panel/LinkPanel.js +17 -0
- package/esm/link-panel/LinkPanel.js.map +1 -1
- package/esm/link-panel/LinkPanelDescription.d.ts +2 -4
- package/esm/link-panel/LinkPanelDescription.js.map +1 -1
- package/esm/link-panel/LinkPanelTitle.d.ts +2 -4
- package/esm/link-panel/LinkPanelTitle.js.map +1 -1
- package/esm/list/List.d.ts +5 -2
- package/esm/list/List.js.map +1 -1
- package/esm/list/ListItem.d.ts +1 -3
- package/esm/list/ListItem.js.map +1 -1
- package/esm/loader/Loader.d.ts +11 -0
- package/esm/loader/Loader.js +11 -0
- package/esm/loader/Loader.js.map +1 -1
- package/esm/modal/Modal.d.ts +27 -0
- package/esm/modal/Modal.js +27 -0
- package/esm/modal/Modal.js.map +1 -1
- package/esm/pagination/Pagination.d.ts +17 -0
- package/esm/pagination/Pagination.js +17 -0
- package/esm/pagination/Pagination.js.map +1 -1
- package/esm/panel/Panel.d.ts +19 -0
- package/esm/panel/Panel.js +19 -0
- package/esm/panel/Panel.js.map +1 -1
- package/esm/popover/Popover.d.ts +20 -0
- package/esm/popover/Popover.js +20 -0
- package/esm/popover/Popover.js.map +1 -1
- package/esm/provider/Provider.d.ts +13 -0
- package/esm/provider/Provider.js +13 -0
- package/esm/provider/Provider.js.map +1 -1
- package/esm/read-more/ReadMore.d.ts +17 -0
- package/esm/read-more/ReadMore.js +17 -0
- package/esm/read-more/ReadMore.js.map +1 -1
- package/esm/skeleton/Skeleton.d.ts +18 -0
- package/esm/skeleton/Skeleton.js +23 -0
- package/esm/skeleton/Skeleton.js.map +1 -0
- package/esm/skeleton/index.d.ts +2 -0
- package/esm/skeleton/index.js +2 -0
- package/esm/skeleton/index.js.map +1 -0
- package/esm/stepper/Step.d.ts +1 -4
- package/esm/stepper/Step.js +1 -2
- package/esm/stepper/Step.js.map +1 -1
- package/esm/stepper/Stepper.d.ts +31 -2
- package/esm/stepper/Stepper.js +24 -0
- package/esm/stepper/Stepper.js.map +1 -1
- package/esm/table/Table.d.ts +32 -0
- package/esm/table/Table.js +32 -0
- package/esm/table/Table.js.map +1 -1
- package/esm/tabs/Tab.d.ts +1 -2
- package/esm/tabs/Tab.js.map +1 -1
- package/esm/tabs/TabList.d.ts +1 -2
- package/esm/tabs/TabList.js.map +1 -1
- package/esm/tabs/TabPanel.d.ts +1 -2
- package/esm/tabs/TabPanel.js.map +1 -1
- package/esm/tabs/Tabs.d.ts +43 -6
- package/esm/tabs/Tabs.js +27 -1
- package/esm/tabs/Tabs.js.map +1 -1
- package/esm/tag/Tag.d.ts +11 -0
- package/esm/tag/Tag.js +11 -0
- package/esm/tag/Tag.js.map +1 -1
- package/esm/timeline/AxisLabels.d.ts +6 -0
- package/esm/timeline/AxisLabels.js +81 -0
- package/esm/timeline/AxisLabels.js.map +1 -0
- package/esm/timeline/Pin.d.ts +17 -0
- package/esm/timeline/Pin.js +81 -0
- package/esm/timeline/Pin.js.map +1 -0
- package/esm/timeline/Timeline.d.ts +63 -0
- package/esm/timeline/Timeline.js +152 -0
- package/esm/timeline/Timeline.js.map +1 -0
- package/esm/timeline/TimelineRow.d.ts +22 -0
- package/esm/timeline/TimelineRow.js +58 -0
- package/esm/timeline/TimelineRow.js.map +1 -0
- package/esm/timeline/hooks/usePeriodContext.d.ts +9 -0
- package/esm/timeline/hooks/usePeriodContext.js +13 -0
- package/esm/timeline/hooks/usePeriodContext.js.map +1 -0
- package/esm/timeline/hooks/useRowContext.d.ts +11 -0
- package/esm/timeline/hooks/useRowContext.js +15 -0
- package/esm/timeline/hooks/useRowContext.js.map +1 -0
- package/esm/timeline/hooks/useTimelineContext.d.ts +15 -0
- package/esm/timeline/hooks/useTimelineContext.js +20 -0
- package/esm/timeline/hooks/useTimelineContext.js.map +1 -0
- package/esm/timeline/hooks/useTimelineRows.d.ts +4 -0
- package/esm/timeline/hooks/useTimelineRows.js +74 -0
- package/esm/timeline/hooks/useTimelineRows.js.map +1 -0
- package/esm/timeline/index.d.ts +6 -0
- package/esm/timeline/index.js +2 -0
- package/esm/timeline/index.js.map +1 -0
- package/esm/timeline/period/ClickablePeriod.d.ts +9 -0
- package/esm/timeline/period/ClickablePeriod.js +93 -0
- package/esm/timeline/period/ClickablePeriod.js.map +1 -0
- package/esm/timeline/period/NonClickablePeriod.d.ts +7 -0
- package/esm/timeline/period/NonClickablePeriod.js +14 -0
- package/esm/timeline/period/NonClickablePeriod.js.map +1 -0
- package/esm/timeline/period/index.d.ts +57 -0
- package/esm/timeline/period/index.js +18 -0
- package/esm/timeline/period/index.js.map +1 -0
- package/esm/timeline/utils/calc.d.ts +5 -0
- package/esm/timeline/utils/calc.js +15 -0
- package/esm/timeline/utils/calc.js.map +1 -0
- package/esm/timeline/utils/filter.d.ts +10 -0
- package/esm/timeline/utils/filter.js +11 -0
- package/esm/timeline/utils/filter.js.map +1 -0
- package/esm/timeline/utils/index.d.ts +1 -0
- package/esm/timeline/utils/index.js +2 -0
- package/esm/timeline/utils/index.js.map +1 -0
- package/esm/timeline/utils/period.d.ts +2 -0
- package/esm/timeline/utils/period.js +33 -0
- package/esm/timeline/utils/period.js.map +1 -0
- package/esm/timeline/utils/sort.d.ts +4 -0
- package/esm/timeline/utils/sort.js +5 -0
- package/esm/timeline/utils/sort.js.map +1 -0
- package/esm/timeline/utils/timeline.d.ts +12 -0
- package/esm/timeline/utils/timeline.js +73 -0
- package/esm/timeline/utils/timeline.js.map +1 -0
- package/esm/timeline/utils/types.external.d.ts +53 -0
- package/esm/timeline/utils/types.external.js +2 -0
- package/esm/timeline/utils/types.external.js.map +1 -0
- package/esm/timeline/utils/types.internal.d.ts +61 -0
- package/esm/timeline/utils/types.internal.js +2 -0
- package/esm/timeline/utils/types.internal.js.map +1 -0
- package/esm/timeline/zoom/ZoomButton.d.ts +19 -0
- package/esm/timeline/zoom/ZoomButton.js +43 -0
- package/esm/timeline/zoom/ZoomButton.js.map +1 -0
- package/esm/timeline/zoom/index.d.ts +11 -0
- package/esm/timeline/zoom/index.js +22 -0
- package/esm/timeline/zoom/index.js.map +1 -0
- package/esm/toggle-group/ToggleGroup.d.ts +20 -2
- package/esm/toggle-group/ToggleGroup.js +17 -2
- package/esm/toggle-group/ToggleGroup.js.map +1 -1
- package/esm/toggle-group/ToggleItem.d.ts +1 -2
- package/esm/toggle-group/ToggleItem.js.map +1 -1
- package/esm/tooltip/Tooltip.d.ts +13 -0
- package/esm/tooltip/Tooltip.js +13 -0
- package/esm/tooltip/Tooltip.js.map +1 -1
- package/esm/typography/BodyLong.d.ts +14 -0
- package/esm/typography/BodyLong.js +14 -0
- package/esm/typography/BodyLong.js.map +1 -1
- package/esm/typography/BodyShort.d.ts +14 -0
- package/esm/typography/BodyShort.js +14 -0
- package/esm/typography/BodyShort.js.map +1 -1
- package/esm/typography/Detail.d.ts +14 -0
- package/esm/typography/Detail.js +14 -0
- package/esm/typography/Detail.js.map +1 -1
- package/esm/typography/ErrorMessage.d.ts +14 -0
- package/esm/typography/ErrorMessage.js +14 -0
- package/esm/typography/ErrorMessage.js.map +1 -1
- package/esm/typography/Heading.d.ts +14 -0
- package/esm/typography/Heading.js +14 -0
- package/esm/typography/Heading.js.map +1 -1
- package/esm/typography/Ingress.d.ts +14 -0
- package/esm/typography/Ingress.js +14 -0
- package/esm/typography/Ingress.js.map +1 -1
- package/esm/typography/Label.d.ts +14 -0
- package/esm/typography/Label.js +14 -0
- package/esm/typography/Label.js.map +1 -1
- package/package.json +2 -2
- package/src/accordion/Accordion.tsx +49 -7
- package/src/accordion/AccordionContent.tsx +1 -5
- package/src/accordion/AccordionHeader.tsx +1 -5
- package/src/accordion/AccordionItem.tsx +1 -5
- package/src/accordion/accordion.stories.tsx +4 -2
- package/src/alert/Alert.tsx +9 -0
- package/src/button/Button.tsx +10 -0
- package/src/chat/Bubble.tsx +1 -5
- package/src/chat/Chat.tsx +23 -2
- package/src/chips/Chips.tsx +42 -4
- package/src/chips/Removable.tsx +1 -4
- package/src/chips/Toggle.tsx +47 -11
- package/src/chips/chips.stories.tsx +73 -20
- package/src/copybutton/CopyButton.tsx +11 -0
- package/src/date/DateInput.tsx +105 -115
- package/src/date/datepicker/DatePicker.tsx +40 -2
- package/src/date/datepicker/datepicker.stories.tsx +19 -21
- package/src/date/datepicker/datepicker.test.tsx +5 -5
- package/src/date/hooks/index.ts +3 -3
- package/src/date/hooks/useDatepicker.tsx +13 -0
- package/src/date/hooks/useMonthPicker.tsx +13 -0
- package/src/date/hooks/useRangeDatepicker.test.tsx +6 -6
- package/src/date/hooks/useRangeDatepicker.tsx +13 -1
- package/src/date/index.ts +5 -5
- package/src/date/monthpicker/MonthPicker.tsx +36 -4
- package/src/date/monthpicker/monthpicker.stories.tsx +5 -5
- package/src/date/utils/__tests__/get-dates.test.ts +0 -1
- package/src/dropdown/Dropdown.tsx +119 -0
- package/src/dropdown/Menu/Divider.tsx +15 -0
- package/src/dropdown/Menu/GroupedList/Heading.tsx +28 -0
- package/src/dropdown/Menu/GroupedList/Item.tsx +41 -0
- package/src/dropdown/Menu/GroupedList/index.tsx +43 -0
- package/src/dropdown/Menu/List/Item.tsx +38 -0
- package/src/dropdown/Menu/List/index.tsx +32 -0
- package/src/dropdown/Menu/index.tsx +96 -0
- package/src/dropdown/Toggle.tsx +48 -0
- package/src/dropdown/dropdown.stories.tsx +91 -0
- package/src/dropdown/index.ts +2 -0
- package/src/expansion-card/ExpansionCard.tsx +46 -8
- package/src/expansion-card/ExpansionCardContent.tsx +25 -28
- package/src/expansion-card/ExpansionCardDescription.tsx +22 -24
- package/src/expansion-card/ExpansionCardHeader.tsx +31 -34
- package/src/expansion-card/ExpansionCardTitle.tsx +3 -5
- package/src/form/ConfirmationPanel.tsx +18 -0
- package/src/form/Select.tsx +16 -0
- package/src/form/Switch.tsx +11 -0
- package/src/form/TextField.tsx +11 -0
- package/src/form/Textarea.tsx +11 -0
- package/src/form/checkbox/CheckboxGroup.tsx +15 -0
- package/src/form/error-summary/ErrorSummary.tsx +18 -0
- package/src/form/radio/RadioGroup.tsx +10 -0
- package/src/form/search/Search.tsx +13 -0
- package/src/guide-panel/GuidePanel.tsx +15 -0
- package/src/help-text/HelpText.tsx +13 -0
- package/src/index.ts +4 -0
- package/src/internal-header/InternalHeader.tsx +93 -0
- package/src/internal-header/InternalHeaderButton.tsx +23 -0
- package/src/internal-header/InternalHeaderTitle.tsx +27 -0
- package/src/internal-header/InternalHeaderUser.tsx +35 -0
- package/src/internal-header/InternalHeaderUserButton.tsx +40 -0
- package/src/internal-header/header.stories.tsx +225 -0
- package/src/internal-header/index.ts +8 -0
- package/src/link/Link.tsx +13 -0
- package/src/link-panel/LinkPanel.tsx +30 -4
- package/src/link-panel/LinkPanelDescription.tsx +12 -15
- package/src/link-panel/LinkPanelTitle.tsx +15 -18
- package/src/list/List.tsx +7 -2
- package/src/list/ListItem.tsx +1 -6
- package/src/loader/Loader.tsx +11 -0
- package/src/modal/Modal.tsx +27 -0
- package/src/pagination/Pagination.tsx +17 -0
- package/src/panel/Panel.tsx +19 -0
- package/src/popover/Popover.tsx +20 -0
- package/src/provider/Provider.tsx +13 -0
- package/src/read-more/ReadMore.tsx +17 -0
- package/src/skeleton/Skeleton.tsx +48 -0
- package/src/skeleton/index.ts +2 -0
- package/src/skeleton/skeleton.stories.tsx +118 -0
- package/src/stepper/Step.tsx +57 -60
- package/src/stepper/Stepper.tsx +31 -2
- package/src/table/Table.tsx +32 -0
- package/src/tabs/Tab.tsx +38 -39
- package/src/tabs/TabList.tsx +1 -5
- package/src/tabs/TabPanel.tsx +1 -5
- package/src/tabs/Tabs.tsx +48 -7
- package/src/tag/Tag.tsx +11 -0
- package/src/timeline/AxisLabels.tsx +143 -0
- package/src/timeline/Pin.tsx +169 -0
- package/src/timeline/Timeline.tsx +237 -0
- package/src/timeline/TimelineRow.tsx +122 -0
- package/src/timeline/hooks/usePeriodContext.tsx +22 -0
- package/src/timeline/hooks/useRowContext.tsx +26 -0
- package/src/timeline/hooks/useTimelineContext.tsx +37 -0
- package/src/timeline/hooks/useTimelineRows.ts +161 -0
- package/src/timeline/index.ts +6 -0
- package/src/timeline/period/ClickablePeriod.tsx +193 -0
- package/src/timeline/period/NonClickablePeriod.tsx +46 -0
- package/src/timeline/period/index.tsx +130 -0
- package/src/timeline/timeline.stories.tsx +444 -0
- package/src/timeline/utils/calc.ts +26 -0
- package/src/timeline/utils/filter.ts +32 -0
- package/src/timeline/utils/index.ts +6 -0
- package/src/timeline/utils/period.ts +48 -0
- package/src/timeline/utils/sort.ts +11 -0
- package/src/timeline/utils/timeline.ts +83 -0
- package/src/timeline/utils/types.external.ts +67 -0
- package/src/timeline/utils/types.internal.ts +76 -0
- package/src/timeline/zoom/ZoomButton.tsx +83 -0
- package/src/timeline/zoom/index.tsx +30 -0
- package/src/toggle-group/ToggleGroup.tsx +23 -3
- package/src/toggle-group/ToggleItem.tsx +1 -5
- package/src/tooltip/Tooltip.tsx +13 -0
- package/src/typography/BodyLong.tsx +14 -0
- package/src/typography/BodyShort.tsx +14 -0
- package/src/typography/Detail.tsx +14 -0
- package/src/typography/ErrorMessage.tsx +14 -0
- package/src/typography/Heading.tsx +14 -0
- package/src/typography/Ingress.tsx +14 -0
- package/src/typography/Label.tsx +14 -0
package/cjs/stepper/Stepper.js
CHANGED
|
@@ -42,6 +42,30 @@ const react_1 = __importStar(require("react"));
|
|
|
42
42
|
const clsx_1 = __importDefault(require("clsx"));
|
|
43
43
|
const Step_1 = __importDefault(require("./Step"));
|
|
44
44
|
exports.StepperContext = (0, react_1.createContext)(null);
|
|
45
|
+
/**
|
|
46
|
+
* A component that displays a stepper with clickable steps.
|
|
47
|
+
*
|
|
48
|
+
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/stepper)
|
|
49
|
+
* @see 🏷️ {@link StepperProps}
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```jsx
|
|
53
|
+
* <>
|
|
54
|
+
* <Heading size="medium" spacing level="2" id="stepper-heading">
|
|
55
|
+
* Søknadssteg
|
|
56
|
+
* </Heading>
|
|
57
|
+
* <Stepper
|
|
58
|
+
* aria-labelledby="stepper-heading"
|
|
59
|
+
* activeStep={activeStep}
|
|
60
|
+
* onStepChange={(x) => setActiveStep(x)}
|
|
61
|
+
* >
|
|
62
|
+
* <Stepper.Step href="#">Start søknad</Stepper.Step>
|
|
63
|
+
* <Stepper.Step href="#">Saksopplysninger</Stepper.Step>
|
|
64
|
+
* <Stepper.Step href="#">Vedlegg</Stepper.Step>
|
|
65
|
+
* </Stepper>
|
|
66
|
+
* </>
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
45
69
|
exports.Stepper = (0, react_1.forwardRef)((_a, ref) => {
|
|
46
70
|
var { children, className, activeStep, orientation = "vertical", onStepChange = () => { }, interactive = true } = _a, rest = __rest(_a, ["children", "className", "activeStep", "orientation", "onStepChange", "interactive"]);
|
|
47
71
|
activeStep = activeStep - 1;
|
package/cjs/table/Table.js
CHANGED
|
@@ -48,6 +48,38 @@ const HeaderCell_1 = __importDefault(require("./HeaderCell"));
|
|
|
48
48
|
const DataCell_1 = __importDefault(require("./DataCell"));
|
|
49
49
|
const ExpandableRow_1 = __importDefault(require("./ExpandableRow"));
|
|
50
50
|
exports.TableContext = (0, react_1.createContext)(null);
|
|
51
|
+
/**
|
|
52
|
+
* A component that displays a table with headers and rows.
|
|
53
|
+
*
|
|
54
|
+
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/table)
|
|
55
|
+
* @see 🏷️ {@link TableProps}
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```jsx
|
|
59
|
+
* <Table>
|
|
60
|
+
* <Table.Header>
|
|
61
|
+
* <Table.Row>
|
|
62
|
+
* <Table.HeaderCell scope="col">Navn</Table.HeaderCell>
|
|
63
|
+
* <Table.HeaderCell scope="col">Fødseslnr.</Table.HeaderCell>
|
|
64
|
+
* <Table.HeaderCell scope="col">Start</Table.HeaderCell>
|
|
65
|
+
* </Table.Row>
|
|
66
|
+
* </Table.Header>
|
|
67
|
+
* <Table.Body>
|
|
68
|
+
* {data.map(({ name, fnr, start }, i) => {
|
|
69
|
+
* return (
|
|
70
|
+
* <Table.Row key={i + fnr}>
|
|
71
|
+
* <Table.HeaderCell scope="row">{name}</Table.HeaderCell>
|
|
72
|
+
* <Table.DataCell>{fnr}</Table.DataCell>
|
|
73
|
+
* <Table.DataCell>
|
|
74
|
+
* {format(new Date(start), "dd.MM.yyyy")}
|
|
75
|
+
* </Table.DataCell>
|
|
76
|
+
* </Table.Row>
|
|
77
|
+
* );
|
|
78
|
+
* })}
|
|
79
|
+
* </Table.Body>
|
|
80
|
+
* </Table>
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
51
83
|
exports.Table = (0, react_1.forwardRef)((_a, ref) => {
|
|
52
84
|
var { className, zebraStripes = false, size = "medium", onSortChange, sort } = _a, rest = __rest(_a, ["className", "zebraStripes", "size", "onSortChange", "sort"]);
|
|
53
85
|
return (react_1.default.createElement(exports.TableContext.Provider, { value: { size, onSortChange, sort } },
|
package/cjs/tabs/Tabs.js
CHANGED
|
@@ -38,13 +38,39 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
40
|
exports.Tabs = exports.TabsContext = void 0;
|
|
41
|
+
const RadixTabs = __importStar(require("@radix-ui/react-tabs"));
|
|
41
42
|
const clsx_1 = __importDefault(require("clsx"));
|
|
42
43
|
const react_1 = __importStar(require("react"));
|
|
43
|
-
const RadixTabs = __importStar(require("@radix-ui/react-tabs"));
|
|
44
44
|
const Tab_1 = __importDefault(require("./Tab"));
|
|
45
45
|
const TabList_1 = __importDefault(require("./TabList"));
|
|
46
46
|
const TabPanel_1 = __importDefault(require("./TabPanel"));
|
|
47
47
|
exports.TabsContext = (0, react_1.createContext)(null);
|
|
48
|
+
/**
|
|
49
|
+
* A component that displays a set of tabs that can be used to switch between different views.
|
|
50
|
+
*
|
|
51
|
+
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/tabs)
|
|
52
|
+
* @see 🏷️ {@link TabsProps}
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```jsx
|
|
56
|
+
* <Tabs defaultValue="logg">
|
|
57
|
+
* <Tabs.List>
|
|
58
|
+
* <Tabs.Tab value="logg" label="Logg" />
|
|
59
|
+
* <Tabs.Tab value="inbox" label="Inbox" />
|
|
60
|
+
* <Tabs.Tab value="sendt" label="Sendt" />
|
|
61
|
+
* </Tabs.List>
|
|
62
|
+
* <Tabs.Panel value="logg" className="h-24 w-full bg-gray-50 p-4">
|
|
63
|
+
* Logg-tab
|
|
64
|
+
* </Tabs.Panel>
|
|
65
|
+
* <Tabs.Panel value="inbox" className="h-24 w-full bg-gray-50 p-4">
|
|
66
|
+
* Inbox-tab
|
|
67
|
+
* </Tabs.Panel>
|
|
68
|
+
* <Tabs.Panel value="sendt" className="h-24 w-full bg-gray-50 p-4">
|
|
69
|
+
* Sendt-tab
|
|
70
|
+
* </Tabs.Panel>
|
|
71
|
+
* </Tabs>
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
48
74
|
exports.Tabs = (0, react_1.forwardRef)((_a, ref) => {
|
|
49
75
|
var { className, children, onChange, size = "medium", selectionFollowsFocus = false, loop = false, iconPosition = "left" } = _a, rest = __rest(_a, ["className", "children", "onChange", "size", "selectionFollowsFocus", "loop", "iconPosition"]);
|
|
50
76
|
return (react_1.default.createElement(RadixTabs.Root, Object.assign({}, rest, { ref: ref, className: (0, clsx_1.default)("navds-tabs", className, `navds-tabs--${size}`), activationMode: selectionFollowsFocus ? "automatic" : "manual", onValueChange: onChange }),
|
package/cjs/tag/Tag.js
CHANGED
|
@@ -41,6 +41,17 @@ exports.Tag = void 0;
|
|
|
41
41
|
const react_1 = __importStar(require("react"));
|
|
42
42
|
const clsx_1 = __importDefault(require("clsx"));
|
|
43
43
|
const __1 = require("..");
|
|
44
|
+
/**
|
|
45
|
+
* A component that displays a small label with a text and a background color.
|
|
46
|
+
*
|
|
47
|
+
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/tag)
|
|
48
|
+
* @see 🏷️ {@link TagProps}
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```jsx
|
|
52
|
+
* <Tag variant="success">Success</Tag>
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
44
55
|
exports.Tag = (0, react_1.forwardRef)((_a, ref) => {
|
|
45
56
|
var { className, variant, size = "medium" } = _a, rest = __rest(_a, ["className", "variant", "size"]);
|
|
46
57
|
return (react_1.default.createElement(__1.BodyShort, Object.assign({}, rest, { ref: ref, as: "span", size: size === "medium" ? "medium" : "small", className: (0, clsx_1.default)("navds-tag", className, `navds-tag--${variant}`, `navds-tag--${size}`) })));
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AxisLabels = exports.yearLabels = exports.monthLabels = exports.dayLabels = void 0;
|
|
7
|
+
const Detail_1 = require("../typography/Detail");
|
|
8
|
+
const date_fns_1 = require("date-fns");
|
|
9
|
+
const nb_1 = __importDefault(require("date-fns/locale/nb"));
|
|
10
|
+
const react_1 = __importDefault(require("react"));
|
|
11
|
+
const useTimelineContext_1 = require("./hooks/useTimelineContext");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
13
|
+
const calc_1 = require("./utils/calc");
|
|
14
|
+
const dayLabels = (start, end, totalDays, direction) => {
|
|
15
|
+
const increment = Math.ceil(totalDays / 10);
|
|
16
|
+
const lastDay = (0, date_fns_1.startOfDay)(end);
|
|
17
|
+
return new Array(totalDays)
|
|
18
|
+
.fill(lastDay)
|
|
19
|
+
.map((thisDay, i) => {
|
|
20
|
+
if (i % increment !== 0)
|
|
21
|
+
return null;
|
|
22
|
+
const day = (0, date_fns_1.subDays)(thisDay, i);
|
|
23
|
+
const { horizontalPosition, width } = (0, calc_1.horizontalPositionAndWidth)(day, (0, date_fns_1.addDays)(day, 1), start, end);
|
|
24
|
+
return {
|
|
25
|
+
direction: direction,
|
|
26
|
+
horizontalPosition: horizontalPosition,
|
|
27
|
+
label: (0, date_fns_1.format)(day, "dd.MM", { locale: nb_1.default }),
|
|
28
|
+
date: day,
|
|
29
|
+
width: width,
|
|
30
|
+
};
|
|
31
|
+
})
|
|
32
|
+
.filter((label) => label !== null);
|
|
33
|
+
};
|
|
34
|
+
exports.dayLabels = dayLabels;
|
|
35
|
+
const monthLabels = (start, end, direction) => {
|
|
36
|
+
const startMonth = (0, date_fns_1.startOfMonth)(start);
|
|
37
|
+
const endMonth = (0, date_fns_1.endOfMonth)(end);
|
|
38
|
+
const numberOfMonths = (0, date_fns_1.differenceInMonths)(endMonth, startMonth) + 1;
|
|
39
|
+
return new Array(numberOfMonths).fill(startMonth).map((thisMonth, i) => {
|
|
40
|
+
const month = (0, date_fns_1.addMonths)(thisMonth, i);
|
|
41
|
+
const { horizontalPosition, width } = (0, calc_1.horizontalPositionAndWidth)(month, (0, date_fns_1.addMonths)(month, 1), start, end);
|
|
42
|
+
return {
|
|
43
|
+
direction: direction,
|
|
44
|
+
horizontalPosition: horizontalPosition,
|
|
45
|
+
label: (0, date_fns_1.format)(month, "MMM yy", { locale: nb_1.default }),
|
|
46
|
+
date: month,
|
|
47
|
+
width: width,
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
exports.monthLabels = monthLabels;
|
|
52
|
+
const yearLabels = (start, end, direction) => {
|
|
53
|
+
const firstYear = (0, date_fns_1.startOfYear)(start);
|
|
54
|
+
const lastYear = (0, date_fns_1.endOfYear)(end);
|
|
55
|
+
const yearCount = (0, date_fns_1.differenceInYears)(lastYear, start) + 1;
|
|
56
|
+
return new Array(yearCount).fill(firstYear).map((thisYear, i) => {
|
|
57
|
+
const year = (0, date_fns_1.addYears)(thisYear, i);
|
|
58
|
+
const { horizontalPosition, width } = (0, calc_1.horizontalPositionAndWidth)(year, (0, date_fns_1.addYears)(year, 1), start, end);
|
|
59
|
+
return {
|
|
60
|
+
direction: direction,
|
|
61
|
+
horizontalPosition: horizontalPosition,
|
|
62
|
+
label: year.getFullYear().toString(),
|
|
63
|
+
date: year,
|
|
64
|
+
width: width,
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
exports.yearLabels = yearLabels;
|
|
69
|
+
const axisLabels = (start, end, direction) => {
|
|
70
|
+
const totalDays = (0, date_fns_1.differenceInDays)(end, start);
|
|
71
|
+
if (totalDays < 40) {
|
|
72
|
+
return (0, exports.dayLabels)(start, end, totalDays, direction);
|
|
73
|
+
}
|
|
74
|
+
else if (totalDays < 370) {
|
|
75
|
+
return (0, exports.monthLabels)(start, end, direction);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
return (0, exports.yearLabels)(start, end, direction);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const AxisLabels = () => {
|
|
82
|
+
const { endDate, startDate, direction } = (0, useTimelineContext_1.useTimelineContext)();
|
|
83
|
+
const labels = axisLabels(startDate, endDate, direction).filter(utils_1.isVisible);
|
|
84
|
+
return (react_1.default.createElement("div", { className: "navds-timeline__axislabels", "aria-hidden": "true" }, labels.map((etikett) => (react_1.default.createElement(Detail_1.Detail, { className: "navds-timeline__axislabels-label", as: "div", key: etikett.label, style: {
|
|
85
|
+
justifyContent: direction === "left" ? "flex-start" : "flex-end",
|
|
86
|
+
[direction]: `${etikett.horizontalPosition}%`,
|
|
87
|
+
width: `${etikett.width}%`,
|
|
88
|
+
} }, etikett.label)))));
|
|
89
|
+
};
|
|
90
|
+
exports.AxisLabels = AxisLabels;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
+
t[p] = s[p];
|
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
+
t[p[i]] = s[p[i]];
|
|
33
|
+
}
|
|
34
|
+
return t;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.Pin = void 0;
|
|
38
|
+
const react_1 = require("@floating-ui/react");
|
|
39
|
+
const util_1 = require("../util");
|
|
40
|
+
const date_fns_1 = require("date-fns");
|
|
41
|
+
const react_2 = __importStar(require("react"));
|
|
42
|
+
const useTimelineContext_1 = require("./hooks/useTimelineContext");
|
|
43
|
+
const calc_1 = require("./utils/calc");
|
|
44
|
+
exports.Pin = (0, react_2.forwardRef)((_a, ref) => {
|
|
45
|
+
var { date, children } = _a, rest = __rest(_a, ["date", "children"]);
|
|
46
|
+
const { startDate, endDate, direction } = (0, useTimelineContext_1.useTimelineContext)();
|
|
47
|
+
const [open, setOpen] = (0, react_2.useState)(false);
|
|
48
|
+
const arrowRef = (0, react_2.useRef)(null);
|
|
49
|
+
const { context, placement, middlewareData: { arrow: { x: arrowX, y: arrowY } = {} }, refs, floatingStyles, } = (0, react_1.useFloating)({
|
|
50
|
+
placement: "top",
|
|
51
|
+
open: open,
|
|
52
|
+
onOpenChange: setOpen,
|
|
53
|
+
middleware: [
|
|
54
|
+
(0, react_1.offset)(16),
|
|
55
|
+
(0, react_1.shift)(),
|
|
56
|
+
(0, react_1.flip)({ padding: 5, fallbackPlacements: ["bottom", "top"] }),
|
|
57
|
+
(0, react_1.arrow)({ element: arrowRef, padding: 5 }),
|
|
58
|
+
],
|
|
59
|
+
whileElementsMounted: react_1.autoUpdate,
|
|
60
|
+
});
|
|
61
|
+
const { getFloatingProps, getReferenceProps } = (0, react_1.useInteractions)([
|
|
62
|
+
(0, react_1.useHover)(context, {
|
|
63
|
+
handleClose: (0, react_1.safePolygon)(),
|
|
64
|
+
restMs: 25,
|
|
65
|
+
delay: { open: 1000 },
|
|
66
|
+
}),
|
|
67
|
+
(0, react_1.useFocus)(context),
|
|
68
|
+
(0, react_1.useDismiss)(context),
|
|
69
|
+
]);
|
|
70
|
+
const mergedRef = (0, react_2.useMemo)(() => (0, util_1.mergeRefs)([refs.setReference, ref]), [ref, refs.setReference]);
|
|
71
|
+
(0, util_1.useEventListener)("focusin", (0, react_2.useCallback)((e) => {
|
|
72
|
+
var _a;
|
|
73
|
+
if (![refs.domReference.current, (_a = refs === null || refs === void 0 ? void 0 : refs.floating) === null || _a === void 0 ? void 0 : _a.current].some((element) => element === null || element === void 0 ? void 0 : element.contains(e.target))) {
|
|
74
|
+
open && setOpen(false);
|
|
75
|
+
}
|
|
76
|
+
}, [open, refs.domReference, refs === null || refs === void 0 ? void 0 : refs.floating]));
|
|
77
|
+
const staticSide = {
|
|
78
|
+
top: "bottom",
|
|
79
|
+
right: "left",
|
|
80
|
+
bottom: "top",
|
|
81
|
+
left: "right",
|
|
82
|
+
}[placement.split("-")[0]];
|
|
83
|
+
return (react_2.default.createElement(react_2.default.Fragment, null,
|
|
84
|
+
react_2.default.createElement("div", { className: "navds-timeline__pin-wrapper", style: { [direction]: `${(0, calc_1.position)(date, startDate, endDate)}%` } },
|
|
85
|
+
react_2.default.createElement("button", Object.assign({}, rest, { ref: mergedRef, className: "navds-timeline__pin-button", "aria-label": `pin:${(0, date_fns_1.format)(date, "dd.MM.yyyy")}`, type: "button", "aria-expanded": children ? open : undefined }, getReferenceProps({
|
|
86
|
+
onKeyDown: (e) => {
|
|
87
|
+
var _a;
|
|
88
|
+
(_a = rest === null || rest === void 0 ? void 0 : rest.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(rest, e);
|
|
89
|
+
if (e.key === "Enter") {
|
|
90
|
+
setOpen((prev) => !prev);
|
|
91
|
+
}
|
|
92
|
+
else if (e.key === " ") {
|
|
93
|
+
setOpen(false);
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
})))),
|
|
97
|
+
children && (react_2.default.createElement("div", Object.assign({ className: "navds-timeline__popover", "data-placement": placement, "aria-hidden": !open, ref: refs.setFloating }, getFloatingProps({
|
|
98
|
+
tabIndex: -1,
|
|
99
|
+
}), { style: Object.assign(Object.assign({}, floatingStyles), { display: open ? undefined : "none" }) }),
|
|
100
|
+
react_2.default.createElement("div", { className: "navds-timeline__popover-content" }, children),
|
|
101
|
+
react_2.default.createElement("div", { ref: (node) => {
|
|
102
|
+
arrowRef.current = node;
|
|
103
|
+
}, style: Object.assign(Object.assign(Object.assign({}, (arrowX != null ? { left: arrowX } : {})), (arrowY != null ? { top: arrowY } : {})), (staticSide ? { [staticSide]: "-0.5rem" } : {})), className: "navds-timeline__popover-arrow" })))));
|
|
104
|
+
});
|
|
105
|
+
exports.Pin.componentType = "pin";
|
|
106
|
+
exports.default = exports.Pin;
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
+
t[p] = s[p];
|
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
+
t[p[i]] = s[p[i]];
|
|
33
|
+
}
|
|
34
|
+
return t;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.Timeline = void 0;
|
|
41
|
+
const date_fns_1 = require("date-fns");
|
|
42
|
+
const react_1 = __importStar(require("react"));
|
|
43
|
+
const AxisLabels_1 = require("./AxisLabels");
|
|
44
|
+
const useRowContext_1 = require("./hooks/useRowContext");
|
|
45
|
+
const useTimelineContext_1 = require("./hooks/useTimelineContext");
|
|
46
|
+
const useTimelineRows_1 = require("./hooks/useTimelineRows");
|
|
47
|
+
const period_1 = __importDefault(require("./period"));
|
|
48
|
+
const Pin_1 = __importDefault(require("./Pin"));
|
|
49
|
+
const TimelineRow_1 = __importDefault(require("./TimelineRow"));
|
|
50
|
+
const timeline_1 = require("./utils/timeline");
|
|
51
|
+
const zoom_1 = __importDefault(require("./zoom"));
|
|
52
|
+
/**
|
|
53
|
+
* A component that displays a timeline of events. Meant for Internal systems.
|
|
54
|
+
* @note Component is made for desktop enviroments and will start having issues on smaller screens.
|
|
55
|
+
*
|
|
56
|
+
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/timeline)
|
|
57
|
+
* @see 🏷️ {@link TimelineProps}
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```jsx
|
|
61
|
+
* <Timeline>
|
|
62
|
+
* <Timeline.Row>
|
|
63
|
+
* <Timeline.Period start={new Date("2020-01-01")} end={new Date("2020-01-31")}>
|
|
64
|
+
* <p>Period 1</p>
|
|
65
|
+
* </Timeline.Period>
|
|
66
|
+
* <Timeline.Row>
|
|
67
|
+
* </Timeline>
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
exports.Timeline = (0, react_1.forwardRef)((_a, ref) => {
|
|
71
|
+
var { children, startDate, endDate, direction = "left" } = _a, rest = __rest(_a, ["children", "startDate", "endDate", "direction"]);
|
|
72
|
+
const isMultipleRows = Array.isArray(children);
|
|
73
|
+
const firstFocusabled = (0, react_1.useRef)([]);
|
|
74
|
+
if (!isMultipleRows) {
|
|
75
|
+
children = [children];
|
|
76
|
+
}
|
|
77
|
+
const rowChildren = react_1.default.Children.toArray(children).filter((c) => { var _a; return ((_a = c === null || c === void 0 ? void 0 : c.type) === null || _a === void 0 ? void 0 : _a.componentType) === "row"; });
|
|
78
|
+
const pins = react_1.default.Children.toArray(children).filter((c) => { var _a; return ((_a = c === null || c === void 0 ? void 0 : c.type) === null || _a === void 0 ? void 0 : _a.componentType) === "pin"; });
|
|
79
|
+
const zoomComponent = react_1.default.Children.toArray(children).find((c) => { var _a; return ((_a = c === null || c === void 0 ? void 0 : c.type) === null || _a === void 0 ? void 0 : _a.componentType) === "zoom"; });
|
|
80
|
+
const rowsRaw = (0, react_1.useMemo)(() => {
|
|
81
|
+
return (0, timeline_1.parseRows)(rowChildren);
|
|
82
|
+
}, [rowChildren]);
|
|
83
|
+
const rows = rowsRaw.map((r) => {
|
|
84
|
+
if (r === null || r === void 0 ? void 0 : r.periods) {
|
|
85
|
+
return r.periods;
|
|
86
|
+
}
|
|
87
|
+
return [];
|
|
88
|
+
});
|
|
89
|
+
const initialStartDate = (0, date_fns_1.startOfDay)((0, useTimelineRows_1.useEarliestDate)({ startDate, rows }));
|
|
90
|
+
const [start, setStart] = (0, react_1.useState)(initialStartDate);
|
|
91
|
+
const [activeRow, setActiveRow] = (0, react_1.useState)(null);
|
|
92
|
+
const [endInclusive, setEndInclusive] = (0, react_1.useState)((0, date_fns_1.endOfDay)((0, useTimelineRows_1.useLatestDate)({ endDate, rows })));
|
|
93
|
+
const initialEndDate = (0, date_fns_1.endOfDay)((0, useTimelineRows_1.useLatestDate)({ endDate, rows }));
|
|
94
|
+
const processedRows = (0, useTimelineRows_1.useTimelineRows)(rowsRaw, startDate !== null && startDate !== void 0 ? startDate : start, endDate !== null && endDate !== void 0 ? endDate : endInclusive, direction);
|
|
95
|
+
const handleZoomChange = (zoomStart) => {
|
|
96
|
+
if (startDate || endDate) {
|
|
97
|
+
if (process.env.NODE_ENV !== "production") {
|
|
98
|
+
console.warn("Zooming is not supported when startDate or endDate is set");
|
|
99
|
+
}
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
if (direction === "left") {
|
|
103
|
+
if ((0, date_fns_1.isSameDay)(zoomStart, start)) {
|
|
104
|
+
setStart(initialStartDate);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
setStart(zoomStart);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
if ((0, date_fns_1.isSameDay)(zoomStart, endInclusive)) {
|
|
111
|
+
setEndInclusive(initialEndDate);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
setEndInclusive(zoomStart);
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
const handleActiveRowChange = (key) => {
|
|
118
|
+
var _a, _b, _c, _d;
|
|
119
|
+
if (activeRow !== null && key === "ArrowDown") {
|
|
120
|
+
for (let i = activeRow + 1; i < processedRows.length; i++) {
|
|
121
|
+
const row = processedRows[i];
|
|
122
|
+
if (row.periods.find((p) => !!p.children || !!p.onSelectPeriod)) {
|
|
123
|
+
setActiveRow(i);
|
|
124
|
+
(_b = (_a = firstFocusabled.current.find((x) => x.id === i)) === null || _a === void 0 ? void 0 : _a.ref) === null || _b === void 0 ? void 0 : _b.focus();
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (activeRow !== null && key === "ArrowUp") {
|
|
131
|
+
for (let i = activeRow - 1; i >= 0; i--) {
|
|
132
|
+
const row = processedRows[i];
|
|
133
|
+
if (row.periods.find((p) => !!p.children || !!p.onSelectPeriod)) {
|
|
134
|
+
setActiveRow(i);
|
|
135
|
+
(_d = (_c = firstFocusabled.current.find((x) => x.id === i)) === null || _c === void 0 ? void 0 : _c.ref) === null || _d === void 0 ? void 0 : _d.focus();
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
const addFocusable = (ref, id) => {
|
|
143
|
+
let items = firstFocusabled.current;
|
|
144
|
+
items = items.filter((x) => x.id !== id);
|
|
145
|
+
items.push({ ref, id });
|
|
146
|
+
firstFocusabled.current = items;
|
|
147
|
+
};
|
|
148
|
+
return (react_1.default.createElement(useTimelineContext_1.TimelineContext.Provider, { value: {
|
|
149
|
+
startDate: startDate !== null && startDate !== void 0 ? startDate : start,
|
|
150
|
+
endDate: endDate !== null && endDate !== void 0 ? endDate : endInclusive,
|
|
151
|
+
direction: direction,
|
|
152
|
+
setStart: (d) => handleZoomChange(d),
|
|
153
|
+
setEndInclusive: (d) => setEndInclusive(d),
|
|
154
|
+
activeRow: activeRow,
|
|
155
|
+
setActiveRow: (key) => handleActiveRowChange(key),
|
|
156
|
+
initiate: (i) => setActiveRow(i),
|
|
157
|
+
addFocusable,
|
|
158
|
+
} },
|
|
159
|
+
react_1.default.createElement("div", Object.assign({}, rest, { ref: ref }),
|
|
160
|
+
react_1.default.createElement("div", { className: "navds-timeline" },
|
|
161
|
+
react_1.default.createElement(AxisLabels_1.AxisLabels, null),
|
|
162
|
+
pins.map((pin) => {
|
|
163
|
+
return pin;
|
|
164
|
+
}),
|
|
165
|
+
processedRows.map((row, i) => {
|
|
166
|
+
return (react_1.default.createElement(useRowContext_1.RowContext.Provider, { key: `row-${row.id}`, value: {
|
|
167
|
+
periods: row.periods,
|
|
168
|
+
id: row.id,
|
|
169
|
+
active: activeRow === i,
|
|
170
|
+
index: i,
|
|
171
|
+
} },
|
|
172
|
+
react_1.default.createElement(TimelineRow_1.default, Object.assign({}, row === null || row === void 0 ? void 0 : row.restProps, { ref: row === null || row === void 0 ? void 0 : row.ref, label: row.label, icon: row.icon, headingTag: row.headingTag }))));
|
|
173
|
+
})),
|
|
174
|
+
zoomComponent && zoomComponent)));
|
|
175
|
+
});
|
|
176
|
+
exports.Timeline.Row = TimelineRow_1.default;
|
|
177
|
+
exports.Timeline.Period = period_1.default;
|
|
178
|
+
exports.Timeline.Pin = Pin_1.default;
|
|
179
|
+
exports.Timeline.Zoom = zoom_1.default;
|
|
180
|
+
exports.default = exports.Timeline;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
+
t[p] = s[p];
|
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
+
t[p[i]] = s[p[i]];
|
|
33
|
+
}
|
|
34
|
+
return t;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.TimelineRow = void 0;
|
|
41
|
+
const BodyShort_1 = require("../typography/BodyShort");
|
|
42
|
+
const date_fns_1 = require("date-fns");
|
|
43
|
+
const react_1 = __importStar(require("react"));
|
|
44
|
+
const usePeriodContext_1 = require("./hooks/usePeriodContext");
|
|
45
|
+
const useRowContext_1 = require("./hooks/useRowContext");
|
|
46
|
+
const useTimelineContext_1 = require("./hooks/useTimelineContext");
|
|
47
|
+
const period_1 = __importDefault(require("./period"));
|
|
48
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
49
|
+
exports.TimelineRow = (0, react_1.forwardRef)((_a, ref) => {
|
|
50
|
+
var { label, className, headingTag = "h3", icon } = _a, rest = __rest(_a, ["label", "className", "headingTag", "icon"]);
|
|
51
|
+
const { periods, id, active } = (0, useRowContext_1.useRowContext)();
|
|
52
|
+
const { setActiveRow } = (0, useTimelineContext_1.useTimelineContext)();
|
|
53
|
+
const latest = periods.reduce((a, b) => {
|
|
54
|
+
return a.end > b.end ? a : b;
|
|
55
|
+
}, {});
|
|
56
|
+
const earliest = periods.reduce((a, b) => {
|
|
57
|
+
return a.end < b.end ? a : b;
|
|
58
|
+
}, {});
|
|
59
|
+
const firstFocusable = periods.find((p) => !!p.children || !!p.onSelectPeriod);
|
|
60
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
61
|
+
label && (react_1.default.createElement(BodyShort_1.BodyShort, { as: headingTag, id: `timeline-row-${id}`, className: "navds-timeline__row-label", size: "small" },
|
|
62
|
+
icon,
|
|
63
|
+
label)),
|
|
64
|
+
react_1.default.createElement("div", { className: (0, clsx_1.default)("navds-timeline__row", {
|
|
65
|
+
"navds-timeline__row--active": active,
|
|
66
|
+
}) },
|
|
67
|
+
react_1.default.createElement("ol", Object.assign({}, rest, { ref: ref, "aria-label": periods.length === 0
|
|
68
|
+
? "Ingen perioder"
|
|
69
|
+
: `${(0, date_fns_1.format)(earliest.start, "dd.MM.yyyy")} til ${(0, date_fns_1.format)(latest.end, "dd.MM.yyyy")}`, className: (0, clsx_1.default)("navds-timeline__row-periods", className), onKeyDown: (e) => {
|
|
70
|
+
if (e.key === "ArrowDown" || e.key === "ArrowUp") {
|
|
71
|
+
e.preventDefault();
|
|
72
|
+
setActiveRow(e.key);
|
|
73
|
+
}
|
|
74
|
+
} }), periods &&
|
|
75
|
+
periods.map((period) => {
|
|
76
|
+
return (react_1.default.createElement("li", { key: `period-${period.id}` },
|
|
77
|
+
react_1.default.createElement(usePeriodContext_1.PeriodContext.Provider, { value: {
|
|
78
|
+
periodId: period.id,
|
|
79
|
+
firstFocus: (firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.id) === period.id,
|
|
80
|
+
restProps: period === null || period === void 0 ? void 0 : period.restProps,
|
|
81
|
+
} },
|
|
82
|
+
react_1.default.createElement(period_1.default, { start: period.start, end: period.endInclusive, icon: period.icon, ref: period === null || period === void 0 ? void 0 : period.ref }))));
|
|
83
|
+
})))));
|
|
84
|
+
});
|
|
85
|
+
exports.TimelineRow.componentType = "row";
|
|
86
|
+
exports.default = exports.TimelineRow;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.usePeriodContext = exports.PeriodContext = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
exports.PeriodContext = (0, react_1.createContext)({
|
|
6
|
+
periodId: "",
|
|
7
|
+
firstFocus: false,
|
|
8
|
+
});
|
|
9
|
+
const usePeriodContext = () => {
|
|
10
|
+
const context = (0, react_1.useContext)(exports.PeriodContext);
|
|
11
|
+
if (!context) {
|
|
12
|
+
console.warn("usePeriodContext must be used with PeriodContext");
|
|
13
|
+
}
|
|
14
|
+
return context;
|
|
15
|
+
};
|
|
16
|
+
exports.usePeriodContext = usePeriodContext;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useRowContext = exports.RowContext = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
exports.RowContext = (0, react_1.createContext)({
|
|
6
|
+
periods: [],
|
|
7
|
+
id: "",
|
|
8
|
+
active: false,
|
|
9
|
+
index: 0,
|
|
10
|
+
});
|
|
11
|
+
const useRowContext = () => {
|
|
12
|
+
const context = (0, react_1.useContext)(exports.RowContext);
|
|
13
|
+
if (!context) {
|
|
14
|
+
console.warn("useRowContext must be used with RowContext");
|
|
15
|
+
}
|
|
16
|
+
return context;
|
|
17
|
+
};
|
|
18
|
+
exports.useRowContext = useRowContext;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTimelineContext = exports.TimelineContext = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
exports.TimelineContext = (0, react_1.createContext)({
|
|
6
|
+
startDate: new Date(),
|
|
7
|
+
endDate: new Date(),
|
|
8
|
+
direction: "left",
|
|
9
|
+
setStart: () => null,
|
|
10
|
+
setEndInclusive: () => null,
|
|
11
|
+
activeRow: 0,
|
|
12
|
+
setActiveRow: () => null,
|
|
13
|
+
initiate: () => null,
|
|
14
|
+
addFocusable: () => null,
|
|
15
|
+
});
|
|
16
|
+
const useTimelineContext = () => {
|
|
17
|
+
const context = (0, react_1.useContext)(exports.TimelineContext);
|
|
18
|
+
if (!context) {
|
|
19
|
+
console.warn("useTimelineContext must be used with TimelineContext (<Timeline />)");
|
|
20
|
+
}
|
|
21
|
+
return context;
|
|
22
|
+
};
|
|
23
|
+
exports.useTimelineContext = useTimelineContext;
|