@devalok/shilp-sutra 0.21.0 → 0.22.1

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 (96) hide show
  1. package/dist/_chunks/use-calendar.js +115 -115
  2. package/dist/_chunks/vendor-utils.js +1230 -1178
  3. package/dist/composed/activity-feed.d.ts.map +1 -1
  4. package/dist/composed/activity-feed.js +78 -78
  5. package/dist/composed/avatar-group.d.ts +2 -2
  6. package/dist/composed/avatar-group.d.ts.map +1 -1
  7. package/dist/composed/avatar-group.js +82 -107
  8. package/dist/composed/command-palette.js +50 -50
  9. package/dist/composed/content-card.js +10 -10
  10. package/dist/composed/empty-state.d.ts.map +1 -1
  11. package/dist/composed/empty-state.js +58 -48
  12. package/dist/composed/global-loading.d.ts.map +1 -1
  13. package/dist/composed/global-loading.js +11 -10
  14. package/dist/composed/loading-skeleton.d.ts.map +1 -1
  15. package/dist/composed/loading-skeleton.js +32 -29
  16. package/dist/composed/member-picker.d.ts.map +1 -1
  17. package/dist/composed/member-picker.js +28 -17
  18. package/dist/composed/page-header.js +25 -25
  19. package/dist/composed/priority-indicator.d.ts.map +1 -1
  20. package/dist/composed/priority-indicator.js +60 -36
  21. package/dist/composed/rich-text-editor.js +104 -104
  22. package/dist/composed/schedule-view.d.ts.map +1 -1
  23. package/dist/composed/schedule-view.js +52 -44
  24. package/dist/composed/status-badge.js +16 -16
  25. package/dist/shell/bottom-navbar.d.ts.map +1 -1
  26. package/dist/shell/bottom-navbar.js +35 -31
  27. package/dist/shell/notification-center.d.ts.map +1 -1
  28. package/dist/shell/notification-center.js +119 -111
  29. package/dist/shell/sidebar.js +2 -2
  30. package/dist/shell/top-bar.js +9 -9
  31. package/dist/tailwind/index.cjs +30 -3
  32. package/dist/tailwind/preset.d.ts.map +1 -1
  33. package/dist/tailwind/preset.js +30 -3
  34. package/dist/tokens/semantic.css +10 -10
  35. package/dist/tokens/typography-semantic.css +3 -3
  36. package/dist/ui/accordion.js +22 -22
  37. package/dist/ui/alert.js +8 -8
  38. package/dist/ui/avatar.d.ts.map +1 -1
  39. package/dist/ui/avatar.js +72 -86
  40. package/dist/ui/badge.js +5 -5
  41. package/dist/ui/banner.js +18 -18
  42. package/dist/ui/breadcrumb.js +23 -23
  43. package/dist/ui/button.js +22 -22
  44. package/dist/ui/card.js +16 -16
  45. package/dist/ui/checkbox.d.ts.map +1 -1
  46. package/dist/ui/checkbox.js +72 -25
  47. package/dist/ui/chip.js +14 -14
  48. package/dist/ui/code.js +9 -9
  49. package/dist/ui/combobox.d.ts.map +1 -1
  50. package/dist/ui/combobox.js +46 -45
  51. package/dist/ui/dialog.js +17 -17
  52. package/dist/ui/dropdown-menu.js +22 -22
  53. package/dist/ui/form.d.ts.map +1 -1
  54. package/dist/ui/form.js +35 -29
  55. package/dist/ui/input.js +20 -20
  56. package/dist/ui/label.js +15 -15
  57. package/dist/ui/lib/motion.d.ts.map +1 -1
  58. package/dist/ui/lib/motion.js +2 -2
  59. package/dist/ui/link.js +14 -14
  60. package/dist/ui/number-input.js +36 -36
  61. package/dist/ui/pagination.js +14 -14
  62. package/dist/ui/progress.js +6 -6
  63. package/dist/ui/radio.d.ts.map +1 -1
  64. package/dist/ui/radio.js +24 -12
  65. package/dist/ui/search-input.d.ts.map +1 -1
  66. package/dist/ui/search-input.js +25 -19
  67. package/dist/ui/select.js +15 -15
  68. package/dist/ui/separator.d.ts +10 -2
  69. package/dist/ui/separator.d.ts.map +1 -1
  70. package/dist/ui/separator.js +16 -15
  71. package/dist/ui/sheet.js +7 -7
  72. package/dist/ui/sidebar.d.ts +1 -1
  73. package/dist/ui/sidebar.d.ts.map +1 -1
  74. package/dist/ui/sidebar.js +22 -22
  75. package/dist/ui/skeleton.js +5 -5
  76. package/dist/ui/slider.js +7 -7
  77. package/dist/ui/stat-card.js +19 -19
  78. package/dist/ui/switch.d.ts.map +1 -1
  79. package/dist/ui/switch.js +14 -13
  80. package/dist/ui/tabs.d.ts.map +1 -1
  81. package/dist/ui/tabs.js +60 -51
  82. package/dist/ui/textarea.js +15 -15
  83. package/dist/ui/toast.js +1 -1
  84. package/dist/ui/toggle.js +5 -5
  85. package/dist/ui/tooltip.d.ts +0 -4
  86. package/dist/ui/tooltip.d.ts.map +1 -1
  87. package/dist/ui/tooltip.js +24 -24
  88. package/docs/components/ui/avatar.md +3 -0
  89. package/docs/components/ui/button.md +5 -0
  90. package/docs/components/ui/checkbox.md +5 -0
  91. package/docs/components/ui/dropdown-menu.md +3 -0
  92. package/docs/components/ui/separator.md +3 -0
  93. package/docs/components/ui/tooltip.md +5 -0
  94. package/llms-full.txt +25 -1
  95. package/llms.txt +20 -0
  96. package/package.json +1 -1
@@ -1,9 +1,10 @@
1
1
  "use client";
2
2
  import { jsxs as w, jsx as a } from "react/jsx-runtime";
3
3
  import * as $ from "react";
4
- import { startOfWeek as E, addDays as v, format as u, isSameDay as D, isToday as I, getHours as N, getMinutes as S, differenceInMinutes as A } from "date-fns";
4
+ import { startOfWeek as S, addDays as E, format as u, isSameDay as I, isToday as D, getHours as N, getMinutes as v, differenceInMinutes as A } from "date-fns";
5
5
  import { cn as x } from "../ui/lib/utils.js";
6
- const O = {
6
+ import { m as O } from "../_chunks/framer.js";
7
+ const P = {
7
8
  primary: "bg-accent-2 border-accent-7 text-accent-11",
8
9
  success: "bg-success-3 border-success-7 text-success-11",
9
10
  warning: "bg-warning-3 border-warning-7 text-warning-11",
@@ -11,21 +12,21 @@ const O = {
11
12
  info: "bg-info-3 border-info-7 text-info-11",
12
13
  neutral: "bg-surface-2 border-surface-border-strong text-surface-fg-muted"
13
14
  };
14
- function P(r) {
15
+ function T(r) {
15
16
  return r === 0 ? "12 AM" : r < 12 ? `${r} AM` : r === 12 ? "12 PM" : `${r - 12} PM`;
16
17
  }
17
- function T(r, s, o) {
18
- const i = (o - s) * 60, t = (N(r.start) - s) * 60 + S(r.start), c = A(r.end, r.start), d = t / i * 100, m = c / i * 100;
18
+ function V(r, s, o) {
19
+ const d = (o - s) * 60, t = (N(r.start) - s) * 60 + v(r.start), i = A(r.end, r.start), c = t / d * 100, m = i / d * 100;
19
20
  return {
20
- top: `${d}%`,
21
+ top: `${c}%`,
21
22
  height: `${m}%`
22
23
  };
23
24
  }
24
- function V({ startHour: r, endHour: s }) {
25
+ function j({ startHour: r, endHour: s }) {
25
26
  const o = [];
26
27
  for (let t = r; t < s; t++)
27
28
  o.push(t);
28
- const i = 100 / (s - r);
29
+ const d = 100 / (s - r);
29
30
  return /* @__PURE__ */ a(
30
31
  "div",
31
32
  {
@@ -35,36 +36,36 @@ function V({ startHour: r, endHour: s }) {
35
36
  "div",
36
37
  {
37
38
  className: "text-ds-xs text-surface-fg-muted pr-ds-02 text-right",
38
- style: { height: `${i}%` },
39
- children: P(t)
39
+ style: { height: `${d}%` },
40
+ children: T(t)
40
41
  },
41
42
  t
42
43
  ))
43
44
  }
44
45
  );
45
46
  }
46
- function j({
47
+ function R({
47
48
  date: r,
48
49
  events: s,
49
50
  startHour: o,
50
- endHour: i,
51
+ endHour: d,
51
52
  slotDuration: t,
52
- onEventClick: c,
53
- onSlotClick: d,
53
+ onEventClick: i,
54
+ onSlotClick: c,
54
55
  showHeader: m
55
56
  }) {
56
- const y = s.filter((e) => D(e.start, r)), p = (i - o) * 60, g = p / t, b = [];
57
- for (let e = 0; e < g; e++) {
57
+ const y = s.filter((e) => I(e.start, r)), p = (d - o) * 60, h = p / t, b = [];
58
+ for (let e = 0; e < h; e++) {
58
59
  const n = new Date(r);
59
60
  n.setHours(o, e * t, 0, 0);
60
61
  const f = new Date(n);
61
62
  f.setMinutes(f.getMinutes() + t), b.push({ start: n, end: f });
62
63
  }
63
- const l = I(r);
64
- let h = null;
64
+ const l = D(r);
65
+ let g = null;
65
66
  if (l) {
66
- const e = /* @__PURE__ */ new Date(), n = N(e), f = S(e);
67
- n >= o && n < i && (h = ((n - o) * 60 + f) / p * 100);
67
+ const e = /* @__PURE__ */ new Date(), n = N(e), f = v(e);
68
+ n >= o && n < d && (g = ((n - o) * 60 + f) / p * 100);
68
69
  }
69
70
  return /* @__PURE__ */ w("div", { className: "flex flex-1 flex-col min-w-[80px]", children: [
70
71
  m && /* @__PURE__ */ a(
@@ -83,17 +84,17 @@ function j({
83
84
  {
84
85
  type: "button",
85
86
  className: x(
86
- "block w-full border-b border-surface-border hover:bg-surface-3 transition-colors",
87
+ "block w-full border-b border-surface-border hover:bg-surface-3 transition-colors ease-productive-standard",
87
88
  n % 2 === 0 ? "border-surface-border-strong" : "border-surface-3"
88
89
  ),
89
- style: { height: `${100 / g}%` },
90
- onClick: () => d == null ? void 0 : d(e.start, e.end),
90
+ style: { height: `${100 / h}%` },
91
+ onClick: () => c == null ? void 0 : c(e.start, e.end),
91
92
  "aria-label": `${u(e.start, "h:mm a")} to ${u(e.end, "h:mm a")}`
92
93
  },
93
94
  n
94
95
  )),
95
96
  y.map((e) => {
96
- const n = T(e, o, i), f = O[e.color ?? "primary"];
97
+ const n = V(e, o, d), f = P[e.color ?? "primary"];
97
98
  return /* @__PURE__ */ a(
98
99
  "button",
99
100
  {
@@ -101,12 +102,12 @@ function j({
101
102
  className: x(
102
103
  "absolute left-ds-01 right-ds-01 rounded-ds-sm border-l-[3px] px-ds-02 py-ds-01",
103
104
  "text-left text-ds-xs font-medium overflow-hidden cursor-pointer",
104
- "hover:opacity-90 transition-opacity",
105
+ "hover:shadow-01 hover:scale-[1.02] transition-[box-shadow,transform] duration-fast-02 ease-productive-standard",
105
106
  f
106
107
  ),
107
108
  style: n,
108
109
  onClick: (M) => {
109
- M.stopPropagation(), c == null || c(e);
110
+ M.stopPropagation(), i == null || i(e);
110
111
  },
111
112
  "aria-label": `${e.title}, ${u(e.start, "h:mm a")} to ${u(e.end, "h:mm a")}`,
112
113
  children: /* @__PURE__ */ a("span", { className: "line-clamp-2", children: e.title })
@@ -114,40 +115,47 @@ function j({
114
115
  e.id
115
116
  );
116
117
  }),
117
- h != null && /* @__PURE__ */ a(
118
+ g != null && /* @__PURE__ */ a(
118
119
  "div",
119
120
  {
120
121
  className: "absolute left-0 right-0 h-[2px] bg-error-9 z-10 pointer-events-none",
121
- style: { top: `${h}%` },
122
+ style: { top: `${g}%` },
122
123
  "aria-hidden": "true",
123
- children: /* @__PURE__ */ a("span", { className: "absolute -left-[5px] -top-[4px] h-[10px] w-[10px] rounded-ds-full bg-error-9" })
124
+ children: /* @__PURE__ */ a(
125
+ O.span,
126
+ {
127
+ className: "absolute -left-[5px] -top-[4px] h-[10px] w-[10px] rounded-ds-full bg-error-9",
128
+ animate: { scale: [1, 1.3, 1] },
129
+ transition: { repeat: 1 / 0, duration: 2 }
130
+ }
131
+ )
124
132
  }
125
133
  )
126
134
  ] })
127
135
  ] });
128
136
  }
129
- const R = $.forwardRef(
137
+ const W = $.forwardRef(
130
138
  ({
131
139
  view: r,
132
140
  date: s,
133
141
  events: o,
134
- onEventClick: i,
142
+ onEventClick: d,
135
143
  onSlotClick: t,
136
- startHour: c = 8,
137
- endHour: d = 18,
144
+ startHour: i = 8,
145
+ endHour: c = 18,
138
146
  slotDuration: m = 30,
139
147
  className: y,
140
148
  ...p
141
- }, g) => {
149
+ }, h) => {
142
150
  const b = $.useMemo(() => {
143
151
  if (r === "day") return [s];
144
- const l = E(s, { weekStartsOn: 1 });
145
- return Array.from({ length: 7 }, (h, e) => v(l, e));
152
+ const l = S(s, { weekStartsOn: 1 });
153
+ return Array.from({ length: 7 }, (g, e) => E(l, e));
146
154
  }, [r, s]);
147
155
  return /* @__PURE__ */ w(
148
156
  "div",
149
157
  {
150
- ref: g,
158
+ ref: h,
151
159
  role: "region",
152
160
  "aria-label": r === "day" ? `Schedule for ${u(s, "EEEE, MMMM d, yyyy")}` : `Week schedule starting ${u(b[0], "MMMM d, yyyy")}`,
153
161
  className: x(
@@ -157,16 +165,16 @@ const R = $.forwardRef(
157
165
  ),
158
166
  ...p,
159
167
  children: [
160
- /* @__PURE__ */ a(V, { startHour: c, endHour: d }),
168
+ /* @__PURE__ */ a(j, { startHour: i, endHour: c }),
161
169
  /* @__PURE__ */ a("div", { className: "flex flex-1 divide-x divide-surface-border overflow-x-auto", children: b.map((l) => /* @__PURE__ */ a(
162
- j,
170
+ R,
163
171
  {
164
172
  date: l,
165
173
  events: o,
166
- startHour: c,
167
- endHour: d,
174
+ startHour: i,
175
+ endHour: c,
168
176
  slotDuration: m,
169
- onEventClick: i,
177
+ onEventClick: d,
170
178
  onSlotClick: t,
171
179
  showHeader: r === "week"
172
180
  },
@@ -177,7 +185,7 @@ const R = $.forwardRef(
177
185
  );
178
186
  }
179
187
  );
180
- R.displayName = "ScheduleView";
188
+ W.displayName = "ScheduleView";
181
189
  export {
182
- R as ScheduleView
190
+ W as ScheduleView
183
191
  };
@@ -1,10 +1,10 @@
1
1
  "use client";
2
- import { jsx as r, jsxs as u } from "react/jsx-runtime";
2
+ import { jsx as a, jsxs as u } from "react/jsx-runtime";
3
3
  import * as v from "react";
4
4
  import { ag as C } from "../_chunks/vendor-utils.js";
5
5
  import { motionProps as g } from "../ui/lib/motion.js";
6
- import { cn as a } from "../ui/lib/utils.js";
7
- import { A as p, m as l } from "../_chunks/framer.js";
6
+ import { cn as r } from "../ui/lib/utils.js";
7
+ import { A as l, m as p } from "../_chunks/framer.js";
8
8
  const b = C(
9
9
  "inline-flex items-center gap-ds-02b rounded-ds-full font-body",
10
10
  {
@@ -54,24 +54,24 @@ const b = C(
54
54
  ({ status: m, color: s, size: t, label: n, hideDot: c = !1, className: o, ...i }, d) => {
55
55
  if (s != null) {
56
56
  const h = n ?? s.charAt(0).toUpperCase() + s.slice(1), y = k[s];
57
- return /* @__PURE__ */ r(p, { mode: "wait", children: /* @__PURE__ */ u(
58
- l.span,
57
+ return /* @__PURE__ */ a(l, { mode: "wait", children: /* @__PURE__ */ u(
58
+ p.span,
59
59
  {
60
60
  ref: d,
61
- initial: { opacity: 0.6 },
62
- animate: { opacity: 1 },
63
- exit: { opacity: 0.6 },
61
+ initial: { opacity: 0.6, scale: 0.95 },
62
+ animate: { opacity: 1, scale: 1 },
63
+ exit: { opacity: 0.6, scale: 0.95 },
64
64
  transition: f,
65
- className: a(
65
+ className: r(
66
66
  b({ color: s, size: t }),
67
67
  o
68
68
  ),
69
69
  ...g(i),
70
70
  children: [
71
- !c && /* @__PURE__ */ r(
71
+ !c && /* @__PURE__ */ a(
72
72
  "span",
73
73
  {
74
- className: a(
74
+ className: r(
75
75
  "shrink-0 rounded-ds-full",
76
76
  t === "sm" ? "h-ds-02b w-ds-02b" : "h-[8px] w-[8px]",
77
77
  y
@@ -86,24 +86,24 @@ const b = C(
86
86
  ) });
87
87
  }
88
88
  const e = m ?? "pending", x = n ?? e.charAt(0).toUpperCase() + e.slice(1), w = j[e];
89
- return /* @__PURE__ */ r(p, { mode: "wait", children: /* @__PURE__ */ u(
90
- l.span,
89
+ return /* @__PURE__ */ a(l, { mode: "wait", children: /* @__PURE__ */ u(
90
+ p.span,
91
91
  {
92
92
  ref: d,
93
93
  initial: { opacity: 0.6 },
94
94
  animate: { opacity: 1 },
95
95
  exit: { opacity: 0.6 },
96
96
  transition: f,
97
- className: a(
97
+ className: r(
98
98
  b({ status: e, size: t }),
99
99
  o
100
100
  ),
101
101
  ...g(i),
102
102
  children: [
103
- !c && /* @__PURE__ */ r(
103
+ !c && /* @__PURE__ */ a(
104
104
  "span",
105
105
  {
106
- className: a(
106
+ className: r(
107
107
  "shrink-0 rounded-ds-full",
108
108
  t === "sm" ? "h-ds-02b w-ds-02b" : "h-[8px] w-[8px]",
109
109
  w
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-navbar.d.ts","sourceRoot":"","sources":["../../src/shell/bottom-navbar.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACzC,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC9B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,EAAE,CAAA;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA2ED,QAAA,MAAM,YAAY,uFAqIjB,CAAA;AAGD,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"bottom-navbar.d.ts","sourceRoot":"","sources":["../../src/shell/bottom-navbar.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACzC,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC9B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,EAAE,CAAA;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA2ED,QAAA,MAAM,YAAY,uFA2IjB,CAAA;AAGD,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -4,17 +4,17 @@ import * as w from "react";
4
4
  import { useState as y } from "react";
5
5
  import { u } from "../_chunks/link-context.js";
6
6
  import { IconX as k, IconDots as M } from "@tabler/icons-react";
7
- import { cn as o } from "../ui/lib/utils.js";
7
+ import { cn as l } from "../ui/lib/utils.js";
8
8
  import { springs as d } from "../ui/lib/motion.js";
9
- import { m as f } from "../_chunks/framer.js";
10
- function j({ count: a }) {
9
+ import { A as j, m as c } from "../_chunks/framer.js";
10
+ function C({ count: a }) {
11
11
  if (!a || a <= 0) return null;
12
12
  const r = a > 99 ? "99+" : String(a), i = a >= 10;
13
13
  return /* @__PURE__ */ s(
14
14
  "span",
15
15
  {
16
16
  "aria-label": `${a} notifications`,
17
- className: o(
17
+ className: l(
18
18
  "absolute -right-1 -top-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-error-9 text-[10px] font-semibold leading-none text-accent-fg animate-in zoom-in-75",
19
19
  i ? "px-0.5" : ""
20
20
  ),
@@ -22,26 +22,26 @@ function j({ count: a }) {
22
22
  }
23
23
  );
24
24
  }
25
- function C({
25
+ function B({
26
26
  item: a,
27
27
  isActive: r,
28
28
  onClick: i
29
29
  }) {
30
30
  const n = u();
31
- return /* @__PURE__ */ s(f.div, { whileTap: { y: -2 }, transition: d.snappy, className: "flex max-w-[70px] flex-1", children: /* @__PURE__ */ s(
31
+ return /* @__PURE__ */ s(c.div, { whileTap: { y: -2 }, transition: d.snappy, className: "flex max-w-[70px] flex-1", children: /* @__PURE__ */ s(
32
32
  n,
33
33
  {
34
34
  href: a.href,
35
35
  onClick: i,
36
36
  "aria-label": a.title,
37
37
  "aria-current": r ? "page" : void 0,
38
- className: o(
39
- "flex h-16 w-full cursor-pointer flex-col items-center gap-ds-02 p-ds-02 pt-0 text-ds-sm",
38
+ className: l(
39
+ "flex h-16 w-full cursor-pointer flex-col items-center gap-ds-02 p-ds-02 pt-0 text-ds-sm transition-colors duration-fast-02 ease-productive-standard",
40
40
  r ? "font-semibold text-accent-11" : "text-surface-fg-subtle"
41
41
  ),
42
42
  children: /* @__PURE__ */ t("div", { className: "relative flex w-full flex-col items-center gap-ds-02", children: [
43
43
  r && /* @__PURE__ */ s(
44
- f.div,
44
+ c.div,
45
45
  {
46
46
  layoutId: "bottom-nav-indicator",
47
47
  className: "absolute top-0 h-[3px] w-full rounded-b-ds-sm bg-accent-9 p-0",
@@ -51,14 +51,14 @@ function C({
51
51
  ),
52
52
  /* @__PURE__ */ t("div", { className: "relative p-ds-03", children: [
53
53
  /* @__PURE__ */ s("span", { className: "[&>svg]:h-ico-md [&>svg]:w-ico-md", "aria-hidden": "true", children: a.icon }),
54
- a.badge != null && /* @__PURE__ */ s(j, { count: a.badge })
54
+ a.badge != null && /* @__PURE__ */ s(C, { count: a.badge })
55
55
  ] }),
56
56
  /* @__PURE__ */ s("span", { className: "text-center", children: a.title })
57
57
  ] })
58
58
  }
59
59
  ) });
60
60
  }
61
- const B = w.forwardRef(
61
+ const L = w.forwardRef(
62
62
  ({
63
63
  currentPath: a = "/",
64
64
  user: r,
@@ -67,21 +67,25 @@ const B = w.forwardRef(
67
67
  className: h,
68
68
  ...x
69
69
  }, b) => {
70
- const g = u(), [l, c] = y(!1), m = (e, v = !1) => v || e === "/" ? a === e : a.startsWith(e), p = n.some(
70
+ const g = u(), [o, f] = y(!1), m = (e, v = !1) => v || e === "/" ? a === e : a.startsWith(e), p = n.some(
71
71
  (e) => m(e.href, e.exact)
72
72
  );
73
73
  return /* @__PURE__ */ t(N, { children: [
74
- l && // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events -- backdrop overlay, dismiss via mouse only; keyboard users close via Escape
74
+ /* @__PURE__ */ s(j, { children: o && // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events -- backdrop overlay, dismiss via mouse only; keyboard users close via Escape
75
75
  /* @__PURE__ */ t(
76
76
  "div",
77
77
  {
78
78
  className: "fixed inset-0 z-overlay md:hidden",
79
- onClick: () => c(!1),
79
+ onClick: () => f(!1),
80
80
  children: [
81
81
  /* @__PURE__ */ s("div", { className: "absolute inset-0 bg-overlay" }),
82
82
  /* @__PURE__ */ t(
83
- "div",
83
+ c.div,
84
84
  {
85
+ initial: { y: "100%" },
86
+ animate: { y: 0 },
87
+ exit: { y: "100%" },
88
+ transition: d.smooth,
85
89
  className: "absolute bottom-[72px] left-0 right-0 rounded-t-ds-2xl border-t border-surface-border-strong bg-surface-2 p-ds-05 pb-ds-03",
86
90
  onClick: (e) => e.stopPropagation(),
87
91
  onKeyDown: (e) => e.stopPropagation(),
@@ -91,7 +95,7 @@ const B = w.forwardRef(
91
95
  /* @__PURE__ */ s(
92
96
  "button",
93
97
  {
94
- onClick: () => c(!1),
98
+ onClick: () => f(!1),
95
99
  "aria-label": "Close more menu",
96
100
  className: "flex h-ds-sm w-ds-sm items-center justify-center rounded-ds-full hover:bg-surface-3",
97
101
  children: /* @__PURE__ */ s(k, { className: "h-ico-sm w-ico-sm text-surface-fg-muted", "aria-hidden": "true" })
@@ -102,9 +106,9 @@ const B = w.forwardRef(
102
106
  g,
103
107
  {
104
108
  href: e.href,
105
- onClick: () => c(!1),
106
- className: o(
107
- "flex flex-col items-center gap-ds-02b rounded-ds-xl p-ds-04 text-ds-sm transition-colors",
109
+ onClick: () => f(!1),
110
+ className: l(
111
+ "flex flex-col items-center gap-ds-02b rounded-ds-xl p-ds-04 text-ds-sm transition-colors ease-productive-standard",
108
112
  m(e.href, e.exact) ? "bg-surface-3 text-accent-11" : "text-surface-fg-subtle hover:bg-surface-3"
109
113
  ),
110
114
  children: [
@@ -119,20 +123,20 @@ const B = w.forwardRef(
119
123
  )
120
124
  ]
121
125
  }
122
- ),
126
+ ) }),
123
127
  /* @__PURE__ */ t(
124
128
  "nav",
125
129
  {
126
130
  ...x,
127
131
  ref: b,
128
132
  "aria-label": "Mobile navigation",
129
- className: o(
133
+ className: l(
130
134
  "fixed bottom-0 left-0 right-0 z-sticky flex w-full flex-row items-start justify-between border-t border-surface-border-strong bg-surface-2 px-ds-05 pb-ds-05b pt-0 md:hidden",
131
135
  h
132
136
  ),
133
137
  children: [
134
138
  i.map((e) => /* @__PURE__ */ s(
135
- C,
139
+ B,
136
140
  {
137
141
  item: e,
138
142
  isActive: m(e.href, e.exact)
@@ -140,21 +144,21 @@ const B = w.forwardRef(
140
144
  e.href
141
145
  )),
142
146
  n.length > 0 && /* @__PURE__ */ s(
143
- f.button,
147
+ c.button,
144
148
  {
145
149
  type: "button",
146
- onClick: () => c(!l),
150
+ onClick: () => f(!o),
147
151
  "aria-label": "More navigation options",
148
- "aria-expanded": l,
152
+ "aria-expanded": o,
149
153
  whileTap: { y: -2 },
150
154
  transition: d.snappy,
151
- className: o(
155
+ className: l(
152
156
  "flex h-16 max-w-[70px] flex-1 cursor-pointer flex-col items-center gap-ds-02 p-ds-02 pt-0 text-ds-sm",
153
- l || p ? "font-semibold text-accent-11" : "text-surface-fg-subtle"
157
+ o || p ? "font-semibold text-accent-11" : "text-surface-fg-subtle"
154
158
  ),
155
159
  children: /* @__PURE__ */ t("div", { className: "relative flex w-full flex-col items-center gap-ds-02", children: [
156
- (l || p) && /* @__PURE__ */ s(
157
- f.div,
160
+ (o || p) && /* @__PURE__ */ s(
161
+ c.div,
158
162
  {
159
163
  layoutId: "bottom-nav-indicator",
160
164
  className: "absolute top-0 h-[3px] w-full rounded-b-ds-sm bg-accent-9 p-0",
@@ -173,7 +177,7 @@ const B = w.forwardRef(
173
177
  ] });
174
178
  }
175
179
  );
176
- B.displayName = "BottomNavbar";
180
+ L.displayName = "BottomNavbar";
177
181
  export {
178
- B as BottomNavbar
182
+ L as BottomNavbar
179
183
  };
@@ -1 +1 @@
1
- {"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../../src/shell/notification-center.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC1C,8EAA8E;IAC9E,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IACvC,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAClC,wEAAwE;IACxE,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,uBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACrD,uCAAuC;IACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iDAAiD;IACjD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,GAAG,IAAI,CAAA;IACpE,wEAAwE;IACxE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,oEAAoE;IACpE,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,gGAAgG;IAChG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA4KD,QAAA,MAAM,kBAAkB,mGAoMvB,CAAA;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../../src/shell/notification-center.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC1C,8EAA8E;IAC9E,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IACvC,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAClC,wEAAwE;IACxE,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,uBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACrD,uCAAuC;IACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iDAAiD;IACjD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,GAAG,IAAI,CAAA;IACpE,wEAAwE;IACxE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,oEAAoE;IACpE,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,gGAAgG;IAChG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA4KD,QAAA,MAAM,kBAAkB,mGA0MvB,CAAA;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}