@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,382 @@
|
|
|
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"] = void 0;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _Select = _interopRequireDefault(require("@mui/material/Select"));
|
|
10
|
+
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
11
|
+
var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
|
|
12
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
13
|
+
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
14
|
+
var _Search = _interopRequireDefault(require("@mui/icons-material/Search"));
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
var _excluded = ["value", "onChange", "onBlur", "options", "placeholder", "disabled", "error", "fullWidth", "multiple", "labels", "searchable", "searchThreshold", "inputRef", "sx"];
|
|
17
|
+
/**
|
|
18
|
+
* Select — Portnet UI v2
|
|
19
|
+
*
|
|
20
|
+
* Charter §03 · Component "Select".
|
|
21
|
+
*
|
|
22
|
+
* R-Sel.1 — > 30 options → use searchThreshold or Combobox.
|
|
23
|
+
* R-Sel.2 — 2–3 options → prefer Radio or Segmented control.
|
|
24
|
+
* R-Sel.3 — Placeholder = "Sélectionner…", never empty.
|
|
25
|
+
* R-Sel.4 — Multi-select → chips dans l'input + bouton « Tout effacer ».
|
|
26
|
+
* R-Sel.5 — searchThreshold / searchable → auto-search for large lists (NEW).
|
|
27
|
+
*
|
|
28
|
+
* Autocomplete / search (R-Sel.5):
|
|
29
|
+
* Pass `searchThreshold={N}` to show a search input when options >= N.
|
|
30
|
+
* Pass `searchable` as a shorthand to always show search.
|
|
31
|
+
*
|
|
32
|
+
* Generic pattern: set searchThreshold once per component type and ALL
|
|
33
|
+
* instances with enough items get free-text filtering automatically.
|
|
34
|
+
*
|
|
35
|
+
* <Select searchThreshold={8} options={pays} value={v} onChange={...} />
|
|
36
|
+
*
|
|
37
|
+
* Localisation (FR / EN / AR):
|
|
38
|
+
* Pass `labels` to override user-visible strings.
|
|
39
|
+
*
|
|
40
|
+
* MUI v9 focus safety:
|
|
41
|
+
* MuiSelect focuses its hidden input on click via an internal inputRef.
|
|
42
|
+
* We always pass an explicit inputRef (merged with any caller ref) so
|
|
43
|
+
* that focus target is never null — otherwise clicking the closed select
|
|
44
|
+
* throws "Cannot read properties of null (reading 'focus')" from inside
|
|
45
|
+
* MUI's own click handler.
|
|
46
|
+
*/
|
|
47
|
+
/**
|
|
48
|
+
* onChange event shape. Deliberately loose: the component fires onChange
|
|
49
|
+
* both from MUI's native SelectChangeEvent AND from a synthetic
|
|
50
|
+
* { target: { value } } object in the chip-remove / clear-all paths.
|
|
51
|
+
*/
|
|
52
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
53
|
+
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); }
|
|
54
|
+
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; }
|
|
55
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
56
|
+
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."); }
|
|
57
|
+
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); }
|
|
58
|
+
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; }
|
|
59
|
+
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; } }
|
|
60
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
61
|
+
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; }
|
|
62
|
+
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; }
|
|
63
|
+
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; }
|
|
64
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
65
|
+
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); }
|
|
66
|
+
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; }
|
|
67
|
+
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; }
|
|
68
|
+
var DEFAULT_LABELS = Object.freeze({
|
|
69
|
+
placeholder: "Sélectionner…",
|
|
70
|
+
clearAll: "Tout effacer",
|
|
71
|
+
clearAllAria: "Tout effacer la sélection",
|
|
72
|
+
removeChip: function removeChip(lbl) {
|
|
73
|
+
return "Retirer ".concat(String(lbl));
|
|
74
|
+
},
|
|
75
|
+
searchLabel: "Rechercher…",
|
|
76
|
+
searchClear: "Effacer la recherche",
|
|
77
|
+
noOptions: "Aucun résultat"
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
/* ── Search input — sticky at top of dropdown list ─────────────────
|
|
81
|
+
* Rendered as a non-MenuItem Box so ArrowKey list-navigation skips it.
|
|
82
|
+
* onKeyDown stopPropagation prevents MUI's keyboard handler from
|
|
83
|
+
* treating typed characters as list-navigation shortcuts.
|
|
84
|
+
* ─────────────────────────────────────────────────────────────────── */
|
|
85
|
+
var SEARCH_WRAPPER_SX = Object.freeze({
|
|
86
|
+
position: "sticky",
|
|
87
|
+
top: 0,
|
|
88
|
+
zIndex: 1,
|
|
89
|
+
background: "var(--surface)",
|
|
90
|
+
padding: "var(--s-2) var(--s-3)",
|
|
91
|
+
borderBottom: "1px solid var(--border)",
|
|
92
|
+
display: "flex",
|
|
93
|
+
alignItems: "center",
|
|
94
|
+
gap: "var(--s-2)"
|
|
95
|
+
});
|
|
96
|
+
var Select = /*#__PURE__*/React.forwardRef(function Select(_ref, ref) {
|
|
97
|
+
var value = _ref.value,
|
|
98
|
+
onChange = _ref.onChange,
|
|
99
|
+
onBlur = _ref.onBlur,
|
|
100
|
+
_ref$options = _ref.options,
|
|
101
|
+
options = _ref$options === void 0 ? [] : _ref$options,
|
|
102
|
+
placeholder = _ref.placeholder,
|
|
103
|
+
disabled = _ref.disabled,
|
|
104
|
+
error = _ref.error,
|
|
105
|
+
_ref$fullWidth = _ref.fullWidth,
|
|
106
|
+
fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
|
|
107
|
+
_ref$multiple = _ref.multiple,
|
|
108
|
+
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
109
|
+
labels = _ref.labels,
|
|
110
|
+
_ref$searchable = _ref.searchable,
|
|
111
|
+
searchable = _ref$searchable === void 0 ? false : _ref$searchable,
|
|
112
|
+
searchThreshold = _ref.searchThreshold,
|
|
113
|
+
callerInputRef = _ref.inputRef,
|
|
114
|
+
sx = _ref.sx,
|
|
115
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
116
|
+
/* ── MUI v9 focus safety — always-present input ref ──────────────
|
|
117
|
+
* MuiSelect calls inputRef.current.focus() on click. Guarantee a
|
|
118
|
+
* live node by owning the ref here and merging any caller-provided
|
|
119
|
+
* inputRef / forwarded ref onto it. */
|
|
120
|
+
var innerInputRef = React.useRef(null);
|
|
121
|
+
var setInputRef = React.useCallback(function (node) {
|
|
122
|
+
innerInputRef.current = node;
|
|
123
|
+
if (typeof callerInputRef === "function") callerInputRef(node);
|
|
124
|
+
// A caller-supplied ref object is typed with a readonly `current` by
|
|
125
|
+
// React; writing to it here is the documented ref-merge idiom, so a
|
|
126
|
+
// single narrow assertion to a writable shape is justified.
|
|
127
|
+
else if (callerInputRef) {
|
|
128
|
+
callerInputRef.current = node;
|
|
129
|
+
}
|
|
130
|
+
if (typeof ref === "function") ref(node);else if (ref) ref.current = node;
|
|
131
|
+
}, [callerInputRef, ref]);
|
|
132
|
+
|
|
133
|
+
/* ── Determine whether to show search ──────────────────────────── */
|
|
134
|
+
var showSearch = searchable || typeof searchThreshold === "number" && options.length >= searchThreshold;
|
|
135
|
+
|
|
136
|
+
/* Dev-time charter warn: only fires when no search is configured */
|
|
137
|
+
if (process.env["NODE_ENV"] !== "production" && !showSearch && options.length > 30) {
|
|
138
|
+
// eslint-disable-next-line no-console
|
|
139
|
+
console.warn("[@portnet/ui v2] <Select> has ".concat(options.length, " options \u2014 charter R-Sel.1: use searchThreshold={8} or Combobox above 30."));
|
|
140
|
+
}
|
|
141
|
+
var L = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
|
|
142
|
+
var effectivePlaceholder = placeholder !== null && placeholder !== void 0 ? placeholder : L.placeholder;
|
|
143
|
+
|
|
144
|
+
/* ── Search state ──────────────────────────────────────────────── */
|
|
145
|
+
var _React$useState = React.useState(""),
|
|
146
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
147
|
+
searchQuery = _React$useState2[0],
|
|
148
|
+
setSearchQuery = _React$useState2[1];
|
|
149
|
+
var searchRef = React.useRef(null);
|
|
150
|
+
var handleClose = React.useCallback(function () {
|
|
151
|
+
return setSearchQuery("");
|
|
152
|
+
}, []);
|
|
153
|
+
|
|
154
|
+
/* Focus the search input as soon as the dropdown opens.
|
|
155
|
+
* MUI renders the Popover asynchronously → small delay needed. */
|
|
156
|
+
var handleOpen = React.useCallback(function () {
|
|
157
|
+
if (showSearch) {
|
|
158
|
+
setTimeout(function () {
|
|
159
|
+
var _searchRef$current;
|
|
160
|
+
return (_searchRef$current = searchRef.current) === null || _searchRef$current === void 0 ? void 0 : _searchRef$current.focus();
|
|
161
|
+
}, 50);
|
|
162
|
+
}
|
|
163
|
+
}, [showSearch]);
|
|
164
|
+
var filteredOptions = React.useMemo(function () {
|
|
165
|
+
if (!showSearch || !searchQuery.trim()) return options;
|
|
166
|
+
var q = searchQuery.trim().toLowerCase();
|
|
167
|
+
return options.filter(function (o) {
|
|
168
|
+
var label = typeof o === "string" ? o : o.label;
|
|
169
|
+
return String(label).toLowerCase().includes(q);
|
|
170
|
+
});
|
|
171
|
+
}, [options, searchQuery, showSearch]);
|
|
172
|
+
|
|
173
|
+
/* ── Label resolver ────────────────────────────────────────────── */
|
|
174
|
+
var optionLabel = React.useCallback(function (v) {
|
|
175
|
+
var opt = options.find(function (o) {
|
|
176
|
+
return (typeof o === "string" ? o : o.value) === v;
|
|
177
|
+
});
|
|
178
|
+
if (!opt) return v;
|
|
179
|
+
return typeof opt === "string" ? opt : opt.label;
|
|
180
|
+
}, [options]);
|
|
181
|
+
|
|
182
|
+
/* ── Multi-select helpers ──────────────────────────────────────── */
|
|
183
|
+
var fireChange = React.useCallback(function (nextValue) {
|
|
184
|
+
if (!onChange) return;
|
|
185
|
+
onChange({
|
|
186
|
+
target: {
|
|
187
|
+
value: nextValue
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}, [onChange]);
|
|
191
|
+
var removeOne = function removeOne(val) {
|
|
192
|
+
return function (e) {
|
|
193
|
+
e.stopPropagation();
|
|
194
|
+
if (!multiple) return;
|
|
195
|
+
var arr = Array.isArray(value) ? value : [];
|
|
196
|
+
fireChange(arr.filter(function (v) {
|
|
197
|
+
return v !== val;
|
|
198
|
+
}));
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
var clearAll = function clearAll(e) {
|
|
202
|
+
e.stopPropagation();
|
|
203
|
+
if (!multiple) return;
|
|
204
|
+
fireChange([]);
|
|
205
|
+
};
|
|
206
|
+
var stop = function stop(e) {
|
|
207
|
+
return e.stopPropagation();
|
|
208
|
+
};
|
|
209
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Select["default"], _objectSpread(_objectSpread({
|
|
210
|
+
inputRef: setInputRef,
|
|
211
|
+
value: value !== null && value !== void 0 ? value : multiple ? [] : "",
|
|
212
|
+
onChange: onChange,
|
|
213
|
+
onBlur: onBlur,
|
|
214
|
+
onOpen: handleOpen,
|
|
215
|
+
onClose: handleClose,
|
|
216
|
+
displayEmpty: true,
|
|
217
|
+
disabled: disabled,
|
|
218
|
+
error: !!error,
|
|
219
|
+
fullWidth: fullWidth,
|
|
220
|
+
multiple: multiple,
|
|
221
|
+
size: "small",
|
|
222
|
+
renderValue: function renderValue(selected) {
|
|
223
|
+
if (multiple) {
|
|
224
|
+
var arr = Array.isArray(selected) ? selected : [];
|
|
225
|
+
if (arr.length === 0) {
|
|
226
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
227
|
+
style: {
|
|
228
|
+
color: "var(--fg-subtle)"
|
|
229
|
+
},
|
|
230
|
+
children: effectivePlaceholder
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
|
|
234
|
+
sx: {
|
|
235
|
+
display: "flex",
|
|
236
|
+
flexWrap: "wrap",
|
|
237
|
+
alignItems: "center",
|
|
238
|
+
gap: 0.5
|
|
239
|
+
},
|
|
240
|
+
children: [arr.map(function (v) {
|
|
241
|
+
var lbl = optionLabel(v);
|
|
242
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip["default"], {
|
|
243
|
+
size: "small",
|
|
244
|
+
label: lbl,
|
|
245
|
+
onMouseDown: stop,
|
|
246
|
+
onDelete: removeOne(v),
|
|
247
|
+
deleteIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close["default"], {
|
|
248
|
+
fontSize: "small",
|
|
249
|
+
onMouseDown: stop,
|
|
250
|
+
"aria-label": L.removeChip(lbl)
|
|
251
|
+
}),
|
|
252
|
+
sx: {
|
|
253
|
+
height: 22,
|
|
254
|
+
"& .MuiChip-label": {
|
|
255
|
+
paddingInline: 1,
|
|
256
|
+
fontSize: 12
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}, v);
|
|
260
|
+
}), arr.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
261
|
+
component: "button",
|
|
262
|
+
type: "button",
|
|
263
|
+
onMouseDown: stop,
|
|
264
|
+
onClick: clearAll,
|
|
265
|
+
"aria-label": L.clearAllAria,
|
|
266
|
+
sx: {
|
|
267
|
+
background: "transparent",
|
|
268
|
+
border: "1px dashed var(--border)",
|
|
269
|
+
borderRadius: "var(--r-sm)",
|
|
270
|
+
padding: "1px 8px",
|
|
271
|
+
fontSize: 11,
|
|
272
|
+
fontWeight: 600,
|
|
273
|
+
color: "var(--fg-muted)",
|
|
274
|
+
cursor: "pointer",
|
|
275
|
+
fontFamily: "inherit",
|
|
276
|
+
transition: "background var(--duration-fast, 80ms) ease",
|
|
277
|
+
"&:hover": {
|
|
278
|
+
background: "var(--bg-subtle)",
|
|
279
|
+
color: "var(--fg)"
|
|
280
|
+
},
|
|
281
|
+
"&:focus-visible": {
|
|
282
|
+
outline: "2px solid var(--accent)",
|
|
283
|
+
outlineOffset: "var(--pui-outline-offset)"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
children: L.clearAll
|
|
287
|
+
})]
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
if (selected === "" || selected == null) {
|
|
291
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
292
|
+
style: {
|
|
293
|
+
color: "var(--fg-subtle)"
|
|
294
|
+
},
|
|
295
|
+
children: effectivePlaceholder
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
return optionLabel(selected);
|
|
299
|
+
},
|
|
300
|
+
sx: sx
|
|
301
|
+
}, rest), {}, {
|
|
302
|
+
children: [showSearch && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
|
|
303
|
+
onKeyDown: function onKeyDown(e) {
|
|
304
|
+
return e.stopPropagation();
|
|
305
|
+
},
|
|
306
|
+
onClick: function onClick(e) {
|
|
307
|
+
return e.stopPropagation();
|
|
308
|
+
},
|
|
309
|
+
sx: SEARCH_WRAPPER_SX,
|
|
310
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Search["default"], {
|
|
311
|
+
sx: {
|
|
312
|
+
fontSize: 16,
|
|
313
|
+
color: "var(--fg-subtle)",
|
|
314
|
+
flexShrink: 0
|
|
315
|
+
},
|
|
316
|
+
"aria-hidden": "true"
|
|
317
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
318
|
+
component: "input",
|
|
319
|
+
ref: searchRef,
|
|
320
|
+
value: searchQuery,
|
|
321
|
+
onChange: function onChange(e) {
|
|
322
|
+
return setSearchQuery(e.target.value);
|
|
323
|
+
},
|
|
324
|
+
placeholder: L.searchLabel,
|
|
325
|
+
"aria-label": L.searchLabel,
|
|
326
|
+
sx: {
|
|
327
|
+
flex: 1,
|
|
328
|
+
border: "none",
|
|
329
|
+
outline: "none",
|
|
330
|
+
background: "transparent",
|
|
331
|
+
fontSize: "var(--text-sm)",
|
|
332
|
+
fontFamily: "inherit",
|
|
333
|
+
color: "var(--fg)",
|
|
334
|
+
"&::placeholder": {
|
|
335
|
+
color: "var(--fg-subtle)"
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}), searchQuery && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
339
|
+
component: "button",
|
|
340
|
+
type: "button",
|
|
341
|
+
onClick: function onClick(e) {
|
|
342
|
+
var _searchRef$current2;
|
|
343
|
+
e.stopPropagation();
|
|
344
|
+
setSearchQuery("");
|
|
345
|
+
(_searchRef$current2 = searchRef.current) === null || _searchRef$current2 === void 0 ? void 0 : _searchRef$current2.focus();
|
|
346
|
+
},
|
|
347
|
+
"aria-label": L.searchClear,
|
|
348
|
+
sx: {
|
|
349
|
+
background: "transparent",
|
|
350
|
+
border: "none",
|
|
351
|
+
cursor: "pointer",
|
|
352
|
+
display: "flex",
|
|
353
|
+
alignItems: "center",
|
|
354
|
+
padding: 0,
|
|
355
|
+
flexShrink: 0
|
|
356
|
+
},
|
|
357
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close["default"], {
|
|
358
|
+
sx: {
|
|
359
|
+
fontSize: 14,
|
|
360
|
+
color: "var(--fg-muted)"
|
|
361
|
+
}
|
|
362
|
+
})
|
|
363
|
+
})]
|
|
364
|
+
}), showSearch && searchQuery.trim() && filteredOptions.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem["default"], {
|
|
365
|
+
disabled: true,
|
|
366
|
+
sx: {
|
|
367
|
+
color: "var(--fg-subtle)",
|
|
368
|
+
fontSize: "var(--text-sm)"
|
|
369
|
+
},
|
|
370
|
+
children: L.noOptions
|
|
371
|
+
}), filteredOptions.map(function (o) {
|
|
372
|
+
var v = typeof o === "string" ? o : o.value;
|
|
373
|
+
var l = typeof o === "string" ? o : o.label;
|
|
374
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem["default"], {
|
|
375
|
+
value: v,
|
|
376
|
+
children: l
|
|
377
|
+
}, v);
|
|
378
|
+
})]
|
|
379
|
+
}));
|
|
380
|
+
});
|
|
381
|
+
var _default = exports["default"] = Select;
|
|
382
|
+
//# sourceMappingURL=Select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.js","names":["React","_interopRequireWildcard","require","_Select","_interopRequireDefault","_MenuItem","_Chip","_Box","_Close","_Search","_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","DEFAULT_LABELS","freeze","placeholder","clearAll","clearAllAria","removeChip","lbl","concat","searchLabel","searchClear","noOptions","SEARCH_WRAPPER_SX","position","top","zIndex","background","padding","borderBottom","display","alignItems","gap","Select","forwardRef","_ref","ref","onChange","onBlur","_ref$options","options","disabled","error","_ref$fullWidth","fullWidth","_ref$multiple","multiple","labels","_ref$searchable","searchable","searchThreshold","callerInputRef","inputRef","sx","rest","innerInputRef","useRef","setInputRef","useCallback","node","current","showSearch","process","env","console","warn","L","effectivePlaceholder","_React$useState","useState","_React$useState2","searchQuery","setSearchQuery","searchRef","handleClose","handleOpen","setTimeout","_searchRef$current","focus","filteredOptions","useMemo","trim","q","toLowerCase","label","includes","optionLabel","v","opt","find","fireChange","nextValue","removeOne","val","e","stopPropagation","stop","jsxs","onOpen","onClose","displayEmpty","size","renderValue","selected","jsx","style","color","children","flexWrap","map","onMouseDown","onDelete","deleteIcon","fontSize","height","paddingInline","component","type","onClick","border","borderRadius","fontWeight","cursor","fontFamily","transition","outline","outlineOffset","onKeyDown","flexShrink","flex","_searchRef$current2","l","_default","exports"],"sources":["../../../src/lib/v2/components/Select.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiSelect from \"@mui/material/Select\";\r\nimport type { SelectProps as MuiSelectProps } from \"@mui/material/Select\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport Box from \"@mui/material/Box\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Select — Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Select\".\r\n *\r\n * R-Sel.1 — > 30 options → use searchThreshold or Combobox.\r\n * R-Sel.2 — 2–3 options → prefer Radio or Segmented control.\r\n * R-Sel.3 — Placeholder = \"Sélectionner…\", never empty.\r\n * R-Sel.4 — Multi-select → chips dans l'input + bouton « Tout effacer ».\r\n * R-Sel.5 — searchThreshold / searchable → auto-search for large lists (NEW).\r\n *\r\n * Autocomplete / search (R-Sel.5):\r\n * Pass `searchThreshold={N}` to show a search input when options >= N.\r\n * Pass `searchable` as a shorthand to always show search.\r\n *\r\n * Generic pattern: set searchThreshold once per component type and ALL\r\n * instances with enough items get free-text filtering automatically.\r\n *\r\n * <Select searchThreshold={8} options={pays} value={v} onChange={...} />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * Pass `labels` to override user-visible strings.\r\n *\r\n * MUI v9 focus safety:\r\n * MuiSelect focuses its hidden input on click via an internal inputRef.\r\n * We always pass an explicit inputRef (merged with any caller ref) so\r\n * that focus target is never null — otherwise clicking the closed select\r\n * throws \"Cannot read properties of null (reading 'focus')\" from inside\r\n * MUI's own click handler.\r\n */\r\n\r\nexport type SelectOptionValue = string | number;\r\n\r\nexport interface SelectOptionObject {\r\n value: SelectOptionValue;\r\n label: React.ReactNode;\r\n}\r\n\r\nexport type SelectOption = string | SelectOptionObject;\r\n\r\nexport type SelectValue = SelectOptionValue | SelectOptionValue[];\r\n\r\n/**\r\n * onChange event shape. Deliberately loose: the component fires onChange\r\n * both from MUI's native SelectChangeEvent AND from a synthetic\r\n * { target: { value } } object in the chip-remove / clear-all paths.\r\n */\r\nexport interface SelectChangeLike {\r\n target: { value: SelectValue };\r\n}\r\n\r\nexport interface SelectLabels {\r\n placeholder?: string;\r\n clearAll?: string;\r\n clearAllAria?: string;\r\n removeChip?: (label: React.ReactNode) => string;\r\n searchLabel?: string;\r\n searchClear?: string;\r\n noOptions?: string;\r\n}\r\n\r\nexport interface SelectProps\r\n extends Omit<\r\n MuiSelectProps<SelectValue>,\r\n \"value\" | \"onChange\" | \"renderValue\" | \"children\" | \"inputRef\"\r\n > {\r\n value?: SelectValue;\r\n onChange?: (event: SelectChangeLike) => void;\r\n options?: SelectOption[];\r\n placeholder?: string;\r\n labels?: SelectLabels;\r\n searchable?: boolean;\r\n searchThreshold?: number;\r\n /** Optional caller-provided input ref; merged with the internal one. */\r\n inputRef?: React.Ref<HTMLInputElement>;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n placeholder: \"Sélectionner…\",\r\n clearAll: \"Tout effacer\",\r\n clearAllAria: \"Tout effacer la sélection\",\r\n removeChip: (lbl: React.ReactNode) => `Retirer ${String(lbl)}`,\r\n searchLabel: \"Rechercher…\",\r\n searchClear: \"Effacer la recherche\",\r\n noOptions: \"Aucun résultat\",\r\n});\r\n\r\n/* ── Search input — sticky at top of dropdown list ─────────────────\r\n * Rendered as a non-MenuItem Box so ArrowKey list-navigation skips it.\r\n * onKeyDown stopPropagation prevents MUI's keyboard handler from\r\n * treating typed characters as list-navigation shortcuts.\r\n * ─────────────────────────────────────────────────────────────────── */\r\nconst SEARCH_WRAPPER_SX = Object.freeze({\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n background: \"var(--surface)\",\r\n padding: \"var(--s-2) var(--s-3)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst Select = React.forwardRef<HTMLInputElement, SelectProps>(function Select(\r\n {\r\n value,\r\n onChange,\r\n onBlur,\r\n options = [],\r\n placeholder,\r\n disabled,\r\n error,\r\n fullWidth = true,\r\n multiple = false,\r\n labels,\r\n searchable = false,\r\n searchThreshold,\r\n inputRef: callerInputRef,\r\n sx,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n /* ── MUI v9 focus safety — always-present input ref ──────────────\r\n * MuiSelect calls inputRef.current.focus() on click. Guarantee a\r\n * live node by owning the ref here and merging any caller-provided\r\n * inputRef / forwarded ref onto it. */\r\n const innerInputRef = React.useRef<HTMLInputElement | null>(null);\r\n const setInputRef = React.useCallback(\r\n (node: HTMLInputElement | null) => {\r\n innerInputRef.current = node;\r\n if (typeof callerInputRef === \"function\") callerInputRef(node);\r\n // A caller-supplied ref object is typed with a readonly `current` by\r\n // React; writing to it here is the documented ref-merge idiom, so a\r\n // single narrow assertion to a writable shape is justified.\r\n else if (callerInputRef) {\r\n (callerInputRef as { current: HTMLInputElement | null }).current = node;\r\n }\r\n if (typeof ref === \"function\") ref(node);\r\n else if (ref) ref.current = node;\r\n },\r\n [callerInputRef, ref],\r\n );\r\n\r\n /* ── Determine whether to show search ──────────────────────────── */\r\n const showSearch =\r\n searchable ||\r\n (typeof searchThreshold === \"number\" && options.length >= searchThreshold);\r\n\r\n /* Dev-time charter warn: only fires when no search is configured */\r\n if (process.env[\"NODE_ENV\"] !== \"production\" && !showSearch && options.length > 30) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `[@portnet/ui v2] <Select> has ${options.length} options — charter R-Sel.1: use searchThreshold={8} or Combobox above 30.`,\r\n );\r\n }\r\n\r\n const L = labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS;\r\n const effectivePlaceholder = placeholder ?? L.placeholder;\r\n\r\n /* ── Search state ──────────────────────────────────────────────── */\r\n const [searchQuery, setSearchQuery] = React.useState(\"\");\r\n const searchRef = React.useRef<HTMLInputElement | null>(null);\r\n\r\n const handleClose = React.useCallback(() => setSearchQuery(\"\"), []);\r\n\r\n /* Focus the search input as soon as the dropdown opens.\r\n * MUI renders the Popover asynchronously → small delay needed. */\r\n const handleOpen = React.useCallback(() => {\r\n if (showSearch) {\r\n setTimeout(() => searchRef.current?.focus(), 50);\r\n }\r\n }, [showSearch]);\r\n\r\n const filteredOptions = React.useMemo(() => {\r\n if (!showSearch || !searchQuery.trim()) return options;\r\n const q = searchQuery.trim().toLowerCase();\r\n return options.filter((o) => {\r\n const label = typeof o === \"string\" ? o : o.label;\r\n return String(label).toLowerCase().includes(q);\r\n });\r\n }, [options, searchQuery, showSearch]);\r\n\r\n /* ── Label resolver ────────────────────────────────────────────── */\r\n const optionLabel = React.useCallback(\r\n (v: SelectValue): React.ReactNode => {\r\n const opt = options.find((o) => (typeof o === \"string\" ? o : o.value) === v);\r\n if (!opt) return v;\r\n return typeof opt === \"string\" ? opt : opt.label;\r\n },\r\n [options],\r\n );\r\n\r\n /* ── Multi-select helpers ──────────────────────────────────────── */\r\n const fireChange = React.useCallback(\r\n (nextValue: SelectValue) => {\r\n if (!onChange) return;\r\n onChange({ target: { value: nextValue } });\r\n },\r\n [onChange],\r\n );\r\n\r\n const removeOne = (val: SelectOptionValue) => (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n if (!multiple) return;\r\n const arr = Array.isArray(value) ? value : [];\r\n fireChange(arr.filter((v) => v !== val));\r\n };\r\n\r\n const clearAll = (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n if (!multiple) return;\r\n fireChange([]);\r\n };\r\n\r\n const stop = (e: React.SyntheticEvent) => e.stopPropagation();\r\n\r\n return (\r\n <MuiSelect<SelectValue>\r\n inputRef={setInputRef}\r\n value={value ?? (multiple ? [] : \"\")}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n onOpen={handleOpen}\r\n onClose={handleClose}\r\n displayEmpty\r\n disabled={disabled}\r\n error={!!error}\r\n fullWidth={fullWidth}\r\n multiple={multiple}\r\n size=\"small\"\r\n renderValue={(selected: SelectValue) => {\r\n if (multiple) {\r\n const arr = Array.isArray(selected) ? selected : [];\r\n if (arr.length === 0) {\r\n return <span style={{ color: \"var(--fg-subtle)\" }}>{effectivePlaceholder}</span>;\r\n }\r\n return (\r\n <Box sx={{ display: \"flex\", flexWrap: \"wrap\", alignItems: \"center\", gap: 0.5 }}>\r\n {arr.map((v) => {\r\n const lbl = optionLabel(v);\r\n return (\r\n <MuiChip\r\n key={v}\r\n size=\"small\"\r\n label={lbl}\r\n onMouseDown={stop}\r\n onDelete={removeOne(v)}\r\n deleteIcon={\r\n <CloseIcon\r\n fontSize=\"small\"\r\n onMouseDown={stop}\r\n aria-label={L.removeChip(lbl)}\r\n />\r\n }\r\n sx={{\r\n height: 22,\r\n \"& .MuiChip-label\": { paddingInline: 1, fontSize: 12 },\r\n }}\r\n />\r\n );\r\n })}\r\n {arr.length > 0 && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onMouseDown={stop}\r\n onClick={clearAll}\r\n aria-label={L.clearAllAria}\r\n sx={{\r\n background: \"transparent\",\r\n border: \"1px dashed var(--border)\",\r\n borderRadius: \"var(--r-sm)\",\r\n padding: \"1px 8px\",\r\n fontSize: 11,\r\n fontWeight: 600,\r\n color: \"var(--fg-muted)\",\r\n cursor: \"pointer\",\r\n fontFamily: \"inherit\",\r\n transition: \"background var(--duration-fast, 80ms) ease\",\r\n \"&:hover\": { background: \"var(--bg-subtle)\", color: \"var(--fg)\" },\r\n \"&:focus-visible\": { outline: \"2px solid var(--accent)\", outlineOffset: \"var(--pui-outline-offset)\" },\r\n }}\r\n >\r\n {L.clearAll}\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n }\r\n if (selected === \"\" || selected == null) {\r\n return <span style={{ color: \"var(--fg-subtle)\" }}>{effectivePlaceholder}</span>;\r\n }\r\n return optionLabel(selected);\r\n }}\r\n sx={sx}\r\n {...rest}\r\n >\r\n {/* Search input — sticky, non-selectable, captures keyboard events */}\r\n {showSearch && (\r\n <Box\r\n onKeyDown={(e) => e.stopPropagation()}\r\n onClick={(e) => e.stopPropagation()}\r\n sx={SEARCH_WRAPPER_SX}\r\n >\r\n <SearchIcon sx={{ fontSize: 16, color: \"var(--fg-subtle)\", flexShrink: 0 }} aria-hidden=\"true\" />\r\n <Box\r\n component=\"input\"\r\n ref={searchRef}\r\n value={searchQuery}\r\n onChange={(e) => setSearchQuery(e.target.value)}\r\n placeholder={L.searchLabel}\r\n aria-label={L.searchLabel}\r\n sx={{\r\n flex: 1,\r\n border: \"none\",\r\n outline: \"none\",\r\n background: \"transparent\",\r\n fontSize: \"var(--text-sm)\",\r\n fontFamily: \"inherit\",\r\n color: \"var(--fg)\",\r\n \"&::placeholder\": { color: \"var(--fg-subtle)\" },\r\n }}\r\n />\r\n {searchQuery && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={(e) => { e.stopPropagation(); setSearchQuery(\"\"); searchRef.current?.focus(); }}\r\n aria-label={L.searchClear}\r\n sx={{ background: \"transparent\", border: \"none\", cursor: \"pointer\", display: \"flex\", alignItems: \"center\", padding: 0, flexShrink: 0 }}\r\n >\r\n <CloseIcon sx={{ fontSize: 14, color: \"var(--fg-muted)\" }} />\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n\r\n {/* Empty state when search yields no results */}\r\n {showSearch && searchQuery.trim() && filteredOptions.length === 0 && (\r\n <MenuItem disabled sx={{ color: \"var(--fg-subtle)\", fontSize: \"var(--text-sm)\" }}>\r\n {L.noOptions}\r\n </MenuItem>\r\n )}\r\n\r\n {filteredOptions.map((o) => {\r\n const v = typeof o === \"string\" ? o : o.value;\r\n const l = typeof o === \"string\" ? o : o.label;\r\n return <MenuItem key={v} value={v}>{l}</MenuItem>;\r\n })}\r\n </MuiSelect>\r\n );\r\n});\r\n\r\nexport default Select;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ServerErrorPageProps {
|
|
2
|
+
/** Callback for the back button (top-bar arrow). */
|
|
3
|
+
onBack: () => void;
|
|
4
|
+
/** Callback for the primary "Retour à l'accueil" CTA. */
|
|
5
|
+
onHome: () => void;
|
|
6
|
+
/** Optional retry callback. When omitted, the Réessayer button is hidden. */
|
|
7
|
+
onRetry?: () => void;
|
|
8
|
+
}
|
|
9
|
+
declare function ServerErrorPage({ onBack, onHome, onRetry }: ServerErrorPageProps): import("react").JSX.Element;
|
|
10
|
+
export default ServerErrorPage;
|
|
11
|
+
//# sourceMappingURL=ServerErrorPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerErrorPage.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/ServerErrorPage.tsx"],"names":[],"mappings":"AAiCA,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,yDAAyD;IACzD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,iBAAS,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,oBAAoB,+BAiCzE;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
8
|
+
var _ArrowBack = _interopRequireDefault(require("@mui/icons-material/ArrowBack"));
|
|
9
|
+
var _ErrorOutlined = _interopRequireDefault(require("@mui/icons-material/ErrorOutlined"));
|
|
10
|
+
var _ActionBar = _interopRequireDefault(require("../patterns/ActionBar"));
|
|
11
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
12
|
+
var _ErrorPageBody = _interopRequireDefault(require("./_ErrorPageBody"));
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
/**
|
|
16
|
+
* ServerErrorPage — Portnet UI v2 (component)
|
|
17
|
+
*
|
|
18
|
+
* Charter §07 · 500 / Erreur serveur.
|
|
19
|
+
*
|
|
20
|
+
* Adds an optional onRetry callback on top of the ForbiddenPage /
|
|
21
|
+
* NotFoundPage contract. The retry button is only rendered when
|
|
22
|
+
* onRetry is supplied — the lib deliberately avoids defaulting it
|
|
23
|
+
* to window.location.reload() because that policy belongs to the
|
|
24
|
+
* host (some hosts may prefer cache-clear, axios retry, backoff,
|
|
25
|
+
* or a route-level revalidation).
|
|
26
|
+
*
|
|
27
|
+
* import { ServerErrorPage } from "@portnet/ui/lib/v2";
|
|
28
|
+
* import { useNavigate } from "react-router-dom";
|
|
29
|
+
*
|
|
30
|
+
* function ServerErrorRoute() {
|
|
31
|
+
* const navigate = useNavigate();
|
|
32
|
+
* return (
|
|
33
|
+
* <ServerErrorPage
|
|
34
|
+
* onBack={() => navigate(-1)}
|
|
35
|
+
* onHome={() => navigate("/")}
|
|
36
|
+
* onRetry={() => window.location.reload()}
|
|
37
|
+
* />
|
|
38
|
+
* );
|
|
39
|
+
* }
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
function ServerErrorPage(_ref) {
|
|
43
|
+
var onBack = _ref.onBack,
|
|
44
|
+
onHome = _ref.onHome,
|
|
45
|
+
onRetry = _ref.onRetry;
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
47
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionBar["default"], {
|
|
48
|
+
back: onBack,
|
|
49
|
+
breadcrumb: ["Erreur", "Erreur serveur"],
|
|
50
|
+
title: "Erreur serveur"
|
|
51
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ErrorPageBody["default"], {
|
|
52
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ErrorOutlined["default"], {
|
|
53
|
+
sx: {
|
|
54
|
+
fontSize: 64,
|
|
55
|
+
color: "var(--danger)"
|
|
56
|
+
}
|
|
57
|
+
}),
|
|
58
|
+
code: "500",
|
|
59
|
+
title: "Le serveur a rencontr\xE9 une erreur",
|
|
60
|
+
description: "Le service est momentan\xE9ment indisponible. R\xE9essayez dans quelques instants. Si le probl\xE8me persiste, contactez le support en mentionnant le code 500."
|
|
61
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
|
|
62
|
+
sx: {
|
|
63
|
+
display: "flex",
|
|
64
|
+
justifyContent: "center",
|
|
65
|
+
gap: "var(--s-3)",
|
|
66
|
+
paddingBottom: "var(--s-7)"
|
|
67
|
+
},
|
|
68
|
+
children: [onRetry ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
|
|
69
|
+
variant: "ghost",
|
|
70
|
+
onClick: onRetry,
|
|
71
|
+
children: "R\xE9essayer"
|
|
72
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
|
|
73
|
+
variant: "primary",
|
|
74
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowBack["default"], {}),
|
|
75
|
+
onClick: onHome,
|
|
76
|
+
children: "Retour \xE0 l'accueil"
|
|
77
|
+
})]
|
|
78
|
+
})]
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
var _default = exports["default"] = ServerErrorPage;
|
|
82
|
+
//# sourceMappingURL=ServerErrorPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerErrorPage.js","names":["_Box","_interopRequireDefault","require","_ArrowBack","_ErrorOutlined","_ActionBar","_Button","_ErrorPageBody","_jsxRuntime","obj","__esModule","ServerErrorPage","_ref","onBack","onHome","onRetry","jsxs","Fragment","children","jsx","back","breadcrumb","title","icon","sx","fontSize","color","code","description","display","justifyContent","gap","paddingBottom","variant","onClick","_default","exports"],"sources":["../../../src/lib/v2/components/ServerErrorPage.tsx"],"sourcesContent":["/**\r\n * ServerErrorPage — Portnet UI v2 (component)\r\n *\r\n * Charter §07 · 500 / Erreur serveur.\r\n *\r\n * Adds an optional onRetry callback on top of the ForbiddenPage /\r\n * NotFoundPage contract. The retry button is only rendered when\r\n * onRetry is supplied — the lib deliberately avoids defaulting it\r\n * to window.location.reload() because that policy belongs to the\r\n * host (some hosts may prefer cache-clear, axios retry, backoff,\r\n * or a route-level revalidation).\r\n *\r\n * import { ServerErrorPage } from \"@portnet/ui/lib/v2\";\r\n * import { useNavigate } from \"react-router-dom\";\r\n *\r\n * function ServerErrorRoute() {\r\n * const navigate = useNavigate();\r\n * return (\r\n * <ServerErrorPage\r\n * onBack={() => navigate(-1)}\r\n * onHome={() => navigate(\"/\")}\r\n * onRetry={() => window.location.reload()}\r\n * />\r\n * );\r\n * }\r\n */\r\nimport Box from \"@mui/material/Box\";\r\nimport ArrowBack from \"@mui/icons-material/ArrowBack\";\r\nimport ErrorOutline from \"@mui/icons-material/ErrorOutlined\";\r\nimport ActionBar from \"../patterns/ActionBar\";\r\nimport Button from \"./Button\";\r\nimport ErrorPageBody from \"./_ErrorPageBody\";\r\n\r\nexport interface ServerErrorPageProps {\r\n /** Callback for the back button (top-bar arrow). */\r\n onBack: () => void;\r\n /** Callback for the primary \"Retour à l'accueil\" CTA. */\r\n onHome: () => void;\r\n /** Optional retry callback. When omitted, the Réessayer button is hidden. */\r\n onRetry?: () => void;\r\n}\r\n\r\nfunction ServerErrorPage({ onBack, onHome, onRetry }: ServerErrorPageProps) {\r\n return (\r\n <>\r\n <ActionBar\r\n back={onBack}\r\n breadcrumb={[\"Erreur\", \"Erreur serveur\"]}\r\n title=\"Erreur serveur\"\r\n />\r\n <ErrorPageBody\r\n icon={<ErrorOutline sx={{ fontSize: 64, color: \"var(--danger)\" }} />}\r\n code=\"500\"\r\n title=\"Le serveur a rencontré une erreur\"\r\n description=\"Le service est momentanément indisponible. Réessayez dans quelques instants. Si le problème persiste, contactez le support en mentionnant le code 500.\"\r\n />\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n gap: \"var(--s-3)\",\r\n paddingBottom: \"var(--s-7)\",\r\n }}\r\n >\r\n {onRetry ? (\r\n <Button variant=\"ghost\" onClick={onRetry}>\r\n Réessayer\r\n </Button>\r\n ) : null}\r\n <Button variant=\"primary\" icon={<ArrowBack />} onClick={onHome}>\r\n Retour à l'accueil\r\n </Button>\r\n </Box>\r\n </>\r\n );\r\n}\r\n\r\nexport default ServerErrorPage;\r\n"],"mappings":";;;;;;AA0BA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,cAAA,GAAAN,sBAAA,CAAAC,OAAA;AAA6C,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AA/B7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiBA,SAASE,eAAeA,CAAAC,IAAA,EAAoD;EAAA,IAAjDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;EAChD,oBACE,IAAAP,WAAA,CAAAQ,IAAA,EAAAR,WAAA,CAAAS,QAAA;IAAAC,QAAA,gBACE,IAAAV,WAAA,CAAAW,GAAA,EAACd,UAAA,WAAS;MACRe,IAAI,EAAEP,MAAO;MACbQ,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAE;MACzCC,KAAK,EAAC;IAAgB,CACvB,CAAC,eACF,IAAAd,WAAA,CAAAW,GAAA,EAACZ,cAAA,WAAa;MACZgB,IAAI,eAAE,IAAAf,WAAA,CAAAW,GAAA,EAACf,cAAA,WAAY;QAACoB,EAAE,EAAE;UAAEC,QAAQ,EAAE,EAAE;UAAEC,KAAK,EAAE;QAAgB;MAAE,CAAE,CAAE;MACrEC,IAAI,EAAC,KAAK;MACVL,KAAK,EAAC,sCAAmC;MACzCM,WAAW,EAAC;IAAwJ,CACrK,CAAC,eACF,IAAApB,WAAA,CAAAQ,IAAA,EAAChB,IAAA,WAAG;MACFwB,EAAE,EAAE;QACFK,OAAO,EAAS,MAAM;QACtBC,cAAc,EAAE,QAAQ;QACxBC,GAAG,EAAa,YAAY;QAC5BC,aAAa,EAAG;MAClB,CAAE;MAAAd,QAAA,GAEDH,OAAO,gBACN,IAAAP,WAAA,CAAAW,GAAA,EAACb,OAAA,WAAM;QAAC2B,OAAO,EAAC,OAAO;QAACC,OAAO,EAAEnB,OAAQ;QAAAG,QAAA,EAAC;MAE1C,CAAQ,CAAC,GACP,IAAI,eACR,IAAAV,WAAA,CAAAW,GAAA,EAACb,OAAA,WAAM;QAAC2B,OAAO,EAAC,SAAS;QAACV,IAAI,eAAE,IAAAf,WAAA,CAAAW,GAAA,EAAChB,UAAA,WAAS,IAAE,CAAE;QAAC+B,OAAO,EAAEpB,MAAO;QAAAI,QAAA,EAAC;MAEhE,CAAQ,CAAC;IAAA,CACN,CAAC;EAAA,CACN,CAAC;AAEP;AAAC,IAAAiB,QAAA,GAAAC,OAAA,cAEczB,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Skeleton - Portnet UI v2
|
|
4
|
+
*
|
|
5
|
+
* Charter §03 / §04.2.
|
|
6
|
+
* R-Sk.1 - Affiché si chargement > 200 ms ; sinon ne rien afficher.
|
|
7
|
+
* R-Sk.2 - Forme et nombre miment le contenu réel.
|
|
8
|
+
* R-Sk.3 - aria-busy sur container, contenu skeleton aria-hidden.
|
|
9
|
+
* R-Sk.4 - Animation supprimée si prefers-reduced-motion (handled in base.css).
|
|
10
|
+
*
|
|
11
|
+
* Primitive:
|
|
12
|
+
* <Skeleton width="60%" height={14} />
|
|
13
|
+
*
|
|
14
|
+
* Named compositions:
|
|
15
|
+
* <SkeletonRow cols={6} />
|
|
16
|
+
* <SkeletonKPI />
|
|
17
|
+
* <SkeletonDetailHero />
|
|
18
|
+
* <SkeletonTabContent rows={4} />
|
|
19
|
+
* <SkeletonText lines={5} />
|
|
20
|
+
*
|
|
21
|
+
* Localisation (FR / EN / AR):
|
|
22
|
+
* SkeletonTabContent and SkeletonText surface a textual aria-busy
|
|
23
|
+
* region; pass `loadingLabel` to localise. The other compositions
|
|
24
|
+
* are aria-hidden placeholders that don't carry localisable strings.
|
|
25
|
+
*/
|
|
26
|
+
export interface SkeletonProps {
|
|
27
|
+
width?: string | number;
|
|
28
|
+
height?: string | number;
|
|
29
|
+
radius?: number;
|
|
30
|
+
style?: React.CSSProperties;
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare function Skeleton({ width, height, radius, style, className }: SkeletonProps): React.JSX.Element;
|
|
34
|
+
export declare function SkeletonKPI(): React.JSX.Element;
|
|
35
|
+
export interface SkeletonRowProps {
|
|
36
|
+
cols?: number;
|
|
37
|
+
withCheckbox?: boolean;
|
|
38
|
+
withActions?: boolean;
|
|
39
|
+
}
|
|
40
|
+
export declare function SkeletonRow({ cols, withCheckbox, withActions }: SkeletonRowProps): React.JSX.Element;
|
|
41
|
+
export declare function SkeletonDetailHero(): React.JSX.Element;
|
|
42
|
+
export interface SkeletonTabContentProps {
|
|
43
|
+
rows?: number;
|
|
44
|
+
loadingLabel?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function SkeletonTabContent({ rows, loadingLabel }: SkeletonTabContentProps): React.JSX.Element;
|
|
47
|
+
export interface SkeletonTextProps {
|
|
48
|
+
lines?: number;
|
|
49
|
+
widths?: Array<string | number>;
|
|
50
|
+
height?: string | number;
|
|
51
|
+
gap?: string;
|
|
52
|
+
loadingLabel?: string;
|
|
53
|
+
}
|
|
54
|
+
export declare function SkeletonText({ lines, widths, height, gap, loadingLabel, }: SkeletonTextProps): React.JSX.Element;
|
|
55
|
+
export default Skeleton;
|
|
56
|
+
//# sourceMappingURL=Skeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAc,EAAE,MAAW,EAAE,MAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,aAAa,qBAcpG;AAED,wBAAgB,WAAW,sBAgB1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAQ,EAAE,YAAmB,EAAE,WAAkB,EAAE,EAAE,gBAAgB,qBAoBlG;AAED,wBAAgB,kBAAkB,sBAwBjC;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,IAAQ,EAAE,YAAuC,EAAE,EAAE,uBAAuB,qBAiBhH;AAuBD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAS,EACT,MAAM,EACN,MAAW,EACX,GAAkB,EAClB,YAA4B,GAC7B,EAAE,iBAAiB,qBA0BnB;AAED,eAAe,QAAQ,CAAC"}
|