@mittwald/flow-react-components 1.2.0-next.3 → 1.2.0-next.30
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/AGENTS.md +24 -0
- package/MIGRATION.md +155 -0
- package/dist/assets/component-index.json +1 -1
- package/dist/assets/doc-properties.json +1 -1
- package/dist/css/all-layered.css +1 -1
- package/dist/css/all.css +1 -1
- package/dist/js/_virtual/_10.locale.mjs +3 -9
- package/dist/js/_virtual/_11.locale.mjs +9 -3
- package/dist/js/_virtual/_12.locale.mjs +3 -9
- package/dist/js/_virtual/_4.locale.mjs +9 -3
- package/dist/js/_virtual/_5.locale.mjs +3 -21
- package/dist/js/_virtual/_6.locale.mjs +21 -3
- package/dist/js/_virtual/_7.locale.mjs +3 -3
- package/dist/js/_virtual/_8.locale.mjs +3 -3
- package/dist/js/_virtual/_9.locale.mjs +3 -3
- package/dist/js/default.mjs +7 -6
- package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.mjs +1 -1
- package/dist/js/packages/components/src/components/Autocomplete/Autocomplete.mjs +1 -1
- package/dist/js/packages/components/src/components/Badge/Badge.mjs +21 -2
- package/dist/js/packages/components/src/components/Badge/Badge.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Badge/Badge.module.mjs +3 -1
- package/dist/js/packages/components/src/components/Badge/Badge.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Badge/components/ContextualHelpButton/ContextualHelpButton.mjs +25 -0
- package/dist/js/packages/components/src/components/Badge/components/ContextualHelpButton/ContextualHelpButton.mjs.map +1 -0
- package/dist/js/packages/components/src/components/Button/Button.mjs +8 -10
- package/dist/js/packages/components/src/components/Button/Button.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Button/Button.module.mjs +5 -3
- package/dist/js/packages/components/src/components/Button/Button.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Calendar/components/RangeCalendar/helpers/useCalendarDateRangePresets.mjs +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.mjs +34 -26
- package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/Bar/Bar.mjs +40 -0
- package/dist/js/packages/components/src/components/CartesianChart/components/Bar/Bar.mjs.map +1 -0
- package/dist/js/packages/components/src/components/CartesianChart/components/ChartTooltip/TooltipProgressBar.mjs +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/XAxis/XAxis.mjs +3 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/XAxis/XAxis.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/YAxis/YAxis.mjs +2 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/YAxis/YAxis.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/context.mjs +11 -0
- package/dist/js/packages/components/src/components/CartesianChart/context.mjs.map +1 -0
- package/dist/js/packages/components/src/components/CartesianChart/types.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.mjs +1 -1
- package/dist/js/packages/components/src/components/ComboBox/ComboBox.mjs +1 -1
- package/dist/js/packages/components/src/components/ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs +1 -1
- package/dist/js/packages/components/src/components/CopyButton/CopyButton.mjs +1 -1
- package/dist/js/packages/components/src/components/DateRangePicker/components/DateRangeInput/DateRangeInput.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/FileCard/FileCard.mjs +1 -1
- package/dist/js/packages/components/src/components/Heading/Heading.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Label/Label.mjs +1 -1
- package/dist/js/packages/components/src/components/LightBox/LightBox.mjs +1 -1
- package/dist/js/packages/components/src/components/Link/Link.mjs +1 -2
- package/dist/js/packages/components/src/components/Link/Link.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Link/Link.module.mjs +2 -2
- package/dist/js/packages/components/src/components/Link/Link.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Footer/components/ShowNextBatchButton/ShowNextBatchButton.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/AllFiltersModal.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionDateRange.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionRadioGroup.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/DateRangeFilterPopover.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/SortingContextMenu/SortingContextMenu.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeContextMenu.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.module.mjs +3 -1
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/components/AccordionButton.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/components/OptionsButton/OptionsButton.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/views/GridListItem/GridListItem.mjs +13 -3
- package/dist/js/packages/components/src/components/List/components/Items/views/GridListItem/GridListItem.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/item/ItemView.mjs +7 -0
- package/dist/js/packages/components/src/components/List/model/item/ItemView.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/views/EmptyView/EmptyView.mjs +1 -1
- package/dist/js/packages/components/src/components/Markdown/Markdown.mjs +8 -1
- package/dist/js/packages/components/src/components/Markdown/Markdown.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Modal/Modal.mjs +1 -1
- package/dist/js/packages/components/src/components/Modal/Modal.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Navigation/Navigation.mjs +9 -0
- package/dist/js/packages/components/src/components/Navigation/Navigation.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Navigation/Navigation.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/NotificationProvider/NotificationContainer/NotificationContainer.mjs +1 -0
- package/dist/js/packages/components/src/components/NotificationProvider/NotificationContainer/NotificationContainer.mjs.map +1 -1
- package/dist/js/packages/components/src/components/NotificationProvider/NotificationContainer/NotificationContainer.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Option/Option.mjs +12 -3
- package/dist/js/packages/components/src/components/Option/Option.mjs.map +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.mjs +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry.mjs +1 -1
- package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarValue.mjs +1 -1
- package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.mjs +1 -1
- package/dist/js/packages/components/src/components/Tabs/Tabs.mjs +1 -1
- package/dist/js/packages/components/src/components/Tabs/Tabs.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Tabs/components/FallbackTab/FallbackTab.mjs +1 -1
- package/dist/js/packages/components/src/components/Tabs/components/TabList/TabList.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/react/remote.mjs +43 -3
- package/dist/js/packages/components/src/lib/react/remote.mjs.map +1 -1
- package/dist/js/packages/components/src/views/ContextualHelpTriggerView.mjs +16 -0
- package/dist/js/packages/components/src/views/ContextualHelpTriggerView.mjs.map +1 -0
- package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs +6 -1
- package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs.map +1 -1
- package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs +6 -1
- package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs.map +1 -1
- package/dist/types/components/Badge/Badge.d.ts.map +1 -1
- package/dist/types/components/Badge/components/ContextualHelpButton/ContextualHelpButton.d.ts +14 -0
- package/dist/types/components/Badge/components/ContextualHelpButton/ContextualHelpButton.d.ts.map +1 -0
- package/dist/types/components/Badge/components/ContextualHelpButton/index.d.ts +3 -0
- package/dist/types/components/Badge/components/ContextualHelpButton/index.d.ts.map +1 -0
- package/dist/types/components/Button/Button.d.ts.map +1 -1
- package/dist/types/components/CartesianChart/CartesianChart.d.ts +12 -1
- package/dist/types/components/CartesianChart/CartesianChart.d.ts.map +1 -1
- package/dist/types/components/CartesianChart/components/Bar/Bar.d.ts +19 -0
- package/dist/types/components/CartesianChart/components/Bar/Bar.d.ts.map +1 -0
- package/dist/types/components/CartesianChart/components/Bar/index.d.ts +3 -0
- package/dist/types/components/CartesianChart/components/Bar/index.d.ts.map +1 -0
- package/dist/types/components/CartesianChart/components/Bar/view.d.ts +8 -0
- package/dist/types/components/CartesianChart/components/Bar/view.d.ts.map +1 -0
- package/dist/types/components/CartesianChart/components/XAxis/XAxis.d.ts.map +1 -1
- package/dist/types/components/CartesianChart/components/YAxis/YAxis.d.ts.map +1 -1
- package/dist/types/components/CartesianChart/context.d.ts +8 -0
- package/dist/types/components/CartesianChart/context.d.ts.map +1 -0
- package/dist/types/components/CartesianChart/index.d.ts +1 -0
- package/dist/types/components/CartesianChart/index.d.ts.map +1 -1
- package/dist/types/components/CartesianChart/types.d.ts +6 -0
- package/dist/types/components/CartesianChart/types.d.ts.map +1 -1
- package/dist/types/components/Link/Link.d.ts.map +1 -1
- package/dist/types/components/List/components/Items/components/Item/Item.d.ts.map +1 -1
- package/dist/types/components/List/components/Items/views/GridListItem/GridListItem.d.ts.map +1 -1
- package/dist/types/components/List/model/item/ItemView.d.ts +5 -0
- package/dist/types/components/List/model/item/ItemView.d.ts.map +1 -1
- package/dist/types/components/Markdown/Markdown.d.ts.map +1 -1
- package/dist/types/components/Navigation/Navigation.d.ts.map +1 -1
- package/dist/types/components/Option/Option.d.ts +10 -0
- package/dist/types/components/Option/Option.d.ts.map +1 -1
- package/dist/types/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/types/components/Tabs/components/TabList/TabList.d.ts +1 -1
- package/dist/types/components/Tabs/components/TabList/TabList.d.ts.map +1 -1
- package/dist/types/lib/react/remote.d.ts +31 -0
- package/dist/types/lib/react/remote.d.ts.map +1 -1
- package/dist/types/lib/theming/hooks/useDesignTokens.d.ts +6 -0
- package/dist/types/lib/theming/hooks/useDesignTokens.d.ts.map +1 -1
- package/dist/types/views/BarView.d.ts +5 -0
- package/dist/types/views/BarView.d.ts.map +1 -0
- package/package.json +9 -9
- package/dist/types/components/AccentBox/stories/Default.stories.d.ts +0 -12
- package/dist/types/components/AccentBox/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Accordion/stories/Default.stories.d.ts +0 -8
- package/dist/types/components/Accordion/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Action/Action.browser.test.d.ts +0 -2
- package/dist/types/components/Action/Action.browser.test.d.ts.map +0 -1
- package/dist/types/components/Action/models/ActionExecutionBatch.browser.test.d.ts +0 -2
- package/dist/types/components/Action/models/ActionExecutionBatch.browser.test.d.ts.map +0 -1
- package/dist/types/components/Action/stories/Default.stories.d.ts +0 -17
- package/dist/types/components/Action/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Action/stories/EdgeCases.stories.d.ts +0 -7
- package/dist/types/components/Action/stories/EdgeCases.stories.d.ts.map +0 -1
- package/dist/types/components/ActionGroup/stories/Default.stories.d.ts +0 -15
- package/dist/types/components/ActionGroup/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Activity/Activity.browser.test.d.ts +0 -2
- package/dist/types/components/Activity/Activity.browser.test.d.ts.map +0 -1
- package/dist/types/components/Alert/stories/Default.stories.d.ts +0 -8
- package/dist/types/components/Alert/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/AlertBadge/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/AlertBadge/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/AlertIcon/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/AlertIcon/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/AlertText/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/AlertText/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Align/Align.browser.test.d.ts +0 -2
- package/dist/types/components/Align/Align.browser.test.d.ts.map +0 -1
- package/dist/types/components/Autocomplete/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/Autocomplete/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Avatar/Avatar.browser.test.d.ts +0 -2
- package/dist/types/components/Avatar/Avatar.browser.test.d.ts.map +0 -1
- package/dist/types/components/Avatar/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/Avatar/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/AvatarStack/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/AvatarStack/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Badge/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/Badge/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/BigNumber/stories/Default.stories.d.ts +0 -8
- package/dist/types/components/BigNumber/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Breadcrumb/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/Breadcrumb/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Button/Button.browser.test.d.ts +0 -2
- package/dist/types/components/Button/Button.browser.test.d.ts.map +0 -1
- package/dist/types/components/Button/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/Button/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/CartesianChart/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/CartesianChart/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Chat/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/Chat/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Checkbox/stories/Default.stories.d.ts +0 -8
- package/dist/types/components/Checkbox/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/CheckboxButton/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/CheckboxButton/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/CheckboxGroup/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/CheckboxGroup/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/CodeBlock/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/CodeBlock/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/CodeEditor/CodeEditor.browser.test.d.ts +0 -2
- package/dist/types/components/CodeEditor/CodeEditor.browser.test.d.ts.map +0 -1
- package/dist/types/components/CodeEditor/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/CodeEditor/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Color/stories/Default.stories.d.ts +0 -8
- package/dist/types/components/Color/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/ColumnLayout/lib/getColumns.test.d.ts +0 -2
- package/dist/types/components/ColumnLayout/lib/getColumns.test.d.ts.map +0 -1
- package/dist/types/components/ColumnLayout/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/ColumnLayout/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Combine/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/Combine/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Combine/stories/InputButton.stories.d.ts +0 -12
- package/dist/types/components/Combine/stories/InputButton.stories.d.ts.map +0 -1
- package/dist/types/components/ComboBox/stories/Default.stories.d.ts +0 -14
- package/dist/types/components/ComboBox/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/ComboBox/stories/FileComboBox.stories.d.ts +0 -7
- package/dist/types/components/ComboBox/stories/FileComboBox.stories.d.ts.map +0 -1
- package/dist/types/components/ComponentDefaultsProvider/ComponentDefaultsProvider.test.d.ts +0 -2
- package/dist/types/components/ComponentDefaultsProvider/ComponentDefaultsProvider.test.d.ts.map +0 -1
- package/dist/types/components/ComponentUsageProvider/ComponentUsageProvider.browser.test.d.ts +0 -2
- package/dist/types/components/ComponentUsageProvider/ComponentUsageProvider.browser.test.d.ts.map +0 -1
- package/dist/types/components/Content/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/Content/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/ContextMenu/ContextMenu.browser.test.d.ts +0 -2
- package/dist/types/components/ContextMenu/ContextMenu.browser.test.d.ts.map +0 -1
- package/dist/types/components/ContextMenu/stories/Default.stories.d.ts +0 -18
- package/dist/types/components/ContextMenu/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/ContextMenu/stories/EdgeCases.stories.d.ts +0 -8
- package/dist/types/components/ContextMenu/stories/EdgeCases.stories.d.ts.map +0 -1
- package/dist/types/components/ContextualHelp/ContextualHelp.browser.test.d.ts +0 -2
- package/dist/types/components/ContextualHelp/ContextualHelp.browser.test.d.ts.map +0 -1
- package/dist/types/components/ContextualHelp/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/ContextualHelp/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/CopyButton/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/CopyButton/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/CounterBadge/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/CounterBadge/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/DatePicker/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/DatePicker/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/DateRangePicker/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/DateRangePicker/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/DeprecationWarningProvider/DeprecationWarningProvider.test.d.ts +0 -2
- package/dist/types/components/DeprecationWarningProvider/DeprecationWarningProvider.test.d.ts.map +0 -1
- package/dist/types/components/DonutChart/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/DonutChart/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/EmulatedBoldText/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/EmulatedBoldText/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/FileCard/stories/Default.stories.d.ts +0 -15
- package/dist/types/components/FileCard/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/FileCard/stories/EdgeCases.stories.d.ts +0 -8
- package/dist/types/components/FileCard/stories/EdgeCases.stories.d.ts.map +0 -1
- package/dist/types/components/FileCardList/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/FileCardList/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/FileDropZone/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/FileDropZone/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/FileField/FileField.browser.test.d.ts +0 -2
- package/dist/types/components/FileField/FileField.browser.test.d.ts.map +0 -1
- package/dist/types/components/FileField/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/FileField/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Flex/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/Flex/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Header/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/Header/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/HeaderNavigation/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/HeaderNavigation/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Heading/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/Heading/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Icon/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/Icon/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/IllustratedMessage/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/IllustratedMessage/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Image/stories/Default.stories.d.ts +0 -8
- package/dist/types/components/Image/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/ImageCropper/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/ImageCropper/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Initials/lib/getColorFromInitials.test.d.ts +0 -2
- package/dist/types/components/Initials/lib/getColorFromInitials.test.d.ts.map +0 -1
- package/dist/types/components/Initials/lib/getInitialsFromString.test.d.ts +0 -2
- package/dist/types/components/Initials/lib/getInitialsFromString.test.d.ts.map +0 -1
- package/dist/types/components/Initials/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/Initials/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/InlineCode/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/InlineCode/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Kbd/stories/Default.stories.d.ts +0 -8
- package/dist/types/components/Kbd/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Label/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/Label/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/LabeledValue/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/LabeledValue/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/LayoutCard/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/LayoutCard/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Legend/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/Legend/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/LightBox/stories/Default.stories.d.ts +0 -12
- package/dist/types/components/LightBox/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Link/Link.browser.test.d.ts +0 -2
- package/dist/types/components/Link/Link.browser.test.d.ts.map +0 -1
- package/dist/types/components/Link/stories/Default.stories.d.ts +0 -12
- package/dist/types/components/Link/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/List/List.browser.test.d.ts +0 -2
- package/dist/types/components/List/List.browser.test.d.ts.map +0 -1
- package/dist/types/components/List/stories/Default.stories.d.ts +0 -16
- package/dist/types/components/List/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/List/stories/EdgeCases.stories.d.ts +0 -8
- package/dist/types/components/List/stories/EdgeCases.stories.d.ts.map +0 -1
- package/dist/types/components/List/stories/ListItem.stories.d.ts +0 -11
- package/dist/types/components/List/stories/ListItem.stories.d.ts.map +0 -1
- package/dist/types/components/LoadingSpinner/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/LoadingSpinner/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Markdown/lib/getHeadingLevelWithOffset.test.d.ts +0 -2
- package/dist/types/components/Markdown/lib/getHeadingLevelWithOffset.test.d.ts.map +0 -1
- package/dist/types/components/Markdown/stories/Default.stories.d.ts +0 -8
- package/dist/types/components/Markdown/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/MarkdownEditor/MarkdownEditor.browser.test.d.ts +0 -2
- package/dist/types/components/MarkdownEditor/MarkdownEditor.browser.test.d.ts.map +0 -1
- package/dist/types/components/MarkdownEditor/lib/modifyValueByMarkdownSyntax.test.d.ts +0 -2
- package/dist/types/components/MarkdownEditor/lib/modifyValueByMarkdownSyntax.test.d.ts.map +0 -1
- package/dist/types/components/MarkdownEditor/lib/modifyValueByType.test.d.ts +0 -2
- package/dist/types/components/MarkdownEditor/lib/modifyValueByType.test.d.ts.map +0 -1
- package/dist/types/components/MarkdownEditor/stories/Default.stories.d.ts +0 -14
- package/dist/types/components/MarkdownEditor/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Message/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/Message/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/MessageThread/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/MessageThread/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Modal/Modal.browser.test.d.ts +0 -2
- package/dist/types/components/Modal/Modal.browser.test.d.ts.map +0 -1
- package/dist/types/components/Modal/stories/Default.stories.d.ts +0 -14
- package/dist/types/components/Modal/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Modal/stories/EdgeCases.stories.d.ts +0 -7
- package/dist/types/components/Modal/stories/EdgeCases.stories.d.ts.map +0 -1
- package/dist/types/components/Navigation/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/Navigation/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Notification/stories/Default.stories.d.ts +0 -8
- package/dist/types/components/Notification/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/NotificationProvider/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/NotificationProvider/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/NumberField/stories/Default.stories.d.ts +0 -12
- package/dist/types/components/NumberField/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Overlay/Overlay.browser.test.d.ts +0 -2
- package/dist/types/components/Overlay/Overlay.browser.test.d.ts.map +0 -1
- package/dist/types/components/OverlayTrigger/OverlayTrigger.browser.test.d.ts +0 -2
- package/dist/types/components/OverlayTrigger/OverlayTrigger.browser.test.d.ts.map +0 -1
- package/dist/types/components/PasswordCreationField/PasswordCreationField.browser.test.d.ts +0 -1
- package/dist/types/components/PasswordCreationField/PasswordCreationField.browser.test.d.ts.map +0 -1
- package/dist/types/components/PasswordCreationField/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/PasswordCreationField/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Popover/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/Popover/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Popover/stories/EdgeCases.stories.d.ts +0 -7
- package/dist/types/components/Popover/stories/EdgeCases.stories.d.ts.map +0 -1
- package/dist/types/components/ProgressBar/stories/Default.stories.d.ts +0 -12
- package/dist/types/components/ProgressBar/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/RadioGroup/stories/Default.stories.d.ts +0 -13
- package/dist/types/components/RadioGroup/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Rating/Rating.browser.test.d.ts +0 -2
- package/dist/types/components/Rating/Rating.browser.test.d.ts.map +0 -1
- package/dist/types/components/Rating/stories/Default.stories.d.ts +0 -12
- package/dist/types/components/Rating/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/SearchField/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/SearchField/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Section/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/Section/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Section/stories/EdgeCases.stories.d.ts +0 -12
- package/dist/types/components/Section/stories/EdgeCases.stories.d.ts.map +0 -1
- package/dist/types/components/SegmentedControl/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/SegmentedControl/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Select/stories/Default.stories.d.ts +0 -14
- package/dist/types/components/Select/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Select/stories/EdgeCases.stories.d.ts +0 -8
- package/dist/types/components/Select/stories/EdgeCases.stories.d.ts.map +0 -1
- package/dist/types/components/Separator/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/Separator/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/SettingsProvider/SettingsProvider.browser.test.d.ts +0 -2
- package/dist/types/components/SettingsProvider/SettingsProvider.browser.test.d.ts.map +0 -1
- package/dist/types/components/SettingsProvider/models/SettingsStore.test.d.ts +0 -2
- package/dist/types/components/SettingsProvider/models/SettingsStore.test.d.ts.map +0 -1
- package/dist/types/components/Skeleton/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/Skeleton/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/SkeletonText/stories/Default.stories.d.ts +0 -10
- package/dist/types/components/SkeletonText/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Slider/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/Slider/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Switch/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/Switch/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/TabNavigation/TabNavigation.browser.test.d.ts +0 -2
- package/dist/types/components/TabNavigation/TabNavigation.browser.test.d.ts.map +0 -1
- package/dist/types/components/TabNavigation/lib/getVisibleItemCount.test.d.ts +0 -2
- package/dist/types/components/TabNavigation/lib/getVisibleItemCount.test.d.ts.map +0 -1
- package/dist/types/components/TabNavigation/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/TabNavigation/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Table/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/Table/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Tabs/Tabs.browser.test.d.ts +0 -2
- package/dist/types/components/Tabs/Tabs.browser.test.d.ts.map +0 -1
- package/dist/types/components/Tabs/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/Tabs/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Text/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/Text/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/TextArea/TextArea.browser.test.d.ts +0 -2
- package/dist/types/components/TextArea/TextArea.browser.test.d.ts.map +0 -1
- package/dist/types/components/TextArea/stories/Default.stories.d.ts +0 -13
- package/dist/types/components/TextArea/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/TextField/TextField.browser.test.d.ts +0 -2
- package/dist/types/components/TextField/TextField.browser.test.d.ts.map +0 -1
- package/dist/types/components/TextField/stories/Default.stories.d.ts +0 -14
- package/dist/types/components/TextField/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/TimeField/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/TimeField/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Tooltip/stories/Default.stories.d.ts +0 -7
- package/dist/types/components/Tooltip/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Tooltip/stories/EdgeCases.stories.d.ts +0 -7
- package/dist/types/components/Tooltip/stories/EdgeCases.stories.d.ts.map +0 -1
- package/dist/types/components/TranslationProvider/stories/Default.stories.d.ts +0 -9
- package/dist/types/components/TranslationProvider/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/components/Truncate/stories/Default.stories.d.ts +0 -11
- package/dist/types/components/Truncate/stories/Default.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/Field.browser.test.d.ts +0 -2
- package/dist/types/integrations/react-hook-form/components/Field/Field.browser.test.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/lib/debounceValidate.test.d.ts +0 -2
- package/dist/types/integrations/react-hook-form/components/Field/lib/debounceValidate.test.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/Autocomplete.stories.d.ts +0 -10
- package/dist/types/integrations/react-hook-form/components/Field/stories/Autocomplete.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/Checkbox.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/Checkbox.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/CheckboxButton.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/CheckboxButton.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/CheckboxGroup.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/CheckboxGroup.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/CodeEditor.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/CodeEditor.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/ComboBox.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/ComboBox.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/DatePicker.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/DatePicker.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/DateRangePicker.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/DateRangePicker.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/FileField.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/FileField.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/MarkdownEditor.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/MarkdownEditor.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/NumberField.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/NumberField.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/PasswordCreationField.stories.d.ts +0 -10
- package/dist/types/integrations/react-hook-form/components/Field/stories/PasswordCreationField.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/RadioGroup.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/RadioGroup.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/SearchField.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/SearchField.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/SegmentedControl.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/SegmentedControl.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/Select.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/Select.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/Slider.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/Slider.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/Switch.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/Switch.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/TextArea.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/TextArea.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/TextField.stories.d.ts +0 -10
- package/dist/types/integrations/react-hook-form/components/Field/stories/TextField.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/TimeField.stories.d.ts +0 -9
- package/dist/types/integrations/react-hook-form/components/Field/stories/TimeField.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Form/Form.browser.test.d.ts +0 -2
- package/dist/types/integrations/react-hook-form/components/Form/Form.browser.test.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/Form/stories/Form.stories.d.ts +0 -13
- package/dist/types/integrations/react-hook-form/components/Form/stories/Form.stories.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/ResetButton/ResetButton.browser.test.d.ts +0 -2
- package/dist/types/integrations/react-hook-form/components/ResetButton/ResetButton.browser.test.d.ts.map +0 -1
- package/dist/types/integrations/react-hook-form/components/SubmitButton/SubmitButton.browser.test.d.ts +0 -2
- package/dist/types/integrations/react-hook-form/components/SubmitButton/SubmitButton.browser.test.d.ts.map +0 -1
- package/dist/types/lib/componentFactory/flowComponent.browser.test.d.ts +0 -2
- package/dist/types/lib/componentFactory/flowComponent.browser.test.d.ts.map +0 -1
- package/dist/types/lib/controller/overlay/useOverlayController.browser.test.d.ts +0 -2
- package/dist/types/lib/controller/overlay/useOverlayController.browser.test.d.ts.map +0 -1
- package/dist/types/lib/dom/createFrameResizeObserver.browser.test.d.ts +0 -2
- package/dist/types/lib/dom/createFrameResizeObserver.browser.test.d.ts.map +0 -1
- package/dist/types/lib/hooks/dom/useKeepBrowserExtensionsInteractive.browser.test.d.ts +0 -2
- package/dist/types/lib/hooks/dom/useKeepBrowserExtensionsInteractive.browser.test.d.ts.map +0 -1
- package/dist/types/lib/hooks/dom/useVirtualKeyboardVisible.test.d.ts +0 -2
- package/dist/types/lib/hooks/dom/useVirtualKeyboardVisible.test.d.ts.map +0 -1
- package/dist/types/lib/hooks/useProps.browser.test.d.ts +0 -2
- package/dist/types/lib/hooks/useProps.browser.test.d.ts.map +0 -1
- package/dist/types/lib/promises/callFunctionsInOrder.test.d.ts +0 -2
- package/dist/types/lib/promises/callFunctionsInOrder.test.d.ts.map +0 -1
- package/dist/types/lib/propsContext/dynamicProps/resolveDynamicProps.test.d.ts +0 -2
- package/dist/types/lib/propsContext/dynamicProps/resolveDynamicProps.test.d.ts.map +0 -1
- package/dist/types/lib/propsContext/mergePropsContext.test.d.ts +0 -2
- package/dist/types/lib/propsContext/mergePropsContext.test.d.ts.map +0 -1
- package/dist/types/lib/react/components/Render/Render.browser.test.d.ts +0 -2
- package/dist/types/lib/react/components/Render/Render.browser.test.d.ts.map +0 -1
- package/dist/types/lib/react/deepFindOfType.test.d.ts +0 -2
- package/dist/types/lib/react/deepFindOfType.test.d.ts.map +0 -1
- package/dist/types/styles/styles.browser.test.d.ts +0 -2
- package/dist/types/styles/styles.browser.test.d.ts.map +0 -1
- package/dist/types/tests/layered/CodeEditor.browser.test.d.ts +0 -2
- package/dist/types/tests/layered/CodeEditor.browser.test.d.ts.map +0 -1
- package/dist/types/tests/layered/Icon.browser.test.d.ts +0 -2
- package/dist/types/tests/layered/Icon.browser.test.d.ts.map +0 -1
- package/dist/types/tests/layered/ImageCropper.browser.test.d.ts +0 -2
- package/dist/types/tests/layered/ImageCropper.browser.test.d.ts.map +0 -1
|
@@ -4,8 +4,8 @@ import { IconAscending } from "../../../../../Icon/components/icons/IconAscendin
|
|
|
4
4
|
import { IconDescending } from "../../../../../Icon/components/icons/IconDescending.mjs";
|
|
5
5
|
import { IconSorting } from "../../../../../Icon/components/icons/IconSorting.mjs";
|
|
6
6
|
import { useLocalizedStringFormatter } from "../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
7
|
-
import __locale_default from "../../../../../../../../../_virtual/_16.locale.mjs";
|
|
8
7
|
import ButtonView from "../../../../../../views/ButtonView.mjs";
|
|
8
|
+
import __locale_default from "../../../../../../../../../_virtual/_16.locale.mjs";
|
|
9
9
|
import ContextMenuTriggerView from "../../../../../../views/ContextMenuTriggerView.mjs";
|
|
10
10
|
import ContextMenuView from "../../../../../../views/ContextMenuView.mjs";
|
|
11
11
|
import TextView from "../../../../../../views/TextView.mjs";
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { IconView } from "../../../../../Icon/components/icons/IconView.mjs";
|
|
4
4
|
import { useLocalizedStringFormatter } from "../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
5
|
-
import __locale_default from "../../../../../../../../../_virtual/_16.locale.mjs";
|
|
6
5
|
import ButtonView from "../../../../../../views/ButtonView.mjs";
|
|
6
|
+
import __locale_default from "../../../../../../../../../_virtual/_16.locale.mjs";
|
|
7
7
|
import ContextMenuTriggerView from "../../../../../../views/ContextMenuTriggerView.mjs";
|
|
8
8
|
import ContextMenuView from "../../../../../../views/ContextMenuView.mjs";
|
|
9
9
|
import TextView from "../../../../../../views/TextView.mjs";
|
package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.mjs
CHANGED
|
@@ -36,7 +36,7 @@ var ItemImpl = (props) => {
|
|
|
36
36
|
})
|
|
37
37
|
});
|
|
38
38
|
};
|
|
39
|
-
var Item = memo(ItemImpl, (prev, next) => prev.id === next.id && prev.data === next.data && prev.triggerRef === next.triggerRef && prev.isTile === next.isTile);
|
|
39
|
+
var Item = memo(ItemImpl, (prev, next) => prev.id === next.id && prev.data === next.data && prev.triggerRef === next.triggerRef && prev.isTile === next.isTile && prev.list.onAction === next.list.onAction && prev.list.accordion === next.list.accordion && !!prev.list.itemView?.rendersSameAs(next.list.itemView));
|
|
40
40
|
Item.displayName = "Item";
|
|
41
41
|
var ItemContainer = (props) => {
|
|
42
42
|
const list = useList();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Items/components/Item/Item.tsx"],"sourcesContent":["import { useGridItemProps } from \"@/components/List/components/Items/components/Item/hooks/useGridItemProps\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport type ListModel from \"@/components/List/model/List\";\nimport ItemsGridListItemView from \"@/views/ItemsGridListItemView\";\nimport { mergeRefs } from \"@react-aria/utils\";\nimport type { FC, PropsWithChildren, Ref } from \"react\";\nimport { memo, Suspense } from \"react\";\nimport type { Key } from \"react-aria-components\";\nimport styles from \"./Item.module.scss\";\nimport { ItemLoadingView } from \"./components/ItemLoadingView/ItemLoadingView\";\n\ninterface Props extends PropsWithChildren {\n id: Key;\n data: never;\n triggerRef?: Ref<HTMLDivElement>;\n list: ListModel<never>;\n isTile: boolean;\n}\n\nconst ItemImpl = (props: Props) => {\n const { id, data, triggerRef, list, isTile } = props;\n\n const itemView = list.itemView;\n\n const { gridItemProps, children } = useGridItemProps(props, list);\n\n if (!itemView) {\n return null;\n }\n\n const textValue = itemView.textValue ? itemView.textValue(data) : undefined;\n const href = itemView.href ? itemView.href(data) : undefined;\n const hasAction = !!gridItemProps.onAction || !!href;\n\n const existingRef = \"ref\" in gridItemProps ? gridItemProps.ref : undefined;\n const gridItemPropsWithRef = triggerRef\n ? { ...gridItemProps, ref: mergeRefs(existingRef, triggerRef) }\n : gridItemProps;\n\n return (\n <ItemsGridListItemView\n id={id}\n textValue={textValue}\n href={href}\n target={itemView.target}\n hasAction={hasAction}\n isTile={isTile}\n {...gridItemPropsWithRef}\n >\n <Suspense fallback={<ItemLoadingView />}>{children}</Suspense>\n </ItemsGridListItemView>\n );\n};\n\nexport const Item = memo(\n ItemImpl,\n (prev, next) =>\n prev.id === next.id &&\n prev.data === next.data &&\n prev.triggerRef === next.triggerRef &&\n prev.isTile === next.isTile,\n);\nItem.displayName = \"Item\";\n\ninterface ItemContainerProps extends PropsWithChildren {\n id?: Key;\n data?: never;\n}\n\nexport const ItemContainer: FC<ItemContainerProps> = (props) => {\n const list = useList();\n return (\n <ItemsGridListItemView\n textValue=\"-\"\n className={styles.item}\n isTile={list.viewMode.isTiles}\n >\n {props.children}\n </ItemsGridListItemView>\n );\n};\n\nexport default Item;\n"],"mappings":";;;;;;;;;;;AAmBA,IAAM,YAAY,UAAiB;CACjC,MAAM,EAAE,IAAI,MAAM,YAAY,MAAM,WAAW;CAE/C,MAAM,WAAW,KAAK;CAEtB,MAAM,EAAE,eAAe,aAAa,iBAAiB,OAAO,IAAI;CAEhE,IAAI,CAAC,UACH,OAAO;CAGT,MAAM,YAAY,SAAS,YAAY,SAAS,UAAU,IAAI,IAAI,KAAA;CAClE,MAAM,OAAO,SAAS,OAAO,SAAS,KAAK,IAAI,IAAI,KAAA;CACnD,MAAM,YAAY,CAAC,CAAC,cAAc,YAAY,CAAC,CAAC;CAEhD,MAAM,cAAc,SAAS,gBAAgB,cAAc,MAAM,KAAA;CACjE,MAAM,uBAAuB,aACzB;EAAE,GAAG;EAAe,KAAK,UAAU,aAAa,UAAU;CAAE,IAC5D;CAEJ,OACE,oBAAC,uBAAD;EACM;EACO;EACL;EACN,QAAQ,SAAS;EACN;EACH;EACR,GAAI;EAEJ,UAAA,oBAAC,UAAD;GAAU,UAAU,oBAAC,iBAAD,CAAkB,CAAA;GAAI;EAAmB,CAAA;CACxC,CAAA;AAE3B;
|
|
1
|
+
{"version":3,"file":"Item.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Items/components/Item/Item.tsx"],"sourcesContent":["import { useGridItemProps } from \"@/components/List/components/Items/components/Item/hooks/useGridItemProps\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport type ListModel from \"@/components/List/model/List\";\nimport ItemsGridListItemView from \"@/views/ItemsGridListItemView\";\nimport { mergeRefs } from \"@react-aria/utils\";\nimport type { FC, PropsWithChildren, Ref } from \"react\";\nimport { memo, Suspense } from \"react\";\nimport type { Key } from \"react-aria-components\";\nimport styles from \"./Item.module.scss\";\nimport { ItemLoadingView } from \"./components/ItemLoadingView/ItemLoadingView\";\n\ninterface Props extends PropsWithChildren {\n id: Key;\n data: never;\n triggerRef?: Ref<HTMLDivElement>;\n list: ListModel<never>;\n isTile: boolean;\n}\n\nconst ItemImpl = (props: Props) => {\n const { id, data, triggerRef, list, isTile } = props;\n\n const itemView = list.itemView;\n\n const { gridItemProps, children } = useGridItemProps(props, list);\n\n if (!itemView) {\n return null;\n }\n\n const textValue = itemView.textValue ? itemView.textValue(data) : undefined;\n const href = itemView.href ? itemView.href(data) : undefined;\n const hasAction = !!gridItemProps.onAction || !!href;\n\n const existingRef = \"ref\" in gridItemProps ? gridItemProps.ref : undefined;\n const gridItemPropsWithRef = triggerRef\n ? { ...gridItemProps, ref: mergeRefs(existingRef, triggerRef) }\n : gridItemProps;\n\n return (\n <ItemsGridListItemView\n id={id}\n textValue={textValue}\n href={href}\n target={itemView.target}\n hasAction={hasAction}\n isTile={isTile}\n {...gridItemPropsWithRef}\n >\n <Suspense fallback={<ItemLoadingView />}>{children}</Suspense>\n </ItemsGridListItemView>\n );\n};\n\n// The list model is rebuilt on every render, so it cannot be compared by\n// identity — but everything an item renders from it can. Those closures come\n// from the consumer's own JSX and only change when the consumer re-renders,\n// so loading more still skips the re-render while parent state no longer\n// leaves an item frozen on the values it first saw.\nexport const Item = memo(\n ItemImpl,\n (prev, next) =>\n prev.id === next.id &&\n prev.data === next.data &&\n prev.triggerRef === next.triggerRef &&\n prev.isTile === next.isTile &&\n prev.list.onAction === next.list.onAction &&\n prev.list.accordion === next.list.accordion &&\n !!prev.list.itemView?.rendersSameAs(next.list.itemView),\n);\nItem.displayName = \"Item\";\n\ninterface ItemContainerProps extends PropsWithChildren {\n id?: Key;\n data?: never;\n}\n\nexport const ItemContainer: FC<ItemContainerProps> = (props) => {\n const list = useList();\n return (\n <ItemsGridListItemView\n textValue=\"-\"\n className={styles.item}\n isTile={list.viewMode.isTiles}\n >\n {props.children}\n </ItemsGridListItemView>\n );\n};\n\nexport default Item;\n"],"mappings":";;;;;;;;;;;AAmBA,IAAM,YAAY,UAAiB;CACjC,MAAM,EAAE,IAAI,MAAM,YAAY,MAAM,WAAW;CAE/C,MAAM,WAAW,KAAK;CAEtB,MAAM,EAAE,eAAe,aAAa,iBAAiB,OAAO,IAAI;CAEhE,IAAI,CAAC,UACH,OAAO;CAGT,MAAM,YAAY,SAAS,YAAY,SAAS,UAAU,IAAI,IAAI,KAAA;CAClE,MAAM,OAAO,SAAS,OAAO,SAAS,KAAK,IAAI,IAAI,KAAA;CACnD,MAAM,YAAY,CAAC,CAAC,cAAc,YAAY,CAAC,CAAC;CAEhD,MAAM,cAAc,SAAS,gBAAgB,cAAc,MAAM,KAAA;CACjE,MAAM,uBAAuB,aACzB;EAAE,GAAG;EAAe,KAAK,UAAU,aAAa,UAAU;CAAE,IAC5D;CAEJ,OACE,oBAAC,uBAAD;EACM;EACO;EACL;EACN,QAAQ,SAAS;EACN;EACH;EACR,GAAI;EAEJ,UAAA,oBAAC,UAAD;GAAU,UAAU,oBAAC,iBAAD,CAAkB,CAAA;GAAI;EAAmB,CAAA;CACxC,CAAA;AAE3B;AAOA,IAAa,OAAO,KAClB,WACC,MAAM,SACL,KAAK,OAAO,KAAK,MACjB,KAAK,SAAS,KAAK,QACnB,KAAK,eAAe,KAAK,cACzB,KAAK,WAAW,KAAK,UACrB,KAAK,KAAK,aAAa,KAAK,KAAK,YACjC,KAAK,KAAK,cAAc,KAAK,KAAK,aAClC,CAAC,CAAC,KAAK,KAAK,UAAU,cAAc,KAAK,KAAK,QAAQ,CAC1D;AACA,KAAK,cAAc;AAOnB,IAAa,iBAAyC,UAAU;CAC9D,MAAM,OAAO,QAAQ;CACrB,OACE,oBAAC,uBAAD;EACE,WAAU;EACV,WAAW,oBAAO;EAClB,QAAQ,KAAK,SAAS;EAErB,UAAA,MAAM;CACc,CAAA;AAE3B"}
|
|
@@ -4,14 +4,16 @@
|
|
|
4
4
|
var item = "flow--list--items--item";
|
|
5
5
|
var isSelected = "flow--list--items--item--is-selected";
|
|
6
6
|
var hasAction = "flow--list--items--item--has-action";
|
|
7
|
+
var link = "flow--list--items--item--link";
|
|
7
8
|
var tile = "flow--list--items--item--tile";
|
|
8
9
|
var Item_module_default = {
|
|
9
10
|
item,
|
|
10
11
|
isSelected,
|
|
11
12
|
hasAction,
|
|
13
|
+
link,
|
|
12
14
|
tile
|
|
13
15
|
};
|
|
14
16
|
//#endregion
|
|
15
|
-
export { Item_module_default as default, hasAction, isSelected, item, tile };
|
|
17
|
+
export { Item_module_default as default, hasAction, isSelected, item, link, tile };
|
|
16
18
|
|
|
17
19
|
//# sourceMappingURL=Item.module.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.module.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Items/components/Item/Item.module.scss"],"sourcesContent":["@use \"@/styles/mixins/focus\";\n\n.item {\n cursor: default;\n background-color: var(--list-item--background-color--default);\n transition-property: background-color;\n transition-duration: var(--transition--duration--default);\n\n @include focus.focus;\n\n &.item {\n outline-offset: calc(var(--size-px--xs) * -1);\n box-shadow: none;\n }\n\n &:where(.isSelected) {\n background-color: var(--list-item--background-color--pressed);\n }\n\n &:not(:last-child) {\n border-bottom: var(--list-item--border-width) var(--list-item--border-style)\n var(--list-item--border-color);\n }\n\n &[data-href] {\n cursor: pointer;\n }\n\n &:where(.hasAction):not(\n &:has(:global(.flow--list--items--item--view--bottom-content):hover)\n ) {\n &:where(:not(.isSelected)) {\n &:hover {\n background-color: var(--list-item--background-color--hover);\n }\n }\n\n &[data-pressed] {\n background-color: var(--list-item--background-color--pressed);\n }\n }\n\n :global(.flow--avatar) {\n transition-property: filter;\n transition-duration: var(--transition--duration--default);\n }\n\n &.tile {\n border: none;\n border-radius: var(--list-item--corner-radius);\n\n &.item {\n outline-offset: var(--size-px--xxs);\n }\n\n &:where(.hasAction) {\n &:not(.isSelected) {\n &:hover {\n :global(.flow--avatar) {\n filter: brightness(var(--image-button--brightness--hover));\n }\n }\n }\n\n &[data-pressed] {\n :global(.flow--avatar) {\n filter: brightness(var(--image-button--brightness--pressed));\n }\n }\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Item.module.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Items/components/Item/Item.module.scss"],"sourcesContent":["@use \"@/styles/mixins/focus\";\n\n.item {\n position: relative;\n\n /* The link overlay and the interactive content lifted above it (see .link\n below) stack against each other only — never against anything outside the\n item. */\n isolation: isolate;\n cursor: default;\n background-color: var(--list-item--background-color--default);\n transition-property: background-color;\n transition-duration: var(--transition--duration--default);\n\n @include focus.focus;\n\n &.item {\n outline-offset: calc(var(--size-px--xs) * -1);\n box-shadow: none;\n }\n\n &:where(.isSelected) {\n background-color: var(--list-item--background-color--pressed);\n }\n\n &:not(:last-child) {\n border-bottom: var(--list-item--border-width) var(--list-item--border-style)\n var(--list-item--border-color);\n }\n\n &[data-href] {\n cursor: pointer;\n }\n\n &:where(.hasAction):not(\n &:has(:global(.flow--list--items--item--view--bottom-content):hover)\n ) {\n &:where(:not(.isSelected)) {\n &:hover {\n background-color: var(--list-item--background-color--hover);\n }\n }\n\n &[data-pressed] {\n background-color: var(--list-item--background-color--pressed);\n }\n }\n\n :global(.flow--avatar) {\n transition-property: filter;\n transition-duration: var(--transition--duration--default);\n }\n\n /* Elements */\n\n /*\n * Covers the whole item so a right-click anywhere on it hits a real link.\n * Interactive content is lifted back above the overlay, so buttons, context\n * menus and checkboxes keep receiving their own clicks.\n */\n .link {\n position: absolute;\n inset: 0;\n z-index: 1;\n }\n\n &:has(.link) {\n :where(\n a,\n button,\n input,\n label,\n select,\n summary,\n textarea,\n [role=\"button\"],\n [role=\"checkbox\"],\n [role=\"link\"],\n [role=\"switch\"],\n [tabindex]\n ):not(.link) {\n position: relative;\n z-index: 2;\n }\n\n /*\n * The bottom slot carries arbitrary consumer content (and the accordion's\n * expanded content), so it stays fully clickable and selectable.\n */\n :global(.flow--list--list-item-view--bottom-content) {\n position: relative;\n z-index: 2;\n }\n }\n\n &.tile {\n border: none;\n border-radius: var(--list-item--corner-radius);\n\n &.item {\n outline-offset: var(--size-px--xxs);\n }\n\n &:where(.hasAction) {\n &:not(.isSelected) {\n &:hover {\n :global(.flow--avatar) {\n filter: brightness(var(--image-button--brightness--hover));\n }\n }\n }\n\n &[data-pressed] {\n :global(.flow--avatar) {\n filter: brightness(var(--image-button--brightness--pressed));\n }\n }\n }\n }\n}\n"],"mappings":""}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { IconChevronDown } from "../../../../../../Icon/components/icons/IconChevronDown.mjs";
|
|
4
4
|
import { IconChevronUp } from "../../../../../../Icon/components/icons/IconChevronUp.mjs";
|
|
5
5
|
import { useLocalizedStringFormatter } from "../../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
6
|
-
import __locale_default from "../../../../../../../../../../_virtual/_16.locale.mjs";
|
|
7
6
|
import ButtonView from "../../../../../../../views/ButtonView.mjs";
|
|
7
|
+
import __locale_default from "../../../../../../../../../../_virtual/_16.locale.mjs";
|
|
8
8
|
import ListItemView_module_default from "../../../../ListItemView/ListItemView.module.mjs";
|
|
9
9
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
//#region src/components/List/components/Items/components/Item/components/AccordionButton.tsx
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { IconContextMenu } from "../../../../../../../Icon/components/icons/IconContextMenu.mjs";
|
|
4
4
|
import { useLocalizedStringFormatter } from "../../../../../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
5
|
-
import __locale_default from "../../../../../../../../../../../_virtual/_16.locale.mjs";
|
|
6
5
|
import ButtonView from "../../../../../../../../views/ButtonView.mjs";
|
|
6
|
+
import __locale_default from "../../../../../../../../../../../_virtual/_16.locale.mjs";
|
|
7
7
|
import ContextMenuTriggerView from "../../../../../../../../views/ContextMenuTriggerView.mjs";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
//#region src/components/List/components/Items/components/Item/components/OptionsButton/OptionsButton.tsx
|
|
@@ -2,15 +2,25 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import Item_module_default from "../../components/Item/Item.module.mjs";
|
|
4
4
|
import clsx from "clsx";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { useLinkProps } from "@react-aria/utils";
|
|
6
7
|
import * as Aria from "react-aria-components";
|
|
7
8
|
//#region src/components/List/components/Items/views/GridListItem/GridListItem.tsx
|
|
8
9
|
/** @flr-generate all */
|
|
9
10
|
var GridListItem = (props) => {
|
|
10
|
-
const { hasAction, isTile, ...restProps } = props;
|
|
11
|
+
const { hasAction, isTile, children, ...restProps } = props;
|
|
12
|
+
const linkProps = useLinkProps(props);
|
|
13
|
+
const linkOverlay = linkProps.href ? /* @__PURE__ */ jsx("a", {
|
|
14
|
+
...linkProps,
|
|
15
|
+
"aria-hidden": true,
|
|
16
|
+
className: Item_module_default.link,
|
|
17
|
+
draggable: false,
|
|
18
|
+
tabIndex: -1
|
|
19
|
+
}) : null;
|
|
11
20
|
return /* @__PURE__ */ jsx(Aria.GridListItem, {
|
|
12
21
|
...restProps,
|
|
13
|
-
className: (renderProps) => clsx(Item_module_default.item, hasAction && Item_module_default.hasAction, isTile && Item_module_default.tile, renderProps.isSelected && Item_module_default.isSelected)
|
|
22
|
+
className: (renderProps) => clsx(Item_module_default.item, hasAction && Item_module_default.hasAction, isTile && Item_module_default.tile, renderProps.isSelected && Item_module_default.isSelected),
|
|
23
|
+
children: (renderProps) => /* @__PURE__ */ jsxs(Fragment, { children: [typeof children === "function" ? children(renderProps) : children, linkOverlay] })
|
|
14
24
|
});
|
|
15
25
|
};
|
|
16
26
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridListItem.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Items/views/GridListItem/GridListItem.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { FC } from \"react\";\nimport styles from \"@/components/List/components/Items/components/Item/Item.module.scss\";\nimport clsx from \"clsx\";\n\nexport type GridListItemProps = Aria.GridListItemProps<never> & {\n hasAction?: boolean;\n isTile?: boolean;\n};\n\n/** @flr-generate all */\nexport const GridListItem: FC<GridListItemProps> = (props) => {\n const { hasAction, isTile, ...restProps } = props;\n return (\n <Aria.GridListItem\n {...restProps}\n className={(renderProps) =>\n clsx(\n styles.item,\n hasAction && styles.hasAction,\n isTile && styles.tile,\n renderProps.isSelected && styles.isSelected,\n )\n }\n
|
|
1
|
+
{"version":3,"file":"GridListItem.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Items/views/GridListItem/GridListItem.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { FC } from \"react\";\nimport styles from \"@/components/List/components/Items/components/Item/Item.module.scss\";\nimport clsx from \"clsx\";\nimport { useLinkProps } from \"@react-aria/utils\";\n\nexport type GridListItemProps = Aria.GridListItemProps<never> & {\n hasAction?: boolean;\n isTile?: boolean;\n};\n\n/** @flr-generate all */\nexport const GridListItem: FC<GridListItemProps> = (props) => {\n const { hasAction, isTile, children, ...restProps } = props;\n\n // React Aria turns `href` into data attributes and navigates on press, so\n // the row itself is always a `div`. Overlay a real anchor to give the browser\n // back its own link affordances: context menu, middle-click, modifier-click.\n const linkProps = useLinkProps(props);\n\n const linkOverlay = linkProps.href ? (\n // The row keeps owning activation and the accessible semantics. The anchor\n // must stay untabbable — React Aria treats a tabbable descendant as\n // interactive content and would stop the row's own press — and out of the\n // accessibility tree, so screen readers announce the row unchanged.\n <a\n {...linkProps}\n aria-hidden\n className={styles.link}\n draggable={false}\n tabIndex={-1}\n />\n ) : null;\n\n return (\n <Aria.GridListItem\n {...restProps}\n className={(renderProps) =>\n clsx(\n styles.item,\n hasAction && styles.hasAction,\n isTile && styles.tile,\n renderProps.isSelected && styles.isSelected,\n )\n }\n >\n {(renderProps) => (\n <>\n {typeof children === \"function\" ? children(renderProps) : children}\n {linkOverlay}\n </>\n )}\n </Aria.GridListItem>\n );\n};\n\nexport default GridListItem;\n"],"mappings":";;;;;;;;;AAYA,IAAa,gBAAuC,UAAU;CAC5D,MAAM,EAAE,WAAW,QAAQ,UAAU,GAAG,cAAc;CAKtD,MAAM,YAAY,aAAa,KAAK;CAEpC,MAAM,cAAc,UAAU,OAK5B,oBAAC,KAAD;EACE,GAAI;EACJ,eAAA;EACA,WAAW,oBAAO;EAClB,WAAW;EACX,UAAU;CACX,CAAA,IACC;CAEJ,OACE,oBAAC,KAAK,cAAN;EACE,GAAI;EACJ,YAAY,gBACV,KACE,oBAAO,MACP,aAAa,oBAAO,WACpB,UAAU,oBAAO,MACjB,YAAY,cAAc,oBAAO,UACnC;EAGA,WAAA,gBACA,qBAAA,UAAA,EAAA,UAAA,CACG,OAAO,aAAa,aAAa,SAAS,WAAW,IAAI,UACzD,WACD,EAAA,CAAA;CAEa,CAAA;AAEvB"}
|
|
@@ -27,6 +27,13 @@ var ItemView = class ItemView {
|
|
|
27
27
|
this.tileMaxWidth = tileMaxWidth;
|
|
28
28
|
}
|
|
29
29
|
static fallbackRenderItemFn = (item) => createElement("pre", void 0, JSON.stringify(item));
|
|
30
|
+
/**
|
|
31
|
+
* Whether `other` would render this item identically — i.e. all render
|
|
32
|
+
* functions taken from the consumer's `ListItem` element are still the same.
|
|
33
|
+
*/
|
|
34
|
+
rendersSameAs(other) {
|
|
35
|
+
return !!other && this.renderFn === other.renderFn && this.textValue === other.textValue && this.href === other.href && this.target === other.target && this.defaultExpanded === other.defaultExpanded;
|
|
36
|
+
}
|
|
30
37
|
render(data) {
|
|
31
38
|
return (this.renderFn ?? ItemView.fallbackRenderItemFn)(data, this.list);
|
|
32
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemView.mjs","names":[],"sources":["../../../../../../../../../src/components/List/model/item/ItemView.ts"],"sourcesContent":["import type { HTMLAttributeAnchorTarget, ReactElement, ReactNode } from \"react\";\nimport { createElement } from \"react\";\nimport type { RenderItemFn } from \"@/components/List/model/item/types\";\nimport type List from \"@/components/List/model/List\";\n\nexport interface ItemViewShape<T> {\n textValue?: (data: T) => string;\n href?: (data: T) => string;\n target?: HTMLAttributeAnchorTarget;\n defaultExpanded?: (data: T) => boolean;\n renderFn?: RenderItemFn<T>;\n /** @deprecated Use loadingView instead */\n fallback?: ReactElement;\n loadingView?: ReactElement;\n showList?: boolean;\n showTiles?: boolean;\n tileMaxWidth?: number;\n}\n\nexport class ItemView<T> {\n public readonly list: List<T>;\n public readonly textValue?: (data: T) => string;\n public readonly href?: (data: T) => string;\n public readonly target?: HTMLAttributeAnchorTarget;\n public readonly defaultExpanded?: (data: T) => boolean;\n public readonly loadingView?: ReactElement;\n public readonly showTiles?: boolean;\n public readonly showList?: boolean;\n public readonly tileMaxWidth: number;\n private readonly renderFn?: RenderItemFn<T>;\n\n public constructor(list: List<T>, shape: ItemViewShape<T> = {}) {\n const {\n fallback,\n loadingView = fallback,\n textValue,\n href,\n target,\n defaultExpanded,\n renderFn,\n showTiles,\n showList = true,\n tileMaxWidth = 230,\n } = shape;\n this.list = list;\n this.textValue = textValue;\n this.renderFn = renderFn;\n this.href = href;\n this.target = target;\n this.defaultExpanded = defaultExpanded;\n this.loadingView = loadingView;\n this.showTiles = showTiles;\n this.showList = showList;\n this.tileMaxWidth = tileMaxWidth;\n }\n\n private static fallbackRenderItemFn: RenderItemFn<never> = (item) =>\n createElement(\"pre\", undefined, JSON.stringify(item));\n\n public render(data: T): ReactNode {\n const renderFn = (this.renderFn ??\n ItemView.fallbackRenderItemFn) as RenderItemFn<T>;\n return renderFn(data as never, this.list);\n }\n}\n"],"mappings":";;;;AAmBA,IAAa,WAAb,MAAa,SAAY;CACvB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAmB,MAAe,QAA0B,CAAC,GAAG;EAC9D,MAAM,EACJ,UACA,cAAc,UACd,WACA,MACA,QACA,iBACA,UACA,WACA,WAAW,MACX,eAAe,QACb;EACJ,KAAK,OAAO;EACZ,KAAK,YAAY;EACjB,KAAK,WAAW;EAChB,KAAK,OAAO;EACZ,KAAK,SAAS;EACd,KAAK,kBAAkB;EACvB,KAAK,cAAc;EACnB,KAAK,YAAY;EACjB,KAAK,WAAW;EAChB,KAAK,eAAe;CACtB;CAEA,OAAe,wBAA6C,SAC1D,cAAc,OAAO,KAAA,GAAW,KAAK,UAAU,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ItemView.mjs","names":[],"sources":["../../../../../../../../../src/components/List/model/item/ItemView.ts"],"sourcesContent":["import type { HTMLAttributeAnchorTarget, ReactElement, ReactNode } from \"react\";\nimport { createElement } from \"react\";\nimport type { RenderItemFn } from \"@/components/List/model/item/types\";\nimport type List from \"@/components/List/model/List\";\n\nexport interface ItemViewShape<T> {\n textValue?: (data: T) => string;\n href?: (data: T) => string;\n target?: HTMLAttributeAnchorTarget;\n defaultExpanded?: (data: T) => boolean;\n renderFn?: RenderItemFn<T>;\n /** @deprecated Use loadingView instead */\n fallback?: ReactElement;\n loadingView?: ReactElement;\n showList?: boolean;\n showTiles?: boolean;\n tileMaxWidth?: number;\n}\n\nexport class ItemView<T> {\n public readonly list: List<T>;\n public readonly textValue?: (data: T) => string;\n public readonly href?: (data: T) => string;\n public readonly target?: HTMLAttributeAnchorTarget;\n public readonly defaultExpanded?: (data: T) => boolean;\n public readonly loadingView?: ReactElement;\n public readonly showTiles?: boolean;\n public readonly showList?: boolean;\n public readonly tileMaxWidth: number;\n private readonly renderFn?: RenderItemFn<T>;\n\n public constructor(list: List<T>, shape: ItemViewShape<T> = {}) {\n const {\n fallback,\n loadingView = fallback,\n textValue,\n href,\n target,\n defaultExpanded,\n renderFn,\n showTiles,\n showList = true,\n tileMaxWidth = 230,\n } = shape;\n this.list = list;\n this.textValue = textValue;\n this.renderFn = renderFn;\n this.href = href;\n this.target = target;\n this.defaultExpanded = defaultExpanded;\n this.loadingView = loadingView;\n this.showTiles = showTiles;\n this.showList = showList;\n this.tileMaxWidth = tileMaxWidth;\n }\n\n private static fallbackRenderItemFn: RenderItemFn<never> = (item) =>\n createElement(\"pre\", undefined, JSON.stringify(item));\n\n /**\n * Whether `other` would render this item identically — i.e. all render\n * functions taken from the consumer's `ListItem` element are still the same.\n */\n public rendersSameAs(other?: ItemView<T>): boolean {\n return (\n !!other &&\n this.renderFn === other.renderFn &&\n this.textValue === other.textValue &&\n this.href === other.href &&\n this.target === other.target &&\n this.defaultExpanded === other.defaultExpanded\n );\n }\n\n public render(data: T): ReactNode {\n const renderFn = (this.renderFn ??\n ItemView.fallbackRenderItemFn) as RenderItemFn<T>;\n return renderFn(data as never, this.list);\n }\n}\n"],"mappings":";;;;AAmBA,IAAa,WAAb,MAAa,SAAY;CACvB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAmB,MAAe,QAA0B,CAAC,GAAG;EAC9D,MAAM,EACJ,UACA,cAAc,UACd,WACA,MACA,QACA,iBACA,UACA,WACA,WAAW,MACX,eAAe,QACb;EACJ,KAAK,OAAO;EACZ,KAAK,YAAY;EACjB,KAAK,WAAW;EAChB,KAAK,OAAO;EACZ,KAAK,SAAS;EACd,KAAK,kBAAkB;EACvB,KAAK,cAAc;EACnB,KAAK,YAAY;EACjB,KAAK,WAAW;EAChB,KAAK,eAAe;CACtB;CAEA,OAAe,wBAA6C,SAC1D,cAAc,OAAO,KAAA,GAAW,KAAK,UAAU,IAAI,CAAC;;;;;CAMtD,cAAqB,OAA8B;EACjD,OACE,CAAC,CAAC,SACF,KAAK,aAAa,MAAM,YACxB,KAAK,cAAc,MAAM,aACzB,KAAK,SAAS,MAAM,QACpB,KAAK,WAAW,MAAM,UACtB,KAAK,oBAAoB,MAAM;CAEnC;CAEA,OAAc,MAAoB;EAGhC,QAFkB,KAAK,YACrB,SAAS,qBAAA,CACK,MAAe,KAAK,IAAI;CAC1C;AACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
3
|
import { IconSearch } from "../../../Icon/components/icons/IconSearch.mjs";
|
|
4
|
-
import { Text } from "../../../Text/Text.mjs";
|
|
5
4
|
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
5
|
+
import { Text } from "../../../Text/Text.mjs";
|
|
6
6
|
import { Heading } from "../../../Heading/Heading.mjs";
|
|
7
7
|
import __locale_default from "../../../../../../../_virtual/_16.locale.mjs";
|
|
8
8
|
import { IllustratedMessage } from "../../../IllustratedMessage/IllustratedMessage.mjs";
|
|
@@ -20,7 +20,7 @@ import remarkGfm from "remark-gfm";
|
|
|
20
20
|
* @flr-ignore-props components
|
|
21
21
|
*/
|
|
22
22
|
var Markdown = (props) => {
|
|
23
|
-
const { children, color = "default", className, headingOffset = 0, components: customComponents, ref, remarkPlugins, urlTransform, ...rest } = props;
|
|
23
|
+
const { children, color = "default", className, headingOffset = 0, components: customComponents, ref, allowElement, allowedElements, disallowedElements, rehypePlugins, remarkPlugins, remarkRehypeOptions, skipHtml, unwrapDisallowed, urlTransform, ...rest } = props;
|
|
24
24
|
const defaultComponents = {
|
|
25
25
|
a: (props) => /* @__PURE__ */ jsx(Link, {
|
|
26
26
|
target: "_blank",
|
|
@@ -99,7 +99,14 @@ var Markdown = (props) => {
|
|
|
99
99
|
...rest,
|
|
100
100
|
ref,
|
|
101
101
|
children: /* @__PURE__ */ jsx(ReactMarkdown, {
|
|
102
|
+
allowElement,
|
|
103
|
+
allowedElements,
|
|
104
|
+
disallowedElements,
|
|
105
|
+
rehypePlugins,
|
|
102
106
|
remarkPlugins: remarkPlugins ?? [remarkGfm],
|
|
107
|
+
remarkRehypeOptions,
|
|
108
|
+
skipHtml,
|
|
109
|
+
unwrapDisallowed,
|
|
103
110
|
urlTransform,
|
|
104
111
|
components: mergedComponents,
|
|
105
112
|
children: textContent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.mjs","names":[],"sources":["../../../../../../../src/components/Markdown/Markdown.tsx"],"sourcesContent":["import { CodeBlock } from \"@/components/CodeBlock\";\nimport { Heading } from \"@/components/Heading\";\nimport { InlineCode } from \"@/components/InlineCode\";\nimport { Link } from \"@/components/Link\";\nimport { Separator } from \"@/components/Separator\";\nimport { Text } from \"@/components/Text\";\nimport type { CSSProperties, FC, ReactNode, Ref } from \"react\";\nimport { Children, isValidElement } from \"react\";\nimport type { Components, Options } from \"react-markdown\";\nimport ReactMarkdown from \"react-markdown\";\nimport styles from \"./Markdown.module.scss\";\nimport { extractTextFromFirstChild } from \"@/lib/react/remote\";\nimport type { AlphaColor, PropsWithClassName } from \"@/lib/types/props\";\nimport clsx from \"clsx\";\nimport remarkGfm from \"remark-gfm\";\nimport { getHeadingLevelWithOffset } from \"@/components/Markdown/lib/getHeadingLevelWithOffset\";\nimport type { CodeEditorLanguage } from \"@/components/CodeEditor/languages\";\n\nexport interface MarkdownProps\n extends PropsWithClassName, Omit<Options, \"components\"> {\n /** The color schema of the markdown component. @default \"default\" */\n color?: \"default\" | AlphaColor;\n /** Shifts all heading levels by the given offset. @default 0 */\n headingOffset?: number;\n /** Allows overriding markdown element renderers from outside. */\n components?: Components;\n /** @internal */\n style?: CSSProperties;\n /** A ref to the elements root. */\n ref?: Ref<HTMLDivElement>;\n}\n\n/**\n * @flr-generate all\n * @flr-ignore-props components\n */\nexport const Markdown: FC<MarkdownProps> = (props) => {\n const {\n children,\n color = \"default\",\n className,\n headingOffset = 0,\n components: customComponents,\n ref,\n remarkPlugins,\n urlTransform,\n ...rest\n } = props;\n\n const defaultComponents: Components = {\n a: (props) => (\n <Link target=\"_blank\" color={color} href={props.href}>\n {props.children}\n </Link>\n ),\n p: (props) => (\n <Text elementType=\"p\" color={color}>\n {props.children}\n </Text>\n ),\n code: (props) => <InlineCode color={color}>{props.children}</InlineCode>,\n h1: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(1, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n h2: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(2, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n h3: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(3, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n h4: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(4, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n h5: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(5, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n h6: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(6, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n hr: () => <Separator />,\n pre: (props) => {\n const preElementContent = Children.toArray(props.children)[0];\n\n return (\n <CodeBlock\n copyable={false}\n language={\n isValidElement<{ className?: string }>(preElementContent) &&\n preElementContent.props.className\n ? (preElementContent.props.className.replace(\n \"language-\",\n \"\",\n ) as CodeEditorLanguage)\n : undefined\n }\n code={String(\n isValidElement<{ children: string }>(preElementContent)\n ? preElementContent.props.children\n : preElementContent,\n ).trim()}\n />\n );\n },\n ul: (props) => (\n <Text color={color}>\n <ul>{props.children as ReactNode}</ul>\n </Text>\n ),\n ol: (props) => (\n <Text color={color}>\n <ol>{props.children as ReactNode}</ol>\n </Text>\n ),\n blockquote: (props) => (\n <Text color={color}>\n <blockquote>{props.children}</blockquote>\n </Text>\n ),\n };\n\n const textContent = extractTextFromFirstChild(children);\n const mergedComponents: Components = {\n ...defaultComponents,\n ...customComponents,\n };\n\n return (\n <div className={clsx(styles.markdown, className)} {...rest} ref={ref}>\n <ReactMarkdown\n remarkPlugins={remarkPlugins ?? [remarkGfm]}\n urlTransform={urlTransform}\n components={mergedComponents}\n >\n {textContent}\n </ReactMarkdown>\n </div>\n );\n};\n\nexport default Markdown;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAoCA,IAAa,YAA+B,UAAU;CACpD,MAAM,EACJ,UACA,QAAQ,WACR,WACA,gBAAgB,GAChB,YAAY,kBACZ,KACA,eACA,cACA,GAAG,SACD;CAEJ,MAAM,oBAAgC;EACpC,IAAI,UACF,oBAAC,MAAD;GAAM,QAAO;GAAgB;GAAO,MAAM,MAAM;GAC7C,UAAA,MAAM;EACH,CAAA;EAER,IAAI,UACF,oBAAC,MAAD;GAAM,aAAY;GAAW;GAC1B,UAAA,MAAM;EACH,CAAA;EAER,OAAO,UAAU,oBAAC,YAAD;GAAmB;GAAQ,UAAA,MAAM;EAAqB,CAAA;EACvE,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,UAAU,oBAAC,WAAD,CAAY,CAAA;EACtB,MAAM,UAAU;GACd,MAAM,oBAAoB,SAAS,QAAQ,MAAM,QAAQ,CAAC,CAAC;GAE3D,OACE,oBAAC,WAAD;IACE,UAAU;IACV,UACE,eAAuC,iBAAiB,KACxD,kBAAkB,MAAM,YACnB,kBAAkB,MAAM,UAAU,QACjC,aACA,EACF,IACA,KAAA;IAEN,MAAM,OACJ,eAAqC,iBAAiB,IAClD,kBAAkB,MAAM,WACxB,iBACN,CAAC,CAAC,KAAK;GACR,CAAA;EAEL;EACA,KAAK,UACH,oBAAC,MAAD;GAAa;GACX,UAAA,oBAAC,MAAD,EAAA,UAAK,MAAM,SAA0B,CAAA;EACjC,CAAA;EAER,KAAK,UACH,oBAAC,MAAD;GAAa;GACX,UAAA,oBAAC,MAAD,EAAA,UAAK,MAAM,SAA0B,CAAA;EACjC,CAAA;EAER,aAAa,UACX,oBAAC,MAAD;GAAa;GACX,UAAA,oBAAC,cAAD,EAAA,UAAa,MAAM,SAAqB,CAAA;EACpC,CAAA;CAEV;CAEA,MAAM,cAAc,0BAA0B,QAAQ;CACtD,MAAM,mBAA+B;EACnC,GAAG;EACH,GAAG;CACL;CAEA,OACE,oBAAC,OAAD;EAAK,WAAW,KAAK,wBAAO,UAAU,SAAS;EAAG,GAAI;EAAW;EAC/D,UAAA,oBAAC,eAAD;
|
|
1
|
+
{"version":3,"file":"Markdown.mjs","names":[],"sources":["../../../../../../../src/components/Markdown/Markdown.tsx"],"sourcesContent":["import { CodeBlock } from \"@/components/CodeBlock\";\nimport { Heading } from \"@/components/Heading\";\nimport { InlineCode } from \"@/components/InlineCode\";\nimport { Link } from \"@/components/Link\";\nimport { Separator } from \"@/components/Separator\";\nimport { Text } from \"@/components/Text\";\nimport type { CSSProperties, FC, ReactNode, Ref } from \"react\";\nimport { Children, isValidElement } from \"react\";\nimport type { Components, Options } from \"react-markdown\";\nimport ReactMarkdown from \"react-markdown\";\nimport styles from \"./Markdown.module.scss\";\nimport { extractTextFromFirstChild } from \"@/lib/react/remote\";\nimport type { AlphaColor, PropsWithClassName } from \"@/lib/types/props\";\nimport clsx from \"clsx\";\nimport remarkGfm from \"remark-gfm\";\nimport { getHeadingLevelWithOffset } from \"@/components/Markdown/lib/getHeadingLevelWithOffset\";\nimport type { CodeEditorLanguage } from \"@/components/CodeEditor/languages\";\n\nexport interface MarkdownProps\n extends PropsWithClassName, Omit<Options, \"components\"> {\n /** The color schema of the markdown component. @default \"default\" */\n color?: \"default\" | AlphaColor;\n /** Shifts all heading levels by the given offset. @default 0 */\n headingOffset?: number;\n /** Allows overriding markdown element renderers from outside. */\n components?: Components;\n /** @internal */\n style?: CSSProperties;\n /** A ref to the elements root. */\n ref?: Ref<HTMLDivElement>;\n}\n\n/**\n * @flr-generate all\n * @flr-ignore-props components\n */\nexport const Markdown: FC<MarkdownProps> = (props) => {\n const {\n children,\n color = \"default\",\n className,\n headingOffset = 0,\n components: customComponents,\n ref,\n allowElement,\n allowedElements,\n disallowedElements,\n rehypePlugins,\n remarkPlugins,\n remarkRehypeOptions,\n skipHtml,\n unwrapDisallowed,\n urlTransform,\n ...rest\n } = props;\n\n const defaultComponents: Components = {\n a: (props) => (\n <Link target=\"_blank\" color={color} href={props.href}>\n {props.children}\n </Link>\n ),\n p: (props) => (\n <Text elementType=\"p\" color={color}>\n {props.children}\n </Text>\n ),\n code: (props) => <InlineCode color={color}>{props.children}</InlineCode>,\n h1: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(1, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n h2: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(2, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n h3: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(3, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n h4: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(4, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n h5: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(5, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n h6: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(6, headingOffset)}\n color={color}\n >\n {props.children}\n </Heading>\n ),\n hr: () => <Separator />,\n pre: (props) => {\n const preElementContent = Children.toArray(props.children)[0];\n\n return (\n <CodeBlock\n copyable={false}\n language={\n isValidElement<{ className?: string }>(preElementContent) &&\n preElementContent.props.className\n ? (preElementContent.props.className.replace(\n \"language-\",\n \"\",\n ) as CodeEditorLanguage)\n : undefined\n }\n code={String(\n isValidElement<{ children: string }>(preElementContent)\n ? preElementContent.props.children\n : preElementContent,\n ).trim()}\n />\n );\n },\n ul: (props) => (\n <Text color={color}>\n <ul>{props.children as ReactNode}</ul>\n </Text>\n ),\n ol: (props) => (\n <Text color={color}>\n <ol>{props.children as ReactNode}</ol>\n </Text>\n ),\n blockquote: (props) => (\n <Text color={color}>\n <blockquote>{props.children}</blockquote>\n </Text>\n ),\n };\n\n const textContent = extractTextFromFirstChild(children);\n const mergedComponents: Components = {\n ...defaultComponents,\n ...customComponents,\n };\n\n return (\n <div className={clsx(styles.markdown, className)} {...rest} ref={ref}>\n <ReactMarkdown\n allowElement={allowElement}\n allowedElements={allowedElements}\n disallowedElements={disallowedElements}\n rehypePlugins={rehypePlugins}\n remarkPlugins={remarkPlugins ?? [remarkGfm]}\n remarkRehypeOptions={remarkRehypeOptions}\n skipHtml={skipHtml}\n unwrapDisallowed={unwrapDisallowed}\n urlTransform={urlTransform}\n components={mergedComponents}\n >\n {textContent}\n </ReactMarkdown>\n </div>\n );\n};\n\nexport default Markdown;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAoCA,IAAa,YAA+B,UAAU;CACpD,MAAM,EACJ,UACA,QAAQ,WACR,WACA,gBAAgB,GAChB,YAAY,kBACZ,KACA,cACA,iBACA,oBACA,eACA,eACA,qBACA,UACA,kBACA,cACA,GAAG,SACD;CAEJ,MAAM,oBAAgC;EACpC,IAAI,UACF,oBAAC,MAAD;GAAM,QAAO;GAAgB;GAAO,MAAM,MAAM;GAC7C,UAAA,MAAM;EACH,CAAA;EAER,IAAI,UACF,oBAAC,MAAD;GAAM,aAAY;GAAW;GAC1B,UAAA,MAAM;EACH,CAAA;EAER,OAAO,UAAU,oBAAC,YAAD;GAAmB;GAAQ,UAAA,MAAM;EAAqB,CAAA;EACvE,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,KAAK,UACH,oBAAC,SAAD;GACE,OAAO,0BAA0B,GAAG,aAAa;GAC1C;GAEN,UAAA,MAAM;EACA,CAAA;EAEX,UAAU,oBAAC,WAAD,CAAY,CAAA;EACtB,MAAM,UAAU;GACd,MAAM,oBAAoB,SAAS,QAAQ,MAAM,QAAQ,CAAC,CAAC;GAE3D,OACE,oBAAC,WAAD;IACE,UAAU;IACV,UACE,eAAuC,iBAAiB,KACxD,kBAAkB,MAAM,YACnB,kBAAkB,MAAM,UAAU,QACjC,aACA,EACF,IACA,KAAA;IAEN,MAAM,OACJ,eAAqC,iBAAiB,IAClD,kBAAkB,MAAM,WACxB,iBACN,CAAC,CAAC,KAAK;GACR,CAAA;EAEL;EACA,KAAK,UACH,oBAAC,MAAD;GAAa;GACX,UAAA,oBAAC,MAAD,EAAA,UAAK,MAAM,SAA0B,CAAA;EACjC,CAAA;EAER,KAAK,UACH,oBAAC,MAAD;GAAa;GACX,UAAA,oBAAC,MAAD,EAAA,UAAK,MAAM,SAA0B,CAAA;EACjC,CAAA;EAER,aAAa,UACX,oBAAC,MAAD;GAAa;GACX,UAAA,oBAAC,cAAD,EAAA,UAAa,MAAM,SAAqB,CAAA;EACpC,CAAA;CAEV;CAEA,MAAM,cAAc,0BAA0B,QAAQ;CACtD,MAAM,mBAA+B;EACnC,GAAG;EACH,GAAG;CACL;CAEA,OACE,oBAAC,OAAD;EAAK,WAAW,KAAK,wBAAO,UAAU,SAAS;EAAG,GAAI;EAAW;EAC/D,UAAA,oBAAC,eAAD;GACgB;GACG;GACG;GACL;GACf,eAAe,iBAAiB,CAAC,SAAS;GACrB;GACX;GACQ;GACJ;GACd,YAAY;GAEX,UAAA;EACY,CAAA;CACZ,CAAA;AAET"}
|
|
@@ -9,8 +9,8 @@ import { Wrap } from "../Wrap/Wrap.mjs";
|
|
|
9
9
|
import { useLocalizedStringFormatter } from "../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
10
10
|
import { OverlayController } from "../../lib/controller/overlay/OverlayController.mjs";
|
|
11
11
|
import { Action } from "../Action/Action.mjs";
|
|
12
|
-
import DivView from "../../views/DivView.mjs";
|
|
13
12
|
import ButtonView from "../../views/ButtonView.mjs";
|
|
13
|
+
import DivView from "../../views/DivView.mjs";
|
|
14
14
|
import { Overlay } from "../Overlay/Overlay.mjs";
|
|
15
15
|
import Modal_module_default from "./Modal.module.mjs";
|
|
16
16
|
import { OffCanvasSuspenseFallback } from "./components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.module.mjs","names":[],"sources":["../../../../../../../src/components/Modal/Modal.module.scss"],"sourcesContent":["@use \"@/styles/mixins/scrollbar\";\n\n/* Caps the dialog width per size token (`size-s` / `size-m` / `size-l`). */\n@mixin size($size) {\n &.size-#{$size} {\n [role=\"dialog\"] {\n width: inherit;\n max-width: var(--modal--size--#{$size});\n }\n }\n}\n\n/* ===========================================================================\n Base — shared by Modal (centered / bottom sheet) and OffCanvas (side panel).\n =========================================================================== */\n.modal,\n.offCanvas {\n /* Fixed full-viewport layer + centering wrapper. Sized to the visual\n viewport so it tracks the on-screen keyboard (Overlay sets the var). */\n > div {\n position: fixed;\n height: var(--visual-viewport-height);\n display: flex;\n flex-direction: column;\n width: 100%;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > div {\n display: flex;\n justify-content: center;\n width: inherit;\n max-height: var(--visual-viewport-height);\n padding: var(--size-px--xl);\n }\n }\n\n /* Close button: hidden when an action group is present, unless forced. */\n &:has(.actionGroup) {\n .closeButton:not(.alwaysVisible) {\n display: none;\n }\n }\n\n .closeButton.alwaysHidden {\n display: none;\n }\n\n /* The dialog card itself — a flex column. */\n [role=\"dialog\"] {\n display: flex;\n flex-direction: column;\n max-height: 100%;\n overflow: hidden;\n outline: none;\n pointer-events: all;\n background-color: var(--modal--background-color);\n border: var(--modal--border-width) var(--modal--border-style)\n var(--modal--border-color);\n\n > form {\n display: contents;\n }\n }\n\n /* Header */\n header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header {\n display: flex;\n align-items: center;\n gap: var(--heading--icon-to-text-spacing);\n padding-top: var(--modal--header-padding-top);\n padding-inline: var(--modal--padding);\n\n /* Flatten the heading's text and content spans into the header row, so\n badges stay behind the title instead of wrapping onto their own line. */\n > span {\n display: contents;\n }\n\n .headerTitle {\n min-width: 0;\n }\n\n .closeButton {\n order: 1;\n margin-inline-start: auto;\n }\n }\n\n /* Content — the scrollable body */\n .content,\n .columnLayout {\n @include scrollbar.scrollbar;\n\n flex-grow: 1;\n min-height: var(--modal--content-min-height);\n padding: var(--modal--padding);\n overflow: hidden auto;\n background-color: var(--modal--background-color);\n }\n\n .columnLayout .accentBox {\n position: sticky;\n top: 0;\n height: fit-content;\n }\n\n /* Action group — the footer */\n .actionGroup {\n padding: var(--modal--padding);\n background-color: var(--modal--footer-background-color);\n }\n\n /* ActionGroup's \"sorted\" layout sets flex-grow:1 on itself; the modal footer\n must keep its natural height (otherwise it fills the full-height off-canvas\n panel). Scope via the dialog so flex-grow:0 wins the equal-specificity /\n source-order battle — without raising the specificity of the padding above,\n which the mobile rules override. */\n [role=\"dialog\"] .actionGroup {\n flex-grow: 0;\n }\n}\n\n/* ===========================================================================\n Modal — desktop (centered dialog, zoom in/out).\n =========================================================================== */\n@media (width > 768px) {\n .modal {\n @include size(s);\n @include size(m);\n @include size(l);\n\n [role=\"dialog\"] {\n border-radius: var(--modal--corner-radius);\n }\n\n > div > div {\n &[data-entering] {\n animation: modal-zoom var(--transition--duration--slow)\n cubic-bezier(0.1, 0.8, 0.3, 1.2);\n }\n\n &[data-exiting] {\n animation: modal-zoom var(--transition--duration--default)\n cubic-bezier(0.1, 0.8, 0.3, 1.2) reverse;\n }\n }\n }\n}\n\n/* ===========================================================================\n OffCanvas — side panel (all widths), full height, slides in from the side.\n =========================================================================== */\n.offCanvas {\n @include size(s);\n @include size(m);\n @include size(l);\n\n [role=\"dialog\"] {\n height: 100%;\n border-radius: 0;\n }\n\n > div {\n padding-inline-start: var(--size-px--m);\n\n > div {\n justify-content: flex-end;\n width: inherit;\n height: inherit;\n padding: unset;\n\n &[data-entering] {\n animation: modal-slide-in-from-right var(--transition--duration--slow);\n }\n\n &[data-exiting] {\n animation: modal-slide-in-from-right\n var(--transition--duration--default) reverse;\n }\n }\n }\n\n &.left {\n > div {\n padding-inline: 0 var(--size-px--m);\n\n > div {\n justify-content: flex-start;\n padding: unset;\n\n &[data-entering] {\n animation: modal-slide-in-from-left var(--transition--duration--slow);\n }\n\n &[data-exiting] {\n animation: modal-slide-in-from-left\n var(--transition--duration--default) reverse;\n }\n }\n }\n }\n}\n\n/* ===========================================================================\n Modal — mobile (bottom sheet), issue #2423.\n\n One scroll container: the dialog scrolls while the header sticks to the top\n and the footer to the bottom. While the virtual keyboard is open\n (.keyboardVisible) both un-stick so header + content + footer flow normally\n and the content gets the full available space.\n =========================================================================== */\n@media (max-width: 768px) {\n .modal {\n /* Bottom-anchored sheet: rounded top corners + slide-up animation. */\n > div > div {\n margin-top: auto;\n width: 100%;\n padding: unset;\n overflow: hidden;\n border-start-start-radius: var(--modal--corner-radius);\n border-start-end-radius: var(--modal--corner-radius);\n pointer-events: all;\n\n &[data-entering] {\n animation: modal-slide-up var(--transition--duration--slow);\n }\n\n &[data-exiting] {\n animation: modal-slide-up var(--transition--duration--default) reverse;\n }\n }\n\n /* The dialog is the single scroll container. Capped just below the visual\n viewport so a full-height sheet keeps a small gap from the top edge. */\n [role=\"dialog\"] {\n @include scrollbar.scrollbar;\n\n width: inherit;\n max-height: calc(\n var(--visual-viewport-height) - var(--modal--tray-top-spacing)\n );\n overflow: hidden auto;\n }\n\n [role=\"dialog\"] > form {\n width: inherit;\n }\n\n /* flex: 0 0 auto keeps natural heights; without flex-shrink:0 the flex\n column compresses the content box and the (overflow:visible) fields\n spill over the footer. */\n .header,\n .content,\n .columnLayout,\n .actionGroup {\n flex: 0 0 auto;\n }\n\n .content,\n .columnLayout {\n min-height: 0;\n overflow: visible;\n }\n\n /* Docked header + footer (sticky within the single scroll container). */\n .header {\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: var(--modal--background-color);\n }\n\n .actionGroup {\n position: sticky;\n bottom: 0;\n z-index: 1;\n }\n }\n\n /* Keyboard open: un-stick both so everything flows for maximum typing space.\n The dialog fills the available height and the footer uses margin-top:auto,\n so with SHORT content the footer still sits at the bottom (not mid-air) and\n with tall content it scrolls away with everything else. Never hidden. */\n .modal.keyboardVisible {\n [role=\"dialog\"] {\n min-height: calc(\n var(--visual-viewport-height) - var(--modal--tray-top-spacing)\n );\n }\n\n .header,\n .actionGroup {\n position: static;\n }\n\n .actionGroup {\n margin-top: auto;\n }\n }\n\n /* Shared mobile spacing + full-width stacked actions (Modal + OffCanvas). */\n .modal,\n .offCanvas {\n .header {\n padding-inline: var(--modal--padding-mobile);\n }\n\n .content,\n .columnLayout,\n .actionGroup {\n padding: var(--modal--padding-mobile);\n }\n\n .actionGroup {\n flex-direction: column;\n\n button {\n width: 100%;\n }\n }\n }\n}\n\n/* ===========================================================================\n Animations\n =========================================================================== */\n@keyframes modal-zoom {\n /* Start with scale(1) to let ResizeObservers take the correct width on mount. */\n 0% {\n opacity: 0;\n transform: scale(1);\n }\n\n 0.1% {\n opacity: 1;\n transform: scale(0.8);\n }\n\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes modal-slide-up {\n from {\n translate: 0 30%;\n }\n\n to {\n translate: 0 0;\n }\n}\n\n@keyframes modal-slide-in-from-right {\n from {\n translate: 30% 0;\n }\n\n to {\n translate: 0 0;\n }\n}\n\n@keyframes modal-slide-in-from-left {\n from {\n translate: -30% 0;\n }\n\n to {\n translate: 0 0;\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Modal.module.mjs","names":[],"sources":["../../../../../../../src/components/Modal/Modal.module.scss"],"sourcesContent":["@use \"@/styles/mixins/scrollbar\";\n\n/* Caps the dialog width per size token (`size-s` / `size-m` / `size-l`). */\n@mixin size($size) {\n &.size-#{$size} {\n [role=\"dialog\"] {\n width: inherit;\n max-width: var(--modal--size--#{$size});\n }\n }\n}\n\n/* ===========================================================================\n Base — shared by Modal (centered / bottom sheet) and OffCanvas (side panel).\n =========================================================================== */\n.modal,\n.offCanvas {\n /* Fixed full-viewport layer + centering wrapper. Sized to the visual\n viewport so it tracks the on-screen keyboard (Overlay sets the var). */\n > div {\n position: fixed;\n height: var(--visual-viewport-height);\n display: flex;\n flex-direction: column;\n width: 100%;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > div {\n display: flex;\n justify-content: center;\n width: inherit;\n max-height: var(--visual-viewport-height);\n padding: var(--size-px--xl);\n }\n }\n\n /* Close button: hidden when an action group is present, unless forced. */\n &:has(.actionGroup) {\n .closeButton:not(.alwaysVisible) {\n display: none;\n }\n }\n\n .closeButton.alwaysHidden {\n display: none;\n }\n\n /* The dialog card itself — a flex column. It is also the scroll container on\n mobile, and the sticky header/footer stack against its content only. */\n [role=\"dialog\"] {\n display: flex;\n flex-direction: column;\n isolation: isolate;\n max-height: 100%;\n overflow: hidden;\n outline: none;\n pointer-events: all;\n background-color: var(--modal--background-color);\n border: var(--modal--border-width) var(--modal--border-style)\n var(--modal--border-color);\n\n > form {\n display: contents;\n }\n }\n\n /* Header */\n header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header {\n display: flex;\n align-items: center;\n gap: var(--heading--icon-to-text-spacing);\n padding-top: var(--modal--header-padding-top);\n padding-inline: var(--modal--padding);\n\n /* Flatten the heading's text and content spans into the header row, so\n badges stay behind the title instead of wrapping onto their own line. */\n > span {\n display: contents;\n }\n\n .headerTitle {\n min-width: 0;\n }\n\n .closeButton {\n order: 1;\n margin-inline-start: auto;\n }\n }\n\n /* Content — the scrollable body */\n .content,\n .columnLayout {\n @include scrollbar.scrollbar;\n\n flex-grow: 1;\n min-height: var(--modal--content-min-height);\n padding: var(--modal--padding);\n overflow: hidden auto;\n background-color: var(--modal--background-color);\n }\n\n .columnLayout .accentBox {\n position: sticky;\n top: 0;\n height: fit-content;\n }\n\n /* Action group — the footer */\n .actionGroup {\n padding: var(--modal--padding);\n background-color: var(--modal--footer-background-color);\n }\n\n /* ActionGroup's \"sorted\" layout sets flex-grow:1 on itself; the modal footer\n must keep its natural height (otherwise it fills the full-height off-canvas\n panel). Scope via the dialog so flex-grow:0 wins the equal-specificity /\n source-order battle — without raising the specificity of the padding above,\n which the mobile rules override. */\n [role=\"dialog\"] .actionGroup {\n flex-grow: 0;\n }\n}\n\n/* ===========================================================================\n Modal — desktop (centered dialog, zoom in/out).\n =========================================================================== */\n@media (width > 768px) {\n .modal {\n @include size(s);\n @include size(m);\n @include size(l);\n\n [role=\"dialog\"] {\n border-radius: var(--modal--corner-radius);\n }\n\n > div > div {\n &[data-entering] {\n animation: modal-zoom var(--transition--duration--slow)\n cubic-bezier(0.1, 0.8, 0.3, 1.2);\n }\n\n &[data-exiting] {\n animation: modal-zoom var(--transition--duration--default)\n cubic-bezier(0.1, 0.8, 0.3, 1.2) reverse;\n }\n }\n }\n}\n\n/* ===========================================================================\n OffCanvas — side panel (all widths), full height, slides in from the side.\n =========================================================================== */\n.offCanvas {\n @include size(s);\n @include size(m);\n @include size(l);\n\n [role=\"dialog\"] {\n height: 100%;\n border-radius: 0;\n }\n\n > div {\n padding-inline-start: var(--size-px--m);\n\n > div {\n justify-content: flex-end;\n width: inherit;\n height: inherit;\n padding: unset;\n\n &[data-entering] {\n animation: modal-slide-in-from-right var(--transition--duration--slow);\n }\n\n &[data-exiting] {\n animation: modal-slide-in-from-right\n var(--transition--duration--default) reverse;\n }\n }\n }\n\n &.left {\n > div {\n padding-inline: 0 var(--size-px--m);\n\n > div {\n justify-content: flex-start;\n padding: unset;\n\n &[data-entering] {\n animation: modal-slide-in-from-left var(--transition--duration--slow);\n }\n\n &[data-exiting] {\n animation: modal-slide-in-from-left\n var(--transition--duration--default) reverse;\n }\n }\n }\n }\n}\n\n/* ===========================================================================\n Modal — mobile (bottom sheet), issue #2423.\n\n One scroll container: the dialog scrolls while the header sticks to the top\n and the footer to the bottom. While the virtual keyboard is open\n (.keyboardVisible) both un-stick so header + content + footer flow normally\n and the content gets the full available space.\n =========================================================================== */\n@media (max-width: 768px) {\n .modal {\n /* Bottom-anchored sheet: rounded top corners + slide-up animation. */\n > div > div {\n margin-top: auto;\n width: 100%;\n padding: unset;\n overflow: hidden;\n border-start-start-radius: var(--modal--corner-radius);\n border-start-end-radius: var(--modal--corner-radius);\n pointer-events: all;\n\n &[data-entering] {\n animation: modal-slide-up var(--transition--duration--slow);\n }\n\n &[data-exiting] {\n animation: modal-slide-up var(--transition--duration--default) reverse;\n }\n }\n\n /* The dialog is the single scroll container. Capped just below the visual\n viewport so a full-height sheet keeps a small gap from the top edge. */\n [role=\"dialog\"] {\n @include scrollbar.scrollbar;\n\n width: inherit;\n max-height: calc(\n var(--visual-viewport-height) - var(--modal--tray-top-spacing)\n );\n overflow: hidden auto;\n }\n\n [role=\"dialog\"] > form {\n width: inherit;\n }\n\n /* flex: 0 0 auto keeps natural heights; without flex-shrink:0 the flex\n column compresses the content box and the (overflow:visible) fields\n spill over the footer. */\n .header,\n .content,\n .columnLayout,\n .actionGroup {\n flex: 0 0 auto;\n }\n\n .content,\n .columnLayout {\n min-height: 0;\n overflow: visible;\n }\n\n /* Docked header + footer (sticky within the single scroll container). */\n .header {\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: var(--modal--background-color);\n }\n\n .actionGroup {\n position: sticky;\n bottom: 0;\n z-index: 1;\n }\n }\n\n /* Keyboard open: un-stick both so everything flows for maximum typing space.\n The dialog fills the available height and the footer uses margin-top:auto,\n so with SHORT content the footer still sits at the bottom (not mid-air) and\n with tall content it scrolls away with everything else. Never hidden. */\n .modal.keyboardVisible {\n [role=\"dialog\"] {\n min-height: calc(\n var(--visual-viewport-height) - var(--modal--tray-top-spacing)\n );\n }\n\n .header,\n .actionGroup {\n position: static;\n }\n\n .actionGroup {\n margin-top: auto;\n }\n }\n\n /* Shared mobile spacing + full-width stacked actions (Modal + OffCanvas). */\n .modal,\n .offCanvas {\n .header {\n padding-inline: var(--modal--padding-mobile);\n }\n\n .content,\n .columnLayout,\n .actionGroup {\n padding: var(--modal--padding-mobile);\n }\n\n .actionGroup {\n flex-direction: column;\n\n button {\n width: 100%;\n }\n }\n }\n}\n\n/* ===========================================================================\n Animations\n =========================================================================== */\n@keyframes modal-zoom {\n /* Start with scale(1) to let ResizeObservers take the correct width on mount. */\n 0% {\n opacity: 0;\n transform: scale(1);\n }\n\n 0.1% {\n opacity: 1;\n transform: scale(0.8);\n }\n\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes modal-slide-up {\n from {\n translate: 0 30%;\n }\n\n to {\n translate: 0 0;\n }\n}\n\n@keyframes modal-slide-in-from-right {\n from {\n translate: 30% 0;\n }\n\n to {\n translate: 0 0;\n }\n}\n\n@keyframes modal-slide-in-from-left {\n from {\n translate: -30% 0;\n }\n\n to {\n translate: 0 0;\n }\n}\n"],"mappings":""}
|
|
@@ -2,11 +2,19 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { PropsContextProvider } from "../../lib/propsContext/components/PropsContextProvider.mjs";
|
|
4
4
|
import { flowComponent } from "../../lib/componentFactory/flowComponent.mjs";
|
|
5
|
+
import dynamic from "../../lib/propsContext/dynamicProps/dynamic.mjs";
|
|
6
|
+
import { containsTextChild } from "../../lib/react/remote.mjs";
|
|
5
7
|
import Navigation_module_default from "./Navigation.module.mjs";
|
|
6
8
|
import { LinkListTunnelExit } from "./components/LinkListTunnelExit/LinkListTunnelExit.mjs";
|
|
7
9
|
import clsx from "clsx";
|
|
10
|
+
import { Children } from "react";
|
|
8
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
12
|
//#region src/components/Navigation/Navigation.tsx
|
|
13
|
+
/**
|
|
14
|
+
* A bare text node is an anonymous flex item that no rule can reach, so give
|
|
15
|
+
* the label an element the item can truncate.
|
|
16
|
+
*/
|
|
17
|
+
var wrapTextInLabel = (children) => Children.map(children, (child) => containsTextChild(child) ? /* @__PURE__ */ jsx("span", { children: child }) : child);
|
|
10
18
|
/** @flr-generate all */
|
|
11
19
|
var Navigation = flowComponent("Navigation", (props) => {
|
|
12
20
|
const { className, children, ref, ...rest } = props;
|
|
@@ -15,6 +23,7 @@ var Navigation = flowComponent("Navigation", (props) => {
|
|
|
15
23
|
wrapWith: /* @__PURE__ */ jsx("li", {}),
|
|
16
24
|
className: Navigation_module_default.item,
|
|
17
25
|
unstyled: true,
|
|
26
|
+
children: dynamic((linkProps) => wrapTextInLabel(linkProps.children)),
|
|
18
27
|
Icon: {
|
|
19
28
|
className: Navigation_module_default.icon,
|
|
20
29
|
size: "m"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.mjs","names":[],"sources":["../../../../../../../src/components/Navigation/Navigation.tsx"],"sourcesContent":["import type { ComponentProps, PropsWithChildren } from \"react\";\nimport styles from \"./Navigation.module.scss\";\nimport clsx from \"clsx\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport type { ComponentPropsContext } from \"@/lib/propsContext/types\";\nimport { LinkListTunnelExit } from \"@/components/Navigation/components/LinkListTunnelExit/LinkListTunnelExit\";\n\nexport interface NavigationProps\n extends\n PropsWithChildren<ComponentProps<\"nav\">>,\n PropsWithClassName,\n FlowComponentProps<HTMLElement> {}\n\n/** @flr-generate all */\nexport const Navigation = flowComponent(\"Navigation\", (props) => {\n const { className, children, ref, ...rest } = props;\n\n const rootClassName = clsx(styles.navigation, className);\n\n const linkPropsContext: ComponentPropsContext<\"Link\"> = {\n wrapWith: <li />,\n className: styles.item,\n unstyled: true,\n Icon: {\n className: styles.icon,\n size: \"m\",\n },\n Badge: { className: styles.badge },\n AlertBadge: { className: styles.badge },\n CounterBadge: { className: styles.badge },\n };\n\n return (\n <PropsContextProvider\n props={{\n Link: {\n ...linkPropsContext,\n tunnel: {\n id: \"links\",\n component: \"Navigation\",\n },\n },\n NavigationGroup: {\n Link: linkPropsContext,\n },\n }}\n >\n <nav className={rootClassName} role=\"navigation\" {...rest} ref={ref}>\n <LinkListTunnelExit id=\"links\" component=\"Navigation\" />\n {children}\n </nav>\n </PropsContextProvider>\n );\n});\n\nexport default Navigation;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Navigation.mjs","names":[],"sources":["../../../../../../../src/components/Navigation/Navigation.tsx"],"sourcesContent":["import type { ComponentProps, PropsWithChildren, ReactNode } from \"react\";\nimport { Children } from \"react\";\nimport styles from \"./Navigation.module.scss\";\nimport clsx from \"clsx\";\nimport { dynamic, PropsContextProvider } from \"@/lib/propsContext\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport type { ComponentPropsContext } from \"@/lib/propsContext/types\";\nimport { LinkListTunnelExit } from \"@/components/Navigation/components/LinkListTunnelExit/LinkListTunnelExit\";\nimport { containsTextChild } from \"@/lib/react/remote\";\n\nexport interface NavigationProps\n extends\n PropsWithChildren<ComponentProps<\"nav\">>,\n PropsWithClassName,\n FlowComponentProps<HTMLElement> {}\n\n/**\n * A bare text node is an anonymous flex item that no rule can reach, so give\n * the label an element the item can truncate.\n */\nconst wrapTextInLabel = (children: ReactNode): ReactNode =>\n Children.map(children, (child) =>\n containsTextChild(child) ? <span>{child}</span> : child,\n );\n\n/** @flr-generate all */\nexport const Navigation = flowComponent(\"Navigation\", (props) => {\n const { className, children, ref, ...rest } = props;\n\n const rootClassName = clsx(styles.navigation, className);\n\n const linkPropsContext: ComponentPropsContext<\"Link\"> = {\n wrapWith: <li />,\n className: styles.item,\n unstyled: true,\n children: dynamic((linkProps) => wrapTextInLabel(linkProps.children)),\n Icon: {\n className: styles.icon,\n size: \"m\",\n },\n Badge: { className: styles.badge },\n AlertBadge: { className: styles.badge },\n CounterBadge: { className: styles.badge },\n };\n\n return (\n <PropsContextProvider\n props={{\n Link: {\n ...linkPropsContext,\n tunnel: {\n id: \"links\",\n component: \"Navigation\",\n },\n },\n NavigationGroup: {\n Link: linkPropsContext,\n },\n }}\n >\n <nav className={rootClassName} role=\"navigation\" {...rest} ref={ref}>\n <LinkListTunnelExit id=\"links\" component=\"Navigation\" />\n {children}\n </nav>\n </PropsContextProvider>\n );\n});\n\nexport default Navigation;\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,IAAM,mBAAmB,aACvB,SAAS,IAAI,WAAW,UACtB,kBAAkB,KAAK,IAAI,oBAAC,QAAD,EAAA,UAAO,MAAY,CAAA,IAAI,KACpD;;AAGF,IAAa,aAAa,cAAc,eAAe,UAAU;CAC/D,MAAM,EAAE,WAAW,UAAU,KAAK,GAAG,SAAS;CAE9C,MAAM,gBAAgB,KAAK,0BAAO,YAAY,SAAS;CAEvD,MAAM,mBAAkD;EACtD,UAAU,oBAAC,MAAD,CAAK,CAAA;EACf,WAAW,0BAAO;EAClB,UAAU;EACV,UAAU,SAAS,cAAc,gBAAgB,UAAU,QAAQ,CAAC;EACpE,MAAM;GACJ,WAAW,0BAAO;GAClB,MAAM;EACR;EACA,OAAO,EAAE,WAAW,0BAAO,MAAM;EACjC,YAAY,EAAE,WAAW,0BAAO,MAAM;EACtC,cAAc,EAAE,WAAW,0BAAO,MAAM;CAC1C;CAEA,OACE,oBAAC,sBAAD;EACE,OAAO;GACL,MAAM;IACJ,GAAG;IACH,QAAQ;KACN,IAAI;KACJ,WAAW;IACb;GACF;GACA,iBAAiB,EACf,MAAM,iBACR;EACF;EAEA,UAAA,qBAAC,OAAD;GAAK,WAAW;GAAe,MAAK;GAAa,GAAI;GAAW;GAAhE,UAAA,CACE,oBAAC,oBAAD;IAAoB,IAAG;IAAQ,WAAU;GAAc,CAAA,GACtD,QACE;;CACe,CAAA;AAE1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.module.mjs","names":[],"sources":["../../../../../../../src/components/Navigation/Navigation.module.scss"],"sourcesContent":["@use \"@/styles/mixins/menuItem\";\n\n.navigation {\n display: flex;\n flex-direction: column;\n\n ul {\n display: flex;\n flex-direction: column;\n row-gap: var(--menu--item-to-item-spacing);\n\n &:empty {\n display: none;\n }\n }\n\n .item {\n @include menuItem.menuItem();\n\n flex-
|
|
1
|
+
{"version":3,"file":"Navigation.module.mjs","names":[],"sources":["../../../../../../../src/components/Navigation/Navigation.module.scss"],"sourcesContent":["@use \"@/styles/mixins/menuItem\";\n@use \"@/styles/mixins/ellipsis\";\n\n.navigation {\n display: flex;\n flex-direction: column;\n min-width: 0;\n\n ul {\n display: flex;\n flex-direction: column;\n row-gap: var(--menu--item-to-item-spacing);\n\n &:empty {\n display: none;\n }\n }\n\n .item {\n @include menuItem.menuItem();\n\n > .icon {\n order: 0;\n flex-shrink: 0;\n }\n\n > :not(.icon) {\n order: 1;\n }\n\n > :not(.icon, .badge) {\n @include ellipsis.ellipsis;\n\n min-width: 0;\n }\n\n .badge {\n margin-inline-start: auto;\n flex-shrink: 0;\n }\n }\n\n hr {\n margin-bottom: var(--menu--group-to-group-spacing);\n }\n}\n"],"mappings":""}
|
|
@@ -23,6 +23,7 @@ var NotificationContainer = (props) => {
|
|
|
23
23
|
children: /* @__PURE__ */ jsx("div", {
|
|
24
24
|
className: rootClassName,
|
|
25
25
|
...rest,
|
|
26
|
+
"data-react-aria-top-layer": true,
|
|
26
27
|
children: /* @__PURE__ */ jsx(AnimatePresence, { children: notifications.map((n) => /* @__PURE__ */ jsx(m.div, {
|
|
27
28
|
className: NotificationContainer_module_default.notification,
|
|
28
29
|
initial: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationContainer.mjs","names":[],"sources":["../../../../../../../../src/components/NotificationProvider/NotificationContainer/NotificationContainer.tsx"],"sourcesContent":["import type { ComponentProps, FC } from \"react\";\nimport { Suspense } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport clsx from \"clsx\";\nimport styles from \"./NotificationContainer.module.scss\";\nimport ControlledNotification from \"@/components/NotificationProvider/ControlledNotification\";\nimport {\n AnimatePresence,\n domAnimation,\n LazyMotion,\n m,\n MotionConfig,\n} from \"framer-motion\";\nimport { useIsSSR } from \"react-aria\";\nimport { useNotificationController } from \"@/components/NotificationProvider/NotificationProvider\";\n\nexport type NotificationsContainerProps = ComponentProps<\"div\">;\n\nexport const NotificationContainer: FC<NotificationsContainerProps> = (\n props,\n) => {\n const { className, ...rest } = props;\n\n const controller = useNotificationController();\n const notifications = controller.useNotifications();\n const isSsr = useIsSSR();\n\n const rootClassName = clsx(styles.notificationContainer, className);\n\n const content = (\n <MotionConfig reducedMotion=\"user\">\n <LazyMotion features={domAnimation}>\n <div className={rootClassName} {...rest}>\n <AnimatePresence>\n {notifications.map((n) => (\n <m.div\n className={styles.notification}\n key={n.meta.id}\n initial={{ opacity: 0, x: 200 }}\n animate={{ opacity: 1, x: 0 }}\n exit={{ opacity: 0, x: 200, height: 0, paddingBottom: 0 }}\n transition={{\n bounce: 0,\n }}\n >\n <Suspense>\n <ControlledNotification\n notification={n}\n controller={controller}\n />\n </Suspense>\n </m.div>\n ))}\n </AnimatePresence>\n </div>\n </LazyMotion>\n </MotionConfig>\n );\n\n return isSsr ? null : ReactDOM.createPortal(content, document.body);\n};\n\nexport default NotificationContainer;\n"],"mappings":";;;;;;;;;;;;AAkBA,IAAa,yBACX,UACG;CACH,MAAM,EAAE,WAAW,GAAG,SAAS;CAE/B,MAAM,aAAa,0BAA0B;CAC7C,MAAM,gBAAgB,WAAW,iBAAiB;CAClD,MAAM,QAAQ,SAAS;CAEvB,MAAM,gBAAgB,KAAK,qCAAO,uBAAuB,SAAS;CAElE,MAAM,UACJ,oBAAC,cAAD;EAAc,eAAc;EAC1B,UAAA,oBAAC,YAAD;GAAY,UAAU;GACpB,UAAA,oBAAC,OAAD;IAAK,WAAW;IAAe,GAAI;
|
|
1
|
+
{"version":3,"file":"NotificationContainer.mjs","names":[],"sources":["../../../../../../../../src/components/NotificationProvider/NotificationContainer/NotificationContainer.tsx"],"sourcesContent":["import type { ComponentProps, FC } from \"react\";\nimport { Suspense } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport clsx from \"clsx\";\nimport styles from \"./NotificationContainer.module.scss\";\nimport ControlledNotification from \"@/components/NotificationProvider/ControlledNotification\";\nimport {\n AnimatePresence,\n domAnimation,\n LazyMotion,\n m,\n MotionConfig,\n} from \"framer-motion\";\nimport { useIsSSR } from \"react-aria\";\nimport { useNotificationController } from \"@/components/NotificationProvider/NotificationProvider\";\n\nexport type NotificationsContainerProps = ComponentProps<\"div\">;\n\nexport const NotificationContainer: FC<NotificationsContainerProps> = (\n props,\n) => {\n const { className, ...rest } = props;\n\n const controller = useNotificationController();\n const notifications = controller.useNotifications();\n const isSsr = useIsSSR();\n\n const rootClassName = clsx(styles.notificationContainer, className);\n\n const content = (\n <MotionConfig reducedMotion=\"user\">\n <LazyMotion features={domAnimation}>\n <div className={rootClassName} {...rest} data-react-aria-top-layer>\n <AnimatePresence>\n {notifications.map((n) => (\n <m.div\n className={styles.notification}\n key={n.meta.id}\n initial={{ opacity: 0, x: 200 }}\n animate={{ opacity: 1, x: 0 }}\n exit={{ opacity: 0, x: 200, height: 0, paddingBottom: 0 }}\n transition={{\n bounce: 0,\n }}\n >\n <Suspense>\n <ControlledNotification\n notification={n}\n controller={controller}\n />\n </Suspense>\n </m.div>\n ))}\n </AnimatePresence>\n </div>\n </LazyMotion>\n </MotionConfig>\n );\n\n return isSsr ? null : ReactDOM.createPortal(content, document.body);\n};\n\nexport default NotificationContainer;\n"],"mappings":";;;;;;;;;;;;AAkBA,IAAa,yBACX,UACG;CACH,MAAM,EAAE,WAAW,GAAG,SAAS;CAE/B,MAAM,aAAa,0BAA0B;CAC7C,MAAM,gBAAgB,WAAW,iBAAiB;CAClD,MAAM,QAAQ,SAAS;CAEvB,MAAM,gBAAgB,KAAK,qCAAO,uBAAuB,SAAS;CAElE,MAAM,UACJ,oBAAC,cAAD;EAAc,eAAc;EAC1B,UAAA,oBAAC,YAAD;GAAY,UAAU;GACpB,UAAA,oBAAC,OAAD;IAAK,WAAW;IAAe,GAAI;IAAM,6BAAA;IACvC,UAAA,oBAAC,iBAAD,EAAA,UACG,cAAc,KAAK,MAClB,oBAAC,EAAE,KAAH;KACE,WAAW,qCAAO;KAElB,SAAS;MAAE,SAAS;MAAG,GAAG;KAAI;KAC9B,SAAS;MAAE,SAAS;MAAG,GAAG;KAAE;KAC5B,MAAM;MAAE,SAAS;MAAG,GAAG;MAAK,QAAQ;MAAG,eAAe;KAAE;KACxD,YAAY,EACV,QAAQ,EACV;KAEA,UAAA,oBAAC,UAAD,EAAA,UACE,oBAAC,wBAAD;MACE,cAAc;MACF;KACb,CAAA,EACO,CAAA;IACL,GAdA,EAAE,KAAK,EAcP,CACR,EACc,CAAA;GACd,CAAA;EACK,CAAA;CACA,CAAA;CAGhB,OAAO,QAAQ,OAAO,SAAS,aAAa,SAAS,SAAS,IAAI;AACpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationContainer.module.mjs","names":[],"sources":["../../../../../../../../src/components/NotificationProvider/NotificationContainer/NotificationContainer.module.scss"],"sourcesContent":[".notificationContainer {\n position: fixed;\n top: var(--notification-provider--window-to-provider-spacing);\n inset-inline-end: var(--notification-provider--window-to-provider-spacing);\n display: flex;\n flex-direction: column;\n z-index: 1;\n\n .notification {\n padding-bottom: var(\n --notification-provider--notification-to-notification-spacing\n );\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"NotificationContainer.module.mjs","names":[],"sources":["../../../../../../../../src/components/NotificationProvider/NotificationContainer/NotificationContainer.module.scss"],"sourcesContent":["/* This container is portalled into `document.body`, so its z-index lives in the\n root stacking context and cannot be isolated. It has to: overlays render into\n a container that is kept as body's *last* child (see\n `OverlayContent.getOverlayContainer`), and this is what keeps a notification\n painted over an open modal. */\n.notificationContainer {\n position: fixed;\n top: var(--notification-provider--window-to-provider-spacing);\n inset-inline-end: var(--notification-provider--window-to-provider-spacing);\n display: flex;\n flex-direction: column;\n z-index: 1;\n\n .notification {\n padding-bottom: var(\n --notification-provider--notification-to-notification-spacing\n );\n }\n}\n"],"mappings":""}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
3
|
import { flowComponent } from "../../lib/componentFactory/flowComponent.mjs";
|
|
4
|
-
import {
|
|
4
|
+
import { extractTextFromChildren } from "../../lib/react/remote.mjs";
|
|
5
5
|
import { IconCheck } from "../Icon/components/icons/IconCheck.mjs";
|
|
6
6
|
import Option_module_default from "./Option.module.mjs";
|
|
7
7
|
import clsx from "clsx";
|
|
8
|
-
import { Children } from "react";
|
|
8
|
+
import { Children, useEffect, useRef } from "react";
|
|
9
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
import * as Aria from "react-aria-components";
|
|
11
11
|
//#region src/components/Option/Option.tsx
|
|
12
12
|
/** @flr-generate all */
|
|
13
13
|
var Option = flowComponent("Option", (props) => {
|
|
14
|
-
const { className, children, textValue =
|
|
14
|
+
const { className, children, textValue = extractTextFromChildren(children), value = textValue, ref, ...rest } = props;
|
|
15
|
+
useWarnMissingValue(value === void 0);
|
|
15
16
|
const rootClassName = clsx(Option_module_default.option, className);
|
|
16
17
|
const hasChildren = Children.count(children) >= 1;
|
|
17
18
|
return /* @__PURE__ */ jsxs(Aria.ListBoxItem, {
|
|
@@ -29,6 +30,14 @@ var Option = flowComponent("Option", (props) => {
|
|
|
29
30
|
})]
|
|
30
31
|
});
|
|
31
32
|
});
|
|
33
|
+
var useWarnMissingValue = (isMissing) => {
|
|
34
|
+
const hasWarned = useRef(false);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (!isMissing || hasWarned.current) return;
|
|
37
|
+
hasWarned.current = true;
|
|
38
|
+
console.error("An <Option> has no 'value' and none could be inferred from its children, so it falls back to a generated, render-order-dependent key. Pass a 'value' to give the option a stable key.");
|
|
39
|
+
}, [isMissing]);
|
|
40
|
+
};
|
|
32
41
|
//#endregion
|
|
33
42
|
export { Option, Option as default };
|
|
34
43
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Option.mjs","names":[],"sources":["../../../../../../../src/components/Option/Option.tsx"],"sourcesContent":["import { type PropsWithChildren } from \"react\";\nimport { Children } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport clsx from \"clsx\";\nimport styles from \"./Option.module.scss\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport {
|
|
1
|
+
{"version":3,"file":"Option.mjs","names":[],"sources":["../../../../../../../src/components/Option/Option.tsx"],"sourcesContent":["import { type PropsWithChildren } from \"react\";\nimport { Children, useEffect, useRef } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport clsx from \"clsx\";\nimport styles from \"./Option.module.scss\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { extractTextFromChildren } from \"@/lib/react/remote\";\nimport { IconCheck } from \"@/components/Icon/components/icons\";\n\nexport interface OptionProps\n extends\n Omit<Aria.ListBoxItemProps, \"children\" | \"value\" | \"id\">,\n PropsWithChildren,\n FlowComponentProps {\n /**\n * The value this option contributes to the field's selection, and the key\n * `defaultValue` / `value` of the surrounding field target.\n *\n * Defaults to `textValue`, which itself defaults to the text among the\n * option's children — element children such as a `Badge` do not contribute,\n * so `<Option>Millennium Falcon <Badge>Latest</Badge></Option>` is\n * `\"Millennium Falcon\"`. Pass it explicitly when the value must not follow\n * the display text, or when the children carry no text at all.\n */\n value?: string | number;\n}\n\n/** @flr-generate all */\nexport const Option = flowComponent(\"Option\", (props) => {\n const {\n className,\n children,\n textValue = extractTextFromChildren(children),\n value = textValue,\n ref,\n ...rest\n } = props;\n\n useWarnMissingValue(value === undefined);\n\n const rootClassName = clsx(styles.option, className);\n const hasChildren = Children.count(children) >= 1;\n\n return (\n <Aria.ListBoxItem\n className={rootClassName}\n ref={ref}\n id={value}\n {...rest}\n textValue={textValue}\n >\n <span className={styles.content}>\n {hasChildren ? children : textValue}\n </span>\n <IconCheck aria-hidden className={styles.checkMark} />\n </Aria.ListBoxItem>\n );\n});\n\n/*\n * Without an `id`, react-aria gives the item a key off a render-order counter\n * (`react-aria-1`). That key is what the field reports as its selected value\n * and what `defaultValue` has to match, so an option without a `value` silently\n * submits a meaningless string and cannot be preselected — and the key shifts\n * when unrelated markup around it changes. react-aria warns about the missing\n * `textValue` in this situation but says nothing about the key, which is the\n * expensive half (#3028).\n *\n * Warn in an effect rather than during render, so a double render in StrictMode\n * does not log twice; the ref keeps it to once per option.\n */\nconst useWarnMissingValue = (isMissing: boolean): void => {\n const hasWarned = useRef(false);\n\n useEffect(() => {\n if (!isMissing || hasWarned.current) {\n return;\n }\n\n hasWarned.current = true;\n console.error(\n \"An <Option> has no 'value' and none could be inferred from its children, so it falls back to a generated, render-order-dependent key. Pass a 'value' to give the option a stable key.\",\n );\n }, [isMissing]);\n};\n\nexport default Option;\n"],"mappings":";;;;;;;;;;;;AA6BA,IAAa,SAAS,cAAc,WAAW,UAAU;CACvD,MAAM,EACJ,WACA,UACA,YAAY,wBAAwB,QAAQ,GAC5C,QAAQ,WACR,KACA,GAAG,SACD;CAEJ,oBAAoB,UAAU,KAAA,CAAS;CAEvC,MAAM,gBAAgB,KAAK,sBAAO,QAAQ,SAAS;CACnD,MAAM,cAAc,SAAS,MAAM,QAAQ,KAAK;CAEhD,OACE,qBAAC,KAAK,aAAN;EACE,WAAW;EACN;EACL,IAAI;EACJ,GAAI;EACO;EALb,UAAA,CAOE,oBAAC,QAAD;GAAM,WAAW,sBAAO;GACrB,UAAA,cAAc,WAAW;EACtB,CAAA,GACN,oBAAC,WAAD;GAAW,eAAA;GAAY,WAAW,sBAAO;EAAY,CAAA,CACrC;;AAEtB,CAAC;AAcD,IAAM,uBAAuB,cAA6B;CACxD,MAAM,YAAY,OAAO,KAAK;CAE9B,gBAAgB;EACd,IAAI,CAAC,aAAa,UAAU,SAC1B;EAGF,UAAU,UAAU;EACpB,QAAQ,MACN,uLACF;CACF,GAAG,CAAC,SAAS,CAAC;AAChB"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
4
4
|
import { Button } from "../../../Button/Button.mjs";
|
|
5
|
+
import { ContextualHelpTrigger } from "../../../ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs";
|
|
5
6
|
import { Heading } from "../../../Heading/Heading.mjs";
|
|
6
7
|
import { ContextualHelp } from "../../../ContextualHelp/ContextualHelp.mjs";
|
|
7
|
-
import { ContextualHelpTrigger } from "../../../ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs";
|
|
8
8
|
import __locale_default from "../../../../../../../_virtual/_28.locale.mjs";
|
|
9
9
|
import { ValidationResultEntry } from "../ValidationResultEntry/ValidationResultEntry.mjs";
|
|
10
10
|
import "react";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
|
-
import { Text } from "../../../Text/Text.mjs";
|
|
4
3
|
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
5
4
|
import { AlertIcon } from "../../../AlertIcon/AlertIcon.mjs";
|
|
5
|
+
import { Text } from "../../../Text/Text.mjs";
|
|
6
6
|
import __locale_default from "../../../../../../../_virtual/_28.locale.mjs";
|
|
7
7
|
import generateValidationTranslation from "../../lib/generateValidationTranslation.mjs";
|
|
8
8
|
import ValidationResultEntry_module_default from "./ValidationResultEntry.module.mjs";
|
package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarValue.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
3
|
import ProgressBar_module_default from "../ProgressBar.module.mjs";
|
|
4
|
-
import __locale_default from "../../../../../../_virtual/
|
|
4
|
+
import __locale_default from "../../../../../../_virtual/_7.locale.mjs";
|
|
5
5
|
import "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
import { useLocalizedStringFormatter, useNumberFormatter } from "react-aria";
|
|
@@ -4,10 +4,10 @@ import { PropsContextProvider } from "../../lib/propsContext/components/PropsCon
|
|
|
4
4
|
import { flowComponent } from "../../lib/componentFactory/flowComponent.mjs";
|
|
5
5
|
import dynamic from "../../lib/propsContext/dynamicProps/dynamic.mjs";
|
|
6
6
|
import { IconChevronDown } from "../Icon/components/icons/IconChevronDown.mjs";
|
|
7
|
-
import { Text } from "../Text/Text.mjs";
|
|
8
7
|
import { useLocalizedStringFormatter } from "../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
9
8
|
import { Button } from "../Button/Button.mjs";
|
|
10
9
|
import { UiComponentTunnelExit } from "../UiComponentTunnel/UiComponentTunnelExit.mjs";
|
|
10
|
+
import { Text } from "../Text/Text.mjs";
|
|
11
11
|
import ContextMenuTriggerView from "../../views/ContextMenuTriggerView.mjs";
|
|
12
12
|
import ContextMenuView from "../../views/ContextMenuView.mjs";
|
|
13
13
|
import TabNavigation_module_default from "./TabNavigation.module.mjs";
|
|
@@ -16,7 +16,7 @@ var Tabs = flowComponent("Tabs", (props) => {
|
|
|
16
16
|
const { children, className, defaultSelectedKey, selectedKey: selectedKeyProps, disabledKeys, ref, onSelectionChange, tabNotFoundView, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, ...rest } = props;
|
|
17
17
|
const rootClassName = clsx(Tabs_module_default.tabs, className);
|
|
18
18
|
const [selectedKeyState, setSelectedKeyState] = useState(defaultSelectedKey);
|
|
19
|
-
const selectedKey = selectedKeyProps ?? selectedKeyState;
|
|
19
|
+
const selectedKey = selectedKeyProps ?? selectedKeyState ?? null;
|
|
20
20
|
const isSsr = useIsSSR();
|
|
21
21
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [children, /* @__PURE__ */ jsxs(Aria.Tabs, {
|
|
22
22
|
slot: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.mjs","names":[],"sources":["../../../../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import { TabList } from \"@/components/Tabs/components/TabList\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport clsx from \"clsx\";\nimport type { PropsWithChildren, ReactNode } from \"react\";\nimport { useState } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport styles from \"./Tabs.module.scss\";\nimport { FallbackTab } from \"@/components/Tabs/components/FallbackTab\";\nimport { UiComponentTunnelExit } from \"@/components/UiComponentTunnel/UiComponentTunnelExit\";\nimport { useIsSSR } from \"react-aria\";\n\nexport interface TabsProps\n extends\n Omit<Aria.TabsProps, \"children\">,\n PropsWithChildren,\n FlowComponentProps {\n /**\n * An accessible name for the tab list. `Tabs` has no `Label` slot, so this is\n * how the group is named when the surrounding heading does not already do\n * it.\n */\n \"aria-label\"?: string;\n /** The id of an element that names the tab list. */\n \"aria-labelledby\"?: string;\n /**\n * The view rendered when the selected tab does not exist. Defaults to a\n * built-in IllustratedMessage.\n */\n tabNotFoundView?: ReactNode;\n}\n\n/** @flr-generate all */\nexport const Tabs = flowComponent(\"Tabs\", (props) => {\n const {\n children,\n className,\n defaultSelectedKey,\n selectedKey: selectedKeyProps,\n disabledKeys,\n ref,\n onSelectionChange,\n tabNotFoundView,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n ...rest\n } = props;\n\n const rootClassName = clsx(styles.tabs, className);\n const [selectedKeyState, setSelectedKeyState] = useState<\n Aria.Key | undefined\n >(defaultSelectedKey);\n\n const selectedKey = selectedKeyProps ?? selectedKeyState;\n\n const isSsr = useIsSSR();\n\n return (\n <>\n {children}\n <Aria.Tabs\n slot={null}\n className={rootClassName}\n {...rest}\n selectedKey={selectedKey}\n onSelectionChange={(key) => {\n setSelectedKeyState(key);\n if (onSelectionChange) {\n onSelectionChange(key);\n }\n }}\n disabledKeys={disabledKeys}\n ref={ref}\n >\n <TabList\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n selection={selectedKey}\n onContextMenuSelectionChange={(key) => {\n setSelectedKeyState(key);\n if (onSelectionChange) {\n onSelectionChange(key);\n }\n }}\n disabledKeys={disabledKeys}\n />\n <UiComponentTunnelExit id=\"Panels\" component=\"Tabs\" />\n {!isSsr && <FallbackTab tabNotFoundView={tabNotFoundView} />}\n </Aria.Tabs>\n </>\n );\n});\n\nexport default Tabs;\n"],"mappings":";;;;;;;;;;;;;;AAiCA,IAAa,OAAO,cAAc,SAAS,UAAU;CACnD,MAAM,EACJ,UACA,WACA,oBACA,aAAa,kBACb,cACA,KACA,mBACA,iBACA,cAAc,WACd,mBAAmB,gBACnB,GAAG,SACD;CAEJ,MAAM,gBAAgB,KAAK,oBAAO,MAAM,SAAS;CACjD,MAAM,CAAC,kBAAkB,uBAAuB,SAE9C,kBAAkB;
|
|
1
|
+
{"version":3,"file":"Tabs.mjs","names":[],"sources":["../../../../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import { TabList } from \"@/components/Tabs/components/TabList\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport clsx from \"clsx\";\nimport type { PropsWithChildren, ReactNode } from \"react\";\nimport { useState } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport styles from \"./Tabs.module.scss\";\nimport { FallbackTab } from \"@/components/Tabs/components/FallbackTab\";\nimport { UiComponentTunnelExit } from \"@/components/UiComponentTunnel/UiComponentTunnelExit\";\nimport { useIsSSR } from \"react-aria\";\n\nexport interface TabsProps\n extends\n Omit<Aria.TabsProps, \"children\">,\n PropsWithChildren,\n FlowComponentProps {\n /**\n * An accessible name for the tab list. `Tabs` has no `Label` slot, so this is\n * how the group is named when the surrounding heading does not already do\n * it.\n */\n \"aria-label\"?: string;\n /** The id of an element that names the tab list. */\n \"aria-labelledby\"?: string;\n /**\n * The view rendered when the selected tab does not exist. Defaults to a\n * built-in IllustratedMessage.\n */\n tabNotFoundView?: ReactNode;\n}\n\n/** @flr-generate all */\nexport const Tabs = flowComponent(\"Tabs\", (props) => {\n const {\n children,\n className,\n defaultSelectedKey,\n selectedKey: selectedKeyProps,\n disabledKeys,\n ref,\n onSelectionChange,\n tabNotFoundView,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n ...rest\n } = props;\n\n const rootClassName = clsx(styles.tabs, className);\n const [selectedKeyState, setSelectedKeyState] = useState<\n Aria.Key | undefined\n >(defaultSelectedKey);\n\n /*\n * `null`, not `undefined`, keeps `Aria.Tabs` controlled while nothing is\n * selected yet — see the controlled-from-the-first-render convention in\n * AGENTS.md. `Aria.TabsProps` narrows `selectedKey` to `Key`, hence the cast\n * below.\n */\n const selectedKey = selectedKeyProps ?? selectedKeyState ?? null;\n\n const isSsr = useIsSSR();\n\n return (\n <>\n {children}\n <Aria.Tabs\n slot={null}\n className={rootClassName}\n {...rest}\n selectedKey={selectedKey as Aria.Key | undefined}\n onSelectionChange={(key) => {\n setSelectedKeyState(key);\n if (onSelectionChange) {\n onSelectionChange(key);\n }\n }}\n disabledKeys={disabledKeys}\n ref={ref}\n >\n <TabList\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n selection={selectedKey}\n onContextMenuSelectionChange={(key) => {\n setSelectedKeyState(key);\n if (onSelectionChange) {\n onSelectionChange(key);\n }\n }}\n disabledKeys={disabledKeys}\n />\n <UiComponentTunnelExit id=\"Panels\" component=\"Tabs\" />\n {!isSsr && <FallbackTab tabNotFoundView={tabNotFoundView} />}\n </Aria.Tabs>\n </>\n );\n});\n\nexport default Tabs;\n"],"mappings":";;;;;;;;;;;;;;AAiCA,IAAa,OAAO,cAAc,SAAS,UAAU;CACnD,MAAM,EACJ,UACA,WACA,oBACA,aAAa,kBACb,cACA,KACA,mBACA,iBACA,cAAc,WACd,mBAAmB,gBACnB,GAAG,SACD;CAEJ,MAAM,gBAAgB,KAAK,oBAAO,MAAM,SAAS;CACjD,MAAM,CAAC,kBAAkB,uBAAuB,SAE9C,kBAAkB;CAQpB,MAAM,cAAc,oBAAoB,oBAAoB;CAE5D,MAAM,QAAQ,SAAS;CAEvB,OACE,qBAAA,YAAA,EAAA,UAAA,CACG,UACD,qBAAC,KAAK,MAAN;EACE,MAAM;EACN,WAAW;EACX,GAAI;EACS;EACb,oBAAoB,QAAQ;GAC1B,oBAAoB,GAAG;GACvB,IAAI,mBACF,kBAAkB,GAAG;EAEzB;EACc;EACT;EAZP,UAAA;GAcE,oBAAC,SAAD;IACE,cAAY;IACZ,mBAAiB;IACjB,WAAW;IACX,+BAA+B,QAAQ;KACrC,oBAAoB,GAAG;KACvB,IAAI,mBACF,kBAAkB,GAAG;IAEzB;IACc;GACf,CAAA;GACD,oBAAC,uBAAD;IAAuB,IAAG;IAAS,WAAU;GAAQ,CAAA;GACpD,CAAC,SAAS,oBAAC,aAAD,EAA8B,gBAAkB,CAAA;EAClD;CACX,CAAA,CAAA,EAAA,CAAA;AAEN,CAAC"}
|
package/dist/js/packages/components/src/components/Tabs/components/FallbackTab/FallbackTab.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
|
-
import { Text } from "../../../Text/Text.mjs";
|
|
4
3
|
import { useLocalizedStringFormatter } from "../../../TranslationProvider/useLocalizedStringFormatter.mjs";
|
|
5
4
|
import { AlertIcon } from "../../../AlertIcon/AlertIcon.mjs";
|
|
5
|
+
import { Text } from "../../../Text/Text.mjs";
|
|
6
6
|
import { Heading } from "../../../Heading/Heading.mjs";
|
|
7
7
|
import { IllustratedMessage } from "../../../IllustratedMessage/IllustratedMessage.mjs";
|
|
8
8
|
import Tabs_module_default from "../../Tabs.module.mjs";
|