@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.
@@ -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;
@@ -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":[]}
@@ -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 = 'default' | 'success' | 'danger';
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;
@@ -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 = 'default' | 'success' | 'danger';
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({ item, isOpen, isActive, onNavigate }) {
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(minLeft, window.innerWidth - menuWidth - MENU_VIEWPORT_MARGIN_PX);
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(Math.max(measuredWidth, 1), viewportMaxWidth);
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] bg-storm-gray-850/40",
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("div", { className: cn("drawer-scroll-area min-h-0 min-w-0 flex-1 overflow-y-auto", contentClassName), children }),
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
- "header",
30723
- {
30724
- className: cn("shrink-0 border-b border-storm-gray-50", headerClassName),
30725
- children: [
30726
- /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between pt-6 pr-6 pb-4 pl-6", children: [
30727
- /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex flex-col gap-1", children: [
30728
- /* @__PURE__ */ jsx(
30729
- "h2",
30730
- {
30731
- id: "homepad-drawer-title",
30732
- className: "typography-title-sm tracking-normal text-black",
30733
- children: title
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 ? /* @__PURE__ */ jsx(
30737
- "p",
30738
- {
30739
- id: "homepad-drawer-subtitle",
30740
- className: cn(
30741
- "typography-body tracking-normal text-storm-gray-400",
30742
- subtitleClassName
30743
- ),
30744
- children: subtitle
30745
- }
30746
- ) : null
30747
- ] }),
30748
- /* @__PURE__ */ jsx(
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
- type: "button",
30752
- "aria-label": closeAriaLabel,
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
- headerBottom ? /* @__PURE__ */ jsx("div", { className: "border-t border-storm-gray-50 px-6", children: headerBottom }) : null
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
  {