@webority/ui-react 0.107.0 → 0.108.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/canvas-kit/kit.js +26159 -26822
- package/dist/canvas-kit/manifest.json +1130 -1695
- package/dist/canvas-kit/release.json +6 -6
- package/dist/components/AppAccordion.js +1 -1
- package/dist/components/AppActionIcon.js +1 -1
- package/dist/components/AppAlert.js +1 -1
- package/dist/components/AppAsyncBlock.js +1 -1
- package/dist/components/AppAutocomplete.js +1 -1
- package/dist/components/AppAvatar.js +1 -1
- package/dist/components/AppAvatarGroup.js +1 -1
- package/dist/components/AppBadge.js +1 -1
- package/dist/components/AppBanner.js +1 -1
- package/dist/components/AppBreadcrumbs.js +1 -1
- package/dist/components/AppButton.js +1 -1
- package/dist/components/AppButtonGroup.js +1 -1
- package/dist/components/AppCalendar.js +1 -1
- package/dist/components/AppCard.js +1 -1
- package/dist/components/AppCarousel.js +1 -1
- package/dist/components/AppChart.js +1 -1
- package/dist/components/AppChartCard.js +1 -1
- package/dist/components/AppCheckbox.js +1 -1
- package/dist/components/AppChip.js +1 -1
- package/dist/components/AppChipGroup.js +1 -1
- package/dist/components/AppChoiceCard.js +1 -1
- package/dist/components/AppChoiceChip.js +1 -1
- package/dist/components/AppCodeBlock.js +1 -1
- package/dist/components/AppColorField.js +1 -1
- package/dist/components/AppColumnMenu.js +1 -1
- package/dist/components/AppCommandPalette.js +1 -1
- package/dist/components/AppCommentThread.js +1 -1
- package/dist/components/AppCompareTable.js +1 -1
- package/dist/components/AppConfirmDialog.js +1 -1
- package/dist/components/AppConsentBanner.js +1 -1
- package/dist/components/AppContextMenu.js +1 -1
- package/dist/components/AppCopyButton.js +1 -1
- package/dist/components/AppCountryFlag.js +1 -1
- package/dist/components/AppCountrySelect.js +1 -1
- package/dist/components/AppDashboardCell.js +1 -1
- package/dist/components/AppDashboardGrid.js +1 -1
- package/dist/components/AppDataTable.js +1 -1
- package/dist/components/AppDatePicker.js +1 -1
- package/dist/components/AppDateRangePicker.js +1 -1
- package/dist/components/AppDescriptions.js +1 -1
- package/dist/components/AppDetailPane.js +1 -1
- package/dist/components/AppDrawer.js +1 -1
- package/dist/components/AppDropZone.js +1 -1
- package/dist/components/AppDropdown.js +1 -1
- package/dist/components/AppDueDate.js +1 -1
- package/dist/components/AppEmptyState.js +1 -1
- package/dist/components/AppErrorSummary.js +1 -1
- package/dist/components/AppFileAttachment.js +1 -1
- package/dist/components/AppFilePicker.js +1 -1
- package/dist/components/AppFileTiles.js +1 -1
- package/dist/components/AppFileViewer.js +1 -1
- package/dist/components/AppFilterBar.js +1 -1
- package/dist/components/AppFloatingDock.js +1 -1
- package/dist/components/AppFormActions.js +1 -1
- package/dist/components/AppFormRow.js +1 -1
- package/dist/components/AppFormSection.js +1 -1
- package/dist/components/AppHoverCard.js +1 -1
- package/dist/components/AppIcon.js +1 -1
- package/dist/components/AppImagePicker.js +1 -0
- package/dist/components/AppInfoTip.js +1 -1
- package/dist/components/AppInlineEdit.js +1 -1
- package/dist/components/AppInput.js +1 -1
- package/dist/components/AppInputGroup.js +1 -1
- package/dist/components/AppKanban.js +1 -1
- package/dist/components/AppKbd.js +1 -1
- package/dist/components/AppKpiTile.js +1 -1
- package/dist/components/AppLightbox.js +1 -1
- package/dist/components/AppLink.js +1 -1
- package/dist/components/AppMarkdown.js +1 -1
- package/dist/components/AppMentionInput.js +1 -1
- package/dist/components/AppMeter.js +1 -1
- package/dist/components/AppMetricStrip.js +1 -1
- package/dist/components/AppModal.js +1 -1
- package/dist/components/AppMultiSelect.js +1 -1
- package/dist/components/AppNavList.js +1 -1
- package/dist/components/AppNavigationMenu.js +1 -1
- package/dist/components/AppNotificationCenter.js +1 -1
- package/dist/components/AppNumberInput.js +1 -1
- package/dist/components/AppOnboardingChecklist.js +1 -1
- package/dist/components/AppOtpInput.js +1 -1
- package/dist/components/AppPageHeader.js +1 -1
- package/dist/components/AppPhoneNumberInput.js +1 -1
- package/dist/components/AppPricingCard.js +1 -1
- package/dist/components/AppProgress.js +1 -1
- package/dist/components/AppQrCode.js +1 -1
- package/dist/components/AppRadio.js +1 -1
- package/dist/components/AppRadioGroup.js +1 -1
- package/dist/components/AppRating.js +1 -1
- package/dist/components/AppRecordPager.js +1 -1
- package/dist/components/AppRelativeTime.js +1 -1
- package/dist/components/AppRepeater.js +1 -1
- package/dist/components/AppResizable.js +1 -1
- package/dist/components/AppResizableHandle.js +1 -1
- package/dist/components/AppResizablePanel.js +1 -1
- package/dist/components/AppResourceCard.js +1 -1
- package/dist/components/AppResult.js +1 -1
- package/dist/components/AppRichText.js +1 -1
- package/dist/components/AppRollingNumber.js +1 -1
- package/dist/components/AppRouteError.js +1 -1
- package/dist/components/AppScrollbar.js +1 -1
- package/dist/components/AppSearch.js +1 -1
- package/dist/components/AppSectionCallToAction.js +1 -1
- package/dist/components/AppSectionFaq.js +1 -1
- package/dist/components/AppSectionFeatures.js +1 -1
- package/dist/components/AppSectionHero.js +1 -1
- package/dist/components/AppSectionLeadCapture.js +1 -0
- package/dist/components/AppSectionLogos.js +1 -1
- package/dist/components/AppSectionPricing.js +1 -1
- package/dist/components/AppSectionTestimonials.js +1 -1
- package/dist/components/AppSegmented.js +1 -1
- package/dist/components/AppSelect.js +1 -1
- package/dist/components/AppSeoHead.js +1 -0
- package/dist/components/AppShell.js +1 -1
- package/dist/components/AppShortcutLegend.js +1 -1
- package/dist/components/AppShowMore.js +1 -1
- package/dist/components/AppSkeleton.js +1 -1
- package/dist/components/AppSkeletonLines.js +1 -1
- package/dist/components/AppSlider.js +1 -1
- package/dist/components/AppSortableList.js +1 -1
- package/dist/components/AppSparkline.js +1 -1
- package/dist/components/AppSpinner.js +1 -1
- package/dist/components/AppSplash.js +1 -1
- package/dist/components/AppSplitButton.js +1 -1
- package/dist/components/AppSplitView.js +1 -1
- package/dist/components/AppStatusBadge.js +1 -1
- package/dist/components/AppStepper.js +1 -1
- package/dist/components/AppSwitch.js +1 -1
- package/dist/components/AppTablePagination.js +1 -1
- package/dist/components/AppTableToolbar.js +1 -1
- package/dist/components/AppTabs.js +1 -1
- package/dist/components/AppTagInput.js +1 -1
- package/dist/components/AppTextarea.js +1 -1
- package/dist/components/AppThemeToggle.js +1 -1
- package/dist/components/AppTimePicker.js +1 -1
- package/dist/components/AppTimeline.js +1 -1
- package/dist/components/AppToast.js +1 -1
- package/dist/components/AppToolbar.js +1 -1
- package/dist/components/AppTooltip.js +1 -1
- package/dist/components/AppTour.js +1 -1
- package/dist/components/AppTreeView.js +1 -1
- package/dist/components/AppTruncate.js +1 -1
- package/dist/components/AppUpdateBar.js +1 -1
- package/dist/components/AppWhatsNew.js +1 -1
- package/dist/components/AppWizard.js +1 -1
- package/dist/components/AppWorkspaceSwitcher.js +1 -1
- package/dist/components/iconCatalogNames.g.js +1 -1
- package/dist/components/iconGlyphs.g.js +1 -1
- package/dist/components/iconVariants.g.js +1 -1
- package/dist/guidance.json +119 -600
- package/dist/lib/useCommandPaletteShortcut.js +1 -1
- package/dist/lib/useFileDrop.js +1 -0
- package/dist/lib/wuiMarker.js +1 -1
- package/dist/types/components/AppAccordion.d.ts +1 -1
- package/dist/types/components/AppCompareTable.d.ts +45 -10
- package/dist/types/components/AppDescriptions.d.ts +10 -8
- package/dist/types/components/AppDrawer.d.ts +37 -0
- package/dist/types/components/AppEmptyState.d.ts +12 -5
- package/dist/types/components/AppImagePicker.d.ts +149 -0
- package/dist/types/components/AppInlineEdit.d.ts +0 -1
- package/dist/types/components/AppNavigationMenu.d.ts +1 -1
- package/dist/types/components/AppNotificationCenter.d.ts +16 -1
- package/dist/types/components/AppRecordPager.d.ts +2 -2
- package/dist/types/components/AppSectionLeadCapture.d.ts +67 -0
- package/dist/types/components/AppSelect.d.ts +7 -0
- package/dist/types/components/AppSeoHead.d.ts +42 -0
- package/dist/types/components/AppShortcutLegend.d.ts +13 -1
- package/dist/types/components/AppStepper.d.ts +2 -2
- package/dist/types/components/AppTablePagination.d.ts +36 -11
- package/dist/types/components/AppWhatsNew.d.ts +11 -2
- package/dist/types/components/iconGlyphs.g.d.ts +1 -0
- package/dist/types/components/iconVariants.g.d.ts +5 -0
- package/dist/types/index.d.ts +3 -8
- package/dist/types/lib/useFileDrop.d.ts +24 -0
- package/dist/types/lib/wuiMarker.d.ts +10 -0
- package/dist/ui-react.js +1 -1
- package/package.json +5 -5
- package/dist/components/AppAvatarPicker.js +0 -1
- package/dist/components/AppInfoList.js +0 -1
- package/dist/components/AppLogoPicker.js +0 -1
- package/dist/components/AppMenubar.js +0 -1
- package/dist/components/AppPagination.js +0 -1
- package/dist/components/AppSelectMini.js +0 -1
- package/dist/components/AppSidebarMenu.js +0 -1
- package/dist/components/AppTableEmptyState.js +0 -1
- package/dist/types/components/AppAvatarPicker.d.ts +0 -92
- package/dist/types/components/AppInfoList.d.ts +0 -29
- package/dist/types/components/AppLogoPicker.d.ts +0 -125
- package/dist/types/components/AppMenubar.d.ts +0 -50
- package/dist/types/components/AppPagination.d.ts +0 -39
- package/dist/types/components/AppSelectMini.d.ts +0 -53
- package/dist/types/components/AppSidebarMenu.d.ts +0 -90
- package/dist/types/components/AppTableEmptyState.d.ts +0 -22
|
@@ -15,9 +15,12 @@ import "@webority/ui-elements/elements/shortcuts";
|
|
|
15
15
|
* renders too. A phone has no keyboard, so leave the legend out of phone-only screens.
|
|
16
16
|
*
|
|
17
17
|
* @param {object} props
|
|
18
|
-
* @param {{ key: string, label: string, onPress?: (itemKey: string|null) => void }[]} [props.shortcuts]
|
|
18
|
+
* @param {{ key: string, label: string, group?: string, onPress?: (itemKey: string|null) => void }[]} [props.shortcuts] Rows sharing a group sit under that heading, groups in first-seen order.
|
|
19
19
|
* @param {string} [props.items]
|
|
20
20
|
* @param {string} [props.search]
|
|
21
|
+
* @param {boolean} [props.open] Controlled open state.
|
|
22
|
+
* @param {(open: boolean) => void} [props.onOpenChange]
|
|
23
|
+
* @param {boolean} [props.trigger] false renders no button; the sheet opens from "?", `open`, or any element with data-wui-shortcuts-open="#<id>". Default true.
|
|
21
24
|
* @param {string} [props.className]
|
|
22
25
|
*/
|
|
23
26
|
export default function AppShortcutLegend(props: {
|
|
@@ -28,12 +31,21 @@ export default function AppShortcutLegend(props: {
|
|
|
28
31
|
shortcuts?: {
|
|
29
32
|
key: string;
|
|
30
33
|
label: string;
|
|
34
|
+
group?: string;
|
|
31
35
|
onPress?: (itemKey: string | null) => void;
|
|
32
36
|
}[];
|
|
33
37
|
/** CSS selector of the items that J and K move between, inside the scope. */
|
|
34
38
|
items?: string;
|
|
35
39
|
/** CSS selector of the field that / focuses. */
|
|
36
40
|
search?: string;
|
|
41
|
+
/** Controlled open state of the sheet. */
|
|
42
|
+
open?: boolean;
|
|
43
|
+
onOpenChange?: (open: boolean) => void;
|
|
44
|
+
/**
|
|
45
|
+
* false renders no button; the sheet opens from ?, open, or a data-wui-shortcuts-open element.
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
trigger?: boolean;
|
|
37
49
|
/**
|
|
38
50
|
* Extra classes on the legend root.
|
|
39
51
|
* @default ""
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* @param {'linear'|'outline'|'bold'|'bulk'|'broken'|'twotone'} [props.iconVariant]
|
|
27
27
|
* @param {'sm'|'md'|'lg'} [props.size]
|
|
28
28
|
* @param {number} [props.iconSize]
|
|
29
|
-
* @param {number} [props.
|
|
29
|
+
* @param {number} [props.active]
|
|
30
30
|
* @param {(step: object, index: number) => void} [props.onStepClick] Makes each step a
|
|
31
31
|
* button that reports the step it stands for. React-only (no Razor counterpart).
|
|
32
32
|
* @param {string} [props.label]
|
|
@@ -68,7 +68,7 @@ export default function AppStepper(props: {
|
|
|
68
68
|
/** The width and height in px of every step glyph. Unset, it follows size. */
|
|
69
69
|
iconSize?: number;
|
|
70
70
|
/** The index of the current step. Steps before it are done, the one at it is active, the rest are pending; a step's own status still wins. */
|
|
71
|
-
|
|
71
|
+
active?: number;
|
|
72
72
|
onStepClick?: (step: object, index: number) => void;
|
|
73
73
|
/**
|
|
74
74
|
* The accessible name of the list.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Pagination
|
|
2
|
+
* Pagination for a list or table. Under an AppDataTable it sits as a footer; standalone it pages
|
|
3
|
+
* cards, lists and search results. Pair with usePagination.
|
|
3
4
|
*
|
|
4
5
|
* A page-size menu ("10 per page") beside the page buttons. It shows no row range and no total:
|
|
5
6
|
* the page buttons already say where you are.
|
|
@@ -8,15 +9,19 @@
|
|
|
8
9
|
* `totalPages` is the page count, the name Razor and the shared response shape use.
|
|
9
10
|
*
|
|
10
11
|
* @param {object} props
|
|
11
|
-
* @param {number} props.page
|
|
12
|
-
* @param {number} [props.totalPages]
|
|
12
|
+
* @param {number} props.page One-based; clamped to 1..pages.
|
|
13
|
+
* @param {number} [props.totalPages] Wins over total.
|
|
13
14
|
* @param {number} [props.total]
|
|
14
|
-
* @param {number} props.pageSize
|
|
15
|
+
* @param {number} [props.pageSize] The page-size menu shows only with pageSize, onPageSizeChange and showPageSize not false.
|
|
15
16
|
* @param {(page: number) => void} [props.onPageChange]
|
|
16
17
|
* @param {(size: number) => void} [props.onPageSizeChange]
|
|
17
|
-
* @param {number[]} [props.pageSizes]
|
|
18
|
-
* @param {
|
|
19
|
-
* @param {boolean} [props.showPageSize]
|
|
18
|
+
* @param {number[]} [props.pageSizes] Default [5, 10, 25, 50]; the current pageSize is always offered.
|
|
19
|
+
* @param {"numbered"|"prev-next"} [props.mode]
|
|
20
|
+
* @param {boolean} [props.showPageSize] Default true.
|
|
21
|
+
* @param {number} [props.siblings] Window radius. Default 2.
|
|
22
|
+
* @param {"sm"|"md"} [props.size] sm is 28px controls. Default "md".
|
|
23
|
+
* @param {"footer"|"standalone"} [props.variant] footer: border-top, right aligned, under a table. standalone: centred, no border, for cards and lists. Default "footer".
|
|
24
|
+
* @param {string} [props.ariaLabel] Default "Pagination".
|
|
20
25
|
* @param {string} [props.className]
|
|
21
26
|
*/
|
|
22
27
|
export default function AppTablePagination(props: {
|
|
@@ -26,8 +31,8 @@ export default function AppTablePagination(props: {
|
|
|
26
31
|
totalPages?: number;
|
|
27
32
|
/** The number of rows across all pages. Used when totalPages is not given: the page count is the total divided by pageSize, rounded up. */
|
|
28
33
|
total?: number;
|
|
29
|
-
/** The rows per page. The page-size menu shows it as selected. */
|
|
30
|
-
pageSize
|
|
34
|
+
/** The rows per page. The page-size menu shows it as selected; without it, or without onPageSizeChange, no menu shows. */
|
|
35
|
+
pageSize?: number;
|
|
31
36
|
onPageChange?: (page: number) => void;
|
|
32
37
|
onPageSizeChange?: (size: number) => void;
|
|
33
38
|
/** The page sizes the menu offers. It offers 5, 10, 25 and 50 when left out. The current pageSize is added when it is not in the list. */
|
|
@@ -36,15 +41,35 @@ export default function AppTablePagination(props: {
|
|
|
36
41
|
* numbered shows windowed page buttons (first, last and an ellipsis over any run of hidden pages) between the arrows. prev-next shows the arrows with a Page N of M readout.
|
|
37
42
|
* @default "numbered"
|
|
38
43
|
*/
|
|
39
|
-
mode?:
|
|
44
|
+
mode?: "numbered" | "prev-next";
|
|
40
45
|
/**
|
|
41
46
|
* Shows the page-size menu. Set it to false for a pager that pages but does not expose the page size.
|
|
42
47
|
* @default true
|
|
43
48
|
*/
|
|
44
49
|
showPageSize?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The pages shown either side of the current page in numbered mode.
|
|
52
|
+
* @default 2
|
|
53
|
+
*/
|
|
54
|
+
siblings?: number;
|
|
55
|
+
/**
|
|
56
|
+
* sm draws 28px page and arrow buttons with 12px text.
|
|
57
|
+
* @default "md"
|
|
58
|
+
*/
|
|
59
|
+
size?: "sm" | "md";
|
|
60
|
+
/**
|
|
61
|
+
* footer sits under a table, right aligned, with a top rule. standalone is centred with no rule, for cards and lists.
|
|
62
|
+
* @default "footer"
|
|
63
|
+
*/
|
|
64
|
+
variant?: "footer" | "standalone";
|
|
65
|
+
/**
|
|
66
|
+
* The accessible name of the pager.
|
|
67
|
+
* @default "Pagination"
|
|
68
|
+
*/
|
|
69
|
+
ariaLabel?: string;
|
|
45
70
|
/**
|
|
46
71
|
* Extra class names added to the pager.
|
|
47
72
|
* @default ""
|
|
48
73
|
*/
|
|
49
74
|
className?: string;
|
|
50
|
-
}): import("react").JSX.Element;
|
|
75
|
+
}): import("react").JSX.Element | null;
|
|
@@ -9,13 +9,15 @@ import "@webority/ui-elements/elements/whats-new";
|
|
|
9
9
|
* The newest date the person has seen is kept in the browser under `storageKey`, so build the
|
|
10
10
|
* key with the user's id ("whats-new:" + userId): without an id two people on one browser
|
|
11
11
|
* share the state, and without a `storageKey` it lasts only until the page is left. To keep it
|
|
12
|
-
* on your server as well, save `onRead`'s date and pass
|
|
13
|
-
*
|
|
12
|
+
* on your server as well, save `onRead`'s date and pass it back as `readThrough`; the panel
|
|
13
|
+
* then treats everything up to the later of that date and the stored one as read.
|
|
14
14
|
*
|
|
15
15
|
* @param {object} props
|
|
16
16
|
* @param {{ id?: string, date: string, title: string, body?: string, imageSrc?: string,
|
|
17
17
|
* imageAlt?: string, href?: string, linkLabel?: string }[]} [props.entries]
|
|
18
18
|
* @param {string} [props.storageKey]
|
|
19
|
+
* @param {string} [props.readThrough] ISO date or date-time read on another device or saved on the server; the panel treats entries up to the later of it and the stored value as read.
|
|
20
|
+
* @param {"dot"|"count"} [props.indicator] Unread mark on the trigger. Default "dot".
|
|
19
21
|
* @param {string} [props.label]
|
|
20
22
|
* @param {string} [props.unreadLabel]
|
|
21
23
|
* @param {string} [props.emptyText]
|
|
@@ -39,6 +41,13 @@ export default function AppWhatsNew(props: {
|
|
|
39
41
|
}[];
|
|
40
42
|
/** Names where read state is kept. Include the user's id. */
|
|
41
43
|
storageKey?: string;
|
|
44
|
+
/** An ISO date or date-time read on another device or saved on the server. Entries up to the later of it and the stored read state count as read. */
|
|
45
|
+
readThrough?: string;
|
|
46
|
+
/**
|
|
47
|
+
* The unread mark on the trigger: a dot, or the number of unread entries.
|
|
48
|
+
* @default "dot"
|
|
49
|
+
*/
|
|
50
|
+
indicator?: "dot" | "count";
|
|
42
51
|
/**
|
|
43
52
|
* The trigger's name and the panel's heading.
|
|
44
53
|
* @default "What's new"
|
|
@@ -160,6 +160,7 @@ export declare const VARIANT_GLYPHS: {
|
|
|
160
160
|
refresh: string;
|
|
161
161
|
"refresh-cw": string;
|
|
162
162
|
repeat: string;
|
|
163
|
+
robot: string;
|
|
163
164
|
"rotate-ccw": string;
|
|
164
165
|
"rotate-cw": string;
|
|
165
166
|
search: string;
|
|
@@ -376,6 +377,7 @@ export declare const VARIANT_GLYPHS: {
|
|
|
376
377
|
refresh: string;
|
|
377
378
|
"refresh-cw": string;
|
|
378
379
|
repeat: string;
|
|
380
|
+
robot: string;
|
|
379
381
|
"rotate-ccw": string;
|
|
380
382
|
"rotate-cw": string;
|
|
381
383
|
search: string;
|
|
@@ -592,6 +594,7 @@ export declare const VARIANT_GLYPHS: {
|
|
|
592
594
|
refresh: string;
|
|
593
595
|
"refresh-cw": string;
|
|
594
596
|
repeat: string;
|
|
597
|
+
robot: string;
|
|
595
598
|
"rotate-ccw": string;
|
|
596
599
|
"rotate-cw": string;
|
|
597
600
|
search: string;
|
|
@@ -808,6 +811,7 @@ export declare const VARIANT_GLYPHS: {
|
|
|
808
811
|
refresh: string;
|
|
809
812
|
"refresh-cw": string;
|
|
810
813
|
repeat: string;
|
|
814
|
+
robot: string;
|
|
811
815
|
"rotate-ccw": string;
|
|
812
816
|
"rotate-cw": string;
|
|
813
817
|
search: string;
|
|
@@ -1024,6 +1028,7 @@ export declare const VARIANT_GLYPHS: {
|
|
|
1024
1028
|
refresh: string;
|
|
1025
1029
|
"refresh-cw": string;
|
|
1026
1030
|
repeat: string;
|
|
1031
|
+
robot: string;
|
|
1027
1032
|
"rotate-ccw": string;
|
|
1028
1033
|
"rotate-cw": string;
|
|
1029
1034
|
search: string;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ export { default as AppAsyncBlock } from "./components/AppAsyncBlock.jsx";
|
|
|
8
8
|
export { default as AppAutocomplete } from "./components/AppAutocomplete.jsx";
|
|
9
9
|
export { default as AppAvatar } from "./components/AppAvatar.jsx";
|
|
10
10
|
export { default as AppAvatarGroup } from "./components/AppAvatarGroup.jsx";
|
|
11
|
-
export { default as AppAvatarPicker } from "./components/AppAvatarPicker.jsx";
|
|
12
11
|
export { default as AppBadge } from "./components/AppBadge.jsx";
|
|
13
12
|
export { default as AppBanner } from "./components/AppBanner.jsx";
|
|
14
13
|
export { default as AppBreadcrumbs } from "./components/AppBreadcrumbs.jsx";
|
|
@@ -60,7 +59,7 @@ export { default as AppFormRow } from "./components/AppFormRow.jsx";
|
|
|
60
59
|
export { default as AppFormSection } from "./components/AppFormSection.jsx";
|
|
61
60
|
export { default as AppHoverCard } from "./components/AppHoverCard.jsx";
|
|
62
61
|
export { default as AppIcon, iconNames, registerIcons } from "./components/AppIcon.jsx";
|
|
63
|
-
export { default as
|
|
62
|
+
export { default as AppImagePicker } from "./components/AppImagePicker.jsx";
|
|
64
63
|
export { default as AppInfoTip } from "./components/AppInfoTip.jsx";
|
|
65
64
|
export { default as AppInlineEdit } from "./components/AppInlineEdit.jsx";
|
|
66
65
|
export { default as AppInput } from "./components/AppInput.jsx";
|
|
@@ -70,10 +69,8 @@ export { default as AppKbd } from "./components/AppKbd.jsx";
|
|
|
70
69
|
export { default as AppKpiTile } from "./components/AppKpiTile.jsx";
|
|
71
70
|
export { default as AppLightbox } from "./components/AppLightbox.jsx";
|
|
72
71
|
export { default as AppLink } from "./components/AppLink.jsx";
|
|
73
|
-
export { default as AppLogoPicker } from "./components/AppLogoPicker.jsx";
|
|
74
72
|
export { default as AppMarkdown } from "./components/AppMarkdown.jsx";
|
|
75
73
|
export { default as AppMentionInput } from "./components/AppMentionInput.jsx";
|
|
76
|
-
export { default as AppMenubar } from "./components/AppMenubar.jsx";
|
|
77
74
|
export { default as AppMeter } from "./components/AppMeter.jsx";
|
|
78
75
|
export { default as AppMetricStrip } from "./components/AppMetricStrip.jsx";
|
|
79
76
|
export { default as AppModal } from "./components/AppModal.jsx";
|
|
@@ -85,7 +82,6 @@ export { default as AppNumberInput } from "./components/AppNumberInput.jsx";
|
|
|
85
82
|
export { default as AppOnboardingChecklist } from "./components/AppOnboardingChecklist.jsx";
|
|
86
83
|
export { default as AppOtpInput } from "./components/AppOtpInput.jsx";
|
|
87
84
|
export { default as AppPageHeader } from "./components/AppPageHeader.jsx";
|
|
88
|
-
export { default as AppPagination } from "./components/AppPagination.jsx";
|
|
89
85
|
export { default as AppPhoneNumberInput } from "./components/AppPhoneNumberInput.jsx";
|
|
90
86
|
export { default as AppPopover } from "./components/AppPopover.jsx";
|
|
91
87
|
export { default as AppPricingCard } from "./components/AppPricingCard.jsx";
|
|
@@ -113,16 +109,16 @@ export { default as AppSectionCallToAction } from "./components/AppSectionCallTo
|
|
|
113
109
|
export { default as AppSectionFaq } from "./components/AppSectionFaq.jsx";
|
|
114
110
|
export { default as AppSectionFeatures } from "./components/AppSectionFeatures.jsx";
|
|
115
111
|
export { default as AppSectionHero } from "./components/AppSectionHero.jsx";
|
|
112
|
+
export { default as AppSectionLeadCapture } from "./components/AppSectionLeadCapture.jsx";
|
|
116
113
|
export { default as AppSectionLogos } from "./components/AppSectionLogos.jsx";
|
|
117
114
|
export { default as AppSectionPricing } from "./components/AppSectionPricing.jsx";
|
|
118
115
|
export { default as AppSectionTestimonials } from "./components/AppSectionTestimonials.jsx";
|
|
119
116
|
export { default as AppSegmented } from "./components/AppSegmented.jsx";
|
|
120
117
|
export { default as AppSelect } from "./components/AppSelect.jsx";
|
|
121
|
-
export { default as
|
|
118
|
+
export { default as AppSeoHead } from "./components/AppSeoHead.jsx";
|
|
122
119
|
export { default as AppShell } from "./components/AppShell.jsx";
|
|
123
120
|
export { default as AppShortcutLegend } from "./components/AppShortcutLegend.jsx";
|
|
124
121
|
export { default as AppShowMore } from "./components/AppShowMore.jsx";
|
|
125
|
-
export { default as AppSidebarMenu } from "./components/AppSidebarMenu.jsx";
|
|
126
122
|
export { AppSkeletonRows, default as AppSkeleton } from "./components/AppSkeleton.jsx";
|
|
127
123
|
export { default as AppSkeletonLines } from "./components/AppSkeletonLines.jsx";
|
|
128
124
|
export { default as AppSlider } from "./components/AppSlider.jsx";
|
|
@@ -135,7 +131,6 @@ export { default as AppSplitView } from "./components/AppSplitView.jsx";
|
|
|
135
131
|
export { default as AppStatusBadge } from "./components/AppStatusBadge.jsx";
|
|
136
132
|
export { default as AppStepper } from "./components/AppStepper.jsx";
|
|
137
133
|
export { default as AppSwitch } from "./components/AppSwitch.jsx";
|
|
138
|
-
export { default as AppTableEmptyState } from "./components/AppTableEmptyState.jsx";
|
|
139
134
|
export { default as AppTablePagination } from "./components/AppTablePagination.jsx";
|
|
140
135
|
export { default as AppTableToolbar } from "./components/AppTableToolbar.jsx";
|
|
141
136
|
export { default as AppTabs } from "./components/AppTabs.jsx";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Drag and drop for an upload part: tracks whether files are over it and applies the shared type and size checks (acceptDroppedFiles) on drop.
|
|
3
|
+
* @param {{ accept?: string, maxSizeMb?: number, multiple?: boolean, disabled?: boolean, onFiles: (files: File[]) => void, onReject: (rejection: { file: File, message: string }) => void }} options
|
|
4
|
+
* @returns {{ dragOver: boolean, dropProps: { onDragEnter: Function, onDragOver: Function, onDragLeave: Function, onDrop: Function } }}
|
|
5
|
+
*/
|
|
6
|
+
export default function useFileDrop({ accept, maxSizeMb, multiple, disabled, onFiles, onReject }: {
|
|
7
|
+
accept?: string;
|
|
8
|
+
maxSizeMb?: number;
|
|
9
|
+
multiple?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
onFiles: (files: File[]) => void;
|
|
12
|
+
onReject: (rejection: {
|
|
13
|
+
file: File;
|
|
14
|
+
message: string;
|
|
15
|
+
}) => void;
|
|
16
|
+
}): {
|
|
17
|
+
dragOver: boolean;
|
|
18
|
+
dropProps: {
|
|
19
|
+
onDragEnter: Function;
|
|
20
|
+
onDragOver: Function;
|
|
21
|
+
onDragLeave: Function;
|
|
22
|
+
onDrop: Function;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
@@ -30,3 +30,13 @@ export declare function wuiMarkerPropsOn(): boolean;
|
|
|
30
30
|
* @returns {Record<string, string>}
|
|
31
31
|
*/
|
|
32
32
|
export declare function wuiMarkerAttributes(componentName: string, props: Record<string, unknown>): Record<string, string>;
|
|
33
|
+
/**
|
|
34
|
+
* The marker attributes and the props without data-canvas and data-canvas-at, so a component that spreads its rest on an inner element never repeats the key or the stamp there.
|
|
35
|
+
* @param {string} componentName
|
|
36
|
+
* @param {Record<string, unknown>} props
|
|
37
|
+
* @returns {{ marker: Record<string, string>, props: Record<string, unknown> }}
|
|
38
|
+
*/
|
|
39
|
+
export declare function splitMarkerProps(componentName: string, props: Record<string, unknown>): {
|
|
40
|
+
marker: Record<string, string>;
|
|
41
|
+
props: Record<string, unknown>;
|
|
42
|
+
};
|
package/dist/ui-react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./components/warnInvalidValue.js";import t from"./components/AppTooltip.js";import n,{iconNames as r,registerIcons as i}from"./components/AppIcon.js";import a from"./components/AppAccordion.js";import o from"./components/AppActionIcon.js";import s from"./components/AppAlert.js";import c from"./components/AppButton.js";import l from"./components/AppEmptyState.js";import u from"./components/AppProgress.js";import d from"./components/AppAsyncBlock.js";import f from"./components/AppPopover.js";import p from"./components/AppInfoTip.js";import m from"./components/AppRequiredMark.js";import h from"./components/AppAutocomplete.js";import g from"./components/AppAvatar.js";import _ from"./components/AppAvatarGroup.js";import v from"./components/AppModal.js";import y from"./components/AppAvatarPicker.js";import b from"./components/AppBadge.js";import x from"./components/AppBanner.js";import S from"./components/AppBreadcrumbs.js";import C from"./components/AppButtonGroup.js";import w from"./components/AppCalendar.js";import T from"./components/AppCard.js";import E from"./components/AppCarousel.js";import D from"./components/AppChart.js";import O from"./components/AppDropdown.js";import k from"./components/AppSegmented.js";import A from"./components/AppChartCard.js";import j from"./components/AppCheckbox.js";import M from"./components/AppChip.js";import N from"./components/AppChipGroup.js";import P from"./components/AppChoiceCard.js";import F from"./components/AppChoiceChip.js";import I from"./components/AppCodeBlock.js";import L from"./components/AppColorField.js";import R from"./components/AppColumnMenu.js";import z from"./components/AppSpinner.js";import B from"./components/AppCommandPalette.js";import V from"./components/AppCommentThread.js";import H from"./components/AppCompareTable.js";import U from"./components/AppInput.js";import{MODAL_ICONS as W}from"./components/ModalIcons.js";import G from"./components/AppConfirmDialog.js";import K from"./components/AppConsentBanner.js";import q from"./components/AppContextMenu.js";import J from"./components/AppCopyButton.js";import Y from"./components/AppCountryFlag.js";import X from"./components/AppCountrySelect.js";import Z from"./components/AppDashboardCell.js";import Q from"./components/AppDashboardGrid.js";import $,{AppSkeletonRows as ee}from"./components/AppSkeleton.js";import te from"./components/AppSelectMini.js";import ne from"./components/AppTablePagination.js";import re from"./components/AppDataTable.js";import ie from"./components/AppDatePicker.js";import ae from"./components/AppDateRangePicker.js";import oe from"./components/AppDescriptions.js";import se from"./components/AppDetailPane.js";import ce from"./components/AppDrawer.js";import le from"./components/AppDropZone.js";import ue from"./components/AppDueDate.js";import de from"./components/AppErrorSummary.js";import fe from"./components/AppFileAttachment.js";import pe from"./components/AppFilePicker.js";import me from"./components/AppFileTiles.js";import he from"./components/AppFileViewer.js";import{buildListQuery as ge,parseListQuery as _e}from"./lib/listQuery.js";import ve from"./components/AppMultiSelect.js";import ye from"./components/AppSearch.js";import be from"./components/AppSelect.js";import xe from"./components/AppSwitch.js";import Se from"./components/AppFilterBar.js";import Ce from"./components/AppFloatingDock.js";import we from"./components/AppFormActions.js";import Te from"./components/AppFormRow.js";import Ee from"./components/AppFormSection.js";import De from"./components/AppHoverCard.js";import Oe from"./components/AppInfoList.js";import ke from"./components/AppInlineEdit.js";import Ae from"./components/AppInputGroup.js";import{dismissAll as je,errorToast as Me,toast as Ne}from"./components/toast.js";import Pe from"./components/AppKanban.js";import Fe from"./components/AppKbd.js";import Ie from"./components/AppSparkline.js";import Le from"./components/AppKpiTile.js";import Re from"./components/AppLightbox.js";import ze from"./components/AppLink.js";import Be from"./components/AppLogoPicker.js";import Ve from"./components/AppMarkdown.js";import He from"./components/AppMentionInput.js";import Ue from"./components/AppMenubar.js";import We from"./components/AppMeter.js";import Ge from"./components/AppMetricStrip.js";import Ke from"./components/AppNavigationMenu.js";import qe from"./components/AppNavList.js";import Je from"./components/AppNotificationCenter.js";import Ye from"./components/AppNumberInput.js";import Xe from"./components/AppOnboardingChecklist.js";import Ze from"./components/AppOtpInput.js";import Qe from"./components/AppPageHeader.js";import $e from"./components/AppPagination.js";import et from"./components/AppPhoneNumberInput.js";import tt from"./components/AppPricingCard.js";import nt from"./components/AppQrCode.js";import rt from"./components/AppRadio.js";import it from"./components/AppRadioGroup.js";import at from"./components/AppRating.js";import ot from"./components/AppRecordPager.js";import st from"./components/AppRelativeTime.js";import ct from"./components/AppRepeater.js";import lt from"./components/AppResizable.js";import ut from"./components/AppResizableHandle.js";import dt from"./components/AppResizablePanel.js";import ft from"./components/AppResourceCard.js";import pt from"./components/AppResult.js";import mt from"./components/AppRichText.js";import ht from"./components/AppRollingNumber.js";import gt from"./components/AppRouteError.js";import _t from"./components/AppScoreScale.js";import vt from"./components/AppScrollbar.js";import yt from"./components/AppSectionCallToAction.js";import bt from"./components/AppSectionFaq.js";import xt from"./components/AppSectionFeatures.js";import St from"./components/AppSectionHero.js";import Ct from"./components/AppSectionLogos.js";import wt from"./components/AppSectionPricing.js";import Tt from"./components/AppSectionTestimonials.js";import Et from"./components/AppShell.js";import Dt from"./components/AppShortcutLegend.js";import Ot from"./components/AppShowMore.js";import kt from"./components/AppSidebarMenu.js";import At from"./components/AppSkeletonLines.js";import jt from"./components/AppSlider.js";import Mt from"./components/AppSortableList.js";import Nt from"./components/AppSplash.js";import Pt from"./components/AppSplitButton.js";import Ft from"./components/AppSplitView.js";import It from"./components/AppStatusBadge.js";import Lt from"./components/AppStepper.js";import Rt from"./components/AppTableEmptyState.js";import zt from"./components/AppTableToolbar.js";import Bt from"./components/AppTabs.js";import Vt from"./components/AppTagInput.js";import Ht from"./components/AppTextarea.js";import Ut from"./components/AppThemeToggle.js";import Wt from"./components/AppTimeline.js";import Gt from"./components/AppTimePicker.js";import Kt from"./components/AppToast.js";import qt from"./components/AppToolbar.js";import Jt from"./components/AppTour.js";import Yt from"./components/AppTreeView.js";import Xt from"./components/AppTruncate.js";import Zt from"./components/AppUpdateBar.js";import Qt from"./components/AppWhatsNew.js";import $t from"./components/AppWizard.js";import en from"./components/AppWorkspaceSwitcher.js";import{useCommandPaletteShortcut as tn}from"./lib/useCommandPaletteShortcut.js";import{useFloatingStack as nn}from"./lib/useFloatingStack.js";import{useListQuery as rn}from"./lib/useListQuery.js";import{useListShortcuts as an}from"./lib/useListShortcuts.js";import{usePagination as on}from"./lib/usePagination.js";import{useTableView as sn}from"./lib/useTableView.js";import{mentionedIds as cn,parseMentionValue as ln}from"@webority/ui-elements/elements/mention-input";import{createLocalSeenStore as un}from"@webority/ui-elements/elements/tour";import{postedMasked as dn,themeBootScript as fn}from"@webority/ui-elements/helpers";export{a as AppAccordion,o as AppActionIcon,s as AppAlert,d as AppAsyncBlock,h as AppAutocomplete,g as AppAvatar,_ as AppAvatarGroup,y as AppAvatarPicker,b as AppBadge,x as AppBanner,S as AppBreadcrumbs,c as AppButton,C as AppButtonGroup,w as AppCalendar,T as AppCard,E as AppCarousel,D as AppChart,A as AppChartCard,j as AppCheckbox,M as AppChip,N as AppChipGroup,P as AppChoiceCard,F as AppChoiceChip,I as AppCodeBlock,L as AppColorField,R as AppColumnMenu,B as AppCommandPalette,V as AppCommentThread,H as AppCompareTable,G as AppConfirmDialog,K as AppConsentBanner,q as AppContextMenu,J as AppCopyButton,Y as AppCountryFlag,X as AppCountrySelect,Z as AppDashboardCell,Q as AppDashboardGrid,re as AppDataTable,ie as AppDatePicker,ae as AppDateRangePicker,oe as AppDescriptions,se as AppDetailPane,ce as AppDrawer,le as AppDropZone,O as AppDropdown,ue as AppDueDate,l as AppEmptyState,de as AppErrorSummary,fe as AppFileAttachment,pe as AppFilePicker,me as AppFileTiles,he as AppFileViewer,Se as AppFilterBar,Ce as AppFloatingDock,we as AppFormActions,Te as AppFormRow,Ee as AppFormSection,De as AppHoverCard,n as AppIcon,Oe as AppInfoList,p as AppInfoTip,ke as AppInlineEdit,U as AppInput,Ae as AppInputGroup,Pe as AppKanban,Fe as AppKbd,Le as AppKpiTile,Re as AppLightbox,ze as AppLink,Be as AppLogoPicker,Ve as AppMarkdown,He as AppMentionInput,Ue as AppMenubar,We as AppMeter,Ge as AppMetricStrip,v as AppModal,ve as AppMultiSelect,qe as AppNavList,Ke as AppNavigationMenu,Je as AppNotificationCenter,Ye as AppNumberInput,Xe as AppOnboardingChecklist,Ze as AppOtpInput,Qe as AppPageHeader,$e as AppPagination,et as AppPhoneNumberInput,f as AppPopover,tt as AppPricingCard,u as AppProgress,nt as AppQrCode,rt as AppRadio,it as AppRadioGroup,at as AppRating,ot as AppRecordPager,st as AppRelativeTime,ct as AppRepeater,m as AppRequiredMark,lt as AppResizable,ut as AppResizableHandle,dt as AppResizablePanel,ft as AppResourceCard,pt as AppResult,mt as AppRichText,ht as AppRollingNumber,gt as AppRouteError,_t as AppScoreScale,vt as AppScrollbar,ye as AppSearch,yt as AppSectionCallToAction,bt as AppSectionFaq,xt as AppSectionFeatures,St as AppSectionHero,Ct as AppSectionLogos,wt as AppSectionPricing,Tt as AppSectionTestimonials,k as AppSegmented,be as AppSelect,te as AppSelectMini,Et as AppShell,Dt as AppShortcutLegend,Ot as AppShowMore,kt as AppSidebarMenu,$ as AppSkeleton,At as AppSkeletonLines,ee as AppSkeletonRows,jt as AppSlider,Mt as AppSortableList,Ie as AppSparkline,z as AppSpinner,Nt as AppSplash,Pt as AppSplitButton,Ft as AppSplitView,It as AppStatusBadge,Lt as AppStepper,xe as AppSwitch,Rt as AppTableEmptyState,ne as AppTablePagination,zt as AppTableToolbar,Bt as AppTabs,Vt as AppTagInput,Ht as AppTextarea,Ut as AppThemeToggle,Gt as AppTimePicker,Wt as AppTimeline,Kt as AppToast,qt as AppToolbar,t as AppTooltip,Jt as AppTour,Yt as AppTreeView,Xt as AppTruncate,Zt as AppUpdateBar,Qt as AppWhatsNew,$t as AppWizard,en as AppWorkspaceSwitcher,W as MODAL_ICONS,ge as buildListQuery,un as createLocalSeenStore,je as dismissAll,Me as errorToast,r as iconNames,cn as mentionedIds,_e as parseListQuery,ln as parseMentionValue,dn as postedMasked,i as registerIcons,fn as themeBootScript,Ne as toast,tn as useCommandPaletteShortcut,nn as useFloatingStack,rn as useListQuery,an as useListShortcuts,on as usePagination,sn as useTableView,e as warnInvalidValue};
|
|
1
|
+
import e from"./components/warnInvalidValue.js";import t from"./components/AppTooltip.js";import n,{iconNames as r,registerIcons as i}from"./components/AppIcon.js";import a from"./components/AppAccordion.js";import o from"./components/AppActionIcon.js";import s from"./components/AppAlert.js";import c from"./components/AppButton.js";import l from"./components/AppEmptyState.js";import u from"./components/AppProgress.js";import d from"./components/AppAsyncBlock.js";import f from"./components/AppPopover.js";import p from"./components/AppInfoTip.js";import m from"./components/AppRequiredMark.js";import h from"./components/AppAutocomplete.js";import g from"./components/AppAvatar.js";import _ from"./components/AppAvatarGroup.js";import v from"./components/AppBadge.js";import y from"./components/AppBanner.js";import b from"./components/AppBreadcrumbs.js";import x from"./components/AppButtonGroup.js";import S from"./components/AppCalendar.js";import C from"./components/AppCard.js";import w from"./components/AppCarousel.js";import T from"./components/AppChart.js";import E from"./components/AppDropdown.js";import D from"./components/AppSegmented.js";import O from"./components/AppChartCard.js";import k from"./components/AppCheckbox.js";import A from"./components/AppChip.js";import j from"./components/AppChipGroup.js";import M from"./components/AppChoiceCard.js";import N from"./components/AppChoiceChip.js";import P from"./components/AppCodeBlock.js";import F from"./components/AppColorField.js";import I from"./components/AppColumnMenu.js";import L from"./components/AppModal.js";import R from"./components/AppSpinner.js";import z from"./components/AppCommandPalette.js";import B from"./components/AppCommentThread.js";import V from"./components/AppCompareTable.js";import H from"./components/AppInput.js";import{MODAL_ICONS as U}from"./components/ModalIcons.js";import W from"./components/AppConfirmDialog.js";import G from"./components/AppConsentBanner.js";import K from"./components/AppContextMenu.js";import q from"./components/AppCopyButton.js";import J from"./components/AppCountryFlag.js";import Y from"./components/AppCountrySelect.js";import X from"./components/AppDashboardCell.js";import Z from"./components/AppDashboardGrid.js";import Q,{AppSkeletonRows as $}from"./components/AppSkeleton.js";import ee from"./components/AppSelect.js";import te from"./components/AppTablePagination.js";import ne from"./components/AppDataTable.js";import re from"./components/AppDatePicker.js";import ie from"./components/AppDateRangePicker.js";import ae from"./components/AppDescriptions.js";import oe from"./components/AppDetailPane.js";import se from"./components/AppDrawer.js";import ce from"./components/AppDropZone.js";import le from"./components/AppDueDate.js";import ue from"./components/AppErrorSummary.js";import de from"./components/AppFileAttachment.js";import fe from"./components/AppFilePicker.js";import pe from"./components/AppFileTiles.js";import me from"./components/AppFileViewer.js";import{buildListQuery as he,parseListQuery as ge}from"./lib/listQuery.js";import _e from"./components/AppMultiSelect.js";import ve from"./components/AppSearch.js";import ye from"./components/AppSwitch.js";import be from"./components/AppFilterBar.js";import xe from"./components/AppFloatingDock.js";import Se from"./components/AppFormActions.js";import Ce from"./components/AppFormRow.js";import we from"./components/AppFormSection.js";import Te from"./components/AppHoverCard.js";import Ee from"./components/AppImagePicker.js";import De from"./components/AppInlineEdit.js";import Oe from"./components/AppInputGroup.js";import{dismissAll as ke,errorToast as Ae,toast as je}from"./components/toast.js";import Me from"./components/AppKanban.js";import Ne from"./components/AppKbd.js";import Pe from"./components/AppSparkline.js";import Fe from"./components/AppKpiTile.js";import Ie from"./components/AppLightbox.js";import Le from"./components/AppLink.js";import Re from"./components/AppMarkdown.js";import ze from"./components/AppMentionInput.js";import Be from"./components/AppMeter.js";import Ve from"./components/AppMetricStrip.js";import He from"./components/AppNavigationMenu.js";import Ue from"./components/AppNavList.js";import We from"./components/AppTabs.js";import Ge from"./components/AppNotificationCenter.js";import Ke from"./components/AppNumberInput.js";import qe from"./components/AppOnboardingChecklist.js";import Je from"./components/AppOtpInput.js";import Ye from"./components/AppPageHeader.js";import Xe from"./components/AppPhoneNumberInput.js";import Ze from"./components/AppPricingCard.js";import Qe from"./components/AppQrCode.js";import $e from"./components/AppRadio.js";import et from"./components/AppRadioGroup.js";import tt from"./components/AppRating.js";import nt from"./components/AppRecordPager.js";import rt from"./components/AppRelativeTime.js";import it from"./components/AppRepeater.js";import at from"./components/AppResizable.js";import ot from"./components/AppResizableHandle.js";import st from"./components/AppResizablePanel.js";import ct from"./components/AppResourceCard.js";import lt from"./components/AppResult.js";import ut from"./components/AppRichText.js";import dt from"./components/AppRollingNumber.js";import ft from"./components/AppRouteError.js";import pt from"./components/AppScoreScale.js";import mt from"./components/AppScrollbar.js";import ht from"./components/AppSectionCallToAction.js";import gt from"./components/AppSectionFaq.js";import _t from"./components/AppSectionFeatures.js";import vt from"./components/AppSectionHero.js";import yt from"./components/AppTextarea.js";import bt from"./components/AppSectionLeadCapture.js";import xt from"./components/AppSectionLogos.js";import St from"./components/AppSectionPricing.js";import Ct from"./components/AppSectionTestimonials.js";import wt from"./components/AppSeoHead.js";import Tt from"./components/AppShell.js";import Et from"./components/AppShortcutLegend.js";import Dt from"./components/AppShowMore.js";import Ot from"./components/AppSkeletonLines.js";import kt from"./components/AppSlider.js";import At from"./components/AppSortableList.js";import jt from"./components/AppSplash.js";import Mt from"./components/AppSplitButton.js";import Nt from"./components/AppSplitView.js";import Pt from"./components/AppStatusBadge.js";import Ft from"./components/AppStepper.js";import It from"./components/AppTableToolbar.js";import Lt from"./components/AppTagInput.js";import Rt from"./components/AppThemeToggle.js";import zt from"./components/AppTimeline.js";import Bt from"./components/AppTimePicker.js";import Vt from"./components/AppToast.js";import Ht from"./components/AppToolbar.js";import Ut from"./components/AppTour.js";import Wt from"./components/AppTreeView.js";import Gt from"./components/AppTruncate.js";import Kt from"./components/AppUpdateBar.js";import qt from"./components/AppWhatsNew.js";import Jt from"./components/AppWizard.js";import Yt from"./components/AppWorkspaceSwitcher.js";import{useCommandPaletteShortcut as Xt}from"./lib/useCommandPaletteShortcut.js";import{useFloatingStack as Zt}from"./lib/useFloatingStack.js";import{useListQuery as Qt}from"./lib/useListQuery.js";import{useListShortcuts as $t}from"./lib/useListShortcuts.js";import{usePagination as en}from"./lib/usePagination.js";import{useTableView as tn}from"./lib/useTableView.js";import{mentionedIds as nn,parseMentionValue as rn}from"@webority/ui-elements/elements/mention-input";import{createLocalSeenStore as an}from"@webority/ui-elements/elements/tour";import{postedMasked as on,themeBootScript as sn}from"@webority/ui-elements/helpers";export{a as AppAccordion,o as AppActionIcon,s as AppAlert,d as AppAsyncBlock,h as AppAutocomplete,g as AppAvatar,_ as AppAvatarGroup,v as AppBadge,y as AppBanner,b as AppBreadcrumbs,c as AppButton,x as AppButtonGroup,S as AppCalendar,C as AppCard,w as AppCarousel,T as AppChart,O as AppChartCard,k as AppCheckbox,A as AppChip,j as AppChipGroup,M as AppChoiceCard,N as AppChoiceChip,P as AppCodeBlock,F as AppColorField,I as AppColumnMenu,z as AppCommandPalette,B as AppCommentThread,V as AppCompareTable,W as AppConfirmDialog,G as AppConsentBanner,K as AppContextMenu,q as AppCopyButton,J as AppCountryFlag,Y as AppCountrySelect,X as AppDashboardCell,Z as AppDashboardGrid,ne as AppDataTable,re as AppDatePicker,ie as AppDateRangePicker,ae as AppDescriptions,oe as AppDetailPane,se as AppDrawer,ce as AppDropZone,E as AppDropdown,le as AppDueDate,l as AppEmptyState,ue as AppErrorSummary,de as AppFileAttachment,fe as AppFilePicker,pe as AppFileTiles,me as AppFileViewer,be as AppFilterBar,xe as AppFloatingDock,Se as AppFormActions,Ce as AppFormRow,we as AppFormSection,Te as AppHoverCard,n as AppIcon,Ee as AppImagePicker,p as AppInfoTip,De as AppInlineEdit,H as AppInput,Oe as AppInputGroup,Me as AppKanban,Ne as AppKbd,Fe as AppKpiTile,Ie as AppLightbox,Le as AppLink,Re as AppMarkdown,ze as AppMentionInput,Be as AppMeter,Ve as AppMetricStrip,L as AppModal,_e as AppMultiSelect,Ue as AppNavList,He as AppNavigationMenu,Ge as AppNotificationCenter,Ke as AppNumberInput,qe as AppOnboardingChecklist,Je as AppOtpInput,Ye as AppPageHeader,Xe as AppPhoneNumberInput,f as AppPopover,Ze as AppPricingCard,u as AppProgress,Qe as AppQrCode,$e as AppRadio,et as AppRadioGroup,tt as AppRating,nt as AppRecordPager,rt as AppRelativeTime,it as AppRepeater,m as AppRequiredMark,at as AppResizable,ot as AppResizableHandle,st as AppResizablePanel,ct as AppResourceCard,lt as AppResult,ut as AppRichText,dt as AppRollingNumber,ft as AppRouteError,pt as AppScoreScale,mt as AppScrollbar,ve as AppSearch,ht as AppSectionCallToAction,gt as AppSectionFaq,_t as AppSectionFeatures,vt as AppSectionHero,bt as AppSectionLeadCapture,xt as AppSectionLogos,St as AppSectionPricing,Ct as AppSectionTestimonials,D as AppSegmented,ee as AppSelect,wt as AppSeoHead,Tt as AppShell,Et as AppShortcutLegend,Dt as AppShowMore,Q as AppSkeleton,Ot as AppSkeletonLines,$ as AppSkeletonRows,kt as AppSlider,At as AppSortableList,Pe as AppSparkline,R as AppSpinner,jt as AppSplash,Mt as AppSplitButton,Nt as AppSplitView,Pt as AppStatusBadge,Ft as AppStepper,ye as AppSwitch,te as AppTablePagination,It as AppTableToolbar,We as AppTabs,Lt as AppTagInput,yt as AppTextarea,Rt as AppThemeToggle,Bt as AppTimePicker,zt as AppTimeline,Vt as AppToast,Ht as AppToolbar,t as AppTooltip,Ut as AppTour,Wt as AppTreeView,Gt as AppTruncate,Kt as AppUpdateBar,qt as AppWhatsNew,Jt as AppWizard,Yt as AppWorkspaceSwitcher,U as MODAL_ICONS,he as buildListQuery,an as createLocalSeenStore,ke as dismissAll,Ae as errorToast,r as iconNames,nn as mentionedIds,ge as parseListQuery,rn as parseMentionValue,on as postedMasked,i as registerIcons,sn as themeBootScript,je as toast,Xt as useCommandPaletteShortcut,Zt as useFloatingStack,Qt as useListQuery,$t as useListShortcuts,en as usePagination,tn as useTableView,e as warnInvalidValue};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webority/ui-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.108.0",
|
|
4
4
|
"description": "Webority shared React component library — App* primitives on react-bootstrap + the @webority/theme design system.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"type": "module",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
},
|
|
30
30
|
"sideEffects": false,
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@webority/theme": "0.
|
|
33
|
-
"@webority/ui-elements": "0.
|
|
32
|
+
"@webority/theme": "0.108.0",
|
|
33
|
+
"@webority/ui-elements": "0.108.0"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@webority/analytics": "^0.28.0",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"typescript": "^7.0.2",
|
|
57
57
|
"vite": "^8.0.12",
|
|
58
58
|
"vitest": "5.0.1",
|
|
59
|
-
"@webority/
|
|
60
|
-
"@webority/
|
|
59
|
+
"@webority/canvas-kit": "0.108.0",
|
|
60
|
+
"@webority/tokens": "0.108.0"
|
|
61
61
|
},
|
|
62
62
|
"scripts": {
|
|
63
63
|
"build": "vite build && tsc -p tsconfig.json && node ../../scripts/inject-meta-docs.mjs && node ../canvas-kit/dist/cli.js build --config canvas-kit.json --out dist/canvas-kit && node ../canvas-kit/dist/cli.js guidance --config canvas-kit.json --out dist/guidance.json && node ../../scripts/sync-rcl-assets.mjs analytics",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{wuiMarkerAttributes as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"./AppIcon.js";import i from"./AppAlert.js";import a from"./AppButton.js";import ee from"../lib/FieldMessage.js";import te from"./AppRequiredMark.js";import ne from"./AppModal.js";import{AVATAR_ACCEPT as re,AVATAR_MAX_SIZE_MB as ie,AVATAR_OUTPUT_SIZE as ae,AVATAR_PREVIEW_SIZES as o,AVATAR_TEXT as s,avatarCropOptions as oe,avatarUnreadableMessage as se,validateFile as ce}from"@webority/ui-elements/helpers";import{useCallback as le,useEffect as c,useId as ue,useRef as l,useState as u}from"react";import{Fragment as de,jsx as d,jsxs as f}from"react/jsx-runtime";import"@webority/ui-elements/elements/image-crop";var p={sm:64,md:96,lg:128},fe=o.join(` `);function m(o){let{value:m,initials:pe,onPick:me,onRemove:h,name:g,removeName:_,accept:v=re,maxSizeMb:he=ie,outputSize:ge=ae,size:y=`md`,label:b,hint:x,error:_e,required:ve=!1,loading:S=!1,disabled:ye=!1,ariaLabel:be,className:C=``,fieldClassName:w=``,style:xe,"data-canvas":Se,...T}=o;n(`AppAvatarPicker`,T),t(`AppAvatarPicker`,`size`,typeof y==`string`?y:null,Object.keys(p));let E=ue(),D=l(null),O=l(null),k=l(null),[A,j]=u(null),[M,N]=u(!1),[Ce,P]=u(!1),[we,F]=u(``),[I,L]=u(!1),[R,z]=u(null),[B,V]=u(`loading`),[H,U]=u(``),[W,G]=u(!1),Te=le(e=>{if(k.current=e,!e)return;let t=()=>{V(`ready`),e.querySelector(`.wui-crop-stage`)?.focus()},n=()=>V(`error`);return e.addEventListener(`load`,t),e.addEventListener(`error`,n),()=>{e.removeEventListener(`load`,t),e.removeEventListener(`error`,n),k.current=null}},[]);c(()=>()=>R&&URL.revokeObjectURL(R.url),[R]),c(()=>()=>A&&URL.revokeObjectURL(A),[A]),c(()=>{j(null),N(!1),P(!1)},[m]);let K=S||ye,q=M?null:A||(m&&!Ce?m:null),J=!!q,Ee=!K&&J&&!!(h||_),Y=_e||we,X=x&&!Y?`${E}-hint`:void 0,Z=Y?`${E}-error`:void 0,Q=Z||X,De=J?s.change:s.choose,Oe=typeof y==`number`?y:p[y]??p.md,ke=()=>{K||D.current?.click()},Ae=()=>{K||O.current?.click()},je=e=>{let t=ce(e,{accept:v,maxSizeMb:he});if(t){F(t);return}F(``),V(`loading`),U(``),z({file:e,url:URL.createObjectURL(e)})},Me=e=>{let t=e.target.files?.[0];e.target.value=``,t&&je(t)},Ne=e=>{if(e.preventDefault(),L(!1),K)return;let t=e.dataTransfer?.files?.[0];t&&je(t)},Pe=e=>{if(g&&D.current&&typeof DataTransfer==`function`){let t=new DataTransfer;t.items.add(e),D.current.files=t.files}N(!1),P(!1),j(URL.createObjectURL(e)),me(e)},Fe=async()=>{let{file:e}=R;G(!0),U(``);let t=null;try{t=await k.current?.toFile(oe(e,ge))}catch{t=null}if(G(!1),!t){U(s.cropFailed);return}z(null),Pe(t)},$=()=>{W||z(null)},Ie=()=>{j(null),N(!0),F(``),D.current&&(D.current.value=``),h?.()};return f(`div`,{...e(`AppAvatarPicker`,o),className:`field wui-avatar-picker-field${w?` ${w}`:``}`,children:[b&&f(`label`,{className:`label`,htmlFor:E,children:[b,ve&&d(te,{})]}),f(`div`,{className:`wui-avatar-picker${I?` is-dragging`:``}${C?` ${C}`:``}`,style:{"--wui-avatar-size":`${Oe}px`,...xe},onDragOver:e=>{e.preventDefault(),!K&&!I&&L(!0)},onDragLeave:()=>L(!1),onDrop:Ne,children:[f(`button`,{type:`button`,className:`wui-avatar-picker-face`,tabIndex:-1,"aria-label":be||De,"aria-describedby":Q,"aria-busy":S||void 0,disabled:K,onClick:ke,...T,children:[q?d(`img`,{className:`wui-avatar-picker-img`,src:q,alt:``,onError:()=>P(!0)}):d(`span`,{className:`wui-avatar-picker-placeholder`,"aria-hidden":`true`,children:pe||d(r,{name:`user`,size:Math.round(Oe*.5)})}),d(`span`,{className:`wui-avatar-picker-badge`,"aria-hidden":`true`,children:S?d(r,{name:`refresh-cw`,size:14,className:`wui-spin`}):d(r,{name:`camera`,size:14})})]}),f(`div`,{className:`wui-avatar-picker-actions`,children:[d(`button`,{type:`button`,className:`btn btn-secondary btn-sm`,disabled:K,"aria-describedby":Q,onClick:ke,children:De}),f(`button`,{type:`button`,className:`btn btn-secondary btn-sm wui-avatar-picker-camera`,disabled:K,onClick:Ae,children:[d(r,{name:`camera`,size:16}),s.camera]}),d(`button`,{type:`button`,className:`btn btn-secondary-danger btn-sm`,hidden:!Ee,onClick:Ie,children:s.remove})]}),d(`input`,{id:E,ref:D,type:`file`,name:g,hidden:!0,accept:v,disabled:K,onChange:Me}),d(`input`,{ref:O,type:`file`,hidden:!0,accept:`image/*`,capture:`user`,disabled:K,onChange:Me}),_&&d(`input`,{type:`hidden`,name:_,value:`true`,disabled:!M})]}),d(ee,{error:Y,hint:x,errorId:Z,hintId:X}),f(ne,{open:!!R,title:s.dialogTitle,subtitle:s.dialogSubtitle,dismissible:!W,staticBackdrop:W,onClose:$,footer:f(de,{children:[d(a,{type:`button`,variant:`secondary`,disabled:W,onClick:$,children:s.cancel}),d(a,{type:`button`,variant:`primary`,loading:W,disabled:B!==`ready`,onClick:Fe,children:s.save})]}),children:[B===`error`&&R&&d(i,{variant:`danger`,children:se(R.file)}),H&&d(i,{variant:`danger`,children:H}),R&&B!==`error`&&d(`wui-image-crop`,{ref:Te,src:R.url,aspect:`1`,round:!0,rotatable:!0,previews:fe})]})]})}export{m as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{wuiMarkerAttributes as e}from"../lib/wuiMarker.js";import t from"./warnUnknownProps.js";import n from"./renderIconProp.js";import{isEmpty as r}from"../lib/emptyValue.js";import{Fragment as i,jsx as a,jsxs as o}from"react/jsx-runtime";function s(s){let{items:c=[],className:l=``,...u}=s;return t(`AppInfoList`,u),a(`div`,{className:`info-list${l?` ${l}`:``}`,...e(`AppInfoList`,s),...u,children:c.map((e,t)=>{let s=r(e.value),c=o(i,{children:[a(`span`,{className:`info-icon`,children:n(e.icon,{size:16})}),o(`span`,{className:`info-meta`,children:[a(`span`,{className:`info-key`,children:e.label}),a(`span`,{className:`info-value${s?` is-empty`:``}`,children:s?`-`:e.value})]})]}),l=e.key??`${e.label}-${t}`;return e.href?a(`a`,{className:`info-row`,href:e.href,children:c},l):a(`div`,{className:`info-row`,children:c},l)})})}export{s as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{wuiMarkerAttributes as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import ee from"./withTooltip.js";import r from"./AppIcon.js";import i from"./AppAlert.js";import a from"./AppButton.js";import te from"../lib/FieldMessage.js";import ne from"./AppRequiredMark.js";import re from"./AppModal.js";import{DEFAULT_MAX_SIZE_MB as ie,validateFile as o}from"@webority/ui-elements/helpers";import{useCallback as ae,useEffect as s,useId as oe,useRef as se,useState as c}from"react";import{Fragment as ce,jsx as l,jsxs as u}from"react/jsx-runtime";import"@webority/ui-elements/elements/image-crop";var le=[`stacked`,`inline`,`profile`],ue=[`initials`,`avatar`],de=[`circle`,`rounded`,`square`],d={sm:72,md:120,lg:160},fe=`That image could not be cropped. Choose another one.`,pe=`That image could not be opened. Choose another one.`;function f(f){let{value:p,fallback:me,name:he,onPick:ge,onRemove:m,loading:h=!1,disabled:g=!1,accept:_=`image/png,image/jpeg,image/webp`,maxSizeMb:v=ie,crop:y,overlayIcon:_e=`image`,overlayLabel:b=`Update photo`,ariaLabel:ve=`Upload photo`,removeLabel:ye=`Remove photo`,label:be,hint:x,error:xe,layout:S=`stacked`,title:C,subtitle:w,required:Se=!1,variant:T=`initials`,size:E=`md`,shape:D=`circle`,className:O=``,"data-canvas":Ce,...we}=f;n(`AppLogoPicker`,we),t(`AppLogoPicker`,`layout`,S,le),t(`AppLogoPicker`,`variant`,T,ue),t(`AppLogoPicker`,`shape`,D,de),t(`AppLogoPicker`,`size`,typeof E==`string`?E:null,Object.keys(d));let k=y===`free`?null:typeof y==`number`&&Number.isFinite(y)&&y>0?y:void 0;y!=null&&k===void 0&&t(`AppLogoPicker`,`crop`,String(y),[`free`,`a positive number`]);let A=se(null),j=se(null),M=oe(),[N,P]=c(null),[Te,F]=c(``),[Ee,I]=c(!1),[L,R]=c(!1),[z,B]=c(null),[V,H]=c(!1),[U,W]=c(`loading`),[G,K]=c(``),De=ae(e=>{if(j.current=e,!e)return;let t=()=>W(`ready`),n=()=>W(`error`);return e.addEventListener(`load`,t),e.addEventListener(`error`,n),()=>{e.removeEventListener(`load`,t),e.removeEventListener(`error`,n),j.current=null}},[]);s(()=>()=>z&&URL.revokeObjectURL(z.url),[z]),s(()=>()=>N&&URL.revokeObjectURL(N),[N]),s(()=>{P(null),I(!1)},[p]);let q=h||g,J=N||(p&&!Ee?p:null),Y=xe||Te,Oe=x&&!Y?`${M}-hint`:void 0,ke=Y?`${M}-error`:void 0,Ae=!q&&(!!N||!!J&&!!m),je=()=>{q||A.current?.click()},Me=e=>{F(``),I(!1),P(URL.createObjectURL(e)),ge(e)},Ne=e=>{let t=k!==void 0&&e.type!==`image/svg+xml`,n=o(e,{accept:_,maxSizeMb:t?0:v});if(n){F(n);return}if(t){F(``),W(`loading`),K(``),B({file:e,url:URL.createObjectURL(e)});return}Me(e)},Pe=async()=>{let{file:e}=z;H(!0),K(``);let t=null;try{t=await j.current?.toFile({name:e.name,type:e.type,maxBytes:v>0?v*1024*1024:0})}catch{t=null}if(H(!1),!t){K(fe);return}B(null);let n=o(t,{accept:_,maxSizeMb:v});n?F(n):Me(t)},Fe=()=>{V||B(null)},Ie=e=>{let t=e.target.files?.[0];e.target.value=``,t&&Ne(t)},Le=e=>{if(e.preventDefault(),R(!1),q)return;let t=e.dataTransfer.files?.[0];t&&Ne(t)},Re=()=>{P(null),F(``),I(!1),A.current&&(A.current.value=``),m?.()},X=typeof E==`number`?E:d[E]??d.md,ze=Math.max(14,Math.round(X*.18)),Be=Math.round(X*.5),Ve=[`set-uploader`,T===`avatar`?`set-uploader--avatar`:``,D===`rounded`?`set-uploader--rounded`:D===`square`?`set-uploader--square`:``,L&&`is-dragging`].filter(Boolean).join(` `),He=S===`inline`,Ue=S===`profile`,Z=u(`div`,{className:`set-uploader-shell`,style:{"--wui-logo-size":`${X}px`},children:[l(`button`,{type:`button`,className:Ve,onClick:je,disabled:q,"aria-busy":h||void 0,"aria-label":ve,"aria-describedby":ke||Oe,onDragOver:e=>{e.preventDefault(),!q&&!L&&R(!0)},onDragLeave:e=>{e.preventDefault(),R(!1)},onDrop:Le,...we,children:u(`span`,{className:`set-uploader-ring`,"data-overlay-label":b,children:[J?l(`img`,{className:`set-uploader-img`,src:J,alt:``,onError:()=>I(!0)}):l(`span`,{className:`set-uploader-logo`,children:me||T===`avatar`&&l(r,{name:`user`,size:Be})}),h?l(`span`,{className:`set-uploader-overlay is-loading`,"aria-hidden":`true`,children:l(r,{name:`refresh-cw`,size:ze,className:`wui-spin`})}):!g&&u(`span`,{className:`set-uploader-overlay`,children:[l(r,{name:_e,size:ze}),l(`span`,{children:b})]})]})}),ee(l(`button`,{type:`button`,className:`set-uploader-remove`,hidden:!Ae,"aria-label":ye,onClick:Re,children:l(r,{name:`x`,size:14})}),Ae?ye:null),l(`input`,{id:M,ref:A,type:`file`,name:he,hidden:!0,accept:_,onChange:Ie,disabled:q}),k!==void 0&&u(re,{open:!!z,title:`Crop photo`,subtitle:`Drag the frame and zoom to choose what to keep.`,size:`lg`,staticBackdrop:!0,dismissible:!V,onClose:Fe,footer:u(ce,{children:[l(a,{type:`button`,variant:`secondary`,disabled:V,onClick:Fe,children:`Cancel`}),l(a,{type:`button`,variant:`primary`,loading:V,disabled:U!==`ready`,onClick:Pe,children:`Apply`})]}),children:[U===`error`&&l(i,{variant:`danger`,children:pe}),G&&l(i,{variant:`danger`,children:G}),z&&U!==`error`&&l(`wui-image-crop`,{ref:De,src:z.url,aspect:k??`free`,round:k===1&&D===`circle`})]})]}),We=x&&!Y?l(`div`,{className:`set-uploader-hint`,id:Oe,children:x}):null,Ge=Y?l(te,{error:Y,errorId:ke}):null,Q=be&&u(`label`,{className:`label`,htmlFor:M,children:[be,Se&&l(ne,{})]}),$=u(`div`,{className:`set-uploader-meta`,children:[C&&l(`div`,{className:`set-uploader-title`,children:C}),w&&l(`div`,{className:`set-uploader-subtitle`,children:w}),We,Ge]});return He?u(`div`,{...e(`AppLogoPicker`,f),className:`field set-uploader-field set-uploader-field--inline${O?` ${O}`:``}`,children:[Q,u(`div`,{className:`set-uploader-row`,children:[Z,$]})]}):Ue?u(`div`,{...e(`AppLogoPicker`,f),className:`field set-uploader-field set-uploader-field--profile${O?` ${O}`:``}`,children:[Q,Z,$]}):u(`div`,{...e(`AppLogoPicker`,f),className:`field set-uploader-field${O?` ${O}`:``}`,children:[Q,Z,We,Ge]})}export{f as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{wuiMarkerAttributes as e}from"../lib/wuiMarker.js";import t from"./warnUnknownProps.js";import{shortcutAria as n,shortcutChip as r}from"../lib/shortcutChip.js";import i from"./renderIconProp.js";import{jsx as a,jsxs as o}from"react/jsx-runtime";import"@webority/ui-elements/elements/menubar";function s(n){let{menus:r=[],ariaLabel:i=`Application menu`,linkComponent:s,className:l=``,...u}=n;return t(`AppMenubar`,u),a(`wui-menubar`,{class:[`wui-menubar`,l].filter(Boolean).join(` `),role:`menubar`,"aria-label":i,...e(`AppMenubar`,n),...u,children:r.map((e,t)=>o(`div`,{className:`wui-menubar-menu`,role:`none`,children:[a(`button`,{type:`button`,className:`wui-menubar-trigger`,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":`false`,"aria-disabled":e.disabled?`true`:void 0,tabIndex:t===0?0:-1,"data-key":e.key,children:e.label}),a(`div`,{className:`dropdown-menu wui-menubar-panel`,role:`menu`,"aria-label":e.label,tabIndex:-1,children:c(e.items??[],s)})]},e.key))})}function c(e,t){return e.map(e=>{if(e.divider)return a(`hr`,{className:`dropdown-divider`},e.key);let s=i(e.icon,{size:16});if(e.items?.length)return o(`div`,{className:`wui-menubar-sub`,role:`none`,children:[o(`button`,{type:`button`,className:`dropdown-item wui-menubar-subtrigger${e.danger?` danger`:``}${e.disabled?` disabled`:``}`,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":`false`,"aria-disabled":e.disabled?`true`:void 0,tabIndex:-1,"data-key":e.key,children:[s,e.label,i(`chevron-right`,{size:14,className:`wui-menubar-chevron`})]}),a(`div`,{className:`dropdown-menu wui-menubar-panel wui-menubar-subpanel`,role:`menu`,"aria-label":e.label,tabIndex:-1,children:c(e.items,t)})]},e.key);let l=!!e.to&&!e.disabled;return o(l?t??`a`:`button`,{...l?t?{to:e.to}:{href:e.to}:{type:`button`},className:`dropdown-item${e.danger?` danger`:``}${e.disabled?` disabled`:``}`,role:`menuitem`,tabIndex:-1,"data-key":e.key,"aria-disabled":e.disabled?`true`:void 0,"aria-keyshortcuts":n(e.shortcut),onClick:e.disabled?void 0:e.onClick,children:[s,e.label,r(e.shortcut)]},e.key)})}export{s as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{wuiMarkerAttributes as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import{pageWindow as r}from"../lib/pageWindow.js";import{jsx as i,jsxs as a}from"react/jsx-runtime";var o=[`sm`,`md`];function s(s){let{page:c,totalPages:l,onChange:u,siblings:d=1,size:f=`md`,ariaLabel:p=`Pagination`,className:m,...h}=s;if(n(`AppPagination`,h),t(`AppPagination`,`size`,f,o),l<=1)return null;let g=r(c,l,{siblingCount:d});return i(`nav`,{className:[`pagination-nav`,f&&`pagination-${f}`,m].filter(Boolean).join(` `),"aria-label":p,...e(`AppPagination`,s),...h,children:a(`ul`,{className:`pagination`,children:[i(`li`,{className:`page-item${c<=1?` disabled`:``}`,children:i(`button`,{type:`button`,className:`page-link`,onClick:()=>u(Math.max(1,c-1)),disabled:c<=1,"aria-label":`Previous page`,children:`Previous`})}),g.map(e=>typeof e==`number`?i(`li`,{className:`page-item${e===c?` active`:``}`,children:i(`button`,{type:`button`,className:`page-link`,onClick:()=>u(e),"aria-current":e===c?`page`:void 0,"aria-label":`Page ${e}`,children:e})},e):i(`li`,{className:`page-item disabled`,children:i(`span`,{className:`page-ellipsis`,"aria-hidden":`true`,children:`…`})},e)),i(`li`,{className:`page-item${c>=l?` disabled`:``}`,children:i(`button`,{type:`button`,className:`page-link`,onClick:()=>u(Math.min(l,c+1)),disabled:c>=l,"aria-label":`Next page`,children:`Next`})})]})})}export{s as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{wuiMarkerAttributes as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"./useNodeLabels.js";import i,{optionsEqual as a}from"./useWuiControl.js";import{useEffect as o}from"react";import{Fragment as s,jsx as c,jsxs as l}from"react/jsx-runtime";import"@webority/ui-elements/elements/select";var u=[`sm`,`lg`],d=(e,t)=>({value:e.value,label:t,icon:e.icon});function f(f){let{value:p,onChange:m,options:h=[],placeholder:g=`Select...`,name:_,ariaLabel:v,id:y,disabled:b,size:x,icon:S,prefix:C,className:w,...T}=f;n(`AppSelectMini`,T),t(`AppSelectMini`,`size`,x,u);let{setRef:E,innerRef:D}=i({value:p??``,onChange:m}),{portal:O,toElementOptions:k}=r(h);return o(()=>{let e=D.current;if(!e)return;let t=k(h,d);a(t,e.options)||(e.options=t)},[h,D,k]),o(()=>{let e=D.current;if(e)for(let[t,n]of[[`icon`,S],[`prefix`,C]])n==null||n===``?e.removeAttribute(t):e.setAttribute(t,n)},[S,C,D]),l(s,{children:[c(`wui-select`,{ref:E,name:_,compact:``,id:y,placeholder:g,"aria-label":v,size:x||void 0,disabled:b?``:void 0,className:w,...e(`AppSelectMini`,f),...T}),O]})}export{f as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{wuiMarkerAttributes as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"./AppIcon.js";import{Offcanvas as i}from"react-bootstrap";import{jsx as a,jsxs as o}from"react/jsx-runtime";var s={left:`start`,right:`end`,start:`start`,end:`end`,top:`top`,bottom:`bottom`},c={on:!0,static:`static`,off:!1};function l(l){let{show:u,onHide:d,side:f=`right`,title:p,titleIcon:m,header:h,children:g,footer:_,width:v,maxWidth:y,backdrop:b=`on`,scroll:x=!1,keyboard:S=!0,closeButton:C=!0,closeLabel:w=`Close`,responsive:T,className:E=``,bodyClassName:D=``,ariaLabel:O,...k}=l;n(`AppSidebarMenu`,k),t(`AppSidebarMenu`,`side`,f,Object.keys(s)),t(`AppSidebarMenu`,`backdrop`,b,Object.keys(c));let{style:A,...j}=k,M=s[f]||`end`,N=v||y||A?{...v&&{"--asm-width":v},...y&&{"--asm-max-width":y},...A}:void 0;return o(i,{...e(`AppSidebarMenu`,l),...j,show:u,onHide:d,placement:M,backdrop:c[b]??!0,scroll:x,keyboard:S,responsive:T,style:N,className:`app-sidebar-menu${E?` ${E}`:``}`,"aria-label":O||(typeof p==`string`?p:void 0),children:[h===void 0?(p!=null||C)&&o(`div`,{className:`drawer-header`,children:[p!=null&&o(`div`,{className:`drawer-title`,children:[m&&a(`span`,{className:`drawer-title-ic`,children:a(r,{name:m,size:18})}),p]}),C&&a(`button`,{type:`button`,className:`wui-drawer-close`,onClick:d,"aria-label":w,children:a(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:a(`path`,{d:`M18 6 6 18M6 6l12 12`})})})]}):h,a(i.Body,{className:D,children:g}),_&&a(`div`,{className:`asm-footer`,children:_})]})}export{l as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{wuiMarkerAttributes as e}from"../lib/wuiMarker.js";import t from"./warnInvalidValue.js";import n from"./warnUnknownProps.js";import r from"./renderIconProp.js";import i,{ILLUSTRATION_NAMES as a}from"../lib/emptyIllustration.js";import{jsx as o,jsxs as s}from"react/jsx-runtime";function c(c){let{icon:l,illustration:u,title:d,text:f,action:p,...m}=c;n(`AppTableEmptyState`,m),typeof u==`string`&&t(`AppTableEmptyState`,`illustration`,u,a);let h=typeof u==`string`&&a.includes(u),g=u!=null&&typeof u!=`string`?u:null;return s(`div`,{className:`tbl-empty`,...e(`AppTableEmptyState`,c),...m,children:[h?o(i,{name:u,className:`wui-empty-illustration`}):g?o(`span`,{className:`wui-empty-illustration wui-empty-illustration-custom`,"aria-hidden":`true`,children:g}):o(`span`,{className:`tbl-empty-icon`,children:r(l,{size:24})}),o(`div`,{className:`tbl-empty-title`,children:d}),f&&o(`div`,{className:`tbl-empty-text`,children:f}),p&&o(`div`,{className:`tbl-empty-action`,children:p})]})}export{c as default};
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import "@webority/ui-elements/elements/image-crop";
|
|
2
|
-
/**
|
|
3
|
-
* Profile photo picker: the current photo (or initials) beside Upload / Take photo / Remove. A
|
|
4
|
-
* chosen, dropped or camera photo opens a crop dialog (round frame, drag, zoom by slider, wheel or
|
|
5
|
-
* pinch, rotate, reset, two live previews); Save hands `onPick` a square WebP of `outputSize` px
|
|
6
|
-
* (PNG where the browser cannot encode WebP).
|
|
7
|
-
*
|
|
8
|
-
* @param {object} props
|
|
9
|
-
* @param {string|null} [props.value]
|
|
10
|
-
* @param {string} [props.initials]
|
|
11
|
-
* @param {(file: File) => void} props.onPick Receives the cropped square photo.
|
|
12
|
-
* @param {() => void} [props.onRemove] Shows Remove while there is a photo; called when it is pressed.
|
|
13
|
-
* @param {string} [props.name]
|
|
14
|
-
* @param {string} [props.removeName]
|
|
15
|
-
* @param {string} [props.accept]
|
|
16
|
-
* @param {number} [props.maxSizeMb]
|
|
17
|
-
* @param {number} [props.outputSize]
|
|
18
|
-
* @param {'sm'|'md'|'lg'|number} [props.size]
|
|
19
|
-
* @param {string} [props.label]
|
|
20
|
-
* @param {string} [props.hint]
|
|
21
|
-
* @param {string} [props.error]
|
|
22
|
-
* @param {boolean} [props.required]
|
|
23
|
-
* @param {boolean} [props.loading]
|
|
24
|
-
* @param {boolean} [props.disabled]
|
|
25
|
-
* @param {string} [props.ariaLabel]
|
|
26
|
-
* @param {string} [props.className]
|
|
27
|
-
* @param {string} [props.fieldClassName]
|
|
28
|
-
* @param {object} [props.style] Inline style; lands on the picker with `className`.
|
|
29
|
-
*/
|
|
30
|
-
export default function AppAvatarPicker(props: {
|
|
31
|
-
/** The current photo URL, or null when there is none. */
|
|
32
|
-
value?: string | null;
|
|
33
|
-
/** Shown when there is no photo. A person icon shows when it is empty. */
|
|
34
|
-
initials?: string;
|
|
35
|
-
onPick: (file: File) => void;
|
|
36
|
-
onRemove?: () => void;
|
|
37
|
-
/** The form field name. The cropped photo is written into the file input, so an uncontrolled form posts it. */
|
|
38
|
-
name?: string;
|
|
39
|
-
/** A form field that posts true once Remove is pressed. It also shows Remove while there is a photo. */
|
|
40
|
-
removeName?: string;
|
|
41
|
-
/** The file types a person may choose. Defaults to JPG, PNG, WebP and HEIC; HEIC opens only where the browser can decode it. */
|
|
42
|
-
accept?: string;
|
|
43
|
-
/**
|
|
44
|
-
* The size limit of the chosen photo in megabytes. 0 means no limit.
|
|
45
|
-
* @default 10
|
|
46
|
-
*/
|
|
47
|
-
maxSizeMb?: number;
|
|
48
|
-
/**
|
|
49
|
-
* The width and height of the saved square, in pixels.
|
|
50
|
-
* @default 512
|
|
51
|
-
*/
|
|
52
|
-
outputSize?: number;
|
|
53
|
-
/**
|
|
54
|
-
* The photo diameter: sm, md or lg, or a number of pixels.
|
|
55
|
-
* @default "md"
|
|
56
|
-
*/
|
|
57
|
-
size?: 'sm' | 'md' | 'lg' | number;
|
|
58
|
-
/** The text shown above the picker. */
|
|
59
|
-
label?: string;
|
|
60
|
-
/** Help text shown below the picker. An error replaces it. */
|
|
61
|
-
hint?: string;
|
|
62
|
-
/** An error message shown below the picker. It wins over a rejection reason. */
|
|
63
|
-
error?: string;
|
|
64
|
-
/**
|
|
65
|
-
* Marks the field as required.
|
|
66
|
-
* @default false
|
|
67
|
-
*/
|
|
68
|
-
required?: boolean;
|
|
69
|
-
/**
|
|
70
|
-
* Shows a spinner on the photo and blocks every action while a photo uploads.
|
|
71
|
-
* @default false
|
|
72
|
-
*/
|
|
73
|
-
loading?: boolean;
|
|
74
|
-
/**
|
|
75
|
-
* Blocks every action.
|
|
76
|
-
* @default false
|
|
77
|
-
*/
|
|
78
|
-
disabled?: boolean;
|
|
79
|
-
/** The accessible name of the photo button. Defaults to the words of the action. */
|
|
80
|
-
ariaLabel?: string;
|
|
81
|
-
/**
|
|
82
|
-
* Extra class on the picker (the photo and its actions).
|
|
83
|
-
* @default ""
|
|
84
|
-
*/
|
|
85
|
-
className?: string;
|
|
86
|
-
/**
|
|
87
|
-
* Extra class on the field wrapper.
|
|
88
|
-
* @default ""
|
|
89
|
-
*/
|
|
90
|
-
fieldClassName?: string;
|
|
91
|
-
style?: object;
|
|
92
|
-
}): import("react").JSX.Element;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A read-only list of label/value rows, each with a leading round icon tile —
|
|
3
|
-
* a contact card, a "details" panel in a drawer, a summary beside a form.
|
|
4
|
-
*
|
|
5
|
-
* A row with `href` renders as a link (mail/tel/an external doc); without one it
|
|
6
|
-
* renders as a plain row, so a non-actionable value never looks clickable.
|
|
7
|
-
*
|
|
8
|
-
* For editable values use the form primitives; for a status pill use
|
|
9
|
-
* `AppStatusBadge`. This is for stating facts.
|
|
10
|
-
*
|
|
11
|
-
* @param {object} props
|
|
12
|
-
* @param {{ key?: string, icon: string|import('react').ReactNode, label: string, value: import('react').ReactNode, href?: string }[]} props.items
|
|
13
|
-
* @param {string} [props.className]
|
|
14
|
-
*/
|
|
15
|
-
export default function AppInfoList(props: {
|
|
16
|
-
/** The rows, in order. Each row has an icon, a label and a value. */
|
|
17
|
-
items: {
|
|
18
|
-
key?: string;
|
|
19
|
-
icon: string | import('react').ReactNode;
|
|
20
|
-
label: string;
|
|
21
|
-
value: import('react').ReactNode;
|
|
22
|
-
href?: string;
|
|
23
|
-
}[];
|
|
24
|
-
/**
|
|
25
|
-
* Extra classes on the list.
|
|
26
|
-
* @default ""
|
|
27
|
-
*/
|
|
28
|
-
className?: string;
|
|
29
|
-
}): import("react").JSX.Element;
|