@photon-ai/pho-ui 2.0.0 → 2.1.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.
Files changed (42) hide show
  1. package/dist/chunks/animated-height-C2eQstGy.js +51 -0
  2. package/dist/chunks/animated-height-C2eQstGy.js.map +1 -0
  3. package/dist/chunks/{basic-page-D1zm81YS.js → basic-page-Dfln58iw.js} +152 -151
  4. package/dist/chunks/basic-page-Dfln58iw.js.map +1 -0
  5. package/dist/chunks/choice-card-CunOnY9l.js +17 -0
  6. package/dist/chunks/choice-card-CunOnY9l.js.map +1 -0
  7. package/dist/chunks/dialog-BC23YRUq.js +262 -0
  8. package/dist/chunks/dialog-BC23YRUq.js.map +1 -0
  9. package/dist/chunks/scroll-area-CNZVwe7v.js +152 -0
  10. package/dist/chunks/scroll-area-CNZVwe7v.js.map +1 -0
  11. package/dist/components/checkbox.js +110 -37
  12. package/dist/components/checkbox.js.map +1 -1
  13. package/dist/components/command.js +2 -2
  14. package/dist/components/dialog.js +1 -1
  15. package/dist/components/phone-input.js +754 -752
  16. package/dist/components/phone-input.js.map +1 -1
  17. package/dist/components/radio-group.js +93 -23
  18. package/dist/components/radio-group.js.map +1 -1
  19. package/dist/components/scroll-area.js +2 -40
  20. package/dist/index.js +2 -2
  21. package/dist/primitives.js +1 -1
  22. package/dist/sections/basic-page.js +1 -1
  23. package/dist/src/components/checkbox/check-glyph.d.ts +10 -0
  24. package/dist/src/components/checkbox/checkbox-card.d.ts +21 -0
  25. package/dist/src/components/checkbox/checkbox.d.ts +1 -1
  26. package/dist/src/components/checkbox/index.d.ts +1 -0
  27. package/dist/src/components/phone-input/index.d.ts +1 -1
  28. package/dist/src/components/phone-input/phone-input.d.ts +8 -1
  29. package/dist/src/components/radio-group/index.d.ts +1 -0
  30. package/dist/src/components/radio-group/radio-card.d.ts +20 -0
  31. package/dist/src/components/radio-group/radio-group.d.ts +4 -2
  32. package/dist/src/components/scroll-area/scroll-area-edges.d.ts +9 -0
  33. package/dist/src/components/scroll-area/scroll-area.d.ts +7 -6
  34. package/dist/src/sections/basic-page/basic-page.d.ts +15 -5
  35. package/dist/src/utils/choice-card.d.ts +15 -0
  36. package/package.json +1 -1
  37. package/dist/chunks/animated-height-DhNSac85.js +0 -50
  38. package/dist/chunks/animated-height-DhNSac85.js.map +0 -1
  39. package/dist/chunks/basic-page-D1zm81YS.js.map +0 -1
  40. package/dist/chunks/dialog-Caze1vkf.js +0 -252
  41. package/dist/chunks/dialog-Caze1vkf.js.map +0 -1
  42. package/dist/components/scroll-area.js.map +0 -1
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { useEffect as v, useRef as a } from "react";
3
+ import { jsx as m } from "react/jsx-runtime";
4
+ import { animate as g, motion as R, useMotionValue as x, useReducedMotion as H } from "motion/react";
5
+ var M = {
6
+ type: "spring",
7
+ stiffness: 640,
8
+ damping: 50
9
+ };
10
+ function y({ className: d, transition: r, children: p }) {
11
+ const s = a(null), i = a(null), t = x("auto"), c = H();
12
+ return v(() => {
13
+ const h = s.current, n = i.current;
14
+ if (!h || !n) return;
15
+ let e = null;
16
+ const u = new ResizeObserver((b) => {
17
+ const f = b[0]?.borderBoxSize?.[0], o = f ? f.blockSize : n.offsetHeight, l = t.get();
18
+ if (l === "auto" || c) {
19
+ e?.stop(), e = null, t.set(o);
20
+ return;
21
+ }
22
+ !e && Math.abs(l - o) < 0.5 || (e?.stop(), e = g(t, o, {
23
+ ...r ?? M,
24
+ onComplete: () => {
25
+ e = null;
26
+ }
27
+ }));
28
+ });
29
+ return u.observe(n), () => {
30
+ u.disconnect(), e?.stop();
31
+ };
32
+ }, [
33
+ t,
34
+ c,
35
+ r
36
+ ]), /* @__PURE__ */ m(R.div, {
37
+ ref: s,
38
+ className: "min-h-0 overflow-hidden",
39
+ style: { height: t },
40
+ children: /* @__PURE__ */ m("div", {
41
+ ref: i,
42
+ className: d,
43
+ children: p
44
+ })
45
+ });
46
+ }
47
+ export {
48
+ y as t
49
+ };
50
+
51
+ //# sourceMappingURL=animated-height-C2eQstGy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated-height-C2eQstGy.js","names":[],"sources":["../../src/utils/animated-height.tsx"],"sourcesContent":["import { useEffect, useRef, type ReactNode } from \"react\";\nimport {\n animate,\n motion,\n useMotionValue,\n useReducedMotion,\n type ValueAnimationTransition,\n} from \"motion/react\";\n\n/**\n * Height spring for container-size transitions — same feel as the onboarding /\n * invite card and BasicPage footer reveal: quick, critically damped (no\n * overshoot that would flash clipped content).\n */\nconst HEIGHT_SPRING = { type: \"spring\", stiffness: 640, damping: 50 } as const;\n\n/**\n * Animates its own height to follow the measured height of `children`, so\n * content swaps (search filtering, skeleton → data) glide instead of jumping.\n * Honors `prefers-reduced-motion` by snapping height with no spring.\n */\nexport function AnimatedHeight({\n className,\n transition,\n children,\n}: {\n className?: string;\n /** Spring override for the height follow. @default the Command spring */\n transition?: ValueAnimationTransition<number | \"auto\">;\n children: ReactNode;\n}) {\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const height = useMotionValue<number | \"auto\">(\"auto\");\n const reduceMotion = useReducedMotion();\n\n useEffect(() => {\n const container = containerRef.current;\n const content = contentRef.current;\n if (!container || !content) return;\n\n let animation: ReturnType<typeof animate> | null = null;\n\n const observer = new ResizeObserver((entries) => {\n const box = entries[0]?.borderBoxSize?.[0];\n const next = box ? box.blockSize : content.offsetHeight;\n const current = height.get();\n if (current === \"auto\" || reduceMotion) {\n animation?.stop();\n animation = null;\n height.set(next);\n return;\n }\n if (!animation && Math.abs(current - next) < 0.5) return;\n animation?.stop();\n animation = animate(height, next, {\n ...(transition ?? HEIGHT_SPRING),\n onComplete: () => {\n animation = null;\n },\n });\n });\n observer.observe(content);\n\n return () => {\n observer.disconnect();\n animation?.stop();\n };\n }, [height, reduceMotion, transition]);\n\n return (\n <motion.div\n ref={containerRef}\n // Stack (and other flex parents) set `min-height: auto` on children,\n // which sizes to content and swallows the height spring. Clip and\n // allow shrinking so the measured height can actually animate.\n className=\"min-h-0 overflow-hidden\"\n style={{ height }}\n >\n <div ref={contentRef} className={className}>\n {children}\n </div>\n </motion.div>\n );\n}\n"],"mappings":";;;;AAcA,IAAM,IAAgB;AAAA,EAAE,MAAM;AAAA,EAAU,WAAW;AAAA,EAAK,SAAS;AAAG;AAOpE,SAAgB,EAAe,EAC7B,WAAA,GACA,YAAA,GACA,UAAA,EAAA,GAMC;AACD,QAAM,IAAe,EAAuB,IAAI,GAC1C,IAAa,EAAuB,IAAI,GACxC,IAAS,EAAgC,MAAM,GAC/C,IAAe,EAAiB;AAEtC,SAAA,EAAA,MAAgB;AACd,UAAM,IAAY,EAAa,SACzB,IAAU,EAAW;AAC3B,QAAI,CAAC,KAAa,CAAC,EAAS;AAE5B,QAAI,IAA+C;AAEnD,UAAM,IAAW,IAAI,eAAA,CAAgB,MAAY;AAC/C,YAAM,IAAM,EAAQ,CAAA,GAAI,gBAAgB,CAAA,GAClC,IAAO,IAAM,EAAI,YAAY,EAAQ,cACrC,IAAU,EAAO,IAAI;AAC3B,UAAI,MAAY,UAAU,GAAc;AACtC,QAAA,GAAW,KAAK,GAChB,IAAY,MACZ,EAAO,IAAI,CAAI;AACf;AAAA,MACF;AACA,MAAI,CAAC,KAAa,KAAK,IAAI,IAAU,CAAI,IAAI,QAC7C,GAAW,KAAK,GAChB,IAAY,EAAQ,GAAQ,GAAM;AAAA,QAChC,GAAI,KAAc;AAAA,QAClB,YAAA,MAAkB;AAChB,UAAA,IAAY;AAAA,QACd;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AACD,WAAA,EAAS,QAAQ,CAAO,GAExB,MAAa;AACX,MAAA,EAAS,WAAW,GACpB,GAAW,KAAK;AAAA,IAClB;AAAA,EACF,GAAG;AAAA,IAAC;AAAA,IAAQ;AAAA,IAAc;AAAA,EAAU,CAAC,GAGnC,gBAAA,EAAC,EAAO,KAAR;AAAA,IACE,KAAK;AAAA,IAIL,WAAU;AAAA,IACV,OAAO,EAAE,QAAA,EAAO;AAAA,cAEhB,gBAAA,EAAC,OAAD;AAAA,MAAK,KAAK;AAAA,MAAuB,WAAA;AAAA,MAC9B,UAAA;AAAA,IACE,CAAA;AAAA,EACK,CAAA;AAEhB"}
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
  import { t as r } from "./cn-DTiB6ek_.js";
3
- import { n as I } from "./link-provider-9TFNyDqO.js";
4
- import { o as P } from "./button-X5wsWvRa.js";
5
- import { t as S } from "./createReactComponent-BqCmnqfX.js";
6
- import { t as M } from "./error-DR6G2LmG.js";
7
- import { t as g } from "./IconChevronLeft-CSWMKQ4C.js";
8
- import { t as k } from "./animated-height-DhNSac85.js";
9
- import { Children as T, useEffect as O, useRef as L, useState as _ } from "react";
10
- import { jsx as a, jsxs as m } from "react/jsx-runtime";
11
- import { AnimatePresence as x, motion as p, useReducedMotion as d } from "motion/react";
12
- var D = [["path", {
3
+ import { n as R } from "./link-provider-9TFNyDqO.js";
4
+ import { o as I } from "./button-X5wsWvRa.js";
5
+ import { t as P } from "./createReactComponent-BqCmnqfX.js";
6
+ import { t as S } from "./error-DR6G2LmG.js";
7
+ import { t as N } from "./IconChevronLeft-CSWMKQ4C.js";
8
+ import { t as M } from "./animated-height-C2eQstGy.js";
9
+ import { Children as k, useEffect as T, useRef as O, useState as A } from "react";
10
+ import { jsx as a, jsxs as p } from "react/jsx-runtime";
11
+ import { AnimatePresence as v, motion as u, useReducedMotion as d } from "motion/react";
12
+ var L = [["path", {
13
13
  d: "M9 6l6 6l-6 6",
14
14
  key: "svg-0"
15
- }]], B = S("outline", "chevron-right", "ChevronRight", D), C = "rounded-base border border-pho-secondary bg-pho-primary", E = "divide-y divide-pho-secondary [&>:has(+[data-basic-page-alert])]:border-b-0", G = `${C} ${E}`, N = "flex flex-col gap-3 rounded-base border border-pho-secondary bg-pho-page p-5", H = "flex min-h-[4.25rem] flex-col gap-3 px-5 py-4 sm:flex-row sm:items-center sm:justify-between sm:gap-6", j = "flex flex-col gap-3 px-5 py-4", z = "-mx-5 -mb-4 flex items-center rounded-b-[calc(0.75rem-1px)] bg-pho-secondary py-1 pr-3 pl-5", F = "-mx-2 -mt-1.5 flex items-center rounded-sm bg-pho-secondary px-2 py-0.5", u = {
15
+ }]], D = P("outline", "chevron-right", "ChevronRight", L), _ = "rounded-base border border-pho-secondary bg-pho-primary", h = "divide-y divide-pho-secondary [&>:has(+[data-basic-page-alert])]:border-b-0", B = `${_} ${h}`, b = "flex min-w-0 flex-col gap-3 rounded-base border border-pho-secondary bg-pho-page p-5", G = "flex min-h-[4.25rem] min-w-0 flex-col gap-3 px-5 py-4 sm:flex-row sm:items-center sm:justify-between sm:gap-6", H = "flex flex-col gap-3 px-5 py-4", j = "-mx-5 -mb-4 flex items-center rounded-b-[calc(0.75rem-1px)] bg-pho-secondary py-1 pr-3 pl-5", z = "-mx-2 -mt-1.5 flex items-center rounded-sm bg-pho-secondary px-2 py-0.5", m = {
16
16
  type: "spring",
17
17
  stiffness: 400,
18
18
  damping: 40
@@ -20,39 +20,39 @@ var D = [["path", {
20
20
  duration: 0.25,
21
21
  ease: "easeOut"
22
22
  };
23
- function V({ className: e, ...t }) {
23
+ function F({ className: e, ...t }) {
24
24
  return /* @__PURE__ */ a("div", {
25
- className: r("relative mx-auto flex min-h-full w-full max-w-[44.5rem] flex-col px-5 pt-12 pb-12 has-[[data-basic-page-back]]:pt-16", e),
25
+ className: r("relative mx-auto flex min-h-full w-full max-w-[44.5rem] min-w-0 flex-col px-5 pt-12 pb-12 *:min-w-0 has-[[data-basic-page-back]]:pt-16", e),
26
26
  ...t
27
27
  });
28
28
  }
29
- function $(e) {
29
+ function V(e) {
30
30
  return e.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
31
31
  }
32
- function K(e) {
32
+ function $(e) {
33
33
  if (!(typeof e != "string" && typeof e != "number"))
34
- return $(String(e)) || void 0;
34
+ return V(String(e)) || void 0;
35
35
  }
36
- function v(e, t) {
36
+ function g(e, t) {
37
37
  if (e !== "")
38
- return e ?? K(t);
38
+ return e ?? $(t);
39
39
  }
40
- var U = (e) => `basic-page-morph-${e}`, W = { layout: u }, X = 10, q = {
40
+ var K = (e) => `basic-page-morph-${e}`, U = { layout: m }, W = 10, X = {
41
41
  delay: 0.2,
42
42
  duration: 0.12,
43
43
  ease: "easeOut"
44
- }, J = {
44
+ }, q = {
45
45
  duration: 0.18,
46
46
  ease: "easeOut"
47
- }, b = /* @__PURE__ */ new Map();
48
- function R(e) {
49
- const [t] = _(() => e != null && b.get(e) === !0), i = L(null);
50
- return O(() => {
47
+ }, w = /* @__PURE__ */ new Map();
48
+ function C(e) {
49
+ const [t] = A(() => e != null && w.get(e) === !0), i = O(null);
50
+ return T(() => {
51
51
  if (e == null || typeof IntersectionObserver > "u") return;
52
52
  const n = i.current;
53
53
  if (!n) return;
54
54
  const o = new IntersectionObserver(([s]) => {
55
- s && b.set(e, s.isIntersecting);
55
+ s && w.set(e, s.isIntersecting);
56
56
  });
57
57
  return o.observe(n), () => {
58
58
  o.disconnect();
@@ -62,14 +62,14 @@ function R(e) {
62
62
  ref: i
63
63
  };
64
64
  }
65
- function w({ morphId: e, fromClassName: t, fly: i, morphRef: n, fallback: o = !1, children: s }) {
66
- const [l, c] = _(!1), y = !i && o;
67
- return /* @__PURE__ */ m(p.span, {
65
+ function E({ morphId: e, fromClassName: t, fly: i, morphRef: n, fallback: o = !1, children: s }) {
66
+ const [l, c] = A(!1), y = !i && o;
67
+ return /* @__PURE__ */ p(u.span, {
68
68
  ref: n,
69
- layoutId: U(e),
69
+ layoutId: K(e),
70
70
  initial: y ? { opacity: 0 } : void 0,
71
71
  animate: y ? { opacity: 1 } : void 0,
72
- transition: i ? W : {
72
+ transition: i ? U : {
73
73
  layout: { duration: 0 },
74
74
  opacity: f
75
75
  },
@@ -77,146 +77,146 @@ function w({ morphId: e, fromClassName: t, fly: i, morphRef: n, fallback: o = !1
77
77
  i && c(!0);
78
78
  },
79
79
  onLayoutAnimationComplete: () => c(!1),
80
- className: "relative inline-block",
81
- children: [s, l && /* @__PURE__ */ a(p.span, {
80
+ className: "relative inline-block max-w-full min-w-0 truncate",
81
+ children: [s, l && /* @__PURE__ */ a(u.span, {
82
82
  "aria-hidden": !0,
83
83
  initial: { opacity: 1 },
84
84
  animate: { opacity: 0 },
85
- transition: J,
85
+ transition: q,
86
86
  className: r("absolute inset-0", t),
87
87
  children: s
88
88
  })]
89
89
  });
90
90
  }
91
- function Q({ id: e, morphId: t, enter: i, className: n, children: o, ...s }) {
92
- const l = v(e, o), c = d(), y = R(t);
91
+ function J({ id: e, morphId: t, enter: i, className: n, children: o, ...s }) {
92
+ const l = g(e, o), c = d(), y = C(t);
93
93
  return /* @__PURE__ */ a("h1", {
94
94
  id: l,
95
- className: r("text-display-base text-pho-primary scroll-mt-12 px-5 font-medium", n),
95
+ className: r("text-display-base text-pho-primary max-w-full min-w-0 scroll-mt-12 truncate px-5 font-medium", n),
96
96
  ...s,
97
- children: t != null && !c ? /* @__PURE__ */ a(w, {
97
+ children: t != null && !c ? /* @__PURE__ */ a(E, {
98
98
  morphId: t,
99
99
  fromClassName: "text-pho-secondary",
100
100
  fly: y.fly,
101
101
  morphRef: y.ref,
102
102
  children: o
103
- }) : i && !c ? /* @__PURE__ */ a(p.span, {
103
+ }) : i && !c ? /* @__PURE__ */ a(u.span, {
104
104
  initial: {
105
105
  opacity: 0,
106
- y: h
106
+ y: x
107
107
  },
108
108
  animate: {
109
109
  opacity: 1,
110
110
  y: 0
111
111
  },
112
112
  transition: {
113
- y: u,
113
+ y: m,
114
114
  opacity: f
115
115
  },
116
- className: "inline-block",
116
+ className: "inline-block max-w-full min-w-0 truncate",
117
117
  children: o
118
118
  }) : o
119
119
  });
120
120
  }
121
- function Y({ className: e, ...t }) {
121
+ function Q({ className: e, ...t }) {
122
122
  const i = d();
123
- return /* @__PURE__ */ a(p.div, {
123
+ return /* @__PURE__ */ a(u.div, {
124
124
  initial: i ? !1 : {
125
125
  opacity: 0,
126
- y: h
126
+ y: x
127
127
  },
128
128
  animate: {
129
129
  opacity: 1,
130
130
  y: 0
131
131
  },
132
132
  transition: {
133
- y: u,
133
+ y: m,
134
134
  opacity: f
135
135
  },
136
- className: r("mt-6 flex flex-col gap-10", "*:flex *:flex-col *:gap-3", e),
136
+ className: r("mt-6 flex min-w-0 flex-col gap-10", "*:flex *:min-w-0 *:flex-col *:gap-3", e),
137
137
  ...t
138
138
  });
139
139
  }
140
- function Z({ enter: e, className: t, ...i }) {
140
+ function Y({ enter: e, className: t, ...i }) {
141
141
  const n = d();
142
- return e && !n ? /* @__PURE__ */ a(p.div, {
142
+ return e && !n ? /* @__PURE__ */ a(u.div, {
143
143
  initial: {
144
144
  opacity: 0,
145
- y: h
145
+ y: x
146
146
  },
147
147
  animate: {
148
148
  opacity: 1,
149
149
  y: 0
150
150
  },
151
151
  transition: {
152
- y: u,
152
+ y: m,
153
153
  opacity: f
154
154
  },
155
- className: r("flex flex-col", t),
155
+ className: r("flex min-w-0 flex-col", t),
156
156
  ...i
157
157
  }) : /* @__PURE__ */ a("div", {
158
- className: r("flex flex-col", t),
158
+ className: r("flex min-w-0 flex-col", t),
159
159
  ...i
160
160
  });
161
161
  }
162
- function ee({ id: e, className: t, children: i, ...n }) {
162
+ function Z({ id: e, className: t, children: i, ...n }) {
163
163
  return /* @__PURE__ */ a("h2", {
164
- id: v(e, i),
165
- className: r("text-display-xs text-pho-primary scroll-mt-12 px-5 font-medium", t),
164
+ id: g(e, i),
165
+ className: r("text-display-xs text-pho-primary max-w-full min-w-0 scroll-mt-12 truncate px-5 font-medium", t),
166
166
  ...n,
167
167
  children: i
168
168
  });
169
169
  }
170
- function te({ className: e, ...t }) {
170
+ function ee({ className: e, ...t }) {
171
171
  return /* @__PURE__ */ a("p", {
172
172
  className: r("text-display-xs text-pho-description px-5 font-normal", e),
173
173
  ...t
174
174
  });
175
175
  }
176
- function ie({ className: e, ...t }) {
176
+ function te({ className: e, ...t }) {
177
177
  return /* @__PURE__ */ a("p", {
178
178
  className: r("text-pho-description px-5 text-xs font-normal", e),
179
179
  ...t
180
180
  });
181
181
  }
182
- function ae({ animateHeight: e, className: t, children: i, ...n }) {
182
+ function ie({ animateHeight: e, className: t, children: i, ...n }) {
183
183
  return e ? /* @__PURE__ */ a("div", {
184
- className: r(C, "overflow-hidden", t),
184
+ className: r(_, "min-h-0 overflow-hidden", t),
185
185
  ...n,
186
- children: /* @__PURE__ */ a(k, {
187
- transition: u,
188
- className: E,
186
+ children: /* @__PURE__ */ a(M, {
187
+ transition: m,
188
+ className: h,
189
189
  children: i
190
190
  })
191
191
  }) : /* @__PURE__ */ a("div", {
192
- className: r(G, t),
192
+ className: r(B, t),
193
193
  ...n,
194
194
  children: i
195
195
  });
196
196
  }
197
- function ne({ className: e, ...t }) {
197
+ function ae({ className: e, ...t }) {
198
198
  return /* @__PURE__ */ a("div", {
199
- className: r(j, e),
199
+ className: r(H, e),
200
200
  ...t
201
201
  });
202
202
  }
203
- function re({ divided: e = !1, className: t, ...i }) {
203
+ function ne({ divided: e = !1, className: t, ...i }) {
204
204
  return /* @__PURE__ */ a("div", {
205
- className: r(e ? F : z, t),
205
+ className: r(e ? z : j, t),
206
206
  ...i
207
207
  });
208
208
  }
209
- function oe({ className: e, icon: t, children: i, ...n }) {
209
+ function re({ className: e, icon: t, children: i, ...n }) {
210
210
  if (t == null || t === !1 || t === !0) return /* @__PURE__ */ a("div", {
211
- className: r(N, e),
211
+ className: r(b, e),
212
212
  ...n,
213
213
  children: i
214
214
  });
215
- const [o, ...s] = T.toArray(i);
216
- return /* @__PURE__ */ m("div", {
217
- className: r(N, e),
215
+ const [o, ...s] = k.toArray(i);
216
+ return /* @__PURE__ */ p("div", {
217
+ className: r(b, e),
218
218
  ...n,
219
- children: [/* @__PURE__ */ m("div", {
219
+ children: [/* @__PURE__ */ p("div", {
220
220
  className: "relative",
221
221
  children: [/* @__PURE__ */ a("div", {
222
222
  className: "min-w-0 pr-16",
@@ -229,25 +229,25 @@ function oe({ className: e, icon: t, children: i, ...n }) {
229
229
  }), s]
230
230
  });
231
231
  }
232
- function se({ id: e, className: t, children: i, ...n }) {
232
+ function oe({ id: e, className: t, children: i, ...n }) {
233
233
  return /* @__PURE__ */ a("h2", {
234
- id: v(e, i),
235
- className: r("text-display-xs text-pho-primary scroll-mt-12 font-medium", t),
234
+ id: g(e, i),
235
+ className: r("text-display-xs text-pho-primary max-w-full min-w-0 scroll-mt-12 truncate font-medium", t),
236
236
  ...n,
237
237
  children: i
238
238
  });
239
239
  }
240
- function le({ className: e, ...t }) {
240
+ function se({ className: e, ...t }) {
241
241
  return /* @__PURE__ */ a("p", {
242
242
  className: r("text-display-xs text-pho-description font-normal", e),
243
243
  ...t
244
244
  });
245
245
  }
246
- function ce({ label: e, description: t, htmlFor: i, stacked: n = !1, className: o, children: s, ...l }) {
247
- return /* @__PURE__ */ m("div", {
248
- className: r(H, n && "sm:flex-col sm:items-stretch sm:justify-start sm:gap-3", o),
246
+ function le({ label: e, description: t, htmlFor: i, stacked: n = !1, className: o, children: s, ...l }) {
247
+ return /* @__PURE__ */ p("div", {
248
+ className: r(G, n && "sm:flex-col sm:items-stretch sm:justify-start sm:gap-3", o),
249
249
  ...l,
250
- children: [/* @__PURE__ */ m("div", {
250
+ children: [/* @__PURE__ */ p("div", {
251
251
  className: "min-w-0",
252
252
  children: [i ? /* @__PURE__ */ a("label", {
253
253
  htmlFor: i,
@@ -266,17 +266,17 @@ function ce({ label: e, description: t, htmlFor: i, stacked: n = !1, className:
266
266
  })]
267
267
  });
268
268
  }
269
- function ue({ className: e, ...t }) {
269
+ function ce({ className: e, ...t }) {
270
270
  return /* @__PURE__ */ a("p", {
271
- className: r("text-pho-description truncate text-base", e),
271
+ className: r("text-pho-description max-w-full min-w-0 truncate text-base", e),
272
272
  ...t
273
273
  });
274
274
  }
275
- function pe({ error: e, show: t, className: i, children: n, ...o }) {
275
+ function me({ error: e, show: t, className: i, children: n, ...o }) {
276
276
  const s = d();
277
- return /* @__PURE__ */ a(x, {
277
+ return /* @__PURE__ */ a(v, {
278
278
  initial: !1,
279
- children: (t ?? !0) && (e != null || n != null) ? /* @__PURE__ */ a(p.div, {
279
+ children: (t ?? !0) && (e != null || n != null) ? /* @__PURE__ */ a(u.div, {
280
280
  "data-basic-page-alert": "",
281
281
  className: "overflow-hidden",
282
282
  initial: {
@@ -292,10 +292,10 @@ function pe({ error: e, show: t, className: i, children: n, ...o }) {
292
292
  opacity: 0
293
293
  },
294
294
  transition: s ? { duration: 0 } : {
295
- height: u,
295
+ height: m,
296
296
  opacity: f
297
297
  },
298
- children: /* @__PURE__ */ a(M, {
298
+ children: /* @__PURE__ */ a(S, {
299
299
  error: e,
300
300
  className: r("px-5 pb-3", i),
301
301
  ...o,
@@ -304,14 +304,14 @@ function pe({ error: e, show: t, className: i, children: n, ...o }) {
304
304
  }) : null
305
305
  });
306
306
  }
307
- function me({ show: e, className: t, ...i }) {
307
+ function ue({ show: e, className: t, ...i }) {
308
308
  const n = d(), o = /* @__PURE__ */ a("div", {
309
309
  className: r("flex items-center justify-between gap-6 px-5 py-4", t),
310
310
  ...i
311
311
  });
312
- return e === void 0 ? o : /* @__PURE__ */ a(x, {
312
+ return e === void 0 ? o : /* @__PURE__ */ a(v, {
313
313
  initial: !1,
314
- children: e ? /* @__PURE__ */ a(p.div, {
314
+ children: e ? /* @__PURE__ */ a(u.div, {
315
315
  className: "overflow-hidden",
316
316
  initial: {
317
317
  height: 0,
@@ -326,41 +326,42 @@ function me({ show: e, className: t, ...i }) {
326
326
  opacity: 0
327
327
  },
328
328
  transition: n ? { duration: 0 } : {
329
- height: u,
329
+ height: m,
330
330
  opacity: f
331
331
  },
332
332
  children: o
333
333
  }) : null
334
334
  });
335
335
  }
336
- var h = 12, A = {
336
+ var x = 12, pe = {
337
337
  stack: "-2.5rem",
338
- block: "-0.75rem"
338
+ block: "-0.75rem",
339
+ none: "0px"
339
340
  };
340
- function fe({ show: e, gap: t = "stack", className: i, ...n }) {
341
- const o = d();
342
- return e === void 0 ? /* @__PURE__ */ a(p.div, {
343
- initial: o ? !1 : {
341
+ function fe({ show: e, gap: t = "stack", dividers: i, className: n, ...o }) {
342
+ const s = d(), l = pe[i ? "none" : t];
343
+ return e === void 0 ? /* @__PURE__ */ a(u.div, {
344
+ initial: s ? !1 : {
344
345
  opacity: 0,
345
- y: h
346
+ y: x
346
347
  },
347
348
  animate: {
348
349
  opacity: 1,
349
350
  y: 0
350
351
  },
351
352
  transition: {
352
- y: u,
353
+ y: m,
353
354
  opacity: f
354
355
  },
355
- className: i,
356
- ...n
357
- }) : /* @__PURE__ */ a(x, {
356
+ className: r(i && h, n),
357
+ ...o
358
+ }) : /* @__PURE__ */ a(v, {
358
359
  initial: !1,
359
- children: e ? /* @__PURE__ */ a(p.div, {
360
+ children: e ? /* @__PURE__ */ a(u.div, {
360
361
  initial: {
361
362
  height: 0,
362
363
  opacity: 0,
363
- marginTop: A[t]
364
+ marginTop: l
364
365
  },
365
366
  animate: {
366
367
  height: "auto",
@@ -370,41 +371,41 @@ function fe({ show: e, gap: t = "stack", className: i, ...n }) {
370
371
  exit: {
371
372
  height: 0,
372
373
  opacity: 0,
373
- marginTop: A[t]
374
+ marginTop: l
374
375
  },
375
- transition: o ? { duration: 0 } : {
376
- height: u,
377
- marginTop: u,
376
+ transition: s ? { duration: 0 } : {
377
+ height: m,
378
+ marginTop: m,
378
379
  opacity: f
379
380
  },
380
- className: r("overflow-hidden", i),
381
- ...n
381
+ className: r("overflow-hidden", i && h, n),
382
+ ...o
382
383
  }) : null
383
384
  });
384
385
  }
385
386
  function de({ href: e, className: t, morphId: i, children: n = "Back", ...o }) {
386
- const s = d(), l = i != null && !s, c = R(l ? i : void 0);
387
- return /* @__PURE__ */ a(P, {
387
+ const s = d(), l = i != null && !s, c = C(l ? i : void 0);
388
+ return /* @__PURE__ */ a(I, {
388
389
  variant: "ghost",
389
390
  size: "sm",
390
391
  href: e,
391
392
  "data-basic-page-back": "",
392
- prefix: l ? /* @__PURE__ */ a(p.span, {
393
+ prefix: l ? /* @__PURE__ */ a(u.span, {
393
394
  initial: c.fly ? {
394
395
  opacity: 0,
395
- x: X
396
+ x: W
396
397
  } : { opacity: 0 },
397
398
  animate: c.fly ? {
398
399
  opacity: 1,
399
400
  x: 0
400
401
  } : { opacity: 1 },
401
- transition: c.fly ? q : f,
402
+ transition: c.fly ? X : f,
402
403
  className: "inline-flex [&>svg]:size-[1.125em] [&>svg]:shrink-0",
403
- children: /* @__PURE__ */ a(g, {})
404
- }) : /* @__PURE__ */ a(g, {}),
404
+ children: /* @__PURE__ */ a(N, {})
405
+ }) : /* @__PURE__ */ a(N, {}),
405
406
  className: r("absolute top-4 left-[10.25px]", t),
406
407
  ...o,
407
- children: l && i != null ? /* @__PURE__ */ a(w, {
408
+ children: l && i != null ? /* @__PURE__ */ a(E, {
408
409
  morphId: i,
409
410
  fromClassName: "text-pho-primary",
410
411
  fly: c.fly,
@@ -415,13 +416,13 @@ function de({ href: e, className: t, morphId: i, children: n = "Back", ...o }) {
415
416
  });
416
417
  }
417
418
  function ye({ label: e, description: t, leading: i, href: n, className: o, children: s, ...l }) {
418
- return /* @__PURE__ */ m(I(), {
419
+ return /* @__PURE__ */ p(R(), {
419
420
  href: n,
420
421
  ...l,
421
- className: r("flex min-h-[4.25rem] flex-row items-center justify-between gap-6 px-5 py-4", "group outline-pho-brand hover:bg-pho-primary-hover cursor-pointer transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2", "first:rounded-t-[calc(var(--radius-base)-1px)] last:rounded-b-[calc(var(--radius-base)-1px)]", o),
422
- children: [/* @__PURE__ */ m("div", {
422
+ className: r("flex min-h-[4.25rem] min-w-0 flex-row items-center justify-between gap-6 px-5 py-4", "group outline-pho-brand hover:bg-pho-primary-hover cursor-pointer transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2", "first:rounded-t-[calc(var(--radius-base)-1px)] last:rounded-b-[calc(var(--radius-base)-1px)]", o),
423
+ children: [/* @__PURE__ */ p("div", {
423
424
  className: r("flex min-w-0 flex-1 items-center", i != null && "gap-3"),
424
- children: [i, /* @__PURE__ */ m("div", {
425
+ children: [i, /* @__PURE__ */ p("div", {
425
426
  className: "min-w-0",
426
427
  children: [/* @__PURE__ */ a("div", {
427
428
  className: "flex min-w-0 items-center gap-1",
@@ -434,48 +435,48 @@ function ye({ label: e, description: t, leading: i, href: n, className: o, child
434
435
  children: t
435
436
  }) : null]
436
437
  })]
437
- }), /* @__PURE__ */ m("div", {
438
+ }), /* @__PURE__ */ p("div", {
438
439
  className: "flex min-w-0 items-center justify-end gap-2",
439
440
  children: [s != null ? /* @__PURE__ */ a("div", {
440
441
  className: "min-w-0",
441
442
  children: s
442
- }) : null, /* @__PURE__ */ a(B, {
443
+ }) : null, /* @__PURE__ */ a(D, {
443
444
  "aria-hidden": !0,
444
445
  className: "text-pho-secondary group-hover:text-pho-secondary-hover size-4 shrink-0 transition-colors"
445
446
  })]
446
447
  })]
447
448
  });
448
449
  }
449
- var Re = {
450
- Root: V,
450
+ var Ee = {
451
+ Root: F,
451
452
  Back: de,
452
- Title: Q,
453
- Stack: Y,
454
- Header: Z,
455
- SectionTitle: ee,
456
- Description: te,
457
- SectionFooter: ie,
458
- Card: ae,
459
- Item: ne,
460
- ItemPanel: re,
461
- Callout: oe,
462
- CalloutTitle: se,
463
- CalloutDescription: le,
464
- Row: ce,
453
+ Title: J,
454
+ Stack: Q,
455
+ Header: Y,
456
+ SectionTitle: Z,
457
+ Description: ee,
458
+ SectionFooter: te,
459
+ Card: ie,
460
+ Item: ae,
461
+ ItemPanel: ne,
462
+ Callout: re,
463
+ CalloutTitle: oe,
464
+ CalloutDescription: se,
465
+ Row: le,
465
466
  RowLink: ye,
466
- Value: ue,
467
- Alert: pe,
468
- Footer: me,
467
+ Value: ce,
468
+ Alert: me,
469
+ Footer: ue,
469
470
  Reveal: fe
470
471
  };
471
472
  export {
472
- F as a,
473
- z as i,
474
- G as n,
475
- H as o,
476
- j as r,
477
- Re as s,
478
- N as t
473
+ z as a,
474
+ j as i,
475
+ B as n,
476
+ G as o,
477
+ H as r,
478
+ Ee as s,
479
+ b as t
479
480
  };
480
481
 
481
- //# sourceMappingURL=basic-page-D1zm81YS.js.map
482
+ //# sourceMappingURL=basic-page-Dfln58iw.js.map