@gv-tech/design-system 2.16.0 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +13 -13
  2. package/dist/accordion.cjs +1 -1
  3. package/dist/accordion.mjs +2 -2
  4. package/dist/alert-dialog.cjs +1 -1
  5. package/dist/alert-dialog.mjs +2 -2
  6. package/dist/alert.cjs +1 -1
  7. package/dist/alert.mjs +2 -2
  8. package/dist/aspect-ratio.cjs +1 -1
  9. package/dist/aspect-ratio.mjs +1 -1
  10. package/dist/avatar.cjs +1 -1
  11. package/dist/avatar.mjs +2 -2
  12. package/dist/badge.cjs +1 -1
  13. package/dist/badge.mjs +2 -2
  14. package/dist/breadcrumb.cjs +1 -1
  15. package/dist/breadcrumb.mjs +2 -2
  16. package/dist/button.cjs +1 -1
  17. package/dist/button.mjs +2 -2
  18. package/dist/calendar.cjs +1 -1
  19. package/dist/calendar.mjs +2 -2
  20. package/dist/card.cjs +1 -1
  21. package/dist/card.mjs +2 -2
  22. package/dist/carousel.cjs +1 -1
  23. package/dist/carousel.mjs +2 -2
  24. package/dist/chart.cjs +1 -1
  25. package/dist/chart.mjs +2 -2
  26. package/dist/checkbox.cjs +1 -1
  27. package/dist/checkbox.mjs +2 -2
  28. package/dist/collapsible.cjs +1 -1
  29. package/dist/collapsible.mjs +1 -1
  30. package/dist/command.cjs +1 -1
  31. package/dist/command.mjs +2 -2
  32. package/dist/context-menu.cjs +1 -1
  33. package/dist/context-menu.mjs +2 -2
  34. package/dist/design-system.css +1 -1
  35. package/dist/dialog.cjs +1 -1
  36. package/dist/dialog.mjs +2 -2
  37. package/dist/drawer.cjs +1 -1
  38. package/dist/drawer.mjs +2 -2
  39. package/dist/dropdown-menu.cjs +1 -1
  40. package/dist/dropdown-menu.mjs +2 -2
  41. package/dist/form.cjs +1 -1
  42. package/dist/form.mjs +2 -2
  43. package/dist/hover-card.cjs +1 -1
  44. package/dist/hover-card.mjs +2 -2
  45. package/dist/index.cjs +1 -1
  46. package/dist/index.cjs.map +1 -1
  47. package/dist/index.d.ts +49 -0
  48. package/dist/index.mjs +100 -96
  49. package/dist/index.mjs.map +1 -1
  50. package/dist/input.cjs +1 -1
  51. package/dist/input.mjs +2 -2
  52. package/dist/label.cjs +1 -1
  53. package/dist/label.mjs +2 -2
  54. package/dist/menubar.cjs +1 -1
  55. package/dist/menubar.mjs +2 -2
  56. package/dist/navigation-menu.cjs +1 -1
  57. package/dist/navigation-menu.mjs +8 -8
  58. package/dist/pagination.cjs +1 -1
  59. package/dist/pagination.mjs +2 -2
  60. package/dist/popover.cjs +1 -1
  61. package/dist/popover.mjs +2 -2
  62. package/dist/progress.cjs +1 -1
  63. package/dist/progress.mjs +2 -2
  64. package/dist/radio-group.cjs +1 -1
  65. package/dist/radio-group.mjs +2 -2
  66. package/dist/resizable.cjs +1 -1
  67. package/dist/resizable.mjs +2 -2
  68. package/dist/scroll-area.cjs +1 -1
  69. package/dist/scroll-area.mjs +2 -2
  70. package/dist/scroll-to-top.cjs +2 -0
  71. package/dist/scroll-to-top.cjs.map +1 -0
  72. package/dist/scroll-to-top.d.ts +37 -0
  73. package/dist/scroll-to-top.mjs +86 -0
  74. package/dist/scroll-to-top.mjs.map +1 -0
  75. package/dist/search.cjs +1 -1
  76. package/dist/search.mjs +4 -4
  77. package/dist/select.cjs +1 -1
  78. package/dist/select.mjs +4 -4
  79. package/dist/separator.cjs +1 -1
  80. package/dist/separator.mjs +2 -2
  81. package/dist/sheet.cjs +1 -1
  82. package/dist/sheet.mjs +7 -7
  83. package/dist/skeleton.cjs +1 -1
  84. package/dist/skeleton.mjs +2 -2
  85. package/dist/slider.cjs +1 -1
  86. package/dist/slider.mjs +2 -2
  87. package/dist/sonner.cjs +1 -1
  88. package/dist/sonner.mjs +1 -1
  89. package/dist/support-fab.cjs +2 -0
  90. package/dist/support-fab.cjs.map +1 -0
  91. package/dist/support-fab.d.ts +20 -0
  92. package/dist/support-fab.mjs +120 -0
  93. package/dist/support-fab.mjs.map +1 -0
  94. package/dist/switch.cjs +1 -1
  95. package/dist/switch.mjs +2 -2
  96. package/dist/table-of-contents.cjs +1 -1
  97. package/dist/table-of-contents.mjs +2 -2
  98. package/dist/table.cjs +1 -1
  99. package/dist/table.mjs +2 -2
  100. package/dist/tabs.cjs +1 -1
  101. package/dist/tabs.mjs +2 -2
  102. package/dist/text.cjs +1 -1
  103. package/dist/text.mjs +2 -2
  104. package/dist/textarea.cjs +1 -1
  105. package/dist/textarea.mjs +2 -2
  106. package/dist/theme-provider.cjs +1 -1
  107. package/dist/theme-provider.mjs +1 -1
  108. package/dist/{theme-toggle-BUU8zhDg.mjs → theme-toggle-BNtYv2Jv.mjs} +5 -5
  109. package/dist/{theme-toggle-BUU8zhDg.mjs.map → theme-toggle-BNtYv2Jv.mjs.map} +1 -1
  110. package/dist/{theme-toggle-B3z50t2s.js → theme-toggle-DK_OhDRf.js} +2 -2
  111. package/dist/{theme-toggle-B3z50t2s.js.map → theme-toggle-DK_OhDRf.js.map} +1 -1
  112. package/dist/theme-toggle.cjs +1 -1
  113. package/dist/theme-toggle.mjs +3 -3
  114. package/dist/toast.cjs +1 -1
  115. package/dist/toast.mjs +2 -2
  116. package/dist/{toaster-BqX0t2H6.mjs → toaster-Cj_SryBI.mjs} +2 -2
  117. package/dist/{toaster-BqX0t2H6.mjs.map → toaster-Cj_SryBI.mjs.map} +1 -1
  118. package/dist/{toaster-CKwNMV1Z.js → toaster-Q_hzVonm.js} +2 -2
  119. package/dist/{toaster-CKwNMV1Z.js.map → toaster-Q_hzVonm.js.map} +1 -1
  120. package/dist/toaster.cjs +1 -1
  121. package/dist/toaster.mjs +2 -2
  122. package/dist/{toggle-Dmzr60z6.mjs → toggle-DPMTgo47.mjs} +2 -2
  123. package/dist/{toggle-Dmzr60z6.mjs.map → toggle-DPMTgo47.mjs.map} +1 -1
  124. package/dist/{toggle-BAzsZDaN.js → toggle-_F_yB_Dj.js} +2 -2
  125. package/dist/{toggle-BAzsZDaN.js.map → toggle-_F_yB_Dj.js.map} +1 -1
  126. package/dist/toggle-group.cjs +1 -1
  127. package/dist/toggle-group.mjs +3 -3
  128. package/dist/toggle.cjs +1 -1
  129. package/dist/toggle.mjs +3 -3
  130. package/dist/tooltip.cjs +1 -1
  131. package/dist/tooltip.mjs +2 -2
  132. package/dist/{utils-CgPEtJt0.mjs → utils-Bgpn0CK0.mjs} +2 -2
  133. package/dist/{utils-CgPEtJt0.mjs.map → utils-Bgpn0CK0.mjs.map} +1 -1
  134. package/dist/{utils--qajXu5A.js → utils-CBWPs0D7.js} +2 -2
  135. package/dist/{utils--qajXu5A.js.map → utils-CBWPs0D7.js.map} +1 -1
  136. package/dist/{vendor-DxBXMLEx.mjs → vendor-BQwS7aJt.mjs} +1953 -1929
  137. package/dist/vendor-BQwS7aJt.mjs.map +1 -0
  138. package/dist/{vendor-DQFuDa7q.js → vendor-B_07FHqh.js} +14 -14
  139. package/dist/vendor-B_07FHqh.js.map +1 -0
  140. package/package.json +68 -72
  141. package/dist/vendor-DQFuDa7q.js.map +0 -1
  142. package/dist/vendor-DxBXMLEx.mjs.map +0 -1
package/dist/toast.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { j as o, bP as i, bQ as d, bR as n, bS as c, aY as m, bT as u, bU as l, g as f, bV as v } from "./vendor-DxBXMLEx.mjs";
2
+ import { j as o, bS as i, bT as d, bU as n, bV as c, aX as m, bW as u, bX as l, g as f, bY as v } from "./vendor-BQwS7aJt.mjs";
3
3
  import * as a from "react";
4
- import { c as r } from "./utils-CgPEtJt0.mjs";
4
+ import { c as r } from "./utils-Bgpn0CK0.mjs";
5
5
  const R = v, x = a.forwardRef(({ className: e, ...t }, s) => /* @__PURE__ */ o.jsx(
6
6
  i,
7
7
  {
@@ -1,4 +1,4 @@
1
- import { j as T } from "./vendor-DxBXMLEx.mjs";
1
+ import { j as T } from "./vendor-BQwS7aJt.mjs";
2
2
  import * as A from "react";
3
3
  import { ToastProvider as E, Toast as _, ToastTitle as f, ToastDescription as m, ToastClose as D, ToastViewport as l } from "./toast.mjs";
4
4
  const I = 1, M = 1e6, a = {
@@ -116,4 +116,4 @@ export {
116
116
  j as t,
117
117
  R as u
118
118
  };
119
- //# sourceMappingURL=toaster-BqX0t2H6.mjs.map
119
+ //# sourceMappingURL=toaster-Cj_SryBI.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"toaster-BqX0t2H6.mjs","sources":["../packages/ui-web/src/hooks/use-toast.ts","../packages/ui-web/src/toaster.tsx"],"sourcesContent":["'use client';\n\n// Inspired by react-hot-toast library\nimport * as React from 'react';\n\nimport type { ToastActionElement, ToastProps } from '../index';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case actionTypes.ADD_TOAST:\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case actionTypes.UPDATE_TOAST:\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case actionTypes.DISMISS_TOAST: {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case actionTypes.REMOVE_TOAST:\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) {\n dismiss();\n }\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { toast, useToast };\n","'use client';\n\nimport { ToasterBaseProps } from '@gv-tech/ui-core';\nimport { useToast } from './hooks/use-toast';\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\n\nexport function Toaster({ ...props }: ToasterBaseProps) {\n const { toasts } = useToast();\n\n return (\n <ToastProvider {...props}>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n );\n })}\n <ToastViewport />\n </ToastProvider>\n );\n}\n"],"names":["TOAST_LIMIT","TOAST_REMOVE_DELAY","actionTypes","count","genId","toastTimeouts","addToRemoveQueue","toastId","timeout","dispatch","reducer","state","action","t","toast","listeners","memoryState","listener","props","id","update","dismiss","open","useToast","setState","React","index","Toaster","toasts","jsxs","ToastProvider","title","description","Toast","jsx","ToastTitle","ToastDescription","ToastClose","ToastViewport"],"mappings":"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"}
1
+ {"version":3,"file":"toaster-Cj_SryBI.mjs","sources":["../packages/ui-web/src/hooks/use-toast.ts","../packages/ui-web/src/toaster.tsx"],"sourcesContent":["'use client';\n\n// Inspired by react-hot-toast library\nimport * as React from 'react';\n\nimport type { ToastActionElement, ToastProps } from '../index';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case actionTypes.ADD_TOAST:\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case actionTypes.UPDATE_TOAST:\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case actionTypes.DISMISS_TOAST: {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case actionTypes.REMOVE_TOAST:\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) {\n dismiss();\n }\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { toast, useToast };\n","'use client';\n\nimport { ToasterBaseProps } from '@gv-tech/ui-core';\nimport { useToast } from './hooks/use-toast';\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\n\nexport function Toaster({ ...props }: ToasterBaseProps) {\n const { toasts } = useToast();\n\n return (\n <ToastProvider {...props}>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n );\n })}\n <ToastViewport />\n </ToastProvider>\n );\n}\n"],"names":["TOAST_LIMIT","TOAST_REMOVE_DELAY","actionTypes","count","genId","toastTimeouts","addToRemoveQueue","toastId","timeout","dispatch","reducer","state","action","t","toast","listeners","memoryState","listener","props","id","update","dismiss","open","useToast","setState","React","index","Toaster","toasts","jsxs","ToastProvider","title","description","Toast","jsx","ToastTitle","ToastDescription","ToastClose","ToastViewport"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("./vendor-DQFuDa7q.js"),_=require("react"),T=require("./toast.cjs");function m(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(s,e,o.get?o:{enumerable:!0,get:()=>t[e]})}}return s.default=t,Object.freeze(s)}const p=m(_),x=1,D=1e6,a={ADD_TOAST:"ADD_TOAST",UPDATE_TOAST:"UPDATE_TOAST",DISMISS_TOAST:"DISMISS_TOAST",REMOVE_TOAST:"REMOVE_TOAST"};let S=0;function j(){return S=(S+1)%Number.MAX_SAFE_INTEGER,S.toString()}const d=new Map,O=t=>{if(d.has(t))return;const s=setTimeout(()=>{d.delete(t),i({type:"REMOVE_TOAST",toastId:t})},D);d.set(t,s)},R=(t,s)=>{switch(s.type){case a.ADD_TOAST:return{...t,toasts:[s.toast,...t.toasts].slice(0,x)};case a.UPDATE_TOAST:return{...t,toasts:t.toasts.map(e=>e.id===s.toast.id?{...e,...s.toast}:e)};case a.DISMISS_TOAST:{const{toastId:e}=s;return e?O(e):t.toasts.forEach(o=>{O(o.id)}),{...t,toasts:t.toasts.map(o=>o.id===e||e===void 0?{...o,open:!1}:o)}}case a.REMOVE_TOAST:return s.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(e=>e.id!==s.toastId)}}},c=[];let u={toasts:[]};function i(t){u=R(u,t),c.forEach(s=>{s(u)})}function A({...t}){const s=j(),e=r=>i({type:"UPDATE_TOAST",toast:{...r,id:s}}),o=()=>i({type:"DISMISS_TOAST",toastId:s});return i({type:"ADD_TOAST",toast:{...t,id:s,open:!0,onOpenChange:r=>{r||o()}}}),{id:s,dismiss:o,update:e}}function E(){const[t,s]=p.useState(u);return p.useEffect(()=>(c.push(s),()=>{const e=c.indexOf(s);e>-1&&c.splice(e,1)}),[t]),{...t,toast:A,dismiss:e=>i({type:"DISMISS_TOAST",toastId:e})}}function I({...t}){const{toasts:s}=E();return n.jsxRuntimeExports.jsxs(T.ToastProvider,{...t,children:[s.map(function({id:e,title:o,description:r,action:f,...l}){return n.jsxRuntimeExports.jsxs(T.Toast,{...l,children:[n.jsxRuntimeExports.jsxs("div",{className:"grid gap-1",children:[o&&n.jsxRuntimeExports.jsx(T.ToastTitle,{children:o}),r&&n.jsxRuntimeExports.jsx(T.ToastDescription,{children:r})]}),f,n.jsxRuntimeExports.jsx(T.ToastClose,{})]},e)}),n.jsxRuntimeExports.jsx(T.ToastViewport,{})]})}exports.Toaster=I;exports.toast=A;exports.useToast=E;
2
- //# sourceMappingURL=toaster-CKwNMV1Z.js.map
1
+ "use strict";const n=require("./vendor-B_07FHqh.js"),_=require("react"),T=require("./toast.cjs");function m(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(s,e,o.get?o:{enumerable:!0,get:()=>t[e]})}}return s.default=t,Object.freeze(s)}const p=m(_),x=1,D=1e6,a={ADD_TOAST:"ADD_TOAST",UPDATE_TOAST:"UPDATE_TOAST",DISMISS_TOAST:"DISMISS_TOAST",REMOVE_TOAST:"REMOVE_TOAST"};let S=0;function j(){return S=(S+1)%Number.MAX_SAFE_INTEGER,S.toString()}const d=new Map,O=t=>{if(d.has(t))return;const s=setTimeout(()=>{d.delete(t),i({type:"REMOVE_TOAST",toastId:t})},D);d.set(t,s)},R=(t,s)=>{switch(s.type){case a.ADD_TOAST:return{...t,toasts:[s.toast,...t.toasts].slice(0,x)};case a.UPDATE_TOAST:return{...t,toasts:t.toasts.map(e=>e.id===s.toast.id?{...e,...s.toast}:e)};case a.DISMISS_TOAST:{const{toastId:e}=s;return e?O(e):t.toasts.forEach(o=>{O(o.id)}),{...t,toasts:t.toasts.map(o=>o.id===e||e===void 0?{...o,open:!1}:o)}}case a.REMOVE_TOAST:return s.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(e=>e.id!==s.toastId)}}},c=[];let u={toasts:[]};function i(t){u=R(u,t),c.forEach(s=>{s(u)})}function A({...t}){const s=j(),e=r=>i({type:"UPDATE_TOAST",toast:{...r,id:s}}),o=()=>i({type:"DISMISS_TOAST",toastId:s});return i({type:"ADD_TOAST",toast:{...t,id:s,open:!0,onOpenChange:r=>{r||o()}}}),{id:s,dismiss:o,update:e}}function E(){const[t,s]=p.useState(u);return p.useEffect(()=>(c.push(s),()=>{const e=c.indexOf(s);e>-1&&c.splice(e,1)}),[t]),{...t,toast:A,dismiss:e=>i({type:"DISMISS_TOAST",toastId:e})}}function I({...t}){const{toasts:s}=E();return n.jsxRuntimeExports.jsxs(T.ToastProvider,{...t,children:[s.map(function({id:e,title:o,description:r,action:f,...l}){return n.jsxRuntimeExports.jsxs(T.Toast,{...l,children:[n.jsxRuntimeExports.jsxs("div",{className:"grid gap-1",children:[o&&n.jsxRuntimeExports.jsx(T.ToastTitle,{children:o}),r&&n.jsxRuntimeExports.jsx(T.ToastDescription,{children:r})]}),f,n.jsxRuntimeExports.jsx(T.ToastClose,{})]},e)}),n.jsxRuntimeExports.jsx(T.ToastViewport,{})]})}exports.Toaster=I;exports.toast=A;exports.useToast=E;
2
+ //# sourceMappingURL=toaster-Q_hzVonm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toaster-CKwNMV1Z.js","sources":["../packages/ui-web/src/hooks/use-toast.ts","../packages/ui-web/src/toaster.tsx"],"sourcesContent":["'use client';\n\n// Inspired by react-hot-toast library\nimport * as React from 'react';\n\nimport type { ToastActionElement, ToastProps } from '../index';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case actionTypes.ADD_TOAST:\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case actionTypes.UPDATE_TOAST:\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case actionTypes.DISMISS_TOAST: {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case actionTypes.REMOVE_TOAST:\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) {\n dismiss();\n }\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { toast, useToast };\n","'use client';\n\nimport { ToasterBaseProps } from '@gv-tech/ui-core';\nimport { useToast } from './hooks/use-toast';\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\n\nexport function Toaster({ ...props }: ToasterBaseProps) {\n const { toasts } = useToast();\n\n return (\n <ToastProvider {...props}>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n );\n })}\n <ToastViewport />\n </ToastProvider>\n );\n}\n"],"names":["TOAST_LIMIT","TOAST_REMOVE_DELAY","actionTypes","count","genId","toastTimeouts","addToRemoveQueue","toastId","timeout","dispatch","reducer","state","action","t","toast","listeners","memoryState","listener","props","id","update","dismiss","open","useToast","setState","React","index","Toaster","toasts","jsxs","ToastProvider","title","description","Toast","jsx","ToastTitle","ToastDescription","ToastClose","ToastViewport"],"mappings":"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"}
1
+ {"version":3,"file":"toaster-Q_hzVonm.js","sources":["../packages/ui-web/src/hooks/use-toast.ts","../packages/ui-web/src/toaster.tsx"],"sourcesContent":["'use client';\n\n// Inspired by react-hot-toast library\nimport * as React from 'react';\n\nimport type { ToastActionElement, ToastProps } from '../index';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case actionTypes.ADD_TOAST:\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case actionTypes.UPDATE_TOAST:\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case actionTypes.DISMISS_TOAST: {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case actionTypes.REMOVE_TOAST:\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) {\n dismiss();\n }\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { toast, useToast };\n","'use client';\n\nimport { ToasterBaseProps } from '@gv-tech/ui-core';\nimport { useToast } from './hooks/use-toast';\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\n\nexport function Toaster({ ...props }: ToasterBaseProps) {\n const { toasts } = useToast();\n\n return (\n <ToastProvider {...props}>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n );\n })}\n <ToastViewport />\n </ToastProvider>\n );\n}\n"],"names":["TOAST_LIMIT","TOAST_REMOVE_DELAY","actionTypes","count","genId","toastTimeouts","addToRemoveQueue","toastId","timeout","dispatch","reducer","state","action","t","toast","listeners","memoryState","listener","props","id","update","dismiss","open","useToast","setState","React","index","Toaster","toasts","jsxs","ToastProvider","title","description","Toast","jsx","ToastTitle","ToastDescription","ToastClose","ToastViewport"],"mappings":"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"}
package/dist/toaster.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./vendor-DQFuDa7q.js");const e=require("./toaster-CKwNMV1Z.js");require("./toast.cjs");exports.Toaster=e.Toaster;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./vendor-B_07FHqh.js");const e=require("./toaster-Q_hzVonm.js");require("./toast.cjs");exports.Toaster=e.Toaster;
2
2
  //# sourceMappingURL=toaster.cjs.map
package/dist/toaster.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import "./vendor-DxBXMLEx.mjs";
3
- import { T as i } from "./toaster-BqX0t2H6.mjs";
2
+ import "./vendor-BQwS7aJt.mjs";
3
+ import { T as i } from "./toaster-Cj_SryBI.mjs";
4
4
  import "./toast.mjs";
5
5
  export {
6
6
  i as Toaster
@@ -1,4 +1,4 @@
1
- import { g as e } from "./vendor-DxBXMLEx.mjs";
1
+ import { g as e } from "./vendor-BQwS7aJt.mjs";
2
2
  const n = e(
3
3
  "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
4
4
  {
@@ -22,4 +22,4 @@ const n = e(
22
22
  export {
23
23
  n as t
24
24
  };
25
- //# sourceMappingURL=toggle-Dmzr60z6.mjs.map
25
+ //# sourceMappingURL=toggle-DPMTgo47.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-Dmzr60z6.mjs","sources":["../packages/ui-core/src/contracts/toggle.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport * as React from 'react';\n\nexport const toggleVariants = cva(\n 'inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-9 px-2 min-w-9',\n sm: 'h-8 px-1.5 min-w-8',\n lg: 'h-10 px-2.5 min-w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport const toggleVariantValues = {\n variant: {\n default: 'default',\n outline: 'outline',\n },\n size: {\n default: 'default',\n sm: 'sm',\n lg: 'lg',\n },\n} as const;\n\nexport type ToggleVariant = keyof typeof toggleVariantValues.variant;\nexport type ToggleSize = keyof typeof toggleVariantValues.size;\n\nexport interface ToggleBaseProps {\n children?: React.ReactNode;\n className?: string;\n variant?: ToggleVariant;\n size?: ToggleSize;\n pressed?: boolean;\n defaultPressed?: boolean;\n onPressedChange?: (pressed: boolean) => void;\n disabled?: boolean;\n}\n"],"names":["toggleVariants","cva"],"mappings":";AAGO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,MAAA;AAAA,MAEX,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;"}
1
+ {"version":3,"file":"toggle-DPMTgo47.mjs","sources":["../packages/ui-core/src/contracts/toggle.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport * as React from 'react';\n\nexport const toggleVariants = cva(\n 'inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-9 px-2 min-w-9',\n sm: 'h-8 px-1.5 min-w-8',\n lg: 'h-10 px-2.5 min-w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport const toggleVariantValues = {\n variant: {\n default: 'default',\n outline: 'outline',\n },\n size: {\n default: 'default',\n sm: 'sm',\n lg: 'lg',\n },\n} as const;\n\nexport type ToggleVariant = keyof typeof toggleVariantValues.variant;\nexport type ToggleSize = keyof typeof toggleVariantValues.size;\n\nexport interface ToggleBaseProps {\n children?: React.ReactNode;\n className?: string;\n variant?: ToggleVariant;\n size?: ToggleSize;\n pressed?: boolean;\n defaultPressed?: boolean;\n onPressedChange?: (pressed: boolean) => void;\n disabled?: boolean;\n}\n"],"names":["toggleVariants","cva"],"mappings":";AAGO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,MAAA;AAAA,MAEX,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./vendor-DQFuDa7q.js"),t=e.cva("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-2 min-w-9",sm:"h-8 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}});exports.toggleVariants=t;
2
- //# sourceMappingURL=toggle-BAzsZDaN.js.map
1
+ "use strict";const e=require("./vendor-B_07FHqh.js"),t=e.cva("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-2 min-w-9",sm:"h-8 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}});exports.toggleVariants=t;
2
+ //# sourceMappingURL=toggle-_F_yB_Dj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-BAzsZDaN.js","sources":["../packages/ui-core/src/contracts/toggle.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport * as React from 'react';\n\nexport const toggleVariants = cva(\n 'inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-9 px-2 min-w-9',\n sm: 'h-8 px-1.5 min-w-8',\n lg: 'h-10 px-2.5 min-w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport const toggleVariantValues = {\n variant: {\n default: 'default',\n outline: 'outline',\n },\n size: {\n default: 'default',\n sm: 'sm',\n lg: 'lg',\n },\n} as const;\n\nexport type ToggleVariant = keyof typeof toggleVariantValues.variant;\nexport type ToggleSize = keyof typeof toggleVariantValues.size;\n\nexport interface ToggleBaseProps {\n children?: React.ReactNode;\n className?: string;\n variant?: ToggleVariant;\n size?: ToggleSize;\n pressed?: boolean;\n defaultPressed?: boolean;\n onPressedChange?: (pressed: boolean) => void;\n disabled?: boolean;\n}\n"],"names":["toggleVariants","cva"],"mappings":"qDAGaA,EAAiBC,EAAAA,IAC5B,kYACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,iBACT,QAAS,2FAAA,EAEX,KAAM,CACJ,QAAS,mBACT,GAAI,qBACJ,GAAI,sBAAA,CACN,EAEF,gBAAiB,CACf,QAAS,UACT,KAAM,SAAA,CACR,CAEJ"}
1
+ {"version":3,"file":"toggle-_F_yB_Dj.js","sources":["../packages/ui-core/src/contracts/toggle.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport * as React from 'react';\n\nexport const toggleVariants = cva(\n 'inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-9 px-2 min-w-9',\n sm: 'h-8 px-1.5 min-w-8',\n lg: 'h-10 px-2.5 min-w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport const toggleVariantValues = {\n variant: {\n default: 'default',\n outline: 'outline',\n },\n size: {\n default: 'default',\n sm: 'sm',\n lg: 'lg',\n },\n} as const;\n\nexport type ToggleVariant = keyof typeof toggleVariantValues.variant;\nexport type ToggleSize = keyof typeof toggleVariantValues.size;\n\nexport interface ToggleBaseProps {\n children?: React.ReactNode;\n className?: string;\n variant?: ToggleVariant;\n size?: ToggleSize;\n pressed?: boolean;\n defaultPressed?: boolean;\n onPressedChange?: (pressed: boolean) => void;\n disabled?: boolean;\n}\n"],"names":["toggleVariants","cva"],"mappings":"qDAGaA,EAAiBC,EAAAA,IAC5B,kYACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,iBACT,QAAS,2FAAA,EAEX,KAAM,CACJ,QAAS,mBACT,GAAI,qBACJ,GAAI,sBAAA,CACN,EAEF,gBAAiB,CACf,QAAS,UACT,KAAM,SAAA,CACR,CAEJ"}
@@ -1,2 +1,2 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./vendor-DQFuDa7q.js"),m=require("react"),d=require("./toggle-BAzsZDaN.js"),u=require("./utils--qajXu5A.js");function f(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const s=f(m),l=s.createContext({size:"default",variant:"default"}),g=s.forwardRef(({className:e,variant:o,size:t,children:n,...a},c)=>r.jsxRuntimeExports.jsx(r.Root2$10,{ref:c,className:u.cn("flex items-center justify-center gap-1",e),...a,children:r.jsxRuntimeExports.jsx(l.Provider,{value:{variant:o,size:t},children:n})}));g.displayName=r.Root2$10?.displayName||"ToggleGroup";const p=s.forwardRef(({className:e,children:o,variant:t,size:n,...a},c)=>{const i=s.useContext(l);return r.jsxRuntimeExports.jsx(r.Item2$3,{ref:c,className:u.cn(d.toggleVariants({variant:i.variant||t,size:i.size||n}),e),...a,children:o})});p.displayName=r.Item2$3?.displayName||"ToggleGroupItem";exports.ToggleGroup=g;exports.ToggleGroupItem=p;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./vendor-B_07FHqh.js"),m=require("react"),d=require("./toggle-_F_yB_Dj.js"),u=require("./utils-CBWPs0D7.js");function f(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const s=f(m),l=s.createContext({size:"default",variant:"default"}),g=s.forwardRef(({className:e,variant:o,size:t,children:n,...a},c)=>r.jsxRuntimeExports.jsx(r.Root2$10,{ref:c,className:u.cn("flex items-center justify-center gap-1",e),...a,children:r.jsxRuntimeExports.jsx(l.Provider,{value:{variant:o,size:t},children:n})}));g.displayName=r.Root2$10?.displayName||"ToggleGroup";const p=s.forwardRef(({className:e,children:o,variant:t,size:n,...a},c)=>{const i=s.useContext(l);return r.jsxRuntimeExports.jsx(r.Item2$3,{ref:c,className:u.cn(d.toggleVariants({variant:i.variant||t,size:i.size||n}),e),...a,children:o})});p.displayName=r.Item2$3?.displayName||"ToggleGroupItem";exports.ToggleGroup=g;exports.ToggleGroupItem=p;
2
2
  //# sourceMappingURL=toggle-group.cjs.map
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { j as m, bJ as l, bK as p } from "./vendor-DxBXMLEx.mjs";
2
+ import { j as m, bM as l, bN as p } from "./vendor-BQwS7aJt.mjs";
3
3
  import * as e from "react";
4
- import { t as u } from "./toggle-Dmzr60z6.mjs";
5
- import { c } from "./utils-CgPEtJt0.mjs";
4
+ import { t as u } from "./toggle-DPMTgo47.mjs";
5
+ import { c } from "./utils-Bgpn0CK0.mjs";
6
6
  const g = e.createContext({
7
7
  size: "default",
8
8
  variant: "default"
package/dist/toggle.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./vendor-DQFuDa7q.js"),l=require("react"),a=require("./toggle-BAzsZDaN.js"),i=require("./utils--qajXu5A.js");function g(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const u=g(l),s=u.forwardRef(({className:e,variant:o,size:t,...r},c)=>n.jsxRuntimeExports.jsx(n.Root$10,{ref:c,className:i.cn(a.toggleVariants({variant:o,size:t,className:e})),...r}));s.displayName=n.Root$10?.displayName||"Toggle";exports.toggleVariants=a.toggleVariants;exports.Toggle=s;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./vendor-B_07FHqh.js"),l=require("react"),a=require("./toggle-_F_yB_Dj.js"),i=require("./utils-CBWPs0D7.js");function g(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const u=g(l),s=u.forwardRef(({className:e,variant:o,size:t,...r},c)=>n.jsxRuntimeExports.jsx(n.Root$10,{ref:c,className:i.cn(a.toggleVariants({variant:o,size:t,className:e})),...r}));s.displayName=n.Root$10?.displayName||"Toggle";exports.toggleVariants=a.toggleVariants;exports.Toggle=s;
2
2
  //# sourceMappingURL=toggle.cjs.map
package/dist/toggle.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { j as m, bI as o } from "./vendor-DxBXMLEx.mjs";
2
+ import { j as m, bL as o } from "./vendor-BQwS7aJt.mjs";
3
3
  import * as i from "react";
4
- import { t as p } from "./toggle-Dmzr60z6.mjs";
5
- import { c as l } from "./utils-CgPEtJt0.mjs";
4
+ import { t as p } from "./toggle-DPMTgo47.mjs";
5
+ import { c as l } from "./utils-Bgpn0CK0.mjs";
6
6
  const c = i.forwardRef(
7
7
  ({ className: a, variant: s, size: t, ...r }, e) => /* @__PURE__ */ m.jsx(o, { ref: e, className: l(p({ variant: s, size: t, className: a })), ...r })
8
8
  );
package/dist/tooltip.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./vendor-DQFuDa7q.js"),d=require("react"),l=require("./utils--qajXu5A.js");function p(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(o,r,i.get?i:{enumerable:!0,get:()=>t[r]})}}return o.default=t,Object.freeze(o)}const n=p(d),c=({delayDuration:t=0,...o})=>e.jsxRuntimeExports.jsx(e.Provider,{delayDuration:t,...o}),m=({...t})=>e.jsxRuntimeExports.jsx(e.Root3$1,{...t}),s=n.forwardRef(({className:t,...o},r)=>e.jsxRuntimeExports.jsx(e.Trigger$9,{ref:r,className:t,...o}));s.displayName=e.Trigger$9?.displayName||"TooltipTrigger";const a=n.forwardRef(({className:t,sideOffset:o=4,...r},i)=>e.jsxRuntimeExports.jsx(e.Content2$8,{ref:i,sideOffset:o,className:l.cn("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md",t),...r}));a.displayName=e.Content2$8?.displayName||"TooltipContent";exports.Tooltip=m;exports.TooltipContent=a;exports.TooltipProvider=c;exports.TooltipTrigger=s;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./vendor-B_07FHqh.js"),d=require("react"),l=require("./utils-CBWPs0D7.js");function p(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(o,r,i.get?i:{enumerable:!0,get:()=>t[r]})}}return o.default=t,Object.freeze(o)}const n=p(d),c=({delayDuration:t=0,...o})=>e.jsxRuntimeExports.jsx(e.Provider,{delayDuration:t,...o}),m=({...t})=>e.jsxRuntimeExports.jsx(e.Root3$1,{...t}),s=n.forwardRef(({className:t,...o},r)=>e.jsxRuntimeExports.jsx(e.Trigger$9,{ref:r,className:t,...o}));s.displayName=e.Trigger$9?.displayName||"TooltipTrigger";const a=n.forwardRef(({className:t,sideOffset:o=4,...r},i)=>e.jsxRuntimeExports.jsx(e.Content2$8,{ref:i,sideOffset:o,className:l.cn("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md",t),...r}));a.displayName=e.Content2$8?.displayName||"TooltipContent";exports.Tooltip=m;exports.TooltipContent=a;exports.TooltipProvider=c;exports.TooltipTrigger=s;
2
2
  //# sourceMappingURL=tooltip.cjs.map
package/dist/tooltip.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { j as e, bL as i, bM as s, bN as m, bO as n } from "./vendor-DxBXMLEx.mjs";
2
+ import { j as e, bO as i, bP as s, bQ as m, bR as n } from "./vendor-BQwS7aJt.mjs";
3
3
  import * as d from "react";
4
- import { c as p } from "./utils-CgPEtJt0.mjs";
4
+ import { c as p } from "./utils-Bgpn0CK0.mjs";
5
5
  const x = ({ delayDuration: o = 0, ...t }) => /* @__PURE__ */ e.jsx(n, { delayDuration: o, ...t }), T = ({ ...o }) => /* @__PURE__ */ e.jsx(m, { ...o }), l = d.forwardRef(
6
6
  ({ className: o, ...t }, a) => /* @__PURE__ */ e.jsx(i, { ref: a, className: o, ...t })
7
7
  );
@@ -1,4 +1,4 @@
1
- import { aQ as e, aR as t } from "./vendor-DxBXMLEx.mjs";
1
+ import { aP as e, aQ as t } from "./vendor-BQwS7aJt.mjs";
2
2
  function s(...r) {
3
3
  return e(t(r));
4
4
  }
@@ -9,4 +9,4 @@ export {
9
9
  s as c,
10
10
  c as s
11
11
  };
12
- //# sourceMappingURL=utils-CgPEtJt0.mjs.map
12
+ //# sourceMappingURL=utils-Bgpn0CK0.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-CgPEtJt0.mjs","sources":["../packages/ui-web/src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function slugify(text: string): string {\n return text\n .toString()\n .toLowerCase()\n .trim()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(/[^\\w-]+/g, '') // Remove all non-word chars\n .replace(/--+/g, '-'); // Replace multiple - with single -\n}\n"],"names":["cn","inputs","twMerge","clsx","slugify","text"],"mappings":";AAGO,SAASA,KAAMC,GAAsB;AAC1C,SAAOC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;AAEO,SAASG,EAAQC,GAAsB;AAC5C,SAAOA,EACJ,SAAA,EACA,YAAA,EACA,OACA,QAAQ,QAAQ,GAAG,EACnB,QAAQ,YAAY,EAAE,EACtB,QAAQ,QAAQ,GAAG;AACxB;"}
1
+ {"version":3,"file":"utils-Bgpn0CK0.mjs","sources":["../packages/ui-web/src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function slugify(text: string): string {\n return text\n .toString()\n .toLowerCase()\n .trim()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(/[^\\w-]+/g, '') // Remove all non-word chars\n .replace(/--+/g, '-'); // Replace multiple - with single -\n}\n"],"names":["cn","inputs","twMerge","clsx","slugify","text"],"mappings":";AAGO,SAASA,KAAMC,GAAsB;AAC1C,SAAOC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;AAEO,SAASG,EAAQC,GAAsB;AAC5C,SAAOA,EACJ,SAAA,EACA,YAAA,EACA,OACA,QAAQ,QAAQ,GAAG,EACnB,QAAQ,YAAY,EAAE,EACtB,QAAQ,QAAQ,GAAG;AACxB;"}
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("./vendor-DQFuDa7q.js");function t(...e){return r.twMerge(r.clsx(e))}function n(e){return e.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-")}exports.cn=t;exports.slugify=n;
2
- //# sourceMappingURL=utils--qajXu5A.js.map
1
+ "use strict";const r=require("./vendor-B_07FHqh.js");function t(...e){return r.twMerge(r.clsx(e))}function n(e){return e.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-")}exports.cn=t;exports.slugify=n;
2
+ //# sourceMappingURL=utils-CBWPs0D7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils--qajXu5A.js","sources":["../packages/ui-web/src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function slugify(text: string): string {\n return text\n .toString()\n .toLowerCase()\n .trim()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(/[^\\w-]+/g, '') // Remove all non-word chars\n .replace(/--+/g, '-'); // Replace multiple - with single -\n}\n"],"names":["cn","inputs","twMerge","clsx","slugify","text"],"mappings":"qDAGO,SAASA,KAAMC,EAAsB,CAC1C,OAAOC,EAAAA,QAAQC,OAAKF,CAAM,CAAC,CAC7B,CAEO,SAASG,EAAQC,EAAsB,CAC5C,OAAOA,EACJ,SAAA,EACA,YAAA,EACA,OACA,QAAQ,OAAQ,GAAG,EACnB,QAAQ,WAAY,EAAE,EACtB,QAAQ,OAAQ,GAAG,CACxB"}
1
+ {"version":3,"file":"utils-CBWPs0D7.js","sources":["../packages/ui-web/src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function slugify(text: string): string {\n return text\n .toString()\n .toLowerCase()\n .trim()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(/[^\\w-]+/g, '') // Remove all non-word chars\n .replace(/--+/g, '-'); // Replace multiple - with single -\n}\n"],"names":["cn","inputs","twMerge","clsx","slugify","text"],"mappings":"qDAGO,SAASA,KAAMC,EAAsB,CAC1C,OAAOC,EAAAA,QAAQC,OAAKF,CAAM,CAAC,CAC7B,CAEO,SAASG,EAAQC,EAAsB,CAC5C,OAAOA,EACJ,SAAA,EACA,YAAA,EACA,OACA,QAAQ,OAAQ,GAAG,EACnB,QAAQ,WAAY,EAAE,EACtB,QAAQ,OAAQ,GAAG,CACxB"}