@scripso-homepad/ui 0.4.39 → 0.4.41
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/index.cjs +52 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -2
- package/dist/index.d.ts +11 -2
- package/dist/index.js +47 -7
- package/dist/index.js.map +1 -1
- package/dist/web/index.cjs +42 -14
- package/dist/web/index.cjs.map +1 -1
- package/dist/web/index.d.cts +1 -1
- package/dist/web/index.d.ts +1 -1
- package/dist/web/index.js +42 -14
- package/dist/web/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/PhoneInput.stories.tsx +1 -2
- package/src/components/PhoneInput.tsx +24 -8
- package/src/index.ts +9 -0
- package/src/utils/phoneFormat.test.ts +34 -0
- package/src/utils/phoneFormat.ts +57 -0
- package/src/web/components/Drawer.tsx +11 -3
- package/src/web/components/table/TablePrimitives.tsx +26 -5
- package/src/web/layout/DashboardLayout.tsx +3 -3
- package/src/web/layout/Sidebar.tsx +2 -2
package/dist/web/index.cjs
CHANGED
|
@@ -27566,7 +27566,7 @@ var require_react_dom_development = __commonJS({
|
|
|
27566
27566
|
return root2;
|
|
27567
27567
|
}
|
|
27568
27568
|
var ReactVersion = "18.3.1";
|
|
27569
|
-
function
|
|
27569
|
+
function createPortal4(children, containerInfo, implementation) {
|
|
27570
27570
|
var key = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : null;
|
|
27571
27571
|
{
|
|
27572
27572
|
checkKeyStringCoercion(key);
|
|
@@ -28422,7 +28422,7 @@ var require_react_dom_development = __commonJS({
|
|
|
28422
28422
|
if (!isValidContainer(container)) {
|
|
28423
28423
|
throw new Error("Target container is not a DOM element.");
|
|
28424
28424
|
}
|
|
28425
|
-
return
|
|
28425
|
+
return createPortal4(children, container, null, key);
|
|
28426
28426
|
}
|
|
28427
28427
|
function renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {
|
|
28428
28428
|
return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);
|
|
@@ -29867,12 +29867,12 @@ function Sidebar({
|
|
|
29867
29867
|
)
|
|
29868
29868
|
}
|
|
29869
29869
|
),
|
|
29870
|
-
showCollapsedRail && mobileOpen ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-
|
|
29870
|
+
showCollapsedRail && mobileOpen ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-dvh w-[76px] shrink-0", "aria-hidden": true }) : null,
|
|
29871
29871
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
29872
29872
|
"aside",
|
|
29873
29873
|
{
|
|
29874
29874
|
className: cn(
|
|
29875
|
-
"fixed inset-y-0 left-0 z-50 flex h-
|
|
29875
|
+
"fixed inset-y-0 left-0 z-50 flex h-dvh w-[min(300px,85vw)] flex-col gap-8 overflow-hidden bg-navy p-4 shadow-xl",
|
|
29876
29876
|
"transition-[transform,width,padding,gap] duration-300 ease-in-out will-change-[transform,width]",
|
|
29877
29877
|
mobileOpen ? "translate-x-0" : "-translate-x-full pointer-events-none",
|
|
29878
29878
|
"md:relative md:z-auto md:w-[76px] md:translate-x-0 md:pointer-events-auto md:shadow-none md:items-center md:gap-2 md:px-3 md:py-4",
|
|
@@ -30005,9 +30005,9 @@ function DashboardLayout({
|
|
|
30005
30005
|
className,
|
|
30006
30006
|
mainClassName
|
|
30007
30007
|
}) {
|
|
30008
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-
|
|
30009
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-md:contents md:h-
|
|
30010
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-
|
|
30008
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-dvh min-w-0 overflow-hidden flex-row bg-storm-gray-0", className), children: [
|
|
30009
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-md:contents md:h-dvh md:shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(Sidebar, { ...sidebar }) }),
|
|
30010
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-dvh min-h-0 min-w-0 flex-1 flex-col overflow-hidden", children: [
|
|
30011
30011
|
/* @__PURE__ */ jsxRuntime.jsx(SidebarMobileHeader, { ...mobileHeader }),
|
|
30012
30012
|
/* @__PURE__ */ jsxRuntime.jsx(AppHeader, { ...header }),
|
|
30013
30013
|
/* @__PURE__ */ jsxRuntime.jsx("main", { className: mainClassName ?? "min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto p-4 xl:p-6", children })
|
|
@@ -30539,16 +30539,16 @@ function TableHead({
|
|
|
30539
30539
|
sortDirection = null,
|
|
30540
30540
|
onSort,
|
|
30541
30541
|
children,
|
|
30542
|
+
onClick,
|
|
30543
|
+
onKeyDown,
|
|
30542
30544
|
...props
|
|
30543
30545
|
}) {
|
|
30544
30546
|
const isSortable = sortable && onSort != null;
|
|
30545
30547
|
const content = isSortable ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
30546
|
-
"
|
|
30548
|
+
"span",
|
|
30547
30549
|
{
|
|
30548
|
-
type: "button",
|
|
30549
|
-
onClick: onSort,
|
|
30550
30550
|
className: cn(
|
|
30551
|
-
"inline-flex w-full
|
|
30551
|
+
"inline-flex w-full items-center gap-2.5 font-[inherit] text-[length:inherit] leading-[inherit] tracking-[inherit] text-inherit",
|
|
30552
30552
|
tableHeadSortButtonAlignClasses[align]
|
|
30553
30553
|
),
|
|
30554
30554
|
children: [
|
|
@@ -30565,10 +30565,29 @@ function TableHead({
|
|
|
30565
30565
|
tableHeadPaddingClassName,
|
|
30566
30566
|
tableHeaderClassName,
|
|
30567
30567
|
!isSortable && tableAlignClasses[align],
|
|
30568
|
+
isSortable && "cursor-pointer select-none hover:text-storm-gray-500",
|
|
30568
30569
|
className
|
|
30569
30570
|
),
|
|
30570
30571
|
"aria-sort": resolveAriaSort(sortDirection, isSortable),
|
|
30572
|
+
tabIndex: isSortable ? 0 : void 0,
|
|
30571
30573
|
...props,
|
|
30574
|
+
onClick: (event) => {
|
|
30575
|
+
onClick?.(event);
|
|
30576
|
+
if (event.defaultPrevented || !isSortable) {
|
|
30577
|
+
return;
|
|
30578
|
+
}
|
|
30579
|
+
onSort();
|
|
30580
|
+
},
|
|
30581
|
+
onKeyDown: (event) => {
|
|
30582
|
+
onKeyDown?.(event);
|
|
30583
|
+
if (event.defaultPrevented || !isSortable) {
|
|
30584
|
+
return;
|
|
30585
|
+
}
|
|
30586
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
30587
|
+
event.preventDefault();
|
|
30588
|
+
onSort();
|
|
30589
|
+
}
|
|
30590
|
+
},
|
|
30572
30591
|
children: content
|
|
30573
30592
|
}
|
|
30574
30593
|
);
|
|
@@ -31369,16 +31388,22 @@ function Modal({
|
|
|
31369
31388
|
);
|
|
31370
31389
|
return typeof document !== "undefined" ? (0, import_react_dom2.createPortal)(modal, document.body) : modal;
|
|
31371
31390
|
}
|
|
31391
|
+
|
|
31392
|
+
// src/web/components/Drawer.tsx
|
|
31393
|
+
var import_react_dom3 = __toESM(require_react_dom());
|
|
31372
31394
|
var DRAWER_TRANSITION_MS = 300;
|
|
31373
31395
|
var bodyScrollLockCount = 0;
|
|
31374
31396
|
var previousBodyOverflow = "";
|
|
31397
|
+
var previousHtmlOverflow = "";
|
|
31375
31398
|
function lockBodyScroll() {
|
|
31376
31399
|
if (typeof document === "undefined") {
|
|
31377
31400
|
return;
|
|
31378
31401
|
}
|
|
31379
31402
|
if (bodyScrollLockCount === 0) {
|
|
31380
31403
|
previousBodyOverflow = document.body.style.overflow;
|
|
31404
|
+
previousHtmlOverflow = document.documentElement.style.overflow;
|
|
31381
31405
|
document.body.style.overflow = "hidden";
|
|
31406
|
+
document.documentElement.style.overflow = "hidden";
|
|
31382
31407
|
}
|
|
31383
31408
|
bodyScrollLockCount += 1;
|
|
31384
31409
|
}
|
|
@@ -31389,7 +31414,9 @@ function unlockBodyScroll() {
|
|
|
31389
31414
|
bodyScrollLockCount = Math.max(0, bodyScrollLockCount - 1);
|
|
31390
31415
|
if (bodyScrollLockCount === 0) {
|
|
31391
31416
|
document.body.style.overflow = previousBodyOverflow;
|
|
31417
|
+
document.documentElement.style.overflow = previousHtmlOverflow;
|
|
31392
31418
|
previousBodyOverflow = "";
|
|
31419
|
+
previousHtmlOverflow = "";
|
|
31393
31420
|
}
|
|
31394
31421
|
}
|
|
31395
31422
|
function Drawer({
|
|
@@ -31463,10 +31490,10 @@ function Drawer({
|
|
|
31463
31490
|
if (!isPresent) {
|
|
31464
31491
|
return null;
|
|
31465
31492
|
}
|
|
31466
|
-
|
|
31493
|
+
const drawer = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
31467
31494
|
"div",
|
|
31468
31495
|
{
|
|
31469
|
-
className: "fixed inset-0 z-50 flex justify-end p-2 max-md:p-0",
|
|
31496
|
+
className: "fixed inset-0 z-50 flex justify-end overscroll-none p-2 max-md:p-0",
|
|
31470
31497
|
role: "presentation",
|
|
31471
31498
|
children: [
|
|
31472
31499
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -31490,7 +31517,7 @@ function Drawer({
|
|
|
31490
31517
|
"aria-labelledby": "homepad-drawer-title",
|
|
31491
31518
|
...subtitle ? { "aria-describedby": "homepad-drawer-subtitle" } : {},
|
|
31492
31519
|
className: cn(
|
|
31493
|
-
"relative z-10 flex h-
|
|
31520
|
+
"relative z-10 flex h-full max-h-full min-h-0 cursor-auto flex-col overflow-hidden rounded-[16px] bg-white shadow-2xl transition-transform duration-300 ease-in-out max-md:rounded-none",
|
|
31494
31521
|
// Keep GPU transform only while animating — settled translate-x-0 blurs text.
|
|
31495
31522
|
!isTransformSettled && "will-change-transform",
|
|
31496
31523
|
isAnimatedIn ? isTransformSettled ? "transform-none" : "translate-x-0" : "translate-x-full",
|
|
@@ -31557,6 +31584,7 @@ function Drawer({
|
|
|
31557
31584
|
]
|
|
31558
31585
|
}
|
|
31559
31586
|
);
|
|
31587
|
+
return typeof document !== "undefined" ? (0, import_react_dom3.createPortal)(drawer, document.body) : drawer;
|
|
31560
31588
|
}
|
|
31561
31589
|
function TimelineCheckIcon({ className, ...props }) {
|
|
31562
31590
|
return /* @__PURE__ */ jsxRuntime.jsx(
|