@skybin-tech/nebula-ui 0.0.20 → 0.0.21

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 (97) hide show
  1. package/dist/cjs/components/Alert/Alert.cjs +1 -0
  2. package/dist/cjs/components/Alert/Alert.cjs.map +1 -1
  3. package/dist/cjs/components/Avatar/Avatar.cjs +1 -0
  4. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  5. package/dist/cjs/components/Badge/Badge.cjs +1 -0
  6. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  7. package/dist/cjs/components/Button/Button.cjs +1 -0
  8. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  9. package/dist/cjs/components/Card/Card.cjs +1 -0
  10. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  11. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +1 -0
  12. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
  13. package/dist/cjs/components/Form/Checkbox.cjs +1 -0
  14. package/dist/cjs/components/Form/Checkbox.cjs.map +1 -1
  15. package/dist/cjs/components/Form/Form.cjs +1 -0
  16. package/dist/cjs/components/Form/Form.cjs.map +1 -1
  17. package/dist/cjs/components/Form/Radio.cjs +1 -0
  18. package/dist/cjs/components/Form/Radio.cjs.map +1 -1
  19. package/dist/cjs/components/Form/Select.cjs +1 -0
  20. package/dist/cjs/components/Form/Select.cjs.map +1 -1
  21. package/dist/cjs/components/Form/Switch.cjs +1 -0
  22. package/dist/cjs/components/Form/Switch.cjs.map +1 -1
  23. package/dist/cjs/components/Form/TextArea.cjs +1 -0
  24. package/dist/cjs/components/Form/TextArea.cjs.map +1 -1
  25. package/dist/cjs/components/Form/TextBox.cjs +1 -0
  26. package/dist/cjs/components/Form/TextBox.cjs.map +1 -1
  27. package/dist/cjs/components/Form/context.cjs +1 -0
  28. package/dist/cjs/components/Form/context.cjs.map +1 -1
  29. package/dist/cjs/components/Form/hooks.cjs +1 -0
  30. package/dist/cjs/components/Form/hooks.cjs.map +1 -1
  31. package/dist/cjs/components/Form/variants.cjs +1 -0
  32. package/dist/cjs/components/Form/variants.cjs.map +1 -1
  33. package/dist/cjs/components/Input/Input.cjs +1 -0
  34. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  35. package/dist/cjs/components/Label/Label.cjs +1 -0
  36. package/dist/cjs/components/Label/Label.cjs.map +1 -1
  37. package/dist/cjs/components/Separator/Separator.cjs +1 -0
  38. package/dist/cjs/components/Separator/Separator.cjs.map +1 -1
  39. package/dist/cjs/components/Tabs/Tabs.cjs +1 -0
  40. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  41. package/dist/cjs/components/Textarea/Textarea.cjs +1 -0
  42. package/dist/cjs/components/Textarea/Textarea.cjs.map +1 -1
  43. package/dist/cjs/hooks/useDebounce.cjs +1 -0
  44. package/dist/cjs/hooks/useDebounce.cjs.map +1 -1
  45. package/dist/cjs/hooks/useToast.cjs +1 -0
  46. package/dist/cjs/hooks/useToast.cjs.map +1 -1
  47. package/dist/cjs/hooks/useToggle.cjs +1 -0
  48. package/dist/cjs/hooks/useToggle.cjs.map +1 -1
  49. package/dist/components/Alert/Alert.js +1 -0
  50. package/dist/components/Alert/Alert.js.map +1 -1
  51. package/dist/components/Avatar/Avatar.js +1 -0
  52. package/dist/components/Avatar/Avatar.js.map +1 -1
  53. package/dist/components/Badge/Badge.js +1 -0
  54. package/dist/components/Badge/Badge.js.map +1 -1
  55. package/dist/components/Button/Button.js +1 -0
  56. package/dist/components/Button/Button.js.map +1 -1
  57. package/dist/components/Card/Card.js +1 -0
  58. package/dist/components/Card/Card.js.map +1 -1
  59. package/dist/components/DropdownMenu/DropdownMenu.js +1 -0
  60. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
  61. package/dist/components/Form/Checkbox.js +1 -0
  62. package/dist/components/Form/Checkbox.js.map +1 -1
  63. package/dist/components/Form/Form.js +1 -0
  64. package/dist/components/Form/Form.js.map +1 -1
  65. package/dist/components/Form/Radio.js +1 -0
  66. package/dist/components/Form/Radio.js.map +1 -1
  67. package/dist/components/Form/Select.js +1 -0
  68. package/dist/components/Form/Select.js.map +1 -1
  69. package/dist/components/Form/Switch.js +1 -0
  70. package/dist/components/Form/Switch.js.map +1 -1
  71. package/dist/components/Form/TextArea.js +1 -0
  72. package/dist/components/Form/TextArea.js.map +1 -1
  73. package/dist/components/Form/TextBox.js +1 -0
  74. package/dist/components/Form/TextBox.js.map +1 -1
  75. package/dist/components/Form/context.js +1 -0
  76. package/dist/components/Form/context.js.map +1 -1
  77. package/dist/components/Form/hooks.js +1 -0
  78. package/dist/components/Form/hooks.js.map +1 -1
  79. package/dist/components/Form/variants.js +1 -0
  80. package/dist/components/Form/variants.js.map +1 -1
  81. package/dist/components/Input/Input.js +1 -0
  82. package/dist/components/Input/Input.js.map +1 -1
  83. package/dist/components/Label/Label.js +1 -0
  84. package/dist/components/Label/Label.js.map +1 -1
  85. package/dist/components/Separator/Separator.js +1 -0
  86. package/dist/components/Separator/Separator.js.map +1 -1
  87. package/dist/components/Tabs/Tabs.js +1 -0
  88. package/dist/components/Tabs/Tabs.js.map +1 -1
  89. package/dist/components/Textarea/Textarea.js +1 -0
  90. package/dist/components/Textarea/Textarea.js.map +1 -1
  91. package/dist/hooks/useDebounce.js +1 -0
  92. package/dist/hooks/useDebounce.js.map +1 -1
  93. package/dist/hooks/useToast.js +1 -0
  94. package/dist/hooks/useToast.js.map +1 -1
  95. package/dist/hooks/useToggle.js +1 -0
  96. package/dist/hooks/useToggle.js.map +1 -1
  97. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useToast.js","sources":["../../src/hooks/useToast.ts"],"sourcesContent":["'use client';\n\nimport * as React from \"react\"\nimport type { ToastActionElement, ToastProps } from \"../primitives/toast\"\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\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\ntype Action =\n | { type: ActionType[\"ADD_TOAST\"]; toast: ToasterToast }\n | { type: ActionType[\"UPDATE_TOAST\"]; toast: Partial<ToasterToast> }\n | { type: ActionType[\"DISMISS_TOAST\"]; toastId?: ToasterToast[\"id\"] }\n | { type: ActionType[\"REMOVE_TOAST\"]; toastId?: ToasterToast[\"id\"] }\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)) return\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({ type: \"REMOVE_TOAST\", toastId })\n }, TOAST_REMOVE_DELAY)\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return { ...state, toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT) }\n case \"UPDATE_TOAST\":\n return { ...state, toasts: state.toasts.map((t) => t.id === action.toast.id ? { ...t, ...action.toast } : t) }\n case \"DISMISS_TOAST\": {\n const { toastId } = action\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((t) => addToRemoveQueue(t.id))\n }\n return { ...state, toasts: state.toasts.map((t) => t.id === toastId || toastId === undefined ? { ...t, open: false } : t) }\n }\n case \"REMOVE_TOAST\":\n return action.toastId === undefined\n ? { ...state, toasts: [] }\n : { ...state, toasts: state.toasts.filter((t) => t.id !== action.toastId) }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\nlet memoryState: State = { toasts: [] }\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((l) => l(memoryState))\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({ ...props }: Toast) {\n const id = genId()\n const update = (props: ToasterToast) => dispatch({ type: \"UPDATE_TOAST\", toast: { ...props, id } })\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) => { if (!open) dismiss() },\n },\n })\n\n return { id, dismiss, update }\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) listeners.splice(index, 1)\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n }\n}\n\nexport { useToast, toast }\n"],"names":["props"],"mappings":";AAKA,MAAM,cAAc;AACpB,MAAM,qBAAqB;AAgB3B,IAAI,QAAQ;AACZ,SAAS,QAAQ;AACf,WAAS,QAAQ,KAAK,OAAO;AAC7B,SAAO,MAAM,SAAA;AACf;AAaA,MAAM,oCAAoB,IAAA;AAE1B,MAAM,mBAAmB,CAAC,YAAoB;AAC5C,MAAI,cAAc,IAAI,OAAO,EAAG;AAChC,QAAM,UAAU,WAAW,MAAM;AAC/B,kBAAc,OAAO,OAAO;AAC5B,aAAS,EAAE,MAAM,gBAAgB,QAAA,CAAS;AAAA,EAC5C,GAAG,kBAAkB;AACrB,gBAAc,IAAI,SAAS,OAAO;AACpC;AAEO,MAAM,UAAU,CAAC,OAAc,WAA0B;AAC9D,UAAQ,OAAO,MAAA;AAAA,IACb,KAAK;AACH,aAAO,EAAE,GAAG,OAAO,QAAQ,CAAC,OAAO,OAAO,GAAG,MAAM,MAAM,EAAE,MAAM,GAAG,WAAW,EAAA;AAAA,IACjF,KAAK;AACH,aAAO,EAAE,GAAG,OAAO,QAAQ,MAAM,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,OAAO,MAAM,KAAK,EAAE,GAAG,GAAG,GAAG,OAAO,UAAU,CAAC,EAAA;AAAA,IAC7G,KAAK,iBAAiB;AACpB,YAAM,EAAE,YAAY;AACpB,UAAI,SAAS;AACX,yBAAiB,OAAO;AAAA,MAC1B,OAAO;AACL,cAAM,OAAO,QAAQ,CAAC,MAAM,iBAAiB,EAAE,EAAE,CAAC;AAAA,MACpD;AACA,aAAO,EAAE,GAAG,OAAO,QAAQ,MAAM,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,WAAW,YAAY,SAAY,EAAE,GAAG,GAAG,MAAM,UAAU,CAAC,EAAA;AAAA,IAC1H;AAAA,IACA,KAAK;AACH,aAAO,OAAO,YAAY,SACtB,EAAE,GAAG,OAAO,QAAQ,GAAC,IACrB,EAAE,GAAG,OAAO,QAAQ,MAAM,OAAO,OAAO,CAAC,MAAM,EAAE,OAAO,OAAO,OAAO,EAAA;AAAA,EAAE;AAElF;AAEA,MAAM,YAA2C,CAAA;AACjD,IAAI,cAAqB,EAAE,QAAQ,GAAC;AAEpC,SAAS,SAAS,QAAgB;AAChC,gBAAc,QAAQ,aAAa,MAAM;AACzC,YAAU,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;AACzC;AAIA,SAAS,MAAM,EAAE,GAAG,SAAgB;AAClC,QAAM,KAAK,MAAA;AACX,QAAM,SAAS,CAACA,WAAwB,SAAS,EAAE,MAAM,gBAAgB,OAAO,EAAE,GAAGA,QAAO,GAAA,GAAM;AAClG,QAAM,UAAU,MAAM,SAAS,EAAE,MAAM,iBAAiB,SAAS,IAAI;AAErE,WAAS;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,MACA,MAAM;AAAA,MACN,cAAc,CAAC,SAAS;AAAE,YAAI,CAAC,KAAM,SAAA;AAAA,MAAU;AAAA,IAAA;AAAA,EACjD,CACD;AAED,SAAO,EAAE,IAAI,SAAS,OAAA;AACxB;AAEA,SAAS,WAAW;AAClB,QAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAgB,WAAW;AAE3D,QAAM,UAAU,MAAM;AACpB,cAAU,KAAK,QAAQ;AACvB,WAAO,MAAM;AACX,YAAM,QAAQ,UAAU,QAAQ,QAAQ;AACxC,UAAI,QAAQ,GAAI,WAAU,OAAO,OAAO,CAAC;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA,SAAS,CAAC,YAAqB,SAAS,EAAE,MAAM,iBAAiB,SAAS;AAAA,EAAA;AAE9E;"}
1
+ {"version":3,"file":"useToast.js","sources":["../../src/hooks/useToast.ts"],"sourcesContent":["'use client';\n\nimport * as React from \"react\"\nimport type { ToastActionElement, ToastProps } from \"../primitives/toast\"\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\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\ntype Action =\n | { type: ActionType[\"ADD_TOAST\"]; toast: ToasterToast }\n | { type: ActionType[\"UPDATE_TOAST\"]; toast: Partial<ToasterToast> }\n | { type: ActionType[\"DISMISS_TOAST\"]; toastId?: ToasterToast[\"id\"] }\n | { type: ActionType[\"REMOVE_TOAST\"]; toastId?: ToasterToast[\"id\"] }\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)) return\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({ type: \"REMOVE_TOAST\", toastId })\n }, TOAST_REMOVE_DELAY)\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return { ...state, toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT) }\n case \"UPDATE_TOAST\":\n return { ...state, toasts: state.toasts.map((t) => t.id === action.toast.id ? { ...t, ...action.toast } : t) }\n case \"DISMISS_TOAST\": {\n const { toastId } = action\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((t) => addToRemoveQueue(t.id))\n }\n return { ...state, toasts: state.toasts.map((t) => t.id === toastId || toastId === undefined ? { ...t, open: false } : t) }\n }\n case \"REMOVE_TOAST\":\n return action.toastId === undefined\n ? { ...state, toasts: [] }\n : { ...state, toasts: state.toasts.filter((t) => t.id !== action.toastId) }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\nlet memoryState: State = { toasts: [] }\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((l) => l(memoryState))\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({ ...props }: Toast) {\n const id = genId()\n const update = (props: ToasterToast) => dispatch({ type: \"UPDATE_TOAST\", toast: { ...props, id } })\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) => { if (!open) dismiss() },\n },\n })\n\n return { id, dismiss, update }\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) listeners.splice(index, 1)\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n }\n}\n\nexport { useToast, toast }\n"],"names":["props"],"mappings":";;AAKA,MAAM,cAAc;AACpB,MAAM,qBAAqB;AAgB3B,IAAI,QAAQ;AACZ,SAAS,QAAQ;AACf,WAAS,QAAQ,KAAK,OAAO;AAC7B,SAAO,MAAM,SAAA;AACf;AAaA,MAAM,oCAAoB,IAAA;AAE1B,MAAM,mBAAmB,CAAC,YAAoB;AAC5C,MAAI,cAAc,IAAI,OAAO,EAAG;AAChC,QAAM,UAAU,WAAW,MAAM;AAC/B,kBAAc,OAAO,OAAO;AAC5B,aAAS,EAAE,MAAM,gBAAgB,QAAA,CAAS;AAAA,EAC5C,GAAG,kBAAkB;AACrB,gBAAc,IAAI,SAAS,OAAO;AACpC;AAEO,MAAM,UAAU,CAAC,OAAc,WAA0B;AAC9D,UAAQ,OAAO,MAAA;AAAA,IACb,KAAK;AACH,aAAO,EAAE,GAAG,OAAO,QAAQ,CAAC,OAAO,OAAO,GAAG,MAAM,MAAM,EAAE,MAAM,GAAG,WAAW,EAAA;AAAA,IACjF,KAAK;AACH,aAAO,EAAE,GAAG,OAAO,QAAQ,MAAM,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,OAAO,MAAM,KAAK,EAAE,GAAG,GAAG,GAAG,OAAO,UAAU,CAAC,EAAA;AAAA,IAC7G,KAAK,iBAAiB;AACpB,YAAM,EAAE,YAAY;AACpB,UAAI,SAAS;AACX,yBAAiB,OAAO;AAAA,MAC1B,OAAO;AACL,cAAM,OAAO,QAAQ,CAAC,MAAM,iBAAiB,EAAE,EAAE,CAAC;AAAA,MACpD;AACA,aAAO,EAAE,GAAG,OAAO,QAAQ,MAAM,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,WAAW,YAAY,SAAY,EAAE,GAAG,GAAG,MAAM,UAAU,CAAC,EAAA;AAAA,IAC1H;AAAA,IACA,KAAK;AACH,aAAO,OAAO,YAAY,SACtB,EAAE,GAAG,OAAO,QAAQ,GAAC,IACrB,EAAE,GAAG,OAAO,QAAQ,MAAM,OAAO,OAAO,CAAC,MAAM,EAAE,OAAO,OAAO,OAAO,EAAA;AAAA,EAAE;AAElF;AAEA,MAAM,YAA2C,CAAA;AACjD,IAAI,cAAqB,EAAE,QAAQ,GAAC;AAEpC,SAAS,SAAS,QAAgB;AAChC,gBAAc,QAAQ,aAAa,MAAM;AACzC,YAAU,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;AACzC;AAIA,SAAS,MAAM,EAAE,GAAG,SAAgB;AAClC,QAAM,KAAK,MAAA;AACX,QAAM,SAAS,CAACA,WAAwB,SAAS,EAAE,MAAM,gBAAgB,OAAO,EAAE,GAAGA,QAAO,GAAA,GAAM;AAClG,QAAM,UAAU,MAAM,SAAS,EAAE,MAAM,iBAAiB,SAAS,IAAI;AAErE,WAAS;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,MACA,MAAM;AAAA,MACN,cAAc,CAAC,SAAS;AAAE,YAAI,CAAC,KAAM,SAAA;AAAA,MAAU;AAAA,IAAA;AAAA,EACjD,CACD;AAED,SAAO,EAAE,IAAI,SAAS,OAAA;AACxB;AAEA,SAAS,WAAW;AAClB,QAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAgB,WAAW;AAE3D,QAAM,UAAU,MAAM;AACpB,cAAU,KAAK,QAAQ;AACvB,WAAO,MAAM;AACX,YAAM,QAAQ,UAAU,QAAQ,QAAQ;AACxC,UAAI,QAAQ,GAAI,WAAU,OAAO,OAAO,CAAC;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA,SAAS,CAAC,YAAqB,SAAS,EAAE,MAAM,iBAAiB,SAAS;AAAA,EAAA;AAE9E;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { useState, useCallback } from "react";
2
3
  function useToggle(initialValue = false) {
3
4
  const [value, setValue] = useState(initialValue);
@@ -1 +1 @@
1
- {"version":3,"file":"useToggle.js","sources":["../../src/hooks/useToggle.ts"],"sourcesContent":["'use client';\n\nimport { useState, useCallback } from \"react\";\r\n\r\n/**\r\n * A hook that returns a boolean state and a function to toggle it\r\n * @param initialValue - The initial value of the toggle (default: false)\r\n * @returns A tuple containing the current value and a toggle function\r\n */\r\nexport function useToggle(initialValue = false): [boolean, () => void] {\r\n const [value, setValue] = useState(initialValue);\r\n\r\n const toggle = useCallback(() => {\r\n setValue((prev) => !prev);\r\n }, []);\r\n\r\n return [value, toggle];\r\n}\r\n"],"names":[],"mappings":";AASO,SAAS,UAAU,eAAe,OAA8B;AACrE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,YAAY;AAE/C,QAAM,SAAS,YAAY,MAAM;AAC/B,aAAS,CAAC,SAAS,CAAC,IAAI;AAAA,EAC1B,GAAG,CAAA,CAAE;AAEL,SAAO,CAAC,OAAO,MAAM;AACvB;"}
1
+ {"version":3,"file":"useToggle.js","sources":["../../src/hooks/useToggle.ts"],"sourcesContent":["'use client';\n\nimport { useState, useCallback } from \"react\";\r\n\r\n/**\r\n * A hook that returns a boolean state and a function to toggle it\r\n * @param initialValue - The initial value of the toggle (default: false)\r\n * @returns A tuple containing the current value and a toggle function\r\n */\r\nexport function useToggle(initialValue = false): [boolean, () => void] {\r\n const [value, setValue] = useState(initialValue);\r\n\r\n const toggle = useCallback(() => {\r\n setValue((prev) => !prev);\r\n }, []);\r\n\r\n return [value, toggle];\r\n}\r\n"],"names":[],"mappings":";;AASO,SAAS,UAAU,eAAe,OAA8B;AACrE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,YAAY;AAE/C,QAAM,SAAS,YAAY,MAAM;AAC/B,aAAS,CAAC,SAAS,CAAC,IAAI;AAAA,EAC1B,GAAG,CAAA,CAAE;AAEL,SAAO,CAAC,OAAO,MAAM;AACvB;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skybin-tech/nebula-ui",
3
- "version": "0.0.20",
3
+ "version": "0.0.21",
4
4
  "type": "module",
5
5
  "author": "Anwar <anwar@skybin.io>",
6
6
  "description": "Reusable React component library with form validation using shadcn/ui patterns, react-hook-form, and Zod",