@xenide-io/the-old-ui-theme 0.3.2 → 0.4.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 (60) hide show
  1. package/dist/{chunk-5HSOBJ4F.mjs → chunk-KORWJCIO.mjs} +600 -932
  2. package/dist/{index-BgG8Homu.d.mts → index-B5NOyoKS.d.mts} +100 -100
  3. package/dist/{index-BgG8Homu.d.ts → index-B5NOyoKS.d.ts} +100 -100
  4. package/dist/index.d.mts +9 -145
  5. package/dist/index.d.ts +9 -145
  6. package/dist/index.js +653 -1111
  7. package/dist/index.mjs +9 -267
  8. package/dist/suite.d.mts +760 -0
  9. package/dist/suite.d.ts +760 -0
  10. package/dist/suite.js +2564 -0
  11. package/dist/suite.mjs +2465 -0
  12. package/dist/ui.d.mts +1 -2
  13. package/dist/ui.d.ts +1 -2
  14. package/dist/ui.js +14 -10
  15. package/dist/ui.mjs +1 -1
  16. package/package.json +43 -24
  17. package/src/components/icons/icons.tsx +0 -2
  18. package/src/components/icons/index.ts +0 -3
  19. package/src/components/sections/IconShowcase.tsx +1 -110
  20. package/src/components/sections/NewComponentsShowcase.tsx +4 -4
  21. package/src/components/sections/SidebarShowcase.tsx +3 -3
  22. package/src/components/sections/SuiteShowcase.tsx +669 -0
  23. package/src/components/ui/ComponentDocs.tsx +2 -2
  24. package/src/components/ui/ContextMenu.tsx +1 -1
  25. package/src/components/ui/Menubar.tsx +1 -1
  26. package/src/components/ui/Sidebar.tsx +10 -8
  27. package/src/styles/suite-skin.css +255 -0
  28. package/src/suite/components/ai-panel.tsx +202 -0
  29. package/src/suite/components/app-switcher.tsx +196 -0
  30. package/src/suite/components/command-palette-host.tsx +62 -0
  31. package/src/suite/components/deferred-chrome.tsx +12 -0
  32. package/src/suite/components/suite-app-layout.tsx +69 -0
  33. package/src/suite/components/suite-bottom-nav.tsx +113 -0
  34. package/src/suite/components/suite-layout.tsx +287 -0
  35. package/src/suite/components/suite-mobile-drawer.tsx +150 -0
  36. package/src/suite/components/suite-mobile-header.tsx +71 -0
  37. package/src/suite/components/suite-notification-bell.tsx +227 -0
  38. package/src/suite/components/suite-settings-mobile-nav.tsx +83 -0
  39. package/src/suite/components/suite-sidebar.tsx +191 -0
  40. package/src/suite/components/suite-skeleton.tsx +191 -0
  41. package/src/suite/components/suite-user-menu.tsx +128 -0
  42. package/src/suite/components/theme-provider.tsx +174 -0
  43. package/src/suite/components/today-calibrating.tsx +95 -0
  44. package/src/suite/components/today-page-frame.tsx +28 -0
  45. package/src/suite/components/today-ui.tsx +370 -0
  46. package/src/suite/icons/app-accents.ts +75 -0
  47. package/src/suite/icons/glyph-parts.tsx +67 -0
  48. package/src/suite/icons/glyphs.ts +203 -0
  49. package/src/suite/icons/index.ts +12 -0
  50. package/src/suite/icons/suite-app-icon.tsx +68 -0
  51. package/src/suite/icons/suite-icon.tsx +93 -0
  52. package/src/suite/index.ts +108 -0
  53. package/src/suite/lib/apps.ts +75 -0
  54. package/src/suite/lib/cn.ts +6 -0
  55. package/src/suite/lib/injected.ts +54 -0
  56. package/src/suite/lib/motion.tsx +48 -0
  57. package/src/suite/lib/use-idle-mount.ts +25 -0
  58. package/src/components/icons/lemon-brand-icons.tsx +0 -16
  59. package/src/components/icons/lemon-category-icons.tsx +0 -72
  60. package/src/components/icons/lemon-icons.tsx +0 -57
package/dist/index.js CHANGED
@@ -119,216 +119,84 @@ __export(src_exports, {
119
119
  H5: () => H5,
120
120
  HoverCard: () => HoverCard,
121
121
  Icon: () => IconBase,
122
- Icon123: () => Icon123,
123
- IconAI: () => IconAI,
124
- IconAction: () => IconAction,
125
122
  IconActivity: () => IconActivity,
126
- IconAdsClick: () => IconAdsClick,
127
- IconAndroidOS: () => IconAndroidOS,
128
- IconAppleIOS: () => IconAppleIOS,
129
- IconArchive: () => IconArchive,
130
123
  IconAreaChart: () => IconAreaChart,
131
124
  IconArrowDown: () => IconArrowDown,
132
125
  IconArrowUp: () => IconArrowUp,
133
- IconAtSign: () => IconAtSign,
134
- IconBadge: () => IconBadge,
135
126
  IconBase: () => IconBase,
136
127
  IconBell: () => IconBell,
137
128
  IconBellOff: () => IconBellOff,
138
- IconBinary: () => IconBinary,
139
- IconBlank: () => IconBlank,
140
- IconBold: () => IconBold,
141
129
  IconBolt: () => IconBolt,
142
- IconBook: () => IconBook,
143
- IconBookmarkBorder: () => IconBookmarkBorder,
144
130
  IconBox: () => IconBox,
145
- IconBranch: () => IconBranch,
146
- IconBug: () => IconBug,
147
131
  IconByName: () => IconByName,
148
- IconCalculate: () => IconCalculate,
149
- IconCalendar: () => IconCalendar,
150
- IconCalendarDay: () => IconCalendarDay,
151
132
  IconCancel: () => IconCancel,
152
- IconCart: () => IconCart,
153
- IconChat: () => IconChat,
154
133
  IconCheck: () => IconCheck,
155
134
  IconCheckCircle: () => IconCheckCircle,
156
- IconCheckboxChecked: () => IconCheckboxChecked,
157
135
  IconChevronDown: () => IconChevronDown,
158
136
  IconChevronLeft: () => IconChevronLeft,
159
137
  IconChevronRight: () => IconChevronRight,
160
- IconChrome: () => IconChrome,
161
138
  IconClipboardEdit: () => IconClipboardEdit,
162
- IconClock: () => IconClock,
163
139
  IconClose: () => IconClose,
164
- IconCloud: () => IconCloud,
165
140
  IconCodePreview: () => IconCodePreview,
166
- IconCoffee: () => IconCoffee,
167
141
  IconCohort: () => IconCohort,
168
142
  IconCommandCursor: () => IconCommandCursor,
169
- IconConfetti: () => IconConfetti,
170
143
  IconCopy: () => IconCopy,
171
- IconCrown: () => IconCrown,
172
144
  IconCumulativeChart: () => IconCumulativeChart,
173
145
  IconDataReel: () => IconDataReel,
174
146
  IconDatabase: () => IconDatabase,
175
- IconDevices: () => IconDevices,
176
- IconDocument: () => IconDocument,
177
147
  IconDownload: () => IconDownload,
178
- IconDownloadCloud: () => IconDownloadCloud,
179
- IconDragHandle: () => IconDragHandle,
180
148
  IconEdit: () => IconEdit,
181
149
  IconErrorOutline: () => IconErrorOutline,
182
- IconEvent: () => IconEvent,
183
150
  IconEventStream: () => IconEventStream,
184
151
  IconExclamation: () => IconExclamation,
185
152
  IconExperimentSplit: () => IconExperimentSplit,
186
- IconExternalLink: () => IconExternalLink,
187
- IconEye: () => IconEye,
188
- IconEyeHidden: () => IconEyeHidden,
189
- IconFacebook: () => IconFacebook,
190
153
  IconFeatureGate: () => IconFeatureGate,
191
- IconFeedback: () => IconFeedback,
192
- IconFile: () => IconFile,
193
- IconFilter: () => IconFilter,
194
- IconFingerprint: () => IconFingerprint,
195
- IconFirefox: () => IconFirefox,
196
154
  IconFlag: () => IconFlag,
197
155
  IconFlare: () => IconFlare,
198
156
  IconFlask: () => IconFlask,
199
- IconFolder: () => IconFolder,
200
- IconForward: () => IconForward,
201
- IconFullScreen: () => IconFullScreen,
202
- IconFunnelHorizontal: () => IconFunnelHorizontal,
203
- IconFunnelVertical: () => IconFunnelVertical,
204
- IconGear: () => IconGear,
205
- IconGhost: () => IconGhost,
206
157
  IconGift: () => IconGift,
207
- IconGitlab: () => IconGitlab,
208
- IconGlobe: () => IconGlobe,
209
- IconGoogle: () => IconGoogle,
210
158
  IconGridView: () => IconGridView,
211
- IconGroupedEvents: () => IconGroupedEvents,
212
- IconGroups: () => IconGroups,
213
159
  IconHandClick: () => IconHandClick,
214
- IconHash: () => IconHash,
215
- IconHeadphones: () => IconHeadphones,
216
- IconHeart: () => IconHeart,
217
- IconHeatmap: () => IconHeatmap,
218
160
  IconHome: () => IconHome,
219
- IconHomeFilled: () => IconHomeFilled,
220
- IconHourglass: () => IconHourglass,
221
- IconImage: () => IconImage,
222
- IconInbox: () => IconInbox,
223
161
  IconInfo: () => IconInfo,
224
- IconInfoFilled: () => IconInfoFilled,
225
162
  IconInsightBoard: () => IconInsightBoard,
226
- IconItalic: () => IconItalic,
227
- IconKey: () => IconKey,
228
- IconKeyFilled: () => IconKeyFilled,
229
- IconLaptop: () => IconLaptop,
230
163
  IconLayers: () => IconLayers,
231
- IconLayout: () => IconLayout,
232
- IconLifeBuoy: () => IconLifeBuoy,
233
- IconLightBulb: () => IconLightBulb,
234
- IconLink: () => IconLink,
235
- IconLinkBreak: () => IconLinkBreak,
236
- IconLinux: () => IconLinux,
237
164
  IconListView: () => IconListView,
238
- IconLocation: () => IconLocation,
239
- IconLock: () => IconLock,
240
165
  IconLogout: () => IconLogout,
241
- IconMacOS: () => IconMacOS,
242
166
  IconMail: () => IconMail,
243
- IconMap: () => IconMap,
244
- IconMapPin: () => IconMapPin,
245
- IconMaximize: () => IconMaximize,
246
- IconMegaphone: () => IconMegaphone,
247
- IconMenu: () => IconMenu,
248
- IconMic: () => IconMic,
249
- IconMicrosoftTeams: () => IconMicrosoftTeams,
250
- IconMinimize: () => IconMinimize,
251
- IconMinus: () => IconMinus,
252
- IconMonitor: () => IconMonitor,
253
167
  IconMoon: () => IconMoon,
254
- IconMoonFilled: () => IconMoonFilled,
255
- IconMoreHorizontal: () => IconMoreHorizontal,
256
- IconMoreVertical: () => IconMoreVertical,
257
- IconMusic: () => IconMusic,
258
- IconNavigation: () => IconNavigation,
259
- IconNodeJS: () => IconNodeJS,
260
- IconOffline: () => IconOffline,
261
168
  IconOldWindow: () => IconOldWindow,
262
- IconOpenInApp: () => IconOpenInApp,
263
- IconOpenInNew: () => IconOpenInNew,
264
- IconPalette: () => IconPalette,
265
169
  IconPanelRight: () => IconPanelRight,
266
- IconPaperclip: () => IconPaperclip,
267
- IconPauseCircle: () => IconPauseCircle,
268
- IconPeople: () => IconPeople,
269
- IconPercent: () => IconPercent,
270
170
  IconPerson: () => IconPerson,
271
- IconPhone: () => IconPhone,
272
- IconPin: () => IconPin,
273
171
  IconPlayCircle: () => IconPlayCircle,
274
172
  IconPlus: () => IconPlus,
275
173
  IconPremium: () => IconPremium,
276
- IconPreview: () => IconPreview,
277
- IconPrinter: () => IconPrinter,
278
174
  IconQueryEditor: () => IconQueryEditor,
279
175
  IconQueryStack: () => IconQueryStack,
280
- IconQuestionAnswer: () => IconQuestionAnswer,
281
176
  IconRadar: () => IconRadar,
282
- IconRadioButtonUnchecked: () => IconRadioButtonUnchecked,
283
177
  IconRecording: () => IconRecording,
284
- IconRedo: () => IconRedo,
285
- IconRefresh: () => IconRefresh,
286
- IconReplay: () => IconReplay,
287
178
  IconReplayFrame: () => IconReplayFrame,
288
- IconReply: () => IconReply,
289
- IconReport: () => IconReport,
290
179
  IconRobot: () => IconRobot,
291
180
  IconRocket: () => IconRocket,
292
- IconSafari: () => IconSafari,
293
181
  IconSave: () => IconSave,
294
182
  IconSearch: () => IconSearch,
295
- IconSelectAll: () => IconSelectAll,
296
183
  IconSelectEvents: () => IconSelectEvents,
297
184
  IconShoppingCart: () => IconShoppingCart,
298
- IconSkipBackward: () => IconSkipBackward,
299
- IconSkipEnd: () => IconSkipEnd,
300
- IconSkipStart: () => IconSkipStart,
301
- IconSlack: () => IconSlack,
302
- IconSlackExternal: () => IconSlackExternal,
303
185
  IconSpinner: () => IconSpinner,
304
- IconStamphog: () => IconStamphog,
305
186
  IconStar: () => IconStar,
306
- IconStore: () => IconStore,
307
187
  IconSubArrowRight: () => IconSubArrowRight,
308
- IconSubtitles: () => IconSubtitles,
309
- IconSubtitlesOff: () => IconSubtitlesOff,
310
188
  IconSun: () => IconSun,
311
189
  IconSurveyCard: () => IconSurveyCard,
312
190
  IconSurveys: () => IconSurveys,
313
- IconSwapHoriz: () => IconSwapHoriz,
314
191
  IconSync: () => IconSync,
315
192
  IconTableChart: () => IconTableChart,
316
193
  IconTerminal: () => IconTerminal,
317
- IconTextSize: () => IconTextSize,
318
194
  IconToggle: () => IconToggle,
319
195
  IconTrash: () => IconTrash,
320
- IconTrendingDown: () => IconTrendingDown,
321
- IconTrendingFlat: () => IconTrendingFlat,
322
- IconTrendingFlatDown: () => IconTrendingFlatDown,
323
196
  IconTuning: () => IconTuning,
324
- IconUnverifiedEvent: () => IconUnverifiedEvent,
325
197
  IconUpload: () => IconUpload,
326
- IconVerifiedEvent: () => IconVerifiedEvent,
327
- IconVerticalAlignCenter: () => IconVerticalAlignCenter,
328
198
  IconVolume: () => IconVolume,
329
199
  IconVolumeOff: () => IconVolumeOff,
330
- IconWeb: () => IconWeb,
331
- IconWindows: () => IconWindows,
332
200
  Indicator: () => Indicator,
333
201
  Input: () => Input,
334
202
  InputGroup: () => InputGroup,
@@ -1060,212 +928,8 @@ var IconByName = (0, import_react4.forwardRef)(function IconByName2(_a, ref) {
1060
928
  });
1061
929
  IconByName.displayName = "IconByName";
1062
930
 
1063
- // src/components/icons/lemon-icons.tsx
1064
- var import_jsx_runtime6 = require("react/jsx-runtime");
1065
- var p = (d) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d, fill: "currentColor" });
1066
- var IconTextSize = createIconBase({ paths: p("M2 4V7H7V19H10V7H15V4H2M21 9H12V12H15V19H18V12H21V9Z") });
1067
- var IconBranch = createIconBase({ paths: p("M13,14C9.64,14 8.54,15.35 8.18,16.24C9.25,16.7 10,17.76 10,19A3,3 0 0,1 7,22A3,3 0 0,1 4,19C4,17.69 4.83,16.58 6,16.17V7.83C4.83,7.42 4,6.31 4,5A3,3 0 0,1 7,2A3,3 0 0,1 10,5C10,6.31 9.17,7.42 8,7.83V13.12C8.88,12.47 10.16,12 12,12C14.67,12 15.56,10.66 15.85,9.77C14.77,9.32 14,8.25 14,7A3,3 0 0,1 17,4A3,3 0 0,1 20,7C20,8.34 19.12,9.5 17.91,9.86C17.65,11.29 16.68,14 13,14M7,18A1,1 0 0,0 6,19A1,1 0 0,0 7,20A1,1 0 0,0 8,19A1,1 0 0,0 7,18M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M17,6A1,1 0 0,0 16,7A1,1 0 0,0 17,8A1,1 0 0,0 18,7A1,1 0 0,0 17,6Z") });
1068
- var IconFeedback = createIconBase({ viewBox: "0 0 32 32", paths: p("M26.6667 2.66663H5.33341C3.86675 2.66663 2.68008 3.86663 2.68008 5.33329L2.66675 29.3333L8.00008 24H26.6667C28.1334 24 29.3334 22.8 29.3334 21.3333V5.33329C29.3334 3.86663 28.1334 2.66663 26.6667 2.66663ZM26.6667 21.3333H6.89341L6.10675 22.12L5.33341 22.8933V5.33329H26.6667V21.3333ZM14.6667 16H17.3334V18.6666H14.6667V16ZM14.6667 7.99996H17.3334V13.3333H14.6667V7.99996Z") });
1069
- var IconSelectAll = createIconBase({ paths: p("M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2zM7 17h10V7H7v10zm2-8h6v6H9V9z") });
1070
- var IconKey = createIconBase({ paths: p("M21,10h-8.35C11.83,7.67,9.61,6,7,6c-3.31,0-6,2.69-6,6s2.69,6,6,6c2.61,0,4.83-1.67,5.65-4H13l2,2l2-2l2,2l4-4.04L21,10z M7,15c-1.65,0-3-1.35-3-3c0-1.65,1.35-3,3-3s3,1.35,3,3C10,13.65,8.65,15,7,15z") });
1071
- var IconOpenInApp = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "m12 10l-4 4h3v6h2v-6h3m3-10H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4v-2H5V8h14v10h-4v2h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Z" }) });
1072
- var IconSwapHoriz = createIconBase({ paths: p("m6.99 11-3.99 4 3.99 4v-3h7.01v-2h-7.01zm14.01-2-3.99-4v3h-7.01v2h7.01v3z") });
1073
- var IconBlank = createIconBase({ paths: null });
1074
- var IconRadioButtonUnchecked = createIconBase({ paths: p("M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z") });
1075
- var IconOffline = createIconBase({ paths: p("m12 2.02c-5.51 0-9.98 4.47-9.98 9.98s4.47 9.98 9.98 9.98 9.98-4.47 9.98-9.98-4.47-9.98-9.98-9.98zm0 17.96c-4.4 0-7.98-3.58-7.98-7.98s3.58-7.98 7.98-7.98 7.98 3.58 7.98 7.98-3.58 7.98-7.98 7.98zm.75-14.98-4.5 8.5h3.14v5.5l4.36-8.5h-3z") });
1076
- var IconMenu = createIconBase({ paths: p("m3 18h18v-2h-18zm0-5h18v-2h-18zm0-7v2h18v-2z") });
1077
- var IconSubtitles = createIconBase({ paths: p("m20 4h-16c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2zm0 14h-16v-12h16zm-14-8h2v2h-2zm0 4h8v2h-8zm10 0h2v2h-2zm-6-4h8v2h-8z") });
1078
- var IconSubtitlesOff = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1079
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "m20.0001 4h-13.17002l2 2h11.17002v11.17l1.76 1.76c.15-.28.24-.59.24-.93v-12c0-1.1-.9-2-2-2z" }),
1080
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "m18.0001 10h-5.17l2 2h3.17z" }),
1081
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "m1.04004 3.86922 1.2 1.2c-.15.28-.24.59-.24.93v11.99998c0 1.1.9 2 2 2h13.16996l2.96 2.96 1.41-1.41-19.08996-19.09998zm2.96 2.96 3.17 3.17h-1.17v1.99998h2v-1.17l3.16996 3.17h-5.16996v2h7.16996l2 2h-11.16996z" })
1082
- ] }) });
1083
- var IconCalculate = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1084
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "m19 3h-14c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-14c0-1.1-.9-2-2-2zm0 16h-14v-14h14z" }),
1085
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "m11.25 7.7207h-5v1.5h5z" }),
1086
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "m18 15.75h-5v1.5h5z" }),
1087
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "m18 13.25h-5v1.5h5z" }),
1088
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "m8 18h1.5v-2h2v-1.5h-2v-2h-1.5v2h-2v1.5h2z" }),
1089
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "m14.09 10.95 1.41-1.41 1.41 1.41 1.06-1.06-1.41-1.42 1.41-1.41-1.06-1.06-1.41 1.41-1.41-1.41-1.06 1.06 1.41 1.41-1.41 1.42z" })
1090
- ] }) });
1091
- var IconGroupedEvents = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", fillRule: "evenodd", clipRule: "evenodd", d: "m2 6h2v14h14v2h-14c-1.1 0-2-.9-2-2zm6-4h12c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2h-12c-1.1 0-2-.9-2-2v-12c0-1.1.9-2 2-2zm0 14h12v-12h-12zm4.6851-3.6586-.5398 1.6584h-1.6477l2.5106-7.27275h1.9815l2.5071 7.27275h-1.6477l-.5398-1.6584zm1.2855-3.95242-.8949 2.75212h1.8466l-.8949-2.75212z" }) });
1092
- var IconQuestionAnswer = createIconBase({ paths: p("m15 4v7h-9.83l-1.17 1.17v-8.17zm1-2h-13c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1v-9c0-.55-.45-1-1-1zm5 4h-2v9h-13v2c0 .55.45 1 1 1h11l4 4v-15c0-.55-.45-1-1-1z") });
1093
- var IconOpenInNew = createIconBase({ paths: p("m19 19h-14v-14h7v-2h-7c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-5-16v2h3.59l-9.83 9.83 1.41 1.41 9.83-9.83v3.59h2v-7z") });
1094
- var IconTrendingFlat = createIconBase({ paths: p("m20 12-4-4v3h-12v2h12v3z") });
1095
- var IconTrendingFlatDown = createIconBase({ paths: p("m17.6567 17.6558v-5.6568l-2.1214 2.1213-8.48523-8.48531-1.41422 1.41422 8.48525 8.48529-2.1213 2.1213z") });
1096
- var IconTrendingDown = createIconBase({ paths: p("m16 18 2.29-2.29-4.88-4.88-4 4-7.41-7.42 1.41-1.41 6 6 4-4 6.3 6.29 2.29-2.29v6z") });
1097
- var IconAction = createIconBase({ viewBox: "0 0 20 20", paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", fillRule: "evenodd", clipRule: "evenodd", d: "M0 4H2V18H16V20H2C0.9 20 0 19.1 0 18V4ZM6 0H18C19.1 0 20 0.9 20 2V14C20 15.1 19.1 16 18 16H6C4.9 16 4 15.1 4 14V2C4 0.9 4.9 0 6 0ZM6 14H18V2H6V14ZM10.6851 10.3414L10.1453 11.9998H8.49756L11.0082 4.72705H12.9897L15.4968 11.9998H13.8491L13.3093 10.3414H10.6851ZM11.9706 6.38898L11.0757 9.14111H12.9223L12.0274 6.38898H11.9706Z" }) });
1098
- var IconEvent = createIconBase({ viewBox: "0 0 20 10", paths: p("M7.4 10.6L2.8 6L7.4 1.4L6 0L0 6L6 12L7.4 10.6ZM12.6 10.6L17.2 6L12.6 1.4L14 0L20 6L14 12L12.6 10.6Z") });
1099
- var IconReplay = createIconBase({ paths: p("m12 5v-4l-5 5 5 5v-4c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6h-2c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z") });
1100
- var IconHeatmap = createIconBase({ viewBox: "0 0 32 32", paths: p("M17.5 1.49056C17.5 0.00305736 15.5844 -0.557568 14.7406 0.675557C7 11.9899 18 12.4993 18 17.9993C18 20.2262 16.1806 22.0281 13.9469 21.9987C11.7487 21.9706 10 20.1381 10 17.9399V12.5956C10 11.2393 8.34562 10.5812 7.41062 11.5643C5.7375 13.3218 4 16.3324 4 19.9993C4 26.6162 9.38312 31.9993 16 31.9993C22.6169 31.9993 28 26.6162 28 19.9993C28 9.35618 17.5 7.93681 17.5 1.49056V1.49056Z") });
1101
- var IconUnverifiedEvent = createIconBase({ paths: p("M4.8 17.4H19.2V15.6H4.8V17.4ZM6.6 21H17.4V19.2H6.6V21ZM19.2 13.8H4.8C3.81 13.8 3 12.99 3 12V4.8C3 3.81 3.81 3 4.8 3H19.2C20.19 3 21 3.81 21 4.8V12C21 12.99 20.19 13.8 19.2 13.8ZM19.2 4.8H4.8V12H19.2V4.8Z") });
1102
- var IconVerifiedEvent = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1103
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M14 3H4.8C3.81 3 3 3.81 3 4.8V12C3 12.99 3.81 13.8 4.8 13.8H19.2C20.19 13.8 21 12.99 21 12V10H19.2V12H4.8V4.8H14V3ZM19.2 17.4H4.8V15.6H19.2V17.4ZM17.4 21H6.6V19.2H17.4V21Z" }),
1104
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M17.7289 6.04489L16.0628 4.37164L15 5.44166L17.7289 8.17774L23 2.89228L21.9372 1.82227L17.7289 6.04489Z" })
1105
- ] }) });
1106
- var IconBookmarkBorder = createIconBase({ viewBox: "-4 -3 24 24", paths: p("M12.5 0H2.5C1.4 0 0.5 0.9 0.5 2V18L7.5 15L14.5 18V2C14.5 0.9 13.6 0 12.5 0ZM12.5 15L7.5 12.82L2.5 15V2H12.5V15Z") });
1107
- var IconWeb = createIconBase({ paths: p("M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z") });
1108
- var IconMonitor = createIconBase({ paths: p("M21,16H3V4H21M21,2H3C1.89,2 1,2.89 1,4V16A2,2 0 0,0 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4C23,2.89 22.1,2 21,2Z") });
1109
- var IconBold = createIconBase({ paths: p("M6.8 19V5H12.325C13.4083 5 14.4083 5.33333 15.325 6C16.2417 6.66667 16.7 7.59167 16.7 8.775C16.7 9.625 16.5083 10.2792 16.125 10.7375C15.7417 11.1958 15.3833 11.525 15.05 11.725C15.4667 11.9083 15.9292 12.25 16.4375 12.75C16.9458 13.25 17.2 14 17.2 15C17.2 16.4833 16.6583 17.5208 15.575 18.1125C14.4917 18.7042 13.475 19 12.525 19H6.8ZM9.825 16.2H12.425C13.225 16.2 13.7125 15.9958 13.8875 15.5875C14.0625 15.1792 14.15 14.8833 14.15 14.7C14.15 14.5167 14.0625 14.2208 13.8875 13.8125C13.7125 13.4042 13.2 13.2 12.35 13.2H9.825V16.2ZM9.825 10.5H12.15C12.7 10.5 13.1 10.3583 13.35 10.075C13.6 9.79167 13.725 9.475 13.725 9.125C13.725 8.725 13.5833 8.4 13.3 8.15C13.0167 7.9 12.65 7.775 12.2 7.775H9.825V10.5Z") });
1110
- var IconItalic = createIconBase({ paths: p("M5 19V16.5H9L12 7.5H8V5H18V7.5H14.5L11.5 16.5H15V19H5Z") });
1111
- var IconDevices = createIconBase({ paths: p("M3 6H21V4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H7V18H3V6M13 12H9V13.78C8.39 14.33 8 15.11 8 16C8 16.89 8.39 17.67 9 18.22V20H13V18.22C13.61 17.67 14 16.88 14 16S13.61 14.33 13 13.78V12M11 17.5C10.17 17.5 9.5 16.83 9.5 16S10.17 14.5 11 14.5 12.5 15.17 12.5 16 11.83 17.5 11 17.5M22 8H16C15.5 8 15 8.5 15 9V19C15 19.5 15.5 20 16 20H22C22.5 20 23 19.5 23 19V9C23 8.5 22.5 8 22 8M21 18H17V10H21V18Z") });
1112
- var IconMacOS = createIconBase({ paths: p("M18.71,19.5C17.88,20.74 17,21.95 15.66,21.97C14.32,22 13.89,21.18 12.37,21.18C10.84,21.18 10.37,21.95 9.1,22C7.79,22.05 6.8,20.68 5.96,19.47C4.25,17 2.94,12.45 4.7,9.39C5.57,7.87 7.13,6.91 8.82,6.88C10.1,6.86 11.32,7.75 12.11,7.75C12.89,7.75 14.37,6.68 15.92,6.84C16.57,6.87 18.39,7.1 19.56,8.82C19.47,8.88 17.39,10.1 17.41,12.63C17.44,15.65 20.06,16.66 20.09,16.67C20.06,16.74 19.67,18.11 18.71,19.5M13,3.5C13.73,2.67 14.94,2.04 15.94,2C16.07,3.17 15.6,4.35 14.9,5.19C14.21,6.04 13.07,6.7 11.95,6.61C11.8,5.46 12.36,4.26 13,3.5Z") });
1113
- var IconAppleIOS = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M2.09 16.8H3.75V9.76H2.09M2.92 8.84C3.44 8.84 3.84 8.44 3.84 7.94C3.84 7.44 3.44 7.04 2.92 7.04C2.4 7.04 2 7.44 2 7.94C2 8.44 2.4 8.84 2.92 8.84M9.25 7.06C6.46 7.06 4.7 8.96 4.7 12C4.7 15.06 6.46 16.96 9.25 16.96C12.04 16.96 13.8 15.06 13.8 12C13.8 8.96 12.04 7.06 9.25 7.06M9.25 8.5C10.96 8.5 12.05 9.87 12.05 12C12.05 14.15 10.96 15.5 9.25 15.5C7.54 15.5 6.46 14.15 6.46 12C6.46 9.87 7.54 8.5 9.25 8.5M14.5 14.11C14.57 15.87 16 16.96 18.22 16.96C20.54 16.96 22 15.82 22 14C22 12.57 21.18 11.77 19.23 11.32L18.13 11.07C16.95 10.79 16.47 10.42 16.47 9.78C16.47 9 17.2 8.45 18.28 8.45C19.38 8.45 20.13 9 20.21 9.89H21.84C21.8 8.2 20.41 7.06 18.29 7.06C16.21 7.06 14.73 8.21 14.73 9.91C14.73 11.28 15.56 12.13 17.33 12.53L18.57 12.82C19.78 13.11 20.27 13.5 20.27 14.2C20.27 15 19.47 15.57 18.31 15.57C17.15 15.57 16.26 15 16.16 14.11H14.5Z" }) });
1114
- var IconWindows = createIconBase({ paths: p("M3,12V6.75L9,5.43V11.91L3,12M20,3V11.75L10,11.9V5.21L20,3M3,13L9,13.09V19.9L3,18.75V13M20,13.25V22L10,20.09V13.1L20,13.25Z") });
1115
- var IconLinux = createIconBase({ paths: p("M14.62,8.35C14.2,8.63 12.87,9.39 12.67,9.54C12.28,9.85 11.92,9.83 11.53,9.53C11.33,9.37 10,8.61 9.58,8.34C9.1,8.03 9.13,7.64 9.66,7.42C11.3,6.73 12.94,6.78 14.57,7.45C15.06,7.66 15.08,8.05 14.62,8.35M21.84,15.63C20.91,13.54 19.64,11.64 18,9.97C17.47,9.42 17.14,8.8 16.94,8.09C16.84,7.76 16.77,7.42 16.7,7.08C16.5,6.2 16.41,5.3 16,4.47C15.27,2.89 14,2.07 12.16,2C10.35,2.05 9,2.81 8.21,4.4C8,4.83 7.85,5.28 7.75,5.74C7.58,6.5 7.43,7.29 7.25,8.06C7.1,8.71 6.8,9.27 6.29,9.77C4.68,11.34 3.39,13.14 2.41,15.12C2.27,15.41 2.13,15.7 2.04,16C1.85,16.66 2.33,17.12 3.03,16.96C3.47,16.87 3.91,16.78 4.33,16.65C4.74,16.5 4.9,16.6 5,17C5.65,19.15 7.07,20.66 9.24,21.5C13.36,23.06 18.17,20.84 19.21,16.92C19.28,16.65 19.38,16.55 19.68,16.65C20.14,16.79 20.61,16.89 21.08,17C21.57,17.09 21.93,16.84 22,16.36C22.03,16.1 21.94,15.87 21.84,15.63") });
1116
- var IconAndroidOS = createIconBase({ paths: p("M16.61 15.15C16.15 15.15 15.77 14.78 15.77 14.32S16.15 13.5 16.61 13.5H16.61C17.07 13.5 17.45 13.86 17.45 14.32C17.45 14.78 17.07 15.15 16.61 15.15M7.41 15.15C6.95 15.15 6.57 14.78 6.57 14.32C6.57 13.86 6.95 13.5 7.41 13.5H7.41C7.87 13.5 8.24 13.86 8.24 14.32C8.24 14.78 7.87 15.15 7.41 15.15M16.91 10.14L18.58 7.26C18.67 7.09 18.61 6.88 18.45 6.79C18.28 6.69 18.07 6.75 18 6.92L16.29 9.83C14.95 9.22 13.5 8.9 12 8.91C10.47 8.91 9 9.24 7.73 9.82L6.04 6.91C5.95 6.74 5.74 6.68 5.57 6.78C5.4 6.87 5.35 7.08 5.44 7.25L7.1 10.13C4.25 11.69 2.29 14.58 2 18H22C21.72 14.59 19.77 11.7 16.91 10.14H16.91Z") });
1117
- var IconLink = createIconBase({ paths: p("M7.90326 16.7536C6.93594 15.7863 6.93594 14.2137 7.90326 13.2464L10.166 10.9836L9.0912 9.90883L6.82846 12.1716C5.26717 13.7329 5.26717 16.2671 6.82846 17.8284C8.38975 19.3897 10.924 19.3897 12.4853 17.8284L14.7481 15.5657L13.6733 14.4909L11.4105 16.7536C10.4432 17.7209 8.87058 17.7209 7.90326 16.7536ZM10.7883 15L15.3137 10.4745L14.1824 9.34315L9.65688 13.8686L10.7883 15ZM12.4853 6.51472L10.2226 8.77746L11.2974 9.85226L13.5601 7.58952C14.5274 6.6222 16.1 6.6222 17.0674 7.58952C18.0347 8.55684 18.0347 10.1294 17.0674 11.0968L14.8046 13.3595L15.8794 14.4343L18.1422 12.1716C19.7035 10.6103 19.7035 8.07601 18.1422 6.51472C16.5809 4.95343 14.0466 4.95343 12.4853 6.51472Z") });
1118
- var IconPreview = createIconBase({ paths: p("M19,3H5C3.89,3,3,3.9,3,5v14c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.11,3,19,3z M19,19H5V7h14V19z M12,10.5 c1.84,0,3.48,0.96,4.34,2.5c-0.86,1.54-2.5,2.5-4.34,2.5S8.52,14.54,7.66,13C8.52,11.46,10.16,10.5,12,10.5 M12,9 c-2.73,0-5.06,1.66-6,4c0.94,2.34,3.27,4,6,4s5.06-1.66,6-4C17.06,10.66,14.73,9,12,9L12,9z M12,14.5c-0.83,0-1.5-0.67-1.5-1.5 s0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5S12.83,14.5,12,14.5z") });
1119
- var IconEyeHidden = createIconBase({ paths: p("M12 6.90455C15.1009 6.90455 17.8664 8.64727 19.2164 11.4045C18.7336 12.4027 18.0545 13.2618 17.2445 13.9573L18.3982 15.1109C19.5355 14.1045 20.4355 12.8445 21 11.4045C19.5845 7.81273 16.0909 5.26818 12 5.26818C10.9609 5.26818 9.96273 5.43182 9.02182 5.73455L10.3718 7.08454C10.9036 6.97818 11.4436 6.90455 12 6.90455ZM11.1245 7.83727L12.8182 9.53091C13.2845 9.73545 13.6609 10.1118 13.8655 10.5782L15.5591 12.2718C15.6245 11.9936 15.6736 11.6991 15.6736 11.3964C15.6818 9.36727 14.0291 7.72273 12 7.72273C11.6973 7.72273 11.4109 7.76364 11.1245 7.83727ZM3.82636 5.16182L6.01909 7.35455C4.68545 8.40182 3.63 9.79273 3 11.4045C4.41545 14.9964 7.90909 17.5409 12 17.5409C13.2436 17.5409 14.4382 17.3036 15.5345 16.87L18.3327 19.6682L19.4864 18.5145L4.98 4L3.82636 5.16182ZM9.96273 11.2982L12.0982 13.4336C12.0655 13.4418 12.0327 13.45 12 13.45C10.8709 13.45 9.95455 12.5336 9.95455 11.4045C9.95455 11.3636 9.96273 11.3391 9.96273 11.2982ZM7.18091 8.51636L8.61273 9.94818C8.42455 10.3982 8.31818 10.8891 8.31818 11.4045C8.31818 13.4336 9.97091 15.0864 12 15.0864C12.5155 15.0864 13.0064 14.98 13.4482 14.7918L14.25 15.5936C13.53 15.79 12.7773 15.9045 12 15.9045C8.89909 15.9045 6.13364 14.1618 4.78364 11.4045C5.35636 10.2345 6.19091 9.26909 7.18091 8.51636Z") });
1120
- var IconFunnelHorizontal = createIconBase({ paths: p("M19 5L19 8L5 8L5 5L19 5ZM15 10.6L15 13.4L5 13.4L5 10.6L15 10.6ZM11 16.2L11 19L5 19L5 16.2L11 16.2Z") });
1121
- var IconFunnelVertical = createIconBase({ paths: p("M5 5H8V19H5V5ZM10.6 9H13.4V19H10.6V9ZM16.2 13H19V19H16.2V13Z") });
1122
- var IconFullScreen = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1123
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M5 14H3V20H10V18H5V14Z" }),
1124
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M10 6L10 4L3 4L3 10L5 10L5 6L10 6Z" }),
1125
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M19 14H21V20H14V18H19V14Z" }),
1126
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M14 6L14 4L21 4L21 10L19 10L19 6L14 6Z" })
1127
- ] }) });
1128
- var IconPauseCircle = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1129
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20Z" }),
1130
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M9.5 8h2v8h-2z" }),
1131
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M12.5 8h2v8h-2z" })
1132
- ] }) });
1133
- var IconSkipBackward = createIconBase({ paths: p("M21.8636 13.6486C22.7745 8.20179 18.9753 3.03539 13.3613 2.08842C10.1083 1.5397 6.96075 2.53504 4.71122 4.52864L3.64727 3.39843C3.52963 3.27464 3.31814 3.33531 3.29323 3.49844L2.61914 7.61871C2.59751 7.7469 2.70624 7.86158 2.83872 7.85097L7.12768 7.57298C7.16635 7.57046 7.20339 7.55738 7.23454 7.53524C7.26569 7.5131 7.28969 7.48281 7.30378 7.44784C7.31787 7.41288 7.32148 7.37466 7.31418 7.33758C7.30689 7.3005 7.289 7.26607 7.26256 7.23825L6.10772 6.01158C6.35345 5.79443 6.6153 5.59014 6.89033 5.40074C7.75239 4.80488 8.72707 4.3786 9.7602 4.14561C10.831 3.90282 11.9307 3.87537 13.0286 4.06056C14.1265 4.24575 15.1564 4.63245 16.0883 5.21303C16.9896 5.77326 17.7628 6.48932 18.3877 7.34012C19.0126 8.19091 19.4575 9.13303 19.7082 10.1413C19.9684 11.1866 20.0076 12.2555 19.828 13.3205C19.6483 14.3854 19.2606 15.3823 18.6724 16.282C18.1048 17.1522 17.3755 17.8963 16.5061 18.495C15.6366 19.0938 14.6714 19.5166 13.6362 19.7502C12.5654 19.993 11.4657 20.0204 10.3678 19.8352C9.26987 19.65 8.23995 19.2633 7.30808 18.6827C6.40854 18.1237 5.62762 17.4013 5.00872 16.5557C4.8493 16.3386 4.70383 16.1163 4.56724 15.8879C4.54048 15.8423 4.49636 15.8085 4.44446 15.7941C4.39256 15.7796 4.3371 15.7856 4.29013 15.8108L2.84288 16.5656C2.74229 16.6196 2.70583 16.7427 2.76244 16.841C4.25318 19.3768 6.85284 21.2731 10.0347 21.8098C15.6538 22.7576 20.9514 19.1029 21.8636 13.6486Z") });
1134
- var IconSkipStart = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1135
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M4 6h2v12H4z" }),
1136
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M9 12L17 6.5V17.5L9 12Z" })
1137
- ] }) });
1138
- var IconSkipEnd = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1139
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M18 6h2v12h-2z" }),
1140
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "currentColor", d: "M15 12L7 6.5V17.5L15 12Z" })
1141
- ] }) });
1142
- var IconDragHandle = createIconBase({ paths: p("m11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z") });
1143
- var IconAdsClick = createIconBase({ paths: p("M11.71,17.99C8.53,17.84,6,15.22,6,12c0-3.31,2.69-6,6-6c3.22,0,5.84,2.53,5.99,5.71l-2.1-0.63C15.48,9.31,13.89,8,12,8 c-2.21,0-4,1.79-4,4c0,1.89,1.31,3.48,3.08,3.89L11.71,17.99z M22,12c0,0.3-0.01,0.6-0.04,0.9l-1.97-0.59C20,12.21,20,12.1,20,12 c0-4.42-3.58-8-8-8s-8,3.58-8,8s3.58,8,8,8c0.1,0,0.21,0,0.31-0.01l0.59,1.97C12.6,21.99,12.3,22,12,22C6.48,22,2,17.52,2,12 C2,6.48,6.48,2,12,2S22,6.48,22,12z M18.23,16.26L22,15l-10-3l3,10l1.26-3.77l4.27,4.27l1.98-1.98L18.23,16.26z") });
1144
- var IconFingerprint = createIconBase({ viewBox: "1 1 23 23", paths: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", d: "M13.1427 20.9999C10.8077 19.5438 9.25254 16.9522 9.25254 13.9968C9.25254 12.4783 10.4833 11.2476 12.0008 11.2476C13.5184 11.2476 14.7491 12.4783 14.7491 13.9968C14.7491 15.5153 15.9798 16.746 17.4974 16.746C19.0149 16.746 20.2457 15.5153 20.2457 13.9968C20.2457 9.44139 16.5544 5.74922 12.0017 5.74922C7.44907 5.74922 3.75781 9.44139 3.75781 13.9968C3.75781 15.0122 3.87145 16.001 4.08038 16.954M8.49027 20.2989C7.23938 18.5138 6.50351 16.3419 6.50351 13.9968C6.50351 10.9599 8.96405 8.49844 11.9992 8.49844C15.0343 8.49844 17.4948 10.9599 17.4948 13.9968M17.7927 19.4806C17.6937 19.4861 17.5966 19.4953 17.4967 19.4953C14.4616 19.4953 12.0011 17.0338 12.0011 13.9969M19.6734 6.47682C17.7993 4.34802 15.0593 3 12.0004 3C8.94141 3 6.20138 4.34802 4.32734 6.47682" }) });
1145
- var IconVerticalAlignCenter = createIconBase({ paths: p("M11.8214 24V17.0667L8.97143 19.8667L8.01091 18.923L12.5 14.5127L16.9891 18.923L16.0286 19.8667L13.1786 17.0667V24H11.8214ZM3 12.6667V11.3333H22V12.6667H3ZM12.5 9.48733L8.01091 5.077L8.97143 4.13333L11.8214 6.93333V0H13.1786V6.93333L16.0286 4.13333L16.9891 5.077L12.5 9.48733Z") });
1146
- var IconGhost = createIconBase({ viewBox: "0 0 24 24", paths: p("M12 2C15.5 2 18 5 19 8C22 9 23 11.73 23 14L20.2253 14.7928C19.796 14.9154 19.5 15.3078 19.5 15.7543V17.25C19.5 18.2165 18.7165 19 17.75 19H17.1536C16.4825 19 15.8562 19.3366 15.4858 19.8962C14.5576 21.2987 13.3957 22 12 22C10.6043 22 9.44238 21.2987 8.5142 19.8962C8.14383 19.3366 7.51746 19 6.84636 19H6.25C5.2835 19 4.5 18.2165 4.5 17.25V15.7543C4.5 15.3078 4.20402 14.9154 3.77472 14.7928L1 14C1 11.7337 2 9 5 8C6 5 8.5 2 12 2ZM12 4C9.8906 4 7.93534 5.78788 6.98864 8.37148L6.89737 8.63246L6.58114 9.58114L5.63246 9.89737C4.37721 10.3158 3.56485 11.238 3.20834 12.4564L3.185 12.543L4.32416 12.8697C5.55353 13.221 6.41845 14.3095 6.49454 15.5727L6.5 15.7543V17H6.84636C8.1096 17 9.29359 17.5963 10.0461 18.5996L10.182 18.7925C10.7584 19.6634 11.3162 20 12 20C12.6382 20 13.1667 19.7068 13.7029 18.9596L13.818 18.7925C14.5151 17.739 15.6658 17.0807 16.9178 17.0069L17.1536 17H17.5V15.7543C17.5 14.4757 18.309 13.3451 19.5027 12.9249L19.6758 12.8697L20.815 12.543L20.7918 12.4555C20.4554 11.3047 19.7124 10.4193 18.5728 9.97176L18.3675 9.89737L17.4189 9.58114L17.1026 8.63246C16.1948 5.90906 14.1797 4 12 4ZM12 12C12.8284 12 13.5 13.1193 13.5 14.5C13.5 15.8807 12.8284 17 12 17C11.1716 17 10.5 15.8807 10.5 14.5C10.5 13.1193 11.1716 12 12 12ZM9.5 8C10.3284 8 11 8.67157 11 9.5C11 10.3284 10.3284 11 9.5 11C8.67157 11 8 10.3284 8 9.5C8 8.67157 8.67157 8 9.5 8ZM14.5 8C15.3284 8 16 8.67157 16 9.5C16 10.3284 15.3284 11 14.5 11C13.6716 11 13 10.3284 13 9.5C13 8.67157 13.6716 8 14.5 8Z") });
1147
-
1148
- // src/components/icons/lemon-brand-icons.tsx
1149
- var import_jsx_runtime7 = require("react/jsx-runtime");
1150
- var p2 = (d) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { d, fill: "currentColor" });
1151
- var IconGitlab = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
1152
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#E24329", d: "M23.4841 9.51355L23.4507 9.42452L20.2169 0.621934C20.1511 0.449408 20.0346 0.303054 19.8841 0.20387C19.7336 0.106371 19.5579 0.0594128 19.3809 0.0693348C19.204 0.0792569 19.0342 0.145582 18.8945 0.259354C18.7563 0.376393 18.6561 0.534985 18.6074 0.713547L16.4239 7.68129H7.58229L5.39878 0.713547C5.35143 0.534012 5.251 0.374625 5.11178 0.258063C4.97208 0.144291 4.80228 0.0779663 4.62529 0.0680442C4.44831 0.0581222 4.27267 0.105081 4.12208 0.20258C3.97193 0.302164 3.85553 0.44839 3.7893 0.620644L0.5493 9.41935L0.517135 9.50839C0.0516127 10.777 -0.00584844 12.1692 0.353415 13.4748C0.712679 14.7805 1.46919 15.929 2.50889 16.7471L2.52002 16.7561L2.54971 16.7781L7.4759 20.6258L9.91301 22.5497L11.3975 23.7187C11.5712 23.8562 11.7832 23.9307 12.0013 23.9307C12.2193 23.9307 12.4313 23.8562 12.605 23.7187L14.0895 22.5497L16.5266 20.6258L21.4825 16.7548L21.4949 16.7445C22.5322 15.9263 23.287 14.779 23.6457 13.4751C24.0044 12.1711 23.9477 10.781 23.4841 9.51355V9.51355Z" }),
1153
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#FC6D26", d: "M23.4841 9.51355L23.4507 9.42451C21.875 9.76186 20.3902 10.458 19.1023 11.4632L12 17.0645C14.4186 18.9729 16.5241 20.631 16.5241 20.631L21.48 16.76L21.4924 16.7497C22.5312 15.9315 23.2871 14.7834 23.6464 13.4784C24.0056 12.1734 23.9486 10.7819 23.4841 9.51355Z" }),
1154
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#FCA326", d: "M7.47589 20.631L9.91301 22.5548L11.3975 23.7239C11.5712 23.8614 11.7832 23.9358 12.0013 23.9358C12.2193 23.9358 12.4313 23.8614 12.605 23.7239L14.0895 22.5548L16.5266 20.631C16.5266 20.631 14.4186 18.9677 12 17.0645C9.58146 18.9677 7.47589 20.631 7.47589 20.631Z" }),
1155
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#FC6D26", d: "M4.89652 11.4632C3.60966 10.4559 2.12514 9.75798 0.5493 9.41936L0.517135 9.50839C0.0516127 10.777 -0.00584844 12.1692 0.353415 13.4748C0.712679 14.7805 1.46919 15.929 2.50889 16.7471L2.52002 16.7561L2.54971 16.7781L7.4759 20.6258C7.4759 20.6258 9.57899 18.9677 12 17.0594L4.89652 11.4632Z" })
1156
- ] }) });
1157
- var IconGoogle = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
1158
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#4285F4", d: "M23.52 12.2727C23.52 11.4218 23.4436 10.6036 23.3018 9.81818H12V14.4654H18.4582C18.1745 15.96 17.3236 17.2254 16.0473 18.0764V21.0982H19.9418C22.2109 19.0036 23.52 15.9273 23.52 12.2727V12.2727Z" }),
1159
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#34A853", d: "M12 24C15.24 24 17.9564 22.9309 19.9418 21.0982L16.0473 18.0764C14.9782 18.7964 13.6145 19.2327 12 19.2327C8.87999 19.2327 6.22908 17.1273 5.27999 14.2909H1.28726V17.3891C3.26181 21.3055 7.30908 24 12 24Z" }),
1160
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#FBBC05", d: "M5.28 14.28C5.04 13.56 4.89818 12.7964 4.89818 12C4.89818 11.2036 5.04 10.44 5.28 9.72001V6.62183H1.28727C0.469091 8.23637 0 10.0582 0 12C0 13.9418 0.469091 15.7636 1.28727 17.3782L4.39636 14.9564L5.28 14.28Z" }),
1161
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#EA4335", d: "M12 4.77818C13.7673 4.77818 15.3382 5.38909 16.5927 6.56727L20.0291 3.13091C17.9454 1.18909 15.24 0 12 0C7.30908 0 3.26181 2.69455 1.28726 6.62182L5.27999 9.72C6.22908 6.88364 8.87999 4.77818 12 4.77818Z" })
1162
- ] }) });
1163
- var IconSlack = createIconBase({ viewBox: "0 0 2447.6 2452.5", paths: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
1164
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#36c5f0", fillRule: "evenodd", clipRule: "evenodd", d: "m897.4 0c-135.3.1-244.8 109.9-244.7 245.2-.1 135.3 109.5 245.1 244.8 245.2h244.8v-245.1c.1-135.3-109.5-245.1-244.9-245.3.1 0 .1 0 0 0m0 654h-652.6c-135.3.1-244.9 109.9-244.8 245.2-.2 135.3 109.4 245.1 244.7 245.3h652.7c135.3-.1 244.9-109.9 244.8-245.2.1-135.4-109.5-245.2-244.8-245.3z" }),
1165
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#2eb67d", fillRule: "evenodd", clipRule: "evenodd", d: "m2447.6 899.2c.1-135.3-109.5-245.1-244.8-245.2-135.3.1-244.9 109.9-244.8 245.2v245.3h244.8c135.3-.1 244.9-109.9 244.8-245.3zm-652.7 0v-654c.1-135.2-109.4-245-244.7-245.2-135.3.1-244.9 109.9-244.8 245.2v654c-.2 135.3 109.4 245.1 244.7 245.3 135.3-.1 244.9-109.9 244.8-245.3z" }),
1166
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#ecb22e", fillRule: "evenodd", clipRule: "evenodd", d: "m1550.1 2452.5c135.3-.1 244.9-109.9 244.8-245.2.1-135.3-109.5-245.1-244.8-245.2h-244.8v245.2c-.1 135.2 109.5 245 244.8 245.2zm0-654.1h652.7c135.3-.1 244.9-109.9 244.8-245.2.2-135.3-109.4-245.1-244.7-245.3h-652.7c-135.3.1-244.9 109.9-244.8 245.2-.1 135.4 109.4 245.2 244.7 245.3z" }),
1167
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#e01e5a", fillRule: "evenodd", clipRule: "evenodd", d: "m0 1553.2c-.1 135.3 109.5 245.1 244.8 245.2 135.3-.1 244.9-109.9 244.8-245.2v-245.2h-244.8c-135.3.1-244.9 109.9-244.8 245.2zm652.7 0v654c-.2 135.3 109.4 245.1 244.7 245.3 135.3-.1 244.9-109.9 244.8-245.2v-653.9c.2-135.3-109.4-245.1-244.7-245.3-135.4 0-244.9 109.8-244.8 245.1 0 0 0 .1 0 0" })
1168
- ] }) });
1169
- var IconSlackExternal = createIconBase({ viewBox: "-2 -2 24 24", paths: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
1170
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "none", stroke: "currentColor", strokeLinejoin: "round", strokeWidth: 1.5, d: "M13 4.75 18.25 10 13 15.25 7.75 10 13 4.75Z" }),
1171
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "none", stroke: "currentColor", strokeLinejoin: "round", strokeWidth: 1.5, d: "M8.01 5.76 7 4.75 1.75 10 7 15.25l1.01-1.01-2.872-3.037a1.75 1.75 0 0 1 0-2.406L8.01 5.76Z" })
1172
- ] }) });
1173
- var IconMicrosoftTeams = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
1174
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "#5059C9", d: "M19.5 4.5h-3V3a1.5 1.5 0 0 0-1.5-1.5H9A1.5 1.5 0 0 0 7.5 3v1.5h-3A1.5 1.5 0 0 0 3 6v12a1.5 1.5 0 0 0 1.5 1.5h15A1.5 1.5 0 0 0 21 18V6a1.5 1.5 0 0 0-1.5-1.5zM9 3h6v1.5H9V3zm3 15a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z" }),
1175
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("circle", { cx: "12", cy: "13.5", r: "3", fill: "#7B83EB" })
1176
- ] }) });
1177
- var IconChrome = createIconBase({ paths: p2("M12,20L15.46,14H15.45C15.79,13.4 16,12.73 16,12C16,10.8 15.46,9.73 14.62,9H19.41C19.79,9.93 20,10.94 20,12A8,8 0 0,1 12,20M4,12C4,10.54 4.39,9.18 5.07,8L8.54,14H8.55C9.24,15.19 10.5,16 12,16C12.45,16 12.88,15.91 13.29,15.77L10.89,19.91C7,19.37 4,16.04 4,12M15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12M12,4C14.96,4 17.54,5.61 18.92,8H12C10.06,8 8.45,9.38 8.08,11.21L5.7,7.08C7.16,5.21 9.44,4 12,4M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z") });
1178
- var IconFirefox = createIconBase({ paths: p2("M9.27 7.94C9.27 7.94 9.27 7.94 9.27 7.94M6.85 6.74C6.86 6.74 6.86 6.74 6.85 6.74M21.28 8.6C20.85 7.55 19.96 6.42 19.27 6.06C19.83 7.17 20.16 8.28 20.29 9.1L20.29 9.12C19.16 6.3 17.24 5.16 15.67 2.68C15.59 2.56 15.5 2.43 15.43 2.3C15.39 2.23 15.36 2.16 15.32 2.09C15.26 1.96 15.2 1.83 15.17 1.69C15.17 1.68 15.16 1.67 15.15 1.67H15.13L15.12 1.67L15.12 1.67L15.12 1.67C12.9 2.97 11.97 5.26 11.74 6.71C11.05 6.75 10.37 6.92 9.75 7.22C9.63 7.27 9.58 7.41 9.62 7.53C9.67 7.67 9.83 7.74 9.96 7.68C10.5 7.42 11.1 7.27 11.7 7.23L11.75 7.23C11.83 7.22 11.92 7.22 12 7.22C12.5 7.21 12.97 7.28 13.44 7.42L13.5 7.44C13.6 7.46 13.67 7.5 13.75 7.5C13.8 7.54 13.86 7.56 13.91 7.58L14.05 7.64C14.12 7.67 14.19 7.7 14.25 7.73C14.28 7.75 14.31 7.76 14.34 7.78C14.41 7.82 14.5 7.85 14.54 7.89C14.58 7.91 14.62 7.94 14.66 7.96C15.39 8.41 16 9.03 16.41 9.77C15.88 9.4 14.92 9.03 14 9.19C17.6 11 16.63 17.19 11.64 16.95C11.2 16.94 10.76 16.85 10.34 16.7C10.24 16.67 10.14 16.63 10.05 16.58C10 16.56 9.93 16.53 9.88 16.5C8.65 15.87 7.64 14.68 7.5 13.23C7.5 13.23 8 11.5 10.83 11.5C11.14 11.5 12 10.64 12.03 10.4C12.03 10.31 10.29 9.62 9.61 8.95C9.24 8.59 9.07 8.42 8.92 8.29C8.84 8.22 8.75 8.16 8.66 8.1C8.43 7.3 8.42 6.45 8.63 5.65C7.6 6.12 6.8 6.86 6.22 7.5H6.22C5.82 7 5.85 5.35 5.87 5C5.86 5 5.57 5.16 5.54 5.18C5.19 5.43 4.86 5.71 4.56 6C4.21 6.37 3.9 6.74 3.62 7.14C3 8.05 2.5 9.09 2.28 10.18C2.28 10.19 2.18 10.59 2.11 11.1L2.08 11.33C2.06 11.5 2.04 11.65 2 11.91L2 11.94L2 12.27L2 12.32C2 17.85 6.5 22.33 12 22.33C16.97 22.33 21.08 18.74 21.88 14C21.9 13.89 21.91 13.76 21.93 13.63C22.13 11.91 21.91 10.11 21.28 8.6Z") });
1179
- var IconSafari = createIconBase({ paths: p2("M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.09 4.8,16 6.11,17.41L9.88,9.88L17.41,6.11C16,4.8 14.09,4 12,4M12,20A8,8 0 0,0 20,12C20,9.91 19.2,8 17.89,6.59L14.12,14.12L6.59,17.89C8,19.2 9.91,20 12,20M12,12L11.23,11.23L9.7,14.3L12.77,12.77L12,12M12,17.5H13V19H12V17.5M15.88,15.89L16.59,15.18L17.65,16.24L16.94,16.95L15.88,15.89M17.5,12V11H19V12H17.5M12,6.5H11V5H12V6.5M8.12,8.11L7.41,8.82L6.35,7.76L7.06,7.05L8.12,8.11M6.5,12V13H5V12H6.5Z") });
1180
- var IconFacebook = createIconBase({ viewBox: "0 0 24 24", paths: p2("M17 3.5a.5.5 0 00-.5-.5H14a4.77 4.77 0 00-5 4.5v2.7H6.5a.5.5 0 00-.5.5v2.6a.5.5 0 00.5.5H9v6.7a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-6.7h2.62a.5.5 0 00.49-.37l.72-2.6a.5.5 0 00-.48-.63H13V7.5a1 1 0 011-.9h2.5a.5.5 0 00.5-.5V3.5z") });
1181
- var Icon123 = createIconBase({ paths: p2("M7,15H5.5v-4.5H4V9h3V15z M13.5,13.5h-3v-1h2c0.55,0,1-0.45,1-1V10c0-0.55-0.45-1-1-1H9v1.5h3v1h-2c-0.55,0-1,0.45-1,1V15 h4.5V13.5z M19.5,14v-4c0-0.55-0.45-1-1-1H15v1.5h3v1h-2v1h2v1h-3V15h3.5C19.05,15,19.5,14.55,19.5,14z") });
1182
- var IconNodeJS = createIconBase({ viewBox: "0 0 256 282", paths: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
1183
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "currentColor", d: "M116.504 3.58c6.962-3.985 16.03-4.003 22.986 0 34.995 19.774 70.001 39.517 104.99 59.303 6.581 3.707 10.983 11.031 10.916 18.614v118.968c.049 7.897-4.788 15.396-11.731 19.019-34.88 19.665-69.742 39.354-104.616 59.019-7.106 4.063-16.356 3.75-23.24-.646-10.457-6.062-20.932-12.094-31.39-18.15-2.137-1.274-4.546-2.288-6.055-4.36 1.334-1.798 3.719-2.022 5.657-2.807 4.365-1.388 8.374-3.616 12.384-5.778 1.014-.694 2.252-.428 3.224.193 8.942 5.127 17.805 10.403 26.777 15.481 1.914 1.105 3.852-.362 5.488-1.274 34.228-19.345 68.498-38.617 102.72-57.968 1.268-.61 1.969-1.956 1.866-3.345.024-39.245.006-78.497.012-117.742.145-1.576-.767-3.025-2.192-3.67-34.759-19.575-69.5-39.18-104.253-58.76a3.621 3.621 0 0 0-4.094-.006C91.2 39.257 56.465 58.88 21.712 78.454c-1.42.646-2.373 2.071-2.204 3.653.006 39.245 0 78.497 0 117.748a3.329 3.329 0 0 0 1.89 3.303c9.274 5.259 18.56 10.481 27.84 15.722 5.228 2.814 11.647 4.486 17.407 2.33 5.083-1.823 8.646-7.01 8.549-12.407.048-39.016-.024-78.038.036-117.048-.127-1.732 1.516-3.163 3.2-3 4.456-.03 8.918-.06 13.374.012 1.86-.042 3.14 1.823 2.91 3.568-.018 39.263.048 78.527-.03 117.79.012 10.464-4.287 21.85-13.966 26.97-11.924 6.177-26.662 4.867-38.442-1.056-10.198-5.09-19.93-11.097-29.947-16.55C5.368 215.886.555 208.357.604 200.466V81.497c-.073-7.74 4.504-15.197 11.29-18.85C46.768 42.966 81.636 23.27 116.504 3.58z" }),
1184
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "currentColor", d: "M146.928 85.99c15.21-.979 31.493-.58 45.18 6.913 10.597 5.742 16.472 17.793 16.659 29.566-.296 1.588-1.956 2.464-3.472 2.355-4.413-.006-8.827.06-13.24-.03-1.872.072-2.96-1.654-3.195-3.309-1.268-5.633-4.34-11.212-9.642-13.929-8.139-4.075-17.576-3.87-26.451-3.785-6.479.344-13.446.905-18.935 4.715-4.214 2.886-5.494 8.712-3.99 13.404 1.418 3.369 5.307 4.456 8.489 5.458 18.33 4.794 37.754 4.317 55.734 10.626 7.444 2.572 14.726 7.572 17.274 15.366 3.333 10.446 1.872 22.932-5.56 31.318-6.027 6.901-14.805 10.657-23.56 12.697-11.647 2.597-23.734 2.663-35.562 1.51-11.122-1.268-22.696-4.19-31.282-11.768-7.342-6.375-10.928-16.308-10.572-25.895.085-1.619 1.697-2.748 3.248-2.615 4.444-.036 8.888-.048 13.332.006 1.775-.127 3.091 1.407 3.182 3.08.82 5.367 2.837 11 7.517 14.182 9.032 5.827 20.365 5.428 30.707 5.591 8.568-.38 18.186-.495 25.178-6.158 3.689-3.23 4.782-8.634 3.785-13.283-1.08-3.925-5.186-5.754-8.712-6.95-18.095-5.724-37.736-3.647-55.656-10.12-7.275-2.571-14.31-7.432-17.105-14.906-3.9-10.578-2.113-23.662 6.098-31.765 8.006-8.06 19.563-11.164 30.551-12.275z" })
1185
- ] }) });
1186
- var IconStamphog = createIconBase({ paths: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
1187
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", d: "M13.5 7.7 V7.5 A2.5 2.5 0 0 0 11 5 H5.5 A2.5 2.5 0 0 0 3 7.5 V11.5 A2.5 2.5 0 0 0 5.5 14 H8.39" }),
1188
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 5V3.6" }),
1189
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", d: "M6.1 8.4v1.5" }),
1190
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", d: "M9.9 8.4v1.5" }),
1191
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("circle", { cx: "8.25", cy: "2.55", r: "1.05", fill: "currentColor" }),
1192
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", d: "M13 14.9l1.9 1.9 3.6-4.2" })
1193
- ] }) });
1194
-
1195
- // src/components/icons/lemon-category-icons.tsx
1196
- var import_jsx_runtime8 = require("react/jsx-runtime");
1197
- var p3 = (d) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("path", { d, fill: "currentColor" });
1198
- var IconPalette = createIconBase({ paths: p3("M12,2C6.49,2,2,6.49,2,12s4.49,10,10,10c1.38,0,2.5-1.12,2.5-2.5c0-0.61-0.23-1.2-0.64-1.67c-0.08-0.1-0.13-0.21-0.13-0.33c0-0.28,0.22-0.5,0.5-0.5H16c3.31,0,6-2.69,6-6C22,6.04,17.51,2,12,2z M17.5,9.5c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5S19,7.17,19,8S18.33,9.5,17.5,9.5z M14.5,7.5C13.67,7.5,13,6.83,13,6s0.67-1.5,1.5-1.5S16,5.17,16,6S15.33,7.5,14.5,7.5z M9.5,7.5C8.67,7.5,8,6.83,8,6s0.67-1.5,1.5-1.5S11,5.17,11,6S10.33,7.5,9.5,7.5z M6.5,9.5C5.67,9.5,5,8.83,5,8s0.67-1.5,1.5-1.5S8,7.17,8,8S7.33,9.5,6.5,9.5z") });
1199
- var IconMegaphone = createIconBase({ paths: p3("M20,2V4L4,8V6H2V18H4V16L6.56,16.44C6.19,16.83,6,17.38,6,18C6,19.66,7.34,21,9,21C10.28,21,11.37,20.21,11.8,19H13V16H11.8C11.37,14.79,10.28,14,9,14C8.39,14,7.84,14.19,7.44,14.56L4,13.47V11.18L20,6.18V2M9,16C9.55,16,10,16.45,10,17C10,17.55,9.55,18,9,18C8.45,18,8,17.55,8,17C8,16.45,8.45,16,9,16M20,4.18L4,9.18V11.18L20,6.18V4.18Z") });
1200
- var IconMap = createIconBase({ paths: p3("M15,19L9,16.89L5,18.05V5.38L10.12,4.12L15,7.44L20.12,6.12V17.45L15,19M10.12,5.38V15.12L15,17.46V7.44L10.12,5.38Z") });
1201
- var IconMapPin = createIconBase({ paths: p3("M12,2C8.13,2,5,5.13,5,9c0,5.25,7,13,7,13s7-7.75,7-13C19,5.13,15.87,2,12,2z M12,11.5c-1.38,0-2.5-1.12-2.5-2.5s1.12-2.5,2.5-2.5s2.5,1.12,2.5,2.5S13.38,11.5,12,11.5z") });
1202
- var IconCoffee = createIconBase({ paths: p3("M2,21V19H20V21H2M20,8V5H18V8H20M20,3C21.1,3,22,3.9,22,5V8C22,9.1,21.1,10,20,10H18V13C18,15.21,16.21,17,14,17H8C5.79,17,4,15.21,4,13V3H20M16,5H6V8H16V5Z") });
1203
- var IconBook = createIconBase({ paths: p3("M18,2H6C4.9,2,4,2.9,4,4V20c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V4C20,2.9,19.1,2,18,2z M6,4h5v8l-2.5-1.5L6,12V4z") });
1204
- var IconCalendar = createIconBase({ paths: p3("M9,10H7v2h2V10z M13,10h-2v2h2V10z M17,10h-2v2h2V10z M19,3h-1V1h-2v2H8V1H6v2H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V8h14V19z") });
1205
- var IconClock = createIconBase({ paths: p3("M11.99,2C6.47,2,2,6.48,2,12s4.47,10,9.99,10C17.52,22,22,17.52,22,12S17.52,2,11.99,2z M12,20c-4.42,0-8-3.58-8-8s3.58-8,8-8s8,3.58,8,8S16.42,20,12,20z M12.5,7H11v6l5.25,3.15l0.75-1.23l-4.5-2.67V7z") });
1206
- var IconGlobe = createIconBase({ paths: p3("M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2z M11,19.93c-3.95-0.49-7-3.85-7-7.93c0-0.62,0.08-1.21,0.21-1.79L9,15v1c0,1.1,0.9,2,2,2V19.93z M17.9,17.39c-0.26-0.81-1-1.39-1.9-1.39h-1v-3c0-0.55-0.45-1-1-1H8v-2h2c0.55,0,1-0.45,1-1V7h2c1.1,0,2-0.9,2-2v-0.41C17.92,5.77,20,8.65,20,12C20,14.08,19.2,15.97,17.9,17.39z") });
1207
- var IconCloud = createIconBase({ paths: p3("M19.35,10.04C18.67,6.59,15.64,4,12,4C9.11,4,6.6,5.64,5.35,8.04C2.34,8.36,0,10.91,0,14c0,3.31,2.69,6,6,6h13c2.76,0,5-2.24,5-5C24,12.36,21.95,10.29,19.35,10.04z") });
1208
- var IconBug = createIconBase({ paths: p3("M20,8h-2.81c-0.45-0.78-1.07-1.45-1.82-1.96L17,4.41L15.59,3l-2.17,2.17C12.96,5.06,12.49,5,12,5S11.04,5.06,10.59,5.17L8.41,3L7,4.41l1.62,1.63C7.88,6.55,7.26,7.22,6.81,8H4v2h2.09c-0.05,0.33-0.09,0.66-0.09,1v1H4v2h2v1c0,0.34,0.04,0.67,0.09,1H4v2h2.81C7.85,19.79,9.78,21,12,21s4.15-1.21,5.19-3H20v-2h-2.09c0.05-0.33,0.09-0.66,0.09-1v-1h2v-2h-2v-1c0-0.34-0.04-0.67-0.09-1H20V8z M14,16h-4v-2h4V16z M14,12h-4v-2h4V12z") });
1209
- var IconCrown = createIconBase({ paths: p3("M12,2L15,7H9L12,2z M17,7L14,2l3,5z M7,7L10,2L7,7z M5,20l2-8h10l2,8H5z") });
1210
- var IconConfetti = createIconBase({ paths: p3("M14.5,2C13.67,2,13,2.67,13,3.5S13.67,5,14.5,5S16,4.33,16,3.5S15.33,2,14.5,2z M6.5,5C5.67,5,5,5.67,5,6.5S5.67,8,6.5,8S8,7.33,8,6.5S7.33,5,6.5,5z M3,12c0-0.83,0.67-1.5,1.5-1.5S6,11.17,6,12c0,0.83-0.67,1.5-1.5,1.5S3,12.83,3,12z M9.5,8C8.67,8,8,8.67,8,9.5S8.67,11,9.5,11S11,10.33,11,9.5S10.33,8,9.5,8z M7,15c-1.66,0-3,1.34-3,3s1.34,3,3,3s3-1.34,3-3S8.66,15,7,15z M18,13c-1.66,0-3,1.34-3,3s1.34,3,3,3s3-1.34,3-3S19.66,13,18,13z M15,7c-1.66,0-3,1.34-3,3s1.34,3,3,3s3-1.34,3-3S16.66,7,15,7z") });
1211
- var IconLightBulb = createIconBase({ paths: p3("M9,21c0,0.55,0.45,1,1,1h4c0.55,0,1-0.45,1-1v-1H9V21z M12,2C8.14,2,5,5.14,5,9c0,2.38,1.19,4.47,3,5.74V17c0,0.55,0.45,1,1,1h6c0.55,0,1-0.45,1-1v-2.26c1.81-1.27,3-3.36,3-5.74C19,5.14,15.86,2,12,2z M14,14h-4v-2h4V14z") });
1212
- var IconHourglass = createIconBase({ paths: p3("M6,2H18V6H6V2z M6,18H18v4H6V18z M16.5,12c0-1.47-0.91-2.84-2.3-3.5L14,8.5V6h-4v2.5l-0.2,0.1C7.91,9.16,7,10.53,7,12s0.91,2.84,2.3,3.5L10,15.5V18h4v-2.5l0.2-0.1C15.59,14.84,16.5,13.47,16.5,12z") });
1213
- var IconStore = createIconBase({ paths: p3("M20,4H4V2H20V4z M21,9H3l-1,4h0.44l1.22,5H19.34l1.22-5H22L21,9z M6,16c-1.1,0-2-0.9-2-2h4C8,15.1,7.1,16,6,16z M18,16c-1.1,0-2-0.9-2-2h4C20,15.1,19.1,16,18,16z") });
1214
- var IconCart = createIconBase({ paths: p3("M7,18c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S8.1,18,7,18z M1,2v2h2l3.6,7.59L5.25,14H19v-2H7.42l0.94-2H17l3-6H5.21L4.27,2H1z M17,18c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S18.1,18,17,18z") });
1215
- var IconEye = createIconBase({ paths: p3("M12,4.5C7,4.5,2.73,7.61,1,12c1.73,4.39,6,7.5,11,7.5s9.27-3.11,11-7.5C21.27,7.61,17,4.5,12,4.5z M12,17c-2.76,0-5-2.24-5-5s2.24-5,5-5s5,2.24,5,5S14.76,17,12,17z M12,9c-1.66,0-3,1.34-3,3s1.34,3,3,3s3-1.34,3-3S13.66,9,12,9z") });
1216
- var IconPeople = createIconBase({ paths: p3("M16,11c1.66,0,2.99-1.34,2.99-3S17.66,5,16,5c-1.66,0-3,1.34-3,3S14.34,11,16,11z M8,11c1.66,0,2.99-1.34,2.99-3S9.66,5,8,5C6.34,5,5,6.34,5,8S6.34,11,8,11z M8,13c-2.33,0-7,1.17-7,3.5V19h14v-2.5C15,14.17,10.33,13,8,13z M16,13c-0.29,0-0.62,0.02-0.97,0.05c1.16,0.84,1.97,1.97,1.97,3.45V19h6v-2.5C23,14.17,18.33,13,16,13z") });
1217
- var IconGroups = createIconBase({ paths: p3("M12,12.75c1.63,0,3.07,0.39,4.24,0.9c1.08,0.48,1.76,1.56,1.76,2.73V18H6v-1.61c0-1.18,0.68-2.26,1.76-2.73C8.93,13.14,10.37,12.75,12,12.75z M4,13c1.1,0,2-0.9,2-2s-0.9-2-2-2s-2,0.9-2,2S2.9,13,4,13z M5.13,14.1C4.76,14.04,4.39,14,4,14c-0.99,0-1.93,0.21-2.78,0.58C0.48,14.9,0,15.62,0,16.43V18h4.5v-1.61C4.5,15.56,4.73,14.78,5.13,14.1z M20,13c1.1,0,2-0.9,2-2s-0.9-2-2-2s-2,0.9-2,2S18.9,13,20,13z M24,16.43c0-0.81-0.48-1.53-1.22-1.85C21.93,14.21,20.99,14,20,14c-0.39,0-0.76,0.04-1.13,0.1c0.4,0.68,0.63,1.46,0.63,2.29V18H24V16.43z M12,6c1.66,0,3,1.34,3,3s-1.34,3-3,3s-3-1.34-3-3S10.34,6,12,6z") });
1218
- var IconDocument = createIconBase({ paths: p3("M14,2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V8L14,2z M6,20V4h7v5h5v11H6z") });
1219
- var IconAI = createIconBase({ paths: p3("M21 11c0 4.97-4.03 9-9 9s-9-4.03-9-9s4.03-9 9-9s9 4.03 9 9z M12 7v4l3 2M9 13h6M9 16h6M12 4v2M12 18v2M6.5 6.5l1 1M16.5 16.5l1 1M4 12h2M18 12h2M6.5 17.5l1-1M16.5 7.5l1-1") });
1220
- var IconArchive = createIconBase({ paths: p3("M21,3H3v6h1.73L5,20h14l1.27-11H21V3z M19,4v2H5V4H19z M17.17,10l-0.91,8H7.74l-0.91-8H17.17z M10,12h4v2h-4V12z") });
1221
- var IconAtSign = createIconBase({ paths: p3("M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10h5v-2h-5c-4.34,0-8-3.66-8-8s3.66-8,8-8s8,3.66,8,8v1.43c0,0.79-0.71,1.57-1.5,1.57s-1.5-0.78-1.5-1.57V12c0-2.76-2.24-5-5-5s-5,2.24-5,5s2.24,5,5,5c1.38,0,2.64-0.56,3.54-1.47c0.65,0.89,1.77,1.47,2.96,1.47c1.97,0,3.5-1.6,3.5-3.57V12C22,6.48,17.52,2,12,2z M12,15c-1.66,0-3-1.34-3-3s1.34-3,3-3s3,1.34,3,3S13.66,15,12,15z") });
1222
- var IconBadge = createIconBase({ paths: p3("M12,2L15,7H9L12,2z M17,7L14,2l3,5z M7,7L10,2L7,7z M5,20l2-8h10l2,8H5z") });
1223
- var IconBinary = createIconBase({ paths: p3("M8,4h4v16H8V4z M12,4h1v16h-1V4z M3,8h1v12H3V8z M20,8h1v12h-1V8z M6,4h2v2H6V4z M16,4h2v2h-2V4z M4,4h2v2H4V4z M18,4h2v2h-2V4z") });
1224
- var IconGear = createIconBase({ paths: p3("M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z") });
1225
- var IconCalendarDay = createIconBase({ paths: p3("M19,3h-1V1h-2v2H8V1H6v2H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V8h14V19z M7,10h5v5H7V10z") });
1226
- var IconChat = createIconBase({ paths: p3("M20,2H4C2.9,2,2,2.9,2,4v18l4-4h14c1.1,0,2-0.9,2-2V4C22,2.9,21.1,2,20,2z M6,9h12v2H6V9z M10,13h8v2h-8V13z M6,5h12v2H6V5z") });
1227
- var IconCheckboxChecked = createIconBase({ paths: p3("M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V5h14V19z M17.99,9l-1.41-1.42L10,14.17l-2.59-2.58L6,13l4,4L17.99,9z") });
1228
- var IconDownloadCloud = createIconBase({ paths: p3("M19.35,10.04C18.67,6.59,15.64,4,12,4C9.11,4,6.6,5.64,5.35,8.04C2.34,8.36,0,10.91,0,14c0,3.31,2.69,6,6,6h13c2.76,0,5-2.24,5-5C24,12.36,21.95,10.29,19.35,10.04z M17,13l-5,5l-5-5h3V9h4v4H17z") });
1229
- var IconExternalLink = createIconBase({ paths: p3("M19,19H5V5h7V3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2v-7h-2V19z M14,3v2h3.59l-9.83,9.83l1.41,1.41L19,6.41V10h2V3H14z") });
1230
- var IconFile = createIconBase({ paths: p3("M14,2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V8L14,2z M6,20V4h7v5h5v11H6z") });
1231
- var IconFilter = createIconBase({ paths: p3("M10,18h4v-2h-4V18z M3,6v2h18V6H3z M6,13h12v-2H6V13z") });
1232
- var IconFolder = createIconBase({ paths: p3("M10,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8c0-1.1-0.9-2-2-2h-8L10,4z") });
1233
- var IconForward = createIconBase({ paths: p3("M12,8V4l8,8l-8,8v-4H4V8H12z") });
1234
- var IconHash = createIconBase({ paths: p3("M19.21,12.26l-0.45,1.74h-4.47l-0.89,3.74H11.9l0.89-3.74H8.21L7.32,17.74H5.42l0.89-3.74H2v-1.74h4.76L7.65,10.5H3.5V8.76h4.59l0.89-3.74h1.91L10,8.76h4.47l0.89-3.74h1.91L16.38,8.76H20v1.74h-4.06l-0.45,1.76H20v1.74H19.21z M15.09,10.5l-0.45,1.74h-4.47l0.45-1.74H15.09z") });
1235
- var IconHeadphones = createIconBase({ paths: p3("M12,2C7.03,2,3,6.03,3,11v4c0,1.1,0.9,2,2,2h2v-6H5v-1c0-3.87,3.13-7,7-7s7,3.13,7,7v1h-2v6h2c1.1,0,2-0.9,2-2v-4C21,6.03,16.97,2,12,2z") });
1236
- var IconHeart = createIconBase({ paths: p3("M12,21.35l-1.45-1.32C5.4,15.36,2,12.28,2,8.5C2,5.42,4.42,3,7.5,3c1.74,0,3.41,0.81,4.5,2.09C13.09,3.81,14.76,3,16.5,3C19.58,3,22,5.42,22,8.5c0,3.78-3.4,6.86-8.55,11.54L12,21.35z") });
1237
- var IconHomeFilled = createIconBase({ paths: p3("M10,20v-6h4v6h5v-8h3L12,3L2,12h3v8H10z") });
1238
- var IconImage = createIconBase({ paths: p3("M21,19V5c0-1.1-0.9-2-2-2H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14C20.1,21,21,20.1,21,19z M8.5,13.5l2.5,3.01L14.5,12l4.5,6H5L8.5,13.5z") });
1239
- var IconInbox = createIconBase({ paths: p3("M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,15h-4c0,1.66-1.34,3-3,3s-3-1.34-3-3H5V5h14V15z") });
1240
- var IconInfoFilled = createIconBase({ paths: p3("M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2z M13,17h-2v-6h2V17z M13,9h-2V7h2V9z") });
1241
- var IconKeyFilled = createIconBase({ paths: p3("M12.65,10C11.83,7.67,9.61,6,7,6c-3.31,0-6,2.69-6,6s2.69,6,6,6c2.61,0,4.83-1.67,5.65-4H17v4h4v-4h2v-4H12.65z M7,14c-1.1,0-2-0.9-2-2s0.9-2,2-2s2,0.9,2,2S8.1,14,7,14z") });
1242
- var IconLaptop = createIconBase({ paths: p3("M20,18c1.1,0,2-0.9,2-2V6c0-1.1-0.9-2-2-2H4C2.9,4,2,4.9,2,6v10c0,1.1,0.9,2,2,2H0v2h24v-2H20z M4,6h16v10H4V6z") });
1243
- var IconLayout = createIconBase({ paths: p3("M21,3H3C1.9,3,1,3.9,1,5v14c0,1.1,0.9,2,2,2h18c1.1,0,2-0.9,2-2V5C23,3.9,22.1,3,21,3z M8,5v14H3V5H8z M10,5h11v14H10V5z") });
1244
- var IconLifeBuoy = createIconBase({ paths: p3("M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2z M12,15c-1.66,0-3-1.34-3-3s1.34-3,3-3s3,1.34,3,3S13.66,15,12,15z M19.93,11h-2.14c-0.16-1.06-0.6-2.02-1.24-2.82l1.52-1.52C18.69,7.94,19.65,9.38,19.93,11z M7.45,8.18l1.52,1.52C8.34,10.49,7.9,11.45,7.74,12.5H5.57C5.86,10.84,6.5,9.41,7.45,8.18z M5.07,13h2.14c0.16,1.06,0.6,2.02,1.24,2.82l-1.52,1.52C5.31,16.06,4.35,14.62,4.07,13z M16.55,17.82l-1.52-1.52c0.64-0.8,1.08-1.76,1.24-2.82h2.14C18.14,15.16,17.5,16.59,16.55,17.82z") });
1245
- var IconLinkBreak = createIconBase({ paths: p3("M17,7h-4v2h4c1.65,0,3,1.35,3,3s-1.35,3-3,3h-4v2h4c2.76,0,5-2.24,5-5S19.76,7,17,7z M11,15H7c-1.65,0-3-1.35-3-3s1.35-3,3-3h4V7H7c-2.76,0-5,2.24-5,5s2.24,5,5,5h4V15z M14,11H6v2h8V11z") });
1246
- var IconLocation = createIconBase({ paths: p3("M12,2C8.13,2,5,5.13,5,9c0,5.25,7,13,7,13s7-7.75,7-13C19,5.13,15.87,2,12,2z M12,11.5c-1.38,0-2.5-1.12-2.5-2.5s1.12-2.5,2.5-2.5s2.5,1.12,2.5,2.5S13.38,11.5,12,11.5z") });
1247
- var IconLock = createIconBase({ paths: p3("M18,8h-1V6c0-2.76-2.24-5-5-5S7,3.24,7,6v2H6c-1.1,0-2,0.9-2,2v10c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V10C20,8.9,19.1,8,18,8z M12,17c-1.1,0-2-0.9-2-2s0.9-2,2-2s2,0.9,2,2S13.1,17,12,17z M15.1,8H8.9V6c0-1.71,1.39-3.1,3.1-3.1s3.1,1.39,3.1,3.1V8z") });
1248
- var IconMaximize = createIconBase({ paths: p3("M3,3h8v2H5v6H3V3z M13,3h8v8h-2V5h-6V3z M3,13h2v6h6v2H3V13z M19,13v6h-6v2h8v-8H19z") });
1249
- var IconMic = createIconBase({ paths: p3("M12,14c1.66,0,3-1.34,3-3V5c0-1.66-1.34-3-3-3S9,3.34,9,5v6C9,12.66,10.34,14,12,14z M17,11c0,2.76-2.24,5-5,5s-5-2.24-5-5H5c0,3.53,2.61,6.43,6,6.92V21h2v-3.08c3.39-0.49,6-3.39,6-6.92H17z") });
1250
- var IconMinimize = createIconBase({ paths: p3("M6,19h5v-2H7v-4H5v5C5,18.1,5.9,19,6,19z M19,5h-5v2h4v4h2V6C20,5.9,19.1,5,19,5z M5,10h2v4h4v2H5V10z M13,13h2v-4h4V7h-6V13z") });
1251
- var IconMinus = createIconBase({ paths: p3("M19,13H5v-2h14V13z") });
1252
- var IconMoonFilled = createIconBase({ paths: p3("M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3z") });
1253
- var IconMoreHorizontal = createIconBase({ paths: p3("M6,10c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S7.1,10,6,10z M12,10c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S13.1,10,12,10z M18,10c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S19.1,10,18,10z") });
1254
- var IconMoreVertical = createIconBase({ paths: p3("M12,8c1.1,0,2-0.9,2-2s-0.9-2-2-2s-2,0.9-2,2S10.9,8,12,8z M12,10c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S13.1,10,12,10z M12,16c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S13.1,16,12,16z") });
1255
- var IconMusic = createIconBase({ paths: p3("M12,3v10.55c-0.59-0.34-1.27-0.55-2-0.55C7.79,13,6,14.79,6,17s1.79,4,4,4s4-1.79,4-4V7h4V3H12z") });
1256
- var IconNavigation = createIconBase({ paths: p3("M12,2L4.5,20.29l0.71,0.71L12,18l6.79,3l0.71-0.71L12,2z") });
1257
- var IconPaperclip = createIconBase({ paths: p3("M16.5,6v11.5c0,2.21-1.79,4-4,4s-4-1.79-4-4V5c0-1.38,1.12-2.5,2.5-2.5s2.5,1.12,2.5,2.5v10.5c0,0.55-0.45,1-1,1s-1-0.45-1-1V6H10v9.5c0,1.38,1.12,2.5,2.5,2.5s2.5-1.12,2.5-2.5V5c0-2.21-1.79-4-4-4S7,2.79,7,5v12.5c0,3.04,2.46,5.5,5.5,5.5s5.5-2.46,5.5-5.5V6H16.5z") });
1258
- var IconPercent = createIconBase({ paths: p3("M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M7.5,9C6.67,9,6,8.33,6,7.5S6.67,6,7.5,6S9,6.67,9,7.5S8.33,9,7.5,9z M6,16.5l9-9l1.5,1.5l-9,9L6,16.5z M16.5,18c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5S17.33,18,16.5,18z") });
1259
- var IconPhone = createIconBase({ paths: p3("M6.62,10.79c1.44,2.83,3.76,5.14,6.59,6.59l2.2-2.2c0.27-0.27,0.67-0.36,1.02-0.24c1.12,0.37,2.33,0.57,3.57,0.57c0.55,0,1,0.45,1,1V20c0,0.55-0.45,1-1,1c-9.39,0-17-7.61-17-17c0-0.55,0.45-1,1-1h3.5c0.55,0,1,0.45,1,1c0,1.25,0.2,2.45,0.57,3.57C5.1,9.04,5.01,9.44,4.74,9.71L6.62,10.79z") });
1260
- var IconPin = createIconBase({ paths: p3("M16,9V4l1-1V2H7v1l1,1v5c-2.21,1.58-3,4.06-3,7h5v7l1,1l1-1v-7h5C16,13.06,15.21,11.58,14,9z") });
1261
- var IconPrinter = createIconBase({ paths: p3("M19,8H5c-1.66,0-3,1.34-3,3v6h4v4h12v-4h4v-6C22,9.34,20.66,8,19,8z M16,19H8v-5h8V19z M19,12c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1S19.55,12,19,12z M18,3H6v4h12V3z") });
1262
- var IconRedo = createIconBase({ paths: p3("M18.4,10.6C16.55,8.99,14.15,8,11.5,8c-4.65,0-8.58,3.03-9.96,7.22L3.9,16c1.05-3.19,4.05-5.5,7.6-5.5c1.95,0,3.73,0.72,5.12,1.88L13,16h9V7L18.4,10.6z") });
1263
- var IconRefresh = createIconBase({ paths: p3("M17.65,6.35C16.2,4.9,14.21,4,12,4c-4.42,0-7.99,3.58-7.99,8s3.57,8,7.99,8c3.73,0,6.84-2.55,7.73-6h-2.08C16.92,17.28,14.67,19,12,19c-3.86,0-7-3.14-7-7s3.14-7,7-7c1.93,0,3.68,0.79,4.95,2.05L14,10h7V3L17.65,6.35z") });
1264
- var IconReply = createIconBase({ paths: p3("M10,9V5l-7,7l7,7v-4.1c5,0,8.5,1.6,11,5.1c-1-5-4-10-11-11z") });
1265
- var IconReport = createIconBase({ paths: p3("M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M9,17H7v-7h2V17z M13,17h-2V7h2V17z M17,17h-2v-4h2V17z") });
1266
-
1267
931
  // src/components/ui/Alert.tsx
1268
- var import_jsx_runtime9 = require("react/jsx-runtime");
932
+ var import_jsx_runtime6 = require("react/jsx-runtime");
1269
933
  var statusConfig = {
1270
934
  info: { icon: IconInfo },
1271
935
  success: { icon: IconCheckCircle },
@@ -1304,7 +968,7 @@ var Alert = (0, import_react5.forwardRef)(function Alert2(_a, ref) {
1304
968
  ]);
1305
969
  const config = statusConfig[status];
1306
970
  const Icon = config.icon;
1307
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
971
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
1308
972
  "div",
1309
973
  __spreadProps(__spreadValues({
1310
974
  ref,
@@ -1313,20 +977,20 @@ var Alert = (0, import_react5.forwardRef)(function Alert2(_a, ref) {
1313
977
  className: cn("ph-alert", statusClassMap[status], className)
1314
978
  }, props), {
1315
979
  children: [
1316
- icon != null ? icon : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Icon, { className: "ph-alert-icon mt-0.5 h-5 w-5 shrink-0", "aria-hidden": true }),
1317
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "min-w-0 flex-1", children: [
1318
- title && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: "font-semibold", children: title }),
1319
- description && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: "mt-1 text-sm text-ph-subtle", children: description }),
980
+ icon != null ? icon : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { className: "ph-alert-icon mt-0.5 h-5 w-5 shrink-0", "aria-hidden": true }),
981
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "min-w-0 flex-1", children: [
982
+ title && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "font-semibold", children: title }),
983
+ description && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "mt-1 text-sm text-ph-subtle", children: description }),
1320
984
  children
1321
985
  ] }),
1322
- onDismiss && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
986
+ onDismiss && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1323
987
  "button",
1324
988
  {
1325
989
  type: "button",
1326
990
  onClick: onDismiss,
1327
991
  className: "ph-alert-dismiss",
1328
992
  "aria-label": dismissLabel,
1329
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(IconClose, { className: "h-4 w-4", "aria-hidden": true })
993
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(IconClose, { className: "h-4 w-4", "aria-hidden": true })
1330
994
  }
1331
995
  )
1332
996
  ]
@@ -1337,7 +1001,7 @@ Alert.displayName = "Alert";
1337
1001
 
1338
1002
  // src/components/ui/Badge.tsx
1339
1003
  var import_react6 = require("react");
1340
- var import_jsx_runtime10 = require("react/jsx-runtime");
1004
+ var import_jsx_runtime7 = require("react/jsx-runtime");
1341
1005
  var variantMap = {
1342
1006
  brand: "ph-badge-brand",
1343
1007
  neutral: "ph-badge-neutral",
@@ -1363,7 +1027,7 @@ var Badge = (0, import_react6.forwardRef)(function Badge2(_a, ref) {
1363
1027
  "children",
1364
1028
  "className"
1365
1029
  ]);
1366
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1030
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1367
1031
  "span",
1368
1032
  __spreadProps(__spreadValues({
1369
1033
  ref,
@@ -1382,7 +1046,7 @@ Badge.displayName = "Badge";
1382
1046
 
1383
1047
  // src/components/ui/Card.tsx
1384
1048
  var import_react7 = require("react");
1385
- var import_jsx_runtime11 = require("react/jsx-runtime");
1049
+ var import_jsx_runtime8 = require("react/jsx-runtime");
1386
1050
  var variantMap2 = {
1387
1051
  default: "",
1388
1052
  outlined: "border-2 border-ph-border",
@@ -1415,7 +1079,7 @@ var Card = (0, import_react7.forwardRef)(function Card2(_a, ref) {
1415
1079
  "interactive",
1416
1080
  "titleAs"
1417
1081
  ]);
1418
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1082
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
1419
1083
  "div",
1420
1084
  __spreadProps(__spreadValues({
1421
1085
  ref,
@@ -1427,14 +1091,14 @@ var Card = (0, import_react7.forwardRef)(function Card2(_a, ref) {
1427
1091
  )
1428
1092
  }, props), {
1429
1093
  children: [
1430
- media && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "ph-card-media", children: media }),
1431
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: cn("ph-card-body", bodyClassName), children: [
1432
- title && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Title2, { className: "ph-card-title", children: title }),
1433
- description && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "text-sm text-ph-subtle", children: description }),
1094
+ media && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "ph-card-media", children: media }),
1095
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: cn("ph-card-body", bodyClassName), children: [
1096
+ title && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Title2, { className: "ph-card-title", children: title }),
1097
+ description && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "text-sm text-ph-subtle", children: description }),
1434
1098
  children,
1435
- actions && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "ph-card-actions", children: actions })
1099
+ actions && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "ph-card-actions", children: actions })
1436
1100
  ] }),
1437
- footer && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "border-t border-ph-border px-6 py-4 text-xs text-ph-subtle", children: footer })
1101
+ footer && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "border-t border-ph-border px-6 py-4 text-xs text-ph-subtle", children: footer })
1438
1102
  ]
1439
1103
  })
1440
1104
  );
@@ -1442,7 +1106,7 @@ var Card = (0, import_react7.forwardRef)(function Card2(_a, ref) {
1442
1106
  Card.displayName = "Card";
1443
1107
 
1444
1108
  // src/components/ui/Drawer.tsx
1445
- var import_jsx_runtime12 = require("react/jsx-runtime");
1109
+ var import_jsx_runtime9 = require("react/jsx-runtime");
1446
1110
  var sideMap = {
1447
1111
  left: "left-0 border-r",
1448
1112
  right: "right-0 border-l"
@@ -1464,9 +1128,9 @@ function Drawer({
1464
1128
  showCloseButton = true
1465
1129
  }) {
1466
1130
  if (!open) return null;
1467
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
1468
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "fixed inset-0 z-[120] bg-black/45 backdrop-blur-[2px]", role: "presentation", onClick: onClose }),
1469
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1131
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
1132
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "fixed inset-0 z-[120] bg-black/45 backdrop-blur-[2px]", role: "presentation", onClick: onClose }),
1133
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
1470
1134
  "aside",
1471
1135
  {
1472
1136
  className: cn(
@@ -1476,12 +1140,12 @@ function Drawer({
1476
1140
  className
1477
1141
  ),
1478
1142
  children: [
1479
- (title || showCloseButton) && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("header", { className: "flex items-center justify-between border-b border-ph-border px-4 py-3", children: [
1480
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-sm font-bold text-ph-ink", children: title }),
1481
- showCloseButton && onClose && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Button, { variant: "ghost", className: "ph-btn-circle", onClick: onClose, "aria-label": "Close drawer", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(IconClose, { className: "h-5 w-5" }) })
1143
+ (title || showCloseButton) && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("header", { className: "flex items-center justify-between border-b border-ph-border px-4 py-3", children: [
1144
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "text-sm font-bold text-ph-ink", children: title }),
1145
+ showCloseButton && onClose && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Button, { variant: "ghost", className: "ph-btn-circle", onClick: onClose, "aria-label": "Close drawer", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(IconClose, { className: "h-5 w-5" }) })
1482
1146
  ] }),
1483
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex-1", children }),
1484
- footer && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("footer", { className: "border-t border-ph-border px-4 py-3", children: footer })
1147
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "flex-1", children }),
1148
+ footer && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("footer", { className: "border-t border-ph-border px-4 py-3", children: footer })
1485
1149
  ]
1486
1150
  }
1487
1151
  )
@@ -1489,7 +1153,7 @@ function Drawer({
1489
1153
  }
1490
1154
 
1491
1155
  // src/components/ui/Kbd.tsx
1492
- var import_jsx_runtime13 = require("react/jsx-runtime");
1156
+ var import_jsx_runtime10 = require("react/jsx-runtime");
1493
1157
  var platformLabels = {
1494
1158
  text: {
1495
1159
  command: "Command",
@@ -1548,17 +1212,17 @@ function Kbd(_a) {
1548
1212
  "aria-label"
1549
1213
  ]);
1550
1214
  if (variant === "token") {
1551
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("code", __spreadProps(__spreadValues({ className: cn("ph-code-token ph-kbd", className), "aria-label": ariaLabel }, props), { children }));
1215
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("code", __spreadProps(__spreadValues({ className: cn("ph-code-token ph-kbd", className), "aria-label": ariaLabel }, props), { children }));
1552
1216
  }
1553
1217
  const sourceKeys = (keys == null ? void 0 : keys.length) ? keys : children != null ? [children] : [];
1554
1218
  const displayKeys = sourceKeys.map((key) => formatKey(key, platform));
1555
1219
  const accessibleLabel = ariaLabel != null ? ariaLabel : getShortcutLabel(displayKeys);
1556
1220
  if (variant === "key") {
1557
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("kbd", __spreadProps(__spreadValues({ className: cn("ph-keycap", className), "aria-label": accessibleLabel }, props), { children: displayKeys[0] }));
1221
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("kbd", __spreadProps(__spreadValues({ className: cn("ph-keycap", className), "aria-label": accessibleLabel }, props), { children: displayKeys[0] }));
1558
1222
  }
1559
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("kbd", __spreadProps(__spreadValues({ className: cn("ph-shortcut-group ph-keycap", className), "aria-label": accessibleLabel }, props), { children: displayKeys.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { className: "contents", children: [
1560
- index > 0 && separator != null ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "ph-shortcut-separator", "aria-hidden": "true", children: separator }) : null,
1561
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "ph-shortcut-key", "aria-hidden": accessibleLabel ? true : void 0, children: key })
1223
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("kbd", __spreadProps(__spreadValues({ className: cn("ph-shortcut-group ph-keycap", className), "aria-label": accessibleLabel }, props), { children: displayKeys.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("span", { className: "contents", children: [
1224
+ index > 0 && separator != null ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "ph-shortcut-separator", "aria-hidden": "true", children: separator }) : null,
1225
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "ph-shortcut-key", "aria-hidden": accessibleLabel ? true : void 0, children: key })
1562
1226
  ] }, index)) }));
1563
1227
  }
1564
1228
  function formatKey(key, platform) {
@@ -1577,7 +1241,7 @@ function getShortcutLabel(keys) {
1577
1241
  }
1578
1242
 
1579
1243
  // src/components/ui/Loader.tsx
1580
- var import_jsx_runtime14 = require("react/jsx-runtime");
1244
+ var import_jsx_runtime11 = require("react/jsx-runtime");
1581
1245
  var loaderSizeClass = {
1582
1246
  sm: "ph-loader-sm",
1583
1247
  md: "ph-loader-md",
@@ -1603,7 +1267,7 @@ function Loader(_a) {
1603
1267
  "label",
1604
1268
  "className"
1605
1269
  ]);
1606
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1270
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1607
1271
  "span",
1608
1272
  __spreadProps(__spreadValues({
1609
1273
  role: "status",
@@ -1611,20 +1275,20 @@ function Loader(_a) {
1611
1275
  className: cn("ph-loader", loaderSizeClass[size], className)
1612
1276
  }, props), {
1613
1277
  children: [
1614
- variant === "spinner" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "ph-loading", "aria-hidden": true }) : null,
1615
- variant === "dots" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { className: "ph-loading-dots", "aria-hidden": true, children: [
1616
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", {}),
1617
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", {}),
1618
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", {})
1278
+ variant === "spinner" ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "ph-loading", "aria-hidden": true }) : null,
1279
+ variant === "dots" ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "ph-loading-dots", "aria-hidden": true, children: [
1280
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", {}),
1281
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", {}),
1282
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", {})
1619
1283
  ] }) : null,
1620
- variant === "pulse" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "ph-loading-pulse", "aria-hidden": true }) : null
1284
+ variant === "pulse" ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "ph-loading-pulse", "aria-hidden": true }) : null
1621
1285
  ]
1622
1286
  })
1623
1287
  );
1624
1288
  }
1625
1289
  function Skeleton(_a) {
1626
1290
  var _b = _a, { shape = "text", className } = _b, props = __objRest(_b, ["shape", "className"]);
1627
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1291
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1628
1292
  "span",
1629
1293
  __spreadValues({
1630
1294
  className: cn("ph-skeleton", skeletonShapeClass[shape], className),
@@ -1648,62 +1312,62 @@ function LoadingState(_a) {
1648
1312
  "size",
1649
1313
  "className"
1650
1314
  ]);
1651
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-loading-state", className), role: "status", "aria-label": label }, props), { children: [
1652
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Loader, { variant, size, label, "aria-hidden": "true" }),
1653
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ph-loading-state__copy", children: [
1654
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("strong", { children: title }),
1655
- description ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { children: description }) : null
1315
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-loading-state", className), role: "status", "aria-label": label }, props), { children: [
1316
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Loader, { variant, size, label, "aria-hidden": "true" }),
1317
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "ph-loading-state__copy", children: [
1318
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("strong", { children: title }),
1319
+ description ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: description }) : null
1656
1320
  ] })
1657
1321
  ] }));
1658
1322
  }
1659
1323
 
1660
1324
  // src/components/ui/AuthLayout.tsx
1661
1325
  var import_react8 = require("react");
1662
- var import_jsx_runtime15 = require("react/jsx-runtime");
1326
+ var import_jsx_runtime12 = require("react/jsx-runtime");
1663
1327
  function AuthLayout(_a) {
1664
1328
  var _b = _a, { brand, footer, aside, children, className } = _b, props = __objRest(_b, ["brand", "footer", "aside", "children", "className"]);
1665
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-auth-layout", aside != null && "ph-auth-layout--split", className) }, props), { children: [
1666
- aside ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("aside", { className: "ph-auth-layout__aside", children: aside }) : null,
1667
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "ph-auth-layout__main", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "ph-auth-layout__column", children: [
1668
- brand ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "ph-auth-layout__brand", children: brand }) : null,
1329
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-auth-layout", aside != null && "ph-auth-layout--split", className) }, props), { children: [
1330
+ aside ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("aside", { className: "ph-auth-layout__aside", children: aside }) : null,
1331
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "ph-auth-layout__main", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "ph-auth-layout__column", children: [
1332
+ brand ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "ph-auth-layout__brand", children: brand }) : null,
1669
1333
  children,
1670
- footer ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("footer", { className: "ph-auth-layout__footer", children: footer }) : null
1334
+ footer ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("footer", { className: "ph-auth-layout__footer", children: footer }) : null
1671
1335
  ] }) })
1672
1336
  ] }));
1673
1337
  }
1674
1338
  function AuthCard(_a) {
1675
1339
  var _b = _a, { title, description, footer, children, className } = _b, props = __objRest(_b, ["title", "description", "footer", "children", "className"]);
1676
1340
  const titleId = (0, import_react8.useId)();
1677
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("section", __spreadProps(__spreadValues({ className: cn("ph-auth-card", className), "aria-labelledby": titleId }, props), { children: [
1678
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("header", { className: "ph-auth-card__header", children: [
1679
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("h1", { id: titleId, children: title }),
1680
- description ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { children: description }) : null
1341
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("section", __spreadProps(__spreadValues({ className: cn("ph-auth-card", className), "aria-labelledby": titleId }, props), { children: [
1342
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("header", { className: "ph-auth-card__header", children: [
1343
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("h1", { id: titleId, children: title }),
1344
+ description ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { children: description }) : null
1681
1345
  ] }),
1682
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "ph-auth-card__body", children }),
1683
- footer ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("footer", { className: "ph-auth-card__footer", children: footer }) : null
1346
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "ph-auth-card__body", children }),
1347
+ footer ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("footer", { className: "ph-auth-card__footer", children: footer }) : null
1684
1348
  ] }));
1685
1349
  }
1686
1350
  function AuthDivider(_a) {
1687
1351
  var _b = _a, { children = "or continue with", className } = _b, props = __objRest(_b, ["children", "className"]);
1688
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-auth-divider", className) }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { children }) }));
1352
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-auth-divider", className) }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { children }) }));
1689
1353
  }
1690
1354
 
1691
1355
  // src/components/ui/SettingsLayout.tsx
1692
- var import_jsx_runtime16 = require("react/jsx-runtime");
1356
+ var import_jsx_runtime13 = require("react/jsx-runtime");
1693
1357
  function SettingsNav(_a) {
1694
1358
  var _b = _a, { groups, className } = _b, props = __objRest(_b, ["groups", "className"]);
1695
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-settings-nav", className) }, props), { children: groups.map((group, index) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "ph-settings-nav__group", children: [
1696
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h3", { children: group.label }),
1697
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "ph-settings-nav__items", children: group.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1359
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-settings-nav", className) }, props), { children: groups.map((group, index) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "ph-settings-nav__group", children: [
1360
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("h3", { children: group.label }),
1361
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "ph-settings-nav__items", children: group.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1698
1362
  "a",
1699
1363
  {
1700
1364
  href: item.href,
1701
1365
  className: cn("ph-settings-nav__item", item.active && "ph-settings-nav__item--active"),
1702
1366
  "aria-current": item.active ? "page" : void 0,
1703
1367
  children: [
1704
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "ph-settings-nav__icon", children: item.icon }) : null,
1705
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: item.label }),
1706
- item.badge ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "ph-settings-nav__badge", children: item.badge }) : null
1368
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "ph-settings-nav__icon", children: item.icon }) : null,
1369
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: item.label }),
1370
+ item.badge ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "ph-settings-nav__badge", children: item.badge }) : null
1707
1371
  ]
1708
1372
  },
1709
1373
  item.id
@@ -1728,31 +1392,31 @@ function SettingsLayout(_a) {
1728
1392
  "children",
1729
1393
  "className"
1730
1394
  ]);
1731
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("section", __spreadProps(__spreadValues({ className: cn("ph-settings-layout", className) }, props), { children: [
1732
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("header", { className: "ph-settings-layout__header", children: [
1733
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
1734
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h2", { children: title }),
1735
- description ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { children: description }) : null
1395
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("section", __spreadProps(__spreadValues({ className: cn("ph-settings-layout", className) }, props), { children: [
1396
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("header", { className: "ph-settings-layout__header", children: [
1397
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { children: [
1398
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("h2", { children: title }),
1399
+ description ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { children: description }) : null
1736
1400
  ] }),
1737
- actions ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "ph-settings-layout__actions", children: actions }) : null
1401
+ actions ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "ph-settings-layout__actions", children: actions }) : null
1738
1402
  ] }),
1739
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("details", { className: "ph-settings-layout__mobile-nav", children: [
1740
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("summary", { children: [
1741
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(IconTuning, { className: "h-4 w-4", "aria-hidden": true }),
1403
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("details", { className: "ph-settings-layout__mobile-nav", children: [
1404
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("summary", { children: [
1405
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconTuning, { className: "h-4 w-4", "aria-hidden": true }),
1742
1406
  "Settings menu"
1743
1407
  ] }),
1744
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("nav", { "aria-label": navigationLabel, children: navigation })
1408
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("nav", { "aria-label": navigationLabel, children: navigation })
1745
1409
  ] }),
1746
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "ph-settings-layout__grid", children: [
1747
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("aside", { className: "ph-settings-layout__sidebar", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("nav", { "aria-label": navigationLabel, children: navigation }) }),
1748
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "ph-settings-layout__content", children })
1410
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "ph-settings-layout__grid", children: [
1411
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("aside", { className: "ph-settings-layout__sidebar", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("nav", { "aria-label": navigationLabel, children: navigation }) }),
1412
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "ph-settings-layout__content", children })
1749
1413
  ] })
1750
1414
  ] }));
1751
1415
  }
1752
1416
 
1753
1417
  // src/components/ui/DropdownMenu.tsx
1754
1418
  var DropdownPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
1755
- var import_jsx_runtime17 = require("react/jsx-runtime");
1419
+ var import_jsx_runtime14 = require("react/jsx-runtime");
1756
1420
  var sizeClass2 = {
1757
1421
  xs: "ph-btn-xs",
1758
1422
  sm: "ph-btn-sm",
@@ -1774,7 +1438,7 @@ function DropdownContent({
1774
1438
  avoidCollisions = true,
1775
1439
  panelClassName
1776
1440
  }) {
1777
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1441
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropdownPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1778
1442
  DropdownPrimitive.Content,
1779
1443
  {
1780
1444
  className: cn("ph-dropdown-panel", panelClassName),
@@ -1787,7 +1451,7 @@ function DropdownContent({
1787
1451
  sticky: "partial",
1788
1452
  children: [
1789
1453
  children,
1790
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownPrimitive.Arrow, { className: "ph-dropdown-arrow", width: 12, height: 6 })
1454
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropdownPrimitive.Arrow, { className: "ph-dropdown-arrow", width: 12, height: 6 })
1791
1455
  ]
1792
1456
  }
1793
1457
  ) });
@@ -1828,7 +1492,7 @@ function DropdownMenu(_a) {
1828
1492
  "modal",
1829
1493
  "disabled"
1830
1494
  ]);
1831
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-dropdown", className) }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1495
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-dropdown", className) }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1832
1496
  DropdownPrimitive.Root,
1833
1497
  {
1834
1498
  open,
@@ -1836,8 +1500,8 @@ function DropdownMenu(_a) {
1836
1500
  onOpenChange,
1837
1501
  modal,
1838
1502
  children: [
1839
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownPrimitive.Trigger, { asChild: true, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { type: "button", className: "ph-dropdown-trigger", "aria-label": ariaLabel, children: trigger }) }),
1840
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1503
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropdownPrimitive.Trigger, { asChild: true, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("button", { type: "button", className: "ph-dropdown-trigger", "aria-label": ariaLabel, children: trigger }) }),
1504
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1841
1505
  DropdownContent,
1842
1506
  {
1843
1507
  align,
@@ -1902,8 +1566,8 @@ function DropdownButton(_a) {
1902
1566
  "modal",
1903
1567
  "disabled"
1904
1568
  ]);
1905
- const trailing = sideIcon != null ? sideIcon : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(IconChevronDown, { className: "h-4 w-4", "aria-hidden": true });
1906
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-dropdown", className) }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1569
+ const trailing = sideIcon != null ? sideIcon : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(IconChevronDown, { className: "h-4 w-4", "aria-hidden": true });
1570
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-dropdown", className) }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1907
1571
  DropdownPrimitive.Root,
1908
1572
  {
1909
1573
  open,
@@ -1911,7 +1575,7 @@ function DropdownButton(_a) {
1911
1575
  onOpenChange,
1912
1576
  modal,
1913
1577
  children: [
1914
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownPrimitive.Trigger, { asChild: true, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1578
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropdownPrimitive.Trigger, { asChild: true, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1915
1579
  "button",
1916
1580
  {
1917
1581
  type: "button",
@@ -1924,10 +1588,10 @@ function DropdownButton(_a) {
1924
1588
  split && "ph-btn-split"
1925
1589
  ),
1926
1590
  "aria-label": ariaLabel,
1927
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ButtonChrome, { label, icon, sideIcon: trailing, split })
1591
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ButtonChrome, { label, icon, sideIcon: trailing, split })
1928
1592
  }
1929
1593
  ) }),
1930
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1594
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1931
1595
  DropdownContent,
1932
1596
  {
1933
1597
  align,
@@ -1946,7 +1610,7 @@ function DropdownButton(_a) {
1946
1610
  }
1947
1611
  function DropdownItem(_a) {
1948
1612
  var _b = _a, { className, children, disabled } = _b, props = __objRest(_b, ["className", "children", "disabled"]);
1949
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownPrimitive.Item, { asChild: true, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1613
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropdownPrimitive.Item, { asChild: true, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1950
1614
  "button",
1951
1615
  __spreadProps(__spreadValues({
1952
1616
  type: "button",
@@ -1958,13 +1622,13 @@ function DropdownItem(_a) {
1958
1622
  ) });
1959
1623
  }
1960
1624
  function DropdownRadioGroup(props) {
1961
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownPrimitive.RadioGroup, __spreadValues({}, props));
1625
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropdownPrimitive.RadioGroup, __spreadValues({}, props));
1962
1626
  }
1963
1627
  function DropdownRadioItem(_a) {
1964
1628
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
1965
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(DropdownPrimitive.RadioItem, __spreadProps(__spreadValues({ className: cn("ph-dropdown-item ph-dropdown-radio-item", className) }, props), { children: [
1966
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "ph-dropdown-item-indicator", "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(IconCheck, { className: "h-3.5 w-3.5" }) }) }),
1967
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children })
1629
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(DropdownPrimitive.RadioItem, __spreadProps(__spreadValues({ className: cn("ph-dropdown-item ph-dropdown-radio-item", className) }, props), { children: [
1630
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "ph-dropdown-item-indicator", "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropdownPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(IconCheck, { className: "h-3.5 w-3.5" }) }) }),
1631
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { children })
1968
1632
  ] }));
1969
1633
  }
1970
1634
 
@@ -1973,7 +1637,7 @@ var import_react10 = require("react");
1973
1637
 
1974
1638
  // src/components/ui/FormField.tsx
1975
1639
  var import_react9 = require("react");
1976
- var import_jsx_runtime18 = require("react/jsx-runtime");
1640
+ var import_jsx_runtime15 = require("react/jsx-runtime");
1977
1641
  function FormField(_a) {
1978
1642
  var _b = _a, {
1979
1643
  controlId,
@@ -2006,26 +1670,26 @@ function FormField(_a) {
2006
1670
  "aria-errormessage": errorId,
2007
1671
  "aria-invalid": error ? true : void 0
2008
1672
  };
2009
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-field", className) }, props), { children: [
2010
- label ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1673
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-field", className) }, props), { children: [
1674
+ label ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
2011
1675
  "label",
2012
1676
  {
2013
1677
  htmlFor: id,
2014
1678
  className: cn("ph-label", hideLabel && "sr-only", disabled && "opacity-50"),
2015
1679
  children: [
2016
1680
  label,
2017
- required ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { "aria-hidden": "true", children: " *" }) : null
1681
+ required ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { "aria-hidden": "true", children: " *" }) : null
2018
1682
  ]
2019
1683
  }
2020
1684
  ) : null,
2021
1685
  typeof children === "function" ? children(controlProps) : children,
2022
- descriptionId ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { id: descriptionId, className: "mt-1 text-xs text-ph-subtle", children: helperText }) : null,
2023
- errorId ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { id: errorId, className: "mt-1 text-xs font-medium text-ph-danger", children: error }) : null
1686
+ descriptionId ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { id: descriptionId, className: "mt-1 text-xs text-ph-subtle", children: helperText }) : null,
1687
+ errorId ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { id: errorId, className: "mt-1 text-xs font-medium text-ph-danger", children: error }) : null
2024
1688
  ] }));
2025
1689
  }
2026
1690
 
2027
1691
  // src/components/ui/Input.tsx
2028
- var import_jsx_runtime19 = require("react/jsx-runtime");
1692
+ var import_jsx_runtime16 = require("react/jsx-runtime");
2029
1693
  var sizeMap3 = {
2030
1694
  sm: "ph-input-sm",
2031
1695
  md: "",
@@ -2066,7 +1730,7 @@ var Input = (0, import_react10.forwardRef)(function Input2(_a, ref) {
2066
1730
  const autoId = (0, import_react10.useId)();
2067
1731
  const id = idProp != null ? idProp : autoId;
2068
1732
  const hasError = Boolean(error);
2069
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1733
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2070
1734
  FormField,
2071
1735
  {
2072
1736
  controlId: id,
@@ -2077,7 +1741,7 @@ var Input = (0, import_react10.forwardRef)(function Input2(_a, ref) {
2077
1741
  required,
2078
1742
  disabled,
2079
1743
  className: wrapperClassName,
2080
- children: (fieldProps) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1744
+ children: (fieldProps) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2081
1745
  "input",
2082
1746
  __spreadValues(__spreadProps(__spreadValues({}, fieldProps), {
2083
1747
  ref,
@@ -2129,7 +1793,7 @@ var Select = (0, import_react10.forwardRef)(function Select2(_a, ref) {
2129
1793
  const autoId = (0, import_react10.useId)();
2130
1794
  const id = idProp != null ? idProp : autoId;
2131
1795
  const hasError = Boolean(error);
2132
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(FormField, { controlId: id, label, hideLabel, helperText, error, required, disabled, className: wrapperClassName, children: (fieldProps) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1796
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(FormField, { controlId: id, label, hideLabel, helperText, error, required, disabled, className: wrapperClassName, children: (fieldProps) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2133
1797
  "select",
2134
1798
  __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, fieldProps), {
2135
1799
  ref,
@@ -2178,7 +1842,7 @@ var Textarea = (0, import_react10.forwardRef)(function Textarea2(_a, ref) {
2178
1842
  const autoId = (0, import_react10.useId)();
2179
1843
  const id = idProp != null ? idProp : autoId;
2180
1844
  const hasError = Boolean(error);
2181
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(FormField, { controlId: id, label, hideLabel, helperText, error, required, disabled, className: wrapperClassName, children: (fieldProps) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1845
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(FormField, { controlId: id, label, hideLabel, helperText, error, required, disabled, className: wrapperClassName, children: (fieldProps) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2182
1846
  "textarea",
2183
1847
  __spreadValues(__spreadProps(__spreadValues({}, fieldProps), {
2184
1848
  ref,
@@ -2221,9 +1885,9 @@ var Checkbox = (0, import_react10.forwardRef)(function Checkbox2(_a, ref) {
2221
1885
  const hasError = Boolean(error);
2222
1886
  const descriptionId = helperText && !hasError ? `${id}-description` : void 0;
2223
1887
  const errorId = error ? `${id}-error` : void 0;
2224
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: cn("ph-control-row", wrapperClassName), children: [
2225
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { className: "ph-checkbox-wrap", children: [
2226
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1888
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: cn("ph-control-row", wrapperClassName), children: [
1889
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { className: "ph-checkbox-wrap", children: [
1890
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2227
1891
  "input",
2228
1892
  __spreadValues({
2229
1893
  ref,
@@ -2241,12 +1905,12 @@ var Checkbox = (0, import_react10.forwardRef)(function Checkbox2(_a, ref) {
2241
1905
  )
2242
1906
  }, props)
2243
1907
  ),
2244
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(IconCheck, { className: "ph-checkbox-icon", "aria-hidden": true })
1908
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(IconCheck, { className: "ph-checkbox-icon", "aria-hidden": true })
2245
1909
  ] }),
2246
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "ph-control-copy", children: [
2247
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("label", { htmlFor: id, className: cn("cursor-pointer", disabled && "opacity-60"), children: label }),
2248
- descriptionId ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { id: descriptionId, className: "text-xs text-ph-subtle", children: helperText }) : null,
2249
- errorId ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { id: errorId, className: "text-xs font-medium text-ph-danger", children: error }) : null
1910
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "ph-control-copy", children: [
1911
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { htmlFor: id, className: cn("cursor-pointer", disabled && "opacity-60"), children: label }),
1912
+ descriptionId ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { id: descriptionId, className: "text-xs text-ph-subtle", children: helperText }) : null,
1913
+ errorId ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { id: errorId, className: "text-xs font-medium text-ph-danger", children: error }) : null
2250
1914
  ] })
2251
1915
  ] });
2252
1916
  });
@@ -2267,8 +1931,8 @@ var Radio = (0, import_react10.forwardRef)(function Radio2(_a, ref) {
2267
1931
  ]);
2268
1932
  const autoId = (0, import_react10.useId)();
2269
1933
  const id = idProp != null ? idProp : autoId;
2270
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: cn("ph-control-row", wrapperClassName, disabled && "opacity-60"), children: [
2271
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1934
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: cn("ph-control-row", wrapperClassName, disabled && "opacity-60"), children: [
1935
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2272
1936
  "input",
2273
1937
  __spreadValues({
2274
1938
  ref,
@@ -2278,7 +1942,7 @@ var Radio = (0, import_react10.forwardRef)(function Radio2(_a, ref) {
2278
1942
  className: cn("ph-radio", disabled && "cursor-not-allowed", className)
2279
1943
  }, props)
2280
1944
  ),
2281
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("label", { htmlFor: id, className: cn("cursor-pointer", disabled && "opacity-60"), children: label })
1945
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { htmlFor: id, className: cn("cursor-pointer", disabled && "opacity-60"), children: label })
2282
1946
  ] });
2283
1947
  });
2284
1948
  Radio.displayName = "Radio";
@@ -2298,9 +1962,9 @@ var Toggle = (0, import_react10.forwardRef)(function Toggle2(_a, ref) {
2298
1962
  ]);
2299
1963
  const autoId = (0, import_react10.useId)();
2300
1964
  const id = idProp != null ? idProp : autoId;
2301
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("label", { className: cn("ph-control-row-between", wrapperClassName, disabled && "opacity-60"), children: [
2302
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: disabled ? "opacity-60" : void 0, children: label }),
2303
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1965
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("label", { className: cn("ph-control-row-between", wrapperClassName, disabled && "opacity-60"), children: [
1966
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: disabled ? "opacity-60" : void 0, children: label }),
1967
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2304
1968
  "input",
2305
1969
  __spreadValues({
2306
1970
  ref,
@@ -2334,13 +1998,13 @@ var Range = (0, import_react10.forwardRef)(function Range2(_a, ref) {
2334
1998
  ]);
2335
1999
  const autoId = (0, import_react10.useId)();
2336
2000
  const id = idProp != null ? idProp : autoId;
2337
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: cn("ph-field", wrapperClassName), children: [
2338
- label && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("label", { htmlFor: id, className: "ph-label", children: label }),
2339
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("input", __spreadValues({ ref, id, type: "range", className: cn("ph-range", className) }, props)),
2340
- (minLabel || valueLabel || maxLabel) && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex justify-between text-xs text-ph-mutedtext", children: [
2341
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { children: minLabel }),
2342
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { children: valueLabel }),
2343
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { children: maxLabel })
2001
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: cn("ph-field", wrapperClassName), children: [
2002
+ label && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { htmlFor: id, className: "ph-label", children: label }),
2003
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("input", __spreadValues({ ref, id, type: "range", className: cn("ph-range", className) }, props)),
2004
+ (minLabel || valueLabel || maxLabel) && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex justify-between text-xs text-ph-mutedtext", children: [
2005
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: minLabel }),
2006
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: valueLabel }),
2007
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: maxLabel })
2344
2008
  ] })
2345
2009
  ] });
2346
2010
  });
@@ -2361,10 +2025,10 @@ var FileUpload = (0, import_react10.forwardRef)(function FileUpload2(_a, ref) {
2361
2025
  ]);
2362
2026
  const autoId = (0, import_react10.useId)();
2363
2027
  const id = idProp != null ? idProp : autoId;
2364
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: cn("ph-field", wrapperClassName), children: [
2365
- label && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("label", { htmlFor: id, className: "ph-label", children: label }),
2366
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("label", { htmlFor: id, className: "ph-file-upload", children: [
2367
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("input", __spreadValues({ ref, id, type: "file", className: cn("sr-only", className) }, props)),
2028
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: cn("ph-field", wrapperClassName), children: [
2029
+ label && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { htmlFor: id, className: "ph-label", children: label }),
2030
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("label", { htmlFor: id, className: "ph-file-upload", children: [
2031
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("input", __spreadValues({ ref, id, type: "file", className: cn("sr-only", className) }, props)),
2368
2032
  prompt
2369
2033
  ] })
2370
2034
  ] });
@@ -2374,7 +2038,7 @@ FileUpload.displayName = "FileUpload";
2374
2038
  // src/components/ui/Modal.tsx
2375
2039
  var Dialog = __toESM(require("@radix-ui/react-dialog"));
2376
2040
  var import_react11 = require("react");
2377
- var import_jsx_runtime20 = require("react/jsx-runtime");
2041
+ var import_jsx_runtime17 = require("react/jsx-runtime");
2378
2042
  var sizeMap4 = {
2379
2043
  sm: "max-w-sm",
2380
2044
  md: "max-w-lg",
@@ -2398,16 +2062,16 @@ function Modal({
2398
2062
  }) {
2399
2063
  const canDismiss = Boolean(onClose);
2400
2064
  const restoreFocusRef = (0, import_react11.useRef)(null);
2401
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2065
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2402
2066
  Dialog.Root,
2403
2067
  {
2404
2068
  open,
2405
2069
  onOpenChange: (nextOpen) => {
2406
2070
  if (!nextOpen) onClose == null ? void 0 : onClose();
2407
2071
  },
2408
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Dialog.Portal, { children: [
2409
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog.Overlay, { className: "ph-modal-overlay" }),
2410
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2072
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Dialog.Portal, { children: [
2073
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Dialog.Overlay, { className: "ph-modal-overlay" }),
2074
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
2411
2075
  Dialog.Content,
2412
2076
  __spreadProps(__spreadValues({
2413
2077
  className: cn("ph-modal-panel", sizeMap4[size], className),
@@ -2428,16 +2092,16 @@ function Modal({
2428
2092
  if (!canDismiss || !closeOnOutsideClick) event.preventDefault();
2429
2093
  },
2430
2094
  children: [
2431
- title ? null : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog.Title, { className: "sr-only", children: ariaLabel != null ? ariaLabel : "Dialog" }),
2432
- title || description || showCloseButton && canDismiss ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("header", { className: "ph-modal-header", children: [
2433
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "min-w-0", children: [
2434
- title ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog.Title, { className: "text-lg font-bold text-ph-ink", children: title }) : null,
2435
- description ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog.Description, { className: "mt-1 text-sm text-ph-subtle", children: description }) : null
2095
+ title ? null : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Dialog.Title, { className: "sr-only", children: ariaLabel != null ? ariaLabel : "Dialog" }),
2096
+ title || description || showCloseButton && canDismiss ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("header", { className: "ph-modal-header", children: [
2097
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "min-w-0", children: [
2098
+ title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Dialog.Title, { className: "text-lg font-bold text-ph-ink", children: title }) : null,
2099
+ description ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Dialog.Description, { className: "mt-1 text-sm text-ph-subtle", children: description }) : null
2436
2100
  ] }),
2437
- showCloseButton && canDismiss ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("button", { type: "button", className: "ph-modal-close", "aria-label": "Close dialog", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(IconClose, { className: "h-5 w-5", "aria-hidden": true }) }) }) : null
2101
+ showCloseButton && canDismiss ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Dialog.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { type: "button", className: "ph-modal-close", "aria-label": "Close dialog", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(IconClose, { className: "h-5 w-5", "aria-hidden": true }) }) }) : null
2438
2102
  ] }) : null,
2439
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "ph-modal-body", children }),
2440
- footer ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "ph-modal-footer", children: footer }) : null
2103
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "ph-modal-body", children }),
2104
+ footer ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "ph-modal-footer", children: footer }) : null
2441
2105
  ]
2442
2106
  })
2443
2107
  )
@@ -2447,11 +2111,11 @@ function Modal({
2447
2111
  }
2448
2112
 
2449
2113
  // src/components/ui/Navigation.tsx
2450
- var import_jsx_runtime21 = require("react/jsx-runtime");
2114
+ var import_jsx_runtime18 = require("react/jsx-runtime");
2451
2115
  function Breadcrumbs({ items, label = "Breadcrumb", className }) {
2452
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("nav", { "aria-label": label, className: cn("ph-breadcrumbs", className), children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "contents", children: [
2453
- index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "ph-breadcrumb-sep", "aria-hidden": "true", children: "/" }) : null,
2454
- item.current || !item.href ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "ph-breadcrumb-current", "aria-current": item.current ? "page" : void 0, children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("a", { href: item.href, className: "ph-breadcrumb-link", children: item.label })
2116
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("nav", { "aria-label": label, className: cn("ph-breadcrumbs", className), children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { className: "contents", children: [
2117
+ index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "ph-breadcrumb-sep", "aria-hidden": "true", children: "/" }) : null,
2118
+ item.current || !item.href ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "ph-breadcrumb-current", "aria-current": item.current ? "page" : void 0, children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("a", { href: item.href, className: "ph-breadcrumb-link", children: item.label })
2455
2119
  ] }, `${item.label}-${index}`)) });
2456
2120
  }
2457
2121
  function Pagination({
@@ -2464,8 +2128,8 @@ function Pagination({
2464
2128
  }) {
2465
2129
  const pages = compact ? [Math.max(1, page - 1), page, Math.min(totalPages, page + 1)] : [1, 2, 3, totalPages];
2466
2130
  const uniquePages = Array.from(new Set(pages)).filter((n) => n >= 1 && n <= totalPages);
2467
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("nav", { "aria-label": label, className: cn("ph-pagination", className), children: [
2468
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2131
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("nav", { "aria-label": label, className: cn("ph-pagination", className), children: [
2132
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2469
2133
  "button",
2470
2134
  {
2471
2135
  type: "button",
@@ -2473,12 +2137,12 @@ function Pagination({
2473
2137
  disabled: page <= 1,
2474
2138
  "aria-label": "Previous page",
2475
2139
  onClick: () => onPageChange == null ? void 0 : onPageChange(page - 1),
2476
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(IconChevronLeft, { className: "mx-auto h-4 w-4", "aria-hidden": true })
2140
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(IconChevronLeft, { className: "mx-auto h-4 w-4", "aria-hidden": true })
2477
2141
  }
2478
2142
  ),
2479
- uniquePages.map((pageNumber, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "contents", children: [
2480
- !compact && index === uniquePages.length - 1 && pageNumber > 4 ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "ph-pagination-ellipsis", "aria-hidden": "true", children: "..." }) : null,
2481
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2143
+ uniquePages.map((pageNumber, index) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { className: "contents", children: [
2144
+ !compact && index === uniquePages.length - 1 && pageNumber > 4 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "ph-pagination-ellipsis", "aria-hidden": "true", children: "..." }) : null,
2145
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2482
2146
  "button",
2483
2147
  {
2484
2148
  type: "button",
@@ -2489,7 +2153,7 @@ function Pagination({
2489
2153
  }
2490
2154
  )
2491
2155
  ] }, pageNumber)),
2492
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2156
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2493
2157
  "button",
2494
2158
  {
2495
2159
  type: "button",
@@ -2497,25 +2161,25 @@ function Pagination({
2497
2161
  disabled: page >= totalPages,
2498
2162
  "aria-label": "Next page",
2499
2163
  onClick: () => onPageChange == null ? void 0 : onPageChange(page + 1),
2500
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(IconChevronRight, { className: "mx-auto h-4 w-4", "aria-hidden": true })
2164
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(IconChevronRight, { className: "mx-auto h-4 w-4", "aria-hidden": true })
2501
2165
  }
2502
2166
  )
2503
2167
  ] });
2504
2168
  }
2505
2169
 
2506
2170
  // src/components/ui/Panel.tsx
2507
- var import_jsx_runtime22 = require("react/jsx-runtime");
2171
+ var import_jsx_runtime19 = require("react/jsx-runtime");
2508
2172
  function Panel(_a) {
2509
2173
  var _b = _a, { title, description, children, className } = _b, props = __objRest(_b, ["title", "description", "children", "className"]);
2510
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-panel", className) }, props), { children: [
2511
- title && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("h3", { className: "text-sm font-semibold uppercase tracking-wider text-ph-mutedtext", children: title }),
2512
- description && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-sm text-ph-subtle", children: description }),
2174
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-panel", className) }, props), { children: [
2175
+ title && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("h3", { className: "text-sm font-semibold uppercase tracking-wider text-ph-mutedtext", children: title }),
2176
+ description && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-sm text-ph-subtle", children: description }),
2513
2177
  children
2514
2178
  ] }));
2515
2179
  }
2516
2180
 
2517
2181
  // src/components/ui/Rating.tsx
2518
- var import_jsx_runtime23 = require("react/jsx-runtime");
2182
+ var import_jsx_runtime20 = require("react/jsx-runtime");
2519
2183
  function Rating(_a) {
2520
2184
  var _b = _a, {
2521
2185
  label,
@@ -2535,9 +2199,9 @@ function Rating(_a) {
2535
2199
  "wrapperClassName"
2536
2200
  ]);
2537
2201
  const stars = Array.from({ length: max }, (_, index) => index + 1);
2538
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: cn("ph-field", wrapperClassName), children: [
2539
- label && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "ph-label", children: label }),
2540
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2202
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: cn("ph-field", wrapperClassName), children: [
2203
+ label && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "ph-label", children: label }),
2204
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2541
2205
  "div",
2542
2206
  __spreadProps(__spreadValues({
2543
2207
  className: cn("ph-rating flex", className),
@@ -2547,7 +2211,7 @@ function Rating(_a) {
2547
2211
  children: stars.map((star) => {
2548
2212
  const active = star <= value;
2549
2213
  if (readOnly) {
2550
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2214
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2551
2215
  IconStar,
2552
2216
  {
2553
2217
  className: cn("h-6 w-6", active ? "text-amber-500" : "text-ph-border"),
@@ -2556,7 +2220,7 @@ function Rating(_a) {
2556
2220
  star
2557
2221
  );
2558
2222
  }
2559
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2223
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2560
2224
  "button",
2561
2225
  {
2562
2226
  type: "button",
@@ -2565,7 +2229,7 @@ function Rating(_a) {
2565
2229
  "aria-checked": active,
2566
2230
  "aria-label": `${star} out of ${max}`,
2567
2231
  onClick: () => onChange == null ? void 0 : onChange(star),
2568
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(IconStar, { className: cn("h-6 w-6", active ? "text-amber-500" : "text-ph-border") })
2232
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(IconStar, { className: cn("h-6 w-6", active ? "text-amber-500" : "text-ph-border") })
2569
2233
  },
2570
2234
  star
2571
2235
  );
@@ -2577,7 +2241,7 @@ function Rating(_a) {
2577
2241
 
2578
2242
  // src/components/ui/SearchInput.tsx
2579
2243
  var import_react12 = require("react");
2580
- var import_jsx_runtime24 = require("react/jsx-runtime");
2244
+ var import_jsx_runtime21 = require("react/jsx-runtime");
2581
2245
  function SearchInput(_a) {
2582
2246
  var _b = _a, {
2583
2247
  id: idProp,
@@ -2600,10 +2264,10 @@ function SearchInput(_a) {
2600
2264
  ]);
2601
2265
  const autoId = (0, import_react12.useId)();
2602
2266
  const id = idProp != null ? idProp : autoId;
2603
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: cn("relative", wrapperClassName), children: [
2604
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("label", { htmlFor: id, className: hideLabel ? "sr-only" : "ph-label mb-1.5 block", children: label }),
2605
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "relative", children: [
2606
- shortcut != null ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2267
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: cn("relative", wrapperClassName), children: [
2268
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("label", { htmlFor: id, className: hideLabel ? "sr-only" : "ph-label mb-1.5 block", children: label }),
2269
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "relative", children: [
2270
+ shortcut != null ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2607
2271
  "span",
2608
2272
  {
2609
2273
  className: "ph-shortcut pointer-events-none absolute left-3 top-1/2 z-10 -translate-y-1/2 text-xs",
@@ -2611,7 +2275,7 @@ function SearchInput(_a) {
2611
2275
  children: shortcut
2612
2276
  }
2613
2277
  ) : null,
2614
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2278
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2615
2279
  "input",
2616
2280
  __spreadValues({
2617
2281
  id,
@@ -2647,10 +2311,10 @@ function SearchGroup(_a) {
2647
2311
  ]);
2648
2312
  const autoId = (0, import_react12.useId)();
2649
2313
  const id = idProp != null ? idProp : autoId;
2650
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: cn("ph-field", wrapperClassName), children: [
2651
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("label", { htmlFor: id, className: "ph-label", children: label }),
2652
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "ph-search-group flex w-full max-w-lg min-h-[2.3125rem] items-stretch divide-x divide-ph-border", children: [
2653
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2314
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: cn("ph-field", wrapperClassName), children: [
2315
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("label", { htmlFor: id, className: "ph-label", children: label }),
2316
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "ph-search-group flex w-full max-w-lg min-h-[2.3125rem] items-stretch divide-x divide-ph-border", children: [
2317
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2654
2318
  "input",
2655
2319
  __spreadValues({
2656
2320
  id,
@@ -2659,12 +2323,12 @@ function SearchGroup(_a) {
2659
2323
  className: cn("ph-input ph-input-group-field min-w-0 flex-1", className)
2660
2324
  }, props)
2661
2325
  ),
2662
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2326
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2663
2327
  Button,
2664
2328
  {
2665
2329
  type: "submit",
2666
2330
  variant: "primary",
2667
- icon: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(IconSearch, { className: "h-4 w-4", "aria-hidden": true }),
2331
+ icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(IconSearch, { className: "h-4 w-4", "aria-hidden": true }),
2668
2332
  className: "ph-search-group__submit",
2669
2333
  "aria-label": submitLabel
2670
2334
  }
@@ -2674,7 +2338,7 @@ function SearchGroup(_a) {
2674
2338
  }
2675
2339
 
2676
2340
  // src/components/ui/Table.tsx
2677
- var import_jsx_runtime25 = require("react/jsx-runtime");
2341
+ var import_jsx_runtime22 = require("react/jsx-runtime");
2678
2342
  function Table({
2679
2343
  data,
2680
2344
  columns,
@@ -2685,15 +2349,15 @@ function Table({
2685
2349
  className,
2686
2350
  caption
2687
2351
  }) {
2688
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: cn("ph-table-wrap", compact && "ph-table-compact", className), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("table", { className: cn("ph-table", zebra && "ph-table-zebra", ribbon && "ph-table--ribbon"), children: [
2689
- caption && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("caption", { className: "sr-only", children: caption }),
2690
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("tr", { children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("th", { className: col.className, children: col.header }, col.key)) }) }),
2691
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("tbody", { children: data.map((row, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("tr", { style: getRowStyle == null ? void 0 : getRowStyle(row), children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("td", { className: col.className, children: col.cell(row) }, col.key)) }, i)) })
2352
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: cn("ph-table-wrap", compact && "ph-table-compact", className), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("table", { className: cn("ph-table", zebra && "ph-table-zebra", ribbon && "ph-table--ribbon"), children: [
2353
+ caption && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("caption", { className: "sr-only", children: caption }),
2354
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("tr", { children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("th", { className: col.className, children: col.header }, col.key)) }) }),
2355
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("tbody", { children: data.map((row, i) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("tr", { style: getRowStyle == null ? void 0 : getRowStyle(row), children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("td", { className: col.className, children: col.cell(row) }, col.key)) }, i)) })
2692
2356
  ] }) });
2693
2357
  }
2694
2358
 
2695
2359
  // src/components/ui/Stat.tsx
2696
- var import_jsx_runtime26 = require("react/jsx-runtime");
2360
+ var import_jsx_runtime23 = require("react/jsx-runtime");
2697
2361
  var toneMap = {
2698
2362
  default: "text-ph-ink",
2699
2363
  brand: "text-ph-brand",
@@ -2710,16 +2374,16 @@ var statMap = {
2710
2374
  };
2711
2375
  function Stat(_a) {
2712
2376
  var _b = _a, { icon, label, value, footer, tone = "default", className } = _b, props = __objRest(_b, ["icon", "label", "value", "footer", "tone", "className"]);
2713
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("article", __spreadProps(__spreadValues({ className: cn("ph-stat", statMap[tone], className) }, props), { children: [
2714
- icon && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: cn("mb-2 h-7 w-7", toneMap[tone]), children: icon }),
2715
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: cn("ph-stat-label", tone === "warning" && toneMap[tone]), children: label }),
2716
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: cn("ph-stat-val", toneMap[tone]), children: value }),
2717
- footer && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-xs text-ph-subtle", children: footer })
2377
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("article", __spreadProps(__spreadValues({ className: cn("ph-stat", statMap[tone], className) }, props), { children: [
2378
+ icon && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: cn("mb-2 h-7 w-7", toneMap[tone]), children: icon }),
2379
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: cn("ph-stat-label", tone === "warning" && toneMap[tone]), children: label }),
2380
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: cn("ph-stat-val", toneMap[tone]), children: value }),
2381
+ footer && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-xs text-ph-subtle", children: footer })
2718
2382
  ] }));
2719
2383
  }
2720
2384
 
2721
2385
  // src/components/ui/Toast.tsx
2722
- var import_jsx_runtime27 = require("react/jsx-runtime");
2386
+ var import_jsx_runtime24 = require("react/jsx-runtime");
2723
2387
  var statusConfig2 = {
2724
2388
  info: { icon: IconErrorOutline, color: "text-ph-info", bg: "ph-toast-info" },
2725
2389
  success: { icon: IconCheckCircle, color: "text-ph-success", bg: "ph-toast-success" },
@@ -2735,33 +2399,33 @@ function Toast({
2735
2399
  }) {
2736
2400
  const config = statusConfig2[status];
2737
2401
  const Icon = config.icon;
2738
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: cn("ph-toast", config.bg, className), children: [
2739
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon, { className: cn("mt-0.5 h-5 w-5 shrink-0", config.color), "aria-hidden": true }),
2740
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "pr-8", children: [
2741
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "font-semibold", children: title }),
2742
- description && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "mt-1 text-xs text-ph-subtle", children: description })
2402
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: cn("ph-toast", config.bg, className), children: [
2403
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon, { className: cn("mt-0.5 h-5 w-5 shrink-0", config.color), "aria-hidden": true }),
2404
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "pr-8", children: [
2405
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "font-semibold", children: title }),
2406
+ description && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "mt-1 text-xs text-ph-subtle", children: description })
2743
2407
  ] }),
2744
- onDismiss && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2408
+ onDismiss && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2745
2409
  "button",
2746
2410
  {
2747
2411
  type: "button",
2748
2412
  "aria-label": `Dismiss ${title}`,
2749
2413
  className: "absolute right-2 top-2 ph-btn ph-btn-ghost ph-btn-xs ph-btn-circle",
2750
2414
  onClick: onDismiss,
2751
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconClose, { className: "h-4 w-4" })
2415
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(IconClose, { className: "h-4 w-4" })
2752
2416
  }
2753
2417
  )
2754
2418
  ] });
2755
2419
  }
2756
2420
  function ToastStack({ children, className }) {
2757
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: cn("ph-toast-stack", className), children });
2421
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: cn("ph-toast-stack", className), children });
2758
2422
  }
2759
2423
 
2760
2424
  // src/components/ui/Tabs.tsx
2761
- var import_jsx_runtime28 = require("react/jsx-runtime");
2425
+ var import_jsx_runtime25 = require("react/jsx-runtime");
2762
2426
  function Tabs({ items, value, onChange, variant = "pill", className }) {
2763
2427
  if (variant === "underline") {
2764
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: cn("flex gap-6 border-b border-ph-border", className), children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2428
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: cn("flex gap-6 border-b border-ph-border", className), children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2765
2429
  "button",
2766
2430
  {
2767
2431
  type: "button",
@@ -2775,7 +2439,7 @@ function Tabs({ items, value, onChange, variant = "pill", className }) {
2775
2439
  item.value
2776
2440
  )) });
2777
2441
  }
2778
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: cn("ph-tabs-row inline-flex", className), children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2442
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: cn("ph-tabs-row inline-flex", className), children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2779
2443
  "button",
2780
2444
  {
2781
2445
  type: "button",
@@ -3047,17 +2711,17 @@ function ThemeDomSync() {
3047
2711
 
3048
2712
  // src/components/ui/ThemeManager.tsx
3049
2713
  var import_react14 = require("react");
3050
- var import_jsx_runtime29 = require("react/jsx-runtime");
2714
+ var import_jsx_runtime26 = require("react/jsx-runtime");
3051
2715
  function ThemeManager({ children }) {
3052
2716
  (0, import_react14.useLayoutEffect)(() => {
3053
2717
  persistTheme(readStoredTheme());
3054
2718
  }, []);
3055
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children });
2719
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children });
3056
2720
  }
3057
2721
 
3058
2722
  // src/components/ui/ThemeSwitcher.tsx
3059
2723
  var import_react15 = require("react");
3060
- var import_jsx_runtime30 = require("react/jsx-runtime");
2724
+ var import_jsx_runtime27 = require("react/jsx-runtime");
3061
2725
  function ThemeSwitcher({ className }) {
3062
2726
  const [themeId, setThemeId] = (0, import_react15.useState)("hedgehog-light");
3063
2727
  (0, import_react15.useEffect)(() => {
@@ -3065,9 +2729,9 @@ function ThemeSwitcher({ className }) {
3065
2729
  persistTheme(id);
3066
2730
  setThemeId(id);
3067
2731
  }, []);
3068
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("label", { className: cn("flex min-w-0 items-center gap-2", className), children: [
3069
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "shrink-0 text-xs font-medium text-ph-mutedtext sm:text-sm", children: "Theme" }),
3070
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2732
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("label", { className: cn("flex min-w-0 items-center gap-2", className), children: [
2733
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "shrink-0 text-xs font-medium text-ph-mutedtext sm:text-sm", children: "Theme" }),
2734
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3071
2735
  "select",
3072
2736
  {
3073
2737
  className: "ph-select max-w-[11rem] !min-h-[2rem] py-1 pl-2.5 pr-8 text-xs sm:max-w-[14rem] sm:text-sm",
@@ -3078,7 +2742,7 @@ function ThemeSwitcher({ className }) {
3078
2742
  persistTheme(next);
3079
2743
  setThemeId(next);
3080
2744
  },
3081
- children: THEME_GROUPS.map((group) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("optgroup", { label: group, children: THEMES.filter((theme) => theme.group === group).map((theme) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("option", { value: theme.id, children: theme.name }, theme.id)) }, group))
2745
+ children: THEME_GROUPS.map((group) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("optgroup", { label: group, children: THEMES.filter((theme) => theme.group === group).map((theme) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("option", { value: theme.id, children: theme.name }, theme.id)) }, group))
3082
2746
  }
3083
2747
  )
3084
2748
  ] });
@@ -3086,7 +2750,7 @@ function ThemeSwitcher({ className }) {
3086
2750
 
3087
2751
  // src/components/ui/Accordion.tsx
3088
2752
  var import_react16 = require("react");
3089
- var import_jsx_runtime31 = require("react/jsx-runtime");
2753
+ var import_jsx_runtime28 = require("react/jsx-runtime");
3090
2754
  function Accordion({
3091
2755
  items,
3092
2756
  allowMultiple = false,
@@ -3108,18 +2772,18 @@ function Accordion({
3108
2772
  return next;
3109
2773
  });
3110
2774
  };
3111
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: cn("divide-y divide-ph-border rounded-xl border border-ph-border bg-ph-surface", className), children: items.map((item) => {
2775
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: cn("divide-y divide-ph-border rounded-xl border border-ph-border bg-ph-surface", className), children: items.map((item) => {
3112
2776
  const isOpen = openItems.has(item.id);
3113
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "first:rounded-t-xl last:rounded-b-xl", children: [
3114
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
2777
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "first:rounded-t-xl last:rounded-b-xl", children: [
2778
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
3115
2779
  "button",
3116
2780
  {
3117
2781
  type: "button",
3118
2782
  onClick: () => toggleItem(item.id),
3119
2783
  className: "flex w-full items-center justify-between px-5 py-4 text-left transition hover:bg-ph-muted",
3120
2784
  children: [
3121
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "font-semibold text-ph-ink", children: item.title }),
3122
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2785
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "font-semibold text-ph-ink", children: item.title }),
2786
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3123
2787
  IconChevronDown,
3124
2788
  {
3125
2789
  className: cn(
@@ -3131,14 +2795,14 @@ function Accordion({
3131
2795
  ]
3132
2796
  }
3133
2797
  ),
3134
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2798
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3135
2799
  "div",
3136
2800
  {
3137
2801
  className: cn(
3138
2802
  "grid transition-all duration-200",
3139
2803
  isOpen ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
3140
2804
  ),
3141
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "px-5 pb-4 text-ph-subtle", children: item.content }) })
2805
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "px-5 pb-4 text-ph-subtle", children: item.content }) })
3142
2806
  }
3143
2807
  )
3144
2808
  ] }, item.id);
@@ -3146,16 +2810,16 @@ function Accordion({
3146
2810
  }
3147
2811
 
3148
2812
  // src/components/ui/Stepper.tsx
3149
- var import_jsx_runtime32 = require("react/jsx-runtime");
2813
+ var import_jsx_runtime29 = require("react/jsx-runtime");
3150
2814
  function Stepper({ steps, currentStep, className }) {
3151
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: cn("flex items-start gap-2", className), children: steps.map((step, index) => {
2815
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: cn("flex items-start gap-2", className), children: steps.map((step, index) => {
3152
2816
  const isCompleted = index < currentStep;
3153
2817
  const isCurrent = index === currentStep;
3154
2818
  const isPending = index > currentStep;
3155
2819
  const isError = step.status === "error";
3156
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-1 items-start gap-2", children: [
3157
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-1 flex-col items-center", children: [
3158
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2820
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex flex-1 items-start gap-2", children: [
2821
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex flex-1 flex-col items-center", children: [
2822
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3159
2823
  "div",
3160
2824
  {
3161
2825
  className: cn(
@@ -3165,11 +2829,11 @@ function Stepper({ steps, currentStep, className }) {
3165
2829
  isCurrent && isError && "bg-ph-danger text-[var(--ph-on-danger)]",
3166
2830
  isPending && "bg-ph-muted text-ph-mutedtext"
3167
2831
  ),
3168
- children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(IconCheck, { className: "h-5 w-5", "aria-hidden": true }) : index + 1
2832
+ children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(IconCheck, { className: "h-5 w-5", "aria-hidden": true }) : index + 1
3169
2833
  }
3170
2834
  ),
3171
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mt-2 text-center", children: [
3172
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2835
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "mt-2 text-center", children: [
2836
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3173
2837
  "p",
3174
2838
  {
3175
2839
  className: cn(
@@ -3180,10 +2844,10 @@ function Stepper({ steps, currentStep, className }) {
3180
2844
  children: step.label
3181
2845
  }
3182
2846
  ),
3183
- step.description && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "mt-0.5 text-xs text-ph-mutedtext", children: step.description })
2847
+ step.description && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "mt-0.5 text-xs text-ph-mutedtext", children: step.description })
3184
2848
  ] })
3185
2849
  ] }),
3186
- index < steps.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2850
+ index < steps.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3187
2851
  "div",
3188
2852
  {
3189
2853
  className: cn(
@@ -3197,16 +2861,16 @@ function Stepper({ steps, currentStep, className }) {
3197
2861
  }
3198
2862
 
3199
2863
  // src/components/ui/SegmentedControl.tsx
3200
- var import_jsx_runtime33 = require("react/jsx-runtime");
2864
+ var import_jsx_runtime30 = require("react/jsx-runtime");
3201
2865
  function SegmentedControl({ options, value, onChange, className }) {
3202
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2866
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3203
2867
  "div",
3204
2868
  {
3205
2869
  className: cn(
3206
2870
  "inline-flex rounded-lg bg-ph-muted p-1",
3207
2871
  className
3208
2872
  ),
3209
- children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
2873
+ children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
3210
2874
  "button",
3211
2875
  {
3212
2876
  type: "button",
@@ -3216,7 +2880,7 @@ function SegmentedControl({ options, value, onChange, className }) {
3216
2880
  value === option.value ? "bg-ph-surface text-ph-ink shadow-ph" : "text-ph-subtle hover:text-ph-ink"
3217
2881
  ),
3218
2882
  children: [
3219
- option.icon && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "h-4 w-4", children: option.icon }),
2883
+ option.icon && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "h-4 w-4", children: option.icon }),
3220
2884
  option.label
3221
2885
  ]
3222
2886
  },
@@ -3228,7 +2892,7 @@ function SegmentedControl({ options, value, onChange, className }) {
3228
2892
 
3229
2893
  // src/components/ui/CommandPalette.tsx
3230
2894
  var import_react17 = require("react");
3231
- var import_jsx_runtime34 = require("react/jsx-runtime");
2895
+ var import_jsx_runtime31 = require("react/jsx-runtime");
3232
2896
  function CommandPalette({
3233
2897
  items,
3234
2898
  isOpen,
@@ -3277,7 +2941,7 @@ function CommandPalette({
3277
2941
  return () => window.removeEventListener("keydown", handleKeyDown);
3278
2942
  }, [isOpen, filtered, selectedIndex, onClose]);
3279
2943
  if (!isOpen) return null;
3280
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "fixed inset-0 z-50 flex items-start justify-center bg-black/40 pt-[20vh] backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2944
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "fixed inset-0 z-50 flex items-start justify-center bg-black/40 pt-[20vh] backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3281
2945
  "div",
3282
2946
  {
3283
2947
  className: cn(
@@ -3285,9 +2949,9 @@ function CommandPalette({
3285
2949
  className
3286
2950
  ),
3287
2951
  children: [
3288
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex items-center gap-3 border-b border-ph-border px-4 py-3", children: [
3289
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(IconSearch, { className: "h-5 w-5 text-ph-mutedtext" }),
3290
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2952
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center gap-3 border-b border-ph-border px-4 py-3", children: [
2953
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(IconSearch, { className: "h-5 w-5 text-ph-mutedtext" }),
2954
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3291
2955
  "input",
3292
2956
  {
3293
2957
  ref: inputRef,
@@ -3301,9 +2965,9 @@ function CommandPalette({
3301
2965
  className: "flex-1 bg-transparent text-ph-ink outline-none placeholder:text-ph-mutedtext"
3302
2966
  }
3303
2967
  ),
3304
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("kbd", { className: "rounded border border-ph-border bg-ph-muted px-1.5 py-0.5 text-xs text-ph-mutedtext", children: "ESC" })
2968
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("kbd", { className: "rounded border border-ph-border bg-ph-muted px-1.5 py-0.5 text-xs text-ph-mutedtext", children: "ESC" })
3305
2969
  ] }),
3306
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "max-h-[50vh] overflow-y-auto py-2", children: filtered.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "px-4 py-8 text-center text-sm text-ph-mutedtext", children: "No results found." }) : filtered.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2970
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "max-h-[50vh] overflow-y-auto py-2", children: filtered.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "px-4 py-8 text-center text-sm text-ph-mutedtext", children: "No results found." }) : filtered.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3307
2971
  "button",
3308
2972
  {
3309
2973
  type: "button",
@@ -3317,9 +2981,9 @@ function CommandPalette({
3317
2981
  index === selectedIndex ? "bg-ph-muted text-ph-ink" : "text-ph-subtle"
3318
2982
  ),
3319
2983
  children: [
3320
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "h-5 w-5", children: item.icon }),
3321
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "flex-1", children: item.label }),
3322
- item.shortcut && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("kbd", { className: "rounded border border-ph-border bg-ph-surface px-1.5 py-0.5 text-xs text-ph-mutedtext", children: item.shortcut })
2984
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "h-5 w-5", children: item.icon }),
2985
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "flex-1", children: item.label }),
2986
+ item.shortcut && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("kbd", { className: "rounded border border-ph-border bg-ph-surface px-1.5 py-0.5 text-xs text-ph-mutedtext", children: item.shortcut })
3323
2987
  ]
3324
2988
  },
3325
2989
  item.id
@@ -3331,7 +2995,7 @@ function CommandPalette({
3331
2995
 
3332
2996
  // src/components/ui/Calendar.tsx
3333
2997
  var import_react18 = require("react");
3334
- var import_jsx_runtime35 = require("react/jsx-runtime");
2998
+ var import_jsx_runtime32 = require("react/jsx-runtime");
3335
2999
  function Calendar({ value, onChange, className }) {
3336
3000
  const [currentMonth, setCurrentMonth] = (0, import_react18.useState)(value || /* @__PURE__ */ new Date());
3337
3001
  const today = /* @__PURE__ */ new Date();
@@ -3373,37 +3037,37 @@ function Calendar({ value, onChange, className }) {
3373
3037
  for (let i = 1; i <= daysInMonth; i++) {
3374
3038
  days.push(i);
3375
3039
  }
3376
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: cn("w-[280px] rounded-xl border border-ph-border bg-ph-surface p-4 shadow-ph", className), children: [
3377
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "mb-4 flex items-center justify-between", children: [
3378
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3040
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: cn("w-[280px] rounded-xl border border-ph-border bg-ph-surface p-4 shadow-ph", className), children: [
3041
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mb-4 flex items-center justify-between", children: [
3042
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3379
3043
  "button",
3380
3044
  {
3381
3045
  type: "button",
3382
3046
  onClick: prevMonth,
3383
3047
  "aria-label": "Previous month",
3384
3048
  className: "rounded-lg p-1 text-ph-subtle transition hover:bg-ph-muted hover:text-ph-ink",
3385
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(IconChevronLeft, { className: "h-5 w-5", "aria-hidden": true })
3049
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(IconChevronLeft, { className: "h-5 w-5", "aria-hidden": true })
3386
3050
  }
3387
3051
  ),
3388
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("span", { className: "text-sm font-semibold text-ph-ink", children: [
3052
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("span", { className: "text-sm font-semibold text-ph-ink", children: [
3389
3053
  monthNames[month],
3390
3054
  " ",
3391
3055
  year
3392
3056
  ] }),
3393
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3057
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3394
3058
  "button",
3395
3059
  {
3396
3060
  type: "button",
3397
3061
  onClick: nextMonth,
3398
3062
  "aria-label": "Next month",
3399
3063
  className: "rounded-lg p-1 text-ph-subtle transition hover:bg-ph-muted hover:text-ph-ink",
3400
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(IconChevronRight, { className: "h-5 w-5", "aria-hidden": true })
3064
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(IconChevronRight, { className: "h-5 w-5", "aria-hidden": true })
3401
3065
  }
3402
3066
  )
3403
3067
  ] }),
3404
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "grid grid-cols-7 gap-1", children: [
3405
- weekDays.map((day) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "py-1 text-center text-xs font-medium text-ph-mutedtext", children: day }, day)),
3406
- days.map((day, index) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "aspect-square", children: day && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3068
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "grid grid-cols-7 gap-1", children: [
3069
+ weekDays.map((day) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "py-1 text-center text-xs font-medium text-ph-mutedtext", children: day }, day)),
3070
+ days.map((day, index) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "aspect-square", children: day && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3407
3071
  "button",
3408
3072
  {
3409
3073
  type: "button",
@@ -3421,10 +3085,10 @@ function Calendar({ value, onChange, className }) {
3421
3085
 
3422
3086
  // src/components/ui/HoverCard.tsx
3423
3087
  var import_react19 = require("react");
3424
- var import_jsx_runtime36 = require("react/jsx-runtime");
3088
+ var import_jsx_runtime33 = require("react/jsx-runtime");
3425
3089
  function HoverCard({ trigger, children, className }) {
3426
3090
  const [isVisible, setIsVisible] = (0, import_react19.useState)(false);
3427
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3091
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3428
3092
  "div",
3429
3093
  {
3430
3094
  className: "relative inline-block",
@@ -3432,7 +3096,7 @@ function HoverCard({ trigger, children, className }) {
3432
3096
  onMouseLeave: () => setIsVisible(false),
3433
3097
  children: [
3434
3098
  trigger,
3435
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3099
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3436
3100
  "div",
3437
3101
  {
3438
3102
  className: cn(
@@ -3441,8 +3105,8 @@ function HoverCard({ trigger, children, className }) {
3441
3105
  className
3442
3106
  ),
3443
3107
  children: [
3444
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "absolute -top-1.5 left-1/2 h-3 w-3 -translate-x-1/2 rotate-45 border-l border-t border-ph-border bg-ph-surface" }),
3445
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "relative", children })
3108
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "absolute -top-1.5 left-1/2 h-3 w-3 -translate-x-1/2 rotate-45 border-l border-t border-ph-border bg-ph-surface" }),
3109
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "relative", children })
3446
3110
  ]
3447
3111
  }
3448
3112
  )
@@ -3454,13 +3118,13 @@ function HoverCard({ trigger, children, className }) {
3454
3118
  // src/components/ui/Tooltip.tsx
3455
3119
  var import_react20 = require("react");
3456
3120
  var import_react_dom = require("react-dom");
3457
- var import_jsx_runtime37 = require("react/jsx-runtime");
3121
+ var import_jsx_runtime34 = require("react/jsx-runtime");
3458
3122
  var TooltipDelayContext = (0, import_react20.createContext)(0);
3459
3123
  function TooltipProvider({
3460
3124
  children,
3461
3125
  delayDuration = 0
3462
3126
  }) {
3463
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TooltipDelayContext.Provider, { value: delayDuration, children });
3127
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(TooltipDelayContext.Provider, { value: delayDuration, children });
3464
3128
  }
3465
3129
  function tooltipPosition(trigger, side, align, offset) {
3466
3130
  const horizontal = align === "start" ? trigger.left : align === "end" ? trigger.right : trigger.left + trigger.width / 2;
@@ -3553,8 +3217,8 @@ function Tooltip({
3553
3217
  (0, import_react20.useEffect)(() => () => clearTimer(), []);
3554
3218
  const describedBy = [children.props["aria-describedby"], tooltipId].filter(Boolean).join(" ");
3555
3219
  const trigger = (0, import_react20.cloneElement)(children, { "aria-describedby": describedBy });
3556
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
3557
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3220
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
3221
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3558
3222
  "span",
3559
3223
  {
3560
3224
  ref: triggerRef,
@@ -3570,12 +3234,12 @@ function Tooltip({
3570
3234
  }
3571
3235
  ),
3572
3236
  isOpen && position && typeof document !== "undefined" ? (0, import_react_dom.createPortal)(
3573
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3237
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3574
3238
  "span",
3575
3239
  {
3576
3240
  style: __spreadValues({ position: "fixed" }, position),
3577
3241
  className: "pointer-events-none z-[200]",
3578
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3242
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3579
3243
  "span",
3580
3244
  {
3581
3245
  id: tooltipId,
@@ -3593,9 +3257,9 @@ function Tooltip({
3593
3257
  }
3594
3258
 
3595
3259
  // src/components/ui/EmptyState.tsx
3596
- var import_jsx_runtime38 = require("react/jsx-runtime");
3260
+ var import_jsx_runtime35 = require("react/jsx-runtime");
3597
3261
  function EmptyState({ icon, title, description, action, className }) {
3598
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3262
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
3599
3263
  "div",
3600
3264
  {
3601
3265
  className: cn(
@@ -3603,17 +3267,17 @@ function EmptyState({ icon, title, description, action, className }) {
3603
3267
  className
3604
3268
  ),
3605
3269
  children: [
3606
- icon && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "mb-4 flex h-14 w-14 items-center justify-center rounded-full bg-ph-muted text-ph-mutedtext", children: icon }),
3607
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("h3", { className: "text-base font-semibold text-ph-ink", children: title }),
3608
- description && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "mt-1 max-w-sm text-sm text-ph-subtle", children: description }),
3609
- action && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "mt-4", children: action })
3270
+ icon && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "mb-4 flex h-14 w-14 items-center justify-center rounded-full bg-ph-muted text-ph-mutedtext", children: icon }),
3271
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("h3", { className: "text-base font-semibold text-ph-ink", children: title }),
3272
+ description && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "mt-1 max-w-sm text-sm text-ph-subtle", children: description }),
3273
+ action && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "mt-4", children: action })
3610
3274
  ]
3611
3275
  }
3612
3276
  );
3613
3277
  }
3614
3278
 
3615
3279
  // src/components/ui/FilterChips.tsx
3616
- var import_jsx_runtime39 = require("react/jsx-runtime");
3280
+ var import_jsx_runtime36 = require("react/jsx-runtime");
3617
3281
  function FilterChips({
3618
3282
  chips,
3619
3283
  onToggle,
@@ -3621,20 +3285,20 @@ function FilterChips({
3621
3285
  className,
3622
3286
  "aria-label": ariaLabel = "Applied filters"
3623
3287
  }) {
3624
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: cn("ph-filter-chips", className), role: "group", "aria-label": ariaLabel, children: chips.map((chip) => {
3288
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: cn("ph-filter-chips", className), role: "group", "aria-label": ariaLabel, children: chips.map((chip) => {
3625
3289
  var _a;
3626
3290
  const label = (_a = chip.removeLabel) != null ? _a : getChipText(chip);
3627
- const content = /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
3628
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "ph-filter-chip__label", children: chip.label }),
3629
- chip.value != null ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "ph-filter-chip__value", children: chip.value }) : null
3291
+ const content = /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
3292
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "ph-filter-chip__label", children: chip.label }),
3293
+ chip.value != null ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "ph-filter-chip__value", children: chip.value }) : null
3630
3294
  ] });
3631
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3295
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3632
3296
  "span",
3633
3297
  {
3634
3298
  className: cn("ph-filter-chip", chip.active && "ph-filter-chip--active"),
3635
3299
  "data-state": chip.active ? "on" : "off",
3636
3300
  children: [
3637
- onToggle ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3301
+ onToggle ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3638
3302
  "button",
3639
3303
  {
3640
3304
  type: "button",
@@ -3643,15 +3307,15 @@ function FilterChips({
3643
3307
  onClick: () => onToggle(chip.id),
3644
3308
  children: content
3645
3309
  }
3646
- ) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "ph-filter-chip__main", children: content }),
3647
- chip.active && onRemove ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3310
+ ) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "ph-filter-chip__main", children: content }),
3311
+ chip.active && onRemove ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3648
3312
  "button",
3649
3313
  {
3650
3314
  type: "button",
3651
3315
  className: "ph-filter-chip__remove",
3652
3316
  "aria-label": `Remove ${label} filter`,
3653
3317
  onClick: () => onRemove(chip.id),
3654
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(IconClose, { className: "h-3 w-3", "aria-hidden": true })
3318
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(IconClose, { className: "h-3 w-3", "aria-hidden": true })
3655
3319
  }
3656
3320
  ) : null
3657
3321
  ]
@@ -3667,7 +3331,7 @@ function getChipText(chip) {
3667
3331
  }
3668
3332
 
3669
3333
  // src/components/ui/FilterBar.tsx
3670
- var import_jsx_runtime40 = require("react/jsx-runtime");
3334
+ var import_jsx_runtime37 = require("react/jsx-runtime");
3671
3335
  function FilterBar(_a) {
3672
3336
  var _b = _a, {
3673
3337
  children,
@@ -3684,12 +3348,12 @@ function FilterBar(_a) {
3684
3348
  "resultCount",
3685
3349
  "className"
3686
3350
  ]);
3687
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-filter-bar", className) }, props), { children: [
3688
- /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "ph-filter-bar__controls", role: "group", "aria-label": label, children: [
3351
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-filter-bar", className) }, props), { children: [
3352
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "ph-filter-bar__controls", role: "group", "aria-label": label, children: [
3689
3353
  children,
3690
- onClear ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("button", { type: "button", className: "ph-filter-bar__clear", onClick: onClear, children: clearLabel }) : null
3354
+ onClear ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("button", { type: "button", className: "ph-filter-bar__clear", onClick: onClear, children: clearLabel }) : null
3691
3355
  ] }),
3692
- resultCount != null ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("output", { className: "ph-filter-bar__results", "aria-live": "polite", children: resultCount }) : null
3356
+ resultCount != null ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("output", { className: "ph-filter-bar__results", "aria-live": "polite", children: resultCount }) : null
3693
3357
  ] }));
3694
3358
  }
3695
3359
  function FilterMenu({
@@ -3706,19 +3370,19 @@ function FilterMenu({
3706
3370
  const selected = options.find((option) => option.value === value);
3707
3371
  const displayValue = (_a = selected == null ? void 0 : selected.label) != null ? _a : placeholder;
3708
3372
  const accessibleValue = selected ? getOptionText(selected) : String(placeholder);
3709
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3373
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3710
3374
  DropdownMenu,
3711
3375
  {
3712
3376
  "aria-label": `${label}: ${accessibleValue}`,
3713
3377
  align,
3714
3378
  disabled,
3715
3379
  className,
3716
- trigger: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("span", { className: cn("ph-filter-menu-trigger", selected && "ph-filter-menu-trigger--active"), children: [
3717
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(IconTuning, { className: "h-3.5 w-3.5", "aria-hidden": true }),
3718
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ph-filter-menu-trigger__label", children: label }),
3719
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ph-filter-menu-trigger__value", children: displayValue })
3380
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("span", { className: cn("ph-filter-menu-trigger", selected && "ph-filter-menu-trigger--active"), children: [
3381
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(IconTuning, { className: "h-3.5 w-3.5", "aria-hidden": true }),
3382
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "ph-filter-menu-trigger__label", children: label }),
3383
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "ph-filter-menu-trigger__value", children: displayValue })
3720
3384
  ] }),
3721
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DropdownRadioGroup, { value, onValueChange, children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3385
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropdownRadioGroup, { value, onValueChange, children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3722
3386
  DropdownRadioItem,
3723
3387
  {
3724
3388
  value: option.value,
@@ -3742,25 +3406,25 @@ function SortMenu({
3742
3406
  className
3743
3407
  }) {
3744
3408
  const selected = options.find((option) => option.value === value);
3745
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3409
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3746
3410
  DropdownMenu,
3747
3411
  {
3748
3412
  "aria-label": `${label}: ${selected ? getOptionText(selected) : "Choose sort order"}`,
3749
3413
  align,
3750
3414
  disabled,
3751
3415
  className,
3752
- trigger: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("span", { className: "ph-filter-menu-trigger ph-sort-menu-trigger", children: [
3753
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3416
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("span", { className: "ph-filter-menu-trigger ph-sort-menu-trigger", children: [
3417
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3754
3418
  IconArrowDown,
3755
3419
  {
3756
3420
  className: cn("h-3.5 w-3.5", direction === "ascending" && "rotate-180"),
3757
3421
  "aria-hidden": true
3758
3422
  }
3759
3423
  ),
3760
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ph-filter-menu-trigger__label", children: label }),
3761
- selected ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ph-filter-menu-trigger__value", children: selected.label }) : null
3424
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "ph-filter-menu-trigger__label", children: label }),
3425
+ selected ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "ph-filter-menu-trigger__value", children: selected.label }) : null
3762
3426
  ] }),
3763
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DropdownRadioGroup, { value, onValueChange, children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3427
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropdownRadioGroup, { value, onValueChange, children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3764
3428
  DropdownRadioItem,
3765
3429
  {
3766
3430
  value: option.value,
@@ -3780,7 +3444,7 @@ function getOptionText(option) {
3780
3444
  }
3781
3445
 
3782
3446
  // src/components/ui/FilterControls.tsx
3783
- var import_jsx_runtime41 = require("react/jsx-runtime");
3447
+ var import_jsx_runtime38 = require("react/jsx-runtime");
3784
3448
  function FilterControls(_a) {
3785
3449
  var _b = _a, {
3786
3450
  children,
@@ -3796,15 +3460,15 @@ function FilterControls(_a) {
3796
3460
  "className"
3797
3461
  ]);
3798
3462
  const hasChips = Boolean(chipsProps == null ? void 0 : chipsProps.chips.length);
3799
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-filter-controls", className) }, props), { children: [
3800
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(FilterBar, __spreadProps(__spreadValues({}, barProps), { children })),
3801
- hasChips && chipsProps ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(FilterChips, __spreadValues({}, chipsProps)) : emptyState != null ? emptyState : null
3463
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-filter-controls", className) }, props), { children: [
3464
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(FilterBar, __spreadProps(__spreadValues({}, barProps), { children })),
3465
+ hasChips && chipsProps ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(FilterChips, __spreadValues({}, chipsProps)) : emptyState != null ? emptyState : null
3802
3466
  ] }));
3803
3467
  }
3804
3468
 
3805
3469
  // src/components/ui/CodeBlock.tsx
3806
3470
  var import_react21 = require("react");
3807
- var import_jsx_runtime42 = require("react/jsx-runtime");
3471
+ var import_jsx_runtime39 = require("react/jsx-runtime");
3808
3472
  function CodeBlock({ code, language = "tsx", filename, className }) {
3809
3473
  const [copied, setCopied] = (0, import_react21.useState)(false);
3810
3474
  const handleCopy = async () => {
@@ -3812,17 +3476,17 @@ function CodeBlock({ code, language = "tsx", filename, className }) {
3812
3476
  setCopied(true);
3813
3477
  setTimeout(() => setCopied(false), 2e3);
3814
3478
  };
3815
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: cn("overflow-hidden rounded-lg border border-ph-border bg-[#1a1a2e]", className), children: [
3816
- (filename || language) && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-center justify-between border-b border-white/10 px-4 py-2", children: [
3817
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-center gap-2", children: [
3818
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex gap-1.5", children: [
3819
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "h-3 w-3 rounded-full bg-red-400" }),
3820
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "h-3 w-3 rounded-full bg-amber-400" }),
3821
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "h-3 w-3 rounded-full bg-emerald-400" })
3479
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: cn("overflow-hidden rounded-lg border border-ph-border bg-[#1a1a2e]", className), children: [
3480
+ (filename || language) && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex items-center justify-between border-b border-white/10 px-4 py-2", children: [
3481
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex items-center gap-2", children: [
3482
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex gap-1.5", children: [
3483
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "h-3 w-3 rounded-full bg-red-400" }),
3484
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "h-3 w-3 rounded-full bg-amber-400" }),
3485
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "h-3 w-3 rounded-full bg-emerald-400" })
3822
3486
  ] }),
3823
- filename && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "ml-2 text-xs text-white/60", children: filename })
3487
+ filename && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "ml-2 text-xs text-white/60", children: filename })
3824
3488
  ] }),
3825
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
3489
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3826
3490
  "button",
3827
3491
  {
3828
3492
  type: "button",
@@ -3832,35 +3496,35 @@ function CodeBlock({ code, language = "tsx", filename, className }) {
3832
3496
  }
3833
3497
  )
3834
3498
  ] }),
3835
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("pre", { className: "overflow-x-auto p-4 text-sm leading-relaxed", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("code", { className: "font-mono text-[#e4e4e7]", children: code }) })
3499
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("pre", { className: "overflow-x-auto p-4 text-sm leading-relaxed", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("code", { className: "font-mono text-[#e4e4e7]", children: code }) })
3836
3500
  ] });
3837
3501
  }
3838
3502
 
3839
3503
  // src/components/ui/ComponentDocs.tsx
3840
- var import_jsx_runtime43 = require("react/jsx-runtime");
3504
+ var import_jsx_runtime40 = require("react/jsx-runtime");
3841
3505
  function ComponentDocs({ title = "Props & variants", rows, defaultOpen = false, className }) {
3842
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("details", { className: cn("ph-panel group overflow-hidden p-0", className), open: defaultOpen, children: [
3843
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("summary", { className: "flex cursor-pointer list-none items-center justify-between gap-4 border-b border-ph-border px-4 py-3 transition hover:bg-ph-muted/60 [&::-webkit-details-marker]:hidden", children: [
3844
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h3", { className: "text-xs font-semibold uppercase tracking-wider text-ph-mutedtext", children: title }),
3845
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("span", { className: "rounded-full border border-ph-border bg-ph-surface px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-ph-mutedtext transition group-open:bg-ph-brand group-open:text-white", children: [
3846
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "group-open:hidden", children: "Show" }),
3847
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "hidden group-open:inline", children: "Hide" })
3506
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("details", { className: cn("ph-panel group overflow-hidden p-0", className), open: defaultOpen, children: [
3507
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("summary", { className: "flex cursor-pointer list-none items-center justify-between gap-4 border-b border-ph-border px-4 py-3 transition hover:bg-ph-muted/60 [&::-webkit-details-marker]:hidden", children: [
3508
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("h3", { className: "text-xs font-semibold uppercase tracking-wider text-ph-mutedtext", children: title }),
3509
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("span", { className: "rounded-full border border-ph-border bg-ph-surface px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-ph-mutedtext transition group-open:bg-ph-brand group-open:text-white", children: [
3510
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "group-open:hidden", children: "Show" }),
3511
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "hidden group-open:inline", children: "Hide" })
3848
3512
  ] })
3849
3513
  ] }),
3850
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "overflow-x-auto border-t border-ph-border", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("table", { className: "w-full text-left text-sm", children: [
3851
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("thead", { className: "bg-ph-muted text-xs uppercase tracking-wider text-ph-mutedtext", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("tr", { children: [
3852
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("th", { className: "px-4 py-2 font-semibold", children: "Prop" }),
3853
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("th", { className: "px-4 py-2 font-semibold", children: "Type" }),
3854
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("th", { className: "px-4 py-2 font-semibold", children: "Default" }),
3855
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("th", { className: "px-4 py-2 font-semibold", children: "Use" })
3514
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "overflow-x-auto border-t border-ph-border", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("table", { className: "w-full text-left text-sm", children: [
3515
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("thead", { className: "bg-ph-muted text-xs uppercase tracking-wider text-ph-mutedtext", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("tr", { children: [
3516
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("th", { className: "px-4 py-2 font-semibold", children: "Prop" }),
3517
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("th", { className: "px-4 py-2 font-semibold", children: "Type" }),
3518
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("th", { className: "px-4 py-2 font-semibold", children: "Default" }),
3519
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("th", { className: "px-4 py-2 font-semibold", children: "Use" })
3856
3520
  ] }) }),
3857
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("tbody", { className: "divide-y divide-ph-border", children: rows.map((row) => {
3858
- var _a;
3859
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("tr", { children: [
3860
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("td", { className: "px-4 py-3 align-top font-mono text-xs text-ph-ink", children: row.name }),
3861
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("td", { className: "px-4 py-3 align-top font-mono text-xs text-ph-subtle", children: row.type }),
3862
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("td", { className: "px-4 py-3 align-top font-mono text-xs text-ph-subtle", children: (_a = row.defaultValue) != null ? _a : "-" }),
3863
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("td", { className: "px-4 py-3 align-top text-ph-subtle", children: row.description })
3521
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("tbody", { className: "divide-y divide-ph-border", children: rows.map((row) => {
3522
+ var _a, _b;
3523
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("tr", { children: [
3524
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("td", { className: "px-4 py-3 align-top font-mono text-xs text-ph-ink", children: row.name }),
3525
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("td", { className: "px-4 py-3 align-top font-mono text-xs text-ph-subtle", children: row.type }),
3526
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("td", { className: "px-4 py-3 align-top font-mono text-xs text-ph-subtle", children: (_a = row.defaultValue) != null ? _a : "-" }),
3527
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("td", { className: "px-4 py-3 align-top text-ph-subtle", children: (_b = row.description) != null ? _b : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "text-ph-mutedtext", children: "\u2014" }) })
3864
3528
  ] }, row.name);
3865
3529
  }) })
3866
3530
  ] }) })
@@ -3869,7 +3533,7 @@ function ComponentDocs({ title = "Props & variants", rows, defaultOpen = false,
3869
3533
 
3870
3534
  // src/components/ui/ShowcaseWrapper.tsx
3871
3535
  var import_react22 = require("react");
3872
- var import_jsx_runtime44 = require("react/jsx-runtime");
3536
+ var import_jsx_runtime41 = require("react/jsx-runtime");
3873
3537
  function ShowcaseWrapper({
3874
3538
  id,
3875
3539
  title,
@@ -3883,11 +3547,11 @@ function ShowcaseWrapper({
3883
3547
  var _a;
3884
3548
  const [showCode, setShowCode] = (0, import_react22.useState)(false);
3885
3549
  const fallbackId = (_a = titleIdMap[title]) != null ? _a : title.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
3886
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("section", { id: id != null ? id : fallbackId, className: cn("scroll-mt-20", className), children: [
3887
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "ph-h2-rule mb-8", children: [
3888
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex items-center gap-1.5", children: [
3889
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("h2", { children: title }),
3890
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
3550
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("section", { id: id != null ? id : fallbackId, className: cn("scroll-mt-20", className), children: [
3551
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "ph-h2-rule mb-8", children: [
3552
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex items-center gap-1.5", children: [
3553
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("h2", { children: title }),
3554
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3891
3555
  "button",
3892
3556
  {
3893
3557
  type: "button",
@@ -3898,15 +3562,15 @@ function ShowcaseWrapper({
3898
3562
  ),
3899
3563
  title: showCode ? "Hide code" : "Show code",
3900
3564
  "aria-label": showCode ? "Hide code" : "Show code",
3901
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(IconCodePreview, { className: "h-5 w-5", "aria-hidden": true })
3565
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(IconCodePreview, { className: "h-5 w-5", "aria-hidden": true })
3902
3566
  }
3903
3567
  )
3904
3568
  ] }),
3905
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("hr", {})
3569
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("hr", {})
3906
3570
  ] }),
3907
- description && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "mb-6 text-sm text-ph-subtle", children: description }),
3908
- docs && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "mb-6", children: docs }),
3909
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
3571
+ description && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "mb-6 text-sm text-ph-subtle", children: description }),
3572
+ docs && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "mb-6", children: docs }),
3573
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
3910
3574
  "div",
3911
3575
  {
3912
3576
  className: cn(
@@ -3914,15 +3578,15 @@ function ShowcaseWrapper({
3914
3578
  showCode ? "lg:grid lg:grid-cols-[1fr,minmax(360px,420px)]" : "block"
3915
3579
  ),
3916
3580
  children: [
3917
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: cn("min-w-0", showCode && "lg:pr-2"), children }),
3918
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
3581
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: cn("min-w-0", showCode && "lg:pr-2"), children }),
3582
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3919
3583
  "div",
3920
3584
  {
3921
3585
  className: cn(
3922
3586
  "transition-all duration-300",
3923
3587
  showCode ? "block opacity-100" : "hidden opacity-0 lg:hidden"
3924
3588
  ),
3925
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "sticky top-20", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(CodeBlock, { code, filename }) })
3589
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "sticky top-20", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(CodeBlock, { code, filename }) })
3926
3590
  }
3927
3591
  )
3928
3592
  ]
@@ -3972,13 +3636,13 @@ var titleIdMap = {
3972
3636
 
3973
3637
  // src/components/ui/CollapsibleSection.tsx
3974
3638
  var import_react23 = require("react");
3975
- var import_jsx_runtime45 = require("react/jsx-runtime");
3639
+ var import_jsx_runtime42 = require("react/jsx-runtime");
3976
3640
  function CollapsibleSection({ title, children, defaultOpen = true, id }) {
3977
3641
  const [isOpen, setIsOpen] = (0, import_react23.useState)(defaultOpen);
3978
3642
  const generatedId = (0, import_react23.useId)();
3979
3643
  const contentId = `${id != null ? id : generatedId}-content`;
3980
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("section", { id, className: "scroll-mt-20", children: [
3981
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
3644
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("section", { id, className: "scroll-mt-20", children: [
3645
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
3982
3646
  "button",
3983
3647
  {
3984
3648
  type: "button",
@@ -3987,8 +3651,8 @@ function CollapsibleSection({ title, children, defaultOpen = true, id }) {
3987
3651
  "aria-controls": contentId,
3988
3652
  className: "mb-6 flex w-full items-center justify-between rounded-lg border border-ph-border bg-ph-muted px-5 py-4 text-left transition hover:bg-ph-muted/80",
3989
3653
  children: [
3990
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "text-lg font-bold text-ph-ink", children: title }),
3991
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3654
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-lg font-bold text-ph-ink", children: title }),
3655
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
3992
3656
  IconChevronDown,
3993
3657
  {
3994
3658
  className: cn(
@@ -4001,7 +3665,7 @@ function CollapsibleSection({ title, children, defaultOpen = true, id }) {
4001
3665
  ]
4002
3666
  }
4003
3667
  ),
4004
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3668
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4005
3669
  "div",
4006
3670
  {
4007
3671
  id: contentId,
@@ -4017,7 +3681,7 @@ function CollapsibleSection({ title, children, defaultOpen = true, id }) {
4017
3681
  }
4018
3682
 
4019
3683
  // src/components/ui/Typography.tsx
4020
- var import_jsx_runtime46 = require("react/jsx-runtime");
3684
+ var import_jsx_runtime43 = require("react/jsx-runtime");
4021
3685
  var toneMap2 = {
4022
3686
  default: "text-ph-ink",
4023
3687
  muted: "text-ph-mutedtext",
@@ -4046,47 +3710,47 @@ function Display({
4046
3710
  truncate,
4047
3711
  className
4048
3712
  }) {
4049
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h1", { className: textClass("text-4xl font-extrabold tracking-tight md:text-5xl", tone, weight, truncate, className), children });
3713
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h1", { className: textClass("text-4xl font-extrabold tracking-tight md:text-5xl", tone, weight, truncate, className), children });
4050
3714
  }
4051
3715
  function H1({ children, tone = "default", weight, truncate, className }) {
4052
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h1", { className: textClass("text-3xl font-bold tracking-tight md:text-4xl", tone, weight, truncate, className), children });
3716
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h1", { className: textClass("text-3xl font-bold tracking-tight md:text-4xl", tone, weight, truncate, className), children });
4053
3717
  }
4054
3718
  function H2({ children, tone = "default", weight, truncate, className }) {
4055
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h2", { className: textClass("text-2xl font-bold tracking-tight", tone, weight, truncate, className), children });
3719
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h2", { className: textClass("text-2xl font-bold tracking-tight", tone, weight, truncate, className), children });
4056
3720
  }
4057
3721
  function H3({ children, tone = "default", weight, truncate, className }) {
4058
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h3", { className: textClass("text-xl font-semibold", tone, weight, truncate, className), children });
3722
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h3", { className: textClass("text-xl font-semibold", tone, weight, truncate, className), children });
4059
3723
  }
4060
3724
  function H4({ children, tone = "default", weight, truncate, className }) {
4061
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h4", { className: textClass("text-lg font-semibold", tone, weight, truncate, className), children });
3725
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h4", { className: textClass("text-lg font-semibold", tone, weight, truncate, className), children });
4062
3726
  }
4063
3727
  function H5({ children, tone = "default", weight, truncate, className }) {
4064
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h5", { className: textClass("text-base font-semibold", tone, weight, truncate, className), children });
3728
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h5", { className: textClass("text-base font-semibold", tone, weight, truncate, className), children });
4065
3729
  }
4066
3730
  function P({ children, tone = "default", weight, truncate, className }) {
4067
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: textClass("text-base leading-relaxed", tone, weight, truncate, className), children });
3731
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: textClass("text-base leading-relaxed", tone, weight, truncate, className), children });
4068
3732
  }
4069
3733
  function Small({ children, tone = "default", weight, truncate, className }) {
4070
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: textClass("text-sm leading-relaxed", tone, weight, truncate, className), children });
3734
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: textClass("text-sm leading-relaxed", tone, weight, truncate, className), children });
4071
3735
  }
4072
3736
  function Caption({ children, tone = "muted", weight, truncate, className }) {
4073
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: textClass("text-[11px] font-medium uppercase tracking-wider", tone, weight, truncate, className), children });
3737
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: textClass("text-[11px] font-medium uppercase tracking-wider", tone, weight, truncate, className), children });
4074
3738
  }
4075
3739
  function Overline({ children, tone = "muted", weight, truncate, className }) {
4076
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: textClass("text-[10px] font-bold uppercase tracking-[0.15em]", tone, weight, truncate, className), children });
3740
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: textClass("text-[10px] font-bold uppercase tracking-[0.15em]", tone, weight, truncate, className), children });
4077
3741
  }
4078
3742
  function Lead({ children, tone = "subtle", weight, truncate, className }) {
4079
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: textClass("text-lg leading-relaxed", tone, weight, truncate, className), children });
3743
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: textClass("text-lg leading-relaxed", tone, weight, truncate, className), children });
4080
3744
  }
4081
3745
  function Mono({ children, tone = "default", weight, truncate, className }) {
4082
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("code", { className: textClass("text-sm font-mono leading-relaxed", tone, weight, truncate, className), children });
3746
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("code", { className: textClass("text-sm font-mono leading-relaxed", tone, weight, truncate, className), children });
4083
3747
  }
4084
3748
  function Label({ children, tone = "default", weight, truncate, className }) {
4085
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("label", { className: textClass("text-sm font-medium", tone, weight, truncate, className), children });
3749
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("label", { className: textClass("text-sm font-medium", tone, weight, truncate, className), children });
4086
3750
  }
4087
3751
 
4088
3752
  // src/components/ui/Avatar.tsx
4089
- var import_jsx_runtime47 = require("react/jsx-runtime");
3753
+ var import_jsx_runtime44 = require("react/jsx-runtime");
4090
3754
  var sizeMap5 = {
4091
3755
  xs: "h-8 w-8 text-[10px]",
4092
3756
  sm: "h-10 w-10 text-xs",
@@ -4118,8 +3782,8 @@ function Avatar(_a) {
4118
3782
  "badge",
4119
3783
  "className"
4120
3784
  ]);
4121
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", __spreadProps(__spreadValues({ className: cn("relative inline-flex shrink-0", className) }, props), { children: [
4122
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3785
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", __spreadProps(__spreadValues({ className: cn("relative inline-flex shrink-0", className) }, props), { children: [
3786
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4123
3787
  "div",
4124
3788
  {
4125
3789
  className: cn(
@@ -4130,7 +3794,7 @@ function Avatar(_a) {
4130
3794
  children: icon || label
4131
3795
  }
4132
3796
  ),
4133
- status && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3797
+ status && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4134
3798
  "span",
4135
3799
  {
4136
3800
  className: cn(
@@ -4139,7 +3803,7 @@ function Avatar(_a) {
4139
3803
  )
4140
3804
  }
4141
3805
  ),
4142
- badge && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "absolute -bottom-1 -right-1 flex min-w-[22px] items-center justify-center rounded-full bg-ph-brand px-1.5 py-px text-[10px] font-bold text-white", children: badge })
3806
+ badge && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "absolute -bottom-1 -right-1 flex min-w-[22px] items-center justify-center rounded-full bg-ph-brand px-1.5 py-px text-[10px] font-bold text-white", children: badge })
4143
3807
  ] }));
4144
3808
  }
4145
3809
  function AvatarGroup(_a) {
@@ -4147,9 +3811,9 @@ function AvatarGroup(_a) {
4147
3811
  const items = Array.isArray(children) ? children : [children];
4148
3812
  const visible = max ? items.slice(0, max) : items;
4149
3813
  const remaining = max ? items.length - max : 0;
4150
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", __spreadProps(__spreadValues({ className: cn("-space-x-3 flex rtl:space-x-reverse", className) }, props), { children: [
3814
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", __spreadProps(__spreadValues({ className: cn("-space-x-3 flex rtl:space-x-reverse", className) }, props), { children: [
4151
3815
  visible,
4152
- remaining > 0 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3816
+ remaining > 0 && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4153
3817
  Avatar,
4154
3818
  {
4155
3819
  label: `+${remaining}`,
@@ -4161,7 +3825,7 @@ function AvatarGroup(_a) {
4161
3825
  }
4162
3826
 
4163
3827
  // src/components/ui/Progress.tsx
4164
- var import_jsx_runtime48 = require("react/jsx-runtime");
3828
+ var import_jsx_runtime45 = require("react/jsx-runtime");
4165
3829
  var sizeMap6 = {
4166
3830
  sm: "h-1",
4167
3831
  md: "h-2",
@@ -4186,15 +3850,15 @@ function Progress(_a) {
4186
3850
  "className"
4187
3851
  ]);
4188
3852
  const percentage = Math.min(100, Math.max(0, value / max * 100));
4189
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", __spreadProps(__spreadValues({ className: cn("w-full", className) }, props), { children: [
4190
- (label || showPercentage) && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "mb-1.5 flex justify-between text-sm text-ph-subtle", children: [
4191
- label && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { children: label }),
4192
- showPercentage && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("span", { className: "tabular-nums", children: [
3853
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", __spreadProps(__spreadValues({ className: cn("w-full", className) }, props), { children: [
3854
+ (label || showPercentage) && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "mb-1.5 flex justify-between text-sm text-ph-subtle", children: [
3855
+ label && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { children: label }),
3856
+ showPercentage && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("span", { className: "tabular-nums", children: [
4193
3857
  Math.round(percentage),
4194
3858
  "%"
4195
3859
  ] })
4196
3860
  ] }),
4197
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: cn("ph-progress", sizeMap6[size]), children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3861
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: cn("ph-progress", sizeMap6[size]), children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4198
3862
  "div",
4199
3863
  {
4200
3864
  className: cn("ph-progress-bar", color),
@@ -4209,7 +3873,7 @@ function Progress(_a) {
4209
3873
  }
4210
3874
 
4211
3875
  // src/components/ui/ChatBubble.tsx
4212
- var import_jsx_runtime49 = require("react/jsx-runtime");
3876
+ var import_jsx_runtime46 = require("react/jsx-runtime");
4213
3877
  function ChatBubble(_a) {
4214
3878
  var _b = _a, {
4215
3879
  children,
@@ -4229,7 +3893,7 @@ function ChatBubble(_a) {
4229
3893
  "className"
4230
3894
  ]);
4231
3895
  const isSelf = variant === "self";
4232
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
3896
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
4233
3897
  "div",
4234
3898
  __spreadProps(__spreadValues({
4235
3899
  className: cn(
@@ -4239,9 +3903,9 @@ function ChatBubble(_a) {
4239
3903
  )
4240
3904
  }, props), {
4241
3905
  children: [
4242
- avatar && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "shrink-0", children: avatar }),
4243
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: cn("min-w-0 flex-1", isSelf && "text-right"), children: [
4244
- (name || time) && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
3906
+ avatar && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "shrink-0", children: avatar }),
3907
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: cn("min-w-0 flex-1", isSelf && "text-right"), children: [
3908
+ (name || time) && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
4245
3909
  "header",
4246
3910
  {
4247
3911
  className: cn(
@@ -4249,12 +3913,12 @@ function ChatBubble(_a) {
4249
3913
  isSelf && "flex-row-reverse justify-end"
4250
3914
  ),
4251
3915
  children: [
4252
- name && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "font-semibold text-ph-ink", children: name }),
4253
- time && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { children: time })
3916
+ name && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "font-semibold text-ph-ink", children: name }),
3917
+ time && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: time })
4254
3918
  ]
4255
3919
  }
4256
3920
  ),
4257
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
3921
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4258
3922
  "div",
4259
3923
  {
4260
3924
  className: cn(
@@ -4264,7 +3928,7 @@ function ChatBubble(_a) {
4264
3928
  children
4265
3929
  }
4266
3930
  ),
4267
- footer && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("footer", { className: "mt-2 text-[11px] text-ph-mutedtext", children: footer })
3931
+ footer && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("footer", { className: "mt-2 text-[11px] text-ph-mutedtext", children: footer })
4268
3932
  ] })
4269
3933
  ]
4270
3934
  })
@@ -4272,7 +3936,7 @@ function ChatBubble(_a) {
4272
3936
  }
4273
3937
 
4274
3938
  // src/components/ui/Terminal.tsx
4275
- var import_jsx_runtime50 = require("react/jsx-runtime");
3939
+ var import_jsx_runtime47 = require("react/jsx-runtime");
4276
3940
  function Terminal(_a) {
4277
3941
  var _b = _a, {
4278
3942
  title = "sandbox",
@@ -4285,7 +3949,7 @@ function Terminal(_a) {
4285
3949
  "children",
4286
3950
  "className"
4287
3951
  ]);
4288
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
3952
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
4289
3953
  "div",
4290
3954
  __spreadProps(__spreadValues({
4291
3955
  className: cn(
@@ -4294,18 +3958,18 @@ function Terminal(_a) {
4294
3958
  )
4295
3959
  }, props), {
4296
3960
  children: [
4297
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("header", { className: "flex items-center gap-2 border-b border-ph-border bg-ph-muted px-4 py-3", children: [
4298
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "h-3 w-3 rounded-full bg-red-400" }),
4299
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "h-3 w-3 rounded-full bg-amber-400" }),
4300
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "h-3 w-3 rounded-full bg-emerald-400" }),
4301
- title && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-xs font-medium text-ph-mutedtext", children: title })
3961
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("header", { className: "flex items-center gap-2 border-b border-ph-border bg-ph-muted px-4 py-3", children: [
3962
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "h-3 w-3 rounded-full bg-red-400" }),
3963
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "h-3 w-3 rounded-full bg-amber-400" }),
3964
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "h-3 w-3 rounded-full bg-emerald-400" }),
3965
+ title && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-xs font-medium text-ph-mutedtext", children: title })
4302
3966
  ] }),
4303
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "ph-code rounded-none border-x-0 border-b-0 text-[13px] leading-relaxed", children: children || /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_jsx_runtime50.Fragment, { children: lines == null ? void 0 : lines.map((line, i) => {
3967
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "ph-code rounded-none border-x-0 border-b-0 text-[13px] leading-relaxed", children: children || /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { children: lines == null ? void 0 : lines.map((line, i) => {
4304
3968
  const text = typeof line === "string" ? line : line.text;
4305
3969
  const color = typeof line === "string" ? void 0 : line.color;
4306
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("span", { children: [
4307
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: color || "text-neutral-600", children: text }),
4308
- i < lines.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("br", {})
3970
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
3971
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: color || "text-neutral-600", children: text }),
3972
+ i < lines.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("br", {})
4309
3973
  ] }, i);
4310
3974
  }) }) })
4311
3975
  ]
@@ -4314,7 +3978,7 @@ function Terminal(_a) {
4314
3978
  }
4315
3979
 
4316
3980
  // src/components/ui/Indicator.tsx
4317
- var import_jsx_runtime51 = require("react/jsx-runtime");
3981
+ var import_jsx_runtime48 = require("react/jsx-runtime");
4318
3982
  var positionMap = {
4319
3983
  "top-right": "-right-[2px] -top-[2px]",
4320
3984
  "top-left": "-left-[2px] -top-[2px]",
@@ -4337,8 +4001,8 @@ function Indicator(_a) {
4337
4001
  "dot",
4338
4002
  "className"
4339
4003
  ]);
4340
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", __spreadProps(__spreadValues({ className: cn("relative inline-flex items-center justify-center", className) }, props), { children: [
4341
- dot ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
4004
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", __spreadProps(__spreadValues({ className: cn("relative inline-flex items-center justify-center", className) }, props), { children: [
4005
+ dot ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4342
4006
  "span",
4343
4007
  {
4344
4008
  className: cn(
@@ -4347,7 +4011,7 @@ function Indicator(_a) {
4347
4011
  positionMap[position]
4348
4012
  )
4349
4013
  }
4350
- ) : badge != null ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
4014
+ ) : badge != null ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4351
4015
  "span",
4352
4016
  {
4353
4017
  className: cn(
@@ -4363,7 +4027,7 @@ function Indicator(_a) {
4363
4027
  }
4364
4028
 
4365
4029
  // src/components/ui/Timeline.tsx
4366
- var import_jsx_runtime52 = require("react/jsx-runtime");
4030
+ var import_jsx_runtime49 = require("react/jsx-runtime");
4367
4031
  function Timeline(_a) {
4368
4032
  var _b = _a, {
4369
4033
  events,
@@ -4374,15 +4038,15 @@ function Timeline(_a) {
4374
4038
  "alternate",
4375
4039
  "className"
4376
4040
  ]);
4377
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
4041
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4378
4042
  "ol",
4379
4043
  __spreadProps(__spreadValues({
4380
4044
  className: cn("relative space-y-8", className)
4381
4045
  }, props), {
4382
4046
  children: events.map((event, idx) => {
4383
4047
  const align = alternate && idx % 2 !== 0 ? "lg:flex-row-reverse" : "";
4384
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("li", { className: cn("relative flex gap-6", align), children: [
4385
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
4048
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("li", { className: cn("relative flex gap-6", align), children: [
4049
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4386
4050
  "div",
4387
4051
  {
4388
4052
  className: cn(
@@ -4392,12 +4056,12 @@ function Timeline(_a) {
4392
4056
  children: event.icon
4393
4057
  }
4394
4058
  ),
4395
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("article", { className: "flex-1 rounded-xl border border-ph-border bg-ph-surface p-4 shadow-ph", children: [
4396
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex flex-wrap items-baseline gap-3", children: [
4397
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("h4", { className: "text-base font-semibold text-ph-ink", children: event.title }),
4398
- event.time && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("time", { className: "text-[11px] font-semibold uppercase tracking-wide text-ph-mutedtext", children: event.time })
4059
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("article", { className: "flex-1 rounded-xl border border-ph-border bg-ph-surface p-4 shadow-ph", children: [
4060
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex flex-wrap items-baseline gap-3", children: [
4061
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h4", { className: "text-base font-semibold text-ph-ink", children: event.title }),
4062
+ event.time && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("time", { className: "text-[11px] font-semibold uppercase tracking-wide text-ph-mutedtext", children: event.time })
4399
4063
  ] }),
4400
- event.description && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "mt-2 text-sm text-ph-subtle", children: event.description })
4064
+ event.description && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "mt-2 text-sm text-ph-subtle", children: event.description })
4401
4065
  ] })
4402
4066
  ] }, event.id);
4403
4067
  })
@@ -4407,7 +4071,7 @@ function Timeline(_a) {
4407
4071
 
4408
4072
  // src/components/ui/Banner.tsx
4409
4073
  var import_react24 = require("react");
4410
- var import_jsx_runtime53 = require("react/jsx-runtime");
4074
+ var import_jsx_runtime50 = require("react/jsx-runtime");
4411
4075
  var typeClass = {
4412
4076
  info: "ph-banner-info",
4413
4077
  success: "ph-banner-success",
@@ -4435,7 +4099,7 @@ var Banner = (0, import_react24.forwardRef)(function Banner2(_a, ref) {
4435
4099
  "className",
4436
4100
  "children"
4437
4101
  ]);
4438
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
4102
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4439
4103
  "div",
4440
4104
  __spreadProps(__spreadValues({
4441
4105
  ref,
@@ -4447,11 +4111,11 @@ var Banner = (0, import_react24.forwardRef)(function Banner2(_a, ref) {
4447
4111
  className
4448
4112
  )
4449
4113
  }, props), {
4450
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "ph-banner__body", children: [
4114
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "ph-banner__body", children: [
4451
4115
  icon,
4452
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "ph-banner__content", children }),
4453
- action && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "ph-banner__action", children: action }),
4454
- onClose && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("button", { type: "button", onClick: onClose, className: "ph-banner__close", "aria-label": "Dismiss", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("path", { d: "M4 4l8 8M12 4l-8 8" }) }) })
4116
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "ph-banner__content", children }),
4117
+ action && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "ph-banner__action", children: action }),
4118
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("button", { type: "button", onClick: onClose, className: "ph-banner__close", "aria-label": "Dismiss", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("path", { d: "M4 4l8 8M12 4l-8 8" }) }) })
4455
4119
  ] })
4456
4120
  })
4457
4121
  );
@@ -4460,7 +4124,7 @@ Banner.displayName = "Banner";
4460
4124
 
4461
4125
  // src/components/ui/Dialog.tsx
4462
4126
  var import_react25 = require("react");
4463
- var import_jsx_runtime54 = require("react/jsx-runtime");
4127
+ var import_jsx_runtime51 = require("react/jsx-runtime");
4464
4128
  function Dialog2(_a) {
4465
4129
  var _b = _a, {
4466
4130
  isOpen: openProp,
@@ -4495,15 +4159,15 @@ function Dialog2(_a) {
4495
4159
  }
4496
4160
  onClose == null ? void 0 : onClose();
4497
4161
  };
4498
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4162
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
4499
4163
  Modal,
4500
4164
  __spreadProps(__spreadValues({
4501
4165
  open: isOpen,
4502
4166
  onClose,
4503
4167
  title,
4504
- footer: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex justify-end gap-2", children: [
4505
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Button, __spreadProps(__spreadValues({ variant: "secondary" }, cancelProps), { onClick: onClose, children: cancelText })),
4506
- onConfirm && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4168
+ footer: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex justify-end gap-2", children: [
4169
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Button, __spreadProps(__spreadValues({ variant: "secondary" }, cancelProps), { onClick: onClose, children: cancelText })),
4170
+ onConfirm && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
4507
4171
  Button,
4508
4172
  __spreadProps(__spreadValues({
4509
4173
  variant: "primary",
@@ -4522,7 +4186,7 @@ function Dialog2(_a) {
4522
4186
  Dialog2.displayName = "Dialog";
4523
4187
 
4524
4188
  // src/components/ui/Divider.tsx
4525
- var import_jsx_runtime55 = require("react/jsx-runtime");
4189
+ var import_jsx_runtime52 = require("react/jsx-runtime");
4526
4190
  function Divider(_a) {
4527
4191
  var _b = _a, {
4528
4192
  vertical = false,
@@ -4537,7 +4201,7 @@ function Divider(_a) {
4537
4201
  "label",
4538
4202
  "className"
4539
4203
  ]);
4540
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
4204
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
4541
4205
  "div",
4542
4206
  __spreadProps(__spreadValues({
4543
4207
  role: "separator",
@@ -4552,7 +4216,7 @@ function Divider(_a) {
4552
4216
  className
4553
4217
  )
4554
4218
  }, props), {
4555
- children: label && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "ph-divider__label", children: label })
4219
+ children: label && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "ph-divider__label", children: label })
4556
4220
  })
4557
4221
  );
4558
4222
  }
@@ -4560,7 +4224,7 @@ Divider.displayName = "Divider";
4560
4224
 
4561
4225
  // src/components/ui/Tag.tsx
4562
4226
  var import_react26 = require("react");
4563
- var import_jsx_runtime56 = require("react/jsx-runtime");
4227
+ var import_jsx_runtime53 = require("react/jsx-runtime");
4564
4228
  var typeClass2 = {
4565
4229
  default: "ph-tag-default",
4566
4230
  primary: "ph-tag-primary",
@@ -4589,7 +4253,7 @@ var Tag = (0, import_react26.forwardRef)(function Tag2(_a, ref) {
4589
4253
  "className",
4590
4254
  "children"
4591
4255
  ]);
4592
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
4256
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
4593
4257
  "div",
4594
4258
  __spreadProps(__spreadValues({
4595
4259
  ref,
@@ -4601,9 +4265,9 @@ var Tag = (0, import_react26.forwardRef)(function Tag2(_a, ref) {
4601
4265
  )
4602
4266
  }, props), {
4603
4267
  children: [
4604
- icon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "ph-tag__icon", children: icon }),
4605
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "ph-tag__text", children }),
4606
- closable && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
4268
+ icon && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "ph-tag__icon", children: icon }),
4269
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "ph-tag__text", children }),
4270
+ closable && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
4607
4271
  "button",
4608
4272
  {
4609
4273
  type: "button",
@@ -4613,7 +4277,7 @@ var Tag = (0, import_react26.forwardRef)(function Tag2(_a, ref) {
4613
4277
  },
4614
4278
  className: "ph-tag__close",
4615
4279
  "aria-label": "Remove",
4616
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("path", { d: "M3 3l6 6M9 3l-6 6" }) })
4280
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("path", { d: "M3 3l6 6M9 3l-6 6" }) })
4617
4281
  }
4618
4282
  )
4619
4283
  ]
@@ -4623,7 +4287,7 @@ var Tag = (0, import_react26.forwardRef)(function Tag2(_a, ref) {
4623
4287
  Tag.displayName = "Tag";
4624
4288
 
4625
4289
  // src/components/ui/ProgressCircle.tsx
4626
- var import_jsx_runtime57 = require("react/jsx-runtime");
4290
+ var import_jsx_runtime54 = require("react/jsx-runtime");
4627
4291
  function ProgressCircle(_a) {
4628
4292
  var _b = _a, {
4629
4293
  progress,
@@ -4642,7 +4306,7 @@ function ProgressCircle(_a) {
4642
4306
  const radius = (size - stroke) / 2;
4643
4307
  const circumference = 2 * Math.PI * radius;
4644
4308
  const offset = circumference - Math.min(1, Math.max(0, progress)) * circumference;
4645
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
4309
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
4646
4310
  "span",
4647
4311
  __spreadProps(__spreadValues({
4648
4312
  className: cn("ph-progress-circle", className),
@@ -4653,8 +4317,8 @@ function ProgressCircle(_a) {
4653
4317
  "aria-valuemax": 100
4654
4318
  }, props), {
4655
4319
  children: [
4656
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("svg", { width: size, height: size, children: [
4657
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4320
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("svg", { width: size, height: size, children: [
4321
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4658
4322
  "circle",
4659
4323
  {
4660
4324
  cx: size / 2,
@@ -4666,7 +4330,7 @@ function ProgressCircle(_a) {
4666
4330
  opacity: 0.15
4667
4331
  }
4668
4332
  ),
4669
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4333
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4670
4334
  "circle",
4671
4335
  {
4672
4336
  cx: size / 2,
@@ -4683,7 +4347,7 @@ function ProgressCircle(_a) {
4683
4347
  }
4684
4348
  )
4685
4349
  ] }),
4686
- children && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "ph-progress-circle__content", children })
4350
+ children && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "ph-progress-circle__content", children })
4687
4351
  ]
4688
4352
  })
4689
4353
  );
@@ -4692,7 +4356,7 @@ ProgressCircle.displayName = "ProgressCircle";
4692
4356
 
4693
4357
  // src/components/ui/Row.tsx
4694
4358
  var import_react27 = require("react");
4695
- var import_jsx_runtime58 = require("react/jsx-runtime");
4359
+ var import_jsx_runtime55 = require("react/jsx-runtime");
4696
4360
  var Row = (0, import_react27.forwardRef)(function Row2(_a, ref) {
4697
4361
  var _b = _a, {
4698
4362
  icon,
@@ -4714,7 +4378,7 @@ var Row = (0, import_react27.forwardRef)(function Row2(_a, ref) {
4714
4378
  "children"
4715
4379
  ]);
4716
4380
  const symbolic = children === null || children === void 0 || children === false;
4717
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
4381
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
4718
4382
  "div",
4719
4383
  __spreadProps(__spreadValues({
4720
4384
  ref,
@@ -4729,10 +4393,10 @@ var Row = (0, import_react27.forwardRef)(function Row2(_a, ref) {
4729
4393
  className
4730
4394
  )
4731
4395
  }, props), {
4732
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "ph-row__main", children: [
4733
- icon && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "ph-row__icon", children: icon }),
4734
- !symbolic && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "ph-row__content", children }),
4735
- sideIcon && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "ph-row__side-icon", children: sideIcon })
4396
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "ph-row__main", children: [
4397
+ icon && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "ph-row__icon", children: icon }),
4398
+ !symbolic && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "ph-row__content", children }),
4399
+ sideIcon && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "ph-row__side-icon", children: sideIcon })
4736
4400
  ] })
4737
4401
  })
4738
4402
  );
@@ -4740,22 +4404,22 @@ var Row = (0, import_react27.forwardRef)(function Row2(_a, ref) {
4740
4404
  Row.displayName = "Row";
4741
4405
 
4742
4406
  // src/components/ui/Widget.tsx
4743
- var import_jsx_runtime59 = require("react/jsx-runtime");
4407
+ var import_jsx_runtime56 = require("react/jsx-runtime");
4744
4408
  function Widget({ title, onClose, actions, children, className }) {
4745
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: cn("ph-widget", className), children: [
4746
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "ph-widget__header", children: [
4747
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "ph-widget__title", children: title }),
4409
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: cn("ph-widget", className), children: [
4410
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "ph-widget__header", children: [
4411
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "ph-widget__title", children: title }),
4748
4412
  actions,
4749
- onClose && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("button", { type: "button", onClick: onClose, className: "ph-widget__close", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("path", { d: "M3 3l8 8M11 3l-8 8" }) }) })
4413
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("button", { type: "button", onClick: onClose, className: "ph-widget__close", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("path", { d: "M3 3l8 8M11 3l-8 8" }) }) })
4750
4414
  ] }),
4751
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "ph-widget__content", children })
4415
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "ph-widget__content", children })
4752
4416
  ] });
4753
4417
  }
4754
4418
  Widget.displayName = "Widget";
4755
4419
 
4756
4420
  // src/components/ui/Lettermark.tsx
4757
4421
  var import_react28 = require("react");
4758
- var import_jsx_runtime60 = require("react/jsx-runtime");
4422
+ var import_jsx_runtime57 = require("react/jsx-runtime");
4759
4423
  var Lettermark = (0, import_react28.forwardRef)(function Lettermark2(_a, ref) {
4760
4424
  var _b = _a, {
4761
4425
  name,
@@ -4773,7 +4437,7 @@ var Lettermark = (0, import_react28.forwardRef)(function Lettermark2(_a, ref) {
4773
4437
  "className"
4774
4438
  ]);
4775
4439
  const letter = name ? typeof name === "number" ? String(Math.floor(name)) : String.fromCodePoint(name.codePointAt(0)).toLocaleUpperCase() : "?";
4776
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
4440
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4777
4441
  "div",
4778
4442
  __spreadProps(__spreadValues({
4779
4443
  ref,
@@ -4795,7 +4459,7 @@ var Lettermark = (0, import_react28.forwardRef)(function Lettermark2(_a, ref) {
4795
4459
  Lettermark.displayName = "Lettermark";
4796
4460
 
4797
4461
  // src/components/ui/Splotch.tsx
4798
- var import_jsx_runtime61 = require("react/jsx-runtime");
4462
+ var import_jsx_runtime58 = require("react/jsx-runtime");
4799
4463
  var colorMap = {
4800
4464
  purple: "ph-splotch--purple",
4801
4465
  blue: "ph-splotch--blue",
@@ -4808,13 +4472,13 @@ var colorMap = {
4808
4472
  };
4809
4473
  function Splotch(_a) {
4810
4474
  var _b = _a, { color, className } = _b, props = __objRest(_b, ["color", "className"]);
4811
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4475
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
4812
4476
  "div",
4813
4477
  __spreadProps(__spreadValues({
4814
4478
  className: cn("ph-splotch", colorMap[color], className),
4815
4479
  "aria-hidden": "true"
4816
4480
  }, props), {
4817
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "ph-splotch__paint" })
4481
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "ph-splotch__paint" })
4818
4482
  })
4819
4483
  );
4820
4484
  }
@@ -4822,7 +4486,7 @@ Splotch.displayName = "Splotch";
4822
4486
 
4823
4487
  // src/components/ui/Popover.tsx
4824
4488
  var import_react29 = require("react");
4825
- var import_jsx_runtime62 = require("react/jsx-runtime");
4489
+ var import_jsx_runtime59 = require("react/jsx-runtime");
4826
4490
  function Popover(_a) {
4827
4491
  var _b = _a, {
4828
4492
  trigger,
@@ -4859,8 +4523,8 @@ function Popover(_a) {
4859
4523
  document.addEventListener("mousedown", handleClick);
4860
4524
  return () => document.removeEventListener("mousedown", handleClick);
4861
4525
  }, [isOpen, setOpen]);
4862
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-popover relative inline-flex", className) }, props), { children: [
4863
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4526
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-popover relative inline-flex", className) }, props), { children: [
4527
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4864
4528
  "div",
4865
4529
  {
4866
4530
  ref: triggerRef,
@@ -4869,7 +4533,7 @@ function Popover(_a) {
4869
4533
  children: trigger
4870
4534
  }
4871
4535
  ),
4872
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4536
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4873
4537
  "div",
4874
4538
  {
4875
4539
  ref: panelRef,
@@ -4888,10 +4552,10 @@ function Popover(_a) {
4888
4552
  Popover.displayName = "Popover";
4889
4553
 
4890
4554
  // src/components/ui/LoadingBar.tsx
4891
- var import_jsx_runtime63 = require("react/jsx-runtime");
4555
+ var import_jsx_runtime60 = require("react/jsx-runtime");
4892
4556
  function LoadingBar(_a) {
4893
4557
  var _b = _a, { active = true, className } = _b, props = __objRest(_b, ["active", "className"]);
4894
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4558
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
4895
4559
  "div",
4896
4560
  __spreadProps(__spreadValues({
4897
4561
  className: cn(
@@ -4902,7 +4566,7 @@ function LoadingBar(_a) {
4902
4566
  role: "progressbar",
4903
4567
  "aria-label": "Loading"
4904
4568
  }, props), {
4905
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "ph-loading-bar__fill" })
4569
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "ph-loading-bar__fill" })
4906
4570
  })
4907
4571
  );
4908
4572
  }
@@ -4910,7 +4574,7 @@ LoadingBar.displayName = "LoadingBar";
4910
4574
 
4911
4575
  // src/components/ui/Link.tsx
4912
4576
  var import_react30 = require("react");
4913
- var import_jsx_runtime64 = require("react/jsx-runtime");
4577
+ var import_jsx_runtime61 = require("react/jsx-runtime");
4914
4578
  var Link = (0, import_react30.forwardRef)(function Link2(_a, ref) {
4915
4579
  var _b = _a, {
4916
4580
  className,
@@ -4921,7 +4585,7 @@ var Link = (0, import_react30.forwardRef)(function Link2(_a, ref) {
4921
4585
  "disabled",
4922
4586
  "children"
4923
4587
  ]);
4924
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4588
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4925
4589
  "a",
4926
4590
  __spreadProps(__spreadValues({
4927
4591
  ref,
@@ -4940,10 +4604,10 @@ var Link = (0, import_react30.forwardRef)(function Link2(_a, ref) {
4940
4604
  Link.displayName = "Link";
4941
4605
 
4942
4606
  // src/components/ui/Spinner.tsx
4943
- var import_jsx_runtime65 = require("react/jsx-runtime");
4607
+ var import_jsx_runtime62 = require("react/jsx-runtime");
4944
4608
  function Spinner(_a) {
4945
4609
  var _b = _a, { size = "sm", textColored = false, className } = _b, props = __objRest(_b, ["size", "textColored", "className"]);
4946
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4610
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4947
4611
  "span",
4948
4612
  __spreadProps(__spreadValues({
4949
4613
  className: cn(
@@ -4955,9 +4619,9 @@ function Spinner(_a) {
4955
4619
  role: "status",
4956
4620
  "aria-label": "Loading"
4957
4621
  }, props), {
4958
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "ph-spinner__svg", children: [
4959
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "3", opacity: 0.2 }),
4960
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("path", { d: "M12 2a10 10 0 0 1 10 10", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round" })
4622
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "ph-spinner__svg", children: [
4623
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "3", opacity: 0.2 }),
4624
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("path", { d: "M12 2a10 10 0 0 1 10 10", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round" })
4961
4625
  ] })
4962
4626
  })
4963
4627
  );
@@ -4966,7 +4630,7 @@ Spinner.displayName = "Spinner";
4966
4630
 
4967
4631
  // src/components/ui/Snack.tsx
4968
4632
  var import_react31 = require("react");
4969
- var import_jsx_runtime66 = require("react/jsx-runtime");
4633
+ var import_jsx_runtime63 = require("react/jsx-runtime");
4970
4634
  var Snack = (0, import_react31.forwardRef)(function Snack2(_a, ref) {
4971
4635
  var _b = _a, {
4972
4636
  type = "regular",
@@ -4981,7 +4645,7 @@ var Snack = (0, import_react31.forwardRef)(function Snack2(_a, ref) {
4981
4645
  "className",
4982
4646
  "children"
4983
4647
  ]);
4984
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
4648
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
4985
4649
  "span",
4986
4650
  __spreadProps(__spreadValues({
4987
4651
  ref,
@@ -4994,8 +4658,8 @@ var Snack = (0, import_react31.forwardRef)(function Snack2(_a, ref) {
4994
4658
  title: typeof children === "string" ? children : void 0
4995
4659
  }, props), {
4996
4660
  children: [
4997
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "ph-snack__text", children }),
4998
- onClose && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4661
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "ph-snack__text", children }),
4662
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4999
4663
  "button",
5000
4664
  {
5001
4665
  type: "button",
@@ -5005,7 +4669,7 @@ var Snack = (0, import_react31.forwardRef)(function Snack2(_a, ref) {
5005
4669
  },
5006
4670
  className: "ph-snack__close",
5007
4671
  "aria-label": "Remove",
5008
- children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("path", { d: "M3 3l6 6M9 3l-6 6" }) })
4672
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("path", { d: "M3 3l6 6M9 3l-6 6" }) })
5009
4673
  }
5010
4674
  )
5011
4675
  ]
@@ -5016,7 +4680,7 @@ Snack.displayName = "Snack";
5016
4680
 
5017
4681
  // src/components/ui/Combobox.tsx
5018
4682
  var import_react32 = require("react");
5019
- var import_jsx_runtime67 = require("react/jsx-runtime");
4683
+ var import_jsx_runtime64 = require("react/jsx-runtime");
5020
4684
  function Combobox({
5021
4685
  options,
5022
4686
  value = [],
@@ -5047,26 +4711,26 @@ function Combobox({
5047
4711
  document.addEventListener("mousedown", handle);
5048
4712
  return () => document.removeEventListener("mousedown", handle);
5049
4713
  }, [open]);
5050
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { ref: containerRef, className: cn("ph-combobox relative", className), children: [
5051
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "ph-combobox__input-wrap", children: [
5052
- value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "ph-combobox__chips", children: value.map((v) => {
4714
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { ref: containerRef, className: cn("ph-combobox relative", className), children: [
4715
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ph-combobox__input-wrap", children: [
4716
+ value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "ph-combobox__chips", children: value.map((v) => {
5053
4717
  var _a, _b;
5054
4718
  const opt = options.find((o) => o.value === v);
5055
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("span", { className: "ph-combobox__chip", children: [
4719
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "ph-combobox__chip", children: [
5056
4720
  (_a = opt == null ? void 0 : opt.label) != null ? _a : v,
5057
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4721
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5058
4722
  "button",
5059
4723
  {
5060
4724
  type: "button",
5061
4725
  onClick: () => toggle(v),
5062
4726
  className: "ph-combobox__chip-remove",
5063
4727
  "aria-label": `Remove ${(_b = opt == null ? void 0 : opt.label) != null ? _b : v}`,
5064
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("path", { d: "M2 2l6 6M8 2l-6 6" }) })
4728
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("path", { d: "M2 2l6 6M8 2l-6 6" }) })
5065
4729
  }
5066
4730
  )
5067
4731
  ] }, v);
5068
4732
  }) }),
5069
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4733
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5070
4734
  "input",
5071
4735
  {
5072
4736
  ref: inputRef,
@@ -5083,7 +4747,7 @@ function Combobox({
5083
4747
  }
5084
4748
  )
5085
4749
  ] }),
5086
- open && filtered.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "ph-combobox__dropdown", children: filtered.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
4750
+ open && filtered.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "ph-combobox__dropdown", children: filtered.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
5087
4751
  "button",
5088
4752
  {
5089
4753
  type: "button",
@@ -5093,8 +4757,8 @@ function Combobox({
5093
4757
  selectedSet.has(opt.value) && "ph-combobox__option--selected"
5094
4758
  ),
5095
4759
  children: [
5096
- selectedSet.has(opt.value) && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("path", { d: "M2.5 6l2.5 2.5 4.5-5" }) }),
5097
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { children: opt.label })
4760
+ selectedSet.has(opt.value) && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("path", { d: "M2.5 6l2.5 2.5 4.5-5" }) }),
4761
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: opt.label })
5098
4762
  ]
5099
4763
  },
5100
4764
  opt.value
@@ -5105,7 +4769,7 @@ Combobox.displayName = "Combobox";
5105
4769
 
5106
4770
  // src/components/ui/Autocomplete.tsx
5107
4771
  var import_react33 = require("react");
5108
- var import_jsx_runtime68 = require("react/jsx-runtime");
4772
+ var import_jsx_runtime65 = require("react/jsx-runtime");
5109
4773
  function Autocomplete(_a) {
5110
4774
  var _b = _a, {
5111
4775
  options,
@@ -5176,8 +4840,8 @@ function Autocomplete(_a) {
5176
4840
  el == null ? void 0 : el.scrollIntoView({ block: "nearest" });
5177
4841
  }
5178
4842
  }, [activeIndex]);
5179
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { ref: containerRef, className: cn("ph-autocomplete relative", className), children: [
5180
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4843
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { ref: containerRef, className: cn("ph-autocomplete relative", className), children: [
4844
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
5181
4845
  "input",
5182
4846
  __spreadValues({
5183
4847
  ref: inputRef,
@@ -5193,7 +4857,7 @@ function Autocomplete(_a) {
5193
4857
  className: "ph-input w-full"
5194
4858
  }, inputProps)
5195
4859
  ),
5196
- open && filtered.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { ref: listRef, className: "ph-autocomplete__dropdown", role: "listbox", children: filtered.map((opt, i) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4860
+ open && filtered.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { ref: listRef, className: "ph-autocomplete__dropdown", role: "listbox", children: filtered.map((opt, i) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
5197
4861
  "button",
5198
4862
  {
5199
4863
  type: "button",
@@ -5215,7 +4879,7 @@ Autocomplete.displayName = "Autocomplete";
5215
4879
 
5216
4880
  // src/components/ui/ContextMenu.tsx
5217
4881
  var import_react34 = require("react");
5218
- var import_jsx_runtime69 = require("react/jsx-runtime");
4882
+ var import_jsx_runtime66 = require("react/jsx-runtime");
5219
4883
  function ContextMenu(_a) {
5220
4884
  var _b = _a, { items, children, className } = _b, props = __objRest(_b, ["items", "children", "className"]);
5221
4885
  const [open, setOpen] = (0, import_react34.useState)(false);
@@ -5238,7 +4902,7 @@ function ContextMenu(_a) {
5238
4902
  document.removeEventListener("keydown", handleKey);
5239
4903
  };
5240
4904
  }, [open]);
5241
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
4905
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
5242
4906
  "div",
5243
4907
  __spreadProps(__spreadValues({
5244
4908
  className: cn("ph-context-menu", className),
@@ -5250,14 +4914,14 @@ function ContextMenu(_a) {
5250
4914
  }, props), {
5251
4915
  children: [
5252
4916
  children,
5253
- open && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4917
+ open && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
5254
4918
  "div",
5255
4919
  {
5256
4920
  ref: menuRef,
5257
4921
  className: "ph-context-menu__panel",
5258
4922
  style: { left: pos.x, top: pos.y },
5259
4923
  children: items.map(
5260
- (item, i) => item.separator ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "ph-context-menu__separator" }, i) : /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
4924
+ (item, i) => item.separator ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "ph-context-menu__separator" }, i) : /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
5261
4925
  "button",
5262
4926
  {
5263
4927
  type: "button",
@@ -5269,8 +4933,8 @@ function ContextMenu(_a) {
5269
4933
  },
5270
4934
  className: "ph-context-menu__item",
5271
4935
  children: [
5272
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "ph-context-menu__icon", children: item.icon }),
5273
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { children: item.label })
4936
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "ph-context-menu__icon", children: item.icon }),
4937
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: item.label })
5274
4938
  ]
5275
4939
  },
5276
4940
  i
@@ -5286,7 +4950,7 @@ ContextMenu.displayName = "ContextMenu";
5286
4950
 
5287
4951
  // src/components/ui/Resizable.tsx
5288
4952
  var import_react35 = require("react");
5289
- var import_jsx_runtime70 = require("react/jsx-runtime");
4953
+ var import_jsx_runtime67 = require("react/jsx-runtime");
5290
4954
  function Resizable(_a) {
5291
4955
  var _b = _a, {
5292
4956
  left,
@@ -5326,22 +4990,22 @@ function Resizable(_a) {
5326
4990
  document.addEventListener("mousemove", handleMove);
5327
4991
  document.addEventListener("mouseup", handleUp);
5328
4992
  }, [leftPercent, minLeftWidth, minRightWidth]);
5329
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
4993
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
5330
4994
  "div",
5331
4995
  __spreadProps(__spreadValues({
5332
4996
  ref: containerRef,
5333
4997
  className: cn("ph-resizable flex overflow-hidden", className)
5334
4998
  }, props), {
5335
4999
  children: [
5336
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "ph-resizable__left overflow-auto", style: { width: `${leftPercent}%` }, children: left }),
5337
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5000
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "ph-resizable__left overflow-auto", style: { width: `${leftPercent}%` }, children: left }),
5001
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5338
5002
  "div",
5339
5003
  {
5340
5004
  className: "ph-resizable__handle cursor-col-resize shrink-0",
5341
5005
  onMouseDown: handleMouseDown
5342
5006
  }
5343
5007
  ),
5344
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "ph-resizable__right flex-1 overflow-auto", children: right })
5008
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "ph-resizable__right flex-1 overflow-auto", children: right })
5345
5009
  ]
5346
5010
  })
5347
5011
  );
@@ -5350,7 +5014,7 @@ Resizable.displayName = "Resizable";
5350
5014
 
5351
5015
  // src/components/ui/ScrollArea.tsx
5352
5016
  var import_react36 = require("react");
5353
- var import_jsx_runtime71 = require("react/jsx-runtime");
5017
+ var import_jsx_runtime68 = require("react/jsx-runtime");
5354
5018
  function ScrollArea(_a) {
5355
5019
  var _b = _a, {
5356
5020
  children,
@@ -5380,7 +5044,7 @@ function ScrollArea(_a) {
5380
5044
  ro.disconnect();
5381
5045
  };
5382
5046
  }, []);
5383
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
5047
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
5384
5048
  "div",
5385
5049
  __spreadProps(__spreadValues({
5386
5050
  className: cn(
@@ -5391,9 +5055,9 @@ function ScrollArea(_a) {
5391
5055
  )
5392
5056
  }, props), {
5393
5057
  children: [
5394
- showTop && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "ph-scroll-area__shadow-top" }),
5395
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { ref: viewportRef, className: "ph-scroll-area__viewport overflow-y-auto overscroll-contain", children }),
5396
- showBottom && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "ph-scroll-area__shadow-bottom" })
5058
+ showTop && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "ph-scroll-area__shadow-top" }),
5059
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { ref: viewportRef, className: "ph-scroll-area__viewport overflow-y-auto overscroll-contain", children }),
5060
+ showBottom && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "ph-scroll-area__shadow-bottom" })
5397
5061
  ]
5398
5062
  })
5399
5063
  );
@@ -5402,7 +5066,7 @@ ScrollArea.displayName = "ScrollArea";
5402
5066
 
5403
5067
  // src/components/ui/NumberField.tsx
5404
5068
  var import_react37 = require("react");
5405
- var import_jsx_runtime72 = require("react/jsx-runtime");
5069
+ var import_jsx_runtime69 = require("react/jsx-runtime");
5406
5070
  function NumberField(_a) {
5407
5071
  var _b = _a, {
5408
5072
  value: controlledValue,
@@ -5432,10 +5096,10 @@ function NumberField(_a) {
5432
5096
  setInternal(clamped);
5433
5097
  onChange == null ? void 0 : onChange(clamped);
5434
5098
  };
5435
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: cn("ph-number-field", className), children: [
5436
- label && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("label", { className: "ph-label", children: label }),
5437
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "ph-number-field__control", children: [
5438
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5099
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: cn("ph-number-field", className), children: [
5100
+ label && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("label", { className: "ph-label", children: label }),
5101
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "ph-number-field__control", children: [
5102
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5439
5103
  "button",
5440
5104
  {
5441
5105
  type: "button",
@@ -5443,10 +5107,10 @@ function NumberField(_a) {
5443
5107
  onClick: () => set(value - step),
5444
5108
  className: "ph-number-field__btn",
5445
5109
  "aria-label": "Decrease",
5446
- children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("svg", { width: "12", height: "2", viewBox: "0 0 12 2", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("rect", { y: "0", width: "12", height: "2", rx: "1" }) })
5110
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("svg", { width: "12", height: "2", viewBox: "0 0 12 2", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("rect", { y: "0", width: "12", height: "2", rx: "1" }) })
5447
5111
  }
5448
5112
  ),
5449
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5113
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5450
5114
  "input",
5451
5115
  __spreadValues({
5452
5116
  type: "number",
@@ -5459,7 +5123,7 @@ function NumberField(_a) {
5459
5123
  className: "ph-number-field__input"
5460
5124
  }, inputProps)
5461
5125
  ),
5462
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5126
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5463
5127
  "button",
5464
5128
  {
5465
5129
  type: "button",
@@ -5467,7 +5131,7 @@ function NumberField(_a) {
5467
5131
  onClick: () => set(value + step),
5468
5132
  className: "ph-number-field__btn",
5469
5133
  "aria-label": "Increase",
5470
- children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M6 2v8M2 6h8" }) })
5134
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("path", { d: "M6 2v8M2 6h8" }) })
5471
5135
  }
5472
5136
  )
5473
5137
  ] })
@@ -5476,24 +5140,24 @@ function NumberField(_a) {
5476
5140
  NumberField.displayName = "NumberField";
5477
5141
 
5478
5142
  // src/components/ui/InputGroup.tsx
5479
- var import_jsx_runtime73 = require("react/jsx-runtime");
5143
+ var import_jsx_runtime70 = require("react/jsx-runtime");
5480
5144
  function InputGroup(_a) {
5481
5145
  var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
5482
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-input-group", className) }, props), { children }));
5146
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-input-group", className) }, props), { children }));
5483
5147
  }
5484
5148
  InputGroup.displayName = "InputGroup";
5485
5149
 
5486
5150
  // src/components/ui/ButtonGroup.tsx
5487
- var import_jsx_runtime74 = require("react/jsx-runtime");
5151
+ var import_jsx_runtime71 = require("react/jsx-runtime");
5488
5152
  function ButtonGroup(_a) {
5489
5153
  var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
5490
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-btn-group", className) }, props), { children }));
5154
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", __spreadProps(__spreadValues({ className: cn("ph-btn-group", className) }, props), { children }));
5491
5155
  }
5492
5156
  ButtonGroup.displayName = "ButtonGroup";
5493
5157
 
5494
5158
  // src/components/ui/Toggle.tsx
5495
5159
  var import_react38 = require("react");
5496
- var import_jsx_runtime75 = require("react/jsx-runtime");
5160
+ var import_jsx_runtime72 = require("react/jsx-runtime");
5497
5161
  var ToggleButton = (0, import_react38.forwardRef)(function ToggleButton2(_a, ref) {
5498
5162
  var _b = _a, {
5499
5163
  pressed = false,
@@ -5508,7 +5172,7 @@ var ToggleButton = (0, import_react38.forwardRef)(function ToggleButton2(_a, ref
5508
5172
  "children",
5509
5173
  "className"
5510
5174
  ]);
5511
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
5175
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
5512
5176
  "button",
5513
5177
  __spreadProps(__spreadValues({
5514
5178
  ref,
@@ -5522,7 +5186,7 @@ var ToggleButton = (0, import_react38.forwardRef)(function ToggleButton2(_a, ref
5522
5186
  )
5523
5187
  }, props), {
5524
5188
  children: [
5525
- icon && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "ph-toggle-btn__icon", children: icon }),
5189
+ icon && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { className: "ph-toggle-btn__icon", children: icon }),
5526
5190
  children
5527
5191
  ]
5528
5192
  })
@@ -5536,13 +5200,13 @@ function ToggleGroup({
5536
5200
  children,
5537
5201
  className
5538
5202
  }) {
5539
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: cn("ph-toggle-group", className), role: "group", children });
5203
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: cn("ph-toggle-group", className), role: "group", children });
5540
5204
  }
5541
5205
  ToggleGroup.displayName = "ToggleGroup";
5542
5206
 
5543
5207
  // src/components/ui/Menubar.tsx
5544
5208
  var import_react39 = require("react");
5545
- var import_jsx_runtime76 = require("react/jsx-runtime");
5209
+ var import_jsx_runtime73 = require("react/jsx-runtime");
5546
5210
  function Menubar(_a) {
5547
5211
  var _b = _a, { items, className } = _b, props = __objRest(_b, ["items", "className"]);
5548
5212
  const [openIndex, setOpenIndex] = (0, import_react39.useState)(-1);
@@ -5557,8 +5221,8 @@ function Menubar(_a) {
5557
5221
  document.addEventListener("mousedown", handle);
5558
5222
  return () => document.removeEventListener("mousedown", handle);
5559
5223
  }, [openIndex]);
5560
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", __spreadProps(__spreadValues({ ref: barRef, className: cn("ph-menubar", className) }, props), { children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "ph-menubar__item", children: [
5561
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5224
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", __spreadProps(__spreadValues({ ref: barRef, className: cn("ph-menubar", className) }, props), { children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "ph-menubar__item", children: [
5225
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5562
5226
  "button",
5563
5227
  {
5564
5228
  type: "button",
@@ -5567,8 +5231,8 @@ function Menubar(_a) {
5567
5231
  children: item.label
5568
5232
  }
5569
5233
  ),
5570
- openIndex === i && item.items && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "ph-menubar__dropdown", children: item.items.map(
5571
- (sub, j) => sub.separator ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "ph-menubar__separator" }, j) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5234
+ openIndex === i && item.items && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "ph-menubar__dropdown", children: item.items.map(
5235
+ (sub, j) => sub.separator ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "ph-menubar__separator" }, j) : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5572
5236
  "button",
5573
5237
  {
5574
5238
  type: "button",
@@ -5590,7 +5254,7 @@ Menubar.displayName = "Menubar";
5590
5254
 
5591
5255
  // src/components/ui/AlertDialog.tsx
5592
5256
  var import_react40 = require("react");
5593
- var import_jsx_runtime77 = require("react/jsx-runtime");
5257
+ var import_jsx_runtime74 = require("react/jsx-runtime");
5594
5258
  function AlertDialog(_a) {
5595
5259
  var _b = _a, {
5596
5260
  isOpen: openProp,
@@ -5625,15 +5289,15 @@ function AlertDialog(_a) {
5625
5289
  }
5626
5290
  onClose == null ? void 0 : onClose();
5627
5291
  };
5628
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
5292
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5629
5293
  Modal,
5630
5294
  __spreadProps(__spreadValues({
5631
5295
  open: isOpen,
5632
5296
  onClose,
5633
5297
  title,
5634
- footer: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex justify-end gap-2", children: [
5635
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Button, __spreadProps(__spreadValues({ variant: "secondary" }, cancelProps), { onClick: onClose, children: cancelText })),
5636
- onConfirm && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Button, __spreadProps(__spreadValues({ variant: "primary", loading }, confirmProps), { onClick: handleConfirm, children: confirmText }))
5298
+ footer: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex justify-end gap-2", children: [
5299
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Button, __spreadProps(__spreadValues({ variant: "secondary" }, cancelProps), { onClick: onClose, children: cancelText })),
5300
+ onConfirm && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Button, __spreadProps(__spreadValues({ variant: "primary", loading }, confirmProps), { onClick: handleConfirm, children: confirmText }))
5637
5301
  ] })
5638
5302
  }, modalProps), {
5639
5303
  children
@@ -5643,7 +5307,7 @@ function AlertDialog(_a) {
5643
5307
  AlertDialog.displayName = "AlertDialog";
5644
5308
 
5645
5309
  // src/components/ui/Dot.tsx
5646
- var import_jsx_runtime78 = require("react/jsx-runtime");
5310
+ var import_jsx_runtime75 = require("react/jsx-runtime");
5647
5311
  var colorMap2 = {
5648
5312
  green: "bg-ph-success",
5649
5313
  yellow: "bg-ph-warning",
@@ -5653,7 +5317,7 @@ var colorMap2 = {
5653
5317
  };
5654
5318
  function Dot(_a) {
5655
5319
  var _b = _a, { color = "gray", size = "md", className } = _b, props = __objRest(_b, ["color", "size", "className"]);
5656
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
5320
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5657
5321
  "span",
5658
5322
  __spreadValues({
5659
5323
  className: cn(
@@ -5670,7 +5334,7 @@ Dot.displayName = "Dot";
5670
5334
 
5671
5335
  // src/components/ui/Collapsible.tsx
5672
5336
  var import_react41 = require("react");
5673
- var import_jsx_runtime79 = require("react/jsx-runtime");
5337
+ var import_jsx_runtime76 = require("react/jsx-runtime");
5674
5338
  function Collapsible(_a) {
5675
5339
  var _b = _a, {
5676
5340
  trigger,
@@ -5688,8 +5352,8 @@ function Collapsible(_a) {
5688
5352
  const [internalOpen, setInternalOpen] = (0, import_react41.useState)(false);
5689
5353
  const isOpen = controlledOpen != null ? controlledOpen : internalOpen;
5690
5354
  const setOpen = onOpenChange != null ? onOpenChange : setInternalOpen;
5691
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-collapsible", className) }, props), { children: [
5692
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
5355
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-collapsible", className) }, props), { children: [
5356
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
5693
5357
  "button",
5694
5358
  {
5695
5359
  type: "button",
@@ -5697,7 +5361,7 @@ function Collapsible(_a) {
5697
5361
  className: "ph-collapsible__trigger",
5698
5362
  "aria-expanded": isOpen,
5699
5363
  children: [
5700
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
5364
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5701
5365
  "svg",
5702
5366
  {
5703
5367
  className: cn("ph-collapsible__chevron", isOpen && "ph-collapsible__chevron--open"),
@@ -5708,20 +5372,20 @@ function Collapsible(_a) {
5708
5372
  stroke: "currentColor",
5709
5373
  strokeWidth: "2",
5710
5374
  strokeLinecap: "round",
5711
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("path", { d: "M4 5l3 3 3-3" })
5375
+ children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("path", { d: "M4 5l3 3 3-3" })
5712
5376
  }
5713
5377
  ),
5714
5378
  trigger
5715
5379
  ]
5716
5380
  }
5717
5381
  ),
5718
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "ph-collapsible__content", children })
5382
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "ph-collapsible__content", children })
5719
5383
  ] }));
5720
5384
  }
5721
5385
  Collapsible.displayName = "Collapsible";
5722
5386
 
5723
5387
  // src/components/ui/Metric.tsx
5724
- var import_jsx_runtime80 = require("react/jsx-runtime");
5388
+ var import_jsx_runtime77 = require("react/jsx-runtime");
5725
5389
  function Metric(_a) {
5726
5390
  var _b = _a, {
5727
5391
  value,
@@ -5738,21 +5402,21 @@ function Metric(_a) {
5738
5402
  "icon",
5739
5403
  "className"
5740
5404
  ]);
5741
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-metric", className) }, props), { children: [
5742
- /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "ph-metric__header", children: [
5743
- icon && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "ph-metric__icon", children: icon }),
5744
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "ph-metric__label", children: label }),
5745
- badge && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "ph-metric__badge", children: badge })
5405
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", __spreadProps(__spreadValues({ className: cn("ph-metric", className) }, props), { children: [
5406
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "ph-metric__header", children: [
5407
+ icon && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "ph-metric__icon", children: icon }),
5408
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "ph-metric__label", children: label }),
5409
+ badge && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "ph-metric__badge", children: badge })
5746
5410
  ] }),
5747
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "ph-metric__value", children: value }),
5748
- trend && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "ph-metric__trend", children: trend })
5411
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "ph-metric__value", children: value }),
5412
+ trend && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "ph-metric__trend", children: trend })
5749
5413
  ] }));
5750
5414
  }
5751
5415
  Metric.displayName = "Metric";
5752
5416
 
5753
5417
  // src/components/ui/Chip.tsx
5754
5418
  var import_react42 = require("react");
5755
- var import_jsx_runtime81 = require("react/jsx-runtime");
5419
+ var import_jsx_runtime78 = require("react/jsx-runtime");
5756
5420
  var Chip = (0, import_react42.forwardRef)(function Chip2(_a, ref) {
5757
5421
  var _b = _a, {
5758
5422
  selected = false,
@@ -5765,7 +5429,7 @@ var Chip = (0, import_react42.forwardRef)(function Chip2(_a, ref) {
5765
5429
  "children",
5766
5430
  "className"
5767
5431
  ]);
5768
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
5432
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
5769
5433
  "button",
5770
5434
  __spreadProps(__spreadValues({
5771
5435
  ref,
@@ -5777,8 +5441,8 @@ var Chip = (0, import_react42.forwardRef)(function Chip2(_a, ref) {
5777
5441
  )
5778
5442
  }, props), {
5779
5443
  children: [
5780
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "ph-chip__text", children }),
5781
- onRemove && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
5444
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "ph-chip__text", children }),
5445
+ onRemove && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
5782
5446
  "span",
5783
5447
  {
5784
5448
  role: "button",
@@ -5789,7 +5453,7 @@ var Chip = (0, import_react42.forwardRef)(function Chip2(_a, ref) {
5789
5453
  },
5790
5454
  className: "ph-chip__remove",
5791
5455
  "aria-label": "Remove",
5792
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("path", { d: "M2 2l6 6M8 2l-6 6" }) })
5456
+ children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("path", { d: "M2 2l6 6M8 2l-6 6" }) })
5793
5457
  }
5794
5458
  )
5795
5459
  ]
@@ -5800,7 +5464,7 @@ Chip.displayName = "Chip";
5800
5464
 
5801
5465
  // src/components/ui/DataTable.tsx
5802
5466
  var import_react43 = require("react");
5803
- var import_jsx_runtime82 = require("react/jsx-runtime");
5467
+ var import_jsx_runtime79 = require("react/jsx-runtime");
5804
5468
  function DataTable({
5805
5469
  columns,
5806
5470
  data,
@@ -5841,8 +5505,8 @@ function DataTable({
5841
5505
  setSortDir("asc");
5842
5506
  }
5843
5507
  };
5844
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: cn("ph-data-table", className), children: [
5845
- searchable && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "ph-data-table__toolbar", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
5508
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: cn("ph-data-table", className), children: [
5509
+ searchable && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "ph-data-table__toolbar", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
5846
5510
  "input",
5847
5511
  {
5848
5512
  type: "text",
@@ -5855,33 +5519,33 @@ function DataTable({
5855
5519
  className: "ph-input ph-input-sm"
5856
5520
  }
5857
5521
  ) }),
5858
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "ph-table-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("table", { className: "ph-table", children: [
5859
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("tr", { children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
5522
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "ph-table-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("table", { className: "ph-table", children: [
5523
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("tr", { children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
5860
5524
  "th",
5861
5525
  {
5862
5526
  className: cn(col.sortable && "cursor-pointer select-none", col.className),
5863
5527
  onClick: () => col.sortable && handleSort(col.key),
5864
5528
  children: [
5865
5529
  col.label,
5866
- sortKey === col.key && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "ml-1 inline-block", children: sortDir === "asc" ? "\u2191" : "\u2193" })
5530
+ sortKey === col.key && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "ml-1 inline-block", children: sortDir === "asc" ? "\u2191" : "\u2193" })
5867
5531
  ]
5868
5532
  },
5869
5533
  col.key
5870
5534
  )) }) }),
5871
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("tbody", { children: [
5872
- paged.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("tr", { children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("td", { className: col.className, children: col.render ? col.render(item) : item[col.key] }, col.key)) }, i)),
5873
- paged.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("td", { colSpan: columns.length, className: "text-center text-ph-mutedtext py-8", children: "No results" }) })
5535
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("tbody", { children: [
5536
+ paged.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("tr", { children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("td", { className: col.className, children: col.render ? col.render(item) : item[col.key] }, col.key)) }, i)),
5537
+ paged.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("td", { colSpan: columns.length, className: "text-center text-ph-mutedtext py-8", children: "No results" }) })
5874
5538
  ] })
5875
5539
  ] }) }),
5876
- totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "ph-data-table__pagination", children: [
5877
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("button", { disabled: page === 0, onClick: () => setPage((p4) => p4 - 1), className: "ph-data-table__page-btn", children: "Previous" }),
5878
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("span", { className: "text-xs text-ph-mutedtext", children: [
5540
+ totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "ph-data-table__pagination", children: [
5541
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("button", { disabled: page === 0, onClick: () => setPage((p) => p - 1), className: "ph-data-table__page-btn", children: "Previous" }),
5542
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { className: "text-xs text-ph-mutedtext", children: [
5879
5543
  "Page ",
5880
5544
  page + 1,
5881
5545
  " of ",
5882
5546
  totalPages
5883
5547
  ] }),
5884
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("button", { disabled: page >= totalPages - 1, onClick: () => setPage((p4) => p4 + 1), className: "ph-data-table__page-btn", children: "Next" })
5548
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("button", { disabled: page >= totalPages - 1, onClick: () => setPage((p) => p + 1), className: "ph-data-table__page-btn", children: "Next" })
5885
5549
  ] })
5886
5550
  ] });
5887
5551
  }
@@ -5889,7 +5553,7 @@ DataTable.displayName = "DataTable";
5889
5553
 
5890
5554
  // src/components/ui/DatePicker.tsx
5891
5555
  var import_react44 = require("react");
5892
- var import_jsx_runtime83 = require("react/jsx-runtime");
5556
+ var import_jsx_runtime80 = require("react/jsx-runtime");
5893
5557
  var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
5894
5558
  var DAYS = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
5895
5559
  function DatePicker(_a) {
@@ -5924,8 +5588,8 @@ function DatePicker(_a) {
5924
5588
  setOpen(false);
5925
5589
  };
5926
5590
  const nav = (delta) => setViewDate(new Date(viewDate.getFullYear(), viewDate.getMonth() + delta, 1));
5927
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: cn("ph-datepicker relative", className), children: [
5928
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5591
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: cn("ph-datepicker relative", className), children: [
5592
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
5929
5593
  "input",
5930
5594
  __spreadValues({
5931
5595
  type: "text",
@@ -5936,19 +5600,19 @@ function DatePicker(_a) {
5936
5600
  className: "ph-input w-full cursor-pointer"
5937
5601
  }, props)
5938
5602
  ),
5939
- open && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "ph-datepicker__dropdown", children: [
5940
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "ph-datepicker__nav", children: [
5941
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("button", { type: "button", onClick: () => nav(-1), className: "ph-datepicker__nav-btn", "aria-label": "Previous month", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("path", { d: "M7 3L4 6l3 3" }) }) }),
5942
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("span", { className: "ph-datepicker__nav-label", children: [
5603
+ open && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "ph-datepicker__dropdown", children: [
5604
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "ph-datepicker__nav", children: [
5605
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("button", { type: "button", onClick: () => nav(-1), className: "ph-datepicker__nav-btn", "aria-label": "Previous month", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("path", { d: "M7 3L4 6l3 3" }) }) }),
5606
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { className: "ph-datepicker__nav-label", children: [
5943
5607
  MONTHS[viewDate.getMonth()],
5944
5608
  " ",
5945
5609
  viewDate.getFullYear()
5946
5610
  ] }),
5947
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("button", { type: "button", onClick: () => nav(1), className: "ph-datepicker__nav-btn", "aria-label": "Next month", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("path", { d: "M5 3l3 3-3 3" }) }) })
5611
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("button", { type: "button", onClick: () => nav(1), className: "ph-datepicker__nav-btn", "aria-label": "Next month", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("path", { d: "M5 3l3 3-3 3" }) }) })
5948
5612
  ] }),
5949
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "ph-datepicker__grid", children: [
5950
- DAYS.map((d) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "ph-datepicker__day-header", children: d }, d)),
5951
- days.map((d, i) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5613
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "ph-datepicker__grid", children: [
5614
+ DAYS.map((d) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "ph-datepicker__day-header", children: d }, d)),
5615
+ days.map((d, i) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
5952
5616
  "button",
5953
5617
  {
5954
5618
  type: "button",
@@ -5970,40 +5634,44 @@ function DatePicker(_a) {
5970
5634
  DatePicker.displayName = "DatePicker";
5971
5635
 
5972
5636
  // src/components/ui/AppLayout.tsx
5973
- var import_jsx_runtime84 = require("react/jsx-runtime");
5637
+ var import_jsx_runtime81 = require("react/jsx-runtime");
5974
5638
  function AppLayout({ sidebar, children, sidebarWidth = 240, className }) {
5975
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
5639
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
5976
5640
  "div",
5977
5641
  {
5978
5642
  className: cn("ph-app-layout grid min-h-screen", className),
5979
5643
  style: { gridTemplateColumns: `${sidebarWidth}px minmax(0, 1fr)` },
5980
5644
  children: [
5981
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("aside", { className: "ph-app-layout__sidebar border-r border-ph-border bg-ph-surface overflow-y-auto", children: sidebar }),
5982
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("main", { className: "ph-app-layout__content min-w-0 overflow-y-auto bg-ph-canvas", children })
5645
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("aside", { className: "ph-app-layout__sidebar border-r border-ph-border bg-ph-surface overflow-y-auto", children: sidebar }),
5646
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("main", { className: "ph-app-layout__content min-w-0 overflow-y-auto bg-ph-canvas", children })
5983
5647
  ]
5984
5648
  }
5985
5649
  );
5986
5650
  }
5987
5651
 
5988
5652
  // src/components/ui/Sidebar.tsx
5989
- var import_jsx_runtime85 = require("react/jsx-runtime");
5990
- function Sidebar({ groups, className, header, footer, collapsed = false, onCollapse }) {
5991
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("nav", { className: cn("ph-sidebar flex flex-col h-full", collapsed && "ph-sidebar--collapsed", className), children: [
5992
- header && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "ph-sidebar__header px-3 py-3 border-b border-ph-border-subtle", children: header }),
5993
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "ph-sidebar__body flex-1 overflow-y-auto px-2 py-3 space-y-5", children: groups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "ph-sidebar__group", children: [
5994
- !collapsed && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("h3", { className: "ph-sidebar__group-label px-2 mb-1 text-[10px] font-semibold uppercase tracking-wider text-ph-mutedtext", children: group.label }),
5995
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "ph-sidebar__items space-y-0.5", children: group.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(SidebarItem, __spreadProps(__spreadValues({}, item), { collapsed }), item.label)) })
5996
- ] }, group.label)) }),
5997
- footer && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "ph-sidebar__footer px-3 py-3 border-t border-ph-border-subtle", children: footer })
5653
+ var import_jsx_runtime82 = require("react/jsx-runtime");
5654
+ function Sidebar({ groups, className, header, footer, children, collapsed = false, onCollapse }) {
5655
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("nav", { className: cn("ph-sidebar flex flex-col h-full", collapsed && "ph-sidebar--collapsed", className), children: [
5656
+ header && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "ph-sidebar__header px-3 py-3 border-b border-ph-border-subtle", children: header }),
5657
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "ph-sidebar__body flex-1 overflow-y-auto px-2 py-3 space-y-5", children: groups.map((group) => {
5658
+ var _a;
5659
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "ph-sidebar__group", children: [
5660
+ group.label && !collapsed && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("h3", { className: "ph-sidebar__group-label px-2 mb-1 text-[10px] font-semibold uppercase tracking-wider text-ph-mutedtext", children: group.label }),
5661
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "ph-sidebar__items space-y-0.5", children: group.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SidebarItem, __spreadProps(__spreadValues({}, item), { collapsed }), item.label)) })
5662
+ ] }, (_a = group.label) != null ? _a : "default");
5663
+ }) }),
5664
+ children,
5665
+ footer && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "ph-sidebar__footer px-3 py-3 border-t border-ph-border-subtle", children: footer })
5998
5666
  ] });
5999
5667
  }
6000
- function SidebarItem({ label, icon, badge, active, onClick, collapsed }) {
5668
+ function SidebarItem({ label, icon, badge, active, href, onClick, collapsed }) {
6001
5669
  const Comp = onClick ? "button" : "a";
6002
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
5670
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
6003
5671
  Comp,
6004
5672
  {
6005
5673
  type: onClick ? "button" : void 0,
6006
- href: onClick ? void 0 : void 0,
5674
+ href: onClick ? void 0 : href,
6007
5675
  onClick,
6008
5676
  className: cn(
6009
5677
  "ph-sidebar__item flex items-center gap-2.5 w-full rounded-md px-2.5 py-2 text-sm text-left transition",
@@ -6012,9 +5680,9 @@ function SidebarItem({ label, icon, badge, active, onClick, collapsed }) {
6012
5680
  ),
6013
5681
  title: collapsed ? label : void 0,
6014
5682
  children: [
6015
- icon && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "ph-sidebar__item-icon shrink-0 w-4 h-4 flex items-center justify-center", children: icon }),
6016
- !collapsed && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "ph-sidebar__item-label truncate flex-1", children: label }),
6017
- !collapsed && badge && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "ph-sidebar__item-badge shrink-0", children: badge })
5683
+ icon && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: cn("ph-sidebar__item-icon shrink-0 flex items-center justify-center", collapsed ? "w-5 h-5" : "w-4 h-4"), children: icon }),
5684
+ !collapsed && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "ph-sidebar__item-label truncate flex-1", children: label }),
5685
+ !collapsed && badge && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "ph-sidebar__item-badge shrink-0", children: badge })
6018
5686
  ]
6019
5687
  }
6020
5688
  );
@@ -6027,7 +5695,7 @@ var import_react47 = require("react");
6027
5695
  // src/lib/hog-charts-lite/CanvasTrendLineChart.tsx
6028
5696
  var import_d3_scale = require("d3-scale");
6029
5697
  var import_react45 = require("react");
6030
- var import_jsx_runtime86 = require("react/jsx-runtime");
5698
+ var import_jsx_runtime83 = require("react/jsx-runtime");
6031
5699
  var HOG_LITE_DEFAULT_MARGINS = { top: 16, right: 16, bottom: 32, left: 48 };
6032
5700
  function resolveDisplayedSeries(series, palette) {
6033
5701
  const visible = series.filter((s) => {
@@ -6324,8 +5992,8 @@ function CanvasTrendLineChart({
6324
5992
  value: s.data[hoverIndex]
6325
5993
  })).filter((row) => typeof row.value === "number" && Number.isFinite(row.value));
6326
5994
  }, [hoverIndex, labels, resolved]);
6327
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { ref: containerRef, className: `relative w-full ${className}`.trim(), children: [
6328
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
5995
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { ref: containerRef, className: `relative w-full ${className}`.trim(), children: [
5996
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
6329
5997
  "canvas",
6330
5998
  {
6331
5999
  ref: canvasRef,
@@ -6335,7 +6003,7 @@ function CanvasTrendLineChart({
6335
6003
  onMouseLeave
6336
6004
  }
6337
6005
  ),
6338
- tooltipRows != null && tooltipRows.length > 0 && hoverIndex != null ? /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
6006
+ tooltipRows != null && tooltipRows.length > 0 && hoverIndex != null ? /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
6339
6007
  "div",
6340
6008
  {
6341
6009
  className: "pointer-events-none absolute z-20 max-w-xs rounded-[var(--ph-radius-app)] border border-ph-border-strong bg-ph-surface px-3 py-2 text-xs shadow-ph-md",
@@ -6344,11 +6012,11 @@ function CanvasTrendLineChart({
6344
6012
  top: 8
6345
6013
  },
6346
6014
  children: [
6347
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: "font-semibold text-ph-ink", children: labels[hoverIndex] }),
6348
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("ul", { className: "mt-1 space-y-0.5 text-ph-mutedtext", children: tooltipRows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("li", { className: "flex items-center gap-2", children: [
6349
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "h-2 w-2 shrink-0 rounded-full", style: { background: row.color } }),
6350
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "min-w-0 truncate", children: row.label }),
6351
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ml-auto tabular-nums text-ph-ink", children: row.value })
6015
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "font-semibold text-ph-ink", children: labels[hoverIndex] }),
6016
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("ul", { className: "mt-1 space-y-0.5 text-ph-mutedtext", children: tooltipRows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("li", { className: "flex items-center gap-2", children: [
6017
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "h-2 w-2 shrink-0 rounded-full", style: { background: row.color } }),
6018
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "min-w-0 truncate", children: row.label }),
6019
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "ml-auto tabular-nums text-ph-ink", children: row.value })
6352
6020
  ] }, row.label)) })
6353
6021
  ]
6354
6022
  }
@@ -6361,7 +6029,10 @@ var import_react46 = require("react");
6361
6029
  var DEFAULT_TOKENS = {
6362
6030
  series: ["#1d4aff", "#621da6", "#42827e", "#ce0e74", "#f14f58", "#529a0a", "#fe729e"],
6363
6031
  muted: "hsl(220 9% 90%)",
6364
- surface: "#ffffff"
6032
+ surface: "#ffffff",
6033
+ textMuted: "hsl(220 9% 46%)",
6034
+ grid: "hsl(220 13% 91%)",
6035
+ borderStrong: "hsl(220 13% 80%)"
6365
6036
  };
6366
6037
  function readTokens() {
6367
6038
  if (typeof document === "undefined") return DEFAULT_TOKENS;
@@ -6378,7 +6049,10 @@ function readTokens() {
6378
6049
  read("--ph-data-7", DEFAULT_TOKENS.series[6])
6379
6050
  ],
6380
6051
  muted: read("--ph-muted", DEFAULT_TOKENS.muted),
6381
- surface: read("--ph-surface", DEFAULT_TOKENS.surface)
6052
+ surface: read("--ph-surface", DEFAULT_TOKENS.surface),
6053
+ textMuted: read("--ph-mutedtext", DEFAULT_TOKENS.textMuted),
6054
+ grid: read("--ph-border", DEFAULT_TOKENS.grid),
6055
+ borderStrong: read("--ph-border-strong", DEFAULT_TOKENS.borderStrong)
6382
6056
  };
6383
6057
  }
6384
6058
  function useChartTokens() {
@@ -6401,7 +6075,7 @@ function buildHogChartTheme(tokens) {
6401
6075
  }
6402
6076
 
6403
6077
  // src/components/charts/quill/TimeSeriesLineChart.tsx
6404
- var import_jsx_runtime87 = require("react/jsx-runtime");
6078
+ var import_jsx_runtime84 = require("react/jsx-runtime");
6405
6079
  function TimeSeriesLineChart({
6406
6080
  series,
6407
6081
  labels,
@@ -6424,12 +6098,12 @@ function TimeSeriesLineChart({
6424
6098
  }),
6425
6099
  [series, tokens.series]
6426
6100
  );
6427
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
6101
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
6428
6102
  "div",
6429
6103
  {
6430
6104
  className: cn("relative w-full", className),
6431
6105
  style: { height, minHeight: 220 },
6432
- children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
6106
+ children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
6433
6107
  CanvasTrendLineChart,
6434
6108
  {
6435
6109
  labels,
@@ -6446,7 +6120,7 @@ function TimeSeriesLineChart({
6446
6120
 
6447
6121
  // src/components/charts/quill/BarChart.tsx
6448
6122
  var import_react48 = require("react");
6449
- var import_jsx_runtime88 = require("react/jsx-runtime");
6123
+ var import_jsx_runtime85 = require("react/jsx-runtime");
6450
6124
  function BarChart({ series, labels, className, height = 280 }) {
6451
6125
  const tokens = useChartTokens();
6452
6126
  const groupCount = labels.length;
@@ -6473,13 +6147,13 @@ function BarChart({ series, labels, className, height = 280 }) {
6473
6147
  const groupW = innerW / groupCount;
6474
6148
  const barW = Math.max(4, groupW * 0.7 / barCount);
6475
6149
  const gap = groupW * 0.15;
6476
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: cn("relative w-full", className), style: { height }, children: /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("svg", { viewBox: `0 0 400 ${height}`, className: "h-full w-full", preserveAspectRatio: "xMidYMid meet", suppressHydrationWarning: true, children: [
6150
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: cn("relative w-full", className), style: { height }, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("svg", { viewBox: `0 0 400 ${height}`, className: "h-full w-full", preserveAspectRatio: "xMidYMid meet", suppressHydrationWarning: true, children: [
6477
6151
  chartData.map(
6478
6152
  (bar, bi) => bar.values.map((v, li) => {
6479
6153
  const x = padding.left + li * groupW + gap / 2 + bi * barW;
6480
6154
  const barH = v / maxVal * (innerH - 4);
6481
6155
  const y = padding.top + innerH - barH;
6482
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
6156
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
6483
6157
  "rect",
6484
6158
  {
6485
6159
  x,
@@ -6488,13 +6162,13 @@ function BarChart({ series, labels, className, height = 280 }) {
6488
6162
  height: barH,
6489
6163
  fill: bar.color,
6490
6164
  rx: 2,
6491
- children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("title", { children: `${bar.label}: ${v}` })
6165
+ children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("title", { children: `${bar.label}: ${v}` })
6492
6166
  },
6493
6167
  `${bi}-${li}`
6494
6168
  );
6495
6169
  })
6496
6170
  ),
6497
- labels.map((l, i) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
6171
+ labels.map((l, i) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
6498
6172
  "text",
6499
6173
  {
6500
6174
  x: padding.left + i * groupW + groupW / 2,
@@ -6511,7 +6185,7 @@ function BarChart({ series, labels, className, height = 280 }) {
6511
6185
 
6512
6186
  // src/components/charts/quill/PieChart.tsx
6513
6187
  var import_react49 = require("react");
6514
- var import_jsx_runtime89 = require("react/jsx-runtime");
6188
+ var import_jsx_runtime86 = require("react/jsx-runtime");
6515
6189
  function PieChart({ slices, className, size = 200 }) {
6516
6190
  const tokens = useChartTokens();
6517
6191
  const { total, segments } = (0, import_react49.useMemo)(() => {
@@ -6542,9 +6216,9 @@ function PieChart({ slices, className, size = 200 }) {
6542
6216
  const describeArc = (start, end) => {
6543
6217
  if (end - start >= 359.9) {
6544
6218
  const p1 = polarToCart(start, r);
6545
- const p22 = polarToCart(start + 179.9, r);
6546
- const p32 = polarToCart(start + 359.9, r);
6547
- return `M${p1.x},${p1.y} A${r},${r} 0 0,1 ${p22.x},${p22.y} A${r},${r} 0 0,1 ${p32.x},${p32.y} Z`;
6219
+ const p2 = polarToCart(start + 179.9, r);
6220
+ const p3 = polarToCart(start + 359.9, r);
6221
+ return `M${p1.x},${p1.y} A${r},${r} 0 0,1 ${p2.x},${p2.y} A${r},${r} 0 0,1 ${p3.x},${p3.y} Z`;
6548
6222
  }
6549
6223
  const s = polarToCart(start, r);
6550
6224
  const e = polarToCart(end, r);
@@ -6553,18 +6227,18 @@ function PieChart({ slices, className, size = 200 }) {
6553
6227
  const large = end - start > 180 ? 1 : 0;
6554
6228
  return `M${s.x},${s.y} A${r},${r} 0 ${large},1 ${e.x},${e.y} L${ei.x},${ei.y} A${ir},${ir} 0 ${large},0 ${si.x},${si.y} Z`;
6555
6229
  };
6556
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: cn("relative", className), style: { width: size, height: size }, children: [
6557
- /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("svg", { viewBox: `0 0 ${size} ${size}`, className: "h-full w-full", suppressHydrationWarning: true, children: [
6558
- segments.map((s) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("path", { d: describeArc(s.startAngle, s.endAngle), fill: s.color, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("title", { children: `${s.label}: ${s.pct.toFixed(1)}%` }) }, s.key)),
6559
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("circle", { cx, cy, r: ir, fill: "var(--ph-surface)" })
6230
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: cn("relative", className), style: { width: size, height: size }, children: [
6231
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("svg", { viewBox: `0 0 ${size} ${size}`, className: "h-full w-full", suppressHydrationWarning: true, children: [
6232
+ segments.map((s) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("path", { d: describeArc(s.startAngle, s.endAngle), fill: s.color, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("title", { children: `${s.label}: ${s.pct.toFixed(1)}%` }) }, s.key)),
6233
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("circle", { cx, cy, r: ir, fill: "var(--ph-surface)" })
6560
6234
  ] }),
6561
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "absolute inset-0 flex items-center justify-center pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "text-lg font-bold text-ph-ink tabular-nums", children: slices.length }) })
6235
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: "absolute inset-0 flex items-center justify-center pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "text-lg font-bold text-ph-ink tabular-nums", children: slices.length }) })
6562
6236
  ] });
6563
6237
  }
6564
6238
 
6565
6239
  // src/components/charts/quill/Sparkline.tsx
6566
6240
  var import_react50 = require("react");
6567
- var import_jsx_runtime90 = require("react/jsx-runtime");
6241
+ var import_jsx_runtime87 = require("react/jsx-runtime");
6568
6242
  function Sparkline({
6569
6243
  data,
6570
6244
  color,
@@ -6588,7 +6262,7 @@ function Sparkline({
6588
6262
  }).join(" ");
6589
6263
  }, [data, width, height]);
6590
6264
  if (data.length < 2) return null;
6591
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
6265
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
6592
6266
  "svg",
6593
6267
  {
6594
6268
  className: cn("shrink-0", className),
@@ -6597,13 +6271,13 @@ function Sparkline({
6597
6271
  viewBox: `0 0 ${width} ${height}`,
6598
6272
  "aria-hidden": true,
6599
6273
  suppressHydrationWarning: true,
6600
- children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("path", { d: path, fill: "none", stroke: resolvedColor, strokeWidth, strokeLinecap: "round", strokeLinejoin: "round" })
6274
+ children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("path", { d: path, fill: "none", stroke: resolvedColor, strokeWidth, strokeLinecap: "round", strokeLinejoin: "round" })
6601
6275
  }
6602
6276
  );
6603
6277
  }
6604
6278
 
6605
6279
  // src/components/charts/quill/MetricCard.tsx
6606
- var import_jsx_runtime91 = require("react/jsx-runtime");
6280
+ var import_jsx_runtime88 = require("react/jsx-runtime");
6607
6281
  function MetricCard({
6608
6282
  value,
6609
6283
  label,
@@ -6613,44 +6287,44 @@ function MetricCard({
6613
6287
  className
6614
6288
  }) {
6615
6289
  var _a;
6616
- return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: cn("ph-metric", className), children: [
6617
- /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "ph-metric__header", children: [
6618
- icon && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("span", { className: "ph-metric__icon", children: icon }),
6619
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("span", { className: "ph-metric__label", children: label }),
6620
- change && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Badge, { variant: ((_a = change.positive) != null ? _a : change.value >= 0) ? "success" : "danger", children: [
6290
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: cn("ph-metric", className), children: [
6291
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: "ph-metric__header", children: [
6292
+ icon && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: "ph-metric__icon", children: icon }),
6293
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: "ph-metric__label", children: label }),
6294
+ change && /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(Badge, { variant: ((_a = change.positive) != null ? _a : change.value >= 0) ? "success" : "danger", children: [
6621
6295
  change.value >= 0 ? "+" : "",
6622
6296
  change.value,
6623
6297
  "%"
6624
6298
  ] })
6625
6299
  ] }),
6626
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "ph-metric__value", children: value }),
6627
- sparklineData && sparklineData.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "mt-2", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Sparkline, { data: sparklineData }) })
6300
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: "ph-metric__value", children: value }),
6301
+ sparklineData && sparklineData.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: "mt-2", children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Sparkline, { data: sparklineData }) })
6628
6302
  ] });
6629
6303
  }
6630
6304
 
6631
6305
  // src/components/charts/quill/FunnelChart.tsx
6632
6306
  var import_react51 = require("react");
6633
- var import_jsx_runtime92 = require("react/jsx-runtime");
6307
+ var import_jsx_runtime89 = require("react/jsx-runtime");
6634
6308
  function FunnelChart({ steps, className }) {
6635
6309
  const tokens = useChartTokens();
6636
6310
  const maxCount = (0, import_react51.useMemo)(() => Math.max(...steps.map((s) => s.count)), [steps]);
6637
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: cn("space-y-2", className), suppressHydrationWarning: true, children: steps.map((step, i) => {
6311
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: cn("space-y-2", className), suppressHydrationWarning: true, children: steps.map((step, i) => {
6638
6312
  const pct = step.count / maxCount * 100;
6639
6313
  const prev = i > 0 ? steps[i - 1].count : step.count;
6640
6314
  const dropoff = prev > 0 ? (prev - step.count) / prev * 100 : 0;
6641
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: "space-y-1", children: [
6642
- /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
6643
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "font-medium text-ph-ink", children: step.label }),
6644
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "tabular-nums text-ph-subtle", children: step.count.toLocaleString() })
6315
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: "space-y-1", children: [
6316
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
6317
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "font-medium text-ph-ink", children: step.label }),
6318
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "tabular-nums text-ph-subtle", children: step.count.toLocaleString() })
6645
6319
  ] }),
6646
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: "relative h-8 overflow-hidden rounded-md", style: { background: tokens.muted }, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6320
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "relative h-8 overflow-hidden rounded-md", style: { background: tokens.muted }, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
6647
6321
  "div",
6648
6322
  {
6649
6323
  className: "h-full rounded-md transition-all duration-500",
6650
6324
  style: { width: `${pct}%`, background: i === 0 ? tokens.series[0] : tokens.series[i % tokens.series.length] }
6651
6325
  }
6652
6326
  ) }),
6653
- i > 0 && dropoff > 0 && /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("p", { className: "text-xs text-ph-danger", children: [
6327
+ i > 0 && dropoff > 0 && /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("p", { className: "text-xs text-ph-danger", children: [
6654
6328
  "-",
6655
6329
  dropoff.toFixed(1),
6656
6330
  "% dropoff"
@@ -6719,216 +6393,84 @@ function FunnelChart({ steps, className }) {
6719
6393
  H5,
6720
6394
  HoverCard,
6721
6395
  Icon,
6722
- Icon123,
6723
- IconAI,
6724
- IconAction,
6725
6396
  IconActivity,
6726
- IconAdsClick,
6727
- IconAndroidOS,
6728
- IconAppleIOS,
6729
- IconArchive,
6730
6397
  IconAreaChart,
6731
6398
  IconArrowDown,
6732
6399
  IconArrowUp,
6733
- IconAtSign,
6734
- IconBadge,
6735
6400
  IconBase,
6736
6401
  IconBell,
6737
6402
  IconBellOff,
6738
- IconBinary,
6739
- IconBlank,
6740
- IconBold,
6741
6403
  IconBolt,
6742
- IconBook,
6743
- IconBookmarkBorder,
6744
6404
  IconBox,
6745
- IconBranch,
6746
- IconBug,
6747
6405
  IconByName,
6748
- IconCalculate,
6749
- IconCalendar,
6750
- IconCalendarDay,
6751
6406
  IconCancel,
6752
- IconCart,
6753
- IconChat,
6754
6407
  IconCheck,
6755
6408
  IconCheckCircle,
6756
- IconCheckboxChecked,
6757
6409
  IconChevronDown,
6758
6410
  IconChevronLeft,
6759
6411
  IconChevronRight,
6760
- IconChrome,
6761
6412
  IconClipboardEdit,
6762
- IconClock,
6763
6413
  IconClose,
6764
- IconCloud,
6765
6414
  IconCodePreview,
6766
- IconCoffee,
6767
6415
  IconCohort,
6768
6416
  IconCommandCursor,
6769
- IconConfetti,
6770
6417
  IconCopy,
6771
- IconCrown,
6772
6418
  IconCumulativeChart,
6773
6419
  IconDataReel,
6774
6420
  IconDatabase,
6775
- IconDevices,
6776
- IconDocument,
6777
6421
  IconDownload,
6778
- IconDownloadCloud,
6779
- IconDragHandle,
6780
6422
  IconEdit,
6781
6423
  IconErrorOutline,
6782
- IconEvent,
6783
6424
  IconEventStream,
6784
6425
  IconExclamation,
6785
6426
  IconExperimentSplit,
6786
- IconExternalLink,
6787
- IconEye,
6788
- IconEyeHidden,
6789
- IconFacebook,
6790
6427
  IconFeatureGate,
6791
- IconFeedback,
6792
- IconFile,
6793
- IconFilter,
6794
- IconFingerprint,
6795
- IconFirefox,
6796
6428
  IconFlag,
6797
6429
  IconFlare,
6798
6430
  IconFlask,
6799
- IconFolder,
6800
- IconForward,
6801
- IconFullScreen,
6802
- IconFunnelHorizontal,
6803
- IconFunnelVertical,
6804
- IconGear,
6805
- IconGhost,
6806
6431
  IconGift,
6807
- IconGitlab,
6808
- IconGlobe,
6809
- IconGoogle,
6810
6432
  IconGridView,
6811
- IconGroupedEvents,
6812
- IconGroups,
6813
6433
  IconHandClick,
6814
- IconHash,
6815
- IconHeadphones,
6816
- IconHeart,
6817
- IconHeatmap,
6818
6434
  IconHome,
6819
- IconHomeFilled,
6820
- IconHourglass,
6821
- IconImage,
6822
- IconInbox,
6823
6435
  IconInfo,
6824
- IconInfoFilled,
6825
6436
  IconInsightBoard,
6826
- IconItalic,
6827
- IconKey,
6828
- IconKeyFilled,
6829
- IconLaptop,
6830
6437
  IconLayers,
6831
- IconLayout,
6832
- IconLifeBuoy,
6833
- IconLightBulb,
6834
- IconLink,
6835
- IconLinkBreak,
6836
- IconLinux,
6837
6438
  IconListView,
6838
- IconLocation,
6839
- IconLock,
6840
6439
  IconLogout,
6841
- IconMacOS,
6842
6440
  IconMail,
6843
- IconMap,
6844
- IconMapPin,
6845
- IconMaximize,
6846
- IconMegaphone,
6847
- IconMenu,
6848
- IconMic,
6849
- IconMicrosoftTeams,
6850
- IconMinimize,
6851
- IconMinus,
6852
- IconMonitor,
6853
6441
  IconMoon,
6854
- IconMoonFilled,
6855
- IconMoreHorizontal,
6856
- IconMoreVertical,
6857
- IconMusic,
6858
- IconNavigation,
6859
- IconNodeJS,
6860
- IconOffline,
6861
6442
  IconOldWindow,
6862
- IconOpenInApp,
6863
- IconOpenInNew,
6864
- IconPalette,
6865
6443
  IconPanelRight,
6866
- IconPaperclip,
6867
- IconPauseCircle,
6868
- IconPeople,
6869
- IconPercent,
6870
6444
  IconPerson,
6871
- IconPhone,
6872
- IconPin,
6873
6445
  IconPlayCircle,
6874
6446
  IconPlus,
6875
6447
  IconPremium,
6876
- IconPreview,
6877
- IconPrinter,
6878
6448
  IconQueryEditor,
6879
6449
  IconQueryStack,
6880
- IconQuestionAnswer,
6881
6450
  IconRadar,
6882
- IconRadioButtonUnchecked,
6883
6451
  IconRecording,
6884
- IconRedo,
6885
- IconRefresh,
6886
- IconReplay,
6887
6452
  IconReplayFrame,
6888
- IconReply,
6889
- IconReport,
6890
6453
  IconRobot,
6891
6454
  IconRocket,
6892
- IconSafari,
6893
6455
  IconSave,
6894
6456
  IconSearch,
6895
- IconSelectAll,
6896
6457
  IconSelectEvents,
6897
6458
  IconShoppingCart,
6898
- IconSkipBackward,
6899
- IconSkipEnd,
6900
- IconSkipStart,
6901
- IconSlack,
6902
- IconSlackExternal,
6903
6459
  IconSpinner,
6904
- IconStamphog,
6905
6460
  IconStar,
6906
- IconStore,
6907
6461
  IconSubArrowRight,
6908
- IconSubtitles,
6909
- IconSubtitlesOff,
6910
6462
  IconSun,
6911
6463
  IconSurveyCard,
6912
6464
  IconSurveys,
6913
- IconSwapHoriz,
6914
6465
  IconSync,
6915
6466
  IconTableChart,
6916
6467
  IconTerminal,
6917
- IconTextSize,
6918
6468
  IconToggle,
6919
6469
  IconTrash,
6920
- IconTrendingDown,
6921
- IconTrendingFlat,
6922
- IconTrendingFlatDown,
6923
6470
  IconTuning,
6924
- IconUnverifiedEvent,
6925
6471
  IconUpload,
6926
- IconVerifiedEvent,
6927
- IconVerticalAlignCenter,
6928
6472
  IconVolume,
6929
6473
  IconVolumeOff,
6930
- IconWeb,
6931
- IconWindows,
6932
6474
  Indicator,
6933
6475
  Input,
6934
6476
  InputGroup,