@scripso-homepad/ui 0.4.41 → 0.4.43
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/web/index.cjs +86 -51
- package/dist/web/index.cjs.map +1 -1
- package/dist/web/index.css +18 -0
- package/dist/web/index.css.map +1 -1
- package/dist/web/index.d.cts +9 -4
- package/dist/web/index.d.ts +9 -4
- package/dist/web/index.js +86 -51
- package/dist/web/index.js.map +1 -1
- package/package.json +1 -1
- package/src/web/components/Drawer.tsx +6 -5
- package/src/web/components/Modal.tsx +14 -6
- package/src/web/components/TableActionsMenu.tsx +90 -49
- package/src/web/components/modal-motion.css +19 -0
- package/src/web/layout/SidebarNavItem.tsx +23 -15
- package/src/web/layout/types.ts +2 -1
package/dist/web/index.css
CHANGED
|
@@ -88,6 +88,24 @@
|
|
|
88
88
|
border-radius: 9999px;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
/* src/web/components/modal-motion.css */
|
|
92
|
+
@keyframes homepad-modal-in {
|
|
93
|
+
from {
|
|
94
|
+
opacity: 0;
|
|
95
|
+
}
|
|
96
|
+
to {
|
|
97
|
+
opacity: 1;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
.homepad-modal-in {
|
|
101
|
+
animation: homepad-modal-in 300ms ease;
|
|
102
|
+
}
|
|
103
|
+
@media (prefers-reduced-motion: reduce) {
|
|
104
|
+
.homepad-modal-in {
|
|
105
|
+
animation: none;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
91
109
|
/* src/web/components/sonner-toast.css */
|
|
92
110
|
.homepad-toaster {
|
|
93
111
|
--width: 409px;
|
package/dist/web/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/web/components/table-scroll.css","../../src/web/components/drawer-scroll.css","../../src/web/components/sonner-toast.css"],"sourcesContent":[".table-scroll-area {\n scrollbar-color: var(--color-storm-gray-50, #eceef0) transparent;\n scrollbar-width: thin;\n}\n\n.table-scroll-area::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.table-scroll-area::-webkit-scrollbar-button,\n.table-scroll-area::-webkit-scrollbar-button:single-button,\n.table-scroll-area::-webkit-scrollbar-button:double-button,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:decrement,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:increment,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:vertical:decrement,\n.table-scroll-area::-webkit-scrollbar-button:vertical:increment,\n.table-scroll-area::-webkit-scrollbar-button:vertical:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:vertical:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:decrement,\n.table-scroll-area::-webkit-scrollbar-button:increment {\n display: none;\n width: 0;\n height: 0;\n max-width: 0;\n max-height: 0;\n min-width: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border: 0;\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.table-scroll-area::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.table-scroll-area::-webkit-scrollbar-thumb {\n background-color: var(--color-storm-gray-50, #eceef0);\n border-radius: 51px;\n}\n\n.table-scroll-area::-webkit-scrollbar-corner {\n background: transparent;\n}\n",".drawer-scroll-area {\n scrollbar-color: var(--color-storm-gray-200, #d5d9dd) transparent;\n /* Chrome 121+ ignores ::-webkit-scrollbar width when scrollbar-width is set. */\n scrollbar-width: unset;\n}\n\n/* Firefox has no ::-webkit-scrollbar; thin is the slimmest standard option. */\n@supports not selector(::-webkit-scrollbar) {\n .drawer-scroll-area {\n scrollbar-width: thin;\n }\n}\n\n.drawer-scroll-area::-webkit-scrollbar {\n width: 3px;\n height: 3px;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.drawer-scroll-area::-webkit-scrollbar-button,\n.drawer-scroll-area::-webkit-scrollbar-button:single-button,\n.drawer-scroll-area::-webkit-scrollbar-button:double-button,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:increment,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:start:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:end:increment,\n.drawer-scroll-area::-webkit-scrollbar-button:start:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:end:increment,\n.drawer-scroll-area::-webkit-scrollbar-button:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:increment {\n display: none;\n width: 0;\n height: 0;\n}\n\n.drawer-scroll-area::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.drawer-scroll-area::-webkit-scrollbar-thumb {\n background-color: var(--color-storm-gray-200, #d5d9dd);\n border-radius: 9999px;\n}\n",".homepad-toaster {\n --width: 409px;\n --gap: 12px;\n --border-radius: 20px;\n font-family: var(--font-sans, 'Noto Sans Armenian', ui-sans-serif, system-ui, sans-serif);\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] {\n align-items: center;\n gap: 16px;\n width: 409px;\n min-height: 72px;\n height: auto;\n padding: 12px 44px 12px 12px;\n background: #fff;\n border: 1px solid var(--color-storm-gray-50, #eceef0);\n border-radius: 20px;\n box-shadow: 0 1px 4px 0 #00000014;\n color: var(--color-slate-blue, #182e3c);\n overflow: visible;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'][data-front='true'] {\n height: auto !important;\n}\n\n.homepad-toaster\n [data-sonner-toast][data-styled='true'][data-mounted='true'][data-expanded='true'] {\n height: auto !important;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-icon] {\n width: auto;\n height: auto;\n margin: 0;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-content] {\n gap: 2px;\n min-width: 0;\n flex: 1;\n align-self: center;\n overflow: visible;\n}\n\n.homepad-toaster .homepad-toast__title {\n font-family: var(--font-sans, 'Noto Sans Armenian', ui-sans-serif, system-ui, sans-serif);\n font-size: 14px;\n font-weight: 700;\n line-height: 19px;\n letter-spacing: 0;\n color: var(--color-slate-blue, #182e3c);\n}\n\n.homepad-toaster .homepad-toast__description {\n font-family: var(--font-sans, 'Noto Sans Armenian', ui-sans-serif, system-ui, sans-serif);\n font-size: 12px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0;\n color: var(--color-slate-blue, #182e3c);\n}\n\n.homepad-toaster .homepad-toast__icon-badge {\n display: flex;\n width: 48px;\n height: 48px;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: 12px;\n border-radius: 12px;\n box-sizing: border-box;\n}\n\n.homepad-toaster .homepad-toast__icon-badge svg {\n width: 24px;\n height: 24px;\n margin: 0;\n flex-shrink: 0;\n}\n\n.homepad-toaster .homepad-toast__icon-badge--success {\n background: var(--color-emerald-green-0, #f0fbf5);\n}\n\n.homepad-toaster .homepad-toast__icon-badge--error {\n background: var(--color-ruby-red-0, #fff5f6);\n}\n\n.homepad-toaster .homepad-toast__icon-badge--warning {\n background: #f2a8001a;\n}\n\n.homepad-toaster .homepad-toast__icon-badge--info,\n.homepad-toaster .homepad-toast__icon-badge--default {\n background: #0f52c71a;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-close-button] {\n top: 50%;\n right: 12px;\n left: auto;\n width: 20px;\n height: 20px;\n transform: translateY(-50%);\n border: 0;\n background: transparent;\n box-shadow: none;\n cursor: pointer;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true']:hover [data-close-button]:hover {\n background: transparent;\n border-color: transparent;\n cursor: pointer;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-close-button] svg {\n width: 20px;\n height: 20px;\n}\n\n@media (max-width: 767px) {\n .homepad-toaster {\n --width: calc(100vw - 16px);\n }\n\n .homepad-toaster[data-sonner-toaster] {\n right: var(--mobile-offset-right, 8px);\n left: var(--mobile-offset-left, 8px);\n width: calc(100vw - 16px);\n max-width: calc(100vw - 16px);\n }\n\n .homepad-toaster [data-sonner-toast][data-styled='true'] {\n right: 0;\n left: 0;\n width: 100%;\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/web/components/table-scroll.css","../../src/web/components/drawer-scroll.css","../../src/web/components/modal-motion.css","../../src/web/components/sonner-toast.css"],"sourcesContent":[".table-scroll-area {\n scrollbar-color: var(--color-storm-gray-50, #eceef0) transparent;\n scrollbar-width: thin;\n}\n\n.table-scroll-area::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.table-scroll-area::-webkit-scrollbar-button,\n.table-scroll-area::-webkit-scrollbar-button:single-button,\n.table-scroll-area::-webkit-scrollbar-button:double-button,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:decrement,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:increment,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:vertical:decrement,\n.table-scroll-area::-webkit-scrollbar-button:vertical:increment,\n.table-scroll-area::-webkit-scrollbar-button:vertical:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:vertical:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:decrement,\n.table-scroll-area::-webkit-scrollbar-button:increment {\n display: none;\n width: 0;\n height: 0;\n max-width: 0;\n max-height: 0;\n min-width: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border: 0;\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.table-scroll-area::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.table-scroll-area::-webkit-scrollbar-thumb {\n background-color: var(--color-storm-gray-50, #eceef0);\n border-radius: 51px;\n}\n\n.table-scroll-area::-webkit-scrollbar-corner {\n background: transparent;\n}\n",".drawer-scroll-area {\n scrollbar-color: var(--color-storm-gray-200, #d5d9dd) transparent;\n /* Chrome 121+ ignores ::-webkit-scrollbar width when scrollbar-width is set. */\n scrollbar-width: unset;\n}\n\n/* Firefox has no ::-webkit-scrollbar; thin is the slimmest standard option. */\n@supports not selector(::-webkit-scrollbar) {\n .drawer-scroll-area {\n scrollbar-width: thin;\n }\n}\n\n.drawer-scroll-area::-webkit-scrollbar {\n width: 3px;\n height: 3px;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.drawer-scroll-area::-webkit-scrollbar-button,\n.drawer-scroll-area::-webkit-scrollbar-button:single-button,\n.drawer-scroll-area::-webkit-scrollbar-button:double-button,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:increment,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:start:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:end:increment,\n.drawer-scroll-area::-webkit-scrollbar-button:start:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:end:increment,\n.drawer-scroll-area::-webkit-scrollbar-button:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:increment {\n display: none;\n width: 0;\n height: 0;\n}\n\n.drawer-scroll-area::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.drawer-scroll-area::-webkit-scrollbar-thumb {\n background-color: var(--color-storm-gray-200, #d5d9dd);\n border-radius: 9999px;\n}\n","@keyframes homepad-modal-in {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n.homepad-modal-in {\n animation: homepad-modal-in 300ms ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .homepad-modal-in {\n animation: none;\n }\n}\n",".homepad-toaster {\n --width: 409px;\n --gap: 12px;\n --border-radius: 20px;\n font-family: var(--font-sans, 'Noto Sans Armenian', ui-sans-serif, system-ui, sans-serif);\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] {\n align-items: center;\n gap: 16px;\n width: 409px;\n min-height: 72px;\n height: auto;\n padding: 12px 44px 12px 12px;\n background: #fff;\n border: 1px solid var(--color-storm-gray-50, #eceef0);\n border-radius: 20px;\n box-shadow: 0 1px 4px 0 #00000014;\n color: var(--color-slate-blue, #182e3c);\n overflow: visible;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'][data-front='true'] {\n height: auto !important;\n}\n\n.homepad-toaster\n [data-sonner-toast][data-styled='true'][data-mounted='true'][data-expanded='true'] {\n height: auto !important;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-icon] {\n width: auto;\n height: auto;\n margin: 0;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-content] {\n gap: 2px;\n min-width: 0;\n flex: 1;\n align-self: center;\n overflow: visible;\n}\n\n.homepad-toaster .homepad-toast__title {\n font-family: var(--font-sans, 'Noto Sans Armenian', ui-sans-serif, system-ui, sans-serif);\n font-size: 14px;\n font-weight: 700;\n line-height: 19px;\n letter-spacing: 0;\n color: var(--color-slate-blue, #182e3c);\n}\n\n.homepad-toaster .homepad-toast__description {\n font-family: var(--font-sans, 'Noto Sans Armenian', ui-sans-serif, system-ui, sans-serif);\n font-size: 12px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0;\n color: var(--color-slate-blue, #182e3c);\n}\n\n.homepad-toaster .homepad-toast__icon-badge {\n display: flex;\n width: 48px;\n height: 48px;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: 12px;\n border-radius: 12px;\n box-sizing: border-box;\n}\n\n.homepad-toaster .homepad-toast__icon-badge svg {\n width: 24px;\n height: 24px;\n margin: 0;\n flex-shrink: 0;\n}\n\n.homepad-toaster .homepad-toast__icon-badge--success {\n background: var(--color-emerald-green-0, #f0fbf5);\n}\n\n.homepad-toaster .homepad-toast__icon-badge--error {\n background: var(--color-ruby-red-0, #fff5f6);\n}\n\n.homepad-toaster .homepad-toast__icon-badge--warning {\n background: #f2a8001a;\n}\n\n.homepad-toaster .homepad-toast__icon-badge--info,\n.homepad-toaster .homepad-toast__icon-badge--default {\n background: #0f52c71a;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-close-button] {\n top: 50%;\n right: 12px;\n left: auto;\n width: 20px;\n height: 20px;\n transform: translateY(-50%);\n border: 0;\n background: transparent;\n box-shadow: none;\n cursor: pointer;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true']:hover [data-close-button]:hover {\n background: transparent;\n border-color: transparent;\n cursor: pointer;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-close-button] svg {\n width: 20px;\n height: 20px;\n}\n\n@media (max-width: 767px) {\n .homepad-toaster {\n --width: calc(100vw - 16px);\n }\n\n .homepad-toaster[data-sonner-toaster] {\n right: var(--mobile-offset-right, 8px);\n left: var(--mobile-offset-left, 8px);\n width: calc(100vw - 16px);\n max-width: calc(100vw - 16px);\n }\n\n .homepad-toaster [data-sonner-toast][data-styled='true'] {\n right: 0;\n left: 0;\n width: 100%;\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/web/index.d.cts
CHANGED
|
@@ -13,6 +13,7 @@ type AdminNavItem = {
|
|
|
13
13
|
hidden?: boolean;
|
|
14
14
|
disabled?: boolean;
|
|
15
15
|
onClick?: () => void;
|
|
16
|
+
onboardingId?: string;
|
|
16
17
|
};
|
|
17
18
|
type AdminSidebarUser = {
|
|
18
19
|
fullName: string;
|
|
@@ -145,7 +146,7 @@ type SidebarNavItemProps = {
|
|
|
145
146
|
isActive: boolean;
|
|
146
147
|
onNavigate?: (item: AdminNavItem) => void;
|
|
147
148
|
};
|
|
148
|
-
declare function SidebarNavItem({ item, isOpen, isActive, onNavigate }: SidebarNavItemProps): react.JSX.Element | null;
|
|
149
|
+
declare function SidebarNavItem({ item, isOpen, isActive, onNavigate, }: SidebarNavItemProps): react.JSX.Element | null;
|
|
149
150
|
|
|
150
151
|
/**
|
|
151
152
|
* Matches React Router `<NavLink end>` semantics using a host-provided pathname.
|
|
@@ -276,7 +277,7 @@ type PaginationProps = {
|
|
|
276
277
|
};
|
|
277
278
|
declare function Pagination({ page, pageSize, total, onPageChange, labels, maxPageButtons, variant, className, hideOnSinglePage, }: PaginationProps): react.JSX.Element | null;
|
|
278
279
|
|
|
279
|
-
type TableActionsMenuItemTone =
|
|
280
|
+
type TableActionsMenuItemTone = "default" | "success" | "danger";
|
|
280
281
|
type TableActionsMenuItem = {
|
|
281
282
|
id: string;
|
|
282
283
|
label: string;
|
|
@@ -296,8 +297,11 @@ type TableActionsMenuProps = {
|
|
|
296
297
|
menuWidth?: number;
|
|
297
298
|
/** Size the menu to its content width instead of a fixed pixel width. Defaults to true so labels stay on one line. */
|
|
298
299
|
menuFitContent?: boolean;
|
|
300
|
+
/** Keep the menu open while a page tour is explaining this row. */
|
|
301
|
+
forceOpen?: boolean;
|
|
302
|
+
menuOnboardingId?: string;
|
|
299
303
|
};
|
|
300
|
-
declare function TableActionsMenu({ items, triggerAriaLabel, className, menuClassName, triggerIcon, menuWidth, menuFitContent, }: TableActionsMenuProps): react.JSX.Element | null;
|
|
304
|
+
declare function TableActionsMenu({ items, triggerAriaLabel, className, menuClassName, triggerIcon, menuWidth, menuFitContent, forceOpen, menuOnboardingId, }: TableActionsMenuProps): react.JSX.Element | null;
|
|
301
305
|
|
|
302
306
|
type TableRowActionsConfig = {
|
|
303
307
|
status: ReactNode;
|
|
@@ -474,10 +478,11 @@ type ModalProps = {
|
|
|
474
478
|
closeOnBackdrop?: boolean;
|
|
475
479
|
closeOnEscape?: boolean;
|
|
476
480
|
containerClassName?: string;
|
|
481
|
+
containerDataOnboarding?: string;
|
|
477
482
|
contentClassName?: string;
|
|
478
483
|
buttonClassName?: string;
|
|
479
484
|
};
|
|
480
|
-
declare function Modal({ open, title, subtitle, icon, iconContainerClassName, titleClassName, subtitleClassName, children, cancelText, confirmText, onCancel, onConfirm, footerAlign, footerLayout, cancelDisabled, confirmDisabled, closeOnBackdrop, closeOnEscape, containerClassName, contentClassName, buttonClassName, }: ModalProps): react.JSX.Element | null;
|
|
485
|
+
declare function Modal({ open, title, subtitle, icon, iconContainerClassName, titleClassName, subtitleClassName, children, cancelText, confirmText, onCancel, onConfirm, footerAlign, footerLayout, cancelDisabled, confirmDisabled, closeOnBackdrop, closeOnEscape, containerClassName, containerDataOnboarding, contentClassName, buttonClassName, }: ModalProps): react.JSX.Element | null;
|
|
481
486
|
|
|
482
487
|
type DrawerProps = {
|
|
483
488
|
open: boolean;
|
package/dist/web/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ type AdminNavItem = {
|
|
|
13
13
|
hidden?: boolean;
|
|
14
14
|
disabled?: boolean;
|
|
15
15
|
onClick?: () => void;
|
|
16
|
+
onboardingId?: string;
|
|
16
17
|
};
|
|
17
18
|
type AdminSidebarUser = {
|
|
18
19
|
fullName: string;
|
|
@@ -145,7 +146,7 @@ type SidebarNavItemProps = {
|
|
|
145
146
|
isActive: boolean;
|
|
146
147
|
onNavigate?: (item: AdminNavItem) => void;
|
|
147
148
|
};
|
|
148
|
-
declare function SidebarNavItem({ item, isOpen, isActive, onNavigate }: SidebarNavItemProps): react.JSX.Element | null;
|
|
149
|
+
declare function SidebarNavItem({ item, isOpen, isActive, onNavigate, }: SidebarNavItemProps): react.JSX.Element | null;
|
|
149
150
|
|
|
150
151
|
/**
|
|
151
152
|
* Matches React Router `<NavLink end>` semantics using a host-provided pathname.
|
|
@@ -276,7 +277,7 @@ type PaginationProps = {
|
|
|
276
277
|
};
|
|
277
278
|
declare function Pagination({ page, pageSize, total, onPageChange, labels, maxPageButtons, variant, className, hideOnSinglePage, }: PaginationProps): react.JSX.Element | null;
|
|
278
279
|
|
|
279
|
-
type TableActionsMenuItemTone =
|
|
280
|
+
type TableActionsMenuItemTone = "default" | "success" | "danger";
|
|
280
281
|
type TableActionsMenuItem = {
|
|
281
282
|
id: string;
|
|
282
283
|
label: string;
|
|
@@ -296,8 +297,11 @@ type TableActionsMenuProps = {
|
|
|
296
297
|
menuWidth?: number;
|
|
297
298
|
/** Size the menu to its content width instead of a fixed pixel width. Defaults to true so labels stay on one line. */
|
|
298
299
|
menuFitContent?: boolean;
|
|
300
|
+
/** Keep the menu open while a page tour is explaining this row. */
|
|
301
|
+
forceOpen?: boolean;
|
|
302
|
+
menuOnboardingId?: string;
|
|
299
303
|
};
|
|
300
|
-
declare function TableActionsMenu({ items, triggerAriaLabel, className, menuClassName, triggerIcon, menuWidth, menuFitContent, }: TableActionsMenuProps): react.JSX.Element | null;
|
|
304
|
+
declare function TableActionsMenu({ items, triggerAriaLabel, className, menuClassName, triggerIcon, menuWidth, menuFitContent, forceOpen, menuOnboardingId, }: TableActionsMenuProps): react.JSX.Element | null;
|
|
301
305
|
|
|
302
306
|
type TableRowActionsConfig = {
|
|
303
307
|
status: ReactNode;
|
|
@@ -474,10 +478,11 @@ type ModalProps = {
|
|
|
474
478
|
closeOnBackdrop?: boolean;
|
|
475
479
|
closeOnEscape?: boolean;
|
|
476
480
|
containerClassName?: string;
|
|
481
|
+
containerDataOnboarding?: string;
|
|
477
482
|
contentClassName?: string;
|
|
478
483
|
buttonClassName?: string;
|
|
479
484
|
};
|
|
480
|
-
declare function Modal({ open, title, subtitle, icon, iconContainerClassName, titleClassName, subtitleClassName, children, cancelText, confirmText, onCancel, onConfirm, footerAlign, footerLayout, cancelDisabled, confirmDisabled, closeOnBackdrop, closeOnEscape, containerClassName, contentClassName, buttonClassName, }: ModalProps): react.JSX.Element | null;
|
|
485
|
+
declare function Modal({ open, title, subtitle, icon, iconContainerClassName, titleClassName, subtitleClassName, children, cancelText, confirmText, onCancel, onConfirm, footerAlign, footerLayout, cancelDisabled, confirmDisabled, closeOnBackdrop, closeOnEscape, containerClassName, containerDataOnboarding, contentClassName, buttonClassName, }: ModalProps): react.JSX.Element | null;
|
|
481
486
|
|
|
482
487
|
type DrawerProps = {
|
|
483
488
|
open: boolean;
|
package/dist/web/index.js
CHANGED
|
@@ -28967,7 +28967,12 @@ function isNavItemActive(pathname, item) {
|
|
|
28967
28967
|
}
|
|
28968
28968
|
return pathname === item.to || pathname.startsWith(`${item.to}/`);
|
|
28969
28969
|
}
|
|
28970
|
-
function SidebarNavItem({
|
|
28970
|
+
function SidebarNavItem({
|
|
28971
|
+
item,
|
|
28972
|
+
isOpen,
|
|
28973
|
+
isActive,
|
|
28974
|
+
onNavigate
|
|
28975
|
+
}) {
|
|
28971
28976
|
if (item.hidden) {
|
|
28972
28977
|
return null;
|
|
28973
28978
|
}
|
|
@@ -28985,6 +28990,7 @@ function SidebarNavItem({ item, isOpen, isActive, onNavigate }) {
|
|
|
28985
28990
|
type: "button",
|
|
28986
28991
|
onClick: handleClick,
|
|
28987
28992
|
"aria-current": isActive ? "page" : void 0,
|
|
28993
|
+
"data-onboarding": item.onboardingId,
|
|
28988
28994
|
"aria-disabled": item.disabled,
|
|
28989
28995
|
disabled: item.disabled,
|
|
28990
28996
|
tabIndex: item.disabled ? -1 : void 0,
|
|
@@ -30076,7 +30082,10 @@ function clampMenuLeft(left, menuWidth) {
|
|
|
30076
30082
|
return left;
|
|
30077
30083
|
}
|
|
30078
30084
|
const minLeft = MENU_VIEWPORT_MARGIN_PX;
|
|
30079
|
-
const maxLeft = Math.max(
|
|
30085
|
+
const maxLeft = Math.max(
|
|
30086
|
+
minLeft,
|
|
30087
|
+
window.innerWidth - menuWidth - MENU_VIEWPORT_MARGIN_PX
|
|
30088
|
+
);
|
|
30080
30089
|
return Math.min(Math.max(left, minLeft), maxLeft);
|
|
30081
30090
|
}
|
|
30082
30091
|
function resolveMenuItemIcon(item) {
|
|
@@ -30099,7 +30108,9 @@ function TableActionsMenu({
|
|
|
30099
30108
|
menuClassName,
|
|
30100
30109
|
triggerIcon,
|
|
30101
30110
|
menuWidth = MENU_WIDTH_PX,
|
|
30102
|
-
menuFitContent = true
|
|
30111
|
+
menuFitContent = true,
|
|
30112
|
+
forceOpen,
|
|
30113
|
+
menuOnboardingId
|
|
30103
30114
|
}) {
|
|
30104
30115
|
const [open, setOpen] = useState(false);
|
|
30105
30116
|
const [menuPosition, setMenuPosition] = useState(null);
|
|
@@ -30108,8 +30119,17 @@ function TableActionsMenu({
|
|
|
30108
30119
|
const triggerRef = useRef(null);
|
|
30109
30120
|
const menuId = useId();
|
|
30110
30121
|
const closeMenu = useCallback(() => {
|
|
30122
|
+
if (forceOpen) {
|
|
30123
|
+
return;
|
|
30124
|
+
}
|
|
30111
30125
|
setOpen(false);
|
|
30112
|
-
}, []);
|
|
30126
|
+
}, [forceOpen]);
|
|
30127
|
+
useEffect(() => {
|
|
30128
|
+
if (forceOpen === void 0) {
|
|
30129
|
+
return;
|
|
30130
|
+
}
|
|
30131
|
+
setOpen(forceOpen);
|
|
30132
|
+
}, [forceOpen]);
|
|
30113
30133
|
const updateMenuPosition = useCallback(() => {
|
|
30114
30134
|
const trigger = triggerRef.current;
|
|
30115
30135
|
const menuEl = menuRef.current;
|
|
@@ -30119,7 +30139,10 @@ function TableActionsMenu({
|
|
|
30119
30139
|
const rect = trigger.getBoundingClientRect();
|
|
30120
30140
|
const viewportMaxWidth = typeof window === "undefined" ? menuWidth : Math.max(menuWidth, window.innerWidth - MENU_VIEWPORT_MARGIN_PX * 2);
|
|
30121
30141
|
const measuredWidth = menuFitContent ? menuEl?.offsetWidth || menuEl?.getBoundingClientRect().width || menuWidth : menuWidth;
|
|
30122
|
-
const resolvedMenuWidth = Math.min(
|
|
30142
|
+
const resolvedMenuWidth = Math.min(
|
|
30143
|
+
Math.max(measuredWidth, 1),
|
|
30144
|
+
viewportMaxWidth
|
|
30145
|
+
);
|
|
30123
30146
|
setMenuPosition({
|
|
30124
30147
|
top: rect.bottom + MENU_OFFSET_PX,
|
|
30125
30148
|
left: clampMenuLeft(rect.right - resolvedMenuWidth, resolvedMenuWidth)
|
|
@@ -30138,6 +30161,9 @@ function TableActionsMenu({
|
|
|
30138
30161
|
return;
|
|
30139
30162
|
}
|
|
30140
30163
|
const closeOnScroll = () => {
|
|
30164
|
+
if (forceOpen) {
|
|
30165
|
+
return;
|
|
30166
|
+
}
|
|
30141
30167
|
closeMenu();
|
|
30142
30168
|
};
|
|
30143
30169
|
window.addEventListener("resize", updateMenuPosition);
|
|
@@ -30154,7 +30180,7 @@ function TableActionsMenu({
|
|
|
30154
30180
|
window.removeEventListener("scroll", closeOnScroll, true);
|
|
30155
30181
|
document.removeEventListener("keydown", closeOnEscape);
|
|
30156
30182
|
};
|
|
30157
|
-
}, [closeMenu, open, updateMenuPosition]);
|
|
30183
|
+
}, [closeMenu, forceOpen, open, updateMenuPosition]);
|
|
30158
30184
|
if (items.length === 0) {
|
|
30159
30185
|
return null;
|
|
30160
30186
|
}
|
|
@@ -30174,6 +30200,7 @@ function TableActionsMenu({
|
|
|
30174
30200
|
visibility: menuPosition != null ? "visible" : "hidden",
|
|
30175
30201
|
pointerEvents: menuPosition != null ? "auto" : "none"
|
|
30176
30202
|
},
|
|
30203
|
+
...menuOnboardingId ? { "data-onboarding": menuOnboardingId } : {},
|
|
30177
30204
|
className: cn(
|
|
30178
30205
|
"z-50 overflow-hidden rounded-2xl border border-storm-gray-50 bg-white shadow-[0_4px_20px_0_rgba(0,0,0,0.05)]",
|
|
30179
30206
|
menuClassName
|
|
@@ -30458,6 +30485,7 @@ function Modal({
|
|
|
30458
30485
|
closeOnBackdrop = true,
|
|
30459
30486
|
closeOnEscape = true,
|
|
30460
30487
|
containerClassName,
|
|
30488
|
+
containerDataOnboarding,
|
|
30461
30489
|
contentClassName,
|
|
30462
30490
|
buttonClassName
|
|
30463
30491
|
}) {
|
|
@@ -30482,14 +30510,11 @@ function Modal({
|
|
|
30482
30510
|
if (!open) {
|
|
30483
30511
|
return null;
|
|
30484
30512
|
}
|
|
30485
|
-
const sharedButtonClassName = cn(
|
|
30486
|
-
"btn h-13 w-full! min-w-0! justify-center!",
|
|
30487
|
-
buttonClassName
|
|
30488
|
-
);
|
|
30513
|
+
const sharedButtonClassName = cn("btn h-13 w-full! min-w-0! justify-center!", buttonClassName);
|
|
30489
30514
|
const modal = /* @__PURE__ */ jsx(
|
|
30490
30515
|
"div",
|
|
30491
30516
|
{
|
|
30492
|
-
className: "fixed inset-0 z-[100] flex items-center justify-center p-4 backdrop-blur-[12px]
|
|
30517
|
+
className: "homepad-modal-in fixed inset-0 z-[100] flex items-center justify-center bg-storm-gray-850/40 p-4 backdrop-blur-[12px]",
|
|
30493
30518
|
onPointerDown: backdropDismiss.onPointerDown,
|
|
30494
30519
|
onClick: backdropDismiss.onClick,
|
|
30495
30520
|
role: "presentation",
|
|
@@ -30500,6 +30525,7 @@ function Modal({
|
|
|
30500
30525
|
"aria-modal": "true",
|
|
30501
30526
|
"aria-labelledby": "homepad-modal-title",
|
|
30502
30527
|
...subtitle ? { "aria-describedby": "homepad-modal-subtitle" } : {},
|
|
30528
|
+
...containerDataOnboarding ? { "data-onboarding": containerDataOnboarding } : {},
|
|
30503
30529
|
className: cn(
|
|
30504
30530
|
"flex max-h-[min(90dvh,calc(100dvh-2rem))] w-full max-w-2xl flex-col gap-6 rounded-2xl bg-white p-4 opacity-100 md:p-6",
|
|
30505
30531
|
containerClassName
|
|
@@ -30538,7 +30564,16 @@ function Modal({
|
|
|
30538
30564
|
) : null
|
|
30539
30565
|
] })
|
|
30540
30566
|
] }),
|
|
30541
|
-
/* @__PURE__ */ jsx(
|
|
30567
|
+
/* @__PURE__ */ jsx(
|
|
30568
|
+
"div",
|
|
30569
|
+
{
|
|
30570
|
+
className: cn(
|
|
30571
|
+
"drawer-scroll-area min-h-0 min-w-0 flex-1 overflow-y-auto",
|
|
30572
|
+
contentClassName
|
|
30573
|
+
),
|
|
30574
|
+
children
|
|
30575
|
+
}
|
|
30576
|
+
),
|
|
30542
30577
|
/* @__PURE__ */ jsxs(
|
|
30543
30578
|
"footer",
|
|
30544
30579
|
{
|
|
@@ -30680,7 +30715,7 @@ function Drawer({
|
|
|
30680
30715
|
window.removeEventListener("keydown", handleKeyDown);
|
|
30681
30716
|
};
|
|
30682
30717
|
}, [isPresent, onClose]);
|
|
30683
|
-
if (!isPresent) {
|
|
30718
|
+
if (!open && !isPresent) {
|
|
30684
30719
|
return null;
|
|
30685
30720
|
}
|
|
30686
30721
|
const drawer = /* @__PURE__ */ jsxs(
|
|
@@ -30718,48 +30753,48 @@ function Drawer({
|
|
|
30718
30753
|
className
|
|
30719
30754
|
),
|
|
30720
30755
|
children: [
|
|
30721
|
-
/* @__PURE__ */ jsxs(
|
|
30722
|
-
"
|
|
30723
|
-
|
|
30724
|
-
|
|
30725
|
-
|
|
30726
|
-
|
|
30727
|
-
|
|
30728
|
-
|
|
30729
|
-
|
|
30730
|
-
|
|
30731
|
-
|
|
30732
|
-
|
|
30733
|
-
|
|
30734
|
-
|
|
30756
|
+
/* @__PURE__ */ jsxs("header", { className: cn("shrink-0 border-b border-storm-gray-50", headerClassName), children: [
|
|
30757
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between pt-6 pr-6 pb-4 pl-6", children: [
|
|
30758
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex flex-col gap-1", children: [
|
|
30759
|
+
/* @__PURE__ */ jsx(
|
|
30760
|
+
"h2",
|
|
30761
|
+
{
|
|
30762
|
+
id: "homepad-drawer-title",
|
|
30763
|
+
className: "typography-title-sm tracking-normal text-black",
|
|
30764
|
+
children: title
|
|
30765
|
+
}
|
|
30766
|
+
),
|
|
30767
|
+
subtitle ? /* @__PURE__ */ jsx(
|
|
30768
|
+
"p",
|
|
30769
|
+
{
|
|
30770
|
+
id: "homepad-drawer-subtitle",
|
|
30771
|
+
className: cn(
|
|
30772
|
+
"typography-body tracking-normal text-storm-gray-400",
|
|
30773
|
+
subtitleClassName
|
|
30735
30774
|
),
|
|
30736
|
-
subtitle
|
|
30737
|
-
|
|
30738
|
-
|
|
30739
|
-
|
|
30740
|
-
|
|
30741
|
-
|
|
30742
|
-
|
|
30743
|
-
|
|
30744
|
-
|
|
30745
|
-
|
|
30746
|
-
|
|
30747
|
-
|
|
30748
|
-
|
|
30749
|
-
"button",
|
|
30775
|
+
children: subtitle
|
|
30776
|
+
}
|
|
30777
|
+
) : null
|
|
30778
|
+
] }),
|
|
30779
|
+
/* @__PURE__ */ jsx(
|
|
30780
|
+
"button",
|
|
30781
|
+
{
|
|
30782
|
+
type: "button",
|
|
30783
|
+
"aria-label": closeAriaLabel,
|
|
30784
|
+
className: "flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-lg text-storm-gray-400 transition-colors hover:bg-storm-gray-50 hover:text-storm-gray-600",
|
|
30785
|
+
onClick: onClose,
|
|
30786
|
+
children: /* @__PURE__ */ jsx(
|
|
30787
|
+
X,
|
|
30750
30788
|
{
|
|
30751
|
-
|
|
30752
|
-
|
|
30753
|
-
className: "flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-lg text-storm-gray-400 transition-colors hover:bg-storm-gray-50 hover:text-storm-gray-600",
|
|
30754
|
-
onClick: onClose,
|
|
30755
|
-
children: /* @__PURE__ */ jsx(X, { className: "size-5", strokeWidth: 1.75 })
|
|
30789
|
+
className: "size-5",
|
|
30790
|
+
strokeWidth: 1.75
|
|
30756
30791
|
}
|
|
30757
30792
|
)
|
|
30758
|
-
|
|
30759
|
-
|
|
30760
|
-
|
|
30761
|
-
}
|
|
30762
|
-
),
|
|
30793
|
+
}
|
|
30794
|
+
)
|
|
30795
|
+
] }),
|
|
30796
|
+
headerBottom ? /* @__PURE__ */ jsx("div", { className: "border-t border-storm-gray-50 px-6", children: headerBottom }) : null
|
|
30797
|
+
] }),
|
|
30763
30798
|
/* @__PURE__ */ jsx(
|
|
30764
30799
|
"div",
|
|
30765
30800
|
{
|