@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,36 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ButtonProps } from "./Button";
|
|
3
|
+
/**
|
|
4
|
+
* EmptyState — Portnet UI v2
|
|
5
|
+
*
|
|
6
|
+
* Charter §04.3 · 3 variants required:
|
|
7
|
+
* - initial → primary CTA (e.g. "+ Nouveau titre")
|
|
8
|
+
* - filtered → "Réinitialiser filtres"
|
|
9
|
+
* - error → "Réessayer"
|
|
10
|
+
*
|
|
11
|
+
* Anti-pattern: generic clipart illustration. A single icon suffices (R-Em.2).
|
|
12
|
+
*
|
|
13
|
+
* <EmptyState
|
|
14
|
+
* icon={<DescriptionIcon />}
|
|
15
|
+
* title="Aucun titre d'importation"
|
|
16
|
+
* description="Créez votre premier titre pour commencer."
|
|
17
|
+
* action={{ label: "Nouveau titre", onClick: createNew }}
|
|
18
|
+
* />
|
|
19
|
+
*/
|
|
20
|
+
export type EmptyStateVariant = "initial" | "filtered" | "error";
|
|
21
|
+
export interface EmptyStateAction {
|
|
22
|
+
label: React.ReactNode;
|
|
23
|
+
onClick?: () => void;
|
|
24
|
+
icon?: React.ReactNode;
|
|
25
|
+
variant?: ButtonProps["variant"];
|
|
26
|
+
}
|
|
27
|
+
export interface EmptyStateProps {
|
|
28
|
+
variant?: EmptyStateVariant;
|
|
29
|
+
icon?: React.ReactNode;
|
|
30
|
+
title: React.ReactNode;
|
|
31
|
+
description?: React.ReactNode;
|
|
32
|
+
action?: EmptyStateAction;
|
|
33
|
+
}
|
|
34
|
+
declare function EmptyState({ variant, icon, title, description, action, }: EmptyStateProps): React.JSX.Element;
|
|
35
|
+
export default EmptyState;
|
|
36
|
+
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,iBAAS,UAAU,CAAC,EAClB,OAAmB,EACnB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,GACP,EAAE,eAAe,qBA0EjB;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
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 _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
10
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
11
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
+
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); }
|
|
15
|
+
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; }
|
|
16
|
+
/**
|
|
17
|
+
* EmptyState — Portnet UI v2
|
|
18
|
+
*
|
|
19
|
+
* Charter §04.3 · 3 variants required:
|
|
20
|
+
* - initial → primary CTA (e.g. "+ Nouveau titre")
|
|
21
|
+
* - filtered → "Réinitialiser filtres"
|
|
22
|
+
* - error → "Réessayer"
|
|
23
|
+
*
|
|
24
|
+
* Anti-pattern: generic clipart illustration. A single icon suffices (R-Em.2).
|
|
25
|
+
*
|
|
26
|
+
* <EmptyState
|
|
27
|
+
* icon={<DescriptionIcon />}
|
|
28
|
+
* title="Aucun titre d'importation"
|
|
29
|
+
* description="Créez votre premier titre pour commencer."
|
|
30
|
+
* action={{ label: "Nouveau titre", onClick: createNew }}
|
|
31
|
+
* />
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
function EmptyState(_ref) {
|
|
35
|
+
var _ref$variant = _ref.variant,
|
|
36
|
+
variant = _ref$variant === void 0 ? "initial" : _ref$variant,
|
|
37
|
+
icon = _ref.icon,
|
|
38
|
+
title = _ref.title,
|
|
39
|
+
description = _ref.description,
|
|
40
|
+
action = _ref.action;
|
|
41
|
+
var variantStyle = {
|
|
42
|
+
initial: {
|
|
43
|
+
iconColor: "var(--fg-subtle)"
|
|
44
|
+
},
|
|
45
|
+
filtered: {
|
|
46
|
+
iconColor: "var(--fg-subtle)"
|
|
47
|
+
},
|
|
48
|
+
error: {
|
|
49
|
+
iconColor: "var(--danger)"
|
|
50
|
+
}
|
|
51
|
+
}[variant] || {
|
|
52
|
+
iconColor: "var(--fg-subtle)"
|
|
53
|
+
};
|
|
54
|
+
var buttonVariant = variant === "error" ? "secondary" : "primary";
|
|
55
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
|
|
56
|
+
role: variant === "error" ? "alert" : undefined,
|
|
57
|
+
sx: {
|
|
58
|
+
display: "flex",
|
|
59
|
+
flexDirection: "column",
|
|
60
|
+
alignItems: "center",
|
|
61
|
+
textAlign: "center",
|
|
62
|
+
padding: "var(--s-9) var(--s-6)",
|
|
63
|
+
background: "var(--surface)",
|
|
64
|
+
border: "1px solid var(--border)",
|
|
65
|
+
borderRadius: "var(--r-lg)"
|
|
66
|
+
},
|
|
67
|
+
children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
68
|
+
sx: {
|
|
69
|
+
// Icon halo size — visual element dimensions, not spacing.
|
|
70
|
+
// Intentionally literal (not promoted to a spacing token).
|
|
71
|
+
width: 48,
|
|
72
|
+
height: 48,
|
|
73
|
+
borderRadius: "var(--r-full)",
|
|
74
|
+
background: "var(--bg-subtle)",
|
|
75
|
+
display: "grid",
|
|
76
|
+
placeItems: "center",
|
|
77
|
+
color: variantStyle.iconColor,
|
|
78
|
+
marginBottom: "var(--s-3)",
|
|
79
|
+
"& svg": {
|
|
80
|
+
fontSize: 24
|
|
81
|
+
} // intrinsic icon size
|
|
82
|
+
},
|
|
83
|
+
children: icon
|
|
84
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography["default"], {
|
|
85
|
+
component: "h3",
|
|
86
|
+
sx: {
|
|
87
|
+
fontSize: "var(--text-h4)",
|
|
88
|
+
fontWeight: "var(--fw-semibold)",
|
|
89
|
+
color: "var(--fg)",
|
|
90
|
+
marginBottom: "var(--s-1)",
|
|
91
|
+
lineHeight: "var(--lh-snug)"
|
|
92
|
+
},
|
|
93
|
+
children: title
|
|
94
|
+
}), description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography["default"], {
|
|
95
|
+
sx: {
|
|
96
|
+
fontSize: "var(--text-sm)",
|
|
97
|
+
color: "var(--fg-muted)",
|
|
98
|
+
// Readable measure (~50–60ch). Not a spacing-scale value.
|
|
99
|
+
maxWidth: 360,
|
|
100
|
+
marginBottom: "var(--s-3)"
|
|
101
|
+
},
|
|
102
|
+
children: description
|
|
103
|
+
}), action && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
|
|
104
|
+
variant: action.variant || buttonVariant,
|
|
105
|
+
icon: action.icon,
|
|
106
|
+
onClick: action.onClick,
|
|
107
|
+
children: action.label
|
|
108
|
+
})]
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
var _default = exports["default"] = EmptyState;
|
|
112
|
+
//# sourceMappingURL=EmptyState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Typography","_Button","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EmptyState","_ref","_ref$variant","variant","icon","title","description","action","variantStyle","initial","iconColor","filtered","error","buttonVariant","jsxs","role","undefined","sx","display","flexDirection","alignItems","textAlign","padding","background","border","borderRadius","children","jsx","width","height","placeItems","color","marginBottom","fontSize","component","fontWeight","lineHeight","maxWidth","onClick","label","_default","exports"],"sources":["../../../src/lib/v2/components/EmptyState.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport Button from \"./Button\";\r\nimport type { ButtonProps } from \"./Button\";\r\n\r\n/**\r\n * EmptyState — Portnet UI v2\r\n *\r\n * Charter §04.3 · 3 variants required:\r\n * - initial → primary CTA (e.g. \"+ Nouveau titre\")\r\n * - filtered → \"Réinitialiser filtres\"\r\n * - error → \"Réessayer\"\r\n *\r\n * Anti-pattern: generic clipart illustration. A single icon suffices (R-Em.2).\r\n *\r\n * <EmptyState\r\n * icon={<DescriptionIcon />}\r\n * title=\"Aucun titre d'importation\"\r\n * description=\"Créez votre premier titre pour commencer.\"\r\n * action={{ label: \"Nouveau titre\", onClick: createNew }}\r\n * />\r\n */\r\n\r\nexport type EmptyStateVariant = \"initial\" | \"filtered\" | \"error\";\r\n\r\nexport interface EmptyStateAction {\r\n label: React.ReactNode;\r\n onClick?: () => void;\r\n icon?: React.ReactNode;\r\n variant?: ButtonProps[\"variant\"];\r\n}\r\n\r\nexport interface EmptyStateProps {\r\n variant?: EmptyStateVariant;\r\n icon?: React.ReactNode;\r\n title: React.ReactNode;\r\n description?: React.ReactNode;\r\n action?: EmptyStateAction;\r\n}\r\n\r\nfunction EmptyState({\r\n variant = \"initial\",\r\n icon,\r\n title,\r\n description,\r\n action,\r\n}: EmptyStateProps) {\r\n const variantStyle = {\r\n initial: { iconColor: \"var(--fg-subtle)\" },\r\n filtered: { iconColor: \"var(--fg-subtle)\" },\r\n error: { iconColor: \"var(--danger)\" },\r\n }[variant] || { iconColor: \"var(--fg-subtle)\" };\r\n\r\n const buttonVariant = variant === \"error\" ? \"secondary\" : \"primary\";\r\n\r\n return (\r\n <Box\r\n role={variant === \"error\" ? \"alert\" : undefined}\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n textAlign: \"center\",\r\n padding: \"var(--s-9) var(--s-6)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n }}\r\n >\r\n {icon && (\r\n <Box\r\n sx={{\r\n // Icon halo size — visual element dimensions, not spacing.\r\n // Intentionally literal (not promoted to a spacing token).\r\n width: 48,\r\n height: 48,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--bg-subtle)\",\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n color: variantStyle.iconColor,\r\n marginBottom: \"var(--s-3)\",\r\n \"& svg\": { fontSize: 24 }, // intrinsic icon size\r\n }}\r\n >\r\n {icon}\r\n </Box>\r\n )}\r\n <Typography\r\n component=\"h3\"\r\n sx={{\r\n fontSize: \"var(--text-h4)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg)\",\r\n marginBottom: \"var(--s-1)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n {description && (\r\n <Typography\r\n sx={{\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-muted)\",\r\n // Readable measure (~50–60ch). Not a spacing-scale value.\r\n maxWidth: 360,\r\n marginBottom: \"var(--s-3)\",\r\n }}\r\n >\r\n {description}\r\n </Typography>\r\n )}\r\n {action && (\r\n <Button variant={action.variant || buttonVariant} icon={action.icon} onClick={action.onClick}>\r\n {action.label}\r\n </Button>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default EmptyState;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { IconButtonProps } from "@mui/material/IconButton";
|
|
3
|
+
export type FavoriteToggleSize = "xs" | "sm" | "md" | "lg";
|
|
4
|
+
export interface FavoriteToggleLabels {
|
|
5
|
+
addFavorite?: string;
|
|
6
|
+
removeFavorite?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface FavoriteToggleProps extends Omit<IconButtonProps, "onChange" | "size"> {
|
|
9
|
+
/** Current follow state. */
|
|
10
|
+
pressed?: boolean;
|
|
11
|
+
/** Activation handler: (nextPressed, event) => void. */
|
|
12
|
+
onChange?: (nextPressed: boolean, event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
13
|
+
/** Touch-target size. */
|
|
14
|
+
size?: FavoriteToggleSize;
|
|
15
|
+
/** Localised action labels (FR default; EN/AR supported). */
|
|
16
|
+
labels?: FavoriteToggleLabels;
|
|
17
|
+
/** Explicit accessible name; overrides the labels-derived one. */
|
|
18
|
+
"aria-label"?: string;
|
|
19
|
+
}
|
|
20
|
+
declare const FavoriteToggle: React.ForwardRefExoticComponent<Omit<FavoriteToggleProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
21
|
+
export default FavoriteToggle;
|
|
22
|
+
//# sourceMappingURL=FavoriteToggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteToggle.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/FavoriteToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA6ChE,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAgB3D,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,CAAC;IAClD,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACtF,yBAAyB;IACzB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,QAAA,MAAM,cAAc,4GAoDnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
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 _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
10
|
+
var _StarRounded = _interopRequireDefault(require("@mui/icons-material/StarRounded"));
|
|
11
|
+
var _StarBorderRounded = _interopRequireDefault(require("@mui/icons-material/StarBorderRounded"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
var _excluded = ["pressed", "onChange", "size", "disabled", "labels", "sx", "aria-label"];
|
|
14
|
+
/**
|
|
15
|
+
* FavoriteToggle - Portnet UI v2
|
|
16
|
+
*
|
|
17
|
+
* Charter §03 · presentational ☆/★ follow ("suivi") toggle. A CONTROLLED
|
|
18
|
+
* `<button aria-pressed>` with a star glyph. The glyph is decorative
|
|
19
|
+
* (MUI SvgIcon is aria-hidden by default); state is conveyed by
|
|
20
|
+
* `aria-pressed` AND by glyph SHAPE (outline ☆ vs filled ★), so it never
|
|
21
|
+
* relies on colour alone (WCAG 1.4.1 Use of Color).
|
|
22
|
+
*
|
|
23
|
+
* Presentational and provider-FREE by design — it keeps the leaf-vs-
|
|
24
|
+
* personalization boundary clean and stays usable outside the foundation.
|
|
25
|
+
* Wire it to the favorites capability:
|
|
26
|
+
*
|
|
27
|
+
* const { isFavorite, toggle } = useIsFavorite("ti:list", row.id);
|
|
28
|
+
* <FavoriteToggle pressed={isFavorite} onChange={toggle} size="sm" />
|
|
29
|
+
*
|
|
30
|
+
* …or drive it from any state:
|
|
31
|
+
*
|
|
32
|
+
* <FavoriteToggle pressed={on} onChange={(next) => setOn(next)} />
|
|
33
|
+
*
|
|
34
|
+
* Touch target: md (default) = 44px (WCAG 2.5.5 AAA); sm = 32px for dense
|
|
35
|
+
* DataGrid rows (meets 2.5.8 AA ≥ 24px, with headroom); lg = 48px; xs =
|
|
36
|
+
* 24px — the WCAG 2.5.8 AA floor exactly, with NO headroom left. Reserve
|
|
37
|
+
* xs for genuinely space-constrained columns where sm's 32px still
|
|
38
|
+
* doesn't fit (e.g. a compact favorites column under a table's
|
|
39
|
+
* table-layout:auto, where an explicit column width can't shrink the
|
|
40
|
+
* cell below the toggle's own intrinsic box) — don't reach for it over
|
|
41
|
+
* sm by default. The toggle renders itself unconditionally; the DataGrid
|
|
42
|
+
* follow column (makeFavoriteColumn) wraps it with the Gmail-style hover
|
|
43
|
+
* reveal for unfollowed rows.
|
|
44
|
+
*
|
|
45
|
+
* Localisation (FR / EN / AR):
|
|
46
|
+
* <FavoriteToggle labels={{ addFavorite: "Follow",
|
|
47
|
+
* removeFavorite: "Unfollow" }} />
|
|
48
|
+
*/
|
|
49
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
50
|
+
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); }
|
|
51
|
+
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; }
|
|
52
|
+
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; }
|
|
53
|
+
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; }
|
|
54
|
+
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; }
|
|
55
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
56
|
+
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); }
|
|
57
|
+
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; }
|
|
58
|
+
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; }
|
|
59
|
+
var DEFAULT_LABELS = Object.freeze({
|
|
60
|
+
addFavorite: "Suivre",
|
|
61
|
+
removeFavorite: "Ne plus suivre"
|
|
62
|
+
});
|
|
63
|
+
// Box = interactive hit area (px, like OverflowMenu's minWidth); glyph =
|
|
64
|
+
// icon font-size inherited by the SvgIcon via fontSize="inherit".
|
|
65
|
+
var SIZE_MAP = Object.freeze({
|
|
66
|
+
xs: Object.freeze({
|
|
67
|
+
box: 24,
|
|
68
|
+
glyph: 16
|
|
69
|
+
}),
|
|
70
|
+
sm: Object.freeze({
|
|
71
|
+
box: 32,
|
|
72
|
+
glyph: 20
|
|
73
|
+
}),
|
|
74
|
+
md: Object.freeze({
|
|
75
|
+
box: 44,
|
|
76
|
+
glyph: 24
|
|
77
|
+
}),
|
|
78
|
+
lg: Object.freeze({
|
|
79
|
+
box: 48,
|
|
80
|
+
glyph: 28
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
var FavoriteToggle = /*#__PURE__*/React.forwardRef(function FavoriteToggle(_ref, ref) {
|
|
84
|
+
var _ref$pressed = _ref.pressed,
|
|
85
|
+
pressed = _ref$pressed === void 0 ? false : _ref$pressed,
|
|
86
|
+
onChange = _ref.onChange,
|
|
87
|
+
_ref$size = _ref.size,
|
|
88
|
+
size = _ref$size === void 0 ? "md" : _ref$size,
|
|
89
|
+
disabled = _ref.disabled,
|
|
90
|
+
labels = _ref.labels,
|
|
91
|
+
sx = _ref.sx,
|
|
92
|
+
ariaLabel = _ref["aria-label"],
|
|
93
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
94
|
+
var L = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
|
|
95
|
+
var dims = SIZE_MAP[size] || SIZE_MAP.md;
|
|
96
|
+
// Toggle-button convention: the accessible name describes the ACTION
|
|
97
|
+
// activation performs; aria-pressed conveys the current state. Hosts can
|
|
98
|
+
// override with a richer per-row name via the `aria-label` prop.
|
|
99
|
+
var computedAria = ariaLabel || (pressed ? L.removeFavorite : L.addFavorite);
|
|
100
|
+
var handleClick = function handleClick(e) {
|
|
101
|
+
if (disabled) return;
|
|
102
|
+
if (typeof onChange === "function") onChange(!pressed, e);
|
|
103
|
+
};
|
|
104
|
+
var Star = pressed ? _StarRounded["default"] : _StarBorderRounded["default"];
|
|
105
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], _objectSpread(_objectSpread({
|
|
106
|
+
ref: ref,
|
|
107
|
+
onClick: handleClick,
|
|
108
|
+
disabled: disabled,
|
|
109
|
+
"aria-pressed": !!pressed,
|
|
110
|
+
"aria-label": computedAria,
|
|
111
|
+
sx: _objectSpread({
|
|
112
|
+
width: dims.box,
|
|
113
|
+
height: dims.box,
|
|
114
|
+
fontSize: dims.glyph,
|
|
115
|
+
color: pressed ? "var(--accent)" : "var(--fg-muted)",
|
|
116
|
+
"&:hover": {
|
|
117
|
+
color: pressed ? "var(--accent)" : "var(--fg)"
|
|
118
|
+
},
|
|
119
|
+
// Reuse the canonical focus halo token (same as Switch / R-AI.1).
|
|
120
|
+
"&.Mui-focusVisible": {
|
|
121
|
+
boxShadow: "var(--shadow-focus)"
|
|
122
|
+
},
|
|
123
|
+
"@media (prefers-reduced-motion: reduce)": {
|
|
124
|
+
transition: "none"
|
|
125
|
+
}
|
|
126
|
+
}, sx)
|
|
127
|
+
}, rest), {}, {
|
|
128
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Star, {
|
|
129
|
+
fontSize: "inherit"
|
|
130
|
+
})
|
|
131
|
+
}));
|
|
132
|
+
});
|
|
133
|
+
var _default = exports["default"] = FavoriteToggle;
|
|
134
|
+
//# sourceMappingURL=FavoriteToggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteToggle.js","names":["React","_interopRequireWildcard","require","_IconButton","_interopRequireDefault","_StarRounded","_StarBorderRounded","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","DEFAULT_LABELS","freeze","addFavorite","removeFavorite","SIZE_MAP","xs","box","glyph","sm","md","lg","FavoriteToggle","forwardRef","_ref","ref","_ref$pressed","pressed","onChange","_ref$size","size","disabled","labels","sx","ariaLabel","rest","L","dims","computedAria","handleClick","e","Star","StarRoundedIcon","StarBorderRoundedIcon","jsx","onClick","width","height","fontSize","color","boxShadow","transition","children","_default","exports"],"sources":["../../../src/lib/v2/components/FavoriteToggle.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport type { IconButtonProps } from \"@mui/material/IconButton\";\r\nimport StarRoundedIcon from \"@mui/icons-material/StarRounded\";\r\nimport StarBorderRoundedIcon from \"@mui/icons-material/StarBorderRounded\";\r\n\r\n/**\r\n * FavoriteToggle - Portnet UI v2\r\n *\r\n * Charter §03 · presentational ☆/★ follow (\"suivi\") toggle. A CONTROLLED\r\n * `<button aria-pressed>` with a star glyph. The glyph is decorative\r\n * (MUI SvgIcon is aria-hidden by default); state is conveyed by\r\n * `aria-pressed` AND by glyph SHAPE (outline ☆ vs filled ★), so it never\r\n * relies on colour alone (WCAG 1.4.1 Use of Color).\r\n *\r\n * Presentational and provider-FREE by design — it keeps the leaf-vs-\r\n * personalization boundary clean and stays usable outside the foundation.\r\n * Wire it to the favorites capability:\r\n *\r\n * const { isFavorite, toggle } = useIsFavorite(\"ti:list\", row.id);\r\n * <FavoriteToggle pressed={isFavorite} onChange={toggle} size=\"sm\" />\r\n *\r\n * …or drive it from any state:\r\n *\r\n * <FavoriteToggle pressed={on} onChange={(next) => setOn(next)} />\r\n *\r\n * Touch target: md (default) = 44px (WCAG 2.5.5 AAA); sm = 32px for dense\r\n * DataGrid rows (meets 2.5.8 AA ≥ 24px, with headroom); lg = 48px; xs =\r\n * 24px — the WCAG 2.5.8 AA floor exactly, with NO headroom left. Reserve\r\n * xs for genuinely space-constrained columns where sm's 32px still\r\n * doesn't fit (e.g. a compact favorites column under a table's\r\n * table-layout:auto, where an explicit column width can't shrink the\r\n * cell below the toggle's own intrinsic box) — don't reach for it over\r\n * sm by default. The toggle renders itself unconditionally; the DataGrid\r\n * follow column (makeFavoriteColumn) wraps it with the Gmail-style hover\r\n * reveal for unfollowed rows.\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <FavoriteToggle labels={{ addFavorite: \"Follow\",\r\n * removeFavorite: \"Unfollow\" }} />\r\n */\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n addFavorite: \"Suivre\",\r\n removeFavorite: \"Ne plus suivre\",\r\n});\r\n\r\nexport type FavoriteToggleSize = \"xs\" | \"sm\" | \"md\" | \"lg\";\r\n\r\ninterface SizeDims {\r\n box: number;\r\n glyph: number;\r\n}\r\n\r\n// Box = interactive hit area (px, like OverflowMenu's minWidth); glyph =\r\n// icon font-size inherited by the SvgIcon via fontSize=\"inherit\".\r\nconst SIZE_MAP: Record<FavoriteToggleSize, SizeDims> = Object.freeze({\r\n xs: Object.freeze({ box: 24, glyph: 16 }),\r\n sm: Object.freeze({ box: 32, glyph: 20 }),\r\n md: Object.freeze({ box: 44, glyph: 24 }),\r\n lg: Object.freeze({ box: 48, glyph: 28 }),\r\n});\r\n\r\nexport interface FavoriteToggleLabels {\r\n addFavorite?: string;\r\n removeFavorite?: string;\r\n}\r\n\r\nexport interface FavoriteToggleProps\r\n extends Omit<IconButtonProps, \"onChange\" | \"size\"> {\r\n /** Current follow state. */\r\n pressed?: boolean;\r\n /** Activation handler: (nextPressed, event) => void. */\r\n onChange?: (nextPressed: boolean, event: React.MouseEvent<HTMLButtonElement>) => void;\r\n /** Touch-target size. */\r\n size?: FavoriteToggleSize;\r\n /** Localised action labels (FR default; EN/AR supported). */\r\n labels?: FavoriteToggleLabels;\r\n /** Explicit accessible name; overrides the labels-derived one. */\r\n \"aria-label\"?: string;\r\n}\r\n\r\nconst FavoriteToggle = React.forwardRef<HTMLButtonElement, FavoriteToggleProps>(\r\n function FavoriteToggle(\r\n {\r\n pressed = false,\r\n onChange,\r\n size = \"md\",\r\n disabled,\r\n labels,\r\n sx,\r\n \"aria-label\": ariaLabel,\r\n ...rest\r\n },\r\n ref\r\n ) {\r\n const L = labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS;\r\n const dims = SIZE_MAP[size] || SIZE_MAP.md;\r\n // Toggle-button convention: the accessible name describes the ACTION\r\n // activation performs; aria-pressed conveys the current state. Hosts can\r\n // override with a richer per-row name via the `aria-label` prop.\r\n const computedAria = ariaLabel || (pressed ? L.removeFavorite : L.addFavorite);\r\n\r\n const handleClick = function handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n if (disabled) return;\r\n if (typeof onChange === \"function\") onChange(!pressed, e);\r\n };\r\n\r\n const Star = pressed ? StarRoundedIcon : StarBorderRoundedIcon;\r\n\r\n return (\r\n <IconButton\r\n ref={ref}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n aria-pressed={!!pressed}\r\n aria-label={computedAria}\r\n sx={{\r\n width: dims.box,\r\n height: dims.box,\r\n fontSize: dims.glyph,\r\n color: pressed ? \"var(--accent)\" : \"var(--fg-muted)\",\r\n \"&:hover\": { color: pressed ? \"var(--accent)\" : \"var(--fg)\" },\r\n // Reuse the canonical focus halo token (same as Switch / R-AI.1).\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n \"@media (prefers-reduced-motion: reduce)\": { transition: \"none\" },\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n <Star fontSize=\"inherit\" />\r\n </IconButton>\r\n );\r\n }\r\n);\r\n\r\nexport default FavoriteToggle;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { SxProps, Theme } from "@mui/material/styles";
|
|
3
|
+
/**
|
|
4
|
+
* Field — Portnet UI v2
|
|
5
|
+
*
|
|
6
|
+
* Charter §03 · Component "Input · Field".
|
|
7
|
+
* Universal wrapper providing label / required marker / hint / error / a11y bindings
|
|
8
|
+
* for any form control (Input, Select, Textarea, Autocomplete, Combobox, …).
|
|
9
|
+
*
|
|
10
|
+
* Strict rules enforced:
|
|
11
|
+
* R-I.1 — Label is associated to the control via `htmlFor` / `id`.
|
|
12
|
+
* R-I.2 — Required adds the asterisk + `aria-required`.
|
|
13
|
+
* R-I.3 — Error: `aria-invalid` + `aria-describedby` linking the message.
|
|
14
|
+
* Field MERGES with the child's existing `aria-describedby` so a
|
|
15
|
+
* consumer-supplied external help id is never lost.
|
|
16
|
+
* R-I.4 — Validation in `blur`, not `change` (caller's responsibility).
|
|
17
|
+
* R-I.6 — Hint visible above error; never both at once.
|
|
18
|
+
*
|
|
19
|
+
* <Field label="Référence" required hint="Format AAAA-IM-NNNNN" error={errors.ref}>
|
|
20
|
+
* <Input value={value} onChange={onChange} />
|
|
21
|
+
* </Field>
|
|
22
|
+
*
|
|
23
|
+
* Grouping controls (RadioGroup / CheckboxGroup) — pass `group`:
|
|
24
|
+
* A native `<label htmlFor>` cannot name an ARIA group (only labelable
|
|
25
|
+
* elements can be `for`-targeted), so in `group` mode the label is rendered
|
|
26
|
+
* as a <span> with an id and the child group is associated via
|
|
27
|
+
* `aria-labelledby` instead. The child must forward `aria-labelledby`
|
|
28
|
+
* (and `aria-describedby`) onto its `role="group"`/`"radiogroup"` element.
|
|
29
|
+
*
|
|
30
|
+
* <Field label="Genre" group error={errors.genre}>
|
|
31
|
+
* <RadioGroup … />
|
|
32
|
+
* </Field>
|
|
33
|
+
*/
|
|
34
|
+
export interface FieldProps {
|
|
35
|
+
label?: React.ReactNode;
|
|
36
|
+
required?: boolean;
|
|
37
|
+
hint?: React.ReactNode;
|
|
38
|
+
error?: React.ReactNode;
|
|
39
|
+
htmlFor?: string;
|
|
40
|
+
fullWidth?: boolean;
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* The wrapped child is an ARIA group (RadioGroup / CheckboxGroup) rather than
|
|
44
|
+
* a single labelable control. Associates the label via `aria-labelledby`
|
|
45
|
+
* instead of `htmlFor` / `id`.
|
|
46
|
+
*/
|
|
47
|
+
group?: boolean;
|
|
48
|
+
/** Optional <FieldHelp> element rendered next to the label. */
|
|
49
|
+
helpAdornment?: React.ReactNode;
|
|
50
|
+
/** The single form-control element to wrap. */
|
|
51
|
+
children: React.ReactElement;
|
|
52
|
+
sx?: SxProps<Theme>;
|
|
53
|
+
className?: string;
|
|
54
|
+
}
|
|
55
|
+
declare function Field({ label, required, hint, error, htmlFor, fullWidth, disabled, group, children, helpAdornment, // optional <FieldHelp> element
|
|
56
|
+
sx, className, }: FieldProps): React.JSX.Element;
|
|
57
|
+
export default Field;
|
|
58
|
+
//# sourceMappingURL=Field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,KAAK,CAAC,EACb,KAAK,EACL,QAAgB,EAChB,IAAI,EACJ,KAAK,EACL,OAAO,EACP,SAAgB,EAChB,QAAQ,EACR,KAAa,EACb,QAAQ,EACR,aAAa,EAAE,+BAA+B;AAC9C,EAAE,EACF,SAAS,GACV,EAAE,UAAU,qBA8IZ;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,186 @@
|
|
|
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 _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
|
|
9
|
+
var _FormLabel = _interopRequireDefault(require("@mui/material/FormLabel"));
|
|
10
|
+
var _FormHelperText = _interopRequireDefault(require("@mui/material/FormHelperText"));
|
|
11
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
+
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); }
|
|
15
|
+
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; }
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
19
|
+
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; }
|
|
20
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
21
|
+
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); } /**
|
|
22
|
+
* Field — Portnet UI v2
|
|
23
|
+
*
|
|
24
|
+
* Charter §03 · Component "Input · Field".
|
|
25
|
+
* Universal wrapper providing label / required marker / hint / error / a11y bindings
|
|
26
|
+
* for any form control (Input, Select, Textarea, Autocomplete, Combobox, …).
|
|
27
|
+
*
|
|
28
|
+
* Strict rules enforced:
|
|
29
|
+
* R-I.1 — Label is associated to the control via `htmlFor` / `id`.
|
|
30
|
+
* R-I.2 — Required adds the asterisk + `aria-required`.
|
|
31
|
+
* R-I.3 — Error: `aria-invalid` + `aria-describedby` linking the message.
|
|
32
|
+
* Field MERGES with the child's existing `aria-describedby` so a
|
|
33
|
+
* consumer-supplied external help id is never lost.
|
|
34
|
+
* R-I.4 — Validation in `blur`, not `change` (caller's responsibility).
|
|
35
|
+
* R-I.6 — Hint visible above error; never both at once.
|
|
36
|
+
*
|
|
37
|
+
* <Field label="Référence" required hint="Format AAAA-IM-NNNNN" error={errors.ref}>
|
|
38
|
+
* <Input value={value} onChange={onChange} />
|
|
39
|
+
* </Field>
|
|
40
|
+
*
|
|
41
|
+
* Grouping controls (RadioGroup / CheckboxGroup) — pass `group`:
|
|
42
|
+
* A native `<label htmlFor>` cannot name an ARIA group (only labelable
|
|
43
|
+
* elements can be `for`-targeted), so in `group` mode the label is rendered
|
|
44
|
+
* as a <span> with an id and the child group is associated via
|
|
45
|
+
* `aria-labelledby` instead. The child must forward `aria-labelledby`
|
|
46
|
+
* (and `aria-describedby`) onto its `role="group"`/`"radiogroup"` element.
|
|
47
|
+
*
|
|
48
|
+
* <Field label="Genre" group error={errors.genre}>
|
|
49
|
+
* <RadioGroup … />
|
|
50
|
+
* </Field>
|
|
51
|
+
*/
|
|
52
|
+
function Field(_ref) {
|
|
53
|
+
var label = _ref.label,
|
|
54
|
+
_ref$required = _ref.required,
|
|
55
|
+
required = _ref$required === void 0 ? false : _ref$required,
|
|
56
|
+
hint = _ref.hint,
|
|
57
|
+
error = _ref.error,
|
|
58
|
+
htmlFor = _ref.htmlFor,
|
|
59
|
+
_ref$fullWidth = _ref.fullWidth,
|
|
60
|
+
fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
|
|
61
|
+
disabled = _ref.disabled,
|
|
62
|
+
_ref$group = _ref.group,
|
|
63
|
+
group = _ref$group === void 0 ? false : _ref$group,
|
|
64
|
+
children = _ref.children,
|
|
65
|
+
helpAdornment = _ref.helpAdornment,
|
|
66
|
+
sx = _ref.sx,
|
|
67
|
+
className = _ref.className;
|
|
68
|
+
// R-I.1 — useId provides SSR-safe, per-instance, stable IDs.
|
|
69
|
+
// Replaces the previous module-scoped counter (`let __uid = 0`) which broke
|
|
70
|
+
// hydration and Concurrent Mode.
|
|
71
|
+
var reactId = React.useId();
|
|
72
|
+
var auto = "pui-".concat(reactId.replace(/:/g, ""));
|
|
73
|
+
var inputId = htmlFor || auto;
|
|
74
|
+
var hintId = "".concat(inputId, "-h");
|
|
75
|
+
var errorId = "".concat(inputId, "-e");
|
|
76
|
+
var labelId = "".concat(inputId, "-l");
|
|
77
|
+
var hasError = !!error;
|
|
78
|
+
var child = React.Children.only(children);
|
|
79
|
+
// The wrapped control is polymorphic (Input/Select/NumberInput/Combobox/…);
|
|
80
|
+
// type only the props Field reads/merges, replacing React's `props: any`.
|
|
81
|
+
var childProps = child.props;
|
|
82
|
+
|
|
83
|
+
// R-I.3 — MERGE the child's existing aria-describedby with our hint/error
|
|
84
|
+
// ids. cloneElement replaces props, so without an explicit merge any
|
|
85
|
+
// consumer-supplied describedby was silently discarded.
|
|
86
|
+
var describedBy = [childProps["aria-describedby"], hint && !hasError ? hintId : null, hasError ? errorId : null].filter(Boolean).join(" ") || undefined;
|
|
87
|
+
|
|
88
|
+
// CC-6 — in group mode the label names the group via aria-labelledby.
|
|
89
|
+
// Merge with any consumer-supplied labelledby so it is never lost.
|
|
90
|
+
var labelledBy = group ? [childProps["aria-labelledby"], label ? labelId : null].filter(Boolean).join(" ") || undefined : undefined;
|
|
91
|
+
var enhanced = /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({
|
|
92
|
+
id: childProps.id || inputId,
|
|
93
|
+
"aria-invalid": hasError ? "true" : undefined,
|
|
94
|
+
"aria-required": required ? "true" : undefined,
|
|
95
|
+
"aria-describedby": describedBy
|
|
96
|
+
}, group ? {
|
|
97
|
+
"aria-labelledby": labelledBy
|
|
98
|
+
} : {}), {}, {
|
|
99
|
+
// `error` / `disabled` are broadcast by FormControl via context for MUI
|
|
100
|
+
// inputs, but several v2 inputs (NumberInput, Combobox renderInput) are
|
|
101
|
+
// not pure MUI children and read the props directly — keep them explicit.
|
|
102
|
+
error: hasError,
|
|
103
|
+
disabled: disabled || childProps.disabled,
|
|
104
|
+
// Respect the child's explicit fullWidth when defined (e.g. a narrow
|
|
105
|
+
// inline filter input). Only fall back to Field's value when the child
|
|
106
|
+
// hasn't expressed an opinion.
|
|
107
|
+
fullWidth: childProps.fullWidth !== undefined ? childProps.fullWidth : fullWidth
|
|
108
|
+
}));
|
|
109
|
+
|
|
110
|
+
// R-I.6 — RTL-safe margin reset. `marginLeft: 0` only zeroes the LTR
|
|
111
|
+
// inline-start; in [dir="rtl"] the helper picks up MUI's default on
|
|
112
|
+
// the (now physical-right but logical-start) side and is mis-aligned.
|
|
113
|
+
// `marginInlineStart` resets the correct edge in both directions.
|
|
114
|
+
var helperResetSx = {
|
|
115
|
+
marginInlineStart: 0,
|
|
116
|
+
fontSize: "var(--text-xs)"
|
|
117
|
+
};
|
|
118
|
+
var LABEL_SX = {
|
|
119
|
+
display: "flex",
|
|
120
|
+
alignItems: "center",
|
|
121
|
+
gap: "var(--s-1)",
|
|
122
|
+
fontSize: "var(--text-xs, 12px)",
|
|
123
|
+
fontWeight: "var(--fw-semibold, 600)",
|
|
124
|
+
color: "var(--fg-muted)",
|
|
125
|
+
marginBottom: "var(--s-2)",
|
|
126
|
+
"&.Mui-focused": {
|
|
127
|
+
color: "var(--fg-muted)"
|
|
128
|
+
},
|
|
129
|
+
"&.Mui-error": {
|
|
130
|
+
color: "var(--fg-muted)"
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// Shared label content (text + required marker + optional help adornment).
|
|
135
|
+
var labelContent = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
136
|
+
children: [label, required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
137
|
+
component: "span",
|
|
138
|
+
"aria-hidden": "true",
|
|
139
|
+
sx: {
|
|
140
|
+
color: "var(--danger)",
|
|
141
|
+
fontWeight: "var(--fw-bold, 700)"
|
|
142
|
+
},
|
|
143
|
+
children: "*"
|
|
144
|
+
}), helpAdornment]
|
|
145
|
+
});
|
|
146
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_FormControl["default"], {
|
|
147
|
+
error: hasError,
|
|
148
|
+
required: required,
|
|
149
|
+
disabled: disabled,
|
|
150
|
+
fullWidth: fullWidth,
|
|
151
|
+
className: className,
|
|
152
|
+
sx: sx,
|
|
153
|
+
children: [label && (group ?
|
|
154
|
+
/*#__PURE__*/
|
|
155
|
+
// Group mode: render as a <span> carrying an id (no <label for>),
|
|
156
|
+
// referenced by the group's aria-labelledby.
|
|
157
|
+
(0, _jsxRuntime.jsx)(_FormLabel["default"], {
|
|
158
|
+
component: "span",
|
|
159
|
+
id: labelId,
|
|
160
|
+
required: false,
|
|
161
|
+
sx: LABEL_SX,
|
|
162
|
+
children: labelContent
|
|
163
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormLabel["default"], {
|
|
164
|
+
htmlFor: inputId,
|
|
165
|
+
required: false /* we render the * ourselves */,
|
|
166
|
+
sx: LABEL_SX,
|
|
167
|
+
children: labelContent
|
|
168
|
+
})), enhanced, hint && !hasError && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormHelperText["default"], {
|
|
169
|
+
id: hintId,
|
|
170
|
+
sx: _objectSpread(_objectSpread({}, helperResetSx), {}, {
|
|
171
|
+
color: "var(--fg-subtle)"
|
|
172
|
+
}),
|
|
173
|
+
children: hint
|
|
174
|
+
}), hasError && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormHelperText["default"], {
|
|
175
|
+
id: errorId,
|
|
176
|
+
role: "alert",
|
|
177
|
+
sx: _objectSpread(_objectSpread({}, helperResetSx), {}, {
|
|
178
|
+
color: "var(--danger) !important",
|
|
179
|
+
fontWeight: "var(--fw-medium)"
|
|
180
|
+
}),
|
|
181
|
+
children: error
|
|
182
|
+
})]
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
var _default = exports["default"] = Field;
|
|
186
|
+
//# sourceMappingURL=Field.js.map
|