@portnet/ui 6.0.2 → 6.0.3
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/CHANGELOG.md +652 -0
- package/dist/esm/index.js +72 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
- package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +71 -38
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +11 -11
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +118 -199
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/esm/v2/__tests__/apiError.test.js +50 -69
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
- package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
- package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +17 -21
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
- package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +48 -70
- package/dist/esm/v2/components/Accordion.js.map +1 -1
- package/dist/esm/v2/components/ActionStrip.js +31 -43
- package/dist/esm/v2/components/ActionStrip.js.map +1 -1
- package/dist/esm/v2/components/Banner.js +25 -22
- package/dist/esm/v2/components/Banner.js.map +1 -1
- package/dist/esm/v2/components/Busy.js +14 -19
- package/dist/esm/v2/components/Busy.js.map +1 -1
- package/dist/esm/v2/components/Button.js +34 -45
- package/dist/esm/v2/components/Button.js.map +1 -1
- package/dist/esm/v2/components/CategoryTag.js +44 -27
- package/dist/esm/v2/components/CategoryTag.js.map +1 -1
- package/dist/esm/v2/components/Checkbox.js +32 -38
- package/dist/esm/v2/components/Checkbox.js.map +1 -1
- package/dist/esm/v2/components/Chip.js +23 -36
- package/dist/esm/v2/components/Chip.js.map +1 -1
- package/dist/esm/v2/components/Combobox.js +112 -136
- package/dist/esm/v2/components/Combobox.js.map +1 -1
- package/dist/esm/v2/components/CommandPalette.js +113 -198
- package/dist/esm/v2/components/CommandPalette.js.map +1 -1
- package/dist/esm/v2/components/ConfirmDialog.js +36 -45
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/esm/v2/components/DatePicker.js +78 -81
- package/dist/esm/v2/components/DatePicker.js.map +1 -1
- package/dist/esm/v2/components/DateRangePicker.js +63 -74
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
- package/dist/esm/v2/components/DateTimePicker.js +81 -86
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
- package/dist/esm/v2/components/Drawer.js +71 -65
- package/dist/esm/v2/components/Drawer.js.map +1 -1
- package/dist/esm/v2/components/Dropzone.js +130 -177
- package/dist/esm/v2/components/Dropzone.js.map +1 -1
- package/dist/esm/v2/components/EmptyState.js +9 -9
- package/dist/esm/v2/components/EmptyState.js.map +1 -1
- package/dist/esm/v2/components/FavoriteToggle.js +24 -33
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/esm/v2/components/Field.js +155 -59
- package/dist/esm/v2/components/Field.js.map +1 -1
- package/dist/esm/v2/components/FieldError.js +9 -13
- package/dist/esm/v2/components/FieldError.js.map +1 -1
- package/dist/esm/v2/components/FieldHelp.js +28 -49
- package/dist/esm/v2/components/FieldHelp.js.map +1 -1
- package/dist/esm/v2/components/FileCard.js +14 -19
- package/dist/esm/v2/components/FileCard.js.map +1 -1
- package/dist/esm/v2/components/FilterTab.js +22 -31
- package/dist/esm/v2/components/FilterTab.js.map +1 -1
- package/dist/esm/v2/components/ForbiddenPage.js +28 -8
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/esm/v2/components/FormGrid.js +48 -54
- package/dist/esm/v2/components/FormGrid.js.map +1 -1
- package/dist/esm/v2/components/FormikDisplay.js +98 -24
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
- package/dist/esm/v2/components/Input.js +75 -34
- package/dist/esm/v2/components/Input.js.map +1 -1
- package/dist/esm/v2/components/KPICard.js +42 -51
- package/dist/esm/v2/components/KPICard.js.map +1 -1
- package/dist/esm/v2/components/KPIStrip.js +9 -15
- package/dist/esm/v2/components/KPIStrip.js.map +1 -1
- package/dist/esm/v2/components/KV.js +16 -23
- package/dist/esm/v2/components/KV.js.map +1 -1
- package/dist/esm/v2/components/KVGrid.js +15 -23
- package/dist/esm/v2/components/KVGrid.js.map +1 -1
- package/dist/esm/v2/components/Layout.js +81 -117
- package/dist/esm/v2/components/Layout.js.map +1 -1
- package/dist/esm/v2/components/MobileRowCard.js +64 -75
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
- package/dist/esm/v2/components/Modal.js +44 -53
- package/dist/esm/v2/components/Modal.js.map +1 -1
- package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/esm/v2/components/NotFoundPage.js +28 -9
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
- package/dist/esm/v2/components/NumberInput.js +77 -107
- package/dist/esm/v2/components/NumberInput.js.map +1 -1
- package/dist/esm/v2/components/OverflowMenu.js +24 -42
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
- package/dist/esm/v2/components/PdfViewer.js +24 -33
- package/dist/esm/v2/components/PdfViewer.js.map +1 -1
- package/dist/esm/v2/components/ProgressBar.js +28 -36
- package/dist/esm/v2/components/ProgressBar.js.map +1 -1
- package/dist/esm/v2/components/Radio.js +49 -57
- package/dist/esm/v2/components/Radio.js.map +1 -1
- package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/esm/v2/components/SectionHeader.js +24 -31
- package/dist/esm/v2/components/SectionHeader.js.map +1 -1
- package/dist/esm/v2/components/Segmented.js +59 -84
- package/dist/esm/v2/components/Segmented.js.map +1 -1
- package/dist/esm/v2/components/Select.js +100 -138
- package/dist/esm/v2/components/Select.js.map +1 -1
- package/dist/esm/v2/components/ServerErrorPage.js +27 -10
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/esm/v2/components/Skeleton.js +81 -96
- package/dist/esm/v2/components/Skeleton.js.map +1 -1
- package/dist/esm/v2/components/SkipLink.js +6 -7
- package/dist/esm/v2/components/SkipLink.js.map +1 -1
- package/dist/esm/v2/components/Spinner.js +13 -22
- package/dist/esm/v2/components/Spinner.js.map +1 -1
- package/dist/esm/v2/components/Status.js +14 -25
- package/dist/esm/v2/components/Status.js.map +1 -1
- package/dist/esm/v2/components/Stepper.js +68 -71
- package/dist/esm/v2/components/Stepper.js.map +1 -1
- package/dist/esm/v2/components/Surface.js +25 -44
- package/dist/esm/v2/components/Surface.js.map +1 -1
- package/dist/esm/v2/components/Switch.js +21 -29
- package/dist/esm/v2/components/Switch.js.map +1 -1
- package/dist/esm/v2/components/TabPanel.js +84 -0
- package/dist/esm/v2/components/TabPanel.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +43 -19
- package/dist/esm/v2/components/Tabs.js.map +1 -1
- package/dist/esm/v2/components/TelInput.js +75 -108
- package/dist/esm/v2/components/TelInput.js.map +1 -1
- package/dist/esm/v2/components/Textarea.js +21 -30
- package/dist/esm/v2/components/Textarea.js.map +1 -1
- package/dist/esm/v2/components/TimePicker.js +59 -69
- package/dist/esm/v2/components/TimePicker.js.map +1 -1
- package/dist/esm/v2/components/Toast.js +109 -163
- package/dist/esm/v2/components/Toast.js.map +1 -1
- package/dist/esm/v2/components/Tooltip.js +18 -31
- package/dist/esm/v2/components/Tooltip.js.map +1 -1
- package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/esm/v2/components/_pickerShared.js +2 -2
- package/dist/esm/v2/components/_pickerShared.js.map +1 -1
- package/dist/esm/v2/components/index.js +37 -0
- package/dist/esm/v2/components/index.js.map +1 -1
- package/dist/esm/v2/hooks/index.js +62 -0
- package/dist/esm/v2/hooks/index.js.map +1 -1
- package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
- package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/esm/v2/hooks/useDensity.js +13 -17
- package/dist/esm/v2/hooks/useDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useSortedRows.js +3 -5
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/esm/v2/hooks/useTabLoading.js +6 -21
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/esm/v2/index.js +2 -3
- package/dist/esm/v2/index.js.map +1 -1
- package/dist/esm/v2/modalContext.js +2 -2
- package/dist/esm/v2/modalContext.js.map +1 -1
- package/dist/esm/v2/models/favorite.js.map +1 -1
- package/dist/esm/v2/models/personalization.js.map +1 -1
- package/dist/esm/v2/models/referentiel.js.map +1 -1
- package/dist/esm/v2/models/savedFilter.js.map +1 -1
- package/dist/esm/v2/patterns/ActionBar.js +115 -159
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/AppMain.js +108 -0
- package/dist/esm/v2/patterns/AppMain.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/ChartFigure.js +151 -0
- package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/esm/v2/patterns/DataGrid.js +221 -255
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/esm/v2/patterns/DetailSplit.js +108 -0
- package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +15 -17
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
- package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/esm/v2/patterns/FormPageShell.js +43 -41
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/FormSection.js +30 -38
- package/dist/esm/v2/patterns/FormSection.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckbox.js +29 -39
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCombobox.js +51 -69
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
- package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +94 -78
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
- package/dist/esm/v2/patterns/FormikInput.js +40 -53
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/FormikSelect.js +64 -87
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/esm/v2/patterns/PageContent.js +10 -14
- package/dist/esm/v2/patterns/PageContent.js.map +1 -1
- package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
- package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +327 -312
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +27 -22
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
- package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/SortableHeader.js +22 -45
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/esm/v2/patterns/Tour.js +94 -120
- package/dist/esm/v2/patterns/Tour.js.map +1 -1
- package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/esm/v2/patterns/_pickerSerialisation.js +6 -8
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
- package/dist/esm/v2/patterns/_sort.js +17 -33
- package/dist/esm/v2/patterns/_sort.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/esm/v2/patterns/filterCriteria.js +102 -0
- package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +152 -0
- package/dist/esm/v2/patterns/index.js.map +1 -1
- package/dist/esm/v2/patterns/rowActions.js +223 -0
- package/dist/esm/v2/patterns/rowActions.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +28 -34
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/esm/v2/personalization/index.js +17 -0
- package/dist/esm/v2/personalization/index.js.map +1 -1
- package/dist/esm/v2/personalization/personalizationContext.js +9 -9
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/esm/v2/personalization/schema.js +8 -9
- package/dist/esm/v2/personalization/schema.js.map +1 -1
- package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/esm/v2/referentiel/types.js +2 -0
- package/dist/esm/v2/referentiel/types.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/esm/v2/theme/_brand.js +8 -24
- package/dist/esm/v2/theme/_brand.js.map +1 -1
- package/dist/esm/v2/theme/_brandSecondary.js +8 -24
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/esm/v2/theme/cssVariables.js +62 -69
- package/dist/esm/v2/theme/cssVariables.js.map +1 -1
- package/dist/esm/v2/theme/index.js +5 -5
- package/dist/esm/v2/theme/index.js.map +1 -1
- package/dist/esm/v2/tokens/breakpoints.js +14 -14
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
- package/dist/esm/v2/tokens/chart.js +261 -0
- package/dist/esm/v2/tokens/chart.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +22 -22
- package/dist/esm/v2/tokens/colors.js.map +1 -1
- package/dist/esm/v2/tokens/density.js +62 -7
- package/dist/esm/v2/tokens/density.js.map +1 -1
- package/dist/esm/v2/tokens/index.js +49 -34
- package/dist/esm/v2/tokens/index.js.map +1 -1
- package/dist/esm/v2/tokens/motion.js +12 -20
- package/dist/esm/v2/tokens/motion.js.map +1 -1
- package/dist/esm/v2/tokens/radius.js +1 -1
- package/dist/esm/v2/tokens/radius.js.map +1 -1
- package/dist/esm/v2/tokens/shadows.js +6 -6
- package/dist/esm/v2/tokens/shadows.js.map +1 -1
- package/dist/esm/v2/tokens/spacing.js +2 -2
- package/dist/esm/v2/tokens/spacing.js.map +1 -1
- package/dist/esm/v2/tokens/state.js +1 -1
- package/dist/esm/v2/tokens/state.js.map +1 -1
- package/dist/esm/v2/tokens/statusPalette.js +17 -21
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
- package/dist/esm/v2/tokens/tokens.json +6 -1
- package/dist/esm/v2/tokens/typography.js +13 -13
- package/dist/esm/v2/tokens/typography.js.map +1 -1
- package/dist/esm/v2/tokens/zIndex.js +1 -1
- package/dist/esm/v2/tokens/zIndex.js.map +1 -1
- package/dist/esm/v2/types/datagrid.js.map +1 -1
- package/dist/esm/v2/utils/apiError.js +16 -37
- package/dist/esm/v2/utils/apiError.js.map +1 -1
- package/dist/esm/v2/utils/contrast.js +31 -32
- package/dist/esm/v2/utils/contrast.js.map +1 -1
- package/dist/esm/v2/utils/cx.js +5 -25
- package/dist/esm/v2/utils/cx.js.map +1 -1
- package/dist/esm/v2/utils/fileDownload.js +23 -26
- package/dist/esm/v2/utils/fileDownload.js.map +1 -1
- package/dist/esm/v2/utils/fileValidation.js +209 -0
- package/dist/esm/v2/utils/fileValidation.js.map +1 -0
- package/dist/esm/v2/utils/fmtDate.js +111 -0
- package/dist/esm/v2/utils/fmtDate.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +8 -10
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
- package/dist/esm/v2/utils/formikErrors.js +78 -0
- package/dist/esm/v2/utils/formikErrors.js.map +1 -0
- package/dist/esm/v2/utils/index.js +35 -2
- package/dist/esm/v2/utils/index.js.map +1 -1
- package/dist/esm/v2/utils/mergeLabels.js +7 -12
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
- package/dist/esm/v2/utils/networkStatus.js +12 -12
- package/dist/esm/v2/utils/networkStatus.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +110 -49
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/AppMain.test.js +133 -0
- package/dist/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/v2/__tests__/ChartFigure.test.js +183 -0
- package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/v2/__tests__/FieldError.test.js +82 -49
- package/dist/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/v2/__tests__/FieldNaming.test.js +161 -0
- package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +23 -25
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
- package/dist/v2/__tests__/FileCard.test.js +29 -28
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
- package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +123 -204
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
- package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
- package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/v2/__tests__/apiError.test.js +50 -69
- package/dist/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/v2/__tests__/banned-patterns.test.js +42 -123
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/v2/__tests__/chart-palette.test.js +205 -0
- package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/v2/__tests__/fileValidation.test.js +136 -0
- package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/v2/__tests__/filterCriteria.test.js +324 -0
- package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/fmtDate.test.js +69 -0
- package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +23 -27
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/__tests__/locale-fallback.test.js +47 -52
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
- package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/rowActions.test.js +186 -0
- package/dist/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/v2/components/Accordion.js +60 -82
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.js +40 -52
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.js +42 -41
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.js +22 -27
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.js +39 -50
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js +49 -32
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.js +39 -45
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.js +29 -42
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.js +122 -144
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.js +138 -225
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +46 -56
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.js +81 -86
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.js +77 -87
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.js +84 -91
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +93 -88
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.js +150 -196
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.js +18 -20
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +28 -39
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +62 -4
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +169 -70
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.js +18 -21
- package/dist/v2/components/FieldError.js.map +1 -1
- package/dist/v2/components/FieldHelp.js +40 -60
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.js +27 -31
- package/dist/v2/components/FileCard.js.map +1 -1
- package/dist/v2/components/FilterTab.js +30 -38
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/ForbiddenPage.d.ts +25 -1
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
- package/dist/v2/components/ForbiddenPage.js +37 -17
- package/dist/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/v2/components/FormGrid.js +53 -59
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +50 -1
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js +108 -33
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +40 -0
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js +81 -41
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.js +57 -67
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.js +16 -22
- package/dist/v2/components/KPIStrip.js.map +1 -1
- package/dist/v2/components/KV.js +25 -31
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.js +19 -26
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.js +91 -120
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.js +79 -91
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.js +61 -69
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js +38 -21
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NotFoundPage.d.ts +17 -1
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
- package/dist/v2/components/NotFoundPage.js +37 -18
- package/dist/v2/components/NotFoundPage.js.map +1 -1
- package/dist/v2/components/NumberInput.js +88 -118
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.js +38 -56
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.js +34 -45
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.js +42 -49
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.js +59 -67
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.js +90 -135
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/v2/components/SectionHeader.js +34 -41
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.js +69 -93
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +26 -2
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +120 -155
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +27 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js +37 -20
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.js +86 -100
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.js +9 -12
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Spinner.js +16 -25
- package/dist/v2/components/Spinner.js.map +1 -1
- package/dist/v2/components/Status.js +18 -29
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.js +80 -82
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.js +34 -49
- package/dist/v2/components/Surface.js.map +1 -1
- package/dist/v2/components/Switch.js +29 -37
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/TabPanel.d.ts +17 -0
- package/dist/v2/components/TabPanel.d.ts.map +1 -0
- package/dist/v2/components/TabPanel.js +90 -0
- package/dist/v2/components/TabPanel.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +25 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js +53 -29
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.js +80 -115
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.js +26 -35
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.js +62 -74
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.js +119 -174
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.js +23 -38
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/_ErrorPageBody.js +15 -16
- package/dist/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/v2/components/_pickerShared.js +5 -5
- package/dist/v2/components/_pickerShared.js.map +1 -1
- package/dist/v2/components/index.d.ts +40 -1
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +153 -136
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/hooks/index.d.ts +65 -0
- package/dist/v2/hooks/index.d.ts.map +1 -1
- package/dist/v2/hooks/index.js +63 -24
- package/dist/v2/hooks/index.js.map +1 -1
- package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
- package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
- package/dist/v2/hooks/useAppliedFilters.js +117 -0
- package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.js +87 -0
- package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +6 -20
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/v2/hooks/useDensity.d.ts.map +1 -1
- package/dist/v2/hooks/useDensity.js +14 -18
- package/dist/v2/hooks/useDensity.js.map +1 -1
- package/dist/v2/hooks/useFocusFirstError.js +26 -34
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +20 -24
- package/dist/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.js +39 -54
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +5 -13
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/v2/hooks/useSortedRows.js +4 -6
- package/dist/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/v2/hooks/useTabLoading.js +7 -22
- package/dist/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/v2/index.js +143 -145
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/modalContext.js +2 -2
- package/dist/v2/modalContext.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +8 -9
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/index.js +4 -4
- package/dist/v2/models/index.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +44 -48
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +32 -50
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -17
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.js +152 -187
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/AppMain.d.ts +109 -0
- package/dist/v2/patterns/AppMain.d.ts.map +1 -0
- package/dist/v2/patterns/AppMain.js +115 -0
- package/dist/v2/patterns/AppMain.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +40 -42
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/ChartFigure.d.ts +124 -0
- package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
- package/dist/v2/patterns/ChartFigure.js +159 -0
- package/dist/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +60 -94
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/DataGrid.js +262 -297
- package/dist/v2/patterns/DataGrid.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +103 -106
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js +179 -217
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/DetailSplit.d.ts +87 -0
- package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
- package/dist/v2/patterns/DetailSplit.js +116 -0
- package/dist/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.js +22 -23
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +36 -44
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
- package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
- package/dist/v2/patterns/FilterTabBar.js +120 -0
- package/dist/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +20 -23
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.js +53 -50
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +8 -3
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +44 -51
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.js +36 -45
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +55 -72
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +50 -64
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js +25 -26
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
- package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorSummary.js +97 -0
- package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +14 -1
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js +99 -83
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.js +45 -58
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.js +45 -56
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js +54 -64
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +70 -92
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -51
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.js +17 -20
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
- package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
- package/dist/v2/patterns/PreviewDrawer.js +159 -0
- package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +86 -2
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +347 -327
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +6 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +50 -77
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js +122 -143
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.js +35 -57
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.js +121 -142
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +131 -147
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.js +9 -10
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
- package/dist/v2/patterns/_sort.js +17 -33
- package/dist/v2/patterns/_sort.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js +124 -163
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js +80 -99
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/filterCriteria.d.ts +78 -0
- package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
- package/dist/v2/patterns/filterCriteria.js +110 -0
- package/dist/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +160 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +157 -79
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/patterns/rowActions.d.ts +150 -0
- package/dist/v2/patterns/rowActions.d.ts.map +1 -0
- package/dist/v2/patterns/rowActions.js +232 -0
- package/dist/v2/patterns/rowActions.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js +57 -53
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/index.js +5 -5
- package/dist/v2/personalization/adapters/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/favorites.js +39 -62
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.js +31 -36
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +12 -12
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js +81 -182
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +16 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +30 -23
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/personalizationContext.js +10 -12
- package/dist/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/v2/personalization/schema.js +8 -9
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js +31 -45
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/index.js +11 -13
- package/dist/v2/referentiel/index.js.map +1 -1
- package/dist/v2/referentiel/types.d.ts +105 -0
- package/dist/v2/referentiel/types.d.ts.map +1 -0
- package/dist/v2/referentiel/types.js +6 -0
- package/dist/v2/referentiel/types.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +13 -16
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js +63 -120
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js +40 -95
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/_brand.js +12 -26
- package/dist/v2/theme/_brand.js.map +1 -1
- package/dist/v2/theme/_brandSecondary.js +12 -26
- package/dist/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +41 -49
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/theme/cssVariables.d.ts +3 -3
- package/dist/v2/theme/cssVariables.d.ts.map +1 -1
- package/dist/v2/theme/cssVariables.js +65 -70
- package/dist/v2/theme/cssVariables.js.map +1 -1
- package/dist/v2/theme/index.js +10 -10
- package/dist/v2/theme/index.js.map +1 -1
- package/dist/v2/tokens/breakpoints.js +16 -16
- package/dist/v2/tokens/breakpoints.js.map +1 -1
- package/dist/v2/tokens/chart.d.ts +103 -0
- package/dist/v2/tokens/chart.d.ts.map +1 -0
- package/dist/v2/tokens/chart.js +270 -0
- package/dist/v2/tokens/chart.js.map +1 -0
- package/dist/v2/tokens/colors.js +24 -24
- package/dist/v2/tokens/colors.js.map +1 -1
- package/dist/v2/tokens/density.d.ts +104 -0
- package/dist/v2/tokens/density.d.ts.map +1 -1
- package/dist/v2/tokens/density.js +67 -12
- package/dist/v2/tokens/density.js.map +1 -1
- package/dist/v2/tokens/index.d.ts +50 -1
- package/dist/v2/tokens/index.d.ts.map +1 -1
- package/dist/v2/tokens/index.js +116 -68
- package/dist/v2/tokens/index.js.map +1 -1
- package/dist/v2/tokens/motion.js +16 -22
- package/dist/v2/tokens/motion.js.map +1 -1
- package/dist/v2/tokens/radius.js +3 -3
- package/dist/v2/tokens/radius.js.map +1 -1
- package/dist/v2/tokens/shadows.js +8 -8
- package/dist/v2/tokens/shadows.js.map +1 -1
- package/dist/v2/tokens/spacing.js +4 -4
- package/dist/v2/tokens/spacing.js.map +1 -1
- package/dist/v2/tokens/state.js +3 -3
- package/dist/v2/tokens/state.js.map +1 -1
- package/dist/v2/tokens/statusPalette.js +21 -23
- package/dist/v2/tokens/statusPalette.js.map +1 -1
- package/dist/v2/tokens/tokens.json +6 -1
- package/dist/v2/tokens/typography.js +15 -15
- package/dist/v2/tokens/typography.js.map +1 -1
- package/dist/v2/tokens/zIndex.js +3 -3
- package/dist/v2/tokens/zIndex.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +9 -1
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/types/index.js +2 -2
- package/dist/v2/types/index.js.map +1 -1
- package/dist/v2/utils/apiError.js +16 -37
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/contrast.js +31 -32
- package/dist/v2/utils/contrast.js.map +1 -1
- package/dist/v2/utils/cx.js +7 -27
- package/dist/v2/utils/cx.js.map +1 -1
- package/dist/v2/utils/fileDownload.js +25 -28
- package/dist/v2/utils/fileDownload.js.map +1 -1
- package/dist/v2/utils/fileValidation.d.ts +116 -0
- package/dist/v2/utils/fileValidation.d.ts.map +1 -0
- package/dist/v2/utils/fileValidation.js +220 -0
- package/dist/v2/utils/fileValidation.js.map +1 -0
- package/dist/v2/utils/fmtDate.d.ts +103 -0
- package/dist/v2/utils/fmtDate.d.ts.map +1 -0
- package/dist/v2/utils/fmtDate.js +119 -0
- package/dist/v2/utils/fmtDate.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +3 -3
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
- package/dist/v2/utils/fmtMoney.js +9 -11
- package/dist/v2/utils/fmtMoney.js.map +1 -1
- package/dist/v2/utils/formikErrors.d.ts +67 -0
- package/dist/v2/utils/formikErrors.d.ts.map +1 -0
- package/dist/v2/utils/formikErrors.js +85 -0
- package/dist/v2/utils/formikErrors.js.map +1 -0
- package/dist/v2/utils/index.d.ts +5 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +67 -18
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.js +9 -14
- package/dist/v2/utils/mergeLabels.js.map +1 -1
- package/dist/v2/utils/networkStatus.js +14 -14
- package/dist/v2/utils/networkStatus.js.map +1 -1
- package/package.json +26 -9
|
@@ -7,25 +7,8 @@ exports.Stack = exports.Box = void 0;
|
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _tokens = require("../tokens");
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
18
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
19
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
20
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
21
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
22
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
23
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
24
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
25
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
26
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
27
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
28
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } /**
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
/**
|
|
29
12
|
* v2.Box / v2.Stack — token-driven layout primitives.
|
|
30
13
|
*
|
|
31
14
|
* These render through the inline `style` attribute and stay theme-free
|
|
@@ -68,23 +51,28 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
|
|
|
68
51
|
* Precedence: `style` (explicit escape hatch) still overrides `sx`.
|
|
69
52
|
*
|
|
70
53
|
* <Box as="section" sx={{ display: "flex" }} style={{ background: "var(--surface)" }} className="x" />
|
|
71
|
-
*/
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
/** A single CSS value, or a per-breakpoint map of CSS values (responsive). */
|
|
57
|
+
|
|
58
|
+
/** Token-driven inline style; each property is a value or a responsive map. */
|
|
59
|
+
|
|
60
|
+
/** Result of splitting an sx into inline style + generated responsive CSS. */
|
|
61
|
+
|
|
72
62
|
/* Token breakpoint keys, ascending. xs is the mobile-first base and
|
|
73
63
|
* never emits a media query. Sourced from the canonical breakpoints
|
|
74
64
|
* token (tokens/breakpoints.js) so the order can't drift from the scale
|
|
75
65
|
* wired into the MUI theme. */
|
|
76
|
-
|
|
66
|
+
const BP_ORDER = _tokens.BREAKPOINT_KEYS;
|
|
77
67
|
function isPlainObject(v) {
|
|
78
|
-
return v != null &&
|
|
68
|
+
return v != null && typeof v === "object" && !Array.isArray(v);
|
|
79
69
|
}
|
|
80
70
|
function isBreakpointObject(v) {
|
|
81
71
|
if (!isPlainObject(v)) return false;
|
|
82
72
|
// Treat as responsive only if EVERY key is a known breakpoint name.
|
|
83
73
|
// Avoids misreading a nested style object as a breakpoint map.
|
|
84
|
-
|
|
85
|
-
return keys.length > 0 && keys.every(
|
|
86
|
-
return BP_ORDER.includes(k);
|
|
87
|
-
});
|
|
74
|
+
const keys = Object.keys(v);
|
|
75
|
+
return keys.length > 0 && keys.every(k => BP_ORDER.includes(k));
|
|
88
76
|
}
|
|
89
77
|
|
|
90
78
|
/**
|
|
@@ -113,49 +101,37 @@ function resolveSx(sx) {
|
|
|
113
101
|
|
|
114
102
|
// Content-addressed signature. Derived ONCE from the sx so the class
|
|
115
103
|
// and every generated var name are stable across renders/instances.
|
|
116
|
-
|
|
104
|
+
const sig = Math.abs(hashString(JSON.stringify(sx))).toString(36);
|
|
117
105
|
|
|
118
106
|
// inlineStyle is the returned CSSProperties; styleWrite is the same
|
|
119
107
|
// object viewed as a keyed record so dynamic string keys can be written
|
|
120
108
|
// (CSSProperties has no string index signature, so the view needs a
|
|
121
109
|
// cast — the two are the SAME object at runtime).
|
|
122
|
-
|
|
123
|
-
|
|
110
|
+
const inlineStyle = {};
|
|
111
|
+
const styleWrite = inlineStyle;
|
|
124
112
|
/* Per-breakpoint declaration buckets, e.g. byBp.md === "--pui-rsp-<sig>-0:row;" */
|
|
125
|
-
|
|
113
|
+
const byBp = {
|
|
126
114
|
xs: "",
|
|
127
115
|
sm: "",
|
|
128
116
|
md: "",
|
|
129
117
|
lg: "",
|
|
130
118
|
xl: ""
|
|
131
119
|
};
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
for (
|
|
135
|
-
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
136
|
-
prop = _Object$entries$_i[0],
|
|
137
|
-
value = _Object$entries$_i[1];
|
|
120
|
+
let hasResponsive = false;
|
|
121
|
+
let varSeq = 0;
|
|
122
|
+
for (const [prop, value] of Object.entries(sx)) {
|
|
138
123
|
if (isBreakpointObject(value)) {
|
|
139
124
|
hasResponsive = true;
|
|
140
125
|
// Stable, signature-scoped var name (local index, not a global
|
|
141
126
|
// counter). Only ever declared inside `.${className}`, so the name
|
|
142
127
|
// is effectively scoped to elements carrying that class.
|
|
143
|
-
|
|
144
|
-
styleWrite[prop] =
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
var bp = _step.value;
|
|
150
|
-
var bpVal = value[bp];
|
|
151
|
-
if (bpVal != null) {
|
|
152
|
-
byBp[bp] += "".concat(varName, ":").concat(bpVal, ";");
|
|
153
|
-
}
|
|
128
|
+
const varName = `--pui-rsp-${sig}-${varSeq++}`;
|
|
129
|
+
styleWrite[prop] = `var(${varName})`;
|
|
130
|
+
for (const bp of BP_ORDER) {
|
|
131
|
+
const bpVal = value[bp];
|
|
132
|
+
if (bpVal != null) {
|
|
133
|
+
byBp[bp] += `${varName}:${bpVal};`;
|
|
154
134
|
}
|
|
155
|
-
} catch (err) {
|
|
156
|
-
_iterator.e(err);
|
|
157
|
-
} finally {
|
|
158
|
-
_iterator.f();
|
|
159
135
|
}
|
|
160
136
|
} else {
|
|
161
137
|
styleWrite[prop] = value;
|
|
@@ -163,34 +139,25 @@ function resolveSx(sx) {
|
|
|
163
139
|
}
|
|
164
140
|
if (!hasResponsive) {
|
|
165
141
|
return {
|
|
166
|
-
inlineStyle
|
|
142
|
+
inlineStyle,
|
|
167
143
|
css: "",
|
|
168
144
|
className: undefined
|
|
169
145
|
};
|
|
170
146
|
}
|
|
171
|
-
|
|
172
|
-
|
|
147
|
+
const className = `pui-rsp-${sig}`;
|
|
148
|
+
let css = "";
|
|
173
149
|
// xs = base (no media query), then ascending min-width queries built
|
|
174
150
|
// by the shared mq.up() helper (single breakpoint→media-query engine).
|
|
175
|
-
if (byBp.xs) css +=
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
180
|
-
var _bp = _step2.value;
|
|
181
|
-
if (byBp[_bp]) {
|
|
182
|
-
css += "".concat(_tokens.mq.up(_bp), "{.").concat(className, "{").concat(byBp[_bp], "}}");
|
|
183
|
-
}
|
|
151
|
+
if (byBp.xs) css += `.${className}{${byBp.xs}}`;
|
|
152
|
+
for (const bp of ["sm", "md", "lg", "xl"]) {
|
|
153
|
+
if (byBp[bp]) {
|
|
154
|
+
css += `${_tokens.mq.up(bp)}{.${className}{${byBp[bp]}}}`;
|
|
184
155
|
}
|
|
185
|
-
} catch (err) {
|
|
186
|
-
_iterator2.e(err);
|
|
187
|
-
} finally {
|
|
188
|
-
_iterator2.f();
|
|
189
156
|
}
|
|
190
157
|
return {
|
|
191
|
-
inlineStyle
|
|
192
|
-
css
|
|
193
|
-
className
|
|
158
|
+
inlineStyle,
|
|
159
|
+
css,
|
|
160
|
+
className
|
|
194
161
|
};
|
|
195
162
|
}
|
|
196
163
|
|
|
@@ -198,8 +165,8 @@ function resolveSx(sx) {
|
|
|
198
165
|
* Used to content-address identical sx signatures so their generated
|
|
199
166
|
* class + <style> rule de-duplicate in the DOM. */
|
|
200
167
|
function hashString(str) {
|
|
201
|
-
|
|
202
|
-
for (
|
|
168
|
+
let h = 5381;
|
|
169
|
+
for (let i = 0; i < str.length; i++) {
|
|
203
170
|
h = h * 33 ^ str.charCodeAt(i);
|
|
204
171
|
}
|
|
205
172
|
return h | 0;
|
|
@@ -209,11 +176,11 @@ function hashString(str) {
|
|
|
209
176
|
* unique className. Idempotent: a second Box with the same sx signature
|
|
210
177
|
* reuses the existing <style>. */
|
|
211
178
|
function useResponsiveStyleInjection(css, className) {
|
|
212
|
-
React.useInsertionEffect(
|
|
179
|
+
React.useInsertionEffect(() => {
|
|
213
180
|
if (!css || !className || typeof document === "undefined") return undefined;
|
|
214
|
-
|
|
181
|
+
const id = `pui-rsp-style-${className}`;
|
|
215
182
|
if (document.getElementById(id)) return undefined;
|
|
216
|
-
|
|
183
|
+
const el = document.createElement("style");
|
|
217
184
|
el.id = id;
|
|
218
185
|
el.textContent = css;
|
|
219
186
|
document.head.appendChild(el);
|
|
@@ -224,61 +191,65 @@ function useResponsiveStyleInjection(css, className) {
|
|
|
224
191
|
return undefined;
|
|
225
192
|
}, [css, className]);
|
|
226
193
|
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
rspClass = _React$useMemo.className;
|
|
194
|
+
const Box = exports.Box = /*#__PURE__*/React.forwardRef(function Box({
|
|
195
|
+
as: Component = "div",
|
|
196
|
+
sx,
|
|
197
|
+
style,
|
|
198
|
+
className,
|
|
199
|
+
children,
|
|
200
|
+
...rest
|
|
201
|
+
}, ref) {
|
|
202
|
+
const {
|
|
203
|
+
inlineStyle,
|
|
204
|
+
css,
|
|
205
|
+
className: rspClass
|
|
206
|
+
} = React.useMemo(() => resolveSx(sx), [sx]);
|
|
241
207
|
useResponsiveStyleInjection(css, rspClass);
|
|
242
208
|
|
|
243
209
|
/* Merge sx-derived inline style + explicit style — style wins. */
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
210
|
+
const merged = inlineStyle && style ? {
|
|
211
|
+
...inlineStyle,
|
|
212
|
+
...style
|
|
213
|
+
} : inlineStyle ? inlineStyle : style ? style : undefined;
|
|
214
|
+
const mergedClass = [className, rspClass].filter(Boolean).join(" ") || undefined;
|
|
215
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
|
|
247
216
|
ref: ref,
|
|
248
217
|
style: merged,
|
|
249
|
-
className: mergedClass
|
|
250
|
-
|
|
218
|
+
className: mergedClass,
|
|
219
|
+
...rest,
|
|
251
220
|
children: children
|
|
252
|
-
})
|
|
221
|
+
});
|
|
253
222
|
});
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
rest = _objectWithoutProperties(_ref2, _excluded2);
|
|
266
|
-
var layoutSx = _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
223
|
+
const Stack = exports.Stack = /*#__PURE__*/React.forwardRef(function Stack({
|
|
224
|
+
direction = "column",
|
|
225
|
+
gap = "var(--s-3)",
|
|
226
|
+
align,
|
|
227
|
+
justify,
|
|
228
|
+
wrap = false,
|
|
229
|
+
sx,
|
|
230
|
+
children,
|
|
231
|
+
...rest
|
|
232
|
+
}, ref) {
|
|
233
|
+
const layoutSx = {
|
|
267
234
|
display: "flex",
|
|
268
235
|
flexDirection: direction,
|
|
269
|
-
gap
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
236
|
+
gap,
|
|
237
|
+
...(align ? {
|
|
238
|
+
alignItems: align
|
|
239
|
+
} : null),
|
|
240
|
+
...(justify ? {
|
|
241
|
+
justifyContent: justify
|
|
242
|
+
} : null),
|
|
243
|
+
...(wrap ? {
|
|
244
|
+
flexWrap: "wrap"
|
|
245
|
+
} : null),
|
|
246
|
+
...sx
|
|
247
|
+
};
|
|
248
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Box, {
|
|
278
249
|
ref: ref,
|
|
279
|
-
sx: layoutSx
|
|
280
|
-
|
|
250
|
+
sx: layoutSx,
|
|
251
|
+
...rest,
|
|
281
252
|
children: children
|
|
282
|
-
})
|
|
253
|
+
});
|
|
283
254
|
});
|
|
284
255
|
//# sourceMappingURL=Layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","names":["React","_interopRequireWildcard","require","_tokens","_jsxRuntime","_excluded","_excluded2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_createForOfIteratorHelper","o","allowArrayLike","it","iterator","Array","isArray","_unsupportedIterableToArray","F","s","n","done","e","_e2","f","normalCompletion","didErr","err","step","next","_e3","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","BP_ORDER","BREAKPOINT_KEYS","isPlainObject","v","isBreakpointObject","every","k","includes","resolveSx","sx","inlineStyle","css","className","sig","Math","abs","hashString","JSON","stringify","styleWrite","byBp","xs","sm","md","lg","xl","hasResponsive","varSeq","_Object$entries","entries","_Object$entries$_i","prop","varName","concat","_iterator","_step","bp","bpVal","_iterator2","_step2","mq","up","str","h","charCodeAt","useResponsiveStyleInjection","useInsertionEffect","document","id","getElementById","el","createElement","textContent","head","appendChild","Box","exports","forwardRef","_ref","ref","_ref$as","as","Component","style","children","rest","_React$useMemo","useMemo","rspClass","merged","mergedClass","Boolean","join","jsx","Stack","_ref2","_ref2$direction","direction","_ref2$gap","gap","align","justify","_ref2$wrap","wrap","layoutSx","display","flexDirection","alignItems","justifyContent","flexWrap"],"sources":["../../../src/lib/v2/components/Layout.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { mq, BREAKPOINT_KEYS } from \"../tokens\";\r\nimport type { Breakpoint } from \"../types/common\";\r\n\r\n/**\r\n * v2.Box / v2.Stack — token-driven layout primitives.\r\n *\r\n * These render through the inline `style` attribute and stay theme-free\r\n * (no MUI theme runtime, no emotion). Tokens flow through CSS variables\r\n * on :root, exactly as before.\r\n *\r\n * Responsive escape hatch (R-RS.4)\r\n * --------------------------------\r\n * Historically `sx` accepted ONLY plain CSS-property values; a\r\n * breakpoint object (`{ xs, sm, md, lg, xl }`) was silently dropped to\r\n * \"[object Object]\" because inline styles can't carry media queries.\r\n * Modules that needed responsive variation were pushed into bespoke,\r\n * per-module CSS files — which fragments the breakpoint contract and\r\n * violates centralisation.\r\n *\r\n * `sx` now ALSO accepts breakpoint objects on any property, resolved\r\n * against the DESIGN-SYSTEM breakpoint TOKENS (tokens/breakpoints.js),\r\n * the same scale wired into the MUI theme. The mechanism is the standard\r\n * \"CSS variable swapped by media query\" technique, kept entirely inside\r\n * the lib so consumers never hand-write a media query:\r\n *\r\n * <Box sx={{ flexDirection: { xs: \"column\", md: \"row\" }, gap: \"var(--s-3)\" }} />\r\n *\r\n * → a generated scoped class sets, for that element only:\r\n * --pui-rsp-<sig>-0: column; (base, mobile-first)\r\n * ${mq.up(\"md\")} { --pui-rsp-<sig>-0: row } (md token)\r\n * and the inline style references flexDirection: var(--pui-rsp-<sig>-0).\r\n *\r\n * `xs` is treated as the base (min-width 0). sm/md/lg/xl emit\r\n * min-width media queries at the token values via mq.up(), so the\r\n * generated queries are byte-identical to theme.breakpoints.up().\r\n *\r\n * The generated class + variable names are CONTENT-ADDRESSED (derived\r\n * from a hash of the sx), so an identical sx signature always produces\r\n * the identical class and the identical <style> rule — injected once and\r\n * shared by every instance and every re-render. (A volatile counter here\r\n * would mint a fresh class + <style> on each render of an inline-sx Box,\r\n * leaking <style> tags into <head> without bound.)\r\n *\r\n * Precedence: `style` (explicit escape hatch) still overrides `sx`.\r\n *\r\n * <Box as=\"section\" sx={{ display: \"flex\" }} style={{ background: \"var(--surface)\" }} className=\"x\" />\r\n */\r\n\r\n/** A single CSS value, or a per-breakpoint map of CSS values (responsive). */\r\ntype SxValue =\r\n | string\r\n | number\r\n | Partial<Record<Breakpoint, string | number | undefined>>;\r\n\r\n/** Token-driven inline style; each property is a value or a responsive map. */\r\ntype Sx = { [property: string]: SxValue };\r\n\r\n/** Result of splitting an sx into inline style + generated responsive CSS. */\r\ntype ResolvedSx = {\r\n inlineStyle: React.CSSProperties | undefined;\r\n css: string;\r\n className: string | undefined;\r\n};\r\n\r\n/* Token breakpoint keys, ascending. xs is the mobile-first base and\r\n * never emits a media query. Sourced from the canonical breakpoints\r\n * token (tokens/breakpoints.js) so the order can't drift from the scale\r\n * wired into the MUI theme. */\r\nconst BP_ORDER = BREAKPOINT_KEYS;\r\n\r\nfunction isPlainObject(v: unknown): boolean {\r\n return v != null && typeof v === \"object\" && !Array.isArray(v);\r\n}\r\n\r\nfunction isBreakpointObject(\r\n v: unknown,\r\n): v is Partial<Record<Breakpoint, string | number | undefined>> {\r\n if (!isPlainObject(v)) return false;\r\n // Treat as responsive only if EVERY key is a known breakpoint name.\r\n // Avoids misreading a nested style object as a breakpoint map.\r\n const keys = Object.keys(v as Record<string, unknown>);\r\n return keys.length > 0 && keys.every((k) => (BP_ORDER as readonly string[]).includes(k));\r\n}\r\n\r\n/**\r\n * Split an sx object into:\r\n * - inlineStyle : plain props written directly (responsive props point\r\n * at a generated CSS variable)\r\n * - css : a scoped stylesheet string (or \"\" when nothing is\r\n * responsive)\r\n * - className : the generated scope class (or undefined)\r\n *\r\n * The className and the generated variable names are both derived from a\r\n * single content hash of the sx, so the result is STABLE across renders\r\n * and identical across instances that share the same sx — which is what\r\n * makes the <style> injection idempotent (see useResponsiveStyleInjection).\r\n *\r\n * Returns a stable result for a given sx via useMemo at the call site.\r\n */\r\nfunction resolveSx(sx: Sx | undefined): ResolvedSx {\r\n if (sx == null || !isPlainObject(sx)) {\r\n return { inlineStyle: undefined, css: \"\", className: undefined };\r\n }\r\n\r\n // Content-addressed signature. Derived ONCE from the sx so the class\r\n // and every generated var name are stable across renders/instances.\r\n const sig = Math.abs(hashString(JSON.stringify(sx))).toString(36);\r\n\r\n // inlineStyle is the returned CSSProperties; styleWrite is the same\r\n // object viewed as a keyed record so dynamic string keys can be written\r\n // (CSSProperties has no string index signature, so the view needs a\r\n // cast — the two are the SAME object at runtime).\r\n const inlineStyle: React.CSSProperties = {};\r\n const styleWrite = inlineStyle as unknown as Record<string, string | number | undefined>;\r\n /* Per-breakpoint declaration buckets, e.g. byBp.md === \"--pui-rsp-<sig>-0:row;\" */\r\n const byBp: Record<Breakpoint, string> = { xs: \"\", sm: \"\", md: \"\", lg: \"\", xl: \"\" };\r\n let hasResponsive = false;\r\n let varSeq = 0;\r\n\r\n for (const [prop, value] of Object.entries(sx)) {\r\n if (isBreakpointObject(value)) {\r\n hasResponsive = true;\r\n // Stable, signature-scoped var name (local index, not a global\r\n // counter). Only ever declared inside `.${className}`, so the name\r\n // is effectively scoped to elements carrying that class.\r\n const varName = `--pui-rsp-${sig}-${varSeq++}`;\r\n styleWrite[prop] = `var(${varName})`;\r\n for (const bp of BP_ORDER) {\r\n const bpVal = value[bp];\r\n if (bpVal != null) {\r\n byBp[bp] += `${varName}:${bpVal};`;\r\n }\r\n }\r\n } else {\r\n styleWrite[prop] = value;\r\n }\r\n }\r\n\r\n if (!hasResponsive) {\r\n return { inlineStyle, css: \"\", className: undefined };\r\n }\r\n\r\n const className = `pui-rsp-${sig}`;\r\n\r\n let css = \"\";\r\n // xs = base (no media query), then ascending min-width queries built\r\n // by the shared mq.up() helper (single breakpoint→media-query engine).\r\n if (byBp.xs) css += `.${className}{${byBp.xs}}`;\r\n for (const bp of [\"sm\", \"md\", \"lg\", \"xl\"] as const) {\r\n if (byBp[bp]) {\r\n css += `${mq.up(bp)}{.${className}{${byBp[bp]}}}`;\r\n }\r\n }\r\n\r\n return { inlineStyle, css, className };\r\n}\r\n\r\n/* Small, stable, dependency-free string hash (djb2) for class naming.\r\n * Used to content-address identical sx signatures so their generated\r\n * class + <style> rule de-duplicate in the DOM. */\r\nfunction hashString(str: string): number {\r\n let h = 5381;\r\n for (let i = 0; i < str.length; i++) {\r\n h = (h * 33) ^ str.charCodeAt(i);\r\n }\r\n return h | 0;\r\n}\r\n\r\n/* Injects the generated stylesheet for a responsive sx exactly once per\r\n * unique className. Idempotent: a second Box with the same sx signature\r\n * reuses the existing <style>. */\r\nfunction useResponsiveStyleInjection(css: string, className: string | undefined): void {\r\n React.useInsertionEffect(() => {\r\n if (!css || !className || typeof document === \"undefined\") return undefined;\r\n const id = `pui-rsp-style-${className}`;\r\n if (document.getElementById(id)) return undefined;\r\n const el = document.createElement(\"style\");\r\n el.id = id;\r\n el.textContent = css;\r\n document.head.appendChild(el);\r\n // Not removed on unmount: the rule is keyed by content hash and may\r\n // be shared by sibling instances; leaving it is cheap and avoids a\r\n // flash if the same sx remounts. The set is bounded by the number of\r\n // DISTINCT responsive sx signatures in the app, not instances.\r\n return undefined;\r\n }, [css, className]);\r\n}\r\n\r\nexport interface BoxProps extends React.HTMLAttributes<HTMLElement> {\r\n /** Element or component to render. @default \"div\" */\r\n as?: React.ElementType | undefined;\r\n /**\r\n * Token-driven inline style. Each property may be a plain CSS value or a\r\n * responsive breakpoint map (`{ xs, sm, md, lg, xl }`) resolved against the\r\n * design-system breakpoint tokens. `style` still overrides `sx`.\r\n */\r\n sx?: Sx | undefined;\r\n}\r\n\r\nexport const Box = React.forwardRef<HTMLElement, BoxProps>(function Box(\r\n { as: Component = \"div\", sx, style, className, children, ...rest },\r\n ref,\r\n) {\r\n const { inlineStyle, css, className: rspClass } = React.useMemo(\r\n () => resolveSx(sx),\r\n [sx],\r\n );\r\n useResponsiveStyleInjection(css, rspClass);\r\n\r\n /* Merge sx-derived inline style + explicit style — style wins. */\r\n const merged =\r\n inlineStyle && style ? { ...inlineStyle, ...style } :\r\n inlineStyle ? inlineStyle :\r\n style ? style :\r\n undefined;\r\n\r\n const mergedClass = [className, rspClass].filter(Boolean).join(\" \") || undefined;\r\n\r\n return (\r\n <Component ref={ref} style={merged} className={mergedClass} {...rest}>\r\n {children}\r\n </Component>\r\n );\r\n});\r\n\r\nexport interface StackProps extends BoxProps {\r\n /** Flex direction. @default \"column\" */\r\n direction?: React.CSSProperties[\"flexDirection\"] | undefined;\r\n /** Gap between children (any CSS length or spacing var). @default \"var(--s-3)\" */\r\n gap?: string | number | undefined;\r\n /** align-items. */\r\n align?: React.CSSProperties[\"alignItems\"] | undefined;\r\n /** justify-content. */\r\n justify?: React.CSSProperties[\"justifyContent\"] | undefined;\r\n /** Set flex-wrap: wrap. @default false */\r\n wrap?: boolean | undefined;\r\n}\r\n\r\nexport const Stack = React.forwardRef<HTMLElement, StackProps>(function Stack(\r\n {\r\n direction = \"column\",\r\n gap = \"var(--s-3)\",\r\n align,\r\n justify,\r\n wrap = false,\r\n sx,\r\n children,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n const layoutSx: Sx = {\r\n display: \"flex\",\r\n flexDirection: direction,\r\n gap,\r\n ...(align ? { alignItems: align } : null),\r\n ...(justify ? { justifyContent: justify } : null),\r\n ...(wrap ? { flexWrap: \"wrap\" } : null),\r\n ...sx,\r\n };\r\n\r\n return (\r\n <Box ref={ref} sx={layoutSx} {...rest}>\r\n {children}\r\n </Box>\r\n );\r\n});\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Layout.js","names":["React","_interopRequireWildcard","require","_tokens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BP_ORDER","BREAKPOINT_KEYS","isPlainObject","v","Array","isArray","isBreakpointObject","keys","length","every","k","includes","resolveSx","sx","inlineStyle","undefined","css","className","sig","Math","abs","hashString","JSON","stringify","toString","styleWrite","byBp","xs","sm","md","lg","xl","hasResponsive","varSeq","prop","value","entries","varName","bp","bpVal","mq","up","str","h","charCodeAt","useResponsiveStyleInjection","useInsertionEffect","document","id","getElementById","el","createElement","textContent","head","appendChild","Box","exports","forwardRef","as","Component","style","children","rest","ref","rspClass","useMemo","merged","mergedClass","filter","Boolean","join","jsx","Stack","direction","gap","align","justify","wrap","layoutSx","display","flexDirection","alignItems","justifyContent","flexWrap"],"sources":["../../../src/lib/v2/components/Layout.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { mq, BREAKPOINT_KEYS } from \"../tokens\";\r\nimport type { Breakpoint } from \"../types/common\";\r\n\r\n/**\r\n * v2.Box / v2.Stack — token-driven layout primitives.\r\n *\r\n * These render through the inline `style` attribute and stay theme-free\r\n * (no MUI theme runtime, no emotion). Tokens flow through CSS variables\r\n * on :root, exactly as before.\r\n *\r\n * Responsive escape hatch (R-RS.4)\r\n * --------------------------------\r\n * Historically `sx` accepted ONLY plain CSS-property values; a\r\n * breakpoint object (`{ xs, sm, md, lg, xl }`) was silently dropped to\r\n * \"[object Object]\" because inline styles can't carry media queries.\r\n * Modules that needed responsive variation were pushed into bespoke,\r\n * per-module CSS files — which fragments the breakpoint contract and\r\n * violates centralisation.\r\n *\r\n * `sx` now ALSO accepts breakpoint objects on any property, resolved\r\n * against the DESIGN-SYSTEM breakpoint TOKENS (tokens/breakpoints.js),\r\n * the same scale wired into the MUI theme. The mechanism is the standard\r\n * \"CSS variable swapped by media query\" technique, kept entirely inside\r\n * the lib so consumers never hand-write a media query:\r\n *\r\n * <Box sx={{ flexDirection: { xs: \"column\", md: \"row\" }, gap: \"var(--s-3)\" }} />\r\n *\r\n * → a generated scoped class sets, for that element only:\r\n * --pui-rsp-<sig>-0: column; (base, mobile-first)\r\n * ${mq.up(\"md\")} { --pui-rsp-<sig>-0: row } (md token)\r\n * and the inline style references flexDirection: var(--pui-rsp-<sig>-0).\r\n *\r\n * `xs` is treated as the base (min-width 0). sm/md/lg/xl emit\r\n * min-width media queries at the token values via mq.up(), so the\r\n * generated queries are byte-identical to theme.breakpoints.up().\r\n *\r\n * The generated class + variable names are CONTENT-ADDRESSED (derived\r\n * from a hash of the sx), so an identical sx signature always produces\r\n * the identical class and the identical <style> rule — injected once and\r\n * shared by every instance and every re-render. (A volatile counter here\r\n * would mint a fresh class + <style> on each render of an inline-sx Box,\r\n * leaking <style> tags into <head> without bound.)\r\n *\r\n * Precedence: `style` (explicit escape hatch) still overrides `sx`.\r\n *\r\n * <Box as=\"section\" sx={{ display: \"flex\" }} style={{ background: \"var(--surface)\" }} className=\"x\" />\r\n */\r\n\r\n/** A single CSS value, or a per-breakpoint map of CSS values (responsive). */\r\ntype SxValue =\r\n | string\r\n | number\r\n | Partial<Record<Breakpoint, string | number | undefined>>;\r\n\r\n/** Token-driven inline style; each property is a value or a responsive map. */\r\ntype Sx = { [property: string]: SxValue };\r\n\r\n/** Result of splitting an sx into inline style + generated responsive CSS. */\r\ntype ResolvedSx = {\r\n inlineStyle: React.CSSProperties | undefined;\r\n css: string;\r\n className: string | undefined;\r\n};\r\n\r\n/* Token breakpoint keys, ascending. xs is the mobile-first base and\r\n * never emits a media query. Sourced from the canonical breakpoints\r\n * token (tokens/breakpoints.js) so the order can't drift from the scale\r\n * wired into the MUI theme. */\r\nconst BP_ORDER = BREAKPOINT_KEYS;\r\n\r\nfunction isPlainObject(v: unknown): boolean {\r\n return v != null && typeof v === \"object\" && !Array.isArray(v);\r\n}\r\n\r\nfunction isBreakpointObject(\r\n v: unknown,\r\n): v is Partial<Record<Breakpoint, string | number | undefined>> {\r\n if (!isPlainObject(v)) return false;\r\n // Treat as responsive only if EVERY key is a known breakpoint name.\r\n // Avoids misreading a nested style object as a breakpoint map.\r\n const keys = Object.keys(v as Record<string, unknown>);\r\n return keys.length > 0 && keys.every((k) => (BP_ORDER as readonly string[]).includes(k));\r\n}\r\n\r\n/**\r\n * Split an sx object into:\r\n * - inlineStyle : plain props written directly (responsive props point\r\n * at a generated CSS variable)\r\n * - css : a scoped stylesheet string (or \"\" when nothing is\r\n * responsive)\r\n * - className : the generated scope class (or undefined)\r\n *\r\n * The className and the generated variable names are both derived from a\r\n * single content hash of the sx, so the result is STABLE across renders\r\n * and identical across instances that share the same sx — which is what\r\n * makes the <style> injection idempotent (see useResponsiveStyleInjection).\r\n *\r\n * Returns a stable result for a given sx via useMemo at the call site.\r\n */\r\nfunction resolveSx(sx: Sx | undefined): ResolvedSx {\r\n if (sx == null || !isPlainObject(sx)) {\r\n return { inlineStyle: undefined, css: \"\", className: undefined };\r\n }\r\n\r\n // Content-addressed signature. Derived ONCE from the sx so the class\r\n // and every generated var name are stable across renders/instances.\r\n const sig = Math.abs(hashString(JSON.stringify(sx))).toString(36);\r\n\r\n // inlineStyle is the returned CSSProperties; styleWrite is the same\r\n // object viewed as a keyed record so dynamic string keys can be written\r\n // (CSSProperties has no string index signature, so the view needs a\r\n // cast — the two are the SAME object at runtime).\r\n const inlineStyle: React.CSSProperties = {};\r\n const styleWrite = inlineStyle as unknown as Record<string, string | number | undefined>;\r\n /* Per-breakpoint declaration buckets, e.g. byBp.md === \"--pui-rsp-<sig>-0:row;\" */\r\n const byBp: Record<Breakpoint, string> = { xs: \"\", sm: \"\", md: \"\", lg: \"\", xl: \"\" };\r\n let hasResponsive = false;\r\n let varSeq = 0;\r\n\r\n for (const [prop, value] of Object.entries(sx)) {\r\n if (isBreakpointObject(value)) {\r\n hasResponsive = true;\r\n // Stable, signature-scoped var name (local index, not a global\r\n // counter). Only ever declared inside `.${className}`, so the name\r\n // is effectively scoped to elements carrying that class.\r\n const varName = `--pui-rsp-${sig}-${varSeq++}`;\r\n styleWrite[prop] = `var(${varName})`;\r\n for (const bp of BP_ORDER) {\r\n const bpVal = value[bp];\r\n if (bpVal != null) {\r\n byBp[bp] += `${varName}:${bpVal};`;\r\n }\r\n }\r\n } else {\r\n styleWrite[prop] = value;\r\n }\r\n }\r\n\r\n if (!hasResponsive) {\r\n return { inlineStyle, css: \"\", className: undefined };\r\n }\r\n\r\n const className = `pui-rsp-${sig}`;\r\n\r\n let css = \"\";\r\n // xs = base (no media query), then ascending min-width queries built\r\n // by the shared mq.up() helper (single breakpoint→media-query engine).\r\n if (byBp.xs) css += `.${className}{${byBp.xs}}`;\r\n for (const bp of [\"sm\", \"md\", \"lg\", \"xl\"] as const) {\r\n if (byBp[bp]) {\r\n css += `${mq.up(bp)}{.${className}{${byBp[bp]}}}`;\r\n }\r\n }\r\n\r\n return { inlineStyle, css, className };\r\n}\r\n\r\n/* Small, stable, dependency-free string hash (djb2) for class naming.\r\n * Used to content-address identical sx signatures so their generated\r\n * class + <style> rule de-duplicate in the DOM. */\r\nfunction hashString(str: string): number {\r\n let h = 5381;\r\n for (let i = 0; i < str.length; i++) {\r\n h = (h * 33) ^ str.charCodeAt(i);\r\n }\r\n return h | 0;\r\n}\r\n\r\n/* Injects the generated stylesheet for a responsive sx exactly once per\r\n * unique className. Idempotent: a second Box with the same sx signature\r\n * reuses the existing <style>. */\r\nfunction useResponsiveStyleInjection(css: string, className: string | undefined): void {\r\n React.useInsertionEffect(() => {\r\n if (!css || !className || typeof document === \"undefined\") return undefined;\r\n const id = `pui-rsp-style-${className}`;\r\n if (document.getElementById(id)) return undefined;\r\n const el = document.createElement(\"style\");\r\n el.id = id;\r\n el.textContent = css;\r\n document.head.appendChild(el);\r\n // Not removed on unmount: the rule is keyed by content hash and may\r\n // be shared by sibling instances; leaving it is cheap and avoids a\r\n // flash if the same sx remounts. The set is bounded by the number of\r\n // DISTINCT responsive sx signatures in the app, not instances.\r\n return undefined;\r\n }, [css, className]);\r\n}\r\n\r\nexport interface BoxProps extends React.HTMLAttributes<HTMLElement> {\r\n /** Element or component to render. @default \"div\" */\r\n as?: React.ElementType | undefined;\r\n /**\r\n * Token-driven inline style. Each property may be a plain CSS value or a\r\n * responsive breakpoint map (`{ xs, sm, md, lg, xl }`) resolved against the\r\n * design-system breakpoint tokens. `style` still overrides `sx`.\r\n */\r\n sx?: Sx | undefined;\r\n}\r\n\r\nexport const Box = React.forwardRef<HTMLElement, BoxProps>(function Box(\r\n { as: Component = \"div\", sx, style, className, children, ...rest },\r\n ref,\r\n) {\r\n const { inlineStyle, css, className: rspClass } = React.useMemo(\r\n () => resolveSx(sx),\r\n [sx],\r\n );\r\n useResponsiveStyleInjection(css, rspClass);\r\n\r\n /* Merge sx-derived inline style + explicit style — style wins. */\r\n const merged =\r\n inlineStyle && style ? { ...inlineStyle, ...style } :\r\n inlineStyle ? inlineStyle :\r\n style ? style :\r\n undefined;\r\n\r\n const mergedClass = [className, rspClass].filter(Boolean).join(\" \") || undefined;\r\n\r\n return (\r\n <Component ref={ref} style={merged} className={mergedClass} {...rest}>\r\n {children}\r\n </Component>\r\n );\r\n});\r\n\r\nexport interface StackProps extends BoxProps {\r\n /** Flex direction. @default \"column\" */\r\n direction?: React.CSSProperties[\"flexDirection\"] | undefined;\r\n /** Gap between children (any CSS length or spacing var). @default \"var(--s-3)\" */\r\n gap?: string | number | undefined;\r\n /** align-items. */\r\n align?: React.CSSProperties[\"alignItems\"] | undefined;\r\n /** justify-content. */\r\n justify?: React.CSSProperties[\"justifyContent\"] | undefined;\r\n /** Set flex-wrap: wrap. @default false */\r\n wrap?: boolean | undefined;\r\n}\r\n\r\nexport const Stack = React.forwardRef<HTMLElement, StackProps>(function Stack(\r\n {\r\n direction = \"column\",\r\n gap = \"var(--s-3)\",\r\n align,\r\n justify,\r\n wrap = false,\r\n sx,\r\n children,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n const layoutSx: Sx = {\r\n display: \"flex\",\r\n flexDirection: direction,\r\n gap,\r\n ...(align ? { alignItems: align } : null),\r\n ...(justify ? { justifyContent: justify } : null),\r\n ...(wrap ? { flexWrap: \"wrap\" } : null),\r\n ...sx,\r\n };\r\n\r\n return (\r\n <Box ref={ref} sx={layoutSx} {...rest}>\r\n {children}\r\n </Box>\r\n );\r\n});\r\n"],"mappings":"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","ignoreList":[]}
|