@portnet/ui 5.0.28 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +524 -0
- package/README.md +101 -38
- package/dist/index.d.ts +59 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +174 -203
- package/dist/index.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +337 -0
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/v2/__tests__/apiError.test.js +182 -0
- package/dist/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/v2/__tests__/banned-patterns.test.js +272 -0
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +225 -0
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/v2/__tests__/cssVariables.test.js +158 -0
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +153 -0
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/v2/__tests__/locale-fallback.test.js +111 -0
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +517 -0
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/v2/components/Accordion.d.ts +56 -0
- package/dist/v2/components/Accordion.d.ts.map +1 -0
- package/dist/v2/components/Accordion.js +238 -0
- package/dist/v2/components/Accordion.js.map +1 -0
- package/dist/v2/components/ActionStrip.d.ts +67 -0
- package/dist/v2/components/ActionStrip.d.ts.map +1 -0
- package/dist/v2/components/ActionStrip.js +154 -0
- package/dist/v2/components/ActionStrip.js.map +1 -0
- package/dist/v2/components/Banner.d.ts +49 -0
- package/dist/v2/components/Banner.d.ts.map +1 -0
- package/dist/v2/components/Banner.js +183 -0
- package/dist/v2/components/Banner.js.map +1 -0
- package/dist/v2/components/Busy.d.ts +18 -0
- package/dist/v2/components/Busy.d.ts.map +1 -0
- package/dist/v2/components/Busy.js +104 -0
- package/dist/v2/components/Busy.js.map +1 -0
- package/dist/v2/components/Button.d.ts +36 -0
- package/dist/v2/components/Button.d.ts.map +1 -0
- package/dist/v2/components/Button.js +122 -0
- package/dist/v2/components/Button.js.map +1 -0
- package/dist/v2/components/CategoryTag.d.ts +45 -0
- package/dist/v2/components/CategoryTag.d.ts.map +1 -0
- package/dist/v2/components/CategoryTag.js +89 -0
- package/dist/v2/components/CategoryTag.js.map +1 -0
- package/dist/v2/components/Checkbox.d.ts +59 -0
- package/dist/v2/components/Checkbox.d.ts.map +1 -0
- package/dist/v2/components/Checkbox.js +134 -0
- package/dist/v2/components/Checkbox.js.map +1 -0
- package/dist/v2/components/Chip.d.ts +48 -0
- package/dist/v2/components/Chip.d.ts.map +1 -0
- package/dist/v2/components/Chip.js +131 -0
- package/dist/v2/components/Chip.js.map +1 -0
- package/dist/v2/components/Combobox.d.ts +134 -0
- package/dist/v2/components/Combobox.d.ts.map +1 -0
- package/dist/v2/components/Combobox.js +399 -0
- package/dist/v2/components/Combobox.js.map +1 -0
- package/dist/v2/components/CommandPalette.d.ts +36 -0
- package/dist/v2/components/CommandPalette.d.ts.map +1 -0
- package/dist/v2/components/CommandPalette.js +672 -0
- package/dist/v2/components/CommandPalette.js.map +1 -0
- package/dist/v2/components/ConfirmDialog.d.ts +23 -0
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/v2/components/ConfirmDialog.js +150 -0
- package/dist/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/v2/components/DatePicker.d.ts +21 -0
- package/dist/v2/components/DatePicker.d.ts.map +1 -0
- package/dist/v2/components/DatePicker.js +207 -0
- package/dist/v2/components/DatePicker.js.map +1 -0
- package/dist/v2/components/DateRangePicker.d.ts +81 -0
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -0
- package/dist/v2/components/DateRangePicker.js +295 -0
- package/dist/v2/components/DateRangePicker.js.map +1 -0
- package/dist/v2/components/DateTimePicker.d.ts +21 -0
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -0
- package/dist/v2/components/DateTimePicker.js +189 -0
- package/dist/v2/components/DateTimePicker.js.map +1 -0
- package/dist/v2/components/Drawer.d.ts +34 -0
- package/dist/v2/components/Drawer.d.ts.map +1 -0
- package/dist/v2/components/Drawer.js +339 -0
- package/dist/v2/components/Drawer.js.map +1 -0
- package/dist/v2/components/Dropzone.d.ts +150 -0
- package/dist/v2/components/Dropzone.d.ts.map +1 -0
- package/dist/v2/components/Dropzone.js +539 -0
- package/dist/v2/components/Dropzone.js.map +1 -0
- package/dist/v2/components/EmptyState.d.ts +36 -0
- package/dist/v2/components/EmptyState.d.ts.map +1 -0
- package/dist/v2/components/EmptyState.js +112 -0
- package/dist/v2/components/EmptyState.js.map +1 -0
- package/dist/v2/components/FavoriteToggle.d.ts +22 -0
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -0
- package/dist/v2/components/FavoriteToggle.js +134 -0
- package/dist/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/v2/components/Field.d.ts +58 -0
- package/dist/v2/components/Field.d.ts.map +1 -0
- package/dist/v2/components/Field.js +186 -0
- package/dist/v2/components/Field.js.map +1 -0
- package/dist/v2/components/FieldHelp.d.ts +54 -0
- package/dist/v2/components/FieldHelp.d.ts.map +1 -0
- package/dist/v2/components/FieldHelp.js +209 -0
- package/dist/v2/components/FieldHelp.js.map +1 -0
- package/dist/v2/components/FilterTab.d.ts +35 -0
- package/dist/v2/components/FilterTab.d.ts.map +1 -0
- package/dist/v2/components/FilterTab.js +144 -0
- package/dist/v2/components/FilterTab.js.map +1 -0
- package/dist/v2/components/ForbiddenPage.d.ts +40 -0
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -0
- package/dist/v2/components/ForbiddenPage.js +81 -0
- package/dist/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/v2/components/FormGrid.d.ts +76 -0
- package/dist/v2/components/FormGrid.d.ts.map +1 -0
- package/dist/v2/components/FormGrid.js +177 -0
- package/dist/v2/components/FormGrid.js.map +1 -0
- package/dist/v2/components/FormikDisplay.d.ts +38 -0
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -0
- package/dist/v2/components/FormikDisplay.js +125 -0
- package/dist/v2/components/FormikDisplay.js.map +1 -0
- package/dist/v2/components/Input.d.ts +62 -0
- package/dist/v2/components/Input.d.ts.map +1 -0
- package/dist/v2/components/Input.js +115 -0
- package/dist/v2/components/Input.js.map +1 -0
- package/dist/v2/components/KPICard.d.ts +22 -0
- package/dist/v2/components/KPICard.d.ts.map +1 -0
- package/dist/v2/components/KPICard.js +205 -0
- package/dist/v2/components/KPICard.js.map +1 -0
- package/dist/v2/components/KV.d.ts +25 -0
- package/dist/v2/components/KV.d.ts.map +1 -0
- package/dist/v2/components/KV.js +82 -0
- package/dist/v2/components/KV.js.map +1 -0
- package/dist/v2/components/KVGrid.d.ts +44 -0
- package/dist/v2/components/KVGrid.d.ts.map +1 -0
- package/dist/v2/components/KVGrid.js +73 -0
- package/dist/v2/components/KVGrid.js.map +1 -0
- package/dist/v2/components/Layout.d.ts +78 -0
- package/dist/v2/components/Layout.d.ts.map +1 -0
- package/dist/v2/components/Layout.js +284 -0
- package/dist/v2/components/Layout.js.map +1 -0
- package/dist/v2/components/MobileRowCard.d.ts +63 -0
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -0
- package/dist/v2/components/MobileRowCard.js +321 -0
- package/dist/v2/components/MobileRowCard.js.map +1 -0
- package/dist/v2/components/Modal.d.ts +21 -0
- package/dist/v2/components/Modal.d.ts.map +1 -0
- package/dist/v2/components/Modal.js +281 -0
- package/dist/v2/components/Modal.js.map +1 -0
- package/dist/v2/components/NetworkErrorPage.d.ts +11 -0
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -0
- package/dist/v2/components/NetworkErrorPage.js +86 -0
- package/dist/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/v2/components/NotFoundPage.d.ts +9 -0
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -0
- package/dist/v2/components/NotFoundPage.js +66 -0
- package/dist/v2/components/NotFoundPage.js.map +1 -0
- package/dist/v2/components/NumberInput.d.ts +83 -0
- package/dist/v2/components/NumberInput.d.ts.map +1 -0
- package/dist/v2/components/NumberInput.js +316 -0
- package/dist/v2/components/NumberInput.js.map +1 -0
- package/dist/v2/components/OverflowMenu.d.ts +55 -0
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -0
- package/dist/v2/components/OverflowMenu.js +196 -0
- package/dist/v2/components/OverflowMenu.js.map +1 -0
- package/dist/v2/components/PdfViewer.d.ts +56 -0
- package/dist/v2/components/PdfViewer.d.ts.map +1 -0
- package/dist/v2/components/PdfViewer.js +132 -0
- package/dist/v2/components/PdfViewer.js.map +1 -0
- package/dist/v2/components/ProgressBar.d.ts +53 -0
- package/dist/v2/components/ProgressBar.d.ts.map +1 -0
- package/dist/v2/components/ProgressBar.js +209 -0
- package/dist/v2/components/ProgressBar.js.map +1 -0
- package/dist/v2/components/Radio.d.ts +78 -0
- package/dist/v2/components/Radio.d.ts.map +1 -0
- package/dist/v2/components/Radio.js +238 -0
- package/dist/v2/components/Radio.js.map +1 -0
- package/dist/v2/components/SectionHeader.d.ts +53 -0
- package/dist/v2/components/SectionHeader.d.ts.map +1 -0
- package/dist/v2/components/SectionHeader.js +140 -0
- package/dist/v2/components/SectionHeader.js.map +1 -0
- package/dist/v2/components/Segmented.d.ts +61 -0
- package/dist/v2/components/Segmented.d.ts.map +1 -0
- package/dist/v2/components/Segmented.js +261 -0
- package/dist/v2/components/Segmented.js.map +1 -0
- package/dist/v2/components/Select.d.ts +72 -0
- package/dist/v2/components/Select.d.ts.map +1 -0
- package/dist/v2/components/Select.js +382 -0
- package/dist/v2/components/Select.js.map +1 -0
- package/dist/v2/components/ServerErrorPage.d.ts +11 -0
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -0
- package/dist/v2/components/ServerErrorPage.js +82 -0
- package/dist/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/v2/components/Skeleton.d.ts +56 -0
- package/dist/v2/components/Skeleton.d.ts.map +1 -0
- package/dist/v2/components/Skeleton.js +281 -0
- package/dist/v2/components/Skeleton.js.map +1 -0
- package/dist/v2/components/SkipLink.d.ts +30 -0
- package/dist/v2/components/SkipLink.d.ts.map +1 -0
- package/dist/v2/components/SkipLink.js +58 -0
- package/dist/v2/components/SkipLink.js.map +1 -0
- package/dist/v2/components/Spinner.d.ts +40 -0
- package/dist/v2/components/Spinner.d.ts.map +1 -0
- package/dist/v2/components/Spinner.js +76 -0
- package/dist/v2/components/Spinner.js.map +1 -0
- package/dist/v2/components/Status.d.ts +42 -0
- package/dist/v2/components/Status.d.ts.map +1 -0
- package/dist/v2/components/Status.js +71 -0
- package/dist/v2/components/Status.js.map +1 -0
- package/dist/v2/components/Stepper.d.ts +136 -0
- package/dist/v2/components/Stepper.d.ts.map +1 -0
- package/dist/v2/components/Stepper.js +415 -0
- package/dist/v2/components/Stepper.js.map +1 -0
- package/dist/v2/components/Switch.d.ts +30 -0
- package/dist/v2/components/Switch.d.ts.map +1 -0
- package/dist/v2/components/Switch.js +136 -0
- package/dist/v2/components/Switch.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +49 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -0
- package/dist/v2/components/Tabs.js +160 -0
- package/dist/v2/components/Tabs.js.map +1 -0
- package/dist/v2/components/TelInput.d.ts +33 -0
- package/dist/v2/components/TelInput.d.ts.map +1 -0
- package/dist/v2/components/TelInput.js +282 -0
- package/dist/v2/components/TelInput.js.map +1 -0
- package/dist/v2/components/Textarea.d.ts +23 -0
- package/dist/v2/components/Textarea.d.ts.map +1 -0
- package/dist/v2/components/Textarea.js +80 -0
- package/dist/v2/components/Textarea.js.map +1 -0
- package/dist/v2/components/TimePicker.d.ts +21 -0
- package/dist/v2/components/TimePicker.d.ts.map +1 -0
- package/dist/v2/components/TimePicker.js +141 -0
- package/dist/v2/components/TimePicker.js.map +1 -0
- package/dist/v2/components/Toast.d.ts +32 -0
- package/dist/v2/components/Toast.d.ts.map +1 -0
- package/dist/v2/components/Toast.js +384 -0
- package/dist/v2/components/Toast.js.map +1 -0
- package/dist/v2/components/Tooltip.d.ts +9 -0
- package/dist/v2/components/Tooltip.d.ts.map +1 -0
- package/dist/v2/components/Tooltip.js +169 -0
- package/dist/v2/components/Tooltip.js.map +1 -0
- package/dist/v2/components/_ErrorPageBody.d.ts +48 -0
- package/dist/v2/components/_ErrorPageBody.d.ts.map +1 -0
- package/dist/v2/components/_ErrorPageBody.js +96 -0
- package/dist/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/v2/components/_pickerShared.d.ts +47 -0
- package/dist/v2/components/_pickerShared.d.ts.map +1 -0
- package/dist/v2/components/_pickerShared.js +68 -0
- package/dist/v2/components/_pickerShared.js.map +1 -0
- package/dist/v2/components/index.d.ts +83 -0
- package/dist/v2/components/index.d.ts.map +1 -0
- package/dist/v2/components/index.js +477 -0
- package/dist/v2/components/index.js.map +1 -0
- package/dist/v2/hooks/index.d.ts +11 -0
- package/dist/v2/hooks/index.d.ts.map +1 -0
- package/dist/v2/hooks/index.js +85 -0
- package/dist/v2/hooks/index.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.d.ts +22 -0
- package/dist/v2/hooks/useDelayedFlag.d.ts.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +60 -0
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/v2/hooks/useDensity.d.ts +23 -0
- package/dist/v2/hooks/useDensity.d.ts.map +1 -0
- package/dist/v2/hooks/useDensity.js +124 -0
- package/dist/v2/hooks/useDensity.js.map +1 -0
- package/dist/v2/hooks/useFocusFirstError.d.ts +121 -0
- package/dist/v2/hooks/useFocusFirstError.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusFirstError.js +203 -0
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.d.ts +3 -0
- package/dist/v2/hooks/useFocusTrap.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +207 -0
- package/dist/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/v2/hooks/useFormAutoSave.d.ts +42 -0
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -0
- package/dist/v2/hooks/useFormAutoSave.js +186 -0
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +52 -0
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -0
- package/dist/v2/hooks/useFormCompletionProgress.js +136 -0
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.d.ts +31 -0
- package/dist/v2/hooks/useResolvedDensity.d.ts.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +50 -0
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/v2/hooks/useSortedRows.d.ts +25 -0
- package/dist/v2/hooks/useSortedRows.d.ts.map +1 -0
- package/dist/v2/hooks/useSortedRows.js +38 -0
- package/dist/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/v2/hooks/useTabLoading.d.ts +39 -0
- package/dist/v2/hooks/useTabLoading.d.ts.map +1 -0
- package/dist/v2/hooks/useTabLoading.js +85 -0
- package/dist/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/v2/index.d.ts +115 -0
- package/dist/v2/index.d.ts.map +1 -0
- package/dist/v2/index.js +1127 -0
- package/dist/v2/index.js.map +1 -0
- package/dist/v2/modalContext.d.ts +96 -0
- package/dist/v2/modalContext.d.ts.map +1 -0
- package/dist/v2/modalContext.js +113 -0
- package/dist/v2/modalContext.js.map +1 -0
- package/dist/v2/models/favorite.d.ts +14 -0
- package/dist/v2/models/favorite.d.ts.map +1 -0
- package/dist/v2/models/favorite.js +6 -0
- package/dist/v2/models/favorite.js.map +1 -0
- package/dist/v2/models/index.d.ts +11 -0
- package/dist/v2/models/index.d.ts.map +1 -0
- package/dist/v2/models/index.js +50 -0
- package/dist/v2/models/index.js.map +1 -0
- package/dist/v2/models/personalization.d.ts +65 -0
- package/dist/v2/models/personalization.d.ts.map +1 -0
- package/dist/v2/models/personalization.js +6 -0
- package/dist/v2/models/personalization.js.map +1 -0
- package/dist/v2/models/referentiel.d.ts +67 -0
- package/dist/v2/models/referentiel.d.ts.map +1 -0
- package/dist/v2/models/referentiel.js +6 -0
- package/dist/v2/models/referentiel.js.map +1 -0
- package/dist/v2/models/savedFilter.d.ts +22 -0
- package/dist/v2/models/savedFilter.d.ts.map +1 -0
- package/dist/v2/models/savedFilter.js +6 -0
- package/dist/v2/models/savedFilter.js.map +1 -0
- package/dist/v2/patterns/ActionBar.d.ts +137 -0
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -0
- package/dist/v2/patterns/ActionBar.js +601 -0
- package/dist/v2/patterns/ActionBar.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.d.ts +63 -0
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +153 -0
- package/dist/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +62 -0
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +306 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/v2/patterns/ColumnsToggle.d.ts +55 -0
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -0
- package/dist/v2/patterns/ColumnsToggle.js +314 -0
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/v2/patterns/DataGrid.d.ts +7 -0
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -0
- package/dist/v2/patterns/DataGrid.js +834 -0
- package/dist/v2/patterns/DataGrid.js.map +1 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +68 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridSettingsMenu.js +381 -0
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/v2/patterns/DataGridToolbar.d.ts +81 -0
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridToolbar.js +255 -0
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/v2/patterns/DataGridVirtualized.d.ts +76 -0
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridVirtualized.js +528 -0
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +46 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +77 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts +72 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.js +171 -0
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/v2/patterns/FavoritesFilter.d.ts +51 -0
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -0
- package/dist/v2/patterns/FavoritesFilter.js +97 -0
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.d.ts +39 -0
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +111 -0
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormPageShell.d.ts +55 -0
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -0
- package/dist/v2/patterns/FormPageShell.js +133 -0
- package/dist/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/v2/patterns/FormSection.d.ts +53 -0
- package/dist/v2/patterns/FormSection.d.ts.map +1 -0
- package/dist/v2/patterns/FormSection.js +162 -0
- package/dist/v2/patterns/FormSection.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +51 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.js +117 -0
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/v2/patterns/FormikCombobox.d.ts +43 -0
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCombobox.js +121 -0
- package/dist/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/v2/patterns/FormikDatePicker.d.ts +87 -0
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDatePicker.js +177 -0
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts +59 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.js +83 -0
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +43 -0
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -0
- package/dist/v2/patterns/FormikFile.js +156 -0
- package/dist/v2/patterns/FormikFile.js.map +1 -0
- package/dist/v2/patterns/FormikInput.d.ts +37 -0
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -0
- package/dist/v2/patterns/FormikInput.js +87 -0
- package/dist/v2/patterns/FormikInput.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +33 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.js +124 -0
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/v2/patterns/FormikSelect.d.ts +40 -0
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -0
- package/dist/v2/patterns/FormikSelect.js +139 -0
- package/dist/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/v2/patterns/FormikTextarea.d.ts +31 -0
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -0
- package/dist/v2/patterns/FormikTextarea.js +84 -0
- package/dist/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +44 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +207 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +26 -0
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -0
- package/dist/v2/patterns/NetworkErrorBanner.js +82 -0
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/v2/patterns/PageContent.d.ts +40 -0
- package/dist/v2/patterns/PageContent.d.ts.map +1 -0
- package/dist/v2/patterns/PageContent.js +69 -0
- package/dist/v2/patterns/PageContent.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +118 -0
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -0
- package/dist/v2/patterns/ReferentielField.js +617 -0
- package/dist/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts +68 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.js +203 -0
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +74 -0
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -0
- package/dist/v2/patterns/SavedFiltersMenu.js +412 -0
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/v2/patterns/SkeletonPageShell.d.ts +76 -0
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -0
- package/dist/v2/patterns/SkeletonPageShell.js +347 -0
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/v2/patterns/SortableHeader.d.ts +47 -0
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -0
- package/dist/v2/patterns/SortableHeader.js +193 -0
- package/dist/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/v2/patterns/Tour.d.ts +55 -0
- package/dist/v2/patterns/Tour.d.ts.map +1 -0
- package/dist/v2/patterns/Tour.js +473 -0
- package/dist/v2/patterns/Tour.js.map +1 -0
- package/dist/v2/patterns/_dataGridShared.d.ts +125 -0
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -0
- package/dist/v2/patterns/_dataGridShared.js +406 -0
- package/dist/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/v2/patterns/_sort.d.ts +22 -0
- package/dist/v2/patterns/_sort.d.ts.map +1 -0
- package/dist/v2/patterns/_sort.js +118 -0
- package/dist/v2/patterns/_sort.js.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts +69 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.js +264 -0
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/v2/patterns/_useColumnResize.d.ts +49 -0
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -0
- package/dist/v2/patterns/_useColumnResize.js +198 -0
- package/dist/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +62 -0
- package/dist/v2/patterns/index.d.ts.map +1 -0
- package/dist/v2/patterns/index.js +246 -0
- package/dist/v2/patterns/index.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts +80 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.js +177 -0
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/v2/personalization/adapters/_storageKey.d.ts +35 -0
- package/dist/v2/personalization/adapters/_storageKey.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/_storageKey.js +69 -0
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +31 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +128 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +25 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +76 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/v2/personalization/adapters/index.d.ts +10 -0
- package/dist/v2/personalization/adapters/index.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/index.js +21 -0
- package/dist/v2/personalization/adapters/index.js.map +1 -0
- package/dist/v2/personalization/capabilities/favorites.d.ts +53 -0
- package/dist/v2/personalization/capabilities/favorites.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/favorites.js +223 -0
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +58 -0
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/favoritesView.js +121 -0
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +16 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/index.js +69 -0
- package/dist/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +61 -0
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +297 -0
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/v2/personalization/createPersonalizationStore.d.ts +76 -0
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -0
- package/dist/v2/personalization/createPersonalizationStore.js +475 -0
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/v2/personalization/index.d.ts +33 -0
- package/dist/v2/personalization/index.d.ts.map +1 -0
- package/dist/v2/personalization/index.js +111 -0
- package/dist/v2/personalization/index.js.map +1 -0
- package/dist/v2/personalization/personalizationContext.d.ts +78 -0
- package/dist/v2/personalization/personalizationContext.d.ts.map +1 -0
- package/dist/v2/personalization/personalizationContext.js +121 -0
- package/dist/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/v2/personalization/schema.d.ts +60 -0
- package/dist/v2/personalization/schema.d.ts.map +1 -0
- package/dist/v2/personalization/schema.js +102 -0
- package/dist/v2/personalization/schema.js.map +1 -0
- package/dist/v2/personalization/types.d.ts +81 -0
- package/dist/v2/personalization/types.d.ts.map +1 -0
- package/dist/v2/personalization/types.js +6 -0
- package/dist/v2/personalization/types.js.map +1 -0
- package/dist/v2/referentiel/ReferentielProvider.d.ts +53 -0
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -0
- package/dist/v2/referentiel/ReferentielProvider.js +94 -0
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/v2/referentiel/index.d.ts +18 -0
- package/dist/v2/referentiel/index.d.ts.map +1 -0
- package/dist/v2/referentiel/index.js +44 -0
- package/dist/v2/referentiel/index.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.d.ts +15 -0
- package/dist/v2/referentiel/useReferentielClient.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +46 -0
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/v2/referentiel/useReferentielOptions.d.ts +40 -0
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielOptions.js +177 -0
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/v2/referentiel/useReferentielSearch.d.ts +76 -0
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielSearch.js +140 -0
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/v2/styles/base.css +425 -0
- package/dist/v2/styles/css.d.ts +10 -0
- package/dist/v2/styles/index.d.ts +12 -0
- package/dist/v2/styles/index.d.ts.map +1 -0
- package/dist/v2/styles/index.js +4 -0
- package/dist/v2/styles/index.js.map +1 -0
- package/dist/v2/theme/_brand.d.ts +29 -0
- package/dist/v2/theme/_brand.d.ts.map +1 -0
- package/dist/v2/theme/_brand.js +69 -0
- package/dist/v2/theme/_brand.js.map +1 -0
- package/dist/v2/theme/_brandSecondary.d.ts +26 -0
- package/dist/v2/theme/_brandSecondary.d.ts.map +1 -0
- package/dist/v2/theme/_brandSecondary.js +65 -0
- package/dist/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/v2/theme/createPortnetTheme.d.ts +50 -0
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -0
- package/dist/v2/theme/createPortnetTheme.js +529 -0
- package/dist/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/v2/theme/cssVariables.d.ts +41 -0
- package/dist/v2/theme/cssVariables.d.ts.map +1 -0
- package/dist/v2/theme/cssVariables.js +205 -0
- package/dist/v2/theme/cssVariables.js.map +1 -0
- package/dist/v2/theme/index.d.ts +33 -0
- package/dist/v2/theme/index.d.ts.map +1 -0
- package/dist/v2/theme/index.js +60 -0
- package/dist/v2/theme/index.js.map +1 -0
- package/dist/v2/tokens/breakpoints.d.ts +74 -0
- package/dist/v2/tokens/breakpoints.d.ts.map +1 -0
- package/dist/v2/tokens/breakpoints.js +114 -0
- package/dist/v2/tokens/breakpoints.js.map +1 -0
- package/dist/v2/tokens/colors.d.ts +228 -0
- package/dist/v2/tokens/colors.d.ts.map +1 -0
- package/dist/v2/tokens/colors.js +225 -0
- package/dist/v2/tokens/colors.js.map +1 -0
- package/dist/v2/tokens/density.d.ts +142 -0
- package/dist/v2/tokens/density.d.ts.map +1 -0
- package/dist/v2/tokens/density.js +111 -0
- package/dist/v2/tokens/density.js.map +1 -0
- package/dist/v2/tokens/index.d.ts +556 -0
- package/dist/v2/tokens/index.d.ts.map +1 -0
- package/dist/v2/tokens/index.js +313 -0
- package/dist/v2/tokens/index.js.map +1 -0
- package/dist/v2/tokens/motion.d.ts +85 -0
- package/dist/v2/tokens/motion.d.ts.map +1 -0
- package/dist/v2/tokens/motion.js +94 -0
- package/dist/v2/tokens/motion.js.map +1 -0
- package/dist/v2/tokens/radius.d.ts +18 -0
- package/dist/v2/tokens/radius.d.ts.map +1 -0
- package/dist/v2/tokens/radius.js +28 -0
- package/dist/v2/tokens/radius.js.map +1 -0
- package/dist/v2/tokens/shadows.d.ts +25 -0
- package/dist/v2/tokens/shadows.d.ts.map +1 -0
- package/dist/v2/tokens/shadows.js +46 -0
- package/dist/v2/tokens/shadows.js.map +1 -0
- package/dist/v2/tokens/spacing.d.ts +38 -0
- package/dist/v2/tokens/spacing.d.ts.map +1 -0
- package/dist/v2/tokens/spacing.js +57 -0
- package/dist/v2/tokens/spacing.js.map +1 -0
- package/dist/v2/tokens/state.d.ts +40 -0
- package/dist/v2/tokens/state.d.ts.map +1 -0
- package/dist/v2/tokens/state.js +47 -0
- package/dist/v2/tokens/state.js.map +1 -0
- package/dist/v2/tokens/statusPalette.d.ts +54 -0
- package/dist/v2/tokens/statusPalette.d.ts.map +1 -0
- package/dist/v2/tokens/statusPalette.js +72 -0
- package/dist/v2/tokens/statusPalette.js.map +1 -0
- package/dist/v2/tokens/tokens.json +153 -0
- package/dist/v2/tokens/typography.d.ts +206 -0
- package/dist/v2/tokens/typography.d.ts.map +1 -0
- package/dist/v2/tokens/typography.js +155 -0
- package/dist/v2/tokens/typography.js.map +1 -0
- package/dist/v2/tokens/zIndex.d.ts +33 -0
- package/dist/v2/tokens/zIndex.d.ts.map +1 -0
- package/dist/v2/tokens/zIndex.js +50 -0
- package/dist/v2/tokens/zIndex.js.map +1 -0
- package/dist/v2/types/common.d.ts +24 -0
- package/dist/v2/types/common.d.ts.map +1 -0
- package/dist/v2/types/common.js +6 -0
- package/dist/v2/types/common.js.map +1 -0
- package/dist/v2/types/datagrid.d.ts +131 -0
- package/dist/v2/types/datagrid.d.ts.map +1 -0
- package/dist/v2/types/datagrid.js +6 -0
- package/dist/v2/types/datagrid.js.map +1 -0
- package/dist/v2/types/index.d.ts +11 -0
- package/dist/v2/types/index.d.ts.map +1 -0
- package/dist/v2/types/index.js +28 -0
- package/dist/v2/types/index.js.map +1 -0
- package/dist/v2/utils/apiError.d.ts +90 -0
- package/dist/v2/utils/apiError.d.ts.map +1 -0
- package/dist/v2/utils/apiError.js +227 -0
- package/dist/v2/utils/apiError.js.map +1 -0
- package/dist/v2/utils/contrast.d.ts +68 -0
- package/dist/v2/utils/contrast.d.ts.map +1 -0
- package/dist/v2/utils/contrast.js +167 -0
- package/dist/v2/utils/contrast.js.map +1 -0
- package/dist/v2/utils/cx.d.ts +9 -0
- package/dist/v2/utils/cx.d.ts.map +1 -0
- package/dist/v2/utils/cx.js +45 -0
- package/dist/v2/utils/cx.js.map +1 -0
- package/dist/v2/utils/fileDownload.d.ts +94 -0
- package/dist/v2/utils/fileDownload.d.ts.map +1 -0
- package/dist/v2/utils/fileDownload.js +236 -0
- package/dist/v2/utils/fileDownload.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +28 -0
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -0
- package/dist/v2/utils/fmtMoney.js +84 -0
- package/dist/v2/utils/fmtMoney.js.map +1 -0
- package/dist/v2/utils/index.d.ts +8 -0
- package/dist/v2/utils/index.d.ts.map +1 -0
- package/dist/v2/utils/index.js +90 -0
- package/dist/v2/utils/index.js.map +1 -0
- package/dist/v2/utils/networkStatus.d.ts +88 -0
- package/dist/v2/utils/networkStatus.d.ts.map +1 -0
- package/dist/v2/utils/networkStatus.js +121 -0
- package/dist/v2/utils/networkStatus.js.map +1 -0
- package/package.json +191 -76
- package/dist/api/guideApi.js +0 -12
- package/dist/api/guideImageService.js +0 -119
- package/dist/api/reclamationApi.js +0 -102
- package/dist/assets/guides/FAQ.json +0 -118
- package/dist/assets/guides/index.js +0 -11
- package/dist/assets/images/tijariaLogo.ico +0 -0
- package/dist/components/buttons/PuiButton.js +0 -217
- package/dist/components/buttons/PuiIconButton.js +0 -98
- package/dist/components/common/PuiAlertContext.js +0 -12
- package/dist/components/common/PuiHelpWidgetContext.js +0 -17
- package/dist/components/common/StyledMuiButton.js +0 -48
- package/dist/components/common/StyledMuiTextField.js +0 -180
- package/dist/components/inputs/PuiAutocomplete.js +0 -352
- package/dist/components/inputs/PuiCheckbox.js +0 -308
- package/dist/components/inputs/PuiCheckboxGroup.js +0 -215
- package/dist/components/inputs/PuiCheckboxItem.js +0 -162
- package/dist/components/inputs/PuiDateField.js +0 -280
- package/dist/components/inputs/PuiDateTimeField.js +0 -276
- package/dist/components/inputs/PuiFileField.js +0 -265
- package/dist/components/inputs/PuiRadioGroup.js +0 -197
- package/dist/components/inputs/PuiRadioItem.js +0 -100
- package/dist/components/inputs/PuiSelect.js +0 -427
- package/dist/components/inputs/PuiTextField.js +0 -263
- package/dist/components/others/PuiBadge.js +0 -58
- package/dist/components/others/PuiChip.js +0 -150
- package/dist/components/others/PuiDialog.js +0 -102
- package/dist/components/others/PuiFormikForm.js +0 -70
- package/dist/components/others/PuiGrid.js +0 -23
- package/dist/components/others/PuiIcon.js +0 -92
- package/dist/components/others/PuiLoadingBackdrop.js +0 -32
- package/dist/components/others/PuiMainContainer.js +0 -41
- package/dist/components/others/PuiNavigation.js +0 -68
- package/dist/components/others/PuiSection.js +0 -187
- package/dist/components/others/PuiTooltip.js +0 -86
- package/dist/components/providers/PuiAlertProvider.js +0 -134
- package/dist/components/providers/PuiHelpWidgetProvider.js +0 -91
- package/dist/components/providers/PuiLocalizationProvider.js +0 -34
- package/dist/components/referentiel/common/ReferetielContext.js +0 -12
- package/dist/components/referentiel/common/constants/specificReferentielsApis.js +0 -22
- package/dist/components/referentiel/common/constants/specificReferentielsBaseColumns.js +0 -691
- package/dist/components/referentiel/common/constants/specificReferentielsBaseFilters.js +0 -598
- package/dist/components/referentiel/common/constants/specificReferentielsInitialValues.js +0 -80
- package/dist/components/referentiel/common/constants/specificReferentielsKeys.js +0 -18
- package/dist/components/referentiel/common/constants/specificReferentielsTitles.js +0 -22
- package/dist/components/referentiel/common/constants/specificReferentielsValidationSchemas.js +0 -85
- package/dist/components/referentiel/components/PuiBasePopupReferentielField.js +0 -356
- package/dist/components/referentiel/components/PuiCustomPopupReferentielField.js +0 -181
- package/dist/components/referentiel/components/PuiSimplePopupReferentielField.js +0 -325
- package/dist/components/referentiel/components/PuiSimpleReferentielField.js +0 -203
- package/dist/components/referentiel/components/PuiSpecificReferentielField.js +0 -352
- package/dist/components/referentiel/providers/PuiReferentielProvider.js +0 -66
- package/dist/components/tab/PuiTab.js +0 -25
- package/dist/components/tab/PuiTabs.js +0 -148
- package/dist/components/table/PuiTable.js +0 -643
- package/dist/components/table/PuiTableAction.js +0 -75
- package/dist/components/typography/PuiDefinition.js +0 -42
- package/dist/components/typography/PuiIndication.js +0 -80
- package/dist/components/typography/PuiMainTitle.js +0 -144
- package/dist/components/ui/dialogs/PuiSearchDialog.js +0 -106
- package/dist/components/ui/pages/errors/PuiErrorBasePage.js +0 -73
- package/dist/components/ui/pages/errors/PuiForbiddenErrorPage.js +0 -36
- package/dist/components/ui/pages/errors/PuiNetworkErrorPage.js +0 -36
- package/dist/components/ui/pages/errors/PuiNotFoundErrorPage.js +0 -30
- package/dist/components/ui/pages/errors/PuiServerErrorPage.js +0 -37
- package/dist/components/ui/pages/general/PuiDefaultPage.js +0 -68
- package/dist/components/ui/pages/general/PuiSearchPage.js +0 -203
- package/dist/components/widgets/GuideImage.js +0 -251
- package/dist/components/widgets/PuiHelpWidget.js +0 -4167
- package/dist/config/apperance.js +0 -26
- package/dist/config/mapping.js +0 -26
- package/dist/config/referentiel.js +0 -10
- package/dist/general/yupValidationErrors.js +0 -8
- package/dist/hooks/useAlert.js +0 -19
- package/dist/hooks/useAxios.js +0 -23
- package/dist/hooks/useQuery.js +0 -21
- package/dist/hooks/useReclamation.js +0 -100
- package/dist/styles/ReclamationFormModal.css +0 -629
- package/dist/styles/help-widget.css +0 -621
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
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); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.FR_THOUSAND_SEPARATOR = exports.FR_DECIMAL_SEPARATOR = void 0;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _OutlinedInput = _interopRequireDefault(require("@mui/material/OutlinedInput"));
|
|
10
|
+
var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
|
|
11
|
+
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
12
|
+
var _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
|
|
13
|
+
var _Remove = _interopRequireDefault(require("@mui/icons-material/Remove"));
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
var _excluded = ["value", "onChange", "onBlur", "min", "max", "step", "decimals", "placeholder", "disabled", "error", "readOnly", "fullWidth", "showSpinner", "prefix", "suffix", "inputProps", "onValidate", "locale", "labels", "sx"];
|
|
16
|
+
/**
|
|
17
|
+
* NumberInput — Portnet UI v2
|
|
18
|
+
*
|
|
19
|
+
* Charter §03 · Component "NumberInput". Locale-aware numeric input.
|
|
20
|
+
*
|
|
21
|
+
* <Field label="Montant">
|
|
22
|
+
* <NumberInput
|
|
23
|
+
* value={amount} onChange={setAmount}
|
|
24
|
+
* min={0} max={1000000} decimals={2} suffix="MAD"
|
|
25
|
+
* />
|
|
26
|
+
* </Field>
|
|
27
|
+
*
|
|
28
|
+
* Locale (multi-locale platform — FR / EN / AR)
|
|
29
|
+
* <NumberInput
|
|
30
|
+
* locale="en-US"
|
|
31
|
+
* labels={{ decrement: "Decrease", increment: "Increase" }}
|
|
32
|
+
* value={amount} onChange={setAmount}
|
|
33
|
+
* />
|
|
34
|
+
*
|
|
35
|
+
* - `locale` controls DISPLAY formatting only. Parsing is
|
|
36
|
+
* permissive: `,` and `.` both accepted as decimal separator,
|
|
37
|
+
* all whitespace stripped — pasting from any locale just works.
|
|
38
|
+
* - `labels` overrides the FR defaults on the spinner buttons.
|
|
39
|
+
*
|
|
40
|
+
* Value contract:
|
|
41
|
+
* onChange(null) on empty input
|
|
42
|
+
* onChange(123.45) on valid number
|
|
43
|
+
* Display formatting (separators, decimals) is purely visual,
|
|
44
|
+
* reapplied on blur.
|
|
45
|
+
*
|
|
46
|
+
* A11y (aria-valuetext):
|
|
47
|
+
* aria-valuenow holds the raw number; aria-valuetext holds the
|
|
48
|
+
* localised, suffix-bearing string ("1 234,56 MAD") so SR users
|
|
49
|
+
* hear the same thing sighted users see.
|
|
50
|
+
*
|
|
51
|
+
* MUI v9 surface notes (audit Batch 3):
|
|
52
|
+
* The spinbutton aria contract (role + aria-value*) is injected
|
|
53
|
+
* via slotProps.input — MUI v9 idiomatic location for native
|
|
54
|
+
* <input/> attributes on OutlinedInput. Migrated from the
|
|
55
|
+
* deprecated `inputProps={...}` form to match the rest of the
|
|
56
|
+
* v2 surface (Switch, Combobox, DataGrid family).
|
|
57
|
+
* Consumer-passed `inputProps` remains merged in via spread —
|
|
58
|
+
* same order as the pre-migration code, so override semantics
|
|
59
|
+
* are preserved bit-for-bit.
|
|
60
|
+
*
|
|
61
|
+
* Tactile contract — known R-Tg.1 deviation (charter exception):
|
|
62
|
+
* The stepper buttons (showSpinner) are sized to 24 × 24 — the
|
|
63
|
+
* WCAG 2.5.8 AA floor — NOT the 44 × 44 R-Tg.1 AAA floor. The
|
|
64
|
+
* stepper is opt-in convenience UI on top of the keyboard
|
|
65
|
+
* ArrowUp / ArrowDown handler that the input itself provides;
|
|
66
|
+
* users requiring larger targets can type or use keyboard nav.
|
|
67
|
+
* Documented exception, see Batch 14 charter-exceptions log.
|
|
68
|
+
*/
|
|
69
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
70
|
+
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); }
|
|
71
|
+
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; }
|
|
72
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
73
|
+
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."); }
|
|
74
|
+
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); }
|
|
75
|
+
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; }
|
|
76
|
+
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; } }
|
|
77
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
78
|
+
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; }
|
|
79
|
+
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; }
|
|
80
|
+
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; }
|
|
81
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
82
|
+
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); }
|
|
83
|
+
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; }
|
|
84
|
+
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; }
|
|
85
|
+
var FR_DECIMAL_SEP = ",";
|
|
86
|
+
var FR_THOUSAND_SEP = " ";
|
|
87
|
+
|
|
88
|
+
// Stepper button hit area — WCAG 2.5.8 AA (24 × 24). See JSDoc above
|
|
89
|
+
// for the rationale for not pursuing 44 × 44 / R-Tg.1 here.
|
|
90
|
+
var STEPPER_HIT_AREA = 24;
|
|
91
|
+
var DEFAULT_LABELS = Object.freeze({
|
|
92
|
+
decrement: "Diminuer",
|
|
93
|
+
increment: "Augmenter"
|
|
94
|
+
});
|
|
95
|
+
function formatForDisplay(num, decimals) {
|
|
96
|
+
var locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "fr-FR";
|
|
97
|
+
if (num == null || Number.isNaN(num)) return "";
|
|
98
|
+
var opts = decimals != null ? {
|
|
99
|
+
minimumFractionDigits: decimals,
|
|
100
|
+
maximumFractionDigits: decimals
|
|
101
|
+
} : {
|
|
102
|
+
maximumFractionDigits: 6
|
|
103
|
+
};
|
|
104
|
+
try {
|
|
105
|
+
return new Intl.NumberFormat(locale, opts).format(num);
|
|
106
|
+
} catch (_unused) {
|
|
107
|
+
// Invalid BCP-47 tag — fall back to fr-FR rather than throwing.
|
|
108
|
+
return new Intl.NumberFormat("fr-FR", opts).format(num);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function parseFromUser(str) {
|
|
112
|
+
if (str == null || str === "") return null;
|
|
113
|
+
// Accept BOTH `,` and `.` as decimal separator; strip every whitespace
|
|
114
|
+
// (regular space, NBSP, narrow NBSP). Locale-agnostic by design.
|
|
115
|
+
var cleaned = String(str).replace(/[\u00A0\u202F]/g, " ").replace(/\s+/g, "").replace(",", ".");
|
|
116
|
+
if (cleaned === "" || cleaned === "-" || cleaned === ".") return null;
|
|
117
|
+
var n = Number(cleaned);
|
|
118
|
+
return Number.isFinite(n) ? n : null;
|
|
119
|
+
}
|
|
120
|
+
var NumberInput = /*#__PURE__*/React.forwardRef(function NumberInput(_ref, ref) {
|
|
121
|
+
var value = _ref.value,
|
|
122
|
+
onChange = _ref.onChange,
|
|
123
|
+
onBlur = _ref.onBlur,
|
|
124
|
+
min = _ref.min,
|
|
125
|
+
max = _ref.max,
|
|
126
|
+
_ref$step = _ref.step,
|
|
127
|
+
step = _ref$step === void 0 ? 1 : _ref$step,
|
|
128
|
+
decimals = _ref.decimals,
|
|
129
|
+
placeholder = _ref.placeholder,
|
|
130
|
+
disabled = _ref.disabled,
|
|
131
|
+
error = _ref.error,
|
|
132
|
+
readOnly = _ref.readOnly,
|
|
133
|
+
_ref$fullWidth = _ref.fullWidth,
|
|
134
|
+
fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
|
|
135
|
+
_ref$showSpinner = _ref.showSpinner,
|
|
136
|
+
showSpinner = _ref$showSpinner === void 0 ? false : _ref$showSpinner,
|
|
137
|
+
prefix = _ref.prefix,
|
|
138
|
+
suffix = _ref.suffix,
|
|
139
|
+
inputProps = _ref.inputProps,
|
|
140
|
+
onValidate = _ref.onValidate,
|
|
141
|
+
_ref$locale = _ref.locale,
|
|
142
|
+
locale = _ref$locale === void 0 ? "fr-FR" : _ref$locale,
|
|
143
|
+
labels = _ref.labels,
|
|
144
|
+
sx = _ref.sx,
|
|
145
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
146
|
+
var mergedLabels = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
|
|
147
|
+
var _React$useState = React.useState(function () {
|
|
148
|
+
return formatForDisplay(value, decimals, locale);
|
|
149
|
+
}),
|
|
150
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
151
|
+
display = _React$useState2[0],
|
|
152
|
+
setDisplay = _React$useState2[1];
|
|
153
|
+
var _React$useState3 = React.useState(false),
|
|
154
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
155
|
+
focused = _React$useState4[0],
|
|
156
|
+
setFocused = _React$useState4[1];
|
|
157
|
+
React.useEffect(function () {
|
|
158
|
+
if (!focused) setDisplay(formatForDisplay(value, decimals, locale));
|
|
159
|
+
}, [value, decimals, locale, focused]);
|
|
160
|
+
var allowMinus = min == null || min < 0;
|
|
161
|
+
var onUserChange = function onUserChange(e) {
|
|
162
|
+
var raw = e.target.value;
|
|
163
|
+
var re = allowMinus ? /^-?[0-9]*[.,]?[0-9]*$/ : /^[0-9]*[.,]?[0-9]*$/;
|
|
164
|
+
if (raw !== "" && !re.test(raw)) return;
|
|
165
|
+
setDisplay(raw);
|
|
166
|
+
var parsed = parseFromUser(raw);
|
|
167
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(parsed);
|
|
168
|
+
};
|
|
169
|
+
var clamp = function clamp(n) {
|
|
170
|
+
if (n == null) return n;
|
|
171
|
+
var out = n;
|
|
172
|
+
if (typeof min === "number" && out < min) out = min;
|
|
173
|
+
if (typeof max === "number" && out > max) out = max;
|
|
174
|
+
return out;
|
|
175
|
+
};
|
|
176
|
+
var handleBlur = function handleBlur(e) {
|
|
177
|
+
setFocused(false);
|
|
178
|
+
var parsed = parseFromUser(display);
|
|
179
|
+
var clamped = clamp(parsed);
|
|
180
|
+
if (clamped !== parsed) {
|
|
181
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(clamped);
|
|
182
|
+
setDisplay(formatForDisplay(clamped, decimals, locale));
|
|
183
|
+
} else {
|
|
184
|
+
setDisplay(formatForDisplay(parsed, decimals, locale));
|
|
185
|
+
}
|
|
186
|
+
if (onValidate) {
|
|
187
|
+
var violation = parsed == null ? null : typeof min === "number" && parsed < min ? "min" : typeof max === "number" && parsed > max ? "max" : null;
|
|
188
|
+
onValidate({
|
|
189
|
+
value: parsed,
|
|
190
|
+
clamped: clamped,
|
|
191
|
+
violation: violation
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
|
|
195
|
+
};
|
|
196
|
+
var handleFocus = function handleFocus() {
|
|
197
|
+
return setFocused(true);
|
|
198
|
+
};
|
|
199
|
+
var bumpBy = function bumpBy(delta) {
|
|
200
|
+
var next = clamp((value !== null && value !== void 0 ? value : 0) + delta);
|
|
201
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(next);
|
|
202
|
+
};
|
|
203
|
+
var onKeyDown = function onKeyDown(e) {
|
|
204
|
+
if (e.key === "ArrowUp") {
|
|
205
|
+
e.preventDefault();
|
|
206
|
+
bumpBy(+step);
|
|
207
|
+
}
|
|
208
|
+
if (e.key === "ArrowDown") {
|
|
209
|
+
e.preventDefault();
|
|
210
|
+
bumpBy(-step);
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
var ariaValueText = React.useMemo(function () {
|
|
214
|
+
if (value == null || Number.isNaN(value)) return undefined;
|
|
215
|
+
var formatted = formatForDisplay(value, decimals, locale);
|
|
216
|
+
if (typeof suffix === "string" && suffix.trim()) {
|
|
217
|
+
return "".concat(formatted, " ").concat(suffix).trim();
|
|
218
|
+
}
|
|
219
|
+
return formatted || undefined;
|
|
220
|
+
}, [value, decimals, locale, suffix]);
|
|
221
|
+
|
|
222
|
+
// Shared sx for both stepper IconButtons. WCAG 2.5.8 AA floor (24×24),
|
|
223
|
+
// padding 0 so the icon centres without cropping.
|
|
224
|
+
var stepperSx = {
|
|
225
|
+
color: "var(--fg-muted)",
|
|
226
|
+
minWidth: STEPPER_HIT_AREA,
|
|
227
|
+
minHeight: STEPPER_HIT_AREA,
|
|
228
|
+
padding: 0
|
|
229
|
+
};
|
|
230
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_OutlinedInput["default"], _objectSpread({
|
|
231
|
+
ref: ref,
|
|
232
|
+
type: "text",
|
|
233
|
+
inputMode: "decimal",
|
|
234
|
+
value: display,
|
|
235
|
+
onChange: onUserChange,
|
|
236
|
+
onFocus: handleFocus,
|
|
237
|
+
onBlur: handleBlur,
|
|
238
|
+
onKeyDown: onKeyDown,
|
|
239
|
+
placeholder: placeholder,
|
|
240
|
+
disabled: disabled,
|
|
241
|
+
readOnly: readOnly,
|
|
242
|
+
error: !!error,
|
|
243
|
+
fullWidth: fullWidth,
|
|
244
|
+
startAdornment: prefix ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputAdornment["default"], {
|
|
245
|
+
position: "start",
|
|
246
|
+
children: prefix
|
|
247
|
+
}) : undefined,
|
|
248
|
+
endAdornment: suffix || showSpinner ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_InputAdornment["default"], {
|
|
249
|
+
position: "end",
|
|
250
|
+
sx: {
|
|
251
|
+
gap: 0.25
|
|
252
|
+
},
|
|
253
|
+
children: [suffix && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
254
|
+
children: suffix
|
|
255
|
+
}), showSpinner && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
256
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
|
|
257
|
+
size: "small",
|
|
258
|
+
onClick: function onClick() {
|
|
259
|
+
return bumpBy(-step);
|
|
260
|
+
},
|
|
261
|
+
disabled: disabled || readOnly || typeof min === "number" && value != null && value <= min,
|
|
262
|
+
"aria-label": mergedLabels.decrement,
|
|
263
|
+
sx: stepperSx,
|
|
264
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Remove["default"], {
|
|
265
|
+
sx: {
|
|
266
|
+
fontSize: 14
|
|
267
|
+
}
|
|
268
|
+
})
|
|
269
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
|
|
270
|
+
size: "small",
|
|
271
|
+
onClick: function onClick() {
|
|
272
|
+
return bumpBy(+step);
|
|
273
|
+
},
|
|
274
|
+
disabled: disabled || readOnly || typeof max === "number" && value != null && value >= max,
|
|
275
|
+
"aria-label": mergedLabels.increment,
|
|
276
|
+
sx: stepperSx,
|
|
277
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Add["default"], {
|
|
278
|
+
sx: {
|
|
279
|
+
fontSize: 14
|
|
280
|
+
}
|
|
281
|
+
})
|
|
282
|
+
})]
|
|
283
|
+
})]
|
|
284
|
+
}) : undefined,
|
|
285
|
+
slotProps: {
|
|
286
|
+
// MUI v9: the input slot bag forwards directly to the
|
|
287
|
+
// internal <input/> element on OutlinedInput. Was
|
|
288
|
+
// `inputProps={...}` at the top level — deprecated in v6,
|
|
289
|
+
// migrated for v9 alignment (audit Batch 3). Spread order
|
|
290
|
+
// preserved: consumer-supplied inputProps comes LAST so it
|
|
291
|
+
// can override aria-* attributes (same semantics as v5).
|
|
292
|
+
input: _objectSpread({
|
|
293
|
+
role: "spinbutton",
|
|
294
|
+
"aria-valuenow": value !== null && value !== void 0 ? value : undefined,
|
|
295
|
+
"aria-valuemin": min,
|
|
296
|
+
"aria-valuemax": max,
|
|
297
|
+
"aria-valuetext": ariaValueText
|
|
298
|
+
}, inputProps)
|
|
299
|
+
},
|
|
300
|
+
sx: _objectSpread({
|
|
301
|
+
// R-T.3 — tabular-nums for vertical alignment in tables/forms
|
|
302
|
+
"& input": {
|
|
303
|
+
fontVariantNumeric: "tabular-nums",
|
|
304
|
+
textAlign: "right"
|
|
305
|
+
}
|
|
306
|
+
}, sx)
|
|
307
|
+
}, rest));
|
|
308
|
+
});
|
|
309
|
+
|
|
310
|
+
// Locale separators exported so callers can mirror exact display elsewhere
|
|
311
|
+
// without re-implementing. Kept for back-compat; for full locale-correct
|
|
312
|
+
// formatting prefer `Intl.NumberFormat(locale)` directly.
|
|
313
|
+
var FR_DECIMAL_SEPARATOR = exports.FR_DECIMAL_SEPARATOR = FR_DECIMAL_SEP;
|
|
314
|
+
var FR_THOUSAND_SEPARATOR = exports.FR_THOUSAND_SEPARATOR = FR_THOUSAND_SEP;
|
|
315
|
+
var _default = exports["default"] = NumberInput;
|
|
316
|
+
//# sourceMappingURL=NumberInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberInput.js","names":["React","_interopRequireWildcard","require","_OutlinedInput","_interopRequireDefault","_InputAdornment","_IconButton","_Add","_Remove","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","FR_DECIMAL_SEP","FR_THOUSAND_SEP","STEPPER_HIT_AREA","DEFAULT_LABELS","freeze","decrement","increment","formatForDisplay","num","decimals","locale","isNaN","opts","minimumFractionDigits","maximumFractionDigits","Intl","NumberFormat","format","_unused","parseFromUser","str","cleaned","replace","isFinite","NumberInput","forwardRef","_ref","ref","onChange","onBlur","min","max","_ref$step","step","placeholder","disabled","error","readOnly","_ref$fullWidth","fullWidth","_ref$showSpinner","showSpinner","prefix","suffix","inputProps","onValidate","_ref$locale","labels","sx","rest","mergedLabels","_React$useState","useState","_React$useState2","display","setDisplay","_React$useState3","_React$useState4","focused","setFocused","useEffect","allowMinus","onUserChange","e","raw","re","parsed","clamp","out","handleBlur","clamped","violation","handleFocus","bumpBy","delta","onKeyDown","preventDefault","ariaValueText","useMemo","formatted","trim","concat","stepperSx","color","minWidth","minHeight","padding","jsx","type","inputMode","onFocus","startAdornment","position","children","endAdornment","jsxs","gap","Fragment","size","onClick","fontSize","slotProps","role","fontVariantNumeric","textAlign","FR_DECIMAL_SEPARATOR","exports","FR_THOUSAND_SEPARATOR","_default"],"sources":["../../../src/lib/v2/components/NumberInput.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport OutlinedInput from \"@mui/material/OutlinedInput\";\r\nimport type { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\r\nimport InputAdornment from \"@mui/material/InputAdornment\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport AddIcon from \"@mui/icons-material/Add\";\r\nimport RemoveIcon from \"@mui/icons-material/Remove\";\r\n\r\n/**\r\n * NumberInput — Portnet UI v2\r\n *\r\n * Charter §03 · Component \"NumberInput\". Locale-aware numeric input.\r\n *\r\n * <Field label=\"Montant\">\r\n * <NumberInput\r\n * value={amount} onChange={setAmount}\r\n * min={0} max={1000000} decimals={2} suffix=\"MAD\"\r\n * />\r\n * </Field>\r\n *\r\n * Locale (multi-locale platform — FR / EN / AR)\r\n * <NumberInput\r\n * locale=\"en-US\"\r\n * labels={{ decrement: \"Decrease\", increment: \"Increase\" }}\r\n * value={amount} onChange={setAmount}\r\n * />\r\n *\r\n * - `locale` controls DISPLAY formatting only. Parsing is\r\n * permissive: `,` and `.` both accepted as decimal separator,\r\n * all whitespace stripped — pasting from any locale just works.\r\n * - `labels` overrides the FR defaults on the spinner buttons.\r\n *\r\n * Value contract:\r\n * onChange(null) on empty input\r\n * onChange(123.45) on valid number\r\n * Display formatting (separators, decimals) is purely visual,\r\n * reapplied on blur.\r\n *\r\n * A11y (aria-valuetext):\r\n * aria-valuenow holds the raw number; aria-valuetext holds the\r\n * localised, suffix-bearing string (\"1 234,56 MAD\") so SR users\r\n * hear the same thing sighted users see.\r\n *\r\n * MUI v9 surface notes (audit Batch 3):\r\n * The spinbutton aria contract (role + aria-value*) is injected\r\n * via slotProps.input — MUI v9 idiomatic location for native\r\n * <input/> attributes on OutlinedInput. Migrated from the\r\n * deprecated `inputProps={...}` form to match the rest of the\r\n * v2 surface (Switch, Combobox, DataGrid family).\r\n * Consumer-passed `inputProps` remains merged in via spread —\r\n * same order as the pre-migration code, so override semantics\r\n * are preserved bit-for-bit.\r\n *\r\n * Tactile contract — known R-Tg.1 deviation (charter exception):\r\n * The stepper buttons (showSpinner) are sized to 24 × 24 — the\r\n * WCAG 2.5.8 AA floor — NOT the 44 × 44 R-Tg.1 AAA floor. The\r\n * stepper is opt-in convenience UI on top of the keyboard\r\n * ArrowUp / ArrowDown handler that the input itself provides;\r\n * users requiring larger targets can type or use keyboard nav.\r\n * Documented exception, see Batch 14 charter-exceptions log.\r\n */\r\n\r\nexport interface NumberInputLabels {\r\n decrement?: string;\r\n increment?: string;\r\n}\r\n\r\nexport interface NumberInputValidateResult {\r\n value: number | null;\r\n clamped: number | null;\r\n violation: \"min\" | \"max\" | null;\r\n}\r\n\r\nexport interface NumberInputProps\r\n extends Omit<OutlinedInputProps, \"value\" | \"onChange\" | \"prefix\" | \"suffix\"> {\r\n value?: number | null;\r\n onChange?: (value: number | null) => void;\r\n min?: number;\r\n max?: number;\r\n step?: number;\r\n decimals?: number;\r\n showSpinner?: boolean;\r\n prefix?: React.ReactNode;\r\n suffix?: React.ReactNode;\r\n onValidate?: (result: NumberInputValidateResult) => void;\r\n locale?: string;\r\n labels?: NumberInputLabels;\r\n}\r\n\r\nconst FR_DECIMAL_SEP = \",\";\r\nconst FR_THOUSAND_SEP = \" \";\r\n\r\n// Stepper button hit area — WCAG 2.5.8 AA (24 × 24). See JSDoc above\r\n// for the rationale for not pursuing 44 × 44 / R-Tg.1 here.\r\nconst STEPPER_HIT_AREA = 24;\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n decrement: \"Diminuer\",\r\n increment: \"Augmenter\",\r\n});\r\n\r\nfunction formatForDisplay(\r\n num: number | null | undefined,\r\n decimals: number | undefined,\r\n locale = \"fr-FR\",\r\n): string {\r\n if (num == null || Number.isNaN(num)) return \"\";\r\n const opts: Intl.NumberFormatOptions = decimals != null\r\n ? { minimumFractionDigits: decimals, maximumFractionDigits: decimals }\r\n : { maximumFractionDigits: 6 };\r\n try {\r\n return new Intl.NumberFormat(locale, opts).format(num);\r\n } catch {\r\n // Invalid BCP-47 tag — fall back to fr-FR rather than throwing.\r\n return new Intl.NumberFormat(\"fr-FR\", opts).format(num);\r\n }\r\n}\r\n\r\nfunction parseFromUser(str: string | null | undefined): number | null {\r\n if (str == null || str === \"\") return null;\r\n // Accept BOTH `,` and `.` as decimal separator; strip every whitespace\r\n // (regular space, NBSP, narrow NBSP). Locale-agnostic by design.\r\n const cleaned = String(str)\r\n .replace(/[\\u00A0\\u202F]/g, \" \")\r\n .replace(/\\s+/g, \"\")\r\n .replace(\",\", \".\");\r\n if (cleaned === \"\" || cleaned === \"-\" || cleaned === \".\") return null;\r\n const n = Number(cleaned);\r\n return Number.isFinite(n) ? n : null;\r\n}\r\n\r\nconst NumberInput = React.forwardRef<React.ComponentRef<typeof OutlinedInput>, NumberInputProps>(function NumberInput(\r\n {\r\n value, onChange, onBlur,\r\n min, max, step = 1, decimals,\r\n placeholder, disabled, error, readOnly,\r\n fullWidth = true, showSpinner = false,\r\n prefix, suffix, inputProps, onValidate,\r\n locale = \"fr-FR\",\r\n labels,\r\n sx,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n const mergedLabels = labels\r\n ? { ...DEFAULT_LABELS, ...labels }\r\n : DEFAULT_LABELS;\r\n\r\n const [display, setDisplay] = React.useState<string>(() => formatForDisplay(value, decimals, locale));\r\n const [focused, setFocused] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n if (!focused) setDisplay(formatForDisplay(value, decimals, locale));\r\n }, [value, decimals, locale, focused]);\r\n\r\n const allowMinus = min == null || min < 0;\r\n\r\n const onUserChange: NonNullable<OutlinedInputProps[\"onChange\"]> = (e) => {\r\n const raw = e.target.value;\r\n const re = allowMinus ? /^-?[0-9]*[.,]?[0-9]*$/ : /^[0-9]*[.,]?[0-9]*$/;\r\n if (raw !== \"\" && !re.test(raw)) return;\r\n setDisplay(raw);\r\n const parsed = parseFromUser(raw);\r\n onChange?.(parsed);\r\n };\r\n\r\n const clamp = (n: number | null): number | null => {\r\n if (n == null) return n;\r\n let out = n;\r\n if (typeof min === \"number\" && out < min) out = min;\r\n if (typeof max === \"number\" && out > max) out = max;\r\n return out;\r\n };\r\n\r\n const handleBlur: NonNullable<OutlinedInputProps[\"onBlur\"]> = (e) => {\r\n setFocused(false);\r\n const parsed = parseFromUser(display);\r\n const clamped = clamp(parsed);\r\n if (clamped !== parsed) {\r\n onChange?.(clamped);\r\n setDisplay(formatForDisplay(clamped, decimals, locale));\r\n } else {\r\n setDisplay(formatForDisplay(parsed, decimals, locale));\r\n }\r\n if (onValidate) {\r\n const violation: \"min\" | \"max\" | null =\r\n parsed == null ? null :\r\n (typeof min === \"number\" && parsed < min) ? \"min\" :\r\n (typeof max === \"number\" && parsed > max) ? \"max\" :\r\n null;\r\n onValidate({ value: parsed, clamped, violation });\r\n }\r\n onBlur?.(e);\r\n };\r\n\r\n const handleFocus = () => setFocused(true);\r\n\r\n const bumpBy = (delta: number) => {\r\n const next = clamp((value ?? 0) + delta);\r\n onChange?.(next);\r\n };\r\n\r\n const onKeyDown: NonNullable<OutlinedInputProps[\"onKeyDown\"]> = (e) => {\r\n if (e.key === \"ArrowUp\") { e.preventDefault(); bumpBy(+step); }\r\n if (e.key === \"ArrowDown\") { e.preventDefault(); bumpBy(-step); }\r\n };\r\n\r\n const ariaValueText = React.useMemo(() => {\r\n if (value == null || Number.isNaN(value)) return undefined;\r\n const formatted = formatForDisplay(value, decimals, locale);\r\n if (typeof suffix === \"string\" && suffix.trim()) {\r\n return `${formatted} ${suffix}`.trim();\r\n }\r\n return formatted || undefined;\r\n }, [value, decimals, locale, suffix]);\r\n\r\n // Shared sx for both stepper IconButtons. WCAG 2.5.8 AA floor (24×24),\r\n // padding 0 so the icon centres without cropping.\r\n const stepperSx = {\r\n color: \"var(--fg-muted)\",\r\n minWidth: STEPPER_HIT_AREA,\r\n minHeight: STEPPER_HIT_AREA,\r\n padding: 0,\r\n };\r\n\r\n return (\r\n <OutlinedInput\r\n ref={ref}\r\n type=\"text\"\r\n inputMode=\"decimal\"\r\n value={display}\r\n onChange={onUserChange}\r\n onFocus={handleFocus}\r\n onBlur={handleBlur}\r\n onKeyDown={onKeyDown}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n error={!!error}\r\n fullWidth={fullWidth}\r\n startAdornment={\r\n prefix ? <InputAdornment position=\"start\">{prefix}</InputAdornment> : undefined\r\n }\r\n endAdornment={\r\n (suffix || showSpinner) ? (\r\n <InputAdornment position=\"end\" sx={{ gap: 0.25 }}>\r\n {suffix && <span>{suffix}</span>}\r\n {showSpinner && (\r\n <>\r\n <IconButton\r\n size=\"small\"\r\n onClick={() => bumpBy(-step)}\r\n disabled={disabled || readOnly || (typeof min === \"number\" && value != null && value <= min)}\r\n aria-label={mergedLabels.decrement}\r\n sx={stepperSx}\r\n >\r\n <RemoveIcon sx={{ fontSize: 14 }} />\r\n </IconButton>\r\n <IconButton\r\n size=\"small\"\r\n onClick={() => bumpBy(+step)}\r\n disabled={disabled || readOnly || (typeof max === \"number\" && value != null && value >= max)}\r\n aria-label={mergedLabels.increment}\r\n sx={stepperSx}\r\n >\r\n <AddIcon sx={{ fontSize: 14 }} />\r\n </IconButton>\r\n </>\r\n )}\r\n </InputAdornment>\r\n ) : undefined\r\n }\r\n slotProps={{\r\n // MUI v9: the input slot bag forwards directly to the\r\n // internal <input/> element on OutlinedInput. Was\r\n // `inputProps={...}` at the top level — deprecated in v6,\r\n // migrated for v9 alignment (audit Batch 3). Spread order\r\n // preserved: consumer-supplied inputProps comes LAST so it\r\n // can override aria-* attributes (same semantics as v5).\r\n input: {\r\n role: \"spinbutton\" as const,\r\n \"aria-valuenow\": value ?? undefined,\r\n \"aria-valuemin\": min,\r\n \"aria-valuemax\": max,\r\n \"aria-valuetext\": ariaValueText,\r\n ...inputProps,\r\n },\r\n }}\r\n sx={{\r\n // R-T.3 — tabular-nums for vertical alignment in tables/forms\r\n \"& input\": { fontVariantNumeric: \"tabular-nums\", textAlign: \"right\" },\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n});\r\n\r\n// Locale separators exported so callers can mirror exact display elsewhere\r\n// without re-implementing. Kept for back-compat; for full locale-correct\r\n// formatting prefer `Intl.NumberFormat(locale)` directly.\r\nexport const FR_DECIMAL_SEPARATOR = FR_DECIMAL_SEP;\r\nexport const FR_THOUSAND_SEPARATOR = FR_THOUSAND_SEP;\r\n\r\nexport default NumberInput;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* OverflowMenu - Portnet UI v2
|
|
4
|
+
*
|
|
5
|
+
* Charter §03 · Component "OverflowMenu". ARIA menu for ancillary row actions.
|
|
6
|
+
*
|
|
7
|
+
* Max 7 items · separator before danger · kbd shortcut visible right.
|
|
8
|
+
*
|
|
9
|
+
* <OverflowMenu actions={[
|
|
10
|
+
* { label: "Voir le détail", icon: <Visibility />, onClick: open, shortcut: "↵" },
|
|
11
|
+
* { label: "Modifier", icon: <Edit />, onClick: edit },
|
|
12
|
+
* { divider: true },
|
|
13
|
+
* { label: "Supprimer", icon: <Delete />, onClick: remove, danger: true, shortcut: "⌫" },
|
|
14
|
+
* ]} />
|
|
15
|
+
*
|
|
16
|
+
* Localisation (FR / EN / AR):
|
|
17
|
+
* <OverflowMenu labels={{
|
|
18
|
+
* trigger: "More actions",
|
|
19
|
+
* shortcut: (s) => `Shortcut ${s}`,
|
|
20
|
+
* }} />
|
|
21
|
+
*
|
|
22
|
+
* The legacy `ariaLabel` prop still wins over labels.trigger when
|
|
23
|
+
* both are passed, for back-compat.
|
|
24
|
+
*/
|
|
25
|
+
export interface OverflowMenuAction {
|
|
26
|
+
label?: React.ReactNode;
|
|
27
|
+
/** Rendered directly (no cloneElement) — any renderable node. */
|
|
28
|
+
icon?: React.ReactNode;
|
|
29
|
+
onClick?: () => void;
|
|
30
|
+
shortcut?: React.ReactNode;
|
|
31
|
+
danger?: boolean;
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
divider?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface OverflowMenuLabels {
|
|
36
|
+
trigger?: string;
|
|
37
|
+
shortcut?: string | ((shortcut: React.ReactNode) => string);
|
|
38
|
+
}
|
|
39
|
+
export interface OverflowMenuProps {
|
|
40
|
+
/** Row actions. Charter recommends ≤ 7. @default [] */
|
|
41
|
+
actions?: OverflowMenuAction[];
|
|
42
|
+
/**
|
|
43
|
+
* Custom trigger element. Cloned via React.cloneElement to inject the
|
|
44
|
+
* open handler + aria-haspopup/aria-expanded (must be a single element).
|
|
45
|
+
*/
|
|
46
|
+
trigger?: React.ReactElement;
|
|
47
|
+
/** Legacy accessible name for the default trigger (wins over labels.trigger). */
|
|
48
|
+
ariaLabel?: string;
|
|
49
|
+
/** Menu alignment. @default "right" */
|
|
50
|
+
align?: "left" | "right";
|
|
51
|
+
labels?: OverflowMenuLabels;
|
|
52
|
+
}
|
|
53
|
+
declare function OverflowMenu({ actions, trigger, ariaLabel, align, labels, }: OverflowMenuProps): React.JSX.Element;
|
|
54
|
+
export default OverflowMenu;
|
|
55
|
+
//# sourceMappingURL=OverflowMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OverflowMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/OverflowMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,iEAAiE;IACjE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAuBD,iBAAS,YAAY,CAAC,EACpB,OAAY,EACZ,OAAO,EACP,SAAS,EACT,KAAe,EACf,MAAM,GACP,EAAE,iBAAiB,qBA6FnB;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
9
|
+
var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
|
|
10
|
+
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
11
|
+
var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
|
|
12
|
+
var _MoreHoriz = _interopRequireDefault(require("@mui/icons-material/MoreHoriz"));
|
|
13
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
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); }
|
|
19
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
20
|
+
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."); }
|
|
21
|
+
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); }
|
|
22
|
+
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; }
|
|
23
|
+
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; } }
|
|
24
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
25
|
+
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; }
|
|
26
|
+
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; }
|
|
27
|
+
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; }
|
|
28
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
29
|
+
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); } /**
|
|
30
|
+
* OverflowMenu - Portnet UI v2
|
|
31
|
+
*
|
|
32
|
+
* Charter §03 · Component "OverflowMenu". ARIA menu for ancillary row actions.
|
|
33
|
+
*
|
|
34
|
+
* Max 7 items · separator before danger · kbd shortcut visible right.
|
|
35
|
+
*
|
|
36
|
+
* <OverflowMenu actions={[
|
|
37
|
+
* { label: "Voir le détail", icon: <Visibility />, onClick: open, shortcut: "↵" },
|
|
38
|
+
* { label: "Modifier", icon: <Edit />, onClick: edit },
|
|
39
|
+
* { divider: true },
|
|
40
|
+
* { label: "Supprimer", icon: <Delete />, onClick: remove, danger: true, shortcut: "⌫" },
|
|
41
|
+
* ]} />
|
|
42
|
+
*
|
|
43
|
+
* Localisation (FR / EN / AR):
|
|
44
|
+
* <OverflowMenu labels={{
|
|
45
|
+
* trigger: "More actions",
|
|
46
|
+
* shortcut: (s) => `Shortcut ${s}`,
|
|
47
|
+
* }} />
|
|
48
|
+
*
|
|
49
|
+
* The legacy `ariaLabel` prop still wins over labels.trigger when
|
|
50
|
+
* both are passed, for back-compat.
|
|
51
|
+
*/
|
|
52
|
+
var DEFAULT_LABELS = Object.freeze({
|
|
53
|
+
trigger: "Plus d'actions",
|
|
54
|
+
shortcut: function shortcut(s) {
|
|
55
|
+
return "Raccourci ".concat(s);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// MUI v9: slot bag for the Menu. The component already used slotProps.paper
|
|
60
|
+
// for the paper slot; this commit moves MenuListProps onto the same path
|
|
61
|
+
// via the `list` slot key. Hoisted so the reference is stable across
|
|
62
|
+
// renders. `role: "menu" as const` keeps the AriaRole literal.
|
|
63
|
+
var MENU_SLOT_PROPS = Object.freeze({
|
|
64
|
+
paper: {
|
|
65
|
+
sx: {
|
|
66
|
+
minWidth: 200,
|
|
67
|
+
boxShadow: "var(--shadow-md)",
|
|
68
|
+
border: "1px solid var(--border)",
|
|
69
|
+
borderRadius: "var(--r-md)"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
list: {
|
|
73
|
+
role: "menu",
|
|
74
|
+
dense: true
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
function OverflowMenu(_ref) {
|
|
78
|
+
var _ref$actions = _ref.actions,
|
|
79
|
+
actions = _ref$actions === void 0 ? [] : _ref$actions,
|
|
80
|
+
trigger = _ref.trigger,
|
|
81
|
+
ariaLabel = _ref.ariaLabel,
|
|
82
|
+
_ref$align = _ref.align,
|
|
83
|
+
align = _ref$align === void 0 ? "right" : _ref$align,
|
|
84
|
+
labels = _ref.labels;
|
|
85
|
+
var L = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
|
|
86
|
+
// Legacy ariaLabel prop wins over labels.trigger.
|
|
87
|
+
var triggerAria = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : L.trigger;
|
|
88
|
+
var _React$useState = React.useState(null),
|
|
89
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
90
|
+
anchor = _React$useState2[0],
|
|
91
|
+
setAnchor = _React$useState2[1];
|
|
92
|
+
var open = Boolean(anchor);
|
|
93
|
+
if (process.env["NODE_ENV"] !== "production" && actions.length > 7) {
|
|
94
|
+
// eslint-disable-next-line no-console
|
|
95
|
+
console.warn("[@portnet/ui v2] <OverflowMenu> over 7 items - charter recommends ≤ 7.");
|
|
96
|
+
}
|
|
97
|
+
var handleOpen = function handleOpen(e) {
|
|
98
|
+
return setAnchor(e.currentTarget);
|
|
99
|
+
};
|
|
100
|
+
var handleClose = function handleClose() {
|
|
101
|
+
return setAnchor(null);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
// R-2.1 - when a host passes a custom trigger, preserve its existing
|
|
105
|
+
// onClick (analytics, focus capture, optimistic UI etc.) by chaining
|
|
106
|
+
// it before our handleOpen. Without this, cloneElement silently
|
|
107
|
+
// overwrites the host's handler.
|
|
108
|
+
var triggerNode = trigger ? /*#__PURE__*/React.cloneElement(trigger, {
|
|
109
|
+
onClick: function onClick(event) {
|
|
110
|
+
var _onClick, _ref2;
|
|
111
|
+
(_onClick = (_ref2 = trigger.props).onClick) === null || _onClick === void 0 ? void 0 : _onClick.call(_ref2, event);
|
|
112
|
+
handleOpen(event);
|
|
113
|
+
},
|
|
114
|
+
"aria-haspopup": "menu",
|
|
115
|
+
"aria-expanded": open
|
|
116
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
|
|
117
|
+
onClick: handleOpen,
|
|
118
|
+
"aria-label": triggerAria,
|
|
119
|
+
"aria-haspopup": "menu",
|
|
120
|
+
"aria-expanded": open,
|
|
121
|
+
size: "small",
|
|
122
|
+
sx: {
|
|
123
|
+
color: "var(--fg-muted)"
|
|
124
|
+
},
|
|
125
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MoreHoriz["default"], {
|
|
126
|
+
fontSize: "small"
|
|
127
|
+
})
|
|
128
|
+
});
|
|
129
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
130
|
+
children: [triggerNode, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Menu["default"], {
|
|
131
|
+
anchorEl: anchor,
|
|
132
|
+
open: open,
|
|
133
|
+
onClose: handleClose,
|
|
134
|
+
anchorOrigin: {
|
|
135
|
+
vertical: "bottom",
|
|
136
|
+
horizontal: align === "right" ? "right" : "left"
|
|
137
|
+
},
|
|
138
|
+
transformOrigin: {
|
|
139
|
+
vertical: "top",
|
|
140
|
+
horizontal: align === "right" ? "right" : "left"
|
|
141
|
+
},
|
|
142
|
+
slotProps: MENU_SLOT_PROPS,
|
|
143
|
+
children: actions.map(function (a, i) {
|
|
144
|
+
if (a.divider) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Divider["default"], {
|
|
145
|
+
sx: {
|
|
146
|
+
borderColor: "var(--border)"
|
|
147
|
+
}
|
|
148
|
+
}, "d-".concat(i));
|
|
149
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem["default"], {
|
|
150
|
+
role: "menuitem",
|
|
151
|
+
disabled: a.disabled,
|
|
152
|
+
onClick: function onClick() {
|
|
153
|
+
var _a$onClick;
|
|
154
|
+
handleClose();
|
|
155
|
+
(_a$onClick = a.onClick) === null || _a$onClick === void 0 ? void 0 : _a$onClick.call(a);
|
|
156
|
+
},
|
|
157
|
+
sx: {
|
|
158
|
+
fontSize: "var(--text-sm)",
|
|
159
|
+
color: a.danger ? "var(--danger)" : "var(--fg)",
|
|
160
|
+
"&:hover": a.danger ? {
|
|
161
|
+
background: "var(--danger-soft)"
|
|
162
|
+
} : undefined,
|
|
163
|
+
gap: 1.5
|
|
164
|
+
},
|
|
165
|
+
children: [a.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
166
|
+
sx: {
|
|
167
|
+
display: "inline-flex",
|
|
168
|
+
color: a.danger ? "var(--danger)" : "var(--fg-muted)"
|
|
169
|
+
},
|
|
170
|
+
children: a.icon
|
|
171
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
172
|
+
sx: {
|
|
173
|
+
flex: 1
|
|
174
|
+
},
|
|
175
|
+
children: a.label
|
|
176
|
+
}), a.shortcut && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
177
|
+
component: "kbd",
|
|
178
|
+
"aria-label": typeof L.shortcut === "function" ? L.shortcut(a.shortcut) : "".concat(L.shortcut, " ").concat(a.shortcut),
|
|
179
|
+
sx: {
|
|
180
|
+
fontSize: "var(--text-xs)",
|
|
181
|
+
color: "var(--fg-subtle)",
|
|
182
|
+
background: "var(--bg-subtle)",
|
|
183
|
+
border: "1px solid var(--border)",
|
|
184
|
+
borderRadius: "var(--r-sm)",
|
|
185
|
+
padding: "1px var(--s-2)",
|
|
186
|
+
fontFamily: "var(--font-mono)"
|
|
187
|
+
},
|
|
188
|
+
children: a.shortcut
|
|
189
|
+
})]
|
|
190
|
+
}, i);
|
|
191
|
+
})
|
|
192
|
+
})]
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
var _default = exports["default"] = OverflowMenu;
|
|
196
|
+
//# sourceMappingURL=OverflowMenu.js.map
|