@devalok/shilp-sutra 0.48.0 → 0.49.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/BREAKING.json +32 -0
  2. package/MIGRATION.md +891 -881
  3. package/dist/_chunks/badge-group.js +52 -65
  4. package/dist/_chunks/badge-group.js.map +1 -1
  5. package/dist/_chunks/block-shell.js +1 -1
  6. package/dist/_chunks/chart-container.js +1 -1
  7. package/dist/_chunks/chat.js +4 -4
  8. package/dist/_chunks/chat.js.map +1 -1
  9. package/dist/_chunks/colors.js +2 -2
  10. package/dist/_chunks/document-preview.js +4 -4
  11. package/dist/_chunks/emoji-suggestion.js +5 -5
  12. package/dist/_chunks/emoji-suggestion.js.map +1 -1
  13. package/dist/_chunks/emoji.js +1 -1
  14. package/dist/_chunks/field-state.js +8 -0
  15. package/dist/_chunks/field-state.js.map +1 -0
  16. package/dist/_chunks/grid-lines.js +1 -1
  17. package/dist/_chunks/image-preview.js +7 -7
  18. package/dist/_chunks/keybinding.js +1 -1
  19. package/dist/_chunks/link-context.js +1 -1
  20. package/dist/_chunks/mention-suggestion.js +2 -2
  21. package/dist/_chunks/mention.js +1 -1
  22. package/dist/_chunks/motion-provider.js +1 -1
  23. package/dist/_chunks/normalize-icon.js +1 -1
  24. package/dist/_chunks/oauth-button.js +2 -2
  25. package/dist/_chunks/popover.js +55 -52
  26. package/dist/_chunks/popover.js.map +1 -1
  27. package/dist/_chunks/primitives.js +155 -155
  28. package/dist/_chunks/primitives.js.map +1 -1
  29. package/dist/_chunks/shared.js +5 -5
  30. package/dist/_chunks/success.js +4 -4
  31. package/dist/_chunks/tiptap.js +8 -8
  32. package/dist/_chunks/tooltip.js +1 -1
  33. package/dist/_chunks/tree-view.js +2 -2
  34. package/dist/_chunks/use-calendar.js +2 -2
  35. package/dist/_chunks/use-calendar.js.map +1 -1
  36. package/dist/_chunks/use-controllable-open.js +15 -0
  37. package/dist/_chunks/use-controllable-open.js.map +1 -0
  38. package/dist/_chunks/vendor-client.js +1 -1
  39. package/dist/_chunks/vendor-utils.js +1 -1
  40. package/dist/ai/block-renderer.js +7 -7
  41. package/dist/ai/blocks/error.js +1 -1
  42. package/dist/ai/blocks/index.js +2 -2
  43. package/dist/ai/blocks/text.js +1 -1
  44. package/dist/ai/command-bar.js +6 -6
  45. package/dist/ai/conversation.js +2 -2
  46. package/dist/ai/index.js +3 -3
  47. package/dist/composed/avatar-group.js +1 -1
  48. package/dist/composed/bulk-action-bar.js +1 -1
  49. package/dist/composed/command-palette.js +9 -9
  50. package/dist/composed/command-palette.js.map +1 -1
  51. package/dist/composed/confirm-dialog.js +3 -3
  52. package/dist/composed/confirm-dialog.js.map +1 -1
  53. package/dist/composed/content-card.js +1 -1
  54. package/dist/composed/date-picker/index.js +13 -13
  55. package/dist/composed/date-picker/index.js.map +1 -1
  56. package/dist/composed/emoji-picker.js +4 -4
  57. package/dist/composed/empty-state.js +1 -1
  58. package/dist/composed/error-boundary.js +1 -1
  59. package/dist/composed/error-boundary.js.map +1 -1
  60. package/dist/composed/extensions/emoji-node.js +1 -1
  61. package/dist/composed/extensions/emoji-suggestion.js +1 -1
  62. package/dist/composed/file-preview.js +14 -14
  63. package/dist/composed/filter-bar.js +1 -1
  64. package/dist/composed/index.d.ts +3 -1
  65. package/dist/composed/index.d.ts.map +1 -1
  66. package/dist/composed/index.js +4 -3
  67. package/dist/composed/loading-skeleton.js +15 -15
  68. package/dist/composed/loading-skeleton.js.map +1 -1
  69. package/dist/composed/multi-select-popover.js +3 -3
  70. package/dist/composed/page-header.d.ts.map +1 -1
  71. package/dist/composed/page-header.js +32 -45
  72. package/dist/composed/page-header.js.map +1 -1
  73. package/dist/composed/page-skeletons.js +19 -19
  74. package/dist/composed/page-skeletons.js.map +1 -1
  75. package/dist/composed/priority-indicator.js +1 -1
  76. package/dist/composed/responsive-modal.d.ts +39 -0
  77. package/dist/composed/responsive-modal.d.ts.map +1 -0
  78. package/dist/composed/responsive-modal.js +212 -0
  79. package/dist/composed/responsive-modal.js.map +1 -0
  80. package/dist/composed/rich-chat-input.js +445 -445
  81. package/dist/composed/rich-chat-input.js.map +1 -1
  82. package/dist/composed/rich-text-editor.js +29 -29
  83. package/dist/composed/rich-text-editor.js.map +1 -1
  84. package/dist/composed/schedule-view.d.ts +1 -1
  85. package/dist/composed/schedule-view.d.ts.map +1 -1
  86. package/dist/composed/schedule-view.js +48 -54
  87. package/dist/composed/schedule-view.js.map +1 -1
  88. package/dist/composed/status-badge.d.ts +13 -11
  89. package/dist/composed/status-badge.d.ts.map +1 -1
  90. package/dist/composed/status-badge.js +54 -130
  91. package/dist/composed/status-badge.js.map +1 -1
  92. package/dist/motion/index.js +2 -2
  93. package/dist/shell/bottom-navbar.js +3 -3
  94. package/dist/shell/bottom-navbar.js.map +1 -1
  95. package/dist/shell/index.js +2 -2
  96. package/dist/shell/link-context.js +2 -2
  97. package/dist/shell/notification-center.js +3 -3
  98. package/dist/shell/sidebar.js +2 -2
  99. package/dist/shell/top-bar.js +2 -2
  100. package/dist/shell/top-bar.js.map +1 -1
  101. package/dist/tokens/semantic.css +8 -1
  102. package/dist/ui/accordion.js +11 -11
  103. package/dist/ui/alert-dialog.js +34 -34
  104. package/dist/ui/alert.js +1 -1
  105. package/dist/ui/aspect-ratio.js +1 -1
  106. package/dist/ui/autocomplete.js +7 -7
  107. package/dist/ui/avatar.d.ts.map +1 -1
  108. package/dist/ui/avatar.js +84 -79
  109. package/dist/ui/avatar.js.map +1 -1
  110. package/dist/ui/badge-group.js +1 -1
  111. package/dist/ui/badge.d.ts.map +1 -1
  112. package/dist/ui/badge.js +1 -1
  113. package/dist/ui/banner.js +1 -1
  114. package/dist/ui/breadcrumb.d.ts +0 -1
  115. package/dist/ui/breadcrumb.d.ts.map +1 -1
  116. package/dist/ui/breadcrumb.js +58 -35
  117. package/dist/ui/breadcrumb.js.map +1 -1
  118. package/dist/ui/button.js +3 -3
  119. package/dist/ui/card.js +1 -1
  120. package/dist/ui/charts/area-chart.js +6 -6
  121. package/dist/ui/charts/bar-chart.js +6 -6
  122. package/dist/ui/charts/chart-container.js +1 -1
  123. package/dist/ui/charts/gauge-chart.js +2 -2
  124. package/dist/ui/charts/index.js +2 -2
  125. package/dist/ui/charts/line-chart.js +6 -6
  126. package/dist/ui/charts/pie-chart.js +5 -5
  127. package/dist/ui/charts/radar-chart.js +5 -5
  128. package/dist/ui/charts/sparkline.js +2 -2
  129. package/dist/ui/chat/index.js +2 -2
  130. package/dist/ui/checkbox.d.ts +4 -2
  131. package/dist/ui/checkbox.d.ts.map +1 -1
  132. package/dist/ui/checkbox.js +33 -28
  133. package/dist/ui/checkbox.js.map +1 -1
  134. package/dist/ui/collapsible.js +5 -5
  135. package/dist/ui/color-input.js +4 -4
  136. package/dist/ui/combobox.d.ts +3 -0
  137. package/dist/ui/combobox.d.ts.map +1 -1
  138. package/dist/ui/combobox.js +137 -132
  139. package/dist/ui/combobox.js.map +1 -1
  140. package/dist/ui/context-menu.js +32 -32
  141. package/dist/ui/dialog.d.ts.map +1 -1
  142. package/dist/ui/dialog.js +49 -46
  143. package/dist/ui/dialog.js.map +1 -1
  144. package/dist/ui/dot.d.ts +38 -0
  145. package/dist/ui/dot.d.ts.map +1 -0
  146. package/dist/ui/dot.js +92 -0
  147. package/dist/ui/dot.js.map +1 -0
  148. package/dist/ui/dropdown-menu.d.ts.map +1 -1
  149. package/dist/ui/dropdown-menu.js +81 -76
  150. package/dist/ui/dropdown-menu.js.map +1 -1
  151. package/dist/ui/hover-card.js +6 -6
  152. package/dist/ui/icon-button.js +1 -1
  153. package/dist/ui/index.d.ts +3 -2
  154. package/dist/ui/index.d.ts.map +1 -1
  155. package/dist/ui/index.js +67 -67
  156. package/dist/ui/index.js.map +1 -1
  157. package/dist/ui/input-otp.js +1 -1
  158. package/dist/ui/input-otp.js.map +1 -1
  159. package/dist/ui/input.d.ts +4 -2
  160. package/dist/ui/input.d.ts.map +1 -1
  161. package/dist/ui/input.js +39 -38
  162. package/dist/ui/input.js.map +1 -1
  163. package/dist/ui/label.js +1 -1
  164. package/dist/ui/lib/field-state.d.ts +21 -0
  165. package/dist/ui/lib/field-state.d.ts.map +1 -0
  166. package/dist/ui/lib/use-controllable-open.d.ts +32 -0
  167. package/dist/ui/lib/use-controllable-open.d.ts.map +1 -0
  168. package/dist/ui/lib/utils.js +4 -4
  169. package/dist/ui/link.js +1 -1
  170. package/dist/ui/menubar.js +53 -53
  171. package/dist/ui/navigation-menu.js +27 -27
  172. package/dist/ui/number-input.d.ts +4 -2
  173. package/dist/ui/number-input.d.ts.map +1 -1
  174. package/dist/ui/number-input.js +52 -51
  175. package/dist/ui/number-input.js.map +1 -1
  176. package/dist/ui/oauth-button/index.js +2 -2
  177. package/dist/ui/pagination.js +1 -1
  178. package/dist/ui/popover.d.ts.map +1 -1
  179. package/dist/ui/popover.js +2 -2
  180. package/dist/ui/progress.d.ts +66 -42
  181. package/dist/ui/progress.d.ts.map +1 -1
  182. package/dist/ui/progress.js +144 -40
  183. package/dist/ui/progress.js.map +1 -1
  184. package/dist/ui/radio.d.ts +6 -2
  185. package/dist/ui/radio.d.ts.map +1 -1
  186. package/dist/ui/radio.js +44 -33
  187. package/dist/ui/radio.js.map +1 -1
  188. package/dist/ui/segmented-control.js +1 -1
  189. package/dist/ui/select.d.ts +1 -1
  190. package/dist/ui/select.d.ts.map +1 -1
  191. package/dist/ui/select.js +56 -55
  192. package/dist/ui/select.js.map +1 -1
  193. package/dist/ui/separator.js +2 -2
  194. package/dist/ui/separator.js.map +1 -1
  195. package/dist/ui/sheet.d.ts.map +1 -1
  196. package/dist/ui/sheet.js +56 -53
  197. package/dist/ui/sheet.js.map +1 -1
  198. package/dist/ui/sidebar.js +6 -6
  199. package/dist/ui/sidebar.js.map +1 -1
  200. package/dist/ui/skeleton.js +1 -1
  201. package/dist/ui/slider.js +8 -8
  202. package/dist/ui/slider.js.map +1 -1
  203. package/dist/ui/split-button.js +3 -3
  204. package/dist/ui/stat-card.d.ts.map +1 -1
  205. package/dist/ui/stat-card.js +123 -126
  206. package/dist/ui/stat-card.js.map +1 -1
  207. package/dist/ui/stat-flash.js +1 -1
  208. package/dist/ui/stepper.js +1 -1
  209. package/dist/ui/surface.js +2 -2
  210. package/dist/ui/switch.d.ts +3 -1
  211. package/dist/ui/switch.d.ts.map +1 -1
  212. package/dist/ui/switch.js +32 -27
  213. package/dist/ui/switch.js.map +1 -1
  214. package/dist/ui/table-row-link.js +1 -1
  215. package/dist/ui/tabs.js +13 -13
  216. package/dist/ui/text.js +1 -1
  217. package/dist/ui/textarea.d.ts +3 -3
  218. package/dist/ui/textarea.d.ts.map +1 -1
  219. package/dist/ui/textarea.js +19 -18
  220. package/dist/ui/textarea.js.map +1 -1
  221. package/dist/ui/toast.js +2 -2
  222. package/dist/ui/toast.js.map +1 -1
  223. package/dist/ui/toggle-group.js +1 -1
  224. package/dist/ui/toggle.js +2 -2
  225. package/dist/ui/tooltip.d.ts.map +1 -1
  226. package/dist/ui/tooltip.js +37 -34
  227. package/dist/ui/tooltip.js.map +1 -1
  228. package/dist/ui/tree-view/index.js +2 -2
  229. package/docs/components/ai/ai-command-provider.md +46 -0
  230. package/docs/components/ai/block-renderer.md +59 -0
  231. package/docs/components/ai/command-bar.md +78 -0
  232. package/docs/components/ai/conversation.md +59 -0
  233. package/docs/components/ai/devadoot-icon.md +41 -0
  234. package/docs/components/composed/page-header.md +1 -1
  235. package/docs/components/composed/responsive-modal.md +66 -0
  236. package/docs/components/composed/schedule-view.md +6 -2
  237. package/docs/components/ui/breadcrumb.md +1 -1
  238. package/docs/components/ui/checkbox.md +4 -1
  239. package/docs/components/ui/combobox.md +4 -0
  240. package/docs/components/ui/dot.md +61 -0
  241. package/docs/components/ui/progress.md +54 -16
  242. package/docs/components/ui/radio.md +6 -2
  243. package/docs/components/ui/select.md +9 -5
  244. package/docs/components/ui/switch.md +4 -1
  245. package/docs/components/ui/table.md +2 -1
  246. package/llms.txt +11 -3
  247. package/make-kit/components/form.md +2 -2
  248. package/make-kit/components/icon.md +2 -2
  249. package/make-kit/components/overview.md +2 -2
  250. package/make-kit/components/select.md +1 -1
  251. package/make-kit/components/table.md +1 -1
  252. package/mcp-manifest.json +2656 -1068
  253. package/mcp-manifest.schema.json +18 -0
  254. package/package.json +11 -6
  255. package/skill/SKILL.md +1 -1
  256. package/skill/references/components.md +11 -3
  257. package/dist/ui/status-dot.d.ts +0 -27
  258. package/dist/ui/status-dot.d.ts.map +0 -1
  259. package/dist/ui/status-dot.js +0 -68
  260. package/dist/ui/status-dot.js.map +0 -1
  261. package/docs/components/ui/status-dot.md +0 -35
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { n as e } from "../_chunks/emoji.js";
2
+ import { ct as e } from "../_chunks/emoji.js";
3
3
  import { cn as t } from "../ui/lib/utils.js";
4
- import { i as n, r, t as i } from "../_chunks/popover.js";
4
+ import { Popover as n, PopoverContent as r, PopoverTrigger as i } from "../_chunks/popover.js";
5
5
  import * as a from "react";
6
6
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
7
  //#region src/composed/emoji-picker.tsx
@@ -82,10 +82,10 @@ function l({ onSelect: n, emojibaseUrl: r, className: i }) {
82
82
  }
83
83
  function u({ children: e, align: t = "start", onSelect: c, emojibaseUrl: u, className: d }) {
84
84
  let [f, p] = a.useState(!1);
85
- return /* @__PURE__ */ s(i, {
85
+ return /* @__PURE__ */ s(n, {
86
86
  open: f,
87
87
  onOpenChange: p,
88
- children: [/* @__PURE__ */ o(n, {
88
+ children: [/* @__PURE__ */ o(i, {
89
89
  asChild: !0,
90
90
  children: e
91
91
  }), /* @__PURE__ */ o(r, {
@@ -2,7 +2,7 @@
2
2
  import { IconProvider as e } from "../ui/icon-context.js";
3
3
  import { tweens as t } from "../ui/lib/motion.js";
4
4
  import { cn as n } from "../ui/lib/utils.js";
5
- import { t as r } from "../_chunks/normalize-icon.js";
5
+ import { normalizeIcon as r } from "../_chunks/normalize-icon.js";
6
6
  import * as i from "react";
7
7
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
8
8
  import { motion as s, useReducedMotion as c } from "framer-motion";
@@ -90,7 +90,7 @@ var m = r.forwardRef(function({ error: r, onReset: o, className: s, ...c }, l) {
90
90
  o && /* @__PURE__ */ i("div", {
91
91
  className: "flex items-center gap-ds-04",
92
92
  children: /* @__PURE__ */ i(n, {
93
- variant: "outline",
93
+ variant: "soft",
94
94
  size: "md",
95
95
  onClick: o,
96
96
  children: "Try Again"
@@ -1 +1 @@
1
- {"version":3,"file":"error-boundary.js","names":[],"sources":["../../src/composed/error-boundary.tsx"],"sourcesContent":["'use client'\n\nimport { IconAlertTriangle, IconBan, IconFileUnknown, IconServerOff } from '@tabler/icons-react'\nimport * as React from 'react'\n\nimport { Button } from '../ui/button'\nimport { Icon } from '../ui/icon'\nimport { cn } from '../ui/lib/utils'\n\ndeclare const process: { env: { NODE_ENV?: string } } | undefined\n\nexport interface ErrorDisplayProps extends React.ComponentPropsWithoutRef<'div'> {\n error: unknown\n onReset?: () => void\n}\n\nfunction getStatusFromError(error: unknown): number | undefined {\n if (\n error &&\n typeof error === 'object' &&\n 'status' in error &&\n typeof (error as Record<string, unknown>).status === 'number'\n ) {\n return (error as Record<string, unknown>).status as number\n }\n return undefined\n}\n\nfunction getMessageFromError(error: unknown): string | undefined {\n if (error instanceof Error) {\n return error.message\n }\n if (\n error &&\n typeof error === 'object' &&\n 'data' in error\n ) {\n const data = (error as Record<string, unknown>).data\n if (typeof data === 'string') return data\n if (data && typeof data === 'object' && 'message' in data) {\n return String((data as Record<string, unknown>).message)\n }\n }\n if (typeof error === 'string') {\n return error\n }\n return undefined\n}\n\nfunction getStackFromError(error: unknown): string | undefined {\n if (error instanceof Error) {\n return error.stack\n }\n return undefined\n}\n\nfunction getErrorConfig(status?: number) {\n switch (status) {\n case 404:\n return {\n icon: IconFileUnknown,\n title: 'Page not found',\n message:\n 'The page you are looking for does not exist or has been moved.',\n bgClass: 'bg-accent-2',\n iconClass: 'text-accent-11',\n }\n case 403:\n return {\n icon: IconBan,\n title: 'Access denied',\n message:\n 'You do not have permission to view this page. Contact your administrator if you believe this is a mistake.',\n bgClass: 'bg-warning-3',\n iconClass: 'text-warning-11',\n }\n case 500:\n return {\n icon: IconServerOff,\n title: 'Server error',\n message:\n 'Something went wrong on our end. Please try again later or contact support if the issue persists.',\n bgClass: 'bg-error-3',\n iconClass: 'text-error-11',\n }\n default:\n return {\n icon: IconAlertTriangle,\n title: 'Something went wrong',\n message:\n 'An unexpected error occurred. Please try again or go back to the home page.',\n bgClass: 'bg-accent-2',\n iconClass: 'text-accent-11',\n }\n }\n}\n\nconst ErrorDisplay = React.forwardRef<HTMLDivElement, ErrorDisplayProps>(\n function ErrorDisplay({ error, onReset, className, ...props }, ref) {\n const status = getStatusFromError(error)\n const message = getMessageFromError(error)\n const stack = getStackFromError(error)\n const isDev =\n typeof process !== 'undefined' &&\n process.env &&\n process.env.NODE_ENV === 'development'\n\n const errorConfig = getErrorConfig(status)\n const ErrorIcon = errorConfig.icon\n\n return (\n <div ref={ref} {...props} className={cn(\"flex min-h-[60vh] items-center justify-center p-ds-05\", className)}>\n <div\n className=\"flex w-full max-w-lg flex-col items-center gap-ds-06 rounded-overlay-lg bg-surface-raised p-ds-07 text-center shadow-raised\"\n >\n {/* Error Icon */}\n <div\n className={cn(\n 'flex h-ds-lg w-ds-lg items-center justify-center rounded-bubble',\n errorConfig.bgClass,\n )}\n >\n <Icon\n icon={ErrorIcon}\n size=\"2xl\"\n className={errorConfig.iconClass}\n />\n </div>\n\n {/* Error IconInfoCircle */}\n <div className=\"flex flex-col gap-ds-03\">\n {status && (\n <span className=\"text-ds-sm text-surface-fg-subtle\">\n Error {status}\n </span>\n )}\n <h2 className=\"text-ds-2xl font-semibold text-surface-fg\">\n {errorConfig.title}\n </h2>\n <p className=\"text-ds-base text-surface-fg-subtle\">\n {message || errorConfig.message}\n </p>\n </div>\n\n {/* Actions */}\n {onReset && (\n <div className=\"flex items-center gap-ds-04\">\n <Button\n variant=\"outline\"\n size=\"md\"\n onClick={onReset}\n >\n Try Again\n </Button>\n </div>\n )}\n\n {/* Dev stack trace */}\n {isDev && stack && (\n <div className=\"w-full overflow-auto rounded-surface border border-surface-border-strong bg-surface-raised p-ds-05 text-left\">\n <p className=\"text-ds-sm mb-ds-03 font-semibold text-surface-fg\">\n Stack Trace (development only)\n </p>\n <pre className=\"whitespace-pre-wrap text-ds-sm text-surface-fg-subtle\">\n {stack}\n </pre>\n </div>\n )}\n </div>\n </div>\n )\n},\n)\n\nErrorDisplay.displayName = 'ErrorDisplay'\n\ninterface ErrorBoundaryProps {\n children: React.ReactNode\n /** Optional callback when the user clicks \"Try Again\" */\n onReset?: () => void\n /** Optional custom fallback — receives the caught error. Defaults to ErrorDisplay. */\n fallback?: (props: { error: unknown; onReset?: () => void }) => React.ReactNode\n}\n\ninterface ErrorBoundaryState {\n error: unknown | null\n}\n\nclass ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props)\n this.state = { error: null }\n }\n\n static getDerivedStateFromError(error: unknown): ErrorBoundaryState {\n return { error }\n }\n\n private handleReset = () => {\n this.setState({ error: null })\n this.props.onReset?.()\n }\n\n render() {\n if (this.state.error !== null) {\n if (this.props.fallback) {\n return this.props.fallback({ error: this.state.error, onReset: this.handleReset })\n }\n return <ErrorDisplay error={this.state.error} onReset={this.handleReset} />\n }\n return this.props.children\n }\n}\n\nexport { ErrorBoundary,ErrorDisplay }\nexport type { ErrorBoundaryProps }\n"],"mappings":";;;;;;;;AAgBA,SAAS,EAAmB,GAAoC;AAC9D,KACE,KACA,OAAO,KAAU,YACjB,YAAY,KACZ,OAAQ,EAAkC,UAAW,SAErD,QAAQ,EAAkC;;AAK9C,SAAS,EAAoB,GAAoC;AAC/D,KAAI,aAAiB,MACnB,QAAO,EAAM;AAEf,KACE,KACA,OAAO,KAAU,YACjB,UAAU,GACV;EACA,IAAM,IAAQ,EAAkC;AAChD,MAAI,OAAO,KAAS,SAAU,QAAO;AACrC,MAAI,KAAQ,OAAO,KAAS,YAAY,aAAa,EACnD,QAAO,OAAQ,EAAiC,QAAQ;;AAG5D,KAAI,OAAO,KAAU,SACnB,QAAO;;AAKX,SAAS,EAAkB,GAAoC;AAC7D,KAAI,aAAiB,MACnB,QAAO,EAAM;;AAKjB,SAAS,EAAe,GAAiB;AACvC,SAAQ,GAAR;EACE,KAAK,IACH,QAAO;GACL,MAAM;GACN,OAAO;GACP,SACE;GACF,SAAS;GACT,WAAW;GACZ;EACH,KAAK,IACH,QAAO;GACL,MAAM;GACN,OAAO;GACP,SACE;GACF,SAAS;GACT,WAAW;GACZ;EACH,KAAK,IACH,QAAO;GACL,MAAM;GACN,OAAO;GACP,SACE;GACF,SAAS;GACT,WAAW;GACZ;EACH,QACE,QAAO;GACL,MAAM;GACN,OAAO;GACP,SACE;GACF,SAAS;GACT,WAAW;GACZ;;;AAIP,IAAM,IAAe,EAAM,WACzB,SAAsB,EAAE,UAAO,YAAS,cAAW,GAAG,KAAS,GAAK;CACpE,IAAM,IAAS,EAAmB,EAAM,EAClC,IAAU,EAAoB,EAAM,EACpC,IAAQ,EAAkB,EAAM,EAChC,IACJ,OAAO,UAAY,OACnB,QAAQ,OAAA,QAAA,IAAA,aACiB,eAErB,IAAc,EAAe,EAAO,EACpC,IAAY,EAAY;AAE9B,QACE,kBAAC,OAAD;EAAU;EAAK,GAAI;EAAO,WAAW,EAAG,yDAAyD,EAAU;YACzG,kBAAC,OAAD;GACE,WAAU;aADZ;IAIE,kBAAC,OAAD;KACE,WAAW,EACT,mEACA,EAAY,QACb;eAED,kBAAC,GAAD;MACE,MAAM;MACN,MAAK;MACL,WAAW,EAAY;MACvB,CAAA;KACE,CAAA;IAGN,kBAAC,OAAD;KAAK,WAAU;eAAf;MACG,KACC,kBAAC,QAAD;OAAM,WAAU;iBAAhB,CAAoD,UAC3C,EACF;;MAET,kBAAC,MAAD;OAAI,WAAU;iBACX,EAAY;OACV,CAAA;MACL,kBAAC,KAAD;OAAG,WAAU;iBACV,KAAW,EAAY;OACtB,CAAA;MACA;;IAGL,KACC,kBAAC,OAAD;KAAK,WAAU;eACb,kBAAC,GAAD;MACE,SAAQ;MACR,MAAK;MACL,SAAS;gBACV;MAEQ,CAAA;KACL,CAAA;IAIP,KAAS,KACR,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBAAoD;MAE7D,CAAA,EACJ,kBAAC,OAAD;MAAK,WAAU;gBACZ;MACG,CAAA,CACF;;IAEJ;;EACF,CAAA;EAGT;AAED,EAAa,cAAc;AAc3B,IAAM,IAAN,cAA4B,EAAM,UAAkD;CAClF,YAAY,GAA2B;AAErC,EADA,MAAM,EAAM,EACZ,KAAK,QAAQ,EAAE,OAAO,MAAM;;CAG9B,OAAO,yBAAyB,GAAoC;AAClE,SAAO,EAAE,UAAO;;CAGlB,oBAA4B;AAE1B,EADA,KAAK,SAAS,EAAE,OAAO,MAAM,CAAC,EAC9B,KAAK,MAAM,WAAW;;CAGxB,SAAS;AAOP,SANI,KAAK,MAAM,UAAU,OAMlB,KAAK,MAAM,WALZ,KAAK,MAAM,WACN,KAAK,MAAM,SAAS;GAAE,OAAO,KAAK,MAAM;GAAO,SAAS,KAAK;GAAa,CAAC,GAE7E,kBAAC,GAAD;GAAc,OAAO,KAAK,MAAM;GAAO,SAAS,KAAK;GAAe,CAAA"}
1
+ {"version":3,"file":"error-boundary.js","names":[],"sources":["../../src/composed/error-boundary.tsx"],"sourcesContent":["'use client'\n\nimport { IconAlertTriangle, IconBan, IconFileUnknown, IconServerOff } from '@tabler/icons-react'\nimport * as React from 'react'\n\nimport { Button } from '../ui/button'\nimport { Icon } from '../ui/icon'\nimport { cn } from '../ui/lib/utils'\n\ndeclare const process: { env: { NODE_ENV?: string } } | undefined\n\nexport interface ErrorDisplayProps extends React.ComponentPropsWithoutRef<'div'> {\n error: unknown\n onReset?: () => void\n}\n\nfunction getStatusFromError(error: unknown): number | undefined {\n if (\n error &&\n typeof error === 'object' &&\n 'status' in error &&\n typeof (error as Record<string, unknown>).status === 'number'\n ) {\n return (error as Record<string, unknown>).status as number\n }\n return undefined\n}\n\nfunction getMessageFromError(error: unknown): string | undefined {\n if (error instanceof Error) {\n return error.message\n }\n if (\n error &&\n typeof error === 'object' &&\n 'data' in error\n ) {\n const data = (error as Record<string, unknown>).data\n if (typeof data === 'string') return data\n if (data && typeof data === 'object' && 'message' in data) {\n return String((data as Record<string, unknown>).message)\n }\n }\n if (typeof error === 'string') {\n return error\n }\n return undefined\n}\n\nfunction getStackFromError(error: unknown): string | undefined {\n if (error instanceof Error) {\n return error.stack\n }\n return undefined\n}\n\nfunction getErrorConfig(status?: number) {\n switch (status) {\n case 404:\n return {\n icon: IconFileUnknown,\n title: 'Page not found',\n message:\n 'The page you are looking for does not exist or has been moved.',\n bgClass: 'bg-accent-2',\n iconClass: 'text-accent-11',\n }\n case 403:\n return {\n icon: IconBan,\n title: 'Access denied',\n message:\n 'You do not have permission to view this page. Contact your administrator if you believe this is a mistake.',\n bgClass: 'bg-warning-3',\n iconClass: 'text-warning-11',\n }\n case 500:\n return {\n icon: IconServerOff,\n title: 'Server error',\n message:\n 'Something went wrong on our end. Please try again later or contact support if the issue persists.',\n bgClass: 'bg-error-3',\n iconClass: 'text-error-11',\n }\n default:\n return {\n icon: IconAlertTriangle,\n title: 'Something went wrong',\n message:\n 'An unexpected error occurred. Please try again or go back to the home page.',\n bgClass: 'bg-accent-2',\n iconClass: 'text-accent-11',\n }\n }\n}\n\nconst ErrorDisplay = React.forwardRef<HTMLDivElement, ErrorDisplayProps>(\n function ErrorDisplay({ error, onReset, className, ...props }, ref) {\n const status = getStatusFromError(error)\n const message = getMessageFromError(error)\n const stack = getStackFromError(error)\n const isDev =\n typeof process !== 'undefined' &&\n process.env &&\n process.env.NODE_ENV === 'development'\n\n const errorConfig = getErrorConfig(status)\n const ErrorIcon = errorConfig.icon\n\n return (\n <div ref={ref} {...props} className={cn(\"flex min-h-[60vh] items-center justify-center p-ds-05\", className)}>\n <div\n className=\"flex w-full max-w-lg flex-col items-center gap-ds-06 rounded-overlay-lg bg-surface-raised p-ds-07 text-center shadow-raised\"\n >\n {/* Error Icon */}\n <div\n className={cn(\n 'flex h-ds-lg w-ds-lg items-center justify-center rounded-bubble',\n errorConfig.bgClass,\n )}\n >\n <Icon\n icon={ErrorIcon}\n size=\"2xl\"\n className={errorConfig.iconClass}\n />\n </div>\n\n {/* Error IconInfoCircle */}\n <div className=\"flex flex-col gap-ds-03\">\n {status && (\n <span className=\"text-ds-sm text-surface-fg-subtle\">\n Error {status}\n </span>\n )}\n <h2 className=\"text-ds-2xl font-semibold text-surface-fg\">\n {errorConfig.title}\n </h2>\n <p className=\"text-ds-base text-surface-fg-subtle\">\n {message || errorConfig.message}\n </p>\n </div>\n\n {/* Actions */}\n {onReset && (\n <div className=\"flex items-center gap-ds-04\">\n <Button\n variant=\"soft\"\n size=\"md\"\n onClick={onReset}\n >\n Try Again\n </Button>\n </div>\n )}\n\n {/* Dev stack trace */}\n {isDev && stack && (\n <div className=\"w-full overflow-auto rounded-surface border border-surface-border-strong bg-surface-raised p-ds-05 text-left\">\n <p className=\"text-ds-sm mb-ds-03 font-semibold text-surface-fg\">\n Stack Trace (development only)\n </p>\n <pre className=\"whitespace-pre-wrap text-ds-sm text-surface-fg-subtle\">\n {stack}\n </pre>\n </div>\n )}\n </div>\n </div>\n )\n},\n)\n\nErrorDisplay.displayName = 'ErrorDisplay'\n\ninterface ErrorBoundaryProps {\n children: React.ReactNode\n /** Optional callback when the user clicks \"Try Again\" */\n onReset?: () => void\n /** Optional custom fallback — receives the caught error. Defaults to ErrorDisplay. */\n fallback?: (props: { error: unknown; onReset?: () => void }) => React.ReactNode\n}\n\ninterface ErrorBoundaryState {\n error: unknown | null\n}\n\nclass ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props)\n this.state = { error: null }\n }\n\n static getDerivedStateFromError(error: unknown): ErrorBoundaryState {\n return { error }\n }\n\n private handleReset = () => {\n this.setState({ error: null })\n this.props.onReset?.()\n }\n\n render() {\n if (this.state.error !== null) {\n if (this.props.fallback) {\n return this.props.fallback({ error: this.state.error, onReset: this.handleReset })\n }\n return <ErrorDisplay error={this.state.error} onReset={this.handleReset} />\n }\n return this.props.children\n }\n}\n\nexport { ErrorBoundary,ErrorDisplay }\nexport type { ErrorBoundaryProps }\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { _ as e, o as t, s as n } from "../../_chunks/tiptap.js";
2
+ import { Node3 as e, NodeViewWrapper as t, ReactNodeViewRenderer as n } from "../../_chunks/tiptap.js";
3
3
  import { jsx as r } from "react/jsx-runtime";
4
4
  //#region src/composed/extensions/emoji-node.tsx
5
5
  function i({ node: e }) {
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { t as e } from "../../_chunks/emoji-suggestion.js";
2
+ import { createEmojiSuggestion as e } from "../../_chunks/emoji-suggestion.js";
3
3
  export { e as createEmojiSuggestion };
@@ -3,10 +3,10 @@ import { springs as e, tweens as t } from "../ui/lib/motion.js";
3
3
  import { cn as n } from "../ui/lib/utils.js";
4
4
  import { Icon as r } from "../ui/icon.js";
5
5
  import { Skeleton as i } from "../ui/skeleton.js";
6
- import { n as a } from "../_chunks/badge-group.js";
6
+ import { BadgeCompound as a } from "../_chunks/badge-group.js";
7
7
  import { Button as o } from "../ui/button.js";
8
8
  import { TruncatedText as s } from "../ui/truncated-text.js";
9
- import { a as c, n as l, o as u, t as d } from "../_chunks/shared.js";
9
+ import { ErrorFallback as c, MediaSlider as l, VolumeControl as u, formatTime as d } from "../_chunks/shared.js";
10
10
  import * as f from "react";
11
11
  import { jsx as p, jsxs as m } from "react/jsx-runtime";
12
12
  import { IconDownload as h, IconMaximize as g, IconPlayerPause as _, IconPlayerPlay as v } from "@tabler/icons-react";
@@ -47,7 +47,7 @@ function x({ url: e, fileName: t, onError: n }) {
47
47
  let e = !D;
48
48
  O(e), i.current.muted = e;
49
49
  }
50
- return k ? /* @__PURE__ */ p(d, {
50
+ return k ? /* @__PURE__ */ p(c, {
51
51
  message: "Could not load audio",
52
52
  url: e
53
53
  }) : /* @__PURE__ */ m("div", {
@@ -107,13 +107,13 @@ function x({ url: e, fileName: t, onError: n }) {
107
107
  }), /* @__PURE__ */ m("p", {
108
108
  className: "text-ds-xs font-mono text-surface-fg-muted tabular-nums",
109
109
  children: [
110
- u(C),
110
+ d(C),
111
111
  " / ",
112
- u(x)
112
+ d(x)
113
113
  ]
114
114
  })]
115
115
  }),
116
- /* @__PURE__ */ p(c, {
116
+ /* @__PURE__ */ p(u, {
117
117
  volume: T,
118
118
  muted: D,
119
119
  onVolumeChange: (e) => {
@@ -130,13 +130,13 @@ function x({ url: e, fileName: t, onError: n }) {
130
130
  //#endregion
131
131
  //#region src/composed/file-preview/embed-preview.tsx
132
132
  function S({ url: e, embedUrl: n, onError: r }) {
133
- let [a, o] = f.useState(!1), [s, c] = f.useState(!1);
133
+ let [a, o] = f.useState(!1), [s, l] = f.useState(!1);
134
134
  return f.useEffect(() => {
135
135
  let e = setTimeout(() => {
136
- a || (c(!0), r?.("Embed timed out"));
136
+ a || (l(!0), r?.("Embed timed out"));
137
137
  }, 15e3);
138
138
  return () => clearTimeout(e);
139
- }, [a, r]), s ? /* @__PURE__ */ p(d, {
139
+ }, [a, r]), s ? /* @__PURE__ */ p(c, {
140
140
  message: "Could not load embed",
141
141
  url: e
142
142
  }) : /* @__PURE__ */ m("div", {
@@ -147,7 +147,7 @@ function S({ url: e, embedUrl: n, onError: r }) {
147
147
  title: "Embedded content",
148
148
  onLoad: () => o(!0),
149
149
  onError: () => {
150
- c(!0), r?.("Embed failed to load");
150
+ l(!0), r?.("Embed failed to load");
151
151
  },
152
152
  initial: { opacity: 0 },
153
153
  animate: { opacity: +!!a },
@@ -222,7 +222,7 @@ function w({ url: n, onError: i }) {
222
222
  function V() {
223
223
  N(!0), clearTimeout(L.current), s && (L.current = setTimeout(() => N(!1), 3e3));
224
224
  }
225
- return A ? /* @__PURE__ */ p(d, {
225
+ return A ? /* @__PURE__ */ p(c, {
226
226
  message: "Could not load video",
227
227
  url: n
228
228
  }) : /* @__PURE__ */ m("div", {
@@ -311,7 +311,7 @@ function w({ url: n, onError: i }) {
311
311
  size: "lg"
312
312
  })
313
313
  }),
314
- /* @__PURE__ */ p(c, {
314
+ /* @__PURE__ */ p(u, {
315
315
  volume: +!O,
316
316
  muted: O,
317
317
  onVolumeChange: (e) => {
@@ -325,9 +325,9 @@ function w({ url: n, onError: i }) {
325
325
  /* @__PURE__ */ m("span", {
326
326
  className: "text-ds-sm font-mono text-white/70 tabular-nums",
327
327
  children: [
328
- u(E),
328
+ d(E),
329
329
  " / ",
330
- u(w)
330
+ d(w)
331
331
  ]
332
332
  }),
333
333
  /* @__PURE__ */ p("div", { className: "flex-1" }),
@@ -2,7 +2,7 @@
2
2
  import { springs as e } from "../ui/lib/motion.js";
3
3
  import { cn as t } from "../ui/lib/utils.js";
4
4
  import { Icon as n } from "../ui/icon.js";
5
- import { n as r } from "../_chunks/badge-group.js";
5
+ import { BadgeCompound as r } from "../_chunks/badge-group.js";
6
6
  import { Button as i } from "../ui/button.js";
7
7
  import { SearchInput as a } from "../ui/search-input.js";
8
8
  import { Select as o, SelectContent as s, SelectItem as c, SelectTrigger as l, SelectValue as u } from "../ui/select.js";
@@ -54,10 +54,12 @@ export { PageHeader } from './page-header';
54
54
  export { DashboardSkeleton, ProjectListSkeleton, TaskDetailSkeleton, } from './page-skeletons';
55
55
  export type { Priority, PriorityIndicatorProps } from './priority-indicator';
56
56
  export { PriorityIndicator } from './priority-indicator';
57
+ export type { ResponsiveModalContentProps, ResponsiveModalProps, } from './responsive-modal';
58
+ export { ResponsiveModal, ResponsiveModalBackground, ResponsiveModalBody, ResponsiveModalClose, ResponsiveModalContent, ResponsiveModalDescription, ResponsiveModalFooter, ResponsiveModalHeader, ResponsiveModalOverlay, ResponsiveModalPortal, ResponsiveModalTitle, ResponsiveModalTrigger, } from './responsive-modal';
57
59
  export type { ScheduleEvent, ScheduleViewProps } from './schedule-view';
58
60
  export { ScheduleView } from './schedule-view';
59
61
  export type { SimpleTooltipProps } from './simple-tooltip';
60
62
  export { SimpleTooltip } from './simple-tooltip';
61
63
  export type { StatusBadgeProps } from './status-badge';
62
- export { StatusBadge, statusBadgeVariants } from './status-badge';
64
+ export { StatusBadge } from './status-badge';
63
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composed/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composed/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAChE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,YAAY,EAAE,mBAAmB,EAAC,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAIjE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAKxD,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,YAAY,EAAE,kBAAkB,EAAC,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAC,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAO7D,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAKjF,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAC,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAC,YAAY,EAAE,MAAM,cAAc,CAAA;AACxE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAC,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACrH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAC,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAK5F,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,YAAY,EAAE,kBAAkB,EAAC,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAC,eAAe,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,YAAY,EAAE,UAAU,EAAC,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,QAAQ,EAAC,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,YAAY,EACV,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAM3B,YAAY,EAAE,aAAa,EAAC,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
@@ -21,6 +21,7 @@ import { MemberPicker as E } from "./member-picker.js";
21
21
  import { PageHeader as D } from "./page-header.js";
22
22
  import { DashboardSkeleton as O, ProjectListSkeleton as k, TaskDetailSkeleton as A } from "./page-skeletons.js";
23
23
  import { PriorityIndicator as j } from "./priority-indicator.js";
24
- import { ScheduleView as M } from "./schedule-view.js";
25
- import { StatusBadge as N, statusBadgeVariants as P } from "./status-badge.js";
26
- export { t as ActivityFeed, r as AvatarGroup, x as BoardSkeleton, i as BulkActionBar, S as CardSkeleton, a as CommandPalette, o as ConfirmDialog, s as ContentCard, O as DashboardSkeleton, u as DeadlineIndicator, d as EmptyState, f as ErrorBoundary, p as ErrorDisplay, h as FilterBar, g as FilterMultiSelect, _ as FilterSelect, v as FormSection, y as GlobalLoading, b as InlineEdit, C as ListSkeleton, T as MasterDetail, E as MemberPicker, m as MultiSelectPopover, D as PageHeader, j as PriorityIndicator, k as ProjectListSkeleton, M as ScheduleView, l as SimpleTooltip, N as StatusBadge, w as TableSkeleton, A as TaskDetailSkeleton, c as contentCardVariants, e as getInitials, n as groupItemsByTime, P as statusBadgeVariants };
24
+ import { ResponsiveModal as M, ResponsiveModalBackground as N, ResponsiveModalBody as P, ResponsiveModalClose as F, ResponsiveModalContent as I, ResponsiveModalDescription as L, ResponsiveModalFooter as R, ResponsiveModalHeader as z, ResponsiveModalOverlay as B, ResponsiveModalPortal as V, ResponsiveModalTitle as H, ResponsiveModalTrigger as U } from "./responsive-modal.js";
25
+ import { ScheduleView as W } from "./schedule-view.js";
26
+ import { StatusBadge as G } from "./status-badge.js";
27
+ export { t as ActivityFeed, r as AvatarGroup, x as BoardSkeleton, i as BulkActionBar, S as CardSkeleton, a as CommandPalette, o as ConfirmDialog, s as ContentCard, O as DashboardSkeleton, u as DeadlineIndicator, d as EmptyState, f as ErrorBoundary, p as ErrorDisplay, h as FilterBar, g as FilterMultiSelect, _ as FilterSelect, v as FormSection, y as GlobalLoading, b as InlineEdit, C as ListSkeleton, T as MasterDetail, E as MemberPicker, m as MultiSelectPopover, D as PageHeader, j as PriorityIndicator, k as ProjectListSkeleton, M as ResponsiveModal, N as ResponsiveModalBackground, P as ResponsiveModalBody, F as ResponsiveModalClose, I as ResponsiveModalContent, L as ResponsiveModalDescription, R as ResponsiveModalFooter, z as ResponsiveModalHeader, B as ResponsiveModalOverlay, V as ResponsiveModalPortal, H as ResponsiveModalTitle, U as ResponsiveModalTrigger, W as ScheduleView, l as SimpleTooltip, G as StatusBadge, w as TableSkeleton, A as TaskDetailSkeleton, c as contentCardVariants, e as getInitials, n as groupItemsByTime };
@@ -11,19 +11,19 @@ var a = n.forwardRef(function({ className: n, ...a }, o) {
11
11
  children: [
12
12
  /* @__PURE__ */ i("div", {
13
13
  className: "flex items-center justify-between pb-ds-05",
14
- children: [/* @__PURE__ */ r(t, { className: "h-[16px] w-[128px] bg-surface-raised-hover" }), /* @__PURE__ */ r(t, { className: "h-ico-sm w-ico-sm rounded bg-surface-raised-hover" })]
14
+ children: [/* @__PURE__ */ r(t, { className: "h-ds-05 w-[128px] bg-surface-raised-hover" }), /* @__PURE__ */ r(t, { className: "h-ico-sm w-ico-sm rounded bg-surface-raised-hover" })]
15
15
  }),
16
16
  /* @__PURE__ */ i("div", {
17
17
  className: "space-y-ds-04",
18
18
  children: [
19
- /* @__PURE__ */ r(t, { className: "h-[12px] w-full bg-surface-raised-hover" }),
20
- /* @__PURE__ */ r(t, { className: "h-[12px] w-4/5 bg-surface-raised-hover" }),
21
- /* @__PURE__ */ r(t, { className: "h-[12px] w-3/5 bg-surface-raised-hover" })
19
+ /* @__PURE__ */ r(t, { className: "h-ds-04 w-full bg-surface-raised-hover" }),
20
+ /* @__PURE__ */ r(t, { className: "h-ds-04 w-4/5 bg-surface-raised-hover" }),
21
+ /* @__PURE__ */ r(t, { className: "h-ds-04 w-3/5 bg-surface-raised-hover" })
22
22
  ]
23
23
  }),
24
24
  /* @__PURE__ */ i("div", {
25
25
  className: "flex items-center gap-ds-03 pt-ds-05",
26
- children: [/* @__PURE__ */ r(t, { className: "h-ds-xs w-ds-xs rounded-pill bg-surface-raised-hover" }), /* @__PURE__ */ r(t, { className: "h-[12px] w-[80px] bg-surface-raised-hover" })]
26
+ children: [/* @__PURE__ */ r(t, { className: "h-ds-xs w-ds-xs rounded-pill bg-surface-raised-hover" }), /* @__PURE__ */ r(t, { className: "h-ds-04 w-ds-11 bg-surface-raised-hover" })]
27
27
  })
28
28
  ]
29
29
  });
@@ -36,11 +36,11 @@ var o = n.forwardRef(function({ rows: n = 5, columns: a = 4, className: o, ...s
36
36
  className: e("overflow-hidden rounded-surface border border-surface-border-strong", o),
37
37
  children: [/* @__PURE__ */ r("div", {
38
38
  className: "flex items-center gap-ds-05 border-b border-surface-border-strong bg-surface-raised px-ds-05 py-ds-04",
39
- children: Array.from({ length: a }).map((n, i) => /* @__PURE__ */ r(t, { className: e("h-[12px] bg-surface-raised-hover", i === 0 ? "w-[160px]" : "flex-1") }, `head-${i}`))
39
+ children: Array.from({ length: a }).map((n, i) => /* @__PURE__ */ r(t, { className: e("h-ds-04 bg-surface-raised-hover", i === 0 ? "w-ds-13" : "flex-1") }, `head-${i}`))
40
40
  }), Array.from({ length: n }).map((i, o) => /* @__PURE__ */ r("div", {
41
41
  className: e("flex items-center gap-ds-05 px-ds-05 py-ds-04", o < n - 1 && "border-b border-surface-border-strong"),
42
42
  style: { animationDelay: `${o * 50}ms` },
43
- children: Array.from({ length: a }).map((n, i) => /* @__PURE__ */ r(t, { className: e("h-[12px] bg-surface-raised-hover", i === 0 ? "w-[160px]" : "flex-1") }, `cell-${o}-${i}`))
43
+ children: Array.from({ length: a }).map((n, i) => /* @__PURE__ */ r(t, { className: e("h-ds-04 bg-surface-raised-hover", i === 0 ? "w-ds-13" : "flex-1") }, `cell-${o}-${i}`))
44
44
  }, `row-${o}`))]
45
45
  });
46
46
  });
@@ -57,9 +57,9 @@ var s = n.forwardRef(function({ columns: n = 4, cardsPerColumn: a = 3, className
57
57
  children: [/* @__PURE__ */ i("div", {
58
58
  className: "flex items-center gap-ds-03",
59
59
  children: [
60
- /* @__PURE__ */ r(t, { className: "h-[12px] w-[12px] rounded bg-surface-raised-hover" }),
61
- /* @__PURE__ */ r(t, { className: "h-[12px] w-[80px] bg-surface-raised-hover" }),
62
- /* @__PURE__ */ r(t, { className: "h-[16px] w-[20px] rounded-pill bg-surface-raised-hover" })
60
+ /* @__PURE__ */ r(t, { className: "h-ds-04 w-ds-04 rounded bg-surface-raised-hover" }),
61
+ /* @__PURE__ */ r(t, { className: "h-ds-04 w-ds-11 bg-surface-raised-hover" }),
62
+ /* @__PURE__ */ r(t, { className: "h-ds-05 w-ds-05b rounded-pill bg-surface-raised-hover" })
63
63
  ]
64
64
  }), /* @__PURE__ */ r(t, { className: "h-ico-sm w-ico-sm rounded bg-surface-raised-hover" })]
65
65
  }), Array.from({ length: a }).map((e, o) => /* @__PURE__ */ i("div", {
@@ -67,13 +67,13 @@ var s = n.forwardRef(function({ columns: n = 4, cardsPerColumn: a = 3, className
67
67
  style: { animationDelay: `${(n * a + o) * 50}ms` },
68
68
  children: [/* @__PURE__ */ i("div", {
69
69
  className: "space-y-ds-03",
70
- children: [/* @__PURE__ */ r(t, { className: "h-[12px] w-4/5 bg-surface-raised-hover" }), /* @__PURE__ */ r(t, { className: "h-[12px] w-3/5 bg-surface-raised-hover" })]
70
+ children: [/* @__PURE__ */ r(t, { className: "h-ds-04 w-4/5 bg-surface-raised-hover" }), /* @__PURE__ */ r(t, { className: "h-ds-04 w-3/5 bg-surface-raised-hover" })]
71
71
  }), /* @__PURE__ */ i("div", {
72
72
  className: "flex items-center justify-between pt-ds-04",
73
73
  children: [/* @__PURE__ */ i("div", {
74
74
  className: "flex items-center gap-ds-02b",
75
- children: [/* @__PURE__ */ r(t, { className: "h-ico-md w-ico-md rounded-pill bg-surface-raised-hover" }), /* @__PURE__ */ r(t, { className: "h-ds-03 w-[64px] bg-surface-raised-hover" })]
76
- }), /* @__PURE__ */ r(t, { className: "h-[16px] w-ds-lg rounded-pill bg-surface-raised-hover" })]
75
+ children: [/* @__PURE__ */ r(t, { className: "h-ico-md w-ico-md rounded-pill bg-surface-raised-hover" }), /* @__PURE__ */ r(t, { className: "h-ds-03 w-ds-10 bg-surface-raised-hover" })]
76
+ }), /* @__PURE__ */ r(t, { className: "h-ds-05 w-ds-lg rounded-pill bg-surface-raised-hover" })]
77
77
  })]
78
78
  }, `card-${n}-${o}`))]
79
79
  }, `col-${n}`))
@@ -92,9 +92,9 @@ var c = n.forwardRef(function({ rows: n = 6, showAvatar: a = !0, className: o, .
92
92
  a && /* @__PURE__ */ r(t, { className: "h-ds-sm w-ds-sm shrink-0 rounded-pill bg-surface-raised-hover" }),
93
93
  /* @__PURE__ */ i("div", {
94
94
  className: "flex flex-1 flex-col gap-ds-02b",
95
- children: [/* @__PURE__ */ r(t, { className: "h-[12px] w-2/5 bg-surface-raised-hover" }), /* @__PURE__ */ r(t, { className: "h-ds-03 w-3/5 bg-surface-raised-hover" })]
95
+ children: [/* @__PURE__ */ r(t, { className: "h-ds-04 w-2/5 bg-surface-raised-hover" }), /* @__PURE__ */ r(t, { className: "h-ds-03 w-3/5 bg-surface-raised-hover" })]
96
96
  }),
97
- /* @__PURE__ */ r(t, { className: "h-[20px] w-[56px] rounded-pill bg-surface-raised-hover" })
97
+ /* @__PURE__ */ r(t, { className: "h-ds-05b w-[56px] rounded-pill bg-surface-raised-hover" })
98
98
  ]
99
99
  }, `list-${s}`))
100
100
  });
@@ -1 +1 @@
1
- {"version":3,"file":"loading-skeleton.js","names":[],"sources":["../../src/composed/loading-skeleton.tsx"],"sourcesContent":["// @server-safe\nimport * as React from 'react'\n\nimport { cn } from '../ui/lib/utils'\nimport { Skeleton } from '../ui/skeleton'\n\nexport interface CardSkeletonProps extends React.ComponentPropsWithoutRef<'div'> {\n className?: string\n}\n\nconst CardSkeleton = React.forwardRef<HTMLDivElement, CardSkeletonProps>(\n function CardSkeleton({ className, ...props }, ref) {\n return (\n <div\n ref={ref}\n {...props}\n className={cn(\n 'rounded-surface border border-surface-border-strong bg-surface-raised p-ds-05b',\n className,\n )}\n >\n <div className=\"flex items-center justify-between pb-ds-05\">\n <Skeleton className=\"h-[16px] w-[128px] bg-surface-raised-hover\" />\n <Skeleton className=\"h-ico-sm w-ico-sm rounded bg-surface-raised-hover\" />\n </div>\n <div className=\"space-y-ds-04\">\n <Skeleton className=\"h-[12px] w-full bg-surface-raised-hover\" />\n <Skeleton className=\"h-[12px] w-4/5 bg-surface-raised-hover\" />\n <Skeleton className=\"h-[12px] w-3/5 bg-surface-raised-hover\" />\n </div>\n <div className=\"flex items-center gap-ds-03 pt-ds-05\">\n <Skeleton className=\"h-ds-xs w-ds-xs rounded-pill bg-surface-raised-hover\" />\n <Skeleton className=\"h-[12px] w-[80px] bg-surface-raised-hover\" />\n </div>\n </div>\n )\n},\n)\n\nCardSkeleton.displayName = 'CardSkeleton'\n\nexport interface TableSkeletonProps extends CardSkeletonProps {\n rows?: number\n columns?: number\n}\n\nconst TableSkeleton = React.forwardRef<HTMLDivElement, TableSkeletonProps>(\n function TableSkeleton({\n rows = 5,\n columns = 4,\n className,\n ...props\n}, ref) {\n return (\n <div\n ref={ref}\n {...props}\n className={cn(\n 'overflow-hidden rounded-surface border border-surface-border-strong',\n className,\n )}\n >\n {/* Header */}\n <div className=\"flex items-center gap-ds-05 border-b border-surface-border-strong bg-surface-raised px-ds-05 py-ds-04\">\n {Array.from({ length: columns }).map((_, i) => (\n <Skeleton\n key={`head-${i}`}\n className={cn(\n 'h-[12px] bg-surface-raised-hover',\n i === 0 ? 'w-[160px]' : 'flex-1',\n )}\n />\n ))}\n </div>\n\n {/* Rows */}\n {Array.from({ length: rows }).map((_, rowIndex) => (\n <div\n key={`row-${rowIndex}`}\n className={cn(\n 'flex items-center gap-ds-05 px-ds-05 py-ds-04',\n rowIndex < rows - 1 && 'border-b border-surface-border-strong',\n )}\n style={{ animationDelay: `${rowIndex * 50}ms` }}\n >\n {Array.from({ length: columns }).map((_, colIndex) => (\n <Skeleton\n key={`cell-${rowIndex}-${colIndex}`}\n className={cn(\n 'h-[12px] bg-surface-raised-hover',\n colIndex === 0 ? 'w-[160px]' : 'flex-1',\n )}\n />\n ))}\n </div>\n ))}\n </div>\n )\n},\n)\n\nTableSkeleton.displayName = 'TableSkeleton'\n\nexport interface BoardSkeletonProps extends CardSkeletonProps {\n columns?: number\n cardsPerColumn?: number\n}\n\nconst BoardSkeleton = React.forwardRef<HTMLDivElement, BoardSkeletonProps>(\n function BoardSkeleton({\n columns = 4,\n cardsPerColumn = 3,\n className,\n ...props\n}, ref) {\n return (\n <div ref={ref} {...props} className={cn('flex gap-ds-05 overflow-x-auto', className)}>\n {Array.from({ length: columns }).map((_, colIndex) => (\n <div\n key={`col-${colIndex}`}\n className=\"flex w-[272px] shrink-0 flex-col gap-ds-03\"\n >\n {/* Column header */}\n <div className=\"flex items-center justify-between px-ds-02 py-ds-03\">\n <div className=\"flex items-center gap-ds-03\">\n <Skeleton className=\"h-[12px] w-[12px] rounded bg-surface-raised-hover\" />\n <Skeleton className=\"h-[12px] w-[80px] bg-surface-raised-hover\" />\n <Skeleton className=\"h-[16px] w-[20px] rounded-pill bg-surface-raised-hover\" />\n </div>\n <Skeleton className=\"h-ico-sm w-ico-sm rounded bg-surface-raised-hover\" />\n </div>\n\n {/* Column cards */}\n {Array.from({ length: cardsPerColumn }).map((_, cardIndex) => (\n <div\n key={`card-${colIndex}-${cardIndex}`}\n className=\"rounded-surface border border-surface-border-strong bg-surface-raised p-ds-04\"\n style={{ animationDelay: `${(colIndex * cardsPerColumn + cardIndex) * 50}ms` }}\n >\n <div className=\"space-y-ds-03\">\n <Skeleton className=\"h-[12px] w-4/5 bg-surface-raised-hover\" />\n <Skeleton className=\"h-[12px] w-3/5 bg-surface-raised-hover\" />\n </div>\n <div className=\"flex items-center justify-between pt-ds-04\">\n <div className=\"flex items-center gap-ds-02b\">\n <Skeleton className=\"h-ico-md w-ico-md rounded-pill bg-surface-raised-hover\" />\n <Skeleton className=\"h-ds-03 w-[64px] bg-surface-raised-hover\" />\n </div>\n <Skeleton className=\"h-[16px] w-ds-lg rounded-pill bg-surface-raised-hover\" />\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n )\n},\n)\n\nBoardSkeleton.displayName = 'BoardSkeleton'\n\nexport interface ListSkeletonProps extends CardSkeletonProps {\n rows?: number\n showAvatar?: boolean\n}\n\nconst ListSkeleton = React.forwardRef<HTMLDivElement, ListSkeletonProps>(\n function ListSkeleton({\n rows = 6,\n showAvatar = true,\n className,\n ...props\n}, ref) {\n return (\n <div ref={ref} {...props} className={cn('flex flex-col', className)}>\n {Array.from({ length: rows }).map((_, i) => (\n <div\n key={`list-${i}`}\n className={cn(\n 'flex items-center gap-ds-04 py-ds-04',\n i < rows - 1 && 'border-b border-surface-border-strong',\n )}\n style={{ animationDelay: `${i * 50}ms` }}\n >\n {showAvatar && (\n <Skeleton className=\"h-ds-sm w-ds-sm shrink-0 rounded-pill bg-surface-raised-hover\" />\n )}\n <div className=\"flex flex-1 flex-col gap-ds-02b\">\n <Skeleton className=\"h-[12px] w-2/5 bg-surface-raised-hover\" />\n <Skeleton className=\"h-ds-03 w-3/5 bg-surface-raised-hover\" />\n </div>\n <Skeleton className=\"h-[20px] w-[56px] rounded-pill bg-surface-raised-hover\" />\n </div>\n ))}\n </div>\n )\n},\n)\n\nListSkeleton.displayName = 'ListSkeleton'\n\nexport { BoardSkeleton, CardSkeleton, ListSkeleton,TableSkeleton }\n"],"mappings":"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"}
1
+ {"version":3,"file":"loading-skeleton.js","names":[],"sources":["../../src/composed/loading-skeleton.tsx"],"sourcesContent":["// @server-safe\nimport * as React from 'react'\n\nimport { cn } from '../ui/lib/utils'\nimport { Skeleton } from '../ui/skeleton'\n\nexport interface CardSkeletonProps extends React.ComponentPropsWithoutRef<'div'> {\n className?: string\n}\n\nconst CardSkeleton = React.forwardRef<HTMLDivElement, CardSkeletonProps>(\n function CardSkeleton({ className, ...props }, ref) {\n return (\n <div\n ref={ref}\n {...props}\n className={cn(\n 'rounded-surface border border-surface-border-strong bg-surface-raised p-ds-05b',\n className,\n )}\n >\n <div className=\"flex items-center justify-between pb-ds-05\">\n <Skeleton className=\"h-ds-05 w-[128px] bg-surface-raised-hover\" />\n <Skeleton className=\"h-ico-sm w-ico-sm rounded bg-surface-raised-hover\" />\n </div>\n <div className=\"space-y-ds-04\">\n <Skeleton className=\"h-ds-04 w-full bg-surface-raised-hover\" />\n <Skeleton className=\"h-ds-04 w-4/5 bg-surface-raised-hover\" />\n <Skeleton className=\"h-ds-04 w-3/5 bg-surface-raised-hover\" />\n </div>\n <div className=\"flex items-center gap-ds-03 pt-ds-05\">\n <Skeleton className=\"h-ds-xs w-ds-xs rounded-pill bg-surface-raised-hover\" />\n <Skeleton className=\"h-ds-04 w-ds-11 bg-surface-raised-hover\" />\n </div>\n </div>\n )\n},\n)\n\nCardSkeleton.displayName = 'CardSkeleton'\n\nexport interface TableSkeletonProps extends CardSkeletonProps {\n rows?: number\n columns?: number\n}\n\nconst TableSkeleton = React.forwardRef<HTMLDivElement, TableSkeletonProps>(\n function TableSkeleton({\n rows = 5,\n columns = 4,\n className,\n ...props\n}, ref) {\n return (\n <div\n ref={ref}\n {...props}\n className={cn(\n 'overflow-hidden rounded-surface border border-surface-border-strong',\n className,\n )}\n >\n {/* Header */}\n <div className=\"flex items-center gap-ds-05 border-b border-surface-border-strong bg-surface-raised px-ds-05 py-ds-04\">\n {Array.from({ length: columns }).map((_, i) => (\n <Skeleton\n key={`head-${i}`}\n className={cn(\n 'h-ds-04 bg-surface-raised-hover',\n i === 0 ? 'w-ds-13' : 'flex-1',\n )}\n />\n ))}\n </div>\n\n {/* Rows */}\n {Array.from({ length: rows }).map((_, rowIndex) => (\n <div\n key={`row-${rowIndex}`}\n className={cn(\n 'flex items-center gap-ds-05 px-ds-05 py-ds-04',\n rowIndex < rows - 1 && 'border-b border-surface-border-strong',\n )}\n style={{ animationDelay: `${rowIndex * 50}ms` }}\n >\n {Array.from({ length: columns }).map((_, colIndex) => (\n <Skeleton\n key={`cell-${rowIndex}-${colIndex}`}\n className={cn(\n 'h-ds-04 bg-surface-raised-hover',\n colIndex === 0 ? 'w-ds-13' : 'flex-1',\n )}\n />\n ))}\n </div>\n ))}\n </div>\n )\n},\n)\n\nTableSkeleton.displayName = 'TableSkeleton'\n\nexport interface BoardSkeletonProps extends CardSkeletonProps {\n columns?: number\n cardsPerColumn?: number\n}\n\nconst BoardSkeleton = React.forwardRef<HTMLDivElement, BoardSkeletonProps>(\n function BoardSkeleton({\n columns = 4,\n cardsPerColumn = 3,\n className,\n ...props\n}, ref) {\n return (\n <div ref={ref} {...props} className={cn('flex gap-ds-05 overflow-x-auto', className)}>\n {Array.from({ length: columns }).map((_, colIndex) => (\n <div\n key={`col-${colIndex}`}\n className=\"flex w-[272px] shrink-0 flex-col gap-ds-03\"\n >\n {/* Column header */}\n <div className=\"flex items-center justify-between px-ds-02 py-ds-03\">\n <div className=\"flex items-center gap-ds-03\">\n <Skeleton className=\"h-ds-04 w-ds-04 rounded bg-surface-raised-hover\" />\n <Skeleton className=\"h-ds-04 w-ds-11 bg-surface-raised-hover\" />\n <Skeleton className=\"h-ds-05 w-ds-05b rounded-pill bg-surface-raised-hover\" />\n </div>\n <Skeleton className=\"h-ico-sm w-ico-sm rounded bg-surface-raised-hover\" />\n </div>\n\n {/* Column cards */}\n {Array.from({ length: cardsPerColumn }).map((_, cardIndex) => (\n <div\n key={`card-${colIndex}-${cardIndex}`}\n className=\"rounded-surface border border-surface-border-strong bg-surface-raised p-ds-04\"\n style={{ animationDelay: `${(colIndex * cardsPerColumn + cardIndex) * 50}ms` }}\n >\n <div className=\"space-y-ds-03\">\n <Skeleton className=\"h-ds-04 w-4/5 bg-surface-raised-hover\" />\n <Skeleton className=\"h-ds-04 w-3/5 bg-surface-raised-hover\" />\n </div>\n <div className=\"flex items-center justify-between pt-ds-04\">\n <div className=\"flex items-center gap-ds-02b\">\n <Skeleton className=\"h-ico-md w-ico-md rounded-pill bg-surface-raised-hover\" />\n <Skeleton className=\"h-ds-03 w-ds-10 bg-surface-raised-hover\" />\n </div>\n <Skeleton className=\"h-ds-05 w-ds-lg rounded-pill bg-surface-raised-hover\" />\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n )\n},\n)\n\nBoardSkeleton.displayName = 'BoardSkeleton'\n\nexport interface ListSkeletonProps extends CardSkeletonProps {\n rows?: number\n showAvatar?: boolean\n}\n\nconst ListSkeleton = React.forwardRef<HTMLDivElement, ListSkeletonProps>(\n function ListSkeleton({\n rows = 6,\n showAvatar = true,\n className,\n ...props\n}, ref) {\n return (\n <div ref={ref} {...props} className={cn('flex flex-col', className)}>\n {Array.from({ length: rows }).map((_, i) => (\n <div\n key={`list-${i}`}\n className={cn(\n 'flex items-center gap-ds-04 py-ds-04',\n i < rows - 1 && 'border-b border-surface-border-strong',\n )}\n style={{ animationDelay: `${i * 50}ms` }}\n >\n {showAvatar && (\n <Skeleton className=\"h-ds-sm w-ds-sm shrink-0 rounded-pill bg-surface-raised-hover\" />\n )}\n <div className=\"flex flex-1 flex-col gap-ds-02b\">\n <Skeleton className=\"h-ds-04 w-2/5 bg-surface-raised-hover\" />\n <Skeleton className=\"h-ds-03 w-3/5 bg-surface-raised-hover\" />\n </div>\n <Skeleton className=\"h-ds-05b w-[56px] rounded-pill bg-surface-raised-hover\" />\n </div>\n ))}\n </div>\n )\n},\n)\n\nListSkeleton.displayName = 'ListSkeleton'\n\nexport { BoardSkeleton, CardSkeleton, ListSkeleton,TableSkeleton }\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { springs as e } from "../ui/lib/motion.js";
3
3
  import { cn as t } from "../ui/lib/utils.js";
4
4
  import { Spinner as n } from "../ui/spinner.js";
5
5
  import { Icon as r } from "../ui/icon.js";
6
- import { i, r as a, t as o } from "../_chunks/popover.js";
6
+ import { Popover as i, PopoverContent as a, PopoverTrigger as o } from "../_chunks/popover.js";
7
7
  import * as s from "react";
8
8
  import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
9
9
  import { IconCheck as d, IconSearch as f } from "@tabler/icons-react";
@@ -130,11 +130,11 @@ var m = s.forwardRef(({ items: m, groups: h, value: g, onValueChange: _, searchP
130
130
  })]
131
131
  }, n.id);
132
132
  }
133
- return /* @__PURE__ */ u(o, {
133
+ return /* @__PURE__ */ u(i, {
134
134
  open: A,
135
135
  onOpenChange: j,
136
136
  modal: !1,
137
- children: [/* @__PURE__ */ l(i, {
137
+ children: [/* @__PURE__ */ l(o, {
138
138
  asChild: !0,
139
139
  children: E
140
140
  }), /* @__PURE__ */ u(a, {
@@ -1 +1 @@
1
- {"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../src/composed/page-header.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,UAAU,wFAyFf,CAAA;AAGD,OAAO,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../src/composed/page-header.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,UAAU,wFAmEf,CAAA;AAGD,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -1,54 +1,41 @@
1
1
  import { cn as e } from "../ui/lib/utils.js";
2
- import * as t from "react";
3
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
2
+ import { Breadcrumb as t, BreadcrumbItem as n, BreadcrumbLink as r, BreadcrumbList as i, BreadcrumbPage as a, BreadcrumbSeparator as o } from "../ui/breadcrumb.js";
3
+ import * as s from "react";
4
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
4
5
  //#region src/composed/page-header.tsx
5
- var i = t.forwardRef(({ title: i, subtitle: a, actions: o, breadcrumbs: s, titleClassName: c, className: l, ...u }, d) => {
6
- let f = i ?? s?.[s.length - 1]?.label ?? "";
7
- return /* @__PURE__ */ r("div", {
8
- ref: d,
9
- className: e("flex flex-col gap-ds-05 border-b border-surface-border-strong pb-ds-06", l),
10
- ...u,
11
- children: [s && s.length > 0 && /* @__PURE__ */ n("nav", {
12
- "aria-label": "Breadcrumb",
13
- className: "flex items-center gap-ds-02b",
14
- children: s.map((i, a) => /* @__PURE__ */ r(t.Fragment, { children: [a > 0 && /* @__PURE__ */ n("svg", {
15
- width: 16,
16
- height: 16,
17
- viewBox: "0 0 24 24",
18
- fill: "none",
19
- stroke: "currentColor",
20
- strokeWidth: 1.5,
21
- strokeLinecap: "round",
22
- strokeLinejoin: "round",
23
- "aria-hidden": "true",
24
- className: "text-surface-fg-subtle",
25
- children: /* @__PURE__ */ n("path", { d: "M9 6l6 6l-6 6" })
26
- }), i.href ? /* @__PURE__ */ n("a", {
27
- href: i.href,
28
- className: "text-ds-sm text-surface-fg-subtle transition-colors hover:text-surface-fg-muted focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 rounded-control-inner",
29
- children: i.label
30
- }) : /* @__PURE__ */ n("span", {
31
- className: e("text-ds-sm", a === s.length - 1 ? "text-surface-fg" : "text-surface-fg-subtle"),
32
- children: i.label
33
- })] }, a))
34
- }), (f || a || o) && /* @__PURE__ */ r("div", {
35
- className: "flex items-start justify-between gap-ds-05",
36
- children: [/* @__PURE__ */ r("div", {
37
- className: "flex flex-col gap-ds-02b",
38
- children: [f && /* @__PURE__ */ n("h1", {
39
- className: e("text-ds-2xl font-semibold text-surface-fg", c),
40
- children: f
41
- }), a && /* @__PURE__ */ n("p", {
6
+ var u = s.forwardRef(({ title: u, subtitle: d, actions: f, breadcrumbs: p, titleClassName: m, className: h, ...g }, _) => {
7
+ let v = u ?? p?.[p.length - 1]?.label ?? "";
8
+ return /* @__PURE__ */ l("div", {
9
+ ref: _,
10
+ className: e("flex flex-col gap-ds-05 border-b border-surface-border-strong pb-ds-06", h),
11
+ ...g,
12
+ children: [p && p.length > 0 && /* @__PURE__ */ c(t, {
13
+ className: "text-ds-sm",
14
+ children: /* @__PURE__ */ c(i, { children: p.map((e, t) => {
15
+ let i = t === p.length - 1;
16
+ return /* @__PURE__ */ l(s.Fragment, { children: [t > 0 && /* @__PURE__ */ c(o, {}), /* @__PURE__ */ c(n, { children: e.href && !i ? /* @__PURE__ */ c(r, {
17
+ href: e.href,
18
+ children: e.label
19
+ }) : /* @__PURE__ */ c(a, { children: e.label }) })] }, t);
20
+ }) })
21
+ }), (v || d || f) && /* @__PURE__ */ l("div", {
22
+ className: "flex flex-wrap items-start justify-between gap-ds-05",
23
+ children: [/* @__PURE__ */ l("div", {
24
+ className: "flex min-w-0 flex-col gap-ds-02b",
25
+ children: [v && /* @__PURE__ */ c("h1", {
26
+ className: e("text-ds-2xl font-semibold text-surface-fg", m),
27
+ children: v
28
+ }), d && /* @__PURE__ */ c("p", {
42
29
  className: "text-ds-md text-surface-fg-subtle line-clamp-2",
43
- children: a
30
+ children: d
44
31
  })]
45
- }), o && /* @__PURE__ */ n("div", {
46
- className: "flex shrink-0 items-center gap-ds-03",
47
- children: o
32
+ }), f && /* @__PURE__ */ c("div", {
33
+ className: "flex flex-wrap items-center gap-ds-03",
34
+ children: f
48
35
  })]
49
36
  })]
50
37
  });
51
38
  });
52
- i.displayName = "PageHeader";
39
+ u.displayName = "PageHeader";
53
40
  //#endregion
54
- export { i as PageHeader };
41
+ export { u as PageHeader };
@@ -1 +1 @@
1
- {"version":3,"file":"page-header.js","names":[],"sources":["../../src/composed/page-header.tsx"],"sourcesContent":["// @server-safe\nimport * as React from 'react'\n\nimport { cn } from '../ui/lib/utils'\n\nexport interface Breadcrumb {\n label: string\n href?: string\n}\n\nexport interface PageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n title?: string\n subtitle?: string\n actions?: React.ReactNode\n breadcrumbs?: Breadcrumb[]\n titleClassName?: string\n}\n\nconst PageHeader = React.forwardRef<HTMLDivElement, PageHeaderProps>(\n (\n { title, subtitle, actions, breadcrumbs, titleClassName, className, ...props },\n ref,\n ) => {\n const resolvedTitle =\n title ?? breadcrumbs?.[breadcrumbs.length - 1]?.label ?? ''\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-col gap-ds-05 border-b border-surface-border-strong pb-ds-06',\n className,\n )}\n {...props}\n >\n {breadcrumbs && breadcrumbs.length > 0 && (\n <nav aria-label=\"Breadcrumb\" className=\"flex items-center gap-ds-02b\">\n {breadcrumbs.map((crumb, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"text-surface-fg-subtle\"\n >\n <path d=\"M9 6l6 6l-6 6\" />\n </svg>\n )}\n {crumb.href ? (\n <a\n href={crumb.href}\n className=\"text-ds-sm text-surface-fg-subtle transition-colors hover:text-surface-fg-muted focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 rounded-control-inner\"\n >\n {crumb.label}\n </a>\n ) : (\n <span\n className={cn(\n 'text-ds-sm',\n index === breadcrumbs.length - 1\n ? 'text-surface-fg'\n : 'text-surface-fg-subtle',\n )}\n >\n {crumb.label}\n </span>\n )}\n </React.Fragment>\n ))}\n </nav>\n )}\n\n {(resolvedTitle || subtitle || actions) && (\n <div className=\"flex items-start justify-between gap-ds-05\">\n <div className=\"flex flex-col gap-ds-02b\">\n {resolvedTitle && (\n <h1\n className={cn(\n 'text-ds-2xl font-semibold text-surface-fg',\n titleClassName,\n )}\n >\n {resolvedTitle}\n </h1>\n )}\n {subtitle && (\n <p className=\"text-ds-md text-surface-fg-subtle line-clamp-2\">\n {subtitle}\n </p>\n )}\n </div>\n\n {actions && (\n <div className=\"flex shrink-0 items-center gap-ds-03\">{actions}</div>\n )}\n </div>\n )}\n </div>\n )\n },\n)\nPageHeader.displayName = 'PageHeader'\n\nexport { PageHeader }\n"],"mappings":";;;;AAkBA,IAAM,IAAa,EAAM,YAErB,EAAE,UAAO,aAAU,YAAS,gBAAa,mBAAgB,cAAW,GAAG,KACvE,MACG;CACH,IAAM,IACJ,KAAS,IAAc,EAAY,SAAS,IAAI,SAAS;AAE3D,QACE,kBAAC,OAAD;EACO;EACL,WAAW,EACT,0EACA,EACD;EACD,GAAI;YANN,CAQG,KAAe,EAAY,SAAS,KACnC,kBAAC,OAAD;GAAK,cAAW;GAAa,WAAU;aACpC,EAAY,KAAK,GAAO,MACvB,kBAAC,EAAM,UAAP,EAAA,UAAA,CACG,IAAQ,KACP,kBAAC,OAAD;IACE,OAAO;IACP,QAAQ;IACR,SAAQ;IACR,MAAK;IACL,QAAO;IACP,aAAa;IACb,eAAc;IACd,gBAAe;IACf,eAAY;IACZ,WAAU;cAEV,kBAAC,QAAD,EAAM,GAAE,iBAAkB,CAAA;IACtB,CAAA,EAEP,EAAM,OACL,kBAAC,KAAD;IACE,MAAM,EAAM;IACZ,WAAU;cAET,EAAM;IACL,CAAA,GAEJ,kBAAC,QAAD;IACE,WAAW,EACT,cACA,MAAU,EAAY,SAAS,IAC3B,oBACA,yBACL;cAEA,EAAM;IACF,CAAA,CAEM,EAAA,EApCI,EAoCJ,CACjB;GACE,CAAA,GAGN,KAAiB,KAAY,MAC7B,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACG,KACC,kBAAC,MAAD;KACE,WAAW,EACT,6CACA,EACD;eAEA;KACE,CAAA,EAEN,KACC,kBAAC,KAAD;KAAG,WAAU;eACV;KACC,CAAA,CAEF;OAEL,KACC,kBAAC,OAAD;IAAK,WAAU;cAAwC;IAAc,CAAA,CAEnE;KAEJ;;EAGX;AACD,EAAW,cAAc"}
1
+ {"version":3,"file":"page-header.js","names":[],"sources":["../../src/composed/page-header.tsx"],"sourcesContent":["// @server-safe\nimport * as React from 'react'\n\nimport {\n Breadcrumb as BreadcrumbNav,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../ui/breadcrumb'\nimport { cn } from '../ui/lib/utils'\n\nexport interface Breadcrumb {\n label: string\n href?: string\n}\n\nexport interface PageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n title?: string\n subtitle?: string\n actions?: React.ReactNode\n breadcrumbs?: Breadcrumb[]\n titleClassName?: string\n}\n\nconst PageHeader = React.forwardRef<HTMLDivElement, PageHeaderProps>(\n (\n { title, subtitle, actions, breadcrumbs, titleClassName, className, ...props },\n ref,\n ) => {\n const resolvedTitle =\n title ?? breadcrumbs?.[breadcrumbs.length - 1]?.label ?? ''\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-col gap-ds-05 border-b border-surface-border-strong pb-ds-06',\n className,\n )}\n {...props}\n >\n {breadcrumbs && breadcrumbs.length > 0 && (\n <BreadcrumbNav className=\"text-ds-sm\">\n <BreadcrumbList>\n {breadcrumbs.map((crumb, index) => {\n const isLast = index === breadcrumbs.length - 1\n return (\n <React.Fragment key={index}>\n {index > 0 && <BreadcrumbSeparator />}\n <BreadcrumbItem>\n {crumb.href && !isLast ? (\n <BreadcrumbLink href={crumb.href}>{crumb.label}</BreadcrumbLink>\n ) : (\n <BreadcrumbPage>{crumb.label}</BreadcrumbPage>\n )}\n </BreadcrumbItem>\n </React.Fragment>\n )\n })}\n </BreadcrumbList>\n </BreadcrumbNav>\n )}\n\n {(resolvedTitle || subtitle || actions) && (\n <div className=\"flex flex-wrap items-start justify-between gap-ds-05\">\n <div className=\"flex min-w-0 flex-col gap-ds-02b\">\n {resolvedTitle && (\n <h1\n className={cn(\n 'text-ds-2xl font-semibold text-surface-fg',\n titleClassName,\n )}\n >\n {resolvedTitle}\n </h1>\n )}\n {subtitle && (\n <p className=\"text-ds-md text-surface-fg-subtle line-clamp-2\">\n {subtitle}\n </p>\n )}\n </div>\n\n {actions && (\n <div className=\"flex flex-wrap items-center gap-ds-03\">{actions}</div>\n )}\n </div>\n )}\n </div>\n )\n },\n)\nPageHeader.displayName = 'PageHeader'\n\nexport { PageHeader }\n"],"mappings":";;;;;AA0BA,IAAM,IAAa,EAAM,YAErB,EAAE,UAAO,aAAU,YAAS,gBAAa,mBAAgB,cAAW,GAAG,KACvE,MACG;CACH,IAAM,IACJ,KAAS,IAAc,EAAY,SAAS,IAAI,SAAS;AAE3D,QACE,kBAAC,OAAD;EACO;EACL,WAAW,EACT,0EACA,EACD;EACD,GAAI;YANN,CAQG,KAAe,EAAY,SAAS,KACnC,kBAAC,GAAD;GAAe,WAAU;aACvB,kBAAC,GAAD,EAAA,UACG,EAAY,KAAK,GAAO,MAAU;IACjC,IAAM,IAAS,MAAU,EAAY,SAAS;AAC9C,WACE,kBAAC,EAAM,UAAP,EAAA,UAAA,CACG,IAAQ,KAAK,kBAAC,GAAD,EAAuB,CAAA,EACrC,kBAAC,GAAD,EAAA,UACG,EAAM,QAAQ,CAAC,IACd,kBAAC,GAAD;KAAgB,MAAM,EAAM;eAAO,EAAM;KAAuB,CAAA,GAEhE,kBAAC,GAAD,EAAA,UAAiB,EAAM,OAAuB,CAAA,EAEjC,CAAA,CACF,EAAA,EATI,EASJ;KAEnB,EACa,CAAA;GACH,CAAA,GAGhB,KAAiB,KAAY,MAC7B,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACG,KACC,kBAAC,MAAD;KACE,WAAW,EACT,6CACA,EACD;eAEA;KACE,CAAA,EAEN,KACC,kBAAC,KAAD;KAAG,WAAU;eACV;KACC,CAAA,CAEF;OAEL,KACC,kBAAC,OAAD;IAAK,WAAU;cAAyC;IAAc,CAAA,CAEpE;KAEJ;;EAGX;AACD,EAAW,cAAc"}