tembro 6.0.3 → 6.1.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 (253) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/components/actions/action-menu.d.ts +11 -1
  3. package/dist/components/calendar/calendar-range-scheduler.cjs +1 -0
  4. package/dist/components/calendar/calendar-range-scheduler.d.ts +20 -0
  5. package/dist/components/calendar/calendar-range-scheduler.js +1 -0
  6. package/dist/components/calendar/date-time-picker.cjs +1 -0
  7. package/dist/components/calendar/date-time-picker.d.ts +15 -0
  8. package/dist/components/calendar/date-time-picker.js +1 -0
  9. package/dist/components/calendar/index.d.ts +2 -0
  10. package/dist/components/charts/chart-card.cjs +1 -0
  11. package/dist/components/charts/chart-card.d.ts +24 -0
  12. package/dist/components/charts/chart-card.js +1 -0
  13. package/dist/components/charts/index.d.ts +1 -0
  14. package/dist/components/command/advanced-command-menu.cjs +1 -0
  15. package/dist/components/command/advanced-command-menu.d.ts +25 -0
  16. package/dist/components/command/advanced-command-menu.js +1 -0
  17. package/dist/components/command/index.d.ts +1 -0
  18. package/dist/components/data-table/data-grid.cjs +1 -0
  19. package/dist/components/data-table/data-grid.d.ts +15 -0
  20. package/dist/components/data-table/data-grid.js +1 -0
  21. package/dist/components/data-table/index.d.ts +1 -0
  22. package/dist/components/data-table/public.d.ts +1 -0
  23. package/dist/components/display/index.d.ts +0 -2
  24. package/dist/components/feedback/async-boundary.cjs +1 -0
  25. package/dist/components/feedback/async-boundary.d.ts +12 -0
  26. package/dist/components/feedback/async-boundary.js +1 -0
  27. package/dist/components/feedback/index.d.ts +1 -0
  28. package/dist/components/filters/index.d.ts +0 -1
  29. package/dist/components/inputs/index.d.ts +1 -0
  30. package/dist/components/inputs/multi-select.cjs +1 -0
  31. package/dist/components/inputs/multi-select.d.ts +16 -0
  32. package/dist/components/inputs/multi-select.js +1 -0
  33. package/dist/components/inputs/public.d.ts +1 -0
  34. package/dist/components/inputs/time-picker.d.ts +11 -3
  35. package/dist/components/modern/file-manager.cjs +1 -0
  36. package/dist/components/modern/file-manager.d.ts +20 -0
  37. package/dist/components/modern/file-manager.js +1 -0
  38. package/dist/components/modern/index.d.ts +4 -1
  39. package/dist/components/modern/map.cjs +1 -0
  40. package/dist/components/modern/map.d.ts +29 -0
  41. package/dist/components/modern/map.js +1 -0
  42. package/dist/components/modern/media-player.cjs +1 -0
  43. package/dist/components/modern/media-player.d.ts +21 -0
  44. package/dist/components/modern/media-player.js +1 -0
  45. package/dist/components/modern/spreadsheet.cjs +1 -0
  46. package/dist/components/modern/spreadsheet.d.ts +35 -0
  47. package/dist/components/modern/spreadsheet.js +1 -0
  48. package/dist/components/notifications/action-toast.cjs +1 -0
  49. package/dist/components/notifications/action-toast.d.ts +16 -0
  50. package/dist/components/notifications/action-toast.js +1 -0
  51. package/dist/components/notifications/index.d.ts +1 -0
  52. package/dist/components/overlay/drawer.d.ts +3 -1
  53. package/dist/components/patterns/index.d.ts +1 -0
  54. package/dist/components/patterns/permissions-matrix.cjs +1 -0
  55. package/dist/components/patterns/permissions-matrix.d.ts +19 -0
  56. package/dist/components/patterns/permissions-matrix.js +1 -0
  57. package/dist/components/patterns/public.d.ts +1 -0
  58. package/dist/index.d.ts +0 -2
  59. package/dist/src/components/actions/action-menu.cjs +1 -1
  60. package/dist/src/components/actions/action-menu.js +47 -39
  61. package/dist/src/components/actions/copy-button.cjs +1 -1
  62. package/dist/src/components/actions/copy-button.js +4 -1
  63. package/dist/src/components/calendar/calendar-range-scheduler.cjs +1 -0
  64. package/dist/src/components/calendar/calendar-range-scheduler.js +75 -0
  65. package/dist/src/components/calendar/date-picker.cjs +1 -1
  66. package/dist/src/components/calendar/date-picker.js +5 -8
  67. package/dist/src/components/calendar/date-range-picker.cjs +1 -1
  68. package/dist/src/components/calendar/date-range-picker.js +12 -27
  69. package/dist/src/components/calendar/date-time-picker.cjs +1 -0
  70. package/dist/src/components/calendar/date-time-picker.js +36 -0
  71. package/dist/src/components/calendar/index.cjs +1 -1
  72. package/dist/src/components/calendar/index.js +5 -3
  73. package/dist/src/components/charts/chart-card.cjs +1 -0
  74. package/dist/src/components/charts/chart-card.js +55 -0
  75. package/dist/src/components/charts/index.cjs +1 -1
  76. package/dist/src/components/charts/index.js +3 -2
  77. package/dist/src/components/command/advanced-command-menu.cjs +1 -0
  78. package/dist/src/components/command/advanced-command-menu.js +57 -0
  79. package/dist/src/components/command/index.cjs +1 -1
  80. package/dist/src/components/command/index.js +3 -2
  81. package/dist/src/components/data-table/data-grid.cjs +1 -0
  82. package/dist/src/components/data-table/data-grid.js +32 -0
  83. package/dist/src/components/data-table/data-table-saved-filters.cjs +1 -1
  84. package/dist/src/components/data-table/data-table-saved-filters.js +11 -11
  85. package/dist/src/components/data-table/data-table.cjs +1 -1
  86. package/dist/src/components/data-table/data-table.js +175 -174
  87. package/dist/src/components/data-table/index.cjs +1 -1
  88. package/dist/src/components/data-table/index.js +15 -14
  89. package/dist/src/components/data-table/public.cjs +1 -1
  90. package/dist/src/components/data-table/public.js +3 -2
  91. package/dist/src/components/display/index.cjs +1 -1
  92. package/dist/src/components/display/index.js +9 -11
  93. package/dist/src/components/feedback/async-boundary.cjs +1 -0
  94. package/dist/src/components/feedback/async-boundary.js +22 -0
  95. package/dist/src/components/feedback/index.cjs +1 -1
  96. package/dist/src/components/feedback/index.js +2 -1
  97. package/dist/src/components/filters/index.cjs +1 -1
  98. package/dist/src/components/filters/index.js +2 -3
  99. package/dist/src/components/inputs/color-picker.cjs +1 -1
  100. package/dist/src/components/inputs/color-picker.js +63 -46
  101. package/dist/src/components/inputs/index.cjs +1 -1
  102. package/dist/src/components/inputs/index.js +13 -12
  103. package/dist/src/components/inputs/multi-select.cjs +1 -0
  104. package/dist/src/components/inputs/multi-select.js +80 -0
  105. package/dist/src/components/inputs/public.cjs +1 -1
  106. package/dist/src/components/inputs/public.js +13 -12
  107. package/dist/src/components/inputs/slider.cjs +1 -1
  108. package/dist/src/components/inputs/slider.js +3 -3
  109. package/dist/src/components/inputs/tag-input.cjs +1 -1
  110. package/dist/src/components/inputs/tag-input.js +7 -4
  111. package/dist/src/components/inputs/time-picker.cjs +1 -1
  112. package/dist/src/components/inputs/time-picker.js +90 -34
  113. package/dist/src/components/modern/file-manager.cjs +1 -0
  114. package/dist/src/components/modern/file-manager.js +75 -0
  115. package/dist/src/components/modern/index.cjs +1 -1
  116. package/dist/src/components/modern/index.js +7 -4
  117. package/dist/src/components/modern/map.cjs +1 -0
  118. package/dist/src/components/modern/map.js +158 -0
  119. package/dist/src/components/modern/media-player.cjs +1 -0
  120. package/dist/src/components/modern/media-player.js +176 -0
  121. package/dist/src/components/modern/resizable-panel.cjs +1 -1
  122. package/dist/src/components/modern/resizable-panel.js +39 -32
  123. package/dist/src/components/modern/spreadsheet.cjs +1 -0
  124. package/dist/src/components/modern/spreadsheet.js +97 -0
  125. package/dist/src/components/navigation/pagination.cjs +1 -1
  126. package/dist/src/components/navigation/pagination.js +5 -5
  127. package/dist/src/components/notifications/action-toast.cjs +1 -0
  128. package/dist/src/components/notifications/action-toast.js +49 -0
  129. package/dist/src/components/notifications/index.cjs +1 -1
  130. package/dist/src/components/notifications/index.js +3 -2
  131. package/dist/src/components/notifications/toast.cjs +1 -1
  132. package/dist/src/components/notifications/toast.js +68 -63
  133. package/dist/src/components/overlay/alert-dialog.cjs +1 -1
  134. package/dist/src/components/overlay/alert-dialog.js +8 -6
  135. package/dist/src/components/overlay/drawer.cjs +1 -1
  136. package/dist/src/components/overlay/drawer.js +38 -20
  137. package/dist/src/components/patterns/index.cjs +1 -1
  138. package/dist/src/components/patterns/index.js +2 -1
  139. package/dist/src/components/patterns/permissions-matrix.cjs +1 -0
  140. package/dist/src/components/patterns/permissions-matrix.js +43 -0
  141. package/dist/src/components/patterns/public.cjs +1 -1
  142. package/dist/src/components/patterns/public.js +2 -1
  143. package/dist/src/components/ui/checkbox/index.cjs +1 -1
  144. package/dist/src/components/ui/checkbox/index.js +2 -1
  145. package/dist/src/components/ui/dialog/index.cjs +1 -1
  146. package/dist/src/components/ui/dialog/index.js +8 -8
  147. package/dist/src/components/ui/dropdown-menu/index.cjs +1 -1
  148. package/dist/src/components/ui/dropdown-menu/index.js +21 -19
  149. package/dist/src/components/ui/input/group.cjs +1 -1
  150. package/dist/src/components/ui/input/group.js +8 -8
  151. package/dist/src/components/ui/popover/index.cjs +1 -1
  152. package/dist/src/components/ui/popover/index.js +10 -10
  153. package/dist/src/components/ui/tabs/index.cjs +1 -1
  154. package/dist/src/components/ui/tabs/index.js +6 -6
  155. package/dist/src/components/ui/toggle-group/index.cjs +1 -1
  156. package/dist/src/components/ui/toggle-group/index.js +2 -2
  157. package/dist/src/index.cjs +1 -1
  158. package/dist/src/index.js +111 -104
  159. package/dist/src/public-component-surface.cjs +1 -1
  160. package/dist/src/public-component-surface.js +59 -14
  161. package/package.json +1 -2
  162. package/packages/cli/dist/index.cjs +45 -165
  163. package/packages/cli/vendor/src/components/actions/action-menu.tsx +47 -19
  164. package/packages/cli/vendor/src/components/actions/copy-button.tsx +2 -2
  165. package/packages/cli/vendor/src/components/calendar/calendar-range-scheduler.tsx +72 -0
  166. package/packages/cli/vendor/src/components/calendar/date-picker.tsx +2 -5
  167. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +5 -12
  168. package/packages/cli/vendor/src/components/calendar/date-time-picker.tsx +53 -0
  169. package/packages/cli/vendor/src/components/calendar/index.ts +5 -3
  170. package/packages/cli/vendor/src/components/charts/chart-card.tsx +81 -0
  171. package/packages/cli/vendor/src/components/charts/index.ts +1 -0
  172. package/packages/cli/vendor/src/components/command/advanced-command-menu.tsx +88 -0
  173. package/packages/cli/vendor/src/components/command/index.ts +2 -1
  174. package/packages/cli/vendor/src/components/data-table/data-grid.tsx +59 -0
  175. package/packages/cli/vendor/src/components/data-table/data-table.tsx +45 -34
  176. package/packages/cli/vendor/src/components/data-table/index.ts +3 -2
  177. package/packages/cli/vendor/src/components/data-table/public.ts +1 -0
  178. package/packages/cli/vendor/src/components/display/index.ts +3 -5
  179. package/packages/cli/vendor/src/components/feedback/async-boundary.tsx +36 -0
  180. package/packages/cli/vendor/src/components/feedback/index.ts +1 -0
  181. package/packages/cli/vendor/src/components/filters/index.ts +0 -1
  182. package/packages/cli/vendor/src/components/inputs/color-picker.tsx +15 -1
  183. package/packages/cli/vendor/src/components/inputs/index.ts +1 -0
  184. package/packages/cli/vendor/src/components/inputs/multi-select.tsx +75 -0
  185. package/packages/cli/vendor/src/components/inputs/public.ts +1 -0
  186. package/packages/cli/vendor/src/components/inputs/slider.tsx +3 -3
  187. package/packages/cli/vendor/src/components/inputs/tag-input.tsx +4 -4
  188. package/packages/cli/vendor/src/components/inputs/time-picker.tsx +91 -38
  189. package/packages/cli/vendor/src/components/modern/file-manager.tsx +79 -0
  190. package/packages/cli/vendor/src/components/modern/index.ts +4 -1
  191. package/packages/cli/vendor/src/components/modern/map.tsx +146 -0
  192. package/packages/cli/vendor/src/components/modern/media-player.tsx +182 -0
  193. package/packages/cli/vendor/src/components/modern/resizable-panel.tsx +15 -5
  194. package/packages/cli/vendor/src/components/modern/spreadsheet.tsx +155 -0
  195. package/packages/cli/vendor/src/components/navigation/pagination.tsx +9 -5
  196. package/packages/cli/vendor/src/components/notifications/action-toast.tsx +78 -0
  197. package/packages/cli/vendor/src/components/notifications/index.ts +2 -1
  198. package/packages/cli/vendor/src/components/notifications/toast.tsx +20 -10
  199. package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +3 -5
  200. package/packages/cli/vendor/src/components/overlay/drawer.tsx +22 -11
  201. package/packages/cli/vendor/src/components/patterns/index.ts +1 -0
  202. package/packages/cli/vendor/src/components/patterns/permissions-matrix.tsx +71 -0
  203. package/packages/cli/vendor/src/components/patterns/public.ts +1 -0
  204. package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +3 -1
  205. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +4 -4
  206. package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +18 -22
  207. package/packages/cli/vendor/src/components/ui/popover/index.tsx +4 -4
  208. package/packages/cli/vendor/src/components/ui/tabs/index.tsx +8 -3
  209. package/packages/cli/vendor/src/components/ui/toggle-group/index.tsx +6 -6
  210. package/packages/cli/vendor/src/index.ts +0 -2
  211. package/packages/cli/vendor/src/public-component-surface.ts +13 -4
  212. package/packages/cli/vendor/templates/showcase/src/showcase/data/registry.ts +6 -6
  213. package/packages/cli/vendor/templates/showcase/src/showcase/layout/HeroSection.tsx +23 -8
  214. package/packages/cli/vendor/templates/showcase/src/showcase/layout/WorkbenchSidebar.tsx +1 -1
  215. package/packages/cli/vendor/templates/showcase/src/showcase/sections/PatternsSection.tsx +1 -1
  216. package/packages/cli/vendor/templates/styles/globals.css +0 -120
  217. package/registry.json +3197 -2794
  218. package/dist/components/display/info-card.cjs +0 -1
  219. package/dist/components/display/info-card.d.ts +0 -51
  220. package/dist/components/display/info-card.js +0 -1
  221. package/dist/components/display/statistic.cjs +0 -1
  222. package/dist/components/display/statistic.d.ts +0 -25
  223. package/dist/components/display/statistic.js +0 -1
  224. package/dist/components/filters/filter-bar.cjs +0 -1
  225. package/dist/components/filters/filter-bar.d.ts +0 -28
  226. package/dist/components/filters/filter-bar.js +0 -1
  227. package/dist/components/modern/image-cropper.cjs +0 -1
  228. package/dist/components/modern/image-cropper.d.ts +0 -39
  229. package/dist/components/modern/image-cropper.js +0 -1
  230. package/dist/components/ui/number-field/index.cjs +0 -1
  231. package/dist/components/ui/number-field/index.d.ts +0 -18
  232. package/dist/components/ui/number-field/index.js +0 -1
  233. package/dist/components/ui/toolbar/index.cjs +0 -1
  234. package/dist/components/ui/toolbar/index.d.ts +0 -14
  235. package/dist/components/ui/toolbar/index.js +0 -1
  236. package/dist/src/components/display/info-card.cjs +0 -1
  237. package/dist/src/components/display/info-card.js +0 -124
  238. package/dist/src/components/display/statistic.cjs +0 -1
  239. package/dist/src/components/display/statistic.js +0 -104
  240. package/dist/src/components/filters/filter-bar.cjs +0 -1
  241. package/dist/src/components/filters/filter-bar.js +0 -103
  242. package/dist/src/components/modern/image-cropper.cjs +0 -1
  243. package/dist/src/components/modern/image-cropper.js +0 -143
  244. package/dist/src/components/ui/number-field/index.cjs +0 -1
  245. package/dist/src/components/ui/number-field/index.js +0 -73
  246. package/dist/src/components/ui/toolbar/index.cjs +0 -1
  247. package/dist/src/components/ui/toolbar/index.js +0 -50
  248. package/packages/cli/vendor/src/components/display/info-card.tsx +0 -195
  249. package/packages/cli/vendor/src/components/display/statistic.tsx +0 -114
  250. package/packages/cli/vendor/src/components/filters/filter-bar.tsx +0 -163
  251. package/packages/cli/vendor/src/components/modern/image-cropper.tsx +0 -226
  252. package/packages/cli/vendor/src/components/ui/number-field/index.tsx +0 -89
  253. package/packages/cli/vendor/src/components/ui/toolbar/index.tsx +0 -67
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { StateView as e } from "./state-view.js";
3
+ import "react";
4
+ import { Fragment as t, jsx as n } from "react/jsx-runtime";
5
+ //#region src/components/feedback/async-boundary.tsx
6
+ function r({ loading: r, error: i, empty: a, loadingTitle: o = "Loading", errorTitle: s = "Unable to load", emptyTitle: c = "No data", onRetry: l, children: u }) {
7
+ return r ? /* @__PURE__ */ n(e, {
8
+ status: "loading",
9
+ title: o,
10
+ loadingVariant: "skeleton"
11
+ }) : i ? /* @__PURE__ */ n(e, {
12
+ status: "error",
13
+ title: s,
14
+ description: i instanceof Error ? i.message : "Try again or check the request.",
15
+ onRetry: l
16
+ }) : a ? /* @__PURE__ */ n(e, {
17
+ status: "empty",
18
+ title: c
19
+ }) : /* @__PURE__ */ n(t, { children: u });
20
+ }
21
+ //#endregion
22
+ export { r as AsyncBoundary };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./state-view.cjs"),t=require("./alert.cjs");exports.Alert=t.Alert,exports.StateView=e.StateView;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./state-view.cjs"),t=require("./alert.cjs"),n=require("./async-boundary.cjs");exports.Alert=t.Alert,exports.AsyncBoundary=n.AsyncBoundary,exports.StateView=e.StateView;
@@ -1,3 +1,4 @@
1
1
  import { StateView as e } from "./state-view.js";
2
2
  import { Alert as t } from "./alert.js";
3
- export { t as Alert, e as StateView };
3
+ import { AsyncBoundary as n } from "./async-boundary.js";
4
+ export { t as Alert, n as AsyncBoundary, e as StateView };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./filter-bar.cjs"),t=require("./saved-filter-select.cjs");exports.FilterBar=e.FilterBar,exports.SavedFilterSelect=t.SavedFilterSelect;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./saved-filter-select.cjs");exports.SavedFilterSelect=e.SavedFilterSelect;
@@ -1,3 +1,2 @@
1
- import { FilterBar as e } from "./filter-bar.js";
2
- import { SavedFilterSelect as t } from "./saved-filter-select.js";
3
- export { e as FilterBar, t as SavedFilterSelect };
1
+ import { SavedFilterSelect as e } from "./saved-filter-select.js";
2
+ export { e as SavedFilterSelect };
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");var i=/^#?([0-9a-f]{6})([0-9a-f]{2})?$/i;function a(e,t=`#000000`){let n=e.trim().match(i);return n?`#${n[1].toLowerCase()}${n[2]?.toLowerCase()??``}`:t}function o(e){return a(e).slice(0,7)}function s(e){let t=a(e);return t.length===9?Math.round(Number.parseInt(t.slice(7,9),16)/255*100):100}function c(e,t,n){let r=o(e);return n?`${r}${Math.round(Math.min(100,Math.max(0,t))/100*255).toString(16).padStart(2,`0`)}`:r}function l({value:e,defaultValue:a=`#2563eb`,onValueChange:l,swatches:u=[`#0f172a`,`#2563eb`,`#059669`,`#d97706`,`#dc2626`,`#7c3aed`],showAlpha:d=!1,disabled:f=!1,label:p,labels:m,className:h,...g}){let[_,v]=n.useState(()=>c(a,s(a),d)),y=c(e??_,s(e??_),d),[b,x]=n.useState(y);n.useEffect(()=>x(y),[y]);let S=t=>{let n=c(t,s(t),d);e===void 0&&v(n),l?.(n)},C=()=>{if(!i.test(b.trim())){x(y);return}S(b)};return(0,r.jsxs)(`div`,{"data-slot":`color-picker`,className:t.cn(`grid gap-3`,h),...g,children:[p?(0,r.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:p}):null,(0,r.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,r.jsxs)(`label`,{className:`relative size-10 shrink-0 overflow-hidden rounded-md border bg-background shadow-sm focus-within:ring-2 focus-within:ring-ring`,children:[(0,r.jsx)(`span`,{className:`sr-only`,children:m?.color??`Choose color`}),(0,r.jsx)(`input`,{type:`color`,"aria-label":m?.color??`Choose color`,value:o(y),disabled:f,className:`absolute -inset-2 size-14 cursor-pointer border-0 bg-transparent p-0 disabled:cursor-not-allowed`,onChange:e=>S(c(e.target.value,s(y),d))})]}),(0,r.jsx)(`input`,{"aria-label":m?.hex??`Hex color`,value:b,disabled:f,spellCheck:!1,className:`h-10 min-w-0 flex-1 rounded-md border bg-background px-3 font-mono text-sm uppercase outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,onChange:e=>x(e.target.value),onBlur:C,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),C()),e.key===`Escape`&&x(y)}})]}),d?(0,r.jsxs)(`label`,{className:`grid grid-cols-[1fr_auto] items-center gap-3 text-xs text-muted-foreground`,children:[(0,r.jsx)(`span`,{className:`sr-only`,children:m?.alpha??`Opacity`}),(0,r.jsx)(`input`,{type:`range`,min:`0`,max:`100`,value:s(y),disabled:f,"aria-label":m?.alpha??`Opacity`,className:`w-full accent-foreground disabled:cursor-not-allowed`,onChange:e=>S(c(y,Number(e.target.value),!0))}),(0,r.jsxs)(`span`,{className:`w-10 text-right tabular-nums`,children:[s(y),`%`]})]}):null,u.length>0?(0,r.jsx)(`div`,{role:`list`,"aria-label":`Color swatches`,className:`flex flex-wrap gap-2`,children:u.map(e=>{let t=c(e,s(y),d),n=o(t)===o(y);return(0,r.jsx)(`button`,{type:`button`,role:`listitem`,"aria-label":`Use ${e}`,"aria-pressed":n,disabled:f,className:`size-7 rounded-md border border-black/10 shadow-sm outline-none ring-offset-2 focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,style:{backgroundColor:o(t)},onClick:()=>S(t)},e)})}):null]})}exports.ColorPicker=l,exports.getAlphaPercent=s,exports.normalizeHexColor=a,exports.withAlpha=c;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");var i=/^#?([0-9a-f]{6})([0-9a-f]{2})?$/i;function a(e,t=`#000000`){let n=e.trim().match(i);return n?`#${n[1].toLowerCase()}${n[2]?.toLowerCase()??``}`:t}function o(e){return a(e).slice(0,7)}function s(e){let t=a(e);return t.length===9?Math.round(Number.parseInt(t.slice(7,9),16)/255*100):100}function c(e,t,n){let r=o(e);return n?`${r}${Math.round(Math.min(100,Math.max(0,t))/100*255).toString(16).padStart(2,`0`)}`:r}function l(e){let t=o(e);return{background:`linear-gradient(90deg, ${t}00 0%, ${t}ff 100%)`}}function u({value:e,defaultValue:a=`#2563eb`,onValueChange:u,swatches:d=[`#0f172a`,`#2563eb`,`#059669`,`#d97706`,`#dc2626`,`#7c3aed`],showAlpha:f=!1,disabled:p=!1,label:m,labels:h,className:g,..._}){let[v,y]=n.useState(()=>c(a,s(a),f)),b=c(e??v,s(e??v),f),[x,S]=n.useState(b);n.useEffect(()=>S(b),[b]);let C=t=>{let n=c(t,s(t),f);e===void 0&&y(n),u?.(n)},w=()=>{if(!i.test(x.trim())){S(b);return}C(x)};return(0,r.jsxs)(`div`,{"data-slot":`color-picker`,className:t.cn(`grid gap-3`,g),..._,children:[m?(0,r.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:m}):null,(0,r.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,r.jsxs)(`label`,{className:`relative size-10 shrink-0 overflow-hidden rounded-md border bg-background shadow-sm focus-within:ring-2 focus-within:ring-ring`,children:[(0,r.jsx)(`span`,{"aria-hidden":`true`,className:`absolute inset-0 bg-[linear-gradient(45deg,#e2e8f0_25%,transparent_25%),linear-gradient(-45deg,#e2e8f0_25%,transparent_25%),linear-gradient(45deg,transparent_75%,#e2e8f0_75%),linear-gradient(-45deg,transparent_75%,#e2e8f0_75%)] bg-[length:10px_10px] bg-[position:0_0,0_5px,5px_-5px,-5px_0]`}),(0,r.jsx)(`span`,{"aria-hidden":`true`,className:`absolute inset-0`,style:{backgroundColor:b}}),(0,r.jsx)(`span`,{className:`sr-only`,children:h?.color??`Choose color`}),(0,r.jsx)(`input`,{type:`color`,"aria-label":h?.color??`Choose color`,value:o(b),disabled:p,className:`absolute -inset-2 size-14 cursor-pointer border-0 bg-transparent p-0 disabled:cursor-not-allowed`,onChange:e=>C(c(e.target.value,s(b),f))})]}),(0,r.jsx)(`input`,{"aria-label":h?.hex??`Hex color`,value:x,disabled:p,spellCheck:!1,className:`h-10 min-w-0 flex-1 rounded-md border bg-background px-3 font-mono text-sm uppercase outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,onChange:e=>S(e.target.value),onBlur:w,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),w()),e.key===`Escape`&&S(b)}})]}),f?(0,r.jsxs)(`label`,{className:`grid grid-cols-[1fr_auto] items-center gap-3 text-xs text-muted-foreground`,children:[(0,r.jsx)(`span`,{className:`sr-only`,children:h?.alpha??`Opacity`}),(0,r.jsx)(`input`,{type:`range`,min:`0`,max:`100`,value:s(b),disabled:p,"aria-label":h?.alpha??`Opacity`,style:l(b),className:`h-2 w-full cursor-pointer appearance-none rounded-full border border-border/70 outline-none focus-visible:ring-4 focus-visible:ring-ring/20 disabled:cursor-not-allowed [&::-webkit-slider-thumb]:size-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-background [&::-webkit-slider-thumb]:bg-foreground [&::-webkit-slider-thumb]:shadow-sm`,onChange:e=>C(c(b,Number(e.target.value),!0))}),(0,r.jsxs)(`span`,{className:`w-10 text-right tabular-nums`,children:[s(b),`%`]})]}):null,d.length>0?(0,r.jsx)(`div`,{role:`list`,"aria-label":`Color swatches`,className:`flex flex-wrap gap-2`,children:d.map(e=>{let t=c(e,s(b),f),n=o(t)===o(b);return(0,r.jsx)(`button`,{type:`button`,role:`listitem`,"aria-label":`Use ${e}`,"aria-pressed":n,disabled:p,className:`size-7 rounded-md border border-black/10 shadow-sm outline-none ring-offset-2 focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,style:{backgroundColor:o(t)},onClick:()=>C(t)},e)})}):null]})}exports.ColorPicker=u,exports.getAlphaPercent=s,exports.normalizeHexColor=a,exports.withAlpha=c;
@@ -19,101 +19,118 @@ function c(e, t, n) {
19
19
  let r = o(e);
20
20
  return n ? `${r}${Math.round(Math.min(100, Math.max(0, t)) / 100 * 255).toString(16).padStart(2, "0")}` : r;
21
21
  }
22
- function l({ value: a, defaultValue: l = "#2563eb", onValueChange: u, swatches: d = [
22
+ function l(e) {
23
+ let t = o(e);
24
+ return { background: `linear-gradient(90deg, ${t}00 0%, ${t}ff 100%)` };
25
+ }
26
+ function u({ value: a, defaultValue: u = "#2563eb", onValueChange: d, swatches: f = [
23
27
  "#0f172a",
24
28
  "#2563eb",
25
29
  "#059669",
26
30
  "#d97706",
27
31
  "#dc2626",
28
32
  "#7c3aed"
29
- ], showAlpha: f = !1, disabled: p = !1, label: m, labels: h, className: g, ..._ }) {
30
- let [v, y] = t.useState(() => c(l, s(l), f)), b = c(a ?? v, s(a ?? v), f), [x, S] = t.useState(b);
31
- t.useEffect(() => S(b), [b]);
32
- let C = (e) => {
33
- let t = c(e, s(e), f);
34
- a === void 0 && y(t), u?.(t);
35
- }, w = () => {
36
- if (!i.test(x.trim())) {
37
- S(b);
33
+ ], showAlpha: p = !1, disabled: m = !1, label: h, labels: g, className: _, ...v }) {
34
+ let [y, b] = t.useState(() => c(u, s(u), p)), x = c(a ?? y, s(a ?? y), p), [S, C] = t.useState(x);
35
+ t.useEffect(() => C(x), [x]);
36
+ let w = (e) => {
37
+ let t = c(e, s(e), p);
38
+ a === void 0 && b(t), d?.(t);
39
+ }, T = () => {
40
+ if (!i.test(S.trim())) {
41
+ C(x);
38
42
  return;
39
43
  }
40
- C(x);
44
+ w(S);
41
45
  };
42
46
  return /* @__PURE__ */ r("div", {
43
47
  "data-slot": "color-picker",
44
- className: e("grid gap-3", g),
45
- ..._,
48
+ className: e("grid gap-3", _),
49
+ ...v,
46
50
  children: [
47
- m ? /* @__PURE__ */ n("div", {
51
+ h ? /* @__PURE__ */ n("div", {
48
52
  className: "text-sm font-medium text-foreground",
49
- children: m
53
+ children: h
50
54
  }) : null,
51
55
  /* @__PURE__ */ r("div", {
52
56
  className: "flex min-w-0 items-center gap-2",
53
57
  children: [/* @__PURE__ */ r("label", {
54
58
  className: "relative size-10 shrink-0 overflow-hidden rounded-md border bg-background shadow-sm focus-within:ring-2 focus-within:ring-ring",
55
- children: [/* @__PURE__ */ n("span", {
56
- className: "sr-only",
57
- children: h?.color ?? "Choose color"
58
- }), /* @__PURE__ */ n("input", {
59
- type: "color",
60
- "aria-label": h?.color ?? "Choose color",
61
- value: o(b),
62
- disabled: p,
63
- className: "absolute -inset-2 size-14 cursor-pointer border-0 bg-transparent p-0 disabled:cursor-not-allowed",
64
- onChange: (e) => C(c(e.target.value, s(b), f))
65
- })]
59
+ children: [
60
+ /* @__PURE__ */ n("span", {
61
+ "aria-hidden": "true",
62
+ className: "absolute inset-0 bg-[linear-gradient(45deg,#e2e8f0_25%,transparent_25%),linear-gradient(-45deg,#e2e8f0_25%,transparent_25%),linear-gradient(45deg,transparent_75%,#e2e8f0_75%),linear-gradient(-45deg,transparent_75%,#e2e8f0_75%)] bg-[length:10px_10px] bg-[position:0_0,0_5px,5px_-5px,-5px_0]"
63
+ }),
64
+ /* @__PURE__ */ n("span", {
65
+ "aria-hidden": "true",
66
+ className: "absolute inset-0",
67
+ style: { backgroundColor: x }
68
+ }),
69
+ /* @__PURE__ */ n("span", {
70
+ className: "sr-only",
71
+ children: g?.color ?? "Choose color"
72
+ }),
73
+ /* @__PURE__ */ n("input", {
74
+ type: "color",
75
+ "aria-label": g?.color ?? "Choose color",
76
+ value: o(x),
77
+ disabled: m,
78
+ className: "absolute -inset-2 size-14 cursor-pointer border-0 bg-transparent p-0 disabled:cursor-not-allowed",
79
+ onChange: (e) => w(c(e.target.value, s(x), p))
80
+ })
81
+ ]
66
82
  }), /* @__PURE__ */ n("input", {
67
- "aria-label": h?.hex ?? "Hex color",
68
- value: x,
69
- disabled: p,
83
+ "aria-label": g?.hex ?? "Hex color",
84
+ value: S,
85
+ disabled: m,
70
86
  spellCheck: !1,
71
87
  className: "h-10 min-w-0 flex-1 rounded-md border bg-background px-3 font-mono text-sm uppercase outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
72
- onChange: (e) => S(e.target.value),
73
- onBlur: w,
88
+ onChange: (e) => C(e.target.value),
89
+ onBlur: T,
74
90
  onKeyDown: (e) => {
75
- e.key === "Enter" && (e.preventDefault(), w()), e.key === "Escape" && S(b);
91
+ e.key === "Enter" && (e.preventDefault(), T()), e.key === "Escape" && C(x);
76
92
  }
77
93
  })]
78
94
  }),
79
- f ? /* @__PURE__ */ r("label", {
95
+ p ? /* @__PURE__ */ r("label", {
80
96
  className: "grid grid-cols-[1fr_auto] items-center gap-3 text-xs text-muted-foreground",
81
97
  children: [
82
98
  /* @__PURE__ */ n("span", {
83
99
  className: "sr-only",
84
- children: h?.alpha ?? "Opacity"
100
+ children: g?.alpha ?? "Opacity"
85
101
  }),
86
102
  /* @__PURE__ */ n("input", {
87
103
  type: "range",
88
104
  min: "0",
89
105
  max: "100",
90
- value: s(b),
91
- disabled: p,
92
- "aria-label": h?.alpha ?? "Opacity",
93
- className: "w-full accent-foreground disabled:cursor-not-allowed",
94
- onChange: (e) => C(c(b, Number(e.target.value), !0))
106
+ value: s(x),
107
+ disabled: m,
108
+ "aria-label": g?.alpha ?? "Opacity",
109
+ style: l(x),
110
+ className: "h-2 w-full cursor-pointer appearance-none rounded-full border border-border/70 outline-none focus-visible:ring-4 focus-visible:ring-ring/20 disabled:cursor-not-allowed [&::-webkit-slider-thumb]:size-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-background [&::-webkit-slider-thumb]:bg-foreground [&::-webkit-slider-thumb]:shadow-sm",
111
+ onChange: (e) => w(c(x, Number(e.target.value), !0))
95
112
  }),
96
113
  /* @__PURE__ */ r("span", {
97
114
  className: "w-10 text-right tabular-nums",
98
- children: [s(b), "%"]
115
+ children: [s(x), "%"]
99
116
  })
100
117
  ]
101
118
  }) : null,
102
- d.length > 0 ? /* @__PURE__ */ n("div", {
119
+ f.length > 0 ? /* @__PURE__ */ n("div", {
103
120
  role: "list",
104
121
  "aria-label": "Color swatches",
105
122
  className: "flex flex-wrap gap-2",
106
- children: d.map((e) => {
107
- let t = c(e, s(b), f), r = o(t) === o(b);
123
+ children: f.map((e) => {
124
+ let t = c(e, s(x), p), r = o(t) === o(x);
108
125
  return /* @__PURE__ */ n("button", {
109
126
  type: "button",
110
127
  role: "listitem",
111
128
  "aria-label": `Use ${e}`,
112
129
  "aria-pressed": r,
113
- disabled: p,
130
+ disabled: m,
114
131
  className: "size-7 rounded-md border border-black/10 shadow-sm outline-none ring-offset-2 focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
115
132
  style: { backgroundColor: o(t) },
116
- onClick: () => C(t)
133
+ onClick: () => w(t)
117
134
  }, e);
118
135
  })
119
136
  }) : null
@@ -121,4 +138,4 @@ function l({ value: a, defaultValue: l = "#2563eb", onValueChange: u, swatches:
121
138
  });
122
139
  }
123
140
  //#endregion
124
- export { l as ColorPicker, s as getAlphaPercent, a as normalizeHexColor, c as withAlpha };
141
+ export { u as ColorPicker, s as getAlphaPercent, a as normalizeHexColor, c as withAlpha };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./async-select.cjs"),t=require("./color-picker.cjs"),n=require("./combobox.cjs"),r=require("./otp-input.cjs"),i=require("./rating.cjs"),a=require("./json-input.cjs"),o=require("./time-picker.cjs"),s=require("./slider.cjs"),c=require("./tag-input.cjs"),l=require("./inline-editable.cjs"),u=require("./signature-pad.cjs");exports.AsyncMultiSelect=e.AsyncMultiSelect,exports.AsyncSelect=e.AsyncSelect,exports.ColorPicker=t.ColorPicker,exports.Combobox=n.Combobox,exports.DateTimePicker=o.DateTimePicker,exports.InlineEditable=l.InlineEditable,exports.JsonInput=a.JsonInput,exports.OtpInput=r.OtpInput,exports.RangeSlider=s.RangeSlider,exports.Rating=i.Rating,exports.SignaturePad=u.SignaturePad,exports.Slider=s.Slider,exports.TagInput=c.TagInput,exports.TimePicker=o.TimePicker,exports.TimeRangePicker=o.TimeRangePicker,exports.drawSignature=u.drawSignature,exports.getAlphaPercent=t.getAlphaPercent,exports.normalizeHexColor=t.normalizeHexColor,exports.withAlpha=t.withAlpha;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./time-picker.cjs"),t=require("./async-select.cjs"),n=require("./color-picker.cjs"),r=require("./combobox.cjs"),i=require("./multi-select.cjs"),a=require("./otp-input.cjs"),o=require("./rating.cjs"),s=require("./json-input.cjs"),c=require("./slider.cjs"),l=require("./tag-input.cjs"),u=require("./inline-editable.cjs"),d=require("./signature-pad.cjs");exports.AsyncMultiSelect=t.AsyncMultiSelect,exports.AsyncSelect=t.AsyncSelect,exports.ColorPicker=n.ColorPicker,exports.Combobox=r.Combobox,exports.DateTimePicker=e.DateTimePicker,exports.InlineEditable=u.InlineEditable,exports.JsonInput=s.JsonInput,exports.MultiSelect=i.MultiSelect,exports.OtpInput=a.OtpInput,exports.RangeSlider=c.RangeSlider,exports.Rating=o.Rating,exports.SignaturePad=d.SignaturePad,exports.Slider=c.Slider,exports.TagInput=l.TagInput,exports.TimePicker=e.TimePicker,exports.TimeRangePicker=e.TimeRangePicker,exports.drawSignature=d.drawSignature,exports.getAlphaPercent=n.getAlphaPercent,exports.normalizeHexColor=n.normalizeHexColor,exports.withAlpha=n.withAlpha;
@@ -1,12 +1,13 @@
1
- import { AsyncMultiSelect as e, AsyncSelect as t } from "./async-select.js";
2
- import { ColorPicker as n, getAlphaPercent as r, normalizeHexColor as i, withAlpha as a } from "./color-picker.js";
3
- import { Combobox as o } from "./combobox.js";
4
- import { OtpInput as s } from "./otp-input.js";
5
- import { Rating as c } from "./rating.js";
6
- import { JsonInput as l } from "./json-input.js";
7
- import { DateTimePicker as u, TimePicker as d, TimeRangePicker as f } from "./time-picker.js";
8
- import { RangeSlider as p, Slider as m } from "./slider.js";
9
- import { TagInput as h } from "./tag-input.js";
10
- import { InlineEditable as g } from "./inline-editable.js";
11
- import { SignaturePad as _, drawSignature as v } from "./signature-pad.js";
12
- export { e as AsyncMultiSelect, t as AsyncSelect, n as ColorPicker, o as Combobox, u as DateTimePicker, g as InlineEditable, l as JsonInput, s as OtpInput, p as RangeSlider, c as Rating, _ as SignaturePad, m as Slider, h as TagInput, d as TimePicker, f as TimeRangePicker, v as drawSignature, r as getAlphaPercent, i as normalizeHexColor, a as withAlpha };
1
+ import { DateTimePicker as e, TimePicker as t, TimeRangePicker as n } from "./time-picker.js";
2
+ import { AsyncMultiSelect as r, AsyncSelect as i } from "./async-select.js";
3
+ import { ColorPicker as a, getAlphaPercent as o, normalizeHexColor as s, withAlpha as c } from "./color-picker.js";
4
+ import { Combobox as l } from "./combobox.js";
5
+ import { MultiSelect as u } from "./multi-select.js";
6
+ import { OtpInput as d } from "./otp-input.js";
7
+ import { Rating as f } from "./rating.js";
8
+ import { JsonInput as p } from "./json-input.js";
9
+ import { RangeSlider as m, Slider as h } from "./slider.js";
10
+ import { TagInput as g } from "./tag-input.js";
11
+ import { InlineEditable as _ } from "./inline-editable.js";
12
+ import { SignaturePad as v, drawSignature as y } from "./signature-pad.js";
13
+ export { r as AsyncMultiSelect, i as AsyncSelect, a as ColorPicker, l as Combobox, e as DateTimePicker, _ as InlineEditable, p as JsonInput, u as MultiSelect, d as OtpInput, m as RangeSlider, f as Rating, v as SignaturePad, h as Slider, g as TagInput, t as TimePicker, n as TimeRangePicker, y as drawSignature, o as getAlphaPercent, s as normalizeHexColor, c as withAlpha };
@@ -0,0 +1 @@
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/badge/index.cjs"),i=require("../ui/popover/index.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("lucide-react"),s=require("react/jsx-runtime");function c({options:e,value:c=[],onValueChange:l,placeholder:u=`Select options`,maxVisibleTags:d=3,className:f,...p}){let[m,h]=a.useState(!1),g=e.filter(e=>c.includes(e.value)),_=Math.max(0,g.length-d),v=e=>{l?.(c.includes(e)?c.filter(t=>t!==e):[...c,e])};return(0,s.jsx)(`div`,{"data-slot":`multi-select`,className:t.cn(`w-full`,f),...p,children:(0,s.jsxs)(i.Popover,{open:m,onOpenChange:h,children:[(0,s.jsxs)(i.PopoverTrigger,{render:(0,s.jsx)(n.Button,{type:`button`,variant:`outline`,className:`min-h-10 w-full justify-between`}),children:[(0,s.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-wrap gap-1`,children:[g.length?g.slice(0,d).map(e=>(0,s.jsx)(r.Badge,{label:e.label,variant:`secondary`},e.value)):(0,s.jsx)(`span`,{className:`text-muted-foreground`,children:u}),_?(0,s.jsx)(r.Badge,{label:`+${_}`,variant:`secondary`}):null]}),(0,s.jsx)(o.ChevronDownIcon,{className:`size-4 opacity-70`})]}),(0,s.jsx)(i.PopoverContent,{align:`start`,className:`w-[var(--anchor-width)] p-1`,children:(0,s.jsxs)(`div`,{className:`grid gap-1`,children:[e.map(e=>{let t=c.includes(e.value);return(0,s.jsxs)(`button`,{type:`button`,disabled:e.disabled,className:`flex items-start gap-2 rounded-md px-2 py-2 text-left text-sm hover:bg-muted disabled:pointer-events-none disabled:opacity-50`,onClick:()=>v(e.value),children:[(0,s.jsx)(`span`,{className:`mt-0.5 grid size-4 place-items-center rounded border`,children:t?(0,s.jsx)(o.CheckIcon,{className:`size-3`}):null}),(0,s.jsxs)(`span`,{className:`grid min-w-0 flex-1`,children:[(0,s.jsx)(`span`,{className:`truncate font-medium`,children:e.label}),e.description?(0,s.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:e.description}):null]})]},e.value)}),c.length?(0,s.jsx)(n.Button,{type:`button`,size:`sm`,variant:`ghost`,leftIcon:(0,s.jsx)(o.XIcon,{className:`size-3.5`}),onClick:()=>l?.([]),children:`Clear`}):null]})})]})})}exports.MultiSelect=c;
@@ -0,0 +1,80 @@
1
+ "use client";
2
+ import { cn as e } from "../../lib/utils.js";
3
+ import { Button as t } from "../ui/button/index.js";
4
+ import { Badge as n } from "../ui/badge/index.js";
5
+ import { Popover as r, PopoverContent as i, PopoverTrigger as a } from "../ui/popover/index.js";
6
+ import * as o from "react";
7
+ import { CheckIcon as s, ChevronDownIcon as c, XIcon as l } from "lucide-react";
8
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
+ //#region src/components/inputs/multi-select.tsx
10
+ function f({ options: f, value: p = [], onValueChange: m, placeholder: h = "Select options", maxVisibleTags: g = 3, className: _, ...v }) {
11
+ let [y, b] = o.useState(!1), x = f.filter((e) => p.includes(e.value)), S = Math.max(0, x.length - g), C = (e) => {
12
+ m?.(p.includes(e) ? p.filter((t) => t !== e) : [...p, e]);
13
+ };
14
+ return /* @__PURE__ */ u("div", {
15
+ "data-slot": "multi-select",
16
+ className: e("w-full", _),
17
+ ...v,
18
+ children: /* @__PURE__ */ d(r, {
19
+ open: y,
20
+ onOpenChange: b,
21
+ children: [/* @__PURE__ */ d(a, {
22
+ render: /* @__PURE__ */ u(t, {
23
+ type: "button",
24
+ variant: "outline",
25
+ className: "min-h-10 w-full justify-between"
26
+ }),
27
+ children: [/* @__PURE__ */ d("span", {
28
+ className: "flex min-w-0 flex-1 flex-wrap gap-1",
29
+ children: [x.length ? x.slice(0, g).map((e) => /* @__PURE__ */ u(n, {
30
+ label: e.label,
31
+ variant: "secondary"
32
+ }, e.value)) : /* @__PURE__ */ u("span", {
33
+ className: "text-muted-foreground",
34
+ children: h
35
+ }), S ? /* @__PURE__ */ u(n, {
36
+ label: `+${S}`,
37
+ variant: "secondary"
38
+ }) : null]
39
+ }), /* @__PURE__ */ u(c, { className: "size-4 opacity-70" })]
40
+ }), /* @__PURE__ */ u(i, {
41
+ align: "start",
42
+ className: "w-[var(--anchor-width)] p-1",
43
+ children: /* @__PURE__ */ d("div", {
44
+ className: "grid gap-1",
45
+ children: [f.map((e) => {
46
+ let t = p.includes(e.value);
47
+ return /* @__PURE__ */ d("button", {
48
+ type: "button",
49
+ disabled: e.disabled,
50
+ className: "flex items-start gap-2 rounded-md px-2 py-2 text-left text-sm hover:bg-muted disabled:pointer-events-none disabled:opacity-50",
51
+ onClick: () => C(e.value),
52
+ children: [/* @__PURE__ */ u("span", {
53
+ className: "mt-0.5 grid size-4 place-items-center rounded border",
54
+ children: t ? /* @__PURE__ */ u(s, { className: "size-3" }) : null
55
+ }), /* @__PURE__ */ d("span", {
56
+ className: "grid min-w-0 flex-1",
57
+ children: [/* @__PURE__ */ u("span", {
58
+ className: "truncate font-medium",
59
+ children: e.label
60
+ }), e.description ? /* @__PURE__ */ u("span", {
61
+ className: "truncate text-xs text-muted-foreground",
62
+ children: e.description
63
+ }) : null]
64
+ })]
65
+ }, e.value);
66
+ }), p.length ? /* @__PURE__ */ u(t, {
67
+ type: "button",
68
+ size: "sm",
69
+ variant: "ghost",
70
+ leftIcon: /* @__PURE__ */ u(l, { className: "size-3.5" }),
71
+ onClick: () => m?.([]),
72
+ children: "Clear"
73
+ }) : null]
74
+ })
75
+ })]
76
+ })
77
+ });
78
+ }
79
+ //#endregion
80
+ export { f as MultiSelect };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./async-select.cjs"),t=require("./color-picker.cjs"),n=require("./combobox.cjs"),r=require("./otp-input.cjs"),i=require("./rating.cjs"),a=require("./json-input.cjs"),o=require("./time-picker.cjs"),s=require("./slider.cjs"),c=require("./tag-input.cjs"),l=require("./inline-editable.cjs"),u=require("./signature-pad.cjs");exports.AsyncMultiSelect=e.AsyncMultiSelect,exports.AsyncSelect=e.AsyncSelect,exports.ColorPicker=t.ColorPicker,exports.Combobox=n.Combobox,exports.DateTimePicker=o.DateTimePicker,exports.InlineEditable=l.InlineEditable,exports.JsonInput=a.JsonInput,exports.OtpInput=r.OtpInput,exports.RangeSlider=s.RangeSlider,exports.Rating=i.Rating,exports.SignaturePad=u.SignaturePad,exports.Slider=s.Slider,exports.TagInput=c.TagInput,exports.TimePicker=o.TimePicker,exports.TimeRangePicker=o.TimeRangePicker,exports.drawSignature=u.drawSignature,exports.getAlphaPercent=t.getAlphaPercent,exports.normalizeHexColor=t.normalizeHexColor,exports.withAlpha=t.withAlpha;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./time-picker.cjs"),t=require("./async-select.cjs"),n=require("./color-picker.cjs"),r=require("./combobox.cjs"),i=require("./multi-select.cjs"),a=require("./otp-input.cjs"),o=require("./rating.cjs"),s=require("./json-input.cjs"),c=require("./slider.cjs"),l=require("./tag-input.cjs"),u=require("./inline-editable.cjs"),d=require("./signature-pad.cjs");exports.AsyncMultiSelect=t.AsyncMultiSelect,exports.AsyncSelect=t.AsyncSelect,exports.ColorPicker=n.ColorPicker,exports.Combobox=r.Combobox,exports.DateTimePicker=e.DateTimePicker,exports.InlineEditable=u.InlineEditable,exports.JsonInput=s.JsonInput,exports.MultiSelect=i.MultiSelect,exports.OtpInput=a.OtpInput,exports.RangeSlider=c.RangeSlider,exports.Rating=o.Rating,exports.SignaturePad=d.SignaturePad,exports.Slider=c.Slider,exports.TagInput=l.TagInput,exports.TimePicker=e.TimePicker,exports.TimeRangePicker=e.TimeRangePicker,exports.drawSignature=d.drawSignature,exports.getAlphaPercent=n.getAlphaPercent,exports.normalizeHexColor=n.normalizeHexColor,exports.withAlpha=n.withAlpha;
@@ -1,12 +1,13 @@
1
- import { AsyncMultiSelect as e, AsyncSelect as t } from "./async-select.js";
2
- import { ColorPicker as n, getAlphaPercent as r, normalizeHexColor as i, withAlpha as a } from "./color-picker.js";
3
- import { Combobox as o } from "./combobox.js";
4
- import { OtpInput as s } from "./otp-input.js";
5
- import { Rating as c } from "./rating.js";
6
- import { JsonInput as l } from "./json-input.js";
7
- import { DateTimePicker as u, TimePicker as d, TimeRangePicker as f } from "./time-picker.js";
8
- import { RangeSlider as p, Slider as m } from "./slider.js";
9
- import { TagInput as h } from "./tag-input.js";
10
- import { InlineEditable as g } from "./inline-editable.js";
11
- import { SignaturePad as _, drawSignature as v } from "./signature-pad.js";
12
- export { e as AsyncMultiSelect, t as AsyncSelect, n as ColorPicker, o as Combobox, u as DateTimePicker, g as InlineEditable, l as JsonInput, s as OtpInput, p as RangeSlider, c as Rating, _ as SignaturePad, m as Slider, h as TagInput, d as TimePicker, f as TimeRangePicker, v as drawSignature, r as getAlphaPercent, i as normalizeHexColor, a as withAlpha };
1
+ import { DateTimePicker as e, TimePicker as t, TimeRangePicker as n } from "./time-picker.js";
2
+ import { AsyncMultiSelect as r, AsyncSelect as i } from "./async-select.js";
3
+ import { ColorPicker as a, getAlphaPercent as o, normalizeHexColor as s, withAlpha as c } from "./color-picker.js";
4
+ import { Combobox as l } from "./combobox.js";
5
+ import { MultiSelect as u } from "./multi-select.js";
6
+ import { OtpInput as d } from "./otp-input.js";
7
+ import { Rating as f } from "./rating.js";
8
+ import { JsonInput as p } from "./json-input.js";
9
+ import { RangeSlider as m, Slider as h } from "./slider.js";
10
+ import { TagInput as g } from "./tag-input.js";
11
+ import { InlineEditable as _ } from "./inline-editable.js";
12
+ import { SignaturePad as v, drawSignature as y } from "./signature-pad.js";
13
+ export { r as AsyncMultiSelect, i as AsyncSelect, a as ColorPicker, l as Combobox, e as DateTimePicker, _ as InlineEditable, p as JsonInput, u as MultiSelect, d as OtpInput, m as RangeSlider, f as Rating, v as SignaturePad, h as Slider, g as TagInput, t as TimePicker, n as TimeRangePicker, y as drawSignature, o as getAlphaPercent, s as normalizeHexColor, c as withAlpha };
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i(e,t,n){return Math.min(Math.max(e,t),n)}function a(e,t,n){return n<=t?0:(e-t)/(n-t)*100}function o(e,t,n){let r=a(i(e,t,n),t,n);return{background:`linear-gradient(90deg, var(--aui-brand-strong) 0%, var(--aui-brand-strong) ${r}%, var(--aui-control-bg) ${r}%, var(--aui-control-bg) 100%)`}}function s({value:e,defaultValue:i=0,onValueChange:a,min:s=0,max:c=100,step:l=1,label:u,description:d,showValue:f=!1,formatValue:p,className:m,disabled:h,...g}){let[_,v]=n.useState(i),y=e??_,b=p?.(y)??y,x=t=>{e===void 0&&v(t),a?.(t)};return(0,r.jsxs)(`div`,{"data-slot":`slider`,className:t.cn(`grid gap-3`,m),children:[(u||d||f)&&(0,r.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,r.jsxs)(`div`,{className:`grid gap-1`,children:[u&&(0,r.jsx)(`label`,{className:`text-sm font-semibold tracking-tight text-foreground`,children:u}),d&&(0,r.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:d})]}),f&&(0,r.jsx)(`div`,{className:`inline-flex min-h-8 items-center rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-control-bg)] px-3 text-sm font-semibold text-foreground shadow-sm`,children:b})]}),(0,r.jsx)(`input`,{"data-slot":`slider-input`,type:`range`,value:y,min:s,max:c,step:l,disabled:h,style:o(y,s,c),className:`h-3 w-full cursor-pointer appearance-none rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-control-bg)] shadow-[inset_0_1px_2px_rgba(15,23,42,0.08)] outline-none transition hover:brightness-[1.02] disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-thumb]:transition [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)]`,onChange:e=>x(e.currentTarget.valueAsNumber),...g})]})}function c(e,t,n){let r=a(i(e[0],t,n),t,n),o=a(i(e[1],t,n),t,n);return{left:`${r}%`,width:`${Math.max(o-r,0)}%`}}function l({value:e,defaultValue:i=[0,100],onValueChange:a,min:o=0,max:s=100,step:l=1,label:u,description:d,showValue:f=!1,formatValue:p,className:m,disabled:h,...g}){let[_,v]=n.useState(i),y=e??_,b=p?.(y)??`${y[0]} - ${y[1]}`,x=(t,n)=>{let r=t===0?[Math.min(n,y[1]),y[1]]:[y[0],Math.max(n,y[0])];e===void 0&&v(r),a?.(r)};return(0,r.jsxs)(`div`,{"data-slot":`range-slider`,className:t.cn(`grid gap-3`,m),children:[(u||d||f)&&(0,r.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,r.jsxs)(`div`,{className:`grid gap-1`,children:[u&&(0,r.jsx)(`label`,{className:`text-sm font-semibold tracking-tight text-foreground`,children:u}),d&&(0,r.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:d})]}),f&&(0,r.jsx)(`div`,{className:`inline-flex min-h-8 items-center rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-control-bg)] px-3 text-sm font-semibold text-foreground shadow-sm`,children:b})]}),(0,r.jsxs)(`div`,{className:`grid gap-3 rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:color-mix(in_srgb,var(--aui-control-bg)_82%,white_18%)] px-4 py-4 shadow-[inset_0_1px_0_rgba(255,255,255,0.3)] dark:bg-[color:color-mix(in_srgb,var(--aui-control-bg)_90%,black_10%)]`,children:[(0,r.jsxs)(`div`,{className:`relative h-6`,children:[(0,r.jsx)(`div`,{className:`absolute top-1/2 h-3 w-full -translate-y-1/2 rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-control-bg)] shadow-[inset_0_1px_2px_rgba(15,23,42,0.08)]`}),(0,r.jsx)(`div`,{className:`absolute top-1/2 h-3 -translate-y-1/2 rounded-full bg-[color:var(--aui-brand-strong)] shadow-[0_8px_24px_rgba(16,185,129,0.18)]`,style:c(y,o,s)})]}),(0,r.jsxs)(`div`,{className:`relative -mt-8 h-6`,children:[(0,r.jsx)(`input`,{type:`range`,value:y[0],min:o,max:s,step:l,disabled:h,className:`pointer-events-none absolute inset-0 h-6 w-full cursor-pointer appearance-none bg-transparent outline-none disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)]`,onChange:e=>x(0,e.currentTarget.valueAsNumber),...g}),(0,r.jsx)(`input`,{type:`range`,value:y[1],min:o,max:s,step:l,disabled:h,className:`pointer-events-none absolute inset-0 h-6 w-full cursor-pointer appearance-none bg-transparent outline-none disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)]`,onChange:e=>x(1,e.currentTarget.valueAsNumber),...g})]})]})]})}exports.RangeSlider=l,exports.Slider=s;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i(e,t,n){return Math.min(Math.max(e,t),n)}function a(e,t,n){return n<=t?0:(e-t)/(n-t)*100}function o(e,t,n){let r=a(i(e,t,n),t,n);return{background:`linear-gradient(90deg, var(--aui-brand-strong) 0%, var(--aui-brand-strong) ${r}%, var(--aui-control-bg) ${r}%, var(--aui-control-bg) 100%)`}}function s({value:e,defaultValue:i=0,onValueChange:a,min:s=0,max:c=100,step:l=1,label:u,description:d,showValue:f=!1,formatValue:p,className:m,disabled:h,...g}){let[_,v]=n.useState(i),y=e??_,b=p?.(y)??y,x=t=>{e===void 0&&v(t),a?.(t)};return(0,r.jsxs)(`div`,{"data-slot":`slider`,className:t.cn(`grid gap-3`,m),children:[(u||d||f)&&(0,r.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,r.jsxs)(`div`,{className:`grid gap-1`,children:[u&&(0,r.jsx)(`label`,{className:`text-sm font-semibold tracking-tight text-foreground`,children:u}),d&&(0,r.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:d})]}),f&&(0,r.jsx)(`div`,{className:`inline-flex min-h-8 items-center rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-control-bg)] px-3 text-sm font-semibold text-foreground shadow-sm`,children:b})]}),(0,r.jsx)(`input`,{"data-slot":`slider-input`,type:`range`,value:y,min:s,max:c,step:l,disabled:h,style:o(y,s,c),className:`h-3 w-full cursor-pointer appearance-none rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-control-bg)] shadow-[inset_0_1px_2px_rgba(15,23,42,0.08)] outline-none transition hover:brightness-[1.02] focus-visible:ring-4 focus-visible:ring-[color:color-mix(in_oklch,var(--aui-brand-strong),transparent_78%)] disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-thumb]:transition [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-webkit-slider-thumb]:transition-transform hover:[&::-webkit-slider-thumb]:scale-105`,onChange:e=>x(e.currentTarget.valueAsNumber),...g})]})}function c(e,t,n){let r=a(i(e[0],t,n),t,n),o=a(i(e[1],t,n),t,n);return{left:`${r}%`,width:`${Math.max(o-r,0)}%`}}function l({value:e,defaultValue:i=[0,100],onValueChange:a,min:o=0,max:s=100,step:l=1,label:u,description:d,showValue:f=!1,formatValue:p,className:m,disabled:h,...g}){let[_,v]=n.useState(i),y=e??_,b=p?.(y)??`${y[0]} - ${y[1]}`,x=(t,n)=>{let r=t===0?[Math.min(n,y[1]),y[1]]:[y[0],Math.max(n,y[0])];e===void 0&&v(r),a?.(r)};return(0,r.jsxs)(`div`,{"data-slot":`range-slider`,className:t.cn(`grid gap-3`,m),children:[(u||d||f)&&(0,r.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,r.jsxs)(`div`,{className:`grid gap-1`,children:[u&&(0,r.jsx)(`label`,{className:`text-sm font-semibold tracking-tight text-foreground`,children:u}),d&&(0,r.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:d})]}),f&&(0,r.jsx)(`div`,{className:`inline-flex min-h-8 items-center rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-control-bg)] px-3 text-sm font-semibold text-foreground shadow-sm`,children:b})]}),(0,r.jsxs)(`div`,{className:`grid gap-3 rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:color-mix(in_srgb,var(--aui-control-bg)_82%,white_18%)] px-4 py-4 shadow-[inset_0_1px_0_rgba(255,255,255,0.3)] dark:bg-[color:color-mix(in_srgb,var(--aui-control-bg)_90%,black_10%)]`,children:[(0,r.jsxs)(`div`,{className:`relative h-6`,children:[(0,r.jsx)(`div`,{className:`absolute top-1/2 h-3 w-full -translate-y-1/2 rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-control-bg)] shadow-[inset_0_1px_2px_rgba(15,23,42,0.08)]`}),(0,r.jsx)(`div`,{className:`absolute top-1/2 h-3 -translate-y-1/2 rounded-full bg-[color:var(--aui-brand-strong)] shadow-[0_8px_24px_rgba(16,185,129,0.18)]`,style:c(y,o,s)})]}),(0,r.jsxs)(`div`,{className:`relative -mt-8 h-6`,children:[(0,r.jsx)(`input`,{type:`range`,value:y[0],min:o,max:s,step:l,disabled:h,className:`pointer-events-none absolute inset-0 h-6 w-full cursor-pointer appearance-none bg-transparent outline-none focus-visible:ring-4 focus-visible:ring-[color:color-mix(in_oklch,var(--aui-brand-strong),transparent_78%)] disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-webkit-slider-thumb]:transition-transform hover:[&::-webkit-slider-thumb]:scale-105`,onChange:e=>x(0,e.currentTarget.valueAsNumber),...g}),(0,r.jsx)(`input`,{type:`range`,value:y[1],min:o,max:s,step:l,disabled:h,className:`pointer-events-none absolute inset-0 h-6 w-full cursor-pointer appearance-none bg-transparent outline-none focus-visible:ring-4 focus-visible:ring-[color:color-mix(in_oklch,var(--aui-brand-strong),transparent_78%)] disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-webkit-slider-thumb]:transition-transform hover:[&::-webkit-slider-thumb]:scale-105`,onChange:e=>x(1,e.currentTarget.valueAsNumber),...g})]})]})]})}exports.RangeSlider=l,exports.Slider=s;
@@ -44,7 +44,7 @@ function s({ value: i, defaultValue: a = 0, onValueChange: s, min: c = 0, max: l
44
44
  step: u,
45
45
  disabled: g,
46
46
  style: o(b, c, l),
47
- className: "h-3 w-full cursor-pointer appearance-none rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-control-bg)] shadow-[inset_0_1px_2px_rgba(15,23,42,0.08)] outline-none transition hover:brightness-[1.02] disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-thumb]:transition [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)]",
47
+ className: "h-3 w-full cursor-pointer appearance-none rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-control-bg)] shadow-[inset_0_1px_2px_rgba(15,23,42,0.08)] outline-none transition hover:brightness-[1.02] focus-visible:ring-4 focus-visible:ring-[color:color-mix(in_oklch,var(--aui-brand-strong),transparent_78%)] disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-thumb]:transition [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-webkit-slider-thumb]:transition-transform hover:[&::-webkit-slider-thumb]:scale-105",
48
48
  onChange: (e) => S(e.currentTarget.valueAsNumber),
49
49
  ..._
50
50
  })]
@@ -97,7 +97,7 @@ function l({ value: i, defaultValue: a = [0, 100], onValueChange: o, min: s = 0,
97
97
  max: l,
98
98
  step: u,
99
99
  disabled: g,
100
- className: "pointer-events-none absolute inset-0 h-6 w-full cursor-pointer appearance-none bg-transparent outline-none disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)]",
100
+ className: "pointer-events-none absolute inset-0 h-6 w-full cursor-pointer appearance-none bg-transparent outline-none focus-visible:ring-4 focus-visible:ring-[color:color-mix(in_oklch,var(--aui-brand-strong),transparent_78%)] disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-webkit-slider-thumb]:transition-transform hover:[&::-webkit-slider-thumb]:scale-105",
101
101
  onChange: (e) => S(0, e.currentTarget.valueAsNumber),
102
102
  ..._
103
103
  }), /* @__PURE__ */ n("input", {
@@ -107,7 +107,7 @@ function l({ value: i, defaultValue: a = [0, 100], onValueChange: o, min: s = 0,
107
107
  max: l,
108
108
  step: u,
109
109
  disabled: g,
110
- className: "pointer-events-none absolute inset-0 h-6 w-full cursor-pointer appearance-none bg-transparent outline-none disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)]",
110
+ className: "pointer-events-none absolute inset-0 h-6 w-full cursor-pointer appearance-none bg-transparent outline-none focus-visible:ring-4 focus-visible:ring-[color:color-mix(in_oklch,var(--aui-brand-strong),transparent_78%)] disabled:cursor-not-allowed disabled:opacity-50 [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-[3px] [&::-moz-range-thumb]:border-[color:var(--aui-page-bg)] [&::-moz-range-thumb]:bg-[color:var(--aui-brand-strong)] [&::-moz-range-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-moz-range-track]:h-3 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-webkit-slider-runnable-track]:h-3 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-[3px] [&::-webkit-slider-thumb]:border-[color:var(--aui-page-bg)] [&::-webkit-slider-thumb]:bg-[color:var(--aui-brand-strong)] [&::-webkit-slider-thumb]:shadow-[0_8px_24px_rgba(16,185,129,0.24)] [&::-webkit-slider-thumb]:transition-transform hover:[&::-webkit-slider-thumb]:scale-105",
111
111
  onChange: (e) => S(1, e.currentTarget.valueAsNumber),
112
112
  ..._
113
113
  })]
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/badge/index.cjs"),r=require("../ui/input/index.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");function s({value:e,defaultValue:s=[],onValueChange:c,placeholder:l=`Add tag...`,disabled:u=!1,readOnly:d=!1,maxTags:f,allowDuplicates:p=!1,separators:m=[`,`,`Enter`],normalizeTag:h=e=>e.trim(),className:g,..._}){let v=e!==void 0,[y,b]=i.useState(s),[x,S]=i.useState(``),C=v?e:y,w=f!==void 0&&C.length>=f,T=i.useCallback(e=>{v||b(e),c?.(e)},[v,c]),E=i.useCallback(e=>{let t=h(e);t&&(f!==void 0&&C.length>=f||!p&&C.includes(t)||(T([...C,t]),S(``)))},[p,f,h,T,C]),D=i.useCallback(e=>{T(C.filter(t=>t!==e))},[T,C]);return(0,o.jsx)(`div`,{"data-slot":`tag-input`,className:t.cn(`grid gap-2`,g),..._,children:(0,o.jsxs)(`div`,{className:t.cn(`flex min-h-12 flex-wrap items-center gap-2 rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:color-mix(in_srgb,var(--aui-control-bg)_78%,white_22%)] px-3 py-2.5 shadow-sm transition focus-within:border-[color:var(--aui-brand-strong)] focus-within:ring-4 focus-within:ring-[color:color-mix(in_srgb,var(--aui-brand-strong)_14%,transparent)] dark:bg-[color:color-mix(in_srgb,var(--aui-control-bg)_90%,black_10%)]`,u&&`opacity-60`,d&&`bg-muted/30`),children:[C.map(e=>(0,o.jsxs)(n.Badge,{variant:`secondary`,className:`h-8 gap-1 rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-3 pr-1 text-[13px] font-medium shadow-sm`,children:[e,!d&&!u&&(0,o.jsx)(`button`,{type:`button`,className:`grid size-5 shrink-0 place-items-center rounded-full p-0 leading-none text-muted-foreground transition hover:bg-[color:var(--aui-control-bg)] hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,"aria-label":`Remove ${e}`,onClick:n=>{t.stopInteractivePropagation(n),D(e)},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:(0,o.jsx)(a.XIcon,{className:`size-3`,strokeWidth:2})})]},e)),!d&&(0,o.jsx)(r.Input,{value:x,disabled:u||w,placeholder:l,className:`h-8 min-w-32 flex-1 border-0 bg-transparent px-1 text-sm shadow-none placeholder:text-[color:var(--aui-text-muted)] focus-visible:ring-0`,onChange:e=>S(e.target.value),onBlur:()=>E(x),onKeyDown:e=>{m.includes(e.key)&&(e.preventDefault(),E(x)),e.key===`Backspace`&&!x&&C.length&&D(C[C.length-1])}}),f!==void 0&&(0,o.jsxs)(`span`,{className:`ml-auto text-xs font-medium text-muted-foreground`,children:[C.length,`/`,f]})]})})}exports.TagInput=s;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/badge/index.cjs"),r=require("../ui/input/index.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");function s({value:e,defaultValue:s=[],onValueChange:c,placeholder:l=`Add tag...`,disabled:u=!1,readOnly:d=!1,maxTags:f,allowDuplicates:p=!1,separators:m=[`,`,`Enter`],normalizeTag:h=e=>e.trim(),className:g,..._}){let v=e!==void 0,[y,b]=i.useState(s),[x,S]=i.useState(``),C=v?e:y,w=f!==void 0&&C.length>=f,T=i.useCallback(e=>{v||b(e),c?.(e)},[v,c]),E=i.useCallback(e=>{let t=h(e);t&&(f!==void 0&&C.length>=f||!p&&C.includes(t)||(T([...C,t]),S(``)))},[p,f,h,T,C]),D=i.useCallback(e=>{T(C.filter(t=>t!==e))},[T,C]);return(0,o.jsx)(`div`,{"data-slot":`tag-input`,className:t.cn(`grid gap-2`,g),..._,children:(0,o.jsxs)(`div`,{className:t.cn(`flex min-h-12 flex-wrap items-center gap-2 rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:color-mix(in_srgb,var(--aui-control-bg)_78%,white_22%)] px-3 py-2.5 shadow-sm transition focus-within:border-[color:var(--aui-brand-strong)] focus-within:ring-4 focus-within:ring-[color:color-mix(in_srgb,var(--aui-brand-strong)_14%,transparent)] dark:bg-[color:color-mix(in_srgb,var(--aui-control-bg)_90%,black_10%)]`,u&&`opacity-60`,d&&`bg-muted/30`),children:[C.map(e=>(0,o.jsxs)(n.Badge,{variant:`secondary`,className:`h-8 gap-1.5 rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-3 pr-1.5 text-[13px] font-medium leading-none shadow-sm`,children:[(0,o.jsx)(`span`,{className:`leading-none`,children:e}),!d&&!u&&(0,o.jsx)(`button`,{type:`button`,className:`inline-flex size-5 shrink-0 items-center justify-center rounded-full p-0 leading-none text-muted-foreground transition hover:bg-[color:var(--aui-control-bg)] hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,"aria-label":`Remove ${e}`,onClick:n=>{t.stopInteractivePropagation(n),D(e)},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:(0,o.jsx)(a.XIcon,{className:`size-3`,strokeWidth:2.25})})]},e)),!d&&(0,o.jsx)(r.Input,{value:x,disabled:u||w,placeholder:l,className:`h-8 min-w-32 flex-1 border-0 bg-transparent px-1 text-sm shadow-none placeholder:text-[color:var(--aui-text-muted)] focus-visible:ring-0`,onChange:e=>S(e.target.value),onBlur:()=>E(x),onKeyDown:e=>{m.includes(e.key)&&(e.preventDefault(),E(x)),e.key===`Backspace`&&!x&&C.length&&D(C[C.length-1])}}),f!==void 0&&(0,o.jsxs)(`span`,{className:`ml-auto text-xs font-medium text-muted-foreground`,children:[C.length,`/`,f]})]})})}exports.TagInput=s;
@@ -30,10 +30,13 @@ function c({ value: c, defaultValue: l = [], onValueChange: u, placeholder: d =
30
30
  children: [
31
31
  T.map((e) => /* @__PURE__ */ s(n, {
32
32
  variant: "secondary",
33
- className: "h-8 gap-1 rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-3 pr-1 text-[13px] font-medium shadow-sm",
34
- children: [e, !p && !f && /* @__PURE__ */ o("button", {
33
+ className: "h-8 gap-1.5 rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-3 pr-1.5 text-[13px] font-medium leading-none shadow-sm",
34
+ children: [/* @__PURE__ */ o("span", {
35
+ className: "leading-none",
36
+ children: e
37
+ }), !p && !f && /* @__PURE__ */ o("button", {
35
38
  type: "button",
36
- className: "grid size-5 shrink-0 place-items-center rounded-full p-0 leading-none text-muted-foreground transition hover:bg-[color:var(--aui-control-bg)] hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40",
39
+ className: "inline-flex size-5 shrink-0 items-center justify-center rounded-full p-0 leading-none text-muted-foreground transition hover:bg-[color:var(--aui-control-bg)] hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40",
37
40
  "aria-label": `Remove ${e}`,
38
41
  onClick: (n) => {
39
42
  t(n), k(e);
@@ -42,7 +45,7 @@ function c({ value: c, defaultValue: l = [], onValueChange: u, placeholder: d =
42
45
  onDoubleClick: t,
43
46
  children: /* @__PURE__ */ o(a, {
44
47
  className: "size-3",
45
- strokeWidth: 2
48
+ strokeWidth: 2.25
46
49
  })
47
50
  })]
48
51
  }, e)),
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({label:e,className:n,children:i}){return(0,r.jsxs)(`label`,{className:t.cn(`grid gap-1.5 text-sm`,n),children:[e&&(0,r.jsx)(`span`,{className:`font-medium`,children:e}),i]})}function a({label:e,className:n,...a}){return(0,r.jsx)(i,{label:e,children:(0,r.jsx)(`input`,{type:`time`,className:t.cn(`h-10 rounded-md border bg-background px-3 text-sm outline-none ring-offset-background focus-visible:ring-2 focus-visible:ring-ring`,n),...a})})}function o({label:e,className:n,...a}){return(0,r.jsx)(i,{label:e,children:(0,r.jsx)(`input`,{type:`datetime-local`,className:t.cn(`h-10 rounded-md border bg-background px-3 text-sm outline-none ring-offset-background focus-visible:ring-2 focus-visible:ring-ring`,n),...a})})}function s({from:e,to:n,onFromChange:i,onToChange:o,disabled:s,className:c,...l}){return(0,r.jsxs)(`div`,{"data-slot":`time-range-picker`,className:t.cn(`grid gap-2 sm:grid-cols-2`,c),...l,children:[(0,r.jsx)(a,{value:e,disabled:s,onChange:e=>i?.(e.target.value)}),(0,r.jsx)(a,{value:n,disabled:s,onChange:e=>o?.(e.target.value)})]})}exports.DateTimePicker=o,exports.TimePicker=a,exports.TimeRangePicker=s;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("lucide-react"),i=require("react/jsx-runtime");function a({label:e,className:n,children:r}){return(0,i.jsxs)(`label`,{className:t.cn(`grid gap-1.5 text-sm`,n),children:[e&&(0,i.jsx)(`span`,{className:`font-medium`,children:e}),r]})}function o(e,t,n){e.preventDefault(),e.stopPropagation(),t?.({target:{value:``},currentTarget:{value:``}}),n?.()}function s({label:e,className:n,clearable:s=!1,onClear:c,value:l,defaultValue:u,disabled:d,onChange:f,...p}){let m=l===void 0?u!==void 0&&String(u).length>0:String(l).length>0;return(0,i.jsx)(a,{label:e,children:(0,i.jsxs)(`span`,{className:`relative grid`,children:[(0,i.jsx)(r.ClockIcon,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,i.jsx)(`input`,{type:`time`,value:l,defaultValue:u,disabled:d,onChange:f,className:t.cn(`h-11 rounded-[var(--aui-control-radius,var(--radius-md))] border border-input/82 bg-background px-10 text-sm tabular-nums outline-none transition-[border-color,box-shadow] hover:border-ring/30 focus-visible:border-ring focus-visible:ring-4 focus-visible:ring-ring/16 disabled:cursor-not-allowed disabled:bg-muted disabled:text-muted-foreground`,n),...p}),s&&m&&!d?(0,i.jsx)(`button`,{type:`button`,"aria-label":`Clear time`,className:`absolute right-2 top-1/2 grid size-7 -translate-y-1/2 place-items-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:e=>o(e,f,c),children:(0,i.jsx)(r.XIcon,{className:`size-3.5`})}):null]})})}function c({label:e,className:n,clearable:s=!1,onClear:c,value:l,defaultValue:u,disabled:d,onChange:f,...p}){let m=l===void 0?u!==void 0&&String(u).length>0:String(l).length>0;return(0,i.jsx)(a,{label:e,children:(0,i.jsxs)(`span`,{className:`relative grid`,children:[(0,i.jsx)(r.CalendarClockIcon,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,i.jsx)(`input`,{type:`datetime-local`,value:l,defaultValue:u,disabled:d,onChange:f,className:t.cn(`h-11 rounded-[var(--aui-control-radius,var(--radius-md))] border border-input/82 bg-background px-10 text-sm tabular-nums outline-none transition-[border-color,box-shadow] hover:border-ring/30 focus-visible:border-ring focus-visible:ring-4 focus-visible:ring-ring/16 disabled:cursor-not-allowed disabled:bg-muted disabled:text-muted-foreground`,n),...p}),s&&m&&!d?(0,i.jsx)(`button`,{type:`button`,"aria-label":`Clear date and time`,className:`absolute right-2 top-1/2 grid size-7 -translate-y-1/2 place-items-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:e=>o(e,f,c),children:(0,i.jsx)(r.XIcon,{className:`size-3.5`})}):null]})})}function l({from:e,to:n,onFromChange:r,onToChange:a,disabled:o,labels:c,className:l,...u}){return(0,i.jsxs)(`div`,{"data-slot":`time-range-picker`,className:t.cn(`grid gap-2 sm:grid-cols-[1fr_auto_1fr] sm:items-end`,l),...u,children:[(0,i.jsx)(s,{label:c?.from,value:e,clearable:!0,disabled:o,onChange:e=>r?.(e.target.value),onClear:()=>r?.(``)}),(0,i.jsx)(`span`,{className:`hidden h-11 items-center text-sm text-muted-foreground sm:inline-flex`,children:`to`}),(0,i.jsx)(s,{label:c?.to,value:n,clearable:!0,disabled:o,onChange:e=>a?.(e.target.value),onClear:()=>a?.(``)})]})}exports.DateTimePicker=c,exports.TimePicker=s,exports.TimeRangePicker=l;