@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,49 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Banner - Portnet UI v2
|
|
4
|
+
*
|
|
5
|
+
* Charter §03 · Component "Banner". For persistent system-wide messages
|
|
6
|
+
* (network error, maintenance, banner alerts on top of a section).
|
|
7
|
+
*
|
|
8
|
+
* R-A.2 - Erreur bloquante = role="alert" aria-live="assertive".
|
|
9
|
+
* R-F.1 - Focus visible required on the action button.
|
|
10
|
+
*
|
|
11
|
+
* <Banner variant="error" action={{ label: "Réessayer", onClick: retry }}>
|
|
12
|
+
* Connexion perdue.
|
|
13
|
+
* </Banner>
|
|
14
|
+
*
|
|
15
|
+
* Localisation (FR / EN / AR):
|
|
16
|
+
* - `action.label` is consumer-controlled.
|
|
17
|
+
* - `closeLabel` overrides the dismiss button's aria-label
|
|
18
|
+
* (default "Fermer").
|
|
19
|
+
*
|
|
20
|
+
* A11y note (WCAG 1.4.3):
|
|
21
|
+
* Each variant carries TWO colours - a saturated one for icons + border
|
|
22
|
+
* (passes 1.4.11 ≥ 3:1) and a darker -fg one for text (passes 1.4.3
|
|
23
|
+
* ≥ 4.5:1) on the soft background. Don't collapse them.
|
|
24
|
+
*
|
|
25
|
+
* A11y note (live regions, R-A.1 / R-A.2):
|
|
26
|
+
* aria-relevant="additions text" is set explicitly. Per WAI-ARIA both
|
|
27
|
+
* role="alert" and role="status" imply this default, but real-world
|
|
28
|
+
* SR + browser combos (NVDA + Firefox especially) have shipped
|
|
29
|
+
* announcement-skipping bugs in the absence of an explicit attribute.
|
|
30
|
+
* Defense-in-depth.
|
|
31
|
+
*/
|
|
32
|
+
export type BannerVariant = "info" | "success" | "warning" | "error";
|
|
33
|
+
export interface BannerAction {
|
|
34
|
+
label: React.ReactNode;
|
|
35
|
+
onClick?: () => void;
|
|
36
|
+
}
|
|
37
|
+
export interface BannerProps {
|
|
38
|
+
variant?: BannerVariant;
|
|
39
|
+
children: React.ReactNode;
|
|
40
|
+
title?: React.ReactNode;
|
|
41
|
+
action?: BannerAction;
|
|
42
|
+
onClose?: () => void;
|
|
43
|
+
closeLabel?: string;
|
|
44
|
+
}
|
|
45
|
+
declare function Banner({ variant, children, title, action, // { label, onClick }
|
|
46
|
+
onClose, // optional dismissal
|
|
47
|
+
closeLabel, }: BannerProps): React.JSX.Element;
|
|
48
|
+
export default Banner;
|
|
49
|
+
//# sourceMappingURL=Banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAgBrE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,iBAAS,MAAM,CAAC,EACd,OAAgB,EAChB,QAAQ,EACR,KAAK,EACL,MAAM,EAAS,qBAAqB;AACpC,OAAO,EAAQ,qBAAqB;AACpC,UAAqB,GACtB,EAAE,WAAW,qBAuFb;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
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 _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
11
|
+
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
12
|
+
var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
|
|
13
|
+
var _ErrorOutlined = _interopRequireDefault(require("@mui/icons-material/ErrorOutlined"));
|
|
14
|
+
var _WarningAmberOutlined = _interopRequireDefault(require("@mui/icons-material/WarningAmberOutlined"));
|
|
15
|
+
var _InfoOutlined = _interopRequireDefault(require("@mui/icons-material/InfoOutlined"));
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
18
|
+
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); }
|
|
19
|
+
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; }
|
|
20
|
+
/**
|
|
21
|
+
* Banner - Portnet UI v2
|
|
22
|
+
*
|
|
23
|
+
* Charter §03 · Component "Banner". For persistent system-wide messages
|
|
24
|
+
* (network error, maintenance, banner alerts on top of a section).
|
|
25
|
+
*
|
|
26
|
+
* R-A.2 - Erreur bloquante = role="alert" aria-live="assertive".
|
|
27
|
+
* R-F.1 - Focus visible required on the action button.
|
|
28
|
+
*
|
|
29
|
+
* <Banner variant="error" action={{ label: "Réessayer", onClick: retry }}>
|
|
30
|
+
* Connexion perdue.
|
|
31
|
+
* </Banner>
|
|
32
|
+
*
|
|
33
|
+
* Localisation (FR / EN / AR):
|
|
34
|
+
* - `action.label` is consumer-controlled.
|
|
35
|
+
* - `closeLabel` overrides the dismiss button's aria-label
|
|
36
|
+
* (default "Fermer").
|
|
37
|
+
*
|
|
38
|
+
* A11y note (WCAG 1.4.3):
|
|
39
|
+
* Each variant carries TWO colours - a saturated one for icons + border
|
|
40
|
+
* (passes 1.4.11 ≥ 3:1) and a darker -fg one for text (passes 1.4.3
|
|
41
|
+
* ≥ 4.5:1) on the soft background. Don't collapse them.
|
|
42
|
+
*
|
|
43
|
+
* A11y note (live regions, R-A.1 / R-A.2):
|
|
44
|
+
* aria-relevant="additions text" is set explicitly. Per WAI-ARIA both
|
|
45
|
+
* role="alert" and role="status" imply this default, but real-world
|
|
46
|
+
* SR + browser combos (NVDA + Firefox especially) have shipped
|
|
47
|
+
* announcement-skipping bugs in the absence of an explicit attribute.
|
|
48
|
+
* Defense-in-depth.
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
var VARIANT = {
|
|
52
|
+
info: {
|
|
53
|
+
bg: "var(--info-soft)",
|
|
54
|
+
fg: "var(--info)",
|
|
55
|
+
text: "var(--info-fg)",
|
|
56
|
+
icon: _InfoOutlined["default"]
|
|
57
|
+
},
|
|
58
|
+
success: {
|
|
59
|
+
bg: "var(--success-soft)",
|
|
60
|
+
fg: "var(--success)",
|
|
61
|
+
text: "var(--success-fg)",
|
|
62
|
+
icon: _Check["default"]
|
|
63
|
+
},
|
|
64
|
+
warning: {
|
|
65
|
+
bg: "var(--warning-soft)",
|
|
66
|
+
fg: "var(--warning)",
|
|
67
|
+
text: "var(--warning-fg)",
|
|
68
|
+
icon: _WarningAmberOutlined["default"]
|
|
69
|
+
},
|
|
70
|
+
error: {
|
|
71
|
+
bg: "var(--danger-soft)",
|
|
72
|
+
fg: "var(--danger)",
|
|
73
|
+
text: "var(--danger-fg)",
|
|
74
|
+
icon: _ErrorOutlined["default"]
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
function Banner(_ref) {
|
|
78
|
+
var _ref$variant = _ref.variant,
|
|
79
|
+
variant = _ref$variant === void 0 ? "info" : _ref$variant,
|
|
80
|
+
children = _ref.children,
|
|
81
|
+
title = _ref.title,
|
|
82
|
+
action = _ref.action,
|
|
83
|
+
onClose = _ref.onClose,
|
|
84
|
+
_ref$closeLabel = _ref.closeLabel,
|
|
85
|
+
closeLabel = _ref$closeLabel === void 0 ? "Fermer" : _ref$closeLabel;
|
|
86
|
+
var cfg = VARIANT[variant] || VARIANT.info;
|
|
87
|
+
var Icon = cfg.icon;
|
|
88
|
+
var isErr = variant === "error";
|
|
89
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
|
|
90
|
+
role: isErr ? "alert" : "status",
|
|
91
|
+
"aria-live": isErr ? "assertive" : "polite",
|
|
92
|
+
"aria-relevant": "additions text",
|
|
93
|
+
sx: {
|
|
94
|
+
display: "flex",
|
|
95
|
+
alignItems: "flex-start",
|
|
96
|
+
gap: "var(--s-3)",
|
|
97
|
+
padding: "var(--s-3) var(--s-4)",
|
|
98
|
+
borderRadius: "var(--r-md)",
|
|
99
|
+
background: cfg.bg,
|
|
100
|
+
// Body text inherits this colour - keep at standard --fg for
|
|
101
|
+
// maximum legibility (the soft bg is light, --fg is the darkest).
|
|
102
|
+
color: "var(--fg)",
|
|
103
|
+
// Border on the saturated variant colour - meets 1.4.11.
|
|
104
|
+
border: "1px solid ".concat(cfg.fg),
|
|
105
|
+
fontSize: "var(--text-sm)"
|
|
106
|
+
},
|
|
107
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
|
108
|
+
fontSize: "small",
|
|
109
|
+
"aria-hidden": "true"
|
|
110
|
+
// Icon stays on cfg.fg - passes 1.4.11 (≥ 3:1) for non-text UI.
|
|
111
|
+
,
|
|
112
|
+
sx: {
|
|
113
|
+
color: cfg.fg
|
|
114
|
+
}
|
|
115
|
+
// Optical alignment of the icon with the first text line -
|
|
116
|
+
// deliberate non-token value (not a spacing token concern).
|
|
117
|
+
,
|
|
118
|
+
style: {
|
|
119
|
+
marginTop: 2,
|
|
120
|
+
flexShrink: 0
|
|
121
|
+
}
|
|
122
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
|
|
123
|
+
sx: {
|
|
124
|
+
flex: 1
|
|
125
|
+
},
|
|
126
|
+
children: [title &&
|
|
127
|
+
/*#__PURE__*/
|
|
128
|
+
// Title uses cfg.text - passes 1.4.3 (≥ 4.5:1) on cfg.bg.
|
|
129
|
+
(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
130
|
+
sx: {
|
|
131
|
+
fontWeight: "var(--fw-semibold)",
|
|
132
|
+
marginBottom: "var(--s-1)",
|
|
133
|
+
color: cfg.text
|
|
134
|
+
},
|
|
135
|
+
children: title
|
|
136
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
137
|
+
children: children
|
|
138
|
+
})]
|
|
139
|
+
}), action && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
140
|
+
component: "button",
|
|
141
|
+
type: "button",
|
|
142
|
+
onClick: action.onClick,
|
|
143
|
+
sx: {
|
|
144
|
+
background: "transparent",
|
|
145
|
+
// Border + text both on cfg.text so the button label is
|
|
146
|
+
// legible (1.4.3) AND the border is visible (1.4.11).
|
|
147
|
+
border: "1px solid ".concat(cfg.text),
|
|
148
|
+
color: cfg.text,
|
|
149
|
+
padding: "var(--s-1) var(--s-3)",
|
|
150
|
+
borderRadius: "var(--r-sm)",
|
|
151
|
+
fontSize: "var(--text-xs)",
|
|
152
|
+
fontWeight: "var(--fw-semibold)",
|
|
153
|
+
cursor: "pointer",
|
|
154
|
+
fontFamily: "inherit",
|
|
155
|
+
transition: "background var(--duration-fast) ease",
|
|
156
|
+
"&:hover": {
|
|
157
|
+
background: "color-mix(in srgb, currentColor 10%, transparent)"
|
|
158
|
+
},
|
|
159
|
+
// R-F.1 - focus-visible required, charter §05.
|
|
160
|
+
"&:focus-visible": {
|
|
161
|
+
outline: "2px solid currentColor",
|
|
162
|
+
outlineOffset: "var(--pui-outline-offset)"
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
children: action.label
|
|
166
|
+
}), onClose && /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
|
|
167
|
+
"aria-label": closeLabel,
|
|
168
|
+
size: "small",
|
|
169
|
+
onClick: onClose
|
|
170
|
+
// Close icon is non-text UI - cfg.fg is fine (1.4.11).
|
|
171
|
+
,
|
|
172
|
+
sx: {
|
|
173
|
+
color: cfg.fg,
|
|
174
|
+
marginRight: "calc(-1 * var(--s-1))"
|
|
175
|
+
},
|
|
176
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close["default"], {
|
|
177
|
+
fontSize: "small"
|
|
178
|
+
})
|
|
179
|
+
})]
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
var _default = exports["default"] = Banner;
|
|
183
|
+
//# sourceMappingURL=Banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Banner.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_Close","_Check","_ErrorOutlined","_WarningAmberOutlined","_InfoOutlined","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","VARIANT","info","bg","fg","text","icon","InfoIcon","success","CheckIcon","warning","WarningIcon","error","ErrorIcon","Banner","_ref","_ref$variant","variant","children","title","action","onClose","_ref$closeLabel","closeLabel","cfg","Icon","isErr","jsxs","role","sx","display","alignItems","gap","padding","borderRadius","background","color","border","concat","fontSize","jsx","style","marginTop","flexShrink","flex","fontWeight","marginBottom","component","type","onClick","cursor","fontFamily","transition","outline","outlineOffset","label","size","marginRight","_default","exports"],"sources":["../../../src/lib/v2/components/Banner.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport type { SvgIconComponent } from \"@mui/icons-material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport CheckIcon from \"@mui/icons-material/Check\";\r\nimport ErrorIcon from \"@mui/icons-material/ErrorOutlined\";\r\nimport WarningIcon from \"@mui/icons-material/WarningAmberOutlined\";\r\nimport InfoIcon from \"@mui/icons-material/InfoOutlined\";\r\n\r\n/**\r\n * Banner - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Banner\". For persistent system-wide messages\r\n * (network error, maintenance, banner alerts on top of a section).\r\n *\r\n * R-A.2 - Erreur bloquante = role=\"alert\" aria-live=\"assertive\".\r\n * R-F.1 - Focus visible required on the action button.\r\n *\r\n * <Banner variant=\"error\" action={{ label: \"Réessayer\", onClick: retry }}>\r\n * Connexion perdue.\r\n * </Banner>\r\n *\r\n * Localisation (FR / EN / AR):\r\n * - `action.label` is consumer-controlled.\r\n * - `closeLabel` overrides the dismiss button's aria-label\r\n * (default \"Fermer\").\r\n *\r\n * A11y note (WCAG 1.4.3):\r\n * Each variant carries TWO colours - a saturated one for icons + border\r\n * (passes 1.4.11 ≥ 3:1) and a darker -fg one for text (passes 1.4.3\r\n * ≥ 4.5:1) on the soft background. Don't collapse them.\r\n *\r\n * A11y note (live regions, R-A.1 / R-A.2):\r\n * aria-relevant=\"additions text\" is set explicitly. Per WAI-ARIA both\r\n * role=\"alert\" and role=\"status\" imply this default, but real-world\r\n * SR + browser combos (NVDA + Firefox especially) have shipped\r\n * announcement-skipping bugs in the absence of an explicit attribute.\r\n * Defense-in-depth.\r\n */\r\n\r\nexport type BannerVariant = \"info\" | \"success\" | \"warning\" | \"error\";\r\n\r\ninterface BannerVariantConfig {\r\n bg: string;\r\n fg: string;\r\n text: string;\r\n icon: SvgIconComponent;\r\n}\r\n\r\nconst VARIANT: Record<BannerVariant, BannerVariantConfig> = {\r\n info: { bg: \"var(--info-soft)\", fg: \"var(--info)\", text: \"var(--info-fg)\", icon: InfoIcon },\r\n success: { bg: \"var(--success-soft)\", fg: \"var(--success)\", text: \"var(--success-fg)\", icon: CheckIcon },\r\n warning: { bg: \"var(--warning-soft)\", fg: \"var(--warning)\", text: \"var(--warning-fg)\", icon: WarningIcon },\r\n error: { bg: \"var(--danger-soft)\", fg: \"var(--danger)\", text: \"var(--danger-fg)\", icon: ErrorIcon },\r\n};\r\n\r\nexport interface BannerAction {\r\n label: React.ReactNode;\r\n onClick?: () => void;\r\n}\r\n\r\nexport interface BannerProps {\r\n variant?: BannerVariant;\r\n children: React.ReactNode;\r\n title?: React.ReactNode;\r\n action?: BannerAction;\r\n onClose?: () => void;\r\n closeLabel?: string;\r\n}\r\n\r\nfunction Banner({\r\n variant = \"info\",\r\n children,\r\n title,\r\n action, // { label, onClick }\r\n onClose, // optional dismissal\r\n closeLabel = \"Fermer\",\r\n}: BannerProps) {\r\n const cfg = VARIANT[variant] || VARIANT.info;\r\n const Icon = cfg.icon;\r\n const isErr = variant === \"error\";\r\n\r\n return (\r\n <Box\r\n role={isErr ? \"alert\" : \"status\"}\r\n aria-live={isErr ? \"assertive\" : \"polite\"}\r\n aria-relevant=\"additions text\"\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"flex-start\",\r\n gap: \"var(--s-3)\",\r\n padding: \"var(--s-3) var(--s-4)\",\r\n borderRadius: \"var(--r-md)\",\r\n background: cfg.bg,\r\n // Body text inherits this colour - keep at standard --fg for\r\n // maximum legibility (the soft bg is light, --fg is the darkest).\r\n color: \"var(--fg)\",\r\n // Border on the saturated variant colour - meets 1.4.11.\r\n border: `1px solid ${cfg.fg}`,\r\n fontSize: \"var(--text-sm)\",\r\n }}\r\n >\r\n <Icon\r\n fontSize=\"small\"\r\n aria-hidden=\"true\"\r\n // Icon stays on cfg.fg - passes 1.4.11 (≥ 3:1) for non-text UI.\r\n sx={{ color: cfg.fg }}\r\n // Optical alignment of the icon with the first text line -\r\n // deliberate non-token value (not a spacing token concern).\r\n style={{ marginTop: 2, flexShrink: 0 }}\r\n />\r\n <Box sx={{ flex: 1 }}>\r\n {title && (\r\n // Title uses cfg.text - passes 1.4.3 (≥ 4.5:1) on cfg.bg.\r\n <Box sx={{ fontWeight: \"var(--fw-semibold)\", marginBottom: \"var(--s-1)\", color: cfg.text }}>\r\n {title}\r\n </Box>\r\n )}\r\n <Box>{children}</Box>\r\n </Box>\r\n {action && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={action.onClick}\r\n sx={{\r\n background: \"transparent\",\r\n // Border + text both on cfg.text so the button label is\r\n // legible (1.4.3) AND the border is visible (1.4.11).\r\n border: `1px solid ${cfg.text}`,\r\n color: cfg.text,\r\n padding: \"var(--s-1) var(--s-3)\",\r\n borderRadius: \"var(--r-sm)\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n cursor: \"pointer\",\r\n fontFamily: \"inherit\",\r\n transition: \"background var(--duration-fast) ease\",\r\n \"&:hover\": {\r\n background: \"color-mix(in srgb, currentColor 10%, transparent)\",\r\n },\r\n // R-F.1 - focus-visible required, charter §05.\r\n \"&:focus-visible\": {\r\n outline: \"2px solid currentColor\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n }}\r\n >\r\n {action.label}\r\n </Box>\r\n )}\r\n {onClose && (\r\n <IconButton\r\n aria-label={closeLabel}\r\n size=\"small\"\r\n onClick={onClose}\r\n // Close icon is non-text UI - cfg.fg is fine (1.4.11).\r\n sx={{ color: cfg.fg, marginRight: \"calc(-1 * var(--s-1))\" }}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default Banner;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface SectionBusyProps {
|
|
2
|
+
/** SR announcement; appears as aria-label on the inner SVG. */
|
|
3
|
+
label?: string;
|
|
4
|
+
/**
|
|
5
|
+
* If false, the overlay backdrop is transparent (still blocks
|
|
6
|
+
* clicks, still announces busy). Use when the section already
|
|
7
|
+
* has a subtle bg and you don't want a double scrim.
|
|
8
|
+
*/
|
|
9
|
+
surface?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function SectionBusy({ label, surface }: SectionBusyProps): import("react").JSX.Element;
|
|
12
|
+
export interface PageBusyProps {
|
|
13
|
+
/** SR announcement; appears as aria-label on the inner SVG. */
|
|
14
|
+
label?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function PageBusy({ label }: PageBusyProps): import("react").JSX.Element;
|
|
17
|
+
export default SectionBusy;
|
|
18
|
+
//# sourceMappingURL=Busy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Busy.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Busy.tsx"],"names":[],"mappings":"AAmDA,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAA6B,EAAE,OAAc,EAAE,EAAE,gBAAgB,+BAoB9F;AAED,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAA6B,EAAE,EAAE,aAAa,+BAgBxE;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PageBusy = PageBusy;
|
|
7
|
+
exports.SectionBusy = SectionBusy;
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
10
|
+
var _Spinner = _interopRequireDefault(require("./Spinner"));
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
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); }
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
18
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /**
|
|
19
|
+
* Busy — Portnet UI v2
|
|
20
|
+
*
|
|
21
|
+
* Charter §04.4 · canonical loading-overlay primitive. Replaces the
|
|
22
|
+
* inline PAGE_OVERLAY_SX block that host modules previously froze
|
|
23
|
+
* in 15+ feature pages (cf. ms-ti-fe VALIDATION_REPORT §6 — uplift
|
|
24
|
+
* pattern catalogued under "Spinner overlay block").
|
|
25
|
+
*
|
|
26
|
+
* Two variants:
|
|
27
|
+
*
|
|
28
|
+
* <SectionBusy />
|
|
29
|
+
* covers the nearest positioned ancestor (parent must have
|
|
30
|
+
* `position: relative`). Use when a section/card is waiting on
|
|
31
|
+
* data but the rest of the page is still usable.
|
|
32
|
+
*
|
|
33
|
+
* <PageBusy />
|
|
34
|
+
* fixed full-viewport variant. Use when the whole page is
|
|
35
|
+
* blocked (e.g. initial fetch, submit-in-flight on a wizard).
|
|
36
|
+
*
|
|
37
|
+
* Both expose role="status" + aria-live="polite" + aria-busy="true"
|
|
38
|
+
* so screen-reader users hear the loading state, and they forward
|
|
39
|
+
* the `label` prop to the inner Spinner — that text is announced
|
|
40
|
+
* via aria-label on the SVG (R-Ar.1).
|
|
41
|
+
*
|
|
42
|
+
* Reduced-motion: the Spinner's CSS animation is suppressed under
|
|
43
|
+
* `prefers-reduced-motion: reduce` (handled in pui-spinner base
|
|
44
|
+
* stylesheet — no per-component duplication).
|
|
45
|
+
*
|
|
46
|
+
* Usage:
|
|
47
|
+
*
|
|
48
|
+
* // Section-level (parent has position: relative):
|
|
49
|
+
* <Box sx={{ position: "relative" }}>
|
|
50
|
+
* <ContentThatCanLoad />
|
|
51
|
+
* {isLoading && <SectionBusy label="Chargement des marchandises" />}
|
|
52
|
+
* </Box>
|
|
53
|
+
*
|
|
54
|
+
* // Full-page (e.g. wizard during create+navigate):
|
|
55
|
+
* {isPageLoading && <PageBusy label="Création en cours" />}
|
|
56
|
+
*/
|
|
57
|
+
var SHARED_OVERLAY_SX = Object.freeze({
|
|
58
|
+
display: "grid",
|
|
59
|
+
placeItems: "center",
|
|
60
|
+
background: "color-mix(in srgb, var(--bg) 70%, transparent)",
|
|
61
|
+
pointerEvents: "auto"
|
|
62
|
+
});
|
|
63
|
+
function SectionBusy(_ref) {
|
|
64
|
+
var _ref$label = _ref.label,
|
|
65
|
+
label = _ref$label === void 0 ? "Chargement en cours" : _ref$label,
|
|
66
|
+
_ref$surface = _ref.surface,
|
|
67
|
+
surface = _ref$surface === void 0 ? true : _ref$surface;
|
|
68
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
69
|
+
role: "status",
|
|
70
|
+
"aria-live": "polite",
|
|
71
|
+
"aria-busy": "true",
|
|
72
|
+
sx: _objectSpread(_objectSpread({}, SHARED_OVERLAY_SX), {}, {
|
|
73
|
+
position: "absolute",
|
|
74
|
+
inset: 0,
|
|
75
|
+
background: surface ? SHARED_OVERLAY_SX.background : "transparent",
|
|
76
|
+
borderRadius: "var(--r-lg)",
|
|
77
|
+
zIndex: 1
|
|
78
|
+
}),
|
|
79
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {
|
|
80
|
+
size: 20,
|
|
81
|
+
label: label
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function PageBusy(_ref2) {
|
|
86
|
+
var _ref2$label = _ref2.label,
|
|
87
|
+
label = _ref2$label === void 0 ? "Chargement en cours" : _ref2$label;
|
|
88
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
89
|
+
role: "status",
|
|
90
|
+
"aria-live": "polite",
|
|
91
|
+
"aria-busy": "true",
|
|
92
|
+
sx: _objectSpread(_objectSpread({}, SHARED_OVERLAY_SX), {}, {
|
|
93
|
+
position: "fixed",
|
|
94
|
+
inset: 0,
|
|
95
|
+
zIndex: "var(--z-modal, 9999)"
|
|
96
|
+
}),
|
|
97
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {
|
|
98
|
+
size: 28,
|
|
99
|
+
label: label
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
var _default = exports["default"] = SectionBusy;
|
|
104
|
+
//# sourceMappingURL=Busy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Busy.js","names":["_Box","_interopRequireDefault","require","_Spinner","_jsxRuntime","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","SHARED_OVERLAY_SX","freeze","display","placeItems","background","pointerEvents","SectionBusy","_ref","_ref$label","label","_ref$surface","surface","jsx","role","sx","position","inset","borderRadius","zIndex","children","size","PageBusy","_ref2","_ref2$label","_default","exports"],"sources":["../../../src/lib/v2/components/Busy.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport Spinner from \"./Spinner\";\r\n\r\n/**\r\n * Busy — Portnet UI v2\r\n *\r\n * Charter §04.4 · canonical loading-overlay primitive. Replaces the\r\n * inline PAGE_OVERLAY_SX block that host modules previously froze\r\n * in 15+ feature pages (cf. ms-ti-fe VALIDATION_REPORT §6 — uplift\r\n * pattern catalogued under \"Spinner overlay block\").\r\n *\r\n * Two variants:\r\n *\r\n * <SectionBusy />\r\n * covers the nearest positioned ancestor (parent must have\r\n * `position: relative`). Use when a section/card is waiting on\r\n * data but the rest of the page is still usable.\r\n *\r\n * <PageBusy />\r\n * fixed full-viewport variant. Use when the whole page is\r\n * blocked (e.g. initial fetch, submit-in-flight on a wizard).\r\n *\r\n * Both expose role=\"status\" + aria-live=\"polite\" + aria-busy=\"true\"\r\n * so screen-reader users hear the loading state, and they forward\r\n * the `label` prop to the inner Spinner — that text is announced\r\n * via aria-label on the SVG (R-Ar.1).\r\n *\r\n * Reduced-motion: the Spinner's CSS animation is suppressed under\r\n * `prefers-reduced-motion: reduce` (handled in pui-spinner base\r\n * stylesheet — no per-component duplication).\r\n *\r\n * Usage:\r\n *\r\n * // Section-level (parent has position: relative):\r\n * <Box sx={{ position: \"relative\" }}>\r\n * <ContentThatCanLoad />\r\n * {isLoading && <SectionBusy label=\"Chargement des marchandises\" />}\r\n * </Box>\r\n *\r\n * // Full-page (e.g. wizard during create+navigate):\r\n * {isPageLoading && <PageBusy label=\"Création en cours\" />}\r\n */\r\n\r\nconst SHARED_OVERLAY_SX = Object.freeze({\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n background: \"color-mix(in srgb, var(--bg) 70%, transparent)\",\r\n pointerEvents: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nexport interface SectionBusyProps {\r\n /** SR announcement; appears as aria-label on the inner SVG. */\r\n label?: string;\r\n /**\r\n * If false, the overlay backdrop is transparent (still blocks\r\n * clicks, still announces busy). Use when the section already\r\n * has a subtle bg and you don't want a double scrim.\r\n */\r\n surface?: boolean;\r\n}\r\n\r\nexport function SectionBusy({ label = \"Chargement en cours\", surface = true }: SectionBusyProps) {\r\n return (\r\n <Box\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-busy=\"true\"\r\n sx={{\r\n ...SHARED_OVERLAY_SX,\r\n position: \"absolute\",\r\n inset: 0,\r\n background: surface\r\n ? SHARED_OVERLAY_SX.background\r\n : \"transparent\",\r\n borderRadius: \"var(--r-lg)\",\r\n zIndex: 1,\r\n }}\r\n >\r\n <Spinner size={20} label={label} />\r\n </Box>\r\n );\r\n}\r\n\r\nexport interface PageBusyProps {\r\n /** SR announcement; appears as aria-label on the inner SVG. */\r\n label?: string;\r\n}\r\n\r\nexport function PageBusy({ label = \"Chargement en cours\" }: PageBusyProps) {\r\n return (\r\n <Box\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-busy=\"true\"\r\n sx={{\r\n ...SHARED_OVERLAY_SX,\r\n position: \"fixed\",\r\n inset: 0,\r\n zIndex: \"var(--z-modal, 9999)\",\r\n }}\r\n >\r\n <Spinner size={28} label={label} />\r\n </Box>\r\n );\r\n}\r\n\r\nexport default SectionBusy;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ButtonProps as MuiButtonProps } from "@mui/material/Button";
|
|
3
|
+
/**
|
|
4
|
+
* Button - Portnet UI v2
|
|
5
|
+
*
|
|
6
|
+
* Charter §03 · Component "Button". DS-aligned MUI wrapper.
|
|
7
|
+
*
|
|
8
|
+
* R-B.1 - Only ONE primary per screen (host-enforced).
|
|
9
|
+
* R-B.2 - Charter target visual height 40 / 32 px.
|
|
10
|
+
* R-B.3 - Label = verb + object ("Créer un titre"), never "OK" alone.
|
|
11
|
+
* R-B.4 - `loading` disables interaction and shows inline spinner.
|
|
12
|
+
* R-B.5 - Icon-only requires `aria-label`.
|
|
13
|
+
* R-B.6 - Destructive action → variant="danger", never primary.
|
|
14
|
+
*
|
|
15
|
+
* Variants: "primary" | "secondary" | "ghost" | "danger"
|
|
16
|
+
* Sizes: "md" (40px visual) | "sm" (32px visual), tactile min 44px.
|
|
17
|
+
*/
|
|
18
|
+
type ButtonVariant = "primary" | "secondary" | "ghost" | "danger";
|
|
19
|
+
type ButtonSize = "sm" | "md";
|
|
20
|
+
export interface ButtonProps extends Omit<MuiButtonProps, "variant" | "size"> {
|
|
21
|
+
/** Visual variant. @default "secondary" */
|
|
22
|
+
variant?: ButtonVariant;
|
|
23
|
+
/** Charter size — "md" (40px visual) or "sm" (32px visual). @default "md" */
|
|
24
|
+
size?: ButtonSize;
|
|
25
|
+
/** Leading icon (start adornment). */
|
|
26
|
+
icon?: React.ReactNode;
|
|
27
|
+
/** Trailing icon (end adornment). */
|
|
28
|
+
iconRight?: React.ReactNode;
|
|
29
|
+
/** Icon-only button — requires `aria-label` (charter R-B.5). @default false */
|
|
30
|
+
iconOnly?: boolean;
|
|
31
|
+
/** Show an inline spinner and disable interaction. @default false */
|
|
32
|
+
loading?: boolean;
|
|
33
|
+
}
|
|
34
|
+
declare const Button: React.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
35
|
+
export default Button;
|
|
36
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI1E;;;;;;;;;;;;;;GAcG;AACH,KAAK,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAClE,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAiB9B,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3E,2CAA2C;IAC3C,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,sCAAsC;IACtC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,qCAAqC;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,oGAoEV,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
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 _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
10
|
+
var _Spinner = _interopRequireDefault(require("./Spinner"));
|
|
11
|
+
var _tokens = require("../tokens");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
var _excluded = ["variant", "size", "icon", "iconRight", "iconOnly", "loading", "disabled", "children", "sx", "type"];
|
|
14
|
+
/**
|
|
15
|
+
* Button - Portnet UI v2
|
|
16
|
+
*
|
|
17
|
+
* Charter §03 · Component "Button". DS-aligned MUI wrapper.
|
|
18
|
+
*
|
|
19
|
+
* R-B.1 - Only ONE primary per screen (host-enforced).
|
|
20
|
+
* R-B.2 - Charter target visual height 40 / 32 px.
|
|
21
|
+
* R-B.3 - Label = verb + object ("Créer un titre"), never "OK" alone.
|
|
22
|
+
* R-B.4 - `loading` disables interaction and shows inline spinner.
|
|
23
|
+
* R-B.5 - Icon-only requires `aria-label`.
|
|
24
|
+
* R-B.6 - Destructive action → variant="danger", never primary.
|
|
25
|
+
*
|
|
26
|
+
* Variants: "primary" | "secondary" | "ghost" | "danger"
|
|
27
|
+
* Sizes: "md" (40px visual) | "sm" (32px visual), tactile min 44px.
|
|
28
|
+
*/
|
|
29
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
30
|
+
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); }
|
|
31
|
+
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; }
|
|
32
|
+
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; }
|
|
33
|
+
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; }
|
|
34
|
+
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; }
|
|
35
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
36
|
+
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); }
|
|
37
|
+
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; }
|
|
38
|
+
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; }
|
|
39
|
+
var VARIANT_TO_MUI = {
|
|
40
|
+
primary: {
|
|
41
|
+
variant: "contained",
|
|
42
|
+
color: "primary"
|
|
43
|
+
},
|
|
44
|
+
secondary: {
|
|
45
|
+
variant: "outlined",
|
|
46
|
+
color: "primary"
|
|
47
|
+
},
|
|
48
|
+
ghost: {
|
|
49
|
+
variant: "text",
|
|
50
|
+
color: "primary"
|
|
51
|
+
},
|
|
52
|
+
danger: {
|
|
53
|
+
variant: "contained",
|
|
54
|
+
color: "error"
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var VISUAL_HEIGHT_BY_SIZE = {
|
|
58
|
+
md: _tokens.density.comfortable.btn,
|
|
59
|
+
// 40
|
|
60
|
+
sm: _tokens.density.compact.btn // 32
|
|
61
|
+
};
|
|
62
|
+
var Button = /*#__PURE__*/React.forwardRef(function Button(_ref, ref) {
|
|
63
|
+
var _ref$variant = _ref.variant,
|
|
64
|
+
variant = _ref$variant === void 0 ? "secondary" : _ref$variant,
|
|
65
|
+
_ref$size = _ref.size,
|
|
66
|
+
size = _ref$size === void 0 ? "md" : _ref$size,
|
|
67
|
+
icon = _ref.icon,
|
|
68
|
+
iconRight = _ref.iconRight,
|
|
69
|
+
_ref$iconOnly = _ref.iconOnly,
|
|
70
|
+
iconOnly = _ref$iconOnly === void 0 ? false : _ref$iconOnly,
|
|
71
|
+
_ref$loading = _ref.loading,
|
|
72
|
+
loading = _ref$loading === void 0 ? false : _ref$loading,
|
|
73
|
+
disabled = _ref.disabled,
|
|
74
|
+
children = _ref.children,
|
|
75
|
+
sx = _ref.sx,
|
|
76
|
+
_ref$type = _ref.type,
|
|
77
|
+
type = _ref$type === void 0 ? "button" : _ref$type,
|
|
78
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
79
|
+
var muiProps = VARIANT_TO_MUI[variant] || VARIANT_TO_MUI.secondary;
|
|
80
|
+
var muiSize = size === "sm" ? "small" : "medium";
|
|
81
|
+
if (process.env["NODE_ENV"] !== "production" && iconOnly && !rest["aria-label"]) {
|
|
82
|
+
// eslint-disable-next-line no-console
|
|
83
|
+
console.warn("[@portnet/ui v2] <Button iconOnly> is missing required `aria-label` (charter R-B.5).");
|
|
84
|
+
}
|
|
85
|
+
var isLoading = !!loading;
|
|
86
|
+
var startNode = isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {}) : icon;
|
|
87
|
+
var endNode = isLoading ? null : iconRight;
|
|
88
|
+
var visualSize = VISUAL_HEIGHT_BY_SIZE[size] || VISUAL_HEIGHT_BY_SIZE.md;
|
|
89
|
+
var tactile = _tokens.layout.tactileMin;
|
|
90
|
+
var extension = Math.max(0, (tactile - visualSize) / 2);
|
|
91
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], _objectSpread(_objectSpread({
|
|
92
|
+
ref: ref,
|
|
93
|
+
type: type,
|
|
94
|
+
disabled: isLoading || disabled,
|
|
95
|
+
"aria-busy": isLoading || undefined,
|
|
96
|
+
size: muiSize,
|
|
97
|
+
variant: muiProps.variant,
|
|
98
|
+
color: muiProps.color,
|
|
99
|
+
startIcon: iconOnly ? undefined : startNode,
|
|
100
|
+
endIcon: iconOnly ? undefined : endNode,
|
|
101
|
+
sx: _objectSpread(_objectSpread({
|
|
102
|
+
minHeight: visualSize,
|
|
103
|
+
position: "relative",
|
|
104
|
+
"&::before": {
|
|
105
|
+
content: '""',
|
|
106
|
+
position: "absolute",
|
|
107
|
+
top: -extension,
|
|
108
|
+
bottom: -extension,
|
|
109
|
+
left: -extension,
|
|
110
|
+
right: -extension,
|
|
111
|
+
pointerEvents: "auto"
|
|
112
|
+
}
|
|
113
|
+
}, iconOnly && {
|
|
114
|
+
minWidth: visualSize,
|
|
115
|
+
padding: 0
|
|
116
|
+
}), sx)
|
|
117
|
+
}, rest), {}, {
|
|
118
|
+
children: iconOnly ? startNode || children : children
|
|
119
|
+
}));
|
|
120
|
+
});
|
|
121
|
+
var _default = exports["default"] = Button;
|
|
122
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","names":["React","_interopRequireWildcard","require","_Button","_interopRequireDefault","_Spinner","_tokens","_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","VARIANT_TO_MUI","primary","variant","color","secondary","ghost","danger","VISUAL_HEIGHT_BY_SIZE","md","density","comfortable","btn","sm","compact","Button","forwardRef","_ref","ref","_ref$variant","_ref$size","size","icon","iconRight","_ref$iconOnly","iconOnly","_ref$loading","loading","disabled","children","sx","_ref$type","type","rest","muiProps","muiSize","process","env","console","warn","isLoading","startNode","jsx","endNode","visualSize","tactile","layout","tactileMin","extension","Math","max","startIcon","endIcon","minHeight","position","content","top","bottom","left","right","pointerEvents","minWidth","padding","_default","exports"],"sources":["../../../src/lib/v2/components/Button.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiButton from \"@mui/material/Button\";\r\nimport type { ButtonProps as MuiButtonProps } from \"@mui/material/Button\";\r\nimport Spinner from \"./Spinner\";\r\nimport { layout, density } from \"../tokens\";\r\n\r\n/**\r\n * Button - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Button\". DS-aligned MUI wrapper.\r\n *\r\n * R-B.1 - Only ONE primary per screen (host-enforced).\r\n * R-B.2 - Charter target visual height 40 / 32 px.\r\n * R-B.3 - Label = verb + object (\"Créer un titre\"), never \"OK\" alone.\r\n * R-B.4 - `loading` disables interaction and shows inline spinner.\r\n * R-B.5 - Icon-only requires `aria-label`.\r\n * R-B.6 - Destructive action → variant=\"danger\", never primary.\r\n *\r\n * Variants: \"primary\" | \"secondary\" | \"ghost\" | \"danger\"\r\n * Sizes: \"md\" (40px visual) | \"sm\" (32px visual), tactile min 44px.\r\n */\r\ntype ButtonVariant = \"primary\" | \"secondary\" | \"ghost\" | \"danger\";\r\ntype ButtonSize = \"sm\" | \"md\";\r\n\r\nconst VARIANT_TO_MUI: Record<\r\n ButtonVariant,\r\n { variant: MuiButtonProps[\"variant\"]; color: MuiButtonProps[\"color\"] }\r\n> = {\r\n primary: { variant: \"contained\", color: \"primary\" },\r\n secondary: { variant: \"outlined\", color: \"primary\" },\r\n ghost: { variant: \"text\", color: \"primary\" },\r\n danger: { variant: \"contained\", color: \"error\" },\r\n};\r\n\r\nconst VISUAL_HEIGHT_BY_SIZE: Record<ButtonSize, number> = {\r\n md: density.comfortable.btn, // 40\r\n sm: density.compact.btn, // 32\r\n};\r\n\r\nexport interface ButtonProps extends Omit<MuiButtonProps, \"variant\" | \"size\"> {\r\n /** Visual variant. @default \"secondary\" */\r\n variant?: ButtonVariant;\r\n /** Charter size — \"md\" (40px visual) or \"sm\" (32px visual). @default \"md\" */\r\n size?: ButtonSize;\r\n /** Leading icon (start adornment). */\r\n icon?: React.ReactNode;\r\n /** Trailing icon (end adornment). */\r\n iconRight?: React.ReactNode;\r\n /** Icon-only button — requires `aria-label` (charter R-B.5). @default false */\r\n iconOnly?: boolean;\r\n /** Show an inline spinner and disable interaction. @default false */\r\n loading?: boolean;\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Button(\r\n {\r\n variant = \"secondary\",\r\n size = \"md\",\r\n icon,\r\n iconRight,\r\n iconOnly = false,\r\n loading = false,\r\n disabled,\r\n children,\r\n sx,\r\n type = \"button\",\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n const muiProps = VARIANT_TO_MUI[variant] || VARIANT_TO_MUI.secondary;\r\n const muiSize = size === \"sm\" ? \"small\" : \"medium\";\r\n\r\n if (process.env[\"NODE_ENV\"] !== \"production\" && iconOnly && !rest[\"aria-label\"]) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[@portnet/ui v2] <Button iconOnly> is missing required `aria-label` (charter R-B.5).\",\r\n );\r\n }\r\n\r\n const isLoading = !!loading;\r\n const startNode = isLoading ? <Spinner /> : icon;\r\n const endNode = isLoading ? null : iconRight;\r\n\r\n const visualSize = VISUAL_HEIGHT_BY_SIZE[size] || VISUAL_HEIGHT_BY_SIZE.md;\r\n const tactile = layout.tactileMin;\r\n const extension = Math.max(0, (tactile - visualSize) / 2);\r\n\r\n return (\r\n <MuiButton\r\n ref={ref}\r\n type={type}\r\n disabled={isLoading || disabled}\r\n aria-busy={isLoading || undefined}\r\n size={muiSize}\r\n variant={muiProps.variant}\r\n color={muiProps.color}\r\n startIcon={iconOnly ? undefined : startNode}\r\n endIcon={iconOnly ? undefined : endNode}\r\n sx={{\r\n minHeight: visualSize,\r\n position: \"relative\",\r\n \"&::before\": {\r\n content: '\"\"',\r\n position: \"absolute\",\r\n top: -extension,\r\n bottom: -extension,\r\n left: -extension,\r\n right: -extension,\r\n pointerEvents: \"auto\",\r\n },\r\n ...(iconOnly && {\r\n minWidth: visualSize,\r\n padding: 0,\r\n }),\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {iconOnly ? (startNode || children) : children}\r\n </MuiButton>\r\n );\r\n});\r\n\r\nexport default Button;\r\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAA4C,IAAAK,WAAA,GAAAL,OAAA;AAAA,IAAAM,SAAA;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAX,wBAAAQ,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,IAAAwB,eAAA,CAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAM,gBAAAxC,GAAA,EAAAgB,GAAA,EAAA2B,KAAA,IAAA3B,GAAA,GAAA4B,cAAA,CAAA5B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA2B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAA9C,GAAA,CAAAgB,GAAA,IAAA2B,KAAA,WAAA3C,GAAA;AAAA,SAAA4C,eAAAG,GAAA,QAAA/B,GAAA,GAAAgC,YAAA,CAAAD,GAAA,oBAAAxC,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAAiC,MAAA,CAAAjC,GAAA;AAAA,SAAAgC,aAAAE,KAAA,EAAAC,IAAA,QAAA5C,OAAA,CAAA2C,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAjC,IAAA,CAAA+B,KAAA,EAAAC,IAAA,oBAAA5C,OAAA,CAAAiD,GAAA,uBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAAA,SAAAS,yBAAArB,MAAA,EAAAsB,QAAA,QAAAtB,MAAA,yBAAAJ,MAAA,GAAA2B,6BAAA,CAAAvB,MAAA,EAAAsB,QAAA,OAAA5C,GAAA,EAAAmB,CAAA,MAAAtB,MAAA,CAAAa,qBAAA,QAAAoC,gBAAA,GAAAjD,MAAA,CAAAa,qBAAA,CAAAY,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA2B,gBAAA,CAAAzB,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAA8C,gBAAA,CAAA3B,CAAA,OAAAyB,QAAA,CAAAG,OAAA,CAAA/C,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAA+C,oBAAA,CAAA7C,IAAA,CAAAmB,MAAA,EAAAtB,GAAA,aAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,cAAAkB,MAAA;AAAA,SAAA2B,8BAAAvB,MAAA,EAAAsB,QAAA,QAAAtB,MAAA,yBAAAJ,MAAA,WAAA+B,UAAA,GAAApD,MAAA,CAAAY,IAAA,CAAAa,MAAA,OAAAtB,GAAA,EAAAmB,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAA8B,UAAA,CAAA5B,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAAiD,UAAA,CAAA9B,CAAA,OAAAyB,QAAA,CAAAG,OAAA,CAAA/C,GAAA,kBAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,YAAAkB,MAAA;AAkBA,IAAMgC,cAGL,GAAG;EACFC,OAAO,EAAI;IAAEC,OAAO,EAAE,WAAW;IAAEC,KAAK,EAAE;EAAU,CAAC;EACrDC,SAAS,EAAE;IAAEF,OAAO,EAAE,UAAU;IAAGC,KAAK,EAAE;EAAU,CAAC;EACrDE,KAAK,EAAM;IAAEH,OAAO,EAAE,MAAM;IAAOC,KAAK,EAAE;EAAU,CAAC;EACrDG,MAAM,EAAK;IAAEJ,OAAO,EAAE,WAAW;IAAEC,KAAK,EAAE;EAAU;AACtD,CAAC;AAED,IAAMI,qBAAiD,GAAG;EACxDC,EAAE,EAAEC,eAAO,CAACC,WAAW,CAACC,GAAG;EAAG;EAC9BC,EAAE,EAAEH,eAAO,CAACI,OAAO,CAACF,GAAG,CAAO;AAChC,CAAC;AAiBD,IAAMG,MAAM,gBAAGzF,KAAK,CAAC0F,UAAU,CAAiC,SAASD,MAAMA,CAAAE,IAAA,EAc7EC,GAAG,EACH;EAAA,IAAAC,YAAA,GAAAF,IAAA,CAbEd,OAAO;IAAPA,OAAO,GAAAgB,YAAA,cAAI,WAAW,GAAAA,YAAA;IAAAC,SAAA,GAAAH,IAAA,CACtBI,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAO,IAAI,GAAAA,SAAA;IACfE,IAAI,GAAAL,IAAA,CAAJK,IAAI;IACJC,SAAS,GAAAN,IAAA,CAATM,SAAS;IAAAC,aAAA,GAAAP,IAAA,CACTQ,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,YAAA,GAAAT,IAAA,CAChBU,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAI,KAAK,GAAAA,YAAA;IAChBE,QAAQ,GAAAX,IAAA,CAARW,QAAQ;IACRC,QAAQ,GAAAZ,IAAA,CAARY,QAAQ;IACRC,EAAE,GAAAb,IAAA,CAAFa,EAAE;IAAAC,SAAA,GAAAd,IAAA,CACFe,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,QAAQ,GAAAA,SAAA;IACZE,IAAI,GAAAvC,wBAAA,CAAAuB,IAAA,EAAAnF,SAAA;EAIT,IAAMoG,QAAQ,GAAGjC,cAAc,CAACE,OAAO,CAAC,IAAIF,cAAc,CAACI,SAAS;EACpE,IAAM8B,OAAO,GAAId,IAAI,KAAK,IAAI,GAAG,OAAO,GAAG,QAAQ;EAEnD,IAAIe,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,IAAIZ,QAAQ,IAAI,CAACQ,IAAI,CAAC,YAAY,CAAC,EAAE;IAC/E;IACAK,OAAO,CAACC,IAAI,CACV,sFACF,CAAC;EACH;EAEA,IAAMC,SAAS,GAAG,CAAC,CAACb,OAAO;EAC3B,IAAMc,SAAS,GAAGD,SAAS,gBAAG,IAAA3G,WAAA,CAAA6G,GAAA,EAAC/G,QAAA,WAAO,IAAE,CAAC,GAAG2F,IAAI;EAChD,IAAMqB,OAAO,GAAKH,SAAS,GAAG,IAAI,GAAGjB,SAAS;EAE9C,IAAMqB,UAAU,GAAGpC,qBAAqB,CAACa,IAAI,CAAC,IAAIb,qBAAqB,CAACC,EAAE;EAC1E,IAAMoC,OAAO,GAAMC,cAAM,CAACC,UAAU;EACpC,IAAMC,SAAS,GAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAACL,OAAO,GAAGD,UAAU,IAAI,CAAC,CAAC;EAE1D,oBACE,IAAA/G,WAAA,CAAA6G,GAAA,EAACjH,OAAA,WAAS,EAAAuC,aAAA,CAAAA,aAAA;IACRkD,GAAG,EAAEA,GAAI;IACTc,IAAI,EAAEA,IAAK;IACXJ,QAAQ,EAAEY,SAAS,IAAIZ,QAAS;IAChC,aAAWY,SAAS,IAAIlD,SAAU;IAClC+B,IAAI,EAAEc,OAAQ;IACdhC,OAAO,EAAE+B,QAAQ,CAAC/B,OAAQ;IAC1BC,KAAK,EAAE8B,QAAQ,CAAC9B,KAAM;IACtB+C,SAAS,EAAE1B,QAAQ,GAAGnC,SAAS,GAAGmD,SAAU;IAC5CW,OAAO,EAAE3B,QAAQ,GAAGnC,SAAS,GAAGqD,OAAQ;IACxCb,EAAE,EAAA9D,aAAA,CAAAA,aAAA;MACAqF,SAAS,EAAET,UAAU;MACrBU,QAAQ,EAAE,UAAU;MACpB,WAAW,EAAE;QACXC,OAAO,EAAE,IAAI;QACbD,QAAQ,EAAE,UAAU;QACpBE,GAAG,EAAK,CAACR,SAAS;QAClBS,MAAM,EAAE,CAACT,SAAS;QAClBU,IAAI,EAAI,CAACV,SAAS;QAClBW,KAAK,EAAG,CAACX,SAAS;QAClBY,aAAa,EAAE;MACjB;IAAC,GACGnC,QAAQ,IAAI;MACdoC,QAAQ,EAAEjB,UAAU;MACpBkB,OAAO,EAAG;IACZ,CAAC,GACEhC,EAAE;EACL,GACEG,IAAI;IAAAJ,QAAA,EAEPJ,QAAQ,GAAIgB,SAAS,IAAIZ,QAAQ,GAAIA;EAAQ,EACrC,CAAC;AAEhB,CAAC,CAAC;AAAC,IAAAkC,QAAA,GAAAC,OAAA,cAEYjD,MAAM","ignoreList":[]}
|