@webority/ui-react 0.37.0 → 0.39.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/dist/components/AppAccordion.js +1 -57
- package/dist/components/AppActionIcon.js +1 -53
- package/dist/components/AppAlert.js +1 -85
- package/dist/components/AppAsyncBlock.js +1 -48
- package/dist/components/AppAutocomplete.js +1 -93
- package/dist/components/AppAvatar.js +1 -143
- package/dist/components/AppAvatarGroup.js +1 -43
- package/dist/components/AppAvatarPicker.js +1 -247
- package/dist/components/AppBadge.js +1 -28
- package/dist/components/AppBanner.js +1 -49
- package/dist/components/AppBreadcrumbs.js +1 -24
- package/dist/components/AppButton.js +1 -85
- package/dist/components/AppCalendar.js +1 -72
- package/dist/components/AppCard.js +1 -110
- package/dist/components/AppChart.js +1 -153
- package/dist/components/AppChartCard.js +1 -125
- package/dist/components/AppCheckbox.js +1 -21
- package/dist/components/AppChip.js +1 -71
- package/dist/components/AppChoiceCard.js +1 -69
- package/dist/components/AppChoiceChip.js +1 -31
- package/dist/components/AppColorField.js +1 -63
- package/dist/components/AppColumnMenu.js +1 -27
- package/dist/components/AppCommandPalette.js +1 -164
- package/dist/components/AppCompareTable.js +1 -41
- package/dist/components/AppConfirmDialog.js +1 -93
- package/dist/components/AppConsentBanner.js +1 -37
- package/dist/components/AppContextMenu.js +1 -46
- package/dist/components/AppCopyButton.js +1 -41
- package/dist/components/AppCountrySelect.js +1 -75
- package/dist/components/AppDashboardCell.js +1 -19
- package/dist/components/AppDashboardGrid.js +1 -12
- package/dist/components/AppDataTable.js +1 -213
- package/dist/components/AppDatePicker.js +1 -59
- package/dist/components/AppDateRangePicker.js +1 -73
- package/dist/components/AppDescriptions.js +1 -40
- package/dist/components/AppDropZone.js +1 -106
- package/dist/components/AppDropdown.js +1 -90
- package/dist/components/AppEmptyState.js +1 -37
- package/dist/components/AppErrorSummary.js +1 -37
- package/dist/components/AppFileAttachment.js +1 -140
- package/dist/components/AppFilePicker.js +1 -220
- package/dist/components/AppFileViewer.js +1 -50
- package/dist/components/AppFilterBar.js +1 -129
- package/dist/components/AppFloatingDock.js +1 -47
- package/dist/components/AppFormActions.js +1 -23
- package/dist/components/AppFormRow.js +1 -24
- package/dist/components/AppFormSection.js +1 -32
- package/dist/components/AppIcon.js +1 -147
- package/dist/components/AppInfoList.js +1 -36
- package/dist/components/AppInfoTip.js +1 -41
- package/dist/components/AppInput.js +1 -269
- package/dist/components/AppKanban.js +1 -270
- package/dist/components/AppKpiTile.js +1 -91
- package/dist/components/AppLink.js +1 -74
- package/dist/components/AppLogoPicker.js +1 -264
- package/dist/components/AppMeter.js +1 -42
- package/dist/components/AppModal.js +1 -124
- package/dist/components/AppMultiSelect.js +1 -75
- package/dist/components/AppNumberInput.js +1 -139
- package/dist/components/AppOtpInput.js +1 -53
- package/dist/components/AppPageHeader.js +1 -82
- package/dist/components/AppPagination.js +1 -66
- package/dist/components/AppPhoneNumberInput.js +1 -53
- package/dist/components/AppPopover.js +1 -47
- package/dist/components/AppPricingCard.js +1 -58
- package/dist/components/AppProgress.js +1 -42
- package/dist/components/AppQrCode.js +1 -40
- package/dist/components/AppRadio.js +1 -21
- package/dist/components/AppRadioGroup.js +1 -79
- package/dist/components/AppRepeater.js +1 -57
- package/dist/components/AppRequiredMark.js +1 -11
- package/dist/components/AppResourceCard.js +1 -38
- package/dist/components/AppResult.js +1 -66
- package/dist/components/AppRichText.js +1 -72
- package/dist/components/AppRouteError.js +1 -0
- package/dist/components/AppScrollbar.js +1 -16
- package/dist/components/AppSearch.js +1 -52
- package/dist/components/AppSegmented.js +1 -87
- package/dist/components/AppSelect.js +1 -95
- package/dist/components/AppSelectMini.js +1 -45
- package/dist/components/AppShell.js +1 -712
- package/dist/components/AppSidebarMenu.js +1 -77
- package/dist/components/AppSkeleton.js +1 -24
- package/dist/components/AppSlider.js +1 -76
- package/dist/components/AppSortableList.js +1 -63
- package/dist/components/AppSparkline.js +1 -47
- package/dist/components/AppSpinner.js +1 -23
- package/dist/components/AppSplash.js +1 -62
- package/dist/components/AppStatusBadge.js +1 -22
- package/dist/components/AppStepper.js +1 -94
- package/dist/components/AppSwitch.js +1 -26
- package/dist/components/AppTableEmptyState.js +1 -30
- package/dist/components/AppTablePagination.js +1 -85
- package/dist/components/AppTableToolbar.js +1 -41
- package/dist/components/AppTabs.js +1 -195
- package/dist/components/AppTagInput.js +1 -63
- package/dist/components/AppTextarea.js +1 -81
- package/dist/components/AppThemeToggle.js +1 -102
- package/dist/components/AppTimePicker.js +1 -68
- package/dist/components/AppTimeline.js +1 -102
- package/dist/components/AppToast.js +1 -169
- package/dist/components/AppToolbar.js +1 -63
- package/dist/components/AppTooltip.js +1 -50
- package/dist/components/AppTour.js +1 -39
- package/dist/components/AppTreeView.js +1 -61
- package/dist/components/AppUpdateBar.js +1 -0
- package/dist/components/AppWizard.js +1 -82
- package/dist/components/AppWorkspaceSwitcher.js +1 -176
- package/dist/components/ModalIcons.js +1 -18
- package/dist/components/iconCatalogFull/bold/a.g.js +1 -69
- package/dist/components/iconCatalogFull/bold/b.g.js +1 -79
- package/dist/components/iconCatalogFull/bold/c.g.js +1 -98
- package/dist/components/iconCatalogFull/bold/d.g.js +1 -54
- package/dist/components/iconCatalogFull/bold/e.g.js +1 -34
- package/dist/components/iconCatalogFull/bold/f.g.js +1 -39
- package/dist/components/iconCatalogFull/bold/g.g.js +1 -43
- package/dist/components/iconCatalogFull/bold/h.g.js +1 -38
- package/dist/components/iconCatalogFull/bold/i.g.js +1 -20
- package/dist/components/iconCatalogFull/bold/j.g.js +1 -8
- package/dist/components/iconCatalogFull/bold/k.g.js +1 -9
- package/dist/components/iconCatalogFull/bold/l.g.js +1 -38
- package/dist/components/iconCatalogFull/bold/m.g.js +1 -91
- package/dist/components/iconCatalogFull/bold/n.g.js +1 -23
- package/dist/components/iconCatalogFull/bold/o.g.js +1 -11
- package/dist/components/iconCatalogFull/bold/p.g.js +1 -45
- package/dist/components/iconCatalogFull/bold/q.g.js +1 -12
- package/dist/components/iconCatalogFull/bold/r.g.js +1 -47
- package/dist/components/iconCatalogFull/bold/s.g.js +1 -99
- package/dist/components/iconCatalogFull/bold/t.g.js +1 -60
- package/dist/components/iconCatalogFull/bold/u.g.js +1 -17
- package/dist/components/iconCatalogFull/bold/v.g.js +1 -27
- package/dist/components/iconCatalogFull/bold/w.g.js +1 -30
- package/dist/components/iconCatalogFull/bold/x.g.js +1 -8
- package/dist/components/iconCatalogFull/bold/y.g.js +1 -0
- package/dist/components/iconCatalogFull/bold/z.g.js +1 -7
- package/dist/components/iconCatalogFull/broken/a.g.js +1 -69
- package/dist/components/iconCatalogFull/broken/b.g.js +1 -79
- package/dist/components/iconCatalogFull/broken/c.g.js +1 -98
- package/dist/components/iconCatalogFull/broken/d.g.js +1 -54
- package/dist/components/iconCatalogFull/broken/e.g.js +1 -34
- package/dist/components/iconCatalogFull/broken/f.g.js +1 -39
- package/dist/components/iconCatalogFull/broken/g.g.js +1 -43
- package/dist/components/iconCatalogFull/broken/h.g.js +1 -38
- package/dist/components/iconCatalogFull/broken/i.g.js +1 -20
- package/dist/components/iconCatalogFull/broken/j.g.js +1 -8
- package/dist/components/iconCatalogFull/broken/k.g.js +1 -9
- package/dist/components/iconCatalogFull/broken/l.g.js +1 -38
- package/dist/components/iconCatalogFull/broken/m.g.js +1 -91
- package/dist/components/iconCatalogFull/broken/n.g.js +1 -23
- package/dist/components/iconCatalogFull/broken/o.g.js +1 -11
- package/dist/components/iconCatalogFull/broken/p.g.js +1 -45
- package/dist/components/iconCatalogFull/broken/q.g.js +1 -12
- package/dist/components/iconCatalogFull/broken/r.g.js +1 -47
- package/dist/components/iconCatalogFull/broken/s.g.js +1 -99
- package/dist/components/iconCatalogFull/broken/t.g.js +1 -60
- package/dist/components/iconCatalogFull/broken/u.g.js +1 -17
- package/dist/components/iconCatalogFull/broken/v.g.js +1 -27
- package/dist/components/iconCatalogFull/broken/w.g.js +1 -30
- package/dist/components/iconCatalogFull/broken/x.g.js +1 -8
- package/dist/components/iconCatalogFull/broken/y.g.js +1 -0
- package/dist/components/iconCatalogFull/broken/z.g.js +1 -7
- package/dist/components/iconCatalogFull/bulk/a.g.js +1 -69
- package/dist/components/iconCatalogFull/bulk/b.g.js +1 -79
- package/dist/components/iconCatalogFull/bulk/c.g.js +1 -98
- package/dist/components/iconCatalogFull/bulk/d.g.js +1 -54
- package/dist/components/iconCatalogFull/bulk/e.g.js +1 -34
- package/dist/components/iconCatalogFull/bulk/f.g.js +1 -39
- package/dist/components/iconCatalogFull/bulk/g.g.js +1 -43
- package/dist/components/iconCatalogFull/bulk/h.g.js +1 -38
- package/dist/components/iconCatalogFull/bulk/i.g.js +1 -20
- package/dist/components/iconCatalogFull/bulk/j.g.js +1 -8
- package/dist/components/iconCatalogFull/bulk/k.g.js +1 -9
- package/dist/components/iconCatalogFull/bulk/l.g.js +1 -38
- package/dist/components/iconCatalogFull/bulk/m.g.js +1 -91
- package/dist/components/iconCatalogFull/bulk/n.g.js +1 -23
- package/dist/components/iconCatalogFull/bulk/o.g.js +1 -11
- package/dist/components/iconCatalogFull/bulk/p.g.js +1 -45
- package/dist/components/iconCatalogFull/bulk/q.g.js +1 -12
- package/dist/components/iconCatalogFull/bulk/r.g.js +1 -47
- package/dist/components/iconCatalogFull/bulk/s.g.js +1 -99
- package/dist/components/iconCatalogFull/bulk/t.g.js +1 -60
- package/dist/components/iconCatalogFull/bulk/u.g.js +1 -17
- package/dist/components/iconCatalogFull/bulk/v.g.js +1 -27
- package/dist/components/iconCatalogFull/bulk/w.g.js +1 -30
- package/dist/components/iconCatalogFull/bulk/x.g.js +1 -8
- package/dist/components/iconCatalogFull/bulk/y.g.js +1 -0
- package/dist/components/iconCatalogFull/bulk/z.g.js +1 -7
- package/dist/components/iconCatalogFull/linear/a.g.js +1 -69
- package/dist/components/iconCatalogFull/linear/b.g.js +1 -79
- package/dist/components/iconCatalogFull/linear/c.g.js +1 -98
- package/dist/components/iconCatalogFull/linear/d.g.js +1 -54
- package/dist/components/iconCatalogFull/linear/e.g.js +1 -34
- package/dist/components/iconCatalogFull/linear/f.g.js +1 -39
- package/dist/components/iconCatalogFull/linear/g.g.js +1 -43
- package/dist/components/iconCatalogFull/linear/h.g.js +1 -38
- package/dist/components/iconCatalogFull/linear/i.g.js +1 -20
- package/dist/components/iconCatalogFull/linear/j.g.js +1 -8
- package/dist/components/iconCatalogFull/linear/k.g.js +1 -9
- package/dist/components/iconCatalogFull/linear/l.g.js +1 -38
- package/dist/components/iconCatalogFull/linear/m.g.js +1 -91
- package/dist/components/iconCatalogFull/linear/n.g.js +1 -23
- package/dist/components/iconCatalogFull/linear/o.g.js +1 -11
- package/dist/components/iconCatalogFull/linear/p.g.js +1 -45
- package/dist/components/iconCatalogFull/linear/q.g.js +1 -12
- package/dist/components/iconCatalogFull/linear/r.g.js +1 -47
- package/dist/components/iconCatalogFull/linear/s.g.js +1 -99
- package/dist/components/iconCatalogFull/linear/t.g.js +1 -60
- package/dist/components/iconCatalogFull/linear/u.g.js +1 -17
- package/dist/components/iconCatalogFull/linear/v.g.js +1 -27
- package/dist/components/iconCatalogFull/linear/w.g.js +1 -30
- package/dist/components/iconCatalogFull/linear/x.g.js +1 -8
- package/dist/components/iconCatalogFull/linear/y.g.js +1 -0
- package/dist/components/iconCatalogFull/linear/z.g.js +1 -7
- package/dist/components/iconCatalogFull/outline/a.g.js +1 -69
- package/dist/components/iconCatalogFull/outline/b.g.js +1 -79
- package/dist/components/iconCatalogFull/outline/c.g.js +1 -98
- package/dist/components/iconCatalogFull/outline/d.g.js +1 -54
- package/dist/components/iconCatalogFull/outline/e.g.js +1 -34
- package/dist/components/iconCatalogFull/outline/f.g.js +1 -39
- package/dist/components/iconCatalogFull/outline/g.g.js +1 -43
- package/dist/components/iconCatalogFull/outline/h.g.js +1 -38
- package/dist/components/iconCatalogFull/outline/i.g.js +1 -20
- package/dist/components/iconCatalogFull/outline/j.g.js +1 -8
- package/dist/components/iconCatalogFull/outline/k.g.js +1 -9
- package/dist/components/iconCatalogFull/outline/l.g.js +1 -38
- package/dist/components/iconCatalogFull/outline/m.g.js +1 -91
- package/dist/components/iconCatalogFull/outline/n.g.js +1 -23
- package/dist/components/iconCatalogFull/outline/o.g.js +1 -11
- package/dist/components/iconCatalogFull/outline/p.g.js +1 -45
- package/dist/components/iconCatalogFull/outline/q.g.js +1 -12
- package/dist/components/iconCatalogFull/outline/r.g.js +1 -47
- package/dist/components/iconCatalogFull/outline/s.g.js +1 -99
- package/dist/components/iconCatalogFull/outline/t.g.js +1 -60
- package/dist/components/iconCatalogFull/outline/u.g.js +1 -17
- package/dist/components/iconCatalogFull/outline/v.g.js +1 -27
- package/dist/components/iconCatalogFull/outline/w.g.js +1 -30
- package/dist/components/iconCatalogFull/outline/x.g.js +1 -8
- package/dist/components/iconCatalogFull/outline/y.g.js +1 -0
- package/dist/components/iconCatalogFull/outline/z.g.js +1 -7
- package/dist/components/iconCatalogFull/twotone/a.g.js +1 -69
- package/dist/components/iconCatalogFull/twotone/b.g.js +1 -79
- package/dist/components/iconCatalogFull/twotone/c.g.js +1 -98
- package/dist/components/iconCatalogFull/twotone/d.g.js +1 -54
- package/dist/components/iconCatalogFull/twotone/e.g.js +1 -34
- package/dist/components/iconCatalogFull/twotone/f.g.js +1 -39
- package/dist/components/iconCatalogFull/twotone/g.g.js +1 -43
- package/dist/components/iconCatalogFull/twotone/h.g.js +1 -38
- package/dist/components/iconCatalogFull/twotone/i.g.js +1 -20
- package/dist/components/iconCatalogFull/twotone/j.g.js +1 -8
- package/dist/components/iconCatalogFull/twotone/k.g.js +1 -9
- package/dist/components/iconCatalogFull/twotone/l.g.js +1 -38
- package/dist/components/iconCatalogFull/twotone/m.g.js +1 -91
- package/dist/components/iconCatalogFull/twotone/n.g.js +1 -23
- package/dist/components/iconCatalogFull/twotone/o.g.js +1 -11
- package/dist/components/iconCatalogFull/twotone/p.g.js +1 -45
- package/dist/components/iconCatalogFull/twotone/q.g.js +1 -12
- package/dist/components/iconCatalogFull/twotone/r.g.js +1 -47
- package/dist/components/iconCatalogFull/twotone/s.g.js +1 -99
- package/dist/components/iconCatalogFull/twotone/t.g.js +1 -60
- package/dist/components/iconCatalogFull/twotone/u.g.js +1 -17
- package/dist/components/iconCatalogFull/twotone/v.g.js +1 -27
- package/dist/components/iconCatalogFull/twotone/w.g.js +1 -30
- package/dist/components/iconCatalogFull/twotone/x.g.js +1 -8
- package/dist/components/iconCatalogFull/twotone/y.g.js +1 -0
- package/dist/components/iconCatalogFull/twotone/z.g.js +1 -7
- package/dist/components/iconCatalogLoaders.g.js +1 -170
- package/dist/components/iconCatalogNames.g.js +1 -4
- package/dist/components/iconGlyphs.g.js +1 -211
- package/dist/components/iconVariants.g.js +1 -1040
- package/dist/components/renderIconProp.js +1 -13
- package/dist/components/toast.js +1 -41
- package/dist/components/toastStore.js +1 -78
- package/dist/components/useWuiControl.js +1 -106
- package/dist/components/warnInvalidValue.js +1 -17
- package/dist/components/warnUnknownProps.js +1 -17
- package/dist/components/withTooltip.js +1 -12
- package/dist/lib/CheckField.js +1 -37
- package/dist/lib/FileItemRow.js +1 -44
- package/dist/lib/emptyValue.js +1 -6
- package/dist/lib/fileItem.js +1 -27
- package/dist/lib/focusField.js +1 -14
- package/dist/lib/listQuery.js +1 -57
- package/dist/lib/navMatch.js +1 -29
- package/dist/lib/pageWindow.js +1 -14
- package/dist/lib/qrCode.js +1 -577
- package/dist/lib/shellCookie.js +1 -16
- package/dist/lib/useCommandPaletteShortcut.js +1 -15
- package/dist/lib/useFloatingStack.js +1 -25
- package/dist/lib/useListQuery.js +1 -120
- package/dist/lib/usePagination.js +1 -29
- package/dist/lib/useTableView.js +1 -42
- package/dist/types/components/AppAlert.d.ts +6 -1
- package/dist/types/components/AppCalendar.d.ts +8 -6
- package/dist/types/components/AppDatePicker.d.ts +4 -1
- package/dist/types/components/AppDateRangePicker.d.ts +2 -1
- package/dist/types/components/AppDropdown.d.ts +12 -1
- package/dist/types/components/AppRouteError.d.ts +32 -0
- package/dist/types/components/AppStepper.d.ts +8 -1
- package/dist/types/components/AppUpdateBar.d.ts +20 -0
- package/dist/types/components/AppWizard.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/bold/a.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/bold/b.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/bold/c.g.d.ts +18 -0
- package/dist/types/components/iconCatalogFull/bold/d.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/bold/e.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/bold/f.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/bold/g.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/bold/h.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/bold/i.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/bold/k.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/bold/l.g.d.ts +5 -0
- package/dist/types/components/iconCatalogFull/bold/m.g.d.ts +10 -0
- package/dist/types/components/iconCatalogFull/bold/n.g.d.ts +1 -0
- package/dist/types/components/iconCatalogFull/bold/p.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/bold/r.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/bold/s.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/bold/t.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/bold/u.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/bold/v.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/bold/w.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/bold/y.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/broken/a.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/broken/b.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/broken/c.g.d.ts +18 -0
- package/dist/types/components/iconCatalogFull/broken/d.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/broken/e.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/broken/f.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/broken/g.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/broken/h.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/broken/i.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/broken/k.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/broken/l.g.d.ts +5 -0
- package/dist/types/components/iconCatalogFull/broken/m.g.d.ts +10 -0
- package/dist/types/components/iconCatalogFull/broken/n.g.d.ts +1 -0
- package/dist/types/components/iconCatalogFull/broken/p.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/broken/r.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/broken/s.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/broken/t.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/broken/u.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/broken/v.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/broken/w.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/broken/y.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/bulk/a.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/bulk/b.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/bulk/c.g.d.ts +18 -0
- package/dist/types/components/iconCatalogFull/bulk/d.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/bulk/e.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/bulk/f.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/bulk/g.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/bulk/h.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/bulk/i.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/bulk/k.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/bulk/l.g.d.ts +5 -0
- package/dist/types/components/iconCatalogFull/bulk/m.g.d.ts +10 -0
- package/dist/types/components/iconCatalogFull/bulk/n.g.d.ts +1 -0
- package/dist/types/components/iconCatalogFull/bulk/p.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/bulk/r.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/bulk/s.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/bulk/t.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/bulk/u.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/bulk/v.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/bulk/w.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/bulk/y.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/linear/a.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/linear/b.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/linear/c.g.d.ts +18 -0
- package/dist/types/components/iconCatalogFull/linear/d.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/linear/e.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/linear/f.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/linear/g.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/linear/h.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/linear/i.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/linear/k.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/linear/l.g.d.ts +5 -0
- package/dist/types/components/iconCatalogFull/linear/m.g.d.ts +10 -0
- package/dist/types/components/iconCatalogFull/linear/n.g.d.ts +1 -0
- package/dist/types/components/iconCatalogFull/linear/p.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/linear/r.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/linear/s.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/linear/t.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/linear/u.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/linear/v.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/linear/w.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/linear/y.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/outline/a.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/outline/b.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/outline/c.g.d.ts +18 -0
- package/dist/types/components/iconCatalogFull/outline/d.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/outline/e.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/outline/f.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/outline/g.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/outline/h.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/outline/i.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/outline/k.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/outline/l.g.d.ts +5 -0
- package/dist/types/components/iconCatalogFull/outline/m.g.d.ts +10 -0
- package/dist/types/components/iconCatalogFull/outline/n.g.d.ts +1 -0
- package/dist/types/components/iconCatalogFull/outline/p.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/outline/r.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/outline/s.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/outline/t.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/outline/u.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/outline/v.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/outline/w.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/outline/y.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/twotone/a.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/twotone/b.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/twotone/c.g.d.ts +18 -0
- package/dist/types/components/iconCatalogFull/twotone/d.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/twotone/e.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/twotone/f.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/twotone/g.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/twotone/h.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/twotone/i.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/twotone/k.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/twotone/l.g.d.ts +5 -0
- package/dist/types/components/iconCatalogFull/twotone/m.g.d.ts +10 -0
- package/dist/types/components/iconCatalogFull/twotone/n.g.d.ts +1 -0
- package/dist/types/components/iconCatalogFull/twotone/p.g.d.ts +6 -0
- package/dist/types/components/iconCatalogFull/twotone/r.g.d.ts +4 -0
- package/dist/types/components/iconCatalogFull/twotone/s.g.d.ts +11 -0
- package/dist/types/components/iconCatalogFull/twotone/t.g.d.ts +7 -0
- package/dist/types/components/iconCatalogFull/twotone/u.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/twotone/v.g.d.ts +3 -0
- package/dist/types/components/iconCatalogFull/twotone/w.g.d.ts +2 -0
- package/dist/types/components/iconCatalogFull/twotone/y.g.d.ts +3 -0
- package/dist/types/components/iconCatalogLoaders.g.d.ts +6 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/ui-react.js +1 -117
- package/package.json +7 -9
- package/dist/types/components/__tests__/restPassthrough.d.ts +0 -9
|
@@ -1,712 +1 @@
|
|
|
1
|
-
import e from "./warnInvalidValue.js";
|
|
2
|
-
import t from "./warnUnknownProps.js";
|
|
3
|
-
import n from "./AppIcon.js";
|
|
4
|
-
import r from "./AppAvatar.js";
|
|
5
|
-
import { navMatchScore as i } from "../lib/navMatch.js";
|
|
6
|
-
import { readShellCollapsed as a, writeShellCollapsed as o } from "../lib/shellCookie.js";
|
|
7
|
-
import { useEffect as s, useId as c, useMemo as l, useRef as u, useState as d } from "react";
|
|
8
|
-
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
9
|
-
//#region src/components/AppShell.jsx
|
|
10
|
-
var h = 99, g = 4, _ = 5, v = ["prefix", "exact"], y = (e) => e > h ? `${h}+` : String(e);
|
|
11
|
-
function b({ groups: e = [], brand: r, sidebarStart: i, sidebarStartCompact: c, sidebarFooter: u, topbarStart: f, topbarEnd: h, footer: g, children: _, collapsed: v, onCollapsedChange: y, noSidebar: b = !1, navLabel: T = "Main navigation", linkComponent: O, currentPath: A, rememberCollapsed: j = !1, collapsedCookie: M = "wui-shell-collapsed", tabBarLabel: N = "Quick navigation", moreLabel: P = "More", userMenu: F, notifications: I, search: L, className: R = "", ...z }) {
|
|
12
|
-
t("AppShell", z);
|
|
13
|
-
let [B, V] = d(() => j && v === void 0 && typeof document < "u" ? a(M) ?? !1 : !1), [H, U] = d(!1), [W, G] = d(!1), K = v ?? B, q = () => {
|
|
14
|
-
let e = !K;
|
|
15
|
-
v === void 0 && V(e), j && o(e, M), y?.(e);
|
|
16
|
-
}, J = l(() => x(e, A), [e, A]), Y = b ? null : S(J);
|
|
17
|
-
return s(() => {
|
|
18
|
-
let e = () => G(window.scrollY > 4);
|
|
19
|
-
return e(), window.addEventListener("scroll", e, { passive: !0 }), () => window.removeEventListener("scroll", e);
|
|
20
|
-
}, []), s(() => {
|
|
21
|
-
if (!H) return;
|
|
22
|
-
let e = (e) => {
|
|
23
|
-
e.key === "Escape" && U(!1);
|
|
24
|
-
};
|
|
25
|
-
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
26
|
-
}, [H]), /* @__PURE__ */ m("div", {
|
|
27
|
-
className: [
|
|
28
|
-
"app-shell",
|
|
29
|
-
K ? "collapsed" : "",
|
|
30
|
-
b ? "no-sidebar" : "",
|
|
31
|
-
H ? "mobile-open" : "",
|
|
32
|
-
R
|
|
33
|
-
].filter(Boolean).join(" "),
|
|
34
|
-
...z,
|
|
35
|
-
children: [
|
|
36
|
-
/* @__PURE__ */ m("aside", {
|
|
37
|
-
className: "app-sidebar",
|
|
38
|
-
children: [
|
|
39
|
-
r && /* @__PURE__ */ p("div", {
|
|
40
|
-
className: "app-sidebar-brand",
|
|
41
|
-
children: r
|
|
42
|
-
}),
|
|
43
|
-
i && /* @__PURE__ */ p("div", {
|
|
44
|
-
className: "app-sidebar-start",
|
|
45
|
-
children: i
|
|
46
|
-
}),
|
|
47
|
-
c && /* @__PURE__ */ p("div", {
|
|
48
|
-
className: "app-sidebar-start-compact",
|
|
49
|
-
children: c
|
|
50
|
-
}),
|
|
51
|
-
/* @__PURE__ */ p("nav", {
|
|
52
|
-
className: "app-sidebar-scroll",
|
|
53
|
-
"aria-label": T,
|
|
54
|
-
children: J.map((e, t) => /* @__PURE__ */ m("div", {
|
|
55
|
-
className: "app-nav-group",
|
|
56
|
-
children: [
|
|
57
|
-
e.label && /* @__PURE__ */ p("div", {
|
|
58
|
-
className: "app-nav-group-label",
|
|
59
|
-
children: e.label
|
|
60
|
-
}),
|
|
61
|
-
e.items.map((e) => /* @__PURE__ */ p(w, {
|
|
62
|
-
item: e,
|
|
63
|
-
linkComponent: O,
|
|
64
|
-
onNavigate: () => U(!1)
|
|
65
|
-
}, e.key ?? e.href ?? e.label)),
|
|
66
|
-
e.after && /* @__PURE__ */ p("div", {
|
|
67
|
-
className: "wui-nav-group-after",
|
|
68
|
-
children: e.after
|
|
69
|
-
})
|
|
70
|
-
]
|
|
71
|
-
}, e.label ?? `group-${t}`))
|
|
72
|
-
}),
|
|
73
|
-
u && /* @__PURE__ */ p("div", {
|
|
74
|
-
className: "app-sidebar-foot",
|
|
75
|
-
children: u
|
|
76
|
-
}),
|
|
77
|
-
!b && /* @__PURE__ */ p("button", {
|
|
78
|
-
type: "button",
|
|
79
|
-
className: "app-sidebar-toggle",
|
|
80
|
-
onClick: q,
|
|
81
|
-
"aria-label": K ? "Expand navigation" : "Collapse navigation",
|
|
82
|
-
"aria-expanded": !K,
|
|
83
|
-
children: /* @__PURE__ */ p(n, {
|
|
84
|
-
name: "chevrons-left",
|
|
85
|
-
size: 20
|
|
86
|
-
})
|
|
87
|
-
})
|
|
88
|
-
]
|
|
89
|
-
}),
|
|
90
|
-
/* @__PURE__ */ m("div", {
|
|
91
|
-
className: "app-main",
|
|
92
|
-
children: [
|
|
93
|
-
/* @__PURE__ */ m("header", {
|
|
94
|
-
className: `app-topbar${W ? " scrolled" : ""}`,
|
|
95
|
-
children: [/* @__PURE__ */ m("div", {
|
|
96
|
-
className: "app-topbar-start",
|
|
97
|
-
children: [
|
|
98
|
-
/* @__PURE__ */ p("button", {
|
|
99
|
-
type: "button",
|
|
100
|
-
className: "app-topbar-menu",
|
|
101
|
-
onClick: () => U(!0),
|
|
102
|
-
"aria-label": "Open navigation",
|
|
103
|
-
"aria-expanded": H,
|
|
104
|
-
children: /* @__PURE__ */ p(n, {
|
|
105
|
-
name: "menu",
|
|
106
|
-
size: 18
|
|
107
|
-
})
|
|
108
|
-
}),
|
|
109
|
-
f,
|
|
110
|
-
L && /* @__PURE__ */ p(k, { config: L })
|
|
111
|
-
]
|
|
112
|
-
}), /* @__PURE__ */ m("div", {
|
|
113
|
-
className: "app-topbar-end",
|
|
114
|
-
children: [
|
|
115
|
-
h,
|
|
116
|
-
I && /* @__PURE__ */ p(D, { config: I }),
|
|
117
|
-
F && /* @__PURE__ */ p(E, {
|
|
118
|
-
config: F,
|
|
119
|
-
linkComponent: O
|
|
120
|
-
})
|
|
121
|
-
]
|
|
122
|
-
})]
|
|
123
|
-
}),
|
|
124
|
-
/* @__PURE__ */ p("main", {
|
|
125
|
-
className: "app-content",
|
|
126
|
-
children: _
|
|
127
|
-
}),
|
|
128
|
-
g && /* @__PURE__ */ p("footer", {
|
|
129
|
-
className: "app-footer",
|
|
130
|
-
children: g
|
|
131
|
-
})
|
|
132
|
-
]
|
|
133
|
-
}),
|
|
134
|
-
Y && /* @__PURE__ */ m("nav", {
|
|
135
|
-
className: "wui-tabbar",
|
|
136
|
-
"aria-label": N,
|
|
137
|
-
children: [Y.tabs.map((e) => /* @__PURE__ */ p(C, {
|
|
138
|
-
tab: e,
|
|
139
|
-
linkComponent: O
|
|
140
|
-
}, e.key ?? e.href)), Y.hasMore && /* @__PURE__ */ m("button", {
|
|
141
|
-
type: "button",
|
|
142
|
-
className: `wui-tabbar-item${Y.moreActive ? " active" : ""}`,
|
|
143
|
-
onClick: () => U(!0),
|
|
144
|
-
children: [/* @__PURE__ */ p("span", {
|
|
145
|
-
className: "wui-tabbar-icon",
|
|
146
|
-
children: /* @__PURE__ */ p(n, {
|
|
147
|
-
name: "more",
|
|
148
|
-
size: 24
|
|
149
|
-
})
|
|
150
|
-
}), /* @__PURE__ */ p("span", {
|
|
151
|
-
className: "wui-tabbar-label",
|
|
152
|
-
children: P
|
|
153
|
-
})]
|
|
154
|
-
})]
|
|
155
|
-
}),
|
|
156
|
-
/* @__PURE__ */ p("button", {
|
|
157
|
-
type: "button",
|
|
158
|
-
className: "app-scrim",
|
|
159
|
-
onClick: () => U(!1),
|
|
160
|
-
"aria-label": "Close navigation",
|
|
161
|
-
tabIndex: H ? 0 : -1
|
|
162
|
-
})
|
|
163
|
-
]
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
function x(t, n) {
|
|
167
|
-
let r = (e) => (e ?? []).map((e) => Array.isArray(e.children) ? {
|
|
168
|
-
...e,
|
|
169
|
-
children: r(e.children)
|
|
170
|
-
} : { ...e }).filter((e) => (e.children?.length ?? 0) > 0 || !!e.href), a = t.map((e) => ({
|
|
171
|
-
...e,
|
|
172
|
-
items: r(e.items)
|
|
173
|
-
})).filter((e) => e.items.length > 0), o = [], s = (e) => {
|
|
174
|
-
for (let t of e) o.push(t), t.children && s(t.children);
|
|
175
|
-
};
|
|
176
|
-
for (let e of a) s(e.items);
|
|
177
|
-
for (let t of o) e("AppShell", "match", t.match, v);
|
|
178
|
-
let c = null;
|
|
179
|
-
if (n != null && !o.some((e) => e.active === !0)) {
|
|
180
|
-
let e = -1;
|
|
181
|
-
for (let t of o) {
|
|
182
|
-
if (t.active != null || t.children?.length) continue;
|
|
183
|
-
let r = i(n, t.href, {
|
|
184
|
-
exact: t.match === "exact",
|
|
185
|
-
also: t.matchAlso
|
|
186
|
-
});
|
|
187
|
-
r > e && (e = r, c = t);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
for (let e of o) e.active = e.active ?? e === c;
|
|
191
|
-
return a;
|
|
192
|
-
}
|
|
193
|
-
function S(e) {
|
|
194
|
-
let t = [], n = (e) => {
|
|
195
|
-
for (let r of e) r.children?.length ? n(r.children) : t.push(r);
|
|
196
|
-
};
|
|
197
|
-
for (let t of e) n(t.items);
|
|
198
|
-
let r = t.filter((e) => e.tab);
|
|
199
|
-
if (r.length === 0) return null;
|
|
200
|
-
let i = r.length < t.length, a = i ? g : _;
|
|
201
|
-
if (r.length > a) throw Error(`<AppShell>: ${r.length} items carry tab: true, but the phone tab bar holds ${a} (${i ? "4 plus More, because other items exist" : "5 when every item is a tab"}). Flag fewer items.`);
|
|
202
|
-
return {
|
|
203
|
-
tabs: r,
|
|
204
|
-
hasMore: i,
|
|
205
|
-
moreActive: t.some((e) => !e.tab && e.active)
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
function C({ tab: e, linkComponent: t }) {
|
|
209
|
-
let r = `wui-tabbar-item${e.active ? " active" : ""}`, i = /* @__PURE__ */ m(f, { children: [
|
|
210
|
-
e.icon && /* @__PURE__ */ p("span", {
|
|
211
|
-
className: "wui-tabbar-icon",
|
|
212
|
-
children: typeof e.icon == "string" ? /* @__PURE__ */ p(n, {
|
|
213
|
-
name: e.icon,
|
|
214
|
-
size: 24
|
|
215
|
-
}) : e.icon
|
|
216
|
-
}),
|
|
217
|
-
/* @__PURE__ */ p("span", {
|
|
218
|
-
className: "wui-tabbar-label",
|
|
219
|
-
children: e.tabLabel ?? e.label
|
|
220
|
-
}),
|
|
221
|
-
e.badge != null && /* @__PURE__ */ p("span", {
|
|
222
|
-
className: `wui-tabbar-badge${e.badgeTone ? ` tone-${e.badgeTone}` : ""}`,
|
|
223
|
-
children: e.badge
|
|
224
|
-
})
|
|
225
|
-
] }), a = e.active ? "page" : void 0;
|
|
226
|
-
return t ? /* @__PURE__ */ p(t, {
|
|
227
|
-
className: r,
|
|
228
|
-
to: e.href,
|
|
229
|
-
"aria-current": a,
|
|
230
|
-
children: i
|
|
231
|
-
}) : /* @__PURE__ */ p("a", {
|
|
232
|
-
className: r,
|
|
233
|
-
href: e.href,
|
|
234
|
-
"aria-current": a,
|
|
235
|
-
children: i
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
function w({ item: e, linkComponent: t, onNavigate: r, depth: i = 0 }) {
|
|
239
|
-
let a = i > 0, o = i > 1 ? { "--wui-nav-depth": i } : void 0, c = Array.isArray(e.children) && e.children.length > 0, l = c && e.children.some((e) => e.active), [u, h] = d(l);
|
|
240
|
-
s(() => {
|
|
241
|
-
l && !u && h(!0);
|
|
242
|
-
}, [l, u]);
|
|
243
|
-
let g = typeof e.label == "string" ? e.label : void 0, _ = !a && e.icon && /* @__PURE__ */ p("span", {
|
|
244
|
-
className: "app-nav-icon",
|
|
245
|
-
children: typeof e.icon == "string" ? /* @__PURE__ */ p(n, {
|
|
246
|
-
name: e.icon,
|
|
247
|
-
size: 22
|
|
248
|
-
}) : e.icon
|
|
249
|
-
}), v = e.badge != null && /* @__PURE__ */ p("span", {
|
|
250
|
-
className: `app-nav-badge${e.badgeTone ? ` tone-${e.badgeTone}` : ""}`,
|
|
251
|
-
children: e.badge
|
|
252
|
-
});
|
|
253
|
-
if (c) return /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ m("button", {
|
|
254
|
-
type: "button",
|
|
255
|
-
className: `app-nav-item${a ? " app-nav-subitem" : ""} has-children${l ? " active" : ""}`,
|
|
256
|
-
style: o,
|
|
257
|
-
"aria-expanded": u,
|
|
258
|
-
"data-label": g,
|
|
259
|
-
onClick: () => h((e) => !e),
|
|
260
|
-
children: [
|
|
261
|
-
_,
|
|
262
|
-
/* @__PURE__ */ p("span", {
|
|
263
|
-
className: "app-nav-text",
|
|
264
|
-
children: e.label
|
|
265
|
-
}),
|
|
266
|
-
v,
|
|
267
|
-
/* @__PURE__ */ p("span", {
|
|
268
|
-
className: "app-nav-caret",
|
|
269
|
-
children: /* @__PURE__ */ p(n, {
|
|
270
|
-
name: "chevron-right",
|
|
271
|
-
size: 16
|
|
272
|
-
})
|
|
273
|
-
})
|
|
274
|
-
]
|
|
275
|
-
}), /* @__PURE__ */ p("div", {
|
|
276
|
-
className: `app-nav-sub${u ? " expanded" : ""}`,
|
|
277
|
-
inert: !u,
|
|
278
|
-
"aria-hidden": !u || void 0,
|
|
279
|
-
children: /* @__PURE__ */ p("div", {
|
|
280
|
-
className: "app-nav-sub-inner",
|
|
281
|
-
children: e.children.map((e) => /* @__PURE__ */ p(w, {
|
|
282
|
-
item: e,
|
|
283
|
-
linkComponent: t,
|
|
284
|
-
onNavigate: r,
|
|
285
|
-
depth: i + 1
|
|
286
|
-
}, e.key ?? e.href))
|
|
287
|
-
})
|
|
288
|
-
})] });
|
|
289
|
-
let y = `app-nav-item${a ? " app-nav-subitem" : ""}${e.active ? " active" : ""}`, b = /* @__PURE__ */ m(f, { children: [
|
|
290
|
-
_,
|
|
291
|
-
/* @__PURE__ */ p("span", {
|
|
292
|
-
className: "app-nav-text",
|
|
293
|
-
children: e.label
|
|
294
|
-
}),
|
|
295
|
-
v,
|
|
296
|
-
e.trailingIcon && /* @__PURE__ */ p("span", {
|
|
297
|
-
className: "app-nav-trailing",
|
|
298
|
-
children: typeof e.trailingIcon == "string" ? /* @__PURE__ */ p(n, {
|
|
299
|
-
name: e.trailingIcon,
|
|
300
|
-
size: 16
|
|
301
|
-
}) : e.trailingIcon
|
|
302
|
-
})
|
|
303
|
-
] }), x = e.active ? "page" : void 0;
|
|
304
|
-
return t ? /* @__PURE__ */ p(t, {
|
|
305
|
-
className: y,
|
|
306
|
-
style: o,
|
|
307
|
-
to: e.href,
|
|
308
|
-
"aria-current": x,
|
|
309
|
-
"data-label": g,
|
|
310
|
-
onClick: r,
|
|
311
|
-
children: b
|
|
312
|
-
}) : /* @__PURE__ */ p("a", {
|
|
313
|
-
className: y,
|
|
314
|
-
style: o,
|
|
315
|
-
href: e.href,
|
|
316
|
-
"aria-current": x,
|
|
317
|
-
"data-label": g,
|
|
318
|
-
onClick: r,
|
|
319
|
-
children: b
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
function T() {
|
|
323
|
-
let [e, t] = d(!1), n = u(null);
|
|
324
|
-
return s(() => {
|
|
325
|
-
if (!e) return;
|
|
326
|
-
let r = (e) => {
|
|
327
|
-
n.current?.contains(e.target) || t(!1);
|
|
328
|
-
}, i = (e) => {
|
|
329
|
-
e.key === "Escape" && (t(!1), n.current?.querySelector("button")?.focus());
|
|
330
|
-
};
|
|
331
|
-
return document.addEventListener("mousedown", r), document.addEventListener("keydown", i), () => {
|
|
332
|
-
document.removeEventListener("mousedown", r), document.removeEventListener("keydown", i);
|
|
333
|
-
};
|
|
334
|
-
}, [e]), {
|
|
335
|
-
open: e,
|
|
336
|
-
setOpen: t,
|
|
337
|
-
ref: n
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
function E({ config: e, linkComponent: t }) {
|
|
341
|
-
let i = c(), { open: a, setOpen: o, ref: s } = T(), { name: l, role: u, photo: d, profileHref: h, profileLabel: g = "My profile", onLogout: _, logoutAction: v, logoutLabel: y = "Sign out", items: b = [] } = e;
|
|
342
|
-
if (!l) throw Error("<AppShell> userMenu.name is required; the trigger and the avatar are named from it.");
|
|
343
|
-
let x = () => o(!1), S = (e, n, r, i) => t ? /* @__PURE__ */ p(t, {
|
|
344
|
-
className: "dropdown-item",
|
|
345
|
-
to: e,
|
|
346
|
-
onClick: i,
|
|
347
|
-
children: n
|
|
348
|
-
}, r) : /* @__PURE__ */ p("a", {
|
|
349
|
-
className: "dropdown-item",
|
|
350
|
-
href: e,
|
|
351
|
-
onClick: i,
|
|
352
|
-
children: n
|
|
353
|
-
}, r), C = /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(n, {
|
|
354
|
-
name: "log-out",
|
|
355
|
-
size: 18
|
|
356
|
-
}), y] });
|
|
357
|
-
return /* @__PURE__ */ m("div", {
|
|
358
|
-
className: "dropdown wui-usermenu",
|
|
359
|
-
ref: s,
|
|
360
|
-
children: [/* @__PURE__ */ m("button", {
|
|
361
|
-
type: "button",
|
|
362
|
-
id: i,
|
|
363
|
-
className: "wui-usermenu-trigger",
|
|
364
|
-
"aria-expanded": a,
|
|
365
|
-
"aria-label": `Account menu for ${l}`,
|
|
366
|
-
onClick: () => o((e) => !e),
|
|
367
|
-
children: [
|
|
368
|
-
/* @__PURE__ */ p(r, {
|
|
369
|
-
name: l,
|
|
370
|
-
src: d,
|
|
371
|
-
tone: "auto"
|
|
372
|
-
}),
|
|
373
|
-
/* @__PURE__ */ m("span", {
|
|
374
|
-
className: "wui-usermenu-text",
|
|
375
|
-
children: [/* @__PURE__ */ p("span", {
|
|
376
|
-
className: "wui-usermenu-name",
|
|
377
|
-
children: l
|
|
378
|
-
}), u && /* @__PURE__ */ p("span", {
|
|
379
|
-
className: "wui-usermenu-role",
|
|
380
|
-
children: u
|
|
381
|
-
})]
|
|
382
|
-
}),
|
|
383
|
-
/* @__PURE__ */ p(n, {
|
|
384
|
-
name: "chevron-down",
|
|
385
|
-
size: 14,
|
|
386
|
-
className: "wui-usermenu-caret"
|
|
387
|
-
})
|
|
388
|
-
]
|
|
389
|
-
}), /* @__PURE__ */ m("div", {
|
|
390
|
-
className: `dropdown-menu dropdown-menu-end wui-usermenu-menu${a ? " show" : ""}`,
|
|
391
|
-
"aria-labelledby": i,
|
|
392
|
-
"data-bs-popper": a ? "static" : void 0,
|
|
393
|
-
children: [
|
|
394
|
-
/* @__PURE__ */ m("div", {
|
|
395
|
-
className: "wui-usermenu-head",
|
|
396
|
-
children: [/* @__PURE__ */ p(r, {
|
|
397
|
-
name: l,
|
|
398
|
-
src: d,
|
|
399
|
-
size: "lg",
|
|
400
|
-
tone: "auto"
|
|
401
|
-
}), /* @__PURE__ */ m("div", {
|
|
402
|
-
className: "wui-usermenu-who",
|
|
403
|
-
children: [/* @__PURE__ */ p("div", {
|
|
404
|
-
className: "wui-usermenu-name",
|
|
405
|
-
children: l
|
|
406
|
-
}), u && /* @__PURE__ */ p("div", {
|
|
407
|
-
className: "wui-usermenu-role",
|
|
408
|
-
children: u
|
|
409
|
-
})]
|
|
410
|
-
})]
|
|
411
|
-
}),
|
|
412
|
-
h && S(h, /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(n, {
|
|
413
|
-
name: "user",
|
|
414
|
-
size: 18
|
|
415
|
-
}), g] }), void 0, x),
|
|
416
|
-
b.map((e) => {
|
|
417
|
-
if (e.divider) return /* @__PURE__ */ p("hr", { className: "dropdown-divider" }, e.key);
|
|
418
|
-
let t = /* @__PURE__ */ m(f, { children: [e.icon && /* @__PURE__ */ p(n, {
|
|
419
|
-
name: e.icon,
|
|
420
|
-
size: 18
|
|
421
|
-
}), e.label] }), r = () => {
|
|
422
|
-
e.onClick?.(), x();
|
|
423
|
-
};
|
|
424
|
-
return e.href ? S(e.href, t, e.key, r) : /* @__PURE__ */ p("button", {
|
|
425
|
-
type: "button",
|
|
426
|
-
className: "dropdown-item",
|
|
427
|
-
onClick: r,
|
|
428
|
-
children: t
|
|
429
|
-
}, e.key);
|
|
430
|
-
}),
|
|
431
|
-
v ? /* @__PURE__ */ p("form", {
|
|
432
|
-
method: "post",
|
|
433
|
-
action: v,
|
|
434
|
-
className: "wui-usermenu-logout",
|
|
435
|
-
children: /* @__PURE__ */ p("button", {
|
|
436
|
-
type: "submit",
|
|
437
|
-
className: "dropdown-item danger",
|
|
438
|
-
children: C
|
|
439
|
-
})
|
|
440
|
-
}) : _ && /* @__PURE__ */ p("button", {
|
|
441
|
-
type: "button",
|
|
442
|
-
className: "dropdown-item danger",
|
|
443
|
-
onClick: () => {
|
|
444
|
-
x(), _();
|
|
445
|
-
},
|
|
446
|
-
children: C
|
|
447
|
-
})
|
|
448
|
-
]
|
|
449
|
-
})]
|
|
450
|
-
});
|
|
451
|
-
}
|
|
452
|
-
function D({ config: e }) {
|
|
453
|
-
let t = c(), { open: r, setOpen: i, ref: a } = T(), { unread: o = 0, items: l, loading: h = !1, onOpen: g, onMarkAllRead: _, viewAllHref: v, label: b = "Notifications", emptyText: x = "You are all caught up." } = e, [S, C] = d(""), w = u(o);
|
|
454
|
-
s(() => {
|
|
455
|
-
w.current !== o && (w.current = o, C(o === 0 ? "No unread notifications" : `${y(o)} unread notifications`));
|
|
456
|
-
}, [o]);
|
|
457
|
-
let E = null;
|
|
458
|
-
return l?.length ? E = /* @__PURE__ */ p("div", {
|
|
459
|
-
className: "wui-bell-items",
|
|
460
|
-
children: l.map((e, t) => {
|
|
461
|
-
let r = `wui-bell-item${e.read ? " wui-bell-item-read" : ""}`, i = /* @__PURE__ */ m(f, { children: [
|
|
462
|
-
/* @__PURE__ */ p("span", {
|
|
463
|
-
className: "wui-bell-dot",
|
|
464
|
-
"aria-hidden": "true"
|
|
465
|
-
}),
|
|
466
|
-
e.icon && /* @__PURE__ */ p("span", {
|
|
467
|
-
className: "wui-bell-icon",
|
|
468
|
-
children: /* @__PURE__ */ p(n, {
|
|
469
|
-
name: e.icon,
|
|
470
|
-
size: 18
|
|
471
|
-
})
|
|
472
|
-
}),
|
|
473
|
-
/* @__PURE__ */ m("span", {
|
|
474
|
-
className: "wui-bell-body",
|
|
475
|
-
children: [
|
|
476
|
-
!e.read && /* @__PURE__ */ p("span", {
|
|
477
|
-
className: "visually-hidden",
|
|
478
|
-
children: "Unread: "
|
|
479
|
-
}),
|
|
480
|
-
/* @__PURE__ */ p("span", {
|
|
481
|
-
className: "wui-bell-item-title",
|
|
482
|
-
children: e.title
|
|
483
|
-
}),
|
|
484
|
-
e.time && /* @__PURE__ */ p("span", {
|
|
485
|
-
className: "wui-bell-when",
|
|
486
|
-
children: e.time
|
|
487
|
-
})
|
|
488
|
-
]
|
|
489
|
-
})
|
|
490
|
-
] });
|
|
491
|
-
return e.href ? /* @__PURE__ */ p("a", {
|
|
492
|
-
className: r,
|
|
493
|
-
href: e.href,
|
|
494
|
-
"data-id": e.id,
|
|
495
|
-
children: i
|
|
496
|
-
}, e.id ?? t) : /* @__PURE__ */ p("div", {
|
|
497
|
-
className: r,
|
|
498
|
-
"data-id": e.id,
|
|
499
|
-
children: i
|
|
500
|
-
}, e.id ?? t);
|
|
501
|
-
})
|
|
502
|
-
}) : h ? E = /* @__PURE__ */ p("div", {
|
|
503
|
-
className: "wui-bell-state",
|
|
504
|
-
children: "Loading…"
|
|
505
|
-
}) : l && (E = /* @__PURE__ */ p("div", {
|
|
506
|
-
className: "wui-bell-state",
|
|
507
|
-
children: x
|
|
508
|
-
})), /* @__PURE__ */ m("div", {
|
|
509
|
-
className: "dropdown wui-bell",
|
|
510
|
-
ref: a,
|
|
511
|
-
children: [
|
|
512
|
-
/* @__PURE__ */ m("button", {
|
|
513
|
-
type: "button",
|
|
514
|
-
id: t,
|
|
515
|
-
className: "topbar-icon-btn wui-bell-trigger",
|
|
516
|
-
"aria-expanded": r,
|
|
517
|
-
"aria-label": o === 0 ? b : `${b}, ${y(o)} unread`,
|
|
518
|
-
onClick: () => {
|
|
519
|
-
let e = !r;
|
|
520
|
-
i(e), e && g?.();
|
|
521
|
-
},
|
|
522
|
-
children: [/* @__PURE__ */ p(n, {
|
|
523
|
-
name: "notification",
|
|
524
|
-
size: 20
|
|
525
|
-
}), /* @__PURE__ */ p("span", {
|
|
526
|
-
className: "wui-bell-count",
|
|
527
|
-
"aria-hidden": "true",
|
|
528
|
-
hidden: o === 0,
|
|
529
|
-
children: y(o)
|
|
530
|
-
})]
|
|
531
|
-
}),
|
|
532
|
-
/* @__PURE__ */ p("span", {
|
|
533
|
-
className: "visually-hidden",
|
|
534
|
-
"aria-live": "polite",
|
|
535
|
-
children: S
|
|
536
|
-
}),
|
|
537
|
-
/* @__PURE__ */ m("div", {
|
|
538
|
-
className: `dropdown-menu dropdown-menu-end wui-bell-menu${r ? " show" : ""}`,
|
|
539
|
-
"aria-labelledby": t,
|
|
540
|
-
"data-bs-popper": r ? "static" : void 0,
|
|
541
|
-
children: [
|
|
542
|
-
/* @__PURE__ */ m("div", {
|
|
543
|
-
className: "wui-bell-head",
|
|
544
|
-
children: [/* @__PURE__ */ p("span", {
|
|
545
|
-
className: "wui-bell-title",
|
|
546
|
-
children: b
|
|
547
|
-
}), _ && /* @__PURE__ */ p("button", {
|
|
548
|
-
type: "button",
|
|
549
|
-
className: "wui-bell-markall",
|
|
550
|
-
onClick: _,
|
|
551
|
-
children: "Mark all read"
|
|
552
|
-
})]
|
|
553
|
-
}),
|
|
554
|
-
/* @__PURE__ */ p("div", {
|
|
555
|
-
className: "wui-bell-list",
|
|
556
|
-
"aria-busy": h || void 0,
|
|
557
|
-
children: E
|
|
558
|
-
}),
|
|
559
|
-
v && /* @__PURE__ */ p("a", {
|
|
560
|
-
className: "wui-bell-foot",
|
|
561
|
-
href: v,
|
|
562
|
-
children: "View all"
|
|
563
|
-
})
|
|
564
|
-
]
|
|
565
|
-
})
|
|
566
|
-
]
|
|
567
|
-
});
|
|
568
|
-
}
|
|
569
|
-
var O = (e) => !!e && (e.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(e.tagName));
|
|
570
|
-
function k({ config: e }) {
|
|
571
|
-
let t = c(), { value: r = "", onChange: i, results: a = null, loading: o = !1, onSelect: f, onSubmit: h, placeholder: g = "Search" } = e, [_, v] = d(!1), [y, b] = d(!1), [x, S] = d({
|
|
572
|
-
results: null,
|
|
573
|
-
index: -1
|
|
574
|
-
}), C = x.results === a ? x.index : -1, w = (e) => S({
|
|
575
|
-
results: a,
|
|
576
|
-
index: e
|
|
577
|
-
}), T = u(null), E = u(null), D = u([]), k = l(() => (a ?? []).flatMap((e) => e.hits ?? []), [a]), A = a != null && !y, j = k.length;
|
|
578
|
-
s(() => {
|
|
579
|
-
let e = (e) => {
|
|
580
|
-
e.key !== "/" || e.ctrlKey || e.metaKey || e.altKey || O(e.target) || (e.preventDefault(), v(!0), E.current?.focus());
|
|
581
|
-
}, t = (e) => {
|
|
582
|
-
T.current?.contains(e.target) || (b(!0), v(!1));
|
|
583
|
-
};
|
|
584
|
-
return document.addEventListener("keydown", e), document.addEventListener("pointerdown", t), () => {
|
|
585
|
-
document.removeEventListener("keydown", e), document.removeEventListener("pointerdown", t);
|
|
586
|
-
};
|
|
587
|
-
}, []);
|
|
588
|
-
let M = (e) => {
|
|
589
|
-
if (e.key === "ArrowDown" || e.key === "ArrowUp") {
|
|
590
|
-
if (!A || j === 0) return;
|
|
591
|
-
e.preventDefault(), w((C + (e.key === "ArrowDown" ? 1 : -1) + j) % j);
|
|
592
|
-
} else e.key === "Enter" ? A && C >= 0 && D.current[C] ? (e.preventDefault(), D.current[C].click()) : h && r.trim() !== "" && (e.preventDefault(), h(r.trim())) : e.key === "Escape" && (A ? (e.preventDefault(), b(!0)) : _ && (e.preventDefault(), v(!1)));
|
|
593
|
-
}, N = -1;
|
|
594
|
-
return D.current = [], /* @__PURE__ */ m("div", {
|
|
595
|
-
className: `wui-topsearch${_ ? " is-open" : ""}${o ? " is-loading" : ""}`,
|
|
596
|
-
ref: T,
|
|
597
|
-
children: [
|
|
598
|
-
/* @__PURE__ */ p("button", {
|
|
599
|
-
type: "button",
|
|
600
|
-
className: "topbar-icon-btn wui-topsearch-open",
|
|
601
|
-
"aria-label": g,
|
|
602
|
-
"aria-expanded": _,
|
|
603
|
-
"aria-controls": `${t}-panel`,
|
|
604
|
-
onClick: () => {
|
|
605
|
-
let e = !_;
|
|
606
|
-
v(e), e && E.current?.focus();
|
|
607
|
-
},
|
|
608
|
-
children: /* @__PURE__ */ p(n, {
|
|
609
|
-
name: "search",
|
|
610
|
-
size: 20
|
|
611
|
-
})
|
|
612
|
-
}),
|
|
613
|
-
/* @__PURE__ */ m("div", {
|
|
614
|
-
className: "wui-topsearch-panel",
|
|
615
|
-
id: `${t}-panel`,
|
|
616
|
-
children: [/* @__PURE__ */ m("div", {
|
|
617
|
-
className: "search-wrap",
|
|
618
|
-
children: [/* @__PURE__ */ p(n, {
|
|
619
|
-
name: "search",
|
|
620
|
-
size: 18,
|
|
621
|
-
className: "search-icon"
|
|
622
|
-
}), /* @__PURE__ */ p("input", {
|
|
623
|
-
ref: E,
|
|
624
|
-
type: "search",
|
|
625
|
-
className: "form-control input search-input",
|
|
626
|
-
id: `${t}-input`,
|
|
627
|
-
placeholder: g,
|
|
628
|
-
"aria-label": g,
|
|
629
|
-
role: "combobox",
|
|
630
|
-
"aria-autocomplete": "list",
|
|
631
|
-
"aria-expanded": A,
|
|
632
|
-
"aria-controls": `${t}-list`,
|
|
633
|
-
"aria-activedescendant": A && C >= 0 ? `${t}-opt-${C}` : void 0,
|
|
634
|
-
autoComplete: "off",
|
|
635
|
-
value: r,
|
|
636
|
-
onChange: (e) => {
|
|
637
|
-
b(!1), i?.(e.target.value);
|
|
638
|
-
},
|
|
639
|
-
onKeyDown: M
|
|
640
|
-
})]
|
|
641
|
-
}), /* @__PURE__ */ p("div", {
|
|
642
|
-
className: "wui-topsearch-results",
|
|
643
|
-
id: `${t}-list`,
|
|
644
|
-
role: "listbox",
|
|
645
|
-
"aria-label": "Search results",
|
|
646
|
-
hidden: !A,
|
|
647
|
-
children: A && /* @__PURE__ */ m("div", {
|
|
648
|
-
className: "wui-topsearch-groups",
|
|
649
|
-
role: "presentation",
|
|
650
|
-
children: [j === 0 && /* @__PURE__ */ m("div", {
|
|
651
|
-
className: "wui-topsearch-empty",
|
|
652
|
-
role: "option",
|
|
653
|
-
"aria-disabled": "true",
|
|
654
|
-
"aria-selected": "false",
|
|
655
|
-
children: [
|
|
656
|
-
"No results for “",
|
|
657
|
-
r,
|
|
658
|
-
"”"
|
|
659
|
-
]
|
|
660
|
-
}), a.filter((e) => e.hits?.length).map((e, r) => /* @__PURE__ */ m("div", {
|
|
661
|
-
className: "wui-topsearch-group",
|
|
662
|
-
role: "group",
|
|
663
|
-
"aria-label": e.label ?? "",
|
|
664
|
-
children: [e.label && /* @__PURE__ */ p("div", {
|
|
665
|
-
className: "wui-topsearch-group-label",
|
|
666
|
-
role: "presentation",
|
|
667
|
-
children: e.label
|
|
668
|
-
}), e.hits.map((e) => {
|
|
669
|
-
N += 1;
|
|
670
|
-
let r = N;
|
|
671
|
-
return /* @__PURE__ */ m("a", {
|
|
672
|
-
className: `wui-topsearch-hit${r === C ? " is-active" : ""}`,
|
|
673
|
-
role: "option",
|
|
674
|
-
"aria-selected": r === C,
|
|
675
|
-
id: `${t}-opt-${r}`,
|
|
676
|
-
href: e.href,
|
|
677
|
-
ref: (e) => {
|
|
678
|
-
D.current[r] = e;
|
|
679
|
-
},
|
|
680
|
-
onClick: (t) => f?.(e, t),
|
|
681
|
-
children: [e.icon && /* @__PURE__ */ p("span", {
|
|
682
|
-
className: "wui-topsearch-hit-icon",
|
|
683
|
-
children: /* @__PURE__ */ p(n, {
|
|
684
|
-
name: e.icon,
|
|
685
|
-
size: 18
|
|
686
|
-
})
|
|
687
|
-
}), /* @__PURE__ */ m("span", {
|
|
688
|
-
className: "wui-topsearch-hit-text",
|
|
689
|
-
children: [/* @__PURE__ */ p("span", {
|
|
690
|
-
className: "wui-topsearch-hit-title",
|
|
691
|
-
children: e.title
|
|
692
|
-
}), e.subtitle && /* @__PURE__ */ p("span", {
|
|
693
|
-
className: "wui-topsearch-hit-sub",
|
|
694
|
-
children: e.subtitle
|
|
695
|
-
})]
|
|
696
|
-
})]
|
|
697
|
-
}, `${e.href}-${r}`);
|
|
698
|
-
})]
|
|
699
|
-
}, e.label ?? r))]
|
|
700
|
-
})
|
|
701
|
-
})]
|
|
702
|
-
}),
|
|
703
|
-
/* @__PURE__ */ p("span", {
|
|
704
|
-
className: "visually-hidden",
|
|
705
|
-
"aria-live": "polite",
|
|
706
|
-
children: A ? j === 0 ? "No results" : `${j} ${j === 1 ? "result" : "results"}` : ""
|
|
707
|
-
})
|
|
708
|
-
]
|
|
709
|
-
});
|
|
710
|
-
}
|
|
711
|
-
//#endregion
|
|
712
|
-
export { b as default };
|
|
1
|
+
import e from"./warnInvalidValue.js";import t from"./warnUnknownProps.js";import n from"./AppIcon.js";import r from"./AppAvatar.js";import{navMatchScore as i}from"../lib/navMatch.js";import{readShellCollapsed as a,writeShellCollapsed as o}from"../lib/shellCookie.js";import{initScrollEdges as s}from"@webority/ui-elements/helpers";import{useEffect as c,useId as l,useMemo as u,useRef as d,useState as f}from"react";import{Fragment as p,jsx as m,jsxs as h}from"react/jsx-runtime";var g=99,_=4,v=5,y=[`prefix`,`exact`],b=e=>e>g?`${g}+`:String(e);function x({groups:e=[],brand:r,sidebarStart:i,sidebarStartCompact:l,sidebarFooter:d,topbarStart:p,topbarEnd:g,footer:_,children:v,collapsed:y,onCollapsedChange:b,noSidebar:x=!1,navLabel:E=`Main navigation`,linkComponent:k,currentPath:j,rememberCollapsed:M=!1,collapsedCookie:N=`wui-shell-collapsed`,tabBarLabel:P=`Quick navigation`,moreLabel:F=`More`,userMenu:I,notifications:L,search:R,className:z=``,...B}){t(`AppShell`,B);let[V,H]=f(()=>M&&y===void 0&&typeof document<`u`?a(N)??!1:!1),[U,W]=f(!1),[G,K]=f(!1),q=y??V,J=()=>{let e=!q;y===void 0&&H(e),M&&o(e,N),b?.(e)},Y=u(()=>S(e,j),[e,j]),X=x?null:C(Y);return c(()=>{let e=()=>K(window.scrollY>4);return e(),window.addEventListener(`scroll`,e,{passive:!0}),()=>window.removeEventListener(`scroll`,e)},[]),c(()=>{s()},[]),c(()=>{if(!U)return;let e=e=>{e.key===`Escape`&&W(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[U]),h(`div`,{className:[`app-shell`,q?`collapsed`:``,x?`no-sidebar`:``,U?`mobile-open`:``,z].filter(Boolean).join(` `),...B,children:[h(`aside`,{className:`app-sidebar`,children:[r&&m(`div`,{className:`app-sidebar-brand`,children:r}),i&&m(`div`,{className:`app-sidebar-start`,children:i}),l&&m(`div`,{className:`app-sidebar-start-compact`,children:l}),m(`nav`,{className:`app-sidebar-scroll`,"aria-label":E,children:Y.map((e,t)=>h(`div`,{className:`app-nav-group`,children:[e.label&&m(`div`,{className:`app-nav-group-label`,children:e.label}),e.items.map(e=>m(T,{item:e,linkComponent:k,onNavigate:()=>W(!1)},e.key??e.href??e.label)),e.after&&m(`div`,{className:`wui-nav-group-after`,children:e.after})]},e.label??`group-${t}`))}),d&&m(`div`,{className:`app-sidebar-foot`,children:d}),!x&&m(`button`,{type:`button`,className:`app-sidebar-toggle`,onClick:J,"aria-label":q?`Expand navigation`:`Collapse navigation`,"aria-expanded":!q,children:m(n,{name:`chevrons-left`,size:20})})]}),h(`div`,{className:`app-main`,children:[h(`header`,{className:`app-topbar${G?` scrolled`:``}`,children:[h(`div`,{className:`app-topbar-start`,children:[m(`button`,{type:`button`,className:`app-topbar-menu`,onClick:()=>W(!0),"aria-label":`Open navigation`,"aria-expanded":U,children:m(n,{name:`menu`,size:18})}),p,R&&m(A,{config:R})]}),h(`div`,{className:`app-topbar-end`,children:[g,L&&m(O,{config:L}),I&&m(D,{config:I,linkComponent:k})]})]}),m(`main`,{className:`app-content`,children:v}),_&&m(`footer`,{className:`app-footer`,children:_})]}),X&&h(`nav`,{className:`wui-tabbar`,"aria-label":P,children:[X.tabs.map(e=>m(w,{tab:e,linkComponent:k},e.key??e.href)),X.hasMore&&h(`button`,{type:`button`,className:`wui-tabbar-item${X.moreActive?` active`:``}`,onClick:()=>W(!0),children:[m(`span`,{className:`wui-tabbar-icon`,children:m(n,{name:`more`,size:24})}),m(`span`,{className:`wui-tabbar-label`,children:F})]})]}),m(`button`,{type:`button`,className:`app-scrim`,onClick:()=>W(!1),"aria-label":`Close navigation`,tabIndex:U?0:-1})]})}function S(t,n){let r=e=>(e??[]).map(e=>Array.isArray(e.children)?{...e,children:r(e.children)}:{...e}).filter(e=>(e.children?.length??0)>0||!!e.href),a=t.map(e=>({...e,items:r(e.items)})).filter(e=>e.items.length>0),o=[],s=e=>{for(let t of e)o.push(t),t.children&&s(t.children)};for(let e of a)s(e.items);for(let t of o)e(`AppShell`,`match`,t.match,y);let c=null;if(n!=null&&!o.some(e=>e.active===!0)){let e=-1;for(let t of o){if(t.active!=null||t.children?.length)continue;let r=i(n,t.href,{exact:t.match===`exact`,also:t.matchAlso});r>e&&(e=r,c=t)}}for(let e of o)e.active=e.active??e===c;return a}function C(e){let t=[],n=e=>{for(let r of e)r.children?.length?n(r.children):t.push(r)};for(let t of e)n(t.items);let r=t.filter(e=>e.tab);if(r.length===0)return null;let i=r.length<t.length,a=i?_:v;if(r.length>a)throw Error(`<AppShell>: ${r.length} items carry tab: true, but the phone tab bar holds ${a} (${i?`4 plus More, because other items exist`:`5 when every item is a tab`}). Flag fewer items.`);return{tabs:r,hasMore:i,moreActive:t.some(e=>!e.tab&&e.active)}}function w({tab:e,linkComponent:t}){let r=`wui-tabbar-item${e.active?` active`:``}`,i=h(p,{children:[e.icon&&m(`span`,{className:`wui-tabbar-icon`,children:typeof e.icon==`string`?m(n,{name:e.icon,size:24}):e.icon}),m(`span`,{className:`wui-tabbar-label`,children:e.tabLabel??e.label}),e.badge!=null&&m(`span`,{className:`wui-tabbar-badge${e.badgeTone?` tone-${e.badgeTone}`:``}`,children:e.badge})]}),a=e.active?`page`:void 0;return t?m(t,{className:r,to:e.href,"aria-current":a,children:i}):m(`a`,{className:r,href:e.href,"aria-current":a,children:i})}function T({item:e,linkComponent:t,onNavigate:r,depth:i=0}){let a=i>0,o=i>1?{"--wui-nav-depth":i}:void 0,s=Array.isArray(e.children)&&e.children.length>0,l=s&&e.children.some(e=>e.active),[u,d]=f(l);c(()=>{l&&!u&&d(!0)},[l,u]);let g=typeof e.label==`string`?e.label:void 0,_=!a&&e.icon&&m(`span`,{className:`app-nav-icon`,children:typeof e.icon==`string`?m(n,{name:e.icon,size:22}):e.icon}),v=e.badge!=null&&m(`span`,{className:`app-nav-badge${e.badgeTone?` tone-${e.badgeTone}`:``}`,children:e.badge});if(s)return h(p,{children:[h(`button`,{type:`button`,className:`app-nav-item${a?` app-nav-subitem`:``} has-children${l?` active`:``}`,style:o,"aria-expanded":u,"data-label":g,onClick:()=>d(e=>!e),children:[_,m(`span`,{className:`app-nav-text`,children:e.label}),v,m(`span`,{className:`app-nav-caret`,children:m(n,{name:`chevron-right`,size:16})})]}),m(`div`,{className:`app-nav-sub${u?` expanded`:``}`,inert:!u,"aria-hidden":!u||void 0,children:m(`div`,{className:`app-nav-sub-inner`,children:e.children.map(e=>m(T,{item:e,linkComponent:t,onNavigate:r,depth:i+1},e.key??e.href))})})]});let y=`app-nav-item${a?` app-nav-subitem`:``}${e.active?` active`:``}`,b=h(p,{children:[_,m(`span`,{className:`app-nav-text`,children:e.label}),v,e.trailingIcon&&m(`span`,{className:`app-nav-trailing`,children:typeof e.trailingIcon==`string`?m(n,{name:e.trailingIcon,size:16}):e.trailingIcon})]}),x=e.active?`page`:void 0;return t?m(t,{className:y,style:o,to:e.href,"aria-current":x,"data-label":g,onClick:r,children:b}):m(`a`,{className:y,style:o,href:e.href,"aria-current":x,"data-label":g,onClick:r,children:b})}function E(){let[e,t]=f(!1),n=d(null);return c(()=>{if(!e)return;let r=e=>{n.current?.contains(e.target)||t(!1)},i=e=>{e.key===`Escape`&&(t(!1),n.current?.querySelector(`button`)?.focus())};return document.addEventListener(`mousedown`,r),document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`mousedown`,r),document.removeEventListener(`keydown`,i)}},[e]),{open:e,setOpen:t,ref:n}}function D({config:e,linkComponent:t}){let i=l(),{open:a,setOpen:o,ref:s}=E(),{name:c,role:u,photo:d,profileHref:f,profileLabel:g=`My profile`,onLogout:_,logoutAction:v,logoutLabel:y=`Sign out`,items:b=[]}=e;if(!c)throw Error(`<AppShell> userMenu.name is required; the trigger and the avatar are named from it.`);let x=()=>o(!1),S=(e,n,r,i)=>t?m(t,{className:`dropdown-item`,to:e,onClick:i,children:n},r):m(`a`,{className:`dropdown-item`,href:e,onClick:i,children:n},r),C=h(p,{children:[m(n,{name:`log-out`,size:18}),y]});return h(`div`,{className:`dropdown wui-usermenu`,ref:s,children:[h(`button`,{type:`button`,id:i,className:`wui-usermenu-trigger`,"aria-expanded":a,"aria-label":`Account menu for ${c}`,onClick:()=>o(e=>!e),children:[m(r,{name:c,src:d,tone:`auto`}),h(`span`,{className:`wui-usermenu-text`,children:[m(`span`,{className:`wui-usermenu-name`,children:c}),u&&m(`span`,{className:`wui-usermenu-role`,children:u})]}),m(n,{name:`chevron-down`,size:14,className:`wui-usermenu-caret`})]}),h(`div`,{className:`dropdown-menu dropdown-menu-end wui-usermenu-menu${a?` show`:``}`,"aria-labelledby":i,"data-bs-popper":a?`static`:void 0,children:[h(`div`,{className:`wui-usermenu-head`,children:[m(r,{name:c,src:d,size:`lg`,tone:`auto`}),h(`div`,{className:`wui-usermenu-who`,children:[m(`div`,{className:`wui-usermenu-name`,children:c}),u&&m(`div`,{className:`wui-usermenu-role`,children:u})]})]}),f&&S(f,h(p,{children:[m(n,{name:`user`,size:18}),g]}),void 0,x),b.map(e=>{if(e.divider)return m(`hr`,{className:`dropdown-divider`},e.key);let t=h(p,{children:[e.icon&&m(n,{name:e.icon,size:18}),e.label]}),r=()=>{e.onClick?.(),x()};return e.href?S(e.href,t,e.key,r):m(`button`,{type:`button`,className:`dropdown-item`,onClick:r,children:t},e.key)}),v?m(`form`,{method:`post`,action:v,className:`wui-usermenu-logout`,children:m(`button`,{type:`submit`,className:`dropdown-item danger`,children:C})}):_&&m(`button`,{type:`button`,className:`dropdown-item danger`,onClick:()=>{x(),_()},children:C})]})]})}function O({config:e}){let t=l(),{open:r,setOpen:i,ref:a}=E(),{unread:o=0,items:s,loading:u=!1,onOpen:g,onMarkAllRead:_,viewAllHref:v,label:y=`Notifications`,emptyText:x=`You are all caught up.`}=e,[S,C]=f(``),w=d(o);c(()=>{w.current!==o&&(w.current=o,C(o===0?`No unread notifications`:`${b(o)} unread notifications`))},[o]);let T=null;return s?.length?T=m(`div`,{className:`wui-bell-items`,children:s.map((e,t)=>{let r=`wui-bell-item${e.read?` wui-bell-item-read`:``}`,i=h(p,{children:[m(`span`,{className:`wui-bell-dot`,"aria-hidden":`true`}),e.icon&&m(`span`,{className:`wui-bell-icon`,children:m(n,{name:e.icon,size:18})}),h(`span`,{className:`wui-bell-body`,children:[!e.read&&m(`span`,{className:`visually-hidden`,children:`Unread: `}),m(`span`,{className:`wui-bell-item-title`,children:e.title}),e.time&&m(`span`,{className:`wui-bell-when`,children:e.time})]})]});return e.href?m(`a`,{className:r,href:e.href,"data-id":e.id,children:i},e.id??t):m(`div`,{className:r,"data-id":e.id,children:i},e.id??t)})}):u?T=m(`div`,{className:`wui-bell-state`,children:`Loading…`}):s&&(T=m(`div`,{className:`wui-bell-state`,children:x})),h(`div`,{className:`dropdown wui-bell`,ref:a,children:[h(`button`,{type:`button`,id:t,className:`topbar-icon-btn wui-bell-trigger`,"aria-expanded":r,"aria-label":o===0?y:`${y}, ${b(o)} unread`,onClick:()=>{let e=!r;i(e),e&&g?.()},children:[m(n,{name:`notification`,size:20}),m(`span`,{className:`wui-bell-count`,"aria-hidden":`true`,hidden:o===0,children:b(o)})]}),m(`span`,{className:`visually-hidden`,"aria-live":`polite`,children:S}),h(`div`,{className:`dropdown-menu dropdown-menu-end wui-bell-menu${r?` show`:``}`,"aria-labelledby":t,"data-bs-popper":r?`static`:void 0,children:[h(`div`,{className:`wui-bell-head`,children:[m(`span`,{className:`wui-bell-title`,children:y}),_&&m(`button`,{type:`button`,className:`wui-bell-markall`,onClick:_,children:`Mark all read`})]}),m(`div`,{className:`wui-bell-list`,"aria-busy":u||void 0,children:T}),v&&m(`a`,{className:`wui-bell-foot`,href:v,children:`View all`})]})]})}var k=e=>!!e&&(e.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(e.tagName));function A({config:e}){let t=l(),{value:r=``,onChange:i,results:a=null,loading:o=!1,onSelect:s,onSubmit:p,placeholder:g=`Search`}=e,[_,v]=f(!1),[y,b]=f(!1),[x,S]=f({results:null,index:-1}),C=x.results===a?x.index:-1,w=e=>S({results:a,index:e}),T=d(null),E=d(null),D=d([]),O=u(()=>(a??[]).flatMap(e=>e.hits??[]),[a]),A=a!=null&&!y,j=O.length;c(()=>{let e=e=>{e.key!==`/`||e.ctrlKey||e.metaKey||e.altKey||k(e.target)||(e.preventDefault(),v(!0),E.current?.focus())},t=e=>{T.current?.contains(e.target)||(b(!0),v(!1))};return document.addEventListener(`keydown`,e),document.addEventListener(`pointerdown`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`pointerdown`,t)}},[]);let M=e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(!A||j===0)return;e.preventDefault(),w((C+(e.key===`ArrowDown`?1:-1)+j)%j)}else e.key===`Enter`?A&&C>=0&&D.current[C]?(e.preventDefault(),D.current[C].click()):p&&r.trim()!==``&&(e.preventDefault(),p(r.trim())):e.key===`Escape`&&(A?(e.preventDefault(),b(!0)):_&&(e.preventDefault(),v(!1)))},N=-1;return D.current=[],h(`div`,{className:`wui-topsearch${_?` is-open`:``}${o?` is-loading`:``}`,ref:T,children:[m(`button`,{type:`button`,className:`topbar-icon-btn wui-topsearch-open`,"aria-label":g,"aria-expanded":_,"aria-controls":`${t}-panel`,onClick:()=>{let e=!_;v(e),e&&E.current?.focus()},children:m(n,{name:`search`,size:20})}),h(`div`,{className:`wui-topsearch-panel`,id:`${t}-panel`,children:[h(`div`,{className:`search-wrap`,children:[m(n,{name:`search`,size:18,className:`search-icon`}),m(`input`,{ref:E,type:`search`,className:`form-control input search-input`,id:`${t}-input`,placeholder:g,"aria-label":g,role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":A,"aria-controls":`${t}-list`,"aria-activedescendant":A&&C>=0?`${t}-opt-${C}`:void 0,autoComplete:`off`,value:r,onChange:e=>{b(!1),i?.(e.target.value)},onKeyDown:M})]}),m(`div`,{className:`wui-topsearch-results`,id:`${t}-list`,role:`listbox`,"aria-label":`Search results`,hidden:!A,children:A&&h(`div`,{className:`wui-topsearch-groups`,role:`presentation`,children:[j===0&&h(`div`,{className:`wui-topsearch-empty`,role:`option`,"aria-disabled":`true`,"aria-selected":`false`,children:[`No results for “`,r,`”`]}),a.filter(e=>e.hits?.length).map((e,r)=>h(`div`,{className:`wui-topsearch-group`,role:`group`,"aria-label":e.label??``,children:[e.label&&m(`div`,{className:`wui-topsearch-group-label`,role:`presentation`,children:e.label}),e.hits.map(e=>{N+=1;let r=N;return h(`a`,{className:`wui-topsearch-hit${r===C?` is-active`:``}`,role:`option`,"aria-selected":r===C,id:`${t}-opt-${r}`,href:e.href,ref:e=>{D.current[r]=e},onClick:t=>s?.(e,t),children:[e.icon&&m(`span`,{className:`wui-topsearch-hit-icon`,children:m(n,{name:e.icon,size:18})}),h(`span`,{className:`wui-topsearch-hit-text`,children:[m(`span`,{className:`wui-topsearch-hit-title`,children:e.title}),e.subtitle&&m(`span`,{className:`wui-topsearch-hit-sub`,children:e.subtitle})]})]},`${e.href}-${r}`)})]},e.label??r))]})})]}),m(`span`,{className:`visually-hidden`,"aria-live":`polite`,children:A?j===0?`No results`:`${j} ${j===1?`result`:`results`}`:``})]})}export{x as default};
|