@deepnoid/ui 0.0.84 → 0.0.86

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 (183) hide show
  1. package/dist/{chunk-NTTHTGDK.mjs → chunk-FNPWLOGV.mjs} +37 -39
  2. package/dist/chunk-FRIK4CS7.mjs +83 -0
  3. package/dist/{chunk-ILMIS63S.mjs → chunk-H7BLXC5M.mjs} +14 -14
  4. package/dist/{chunk-XTJL67KM.mjs → chunk-HH2LF2SU.mjs} +32 -46
  5. package/dist/{chunk-ADDUBJ4I.mjs → chunk-S4DTK5GI.mjs} +1 -1
  6. package/dist/chunk-ZOTHPHXA.mjs +41 -0
  7. package/dist/components/accordion/accordion.d.mts +154 -0
  8. package/dist/components/accordion/accordion.test.js +37 -39
  9. package/dist/components/accordion/accordion.test.mjs +1 -1
  10. package/dist/components/accordion/accordionItem.d.mts +282 -0
  11. package/dist/components/accordion/index.d.mts +6 -0
  12. package/dist/components/button/button-group.d.mts +14 -0
  13. package/dist/components/button/button-group.test.d.mts +2 -0
  14. package/dist/components/button/button-group.test.js +37 -39
  15. package/dist/components/button/button-group.test.mjs +2 -2
  16. package/dist/components/button/button.d.mts +18 -0
  17. package/dist/components/button/button.test.d.mts +2 -0
  18. package/dist/components/button/button.test.js +50 -52
  19. package/dist/components/button/button.test.mjs +2 -2
  20. package/dist/components/button/index.d.mts +3 -0
  21. package/dist/components/card/card.d.mts +124 -0
  22. package/dist/components/card/card.test.d.mts +2 -0
  23. package/dist/components/card/card.test.js +37 -39
  24. package/dist/components/card/card.test.mjs +1 -1
  25. package/dist/components/card/index.d.mts +5 -0
  26. package/dist/components/card/index.d.ts +5 -0
  27. package/dist/components/checkbox/checkbox.d.mts +349 -0
  28. package/dist/components/checkbox/checkbox.test.d.mts +2 -0
  29. package/dist/components/checkbox/checkbox.test.js +37 -39
  30. package/dist/components/checkbox/checkbox.test.mjs +2 -2
  31. package/dist/components/checkbox/index.d.mts +5 -0
  32. package/dist/components/checkbox/index.d.ts +5 -0
  33. package/dist/components/icon/Icon.d.mts +513 -0
  34. package/dist/components/icon/index.d.mts +4 -0
  35. package/dist/components/icon/index.d.ts +4 -0
  36. package/dist/components/icon/template.d.mts +134 -0
  37. package/dist/components/input/index.d.mts +5 -0
  38. package/dist/components/input/index.d.ts +5 -0
  39. package/dist/components/input/input.d.mts +437 -0
  40. package/dist/components/input/input.test.d.mts +2 -0
  41. package/dist/components/input/input.test.js +50 -52
  42. package/dist/components/input/input.test.mjs +2 -2
  43. package/dist/components/list/index.d.mts +6 -0
  44. package/dist/components/list/index.mjs +3 -3
  45. package/dist/components/{dropdown/dropdown.d.ts → list/list.d.mts} +9 -9
  46. package/dist/components/list/list.test.d.mts +2 -0
  47. package/dist/components/list/list.test.js +37 -39
  48. package/dist/components/list/list.test.mjs +1 -1
  49. package/dist/components/list/listItem.d.mts +183 -0
  50. package/dist/components/modal/index.d.mts +8 -0
  51. package/dist/components/modal/index.d.ts +8 -0
  52. package/dist/components/modal/modal.d.mts +214 -0
  53. package/dist/components/modal/modal.test.d.mts +2 -0
  54. package/dist/components/modal/modal.test.js +37 -39
  55. package/dist/components/modal/modal.test.mjs +1 -1
  56. package/dist/components/pagination/index.d.mts +4 -0
  57. package/dist/components/pagination/index.d.ts +4 -0
  58. package/dist/components/pagination/pagination.d.mts +186 -0
  59. package/dist/components/pagination/pagination.test.d.mts +2 -0
  60. package/dist/components/pagination/pagination.test.js +37 -39
  61. package/dist/components/pagination/pagination.test.mjs +1 -1
  62. package/dist/components/pagination/usePagination.d.mts +16 -0
  63. package/dist/components/progress/index.d.mts +5 -0
  64. package/dist/components/progress/index.d.ts +5 -0
  65. package/dist/components/progress/progress.d.mts +281 -0
  66. package/dist/components/progress/progress.test.d.mts +2 -0
  67. package/dist/components/progress/progress.test.d.ts +2 -0
  68. package/dist/components/progress/progress.test.js +37 -39
  69. package/dist/components/progress/progress.test.mjs +1 -1
  70. package/dist/components/radio/index.d.mts +5 -0
  71. package/dist/components/radio/index.d.ts +5 -0
  72. package/dist/components/radio/radio.d.mts +278 -0
  73. package/dist/components/radio/radio.test.d.mts +2 -0
  74. package/dist/components/radio/radio.test.js +37 -39
  75. package/dist/components/radio/radio.test.mjs +1 -1
  76. package/dist/components/select/index.d.mts +5 -0
  77. package/dist/components/select/index.d.ts +5 -0
  78. package/dist/components/select/index.mjs +2 -2
  79. package/dist/components/select/option.d.mts +18 -0
  80. package/dist/components/select/select.d.mts +449 -0
  81. package/dist/components/select/select.mjs +2 -2
  82. package/dist/components/select/select.test.d.mts +2 -0
  83. package/dist/components/select/select.test.js +37 -39
  84. package/dist/components/select/select.test.mjs +4 -4
  85. package/dist/components/select/useSelect.d.mts +32 -0
  86. package/dist/components/slider/index.d.mts +5 -0
  87. package/dist/components/slider/index.d.ts +5 -0
  88. package/dist/components/slider/slider.d.mts +333 -0
  89. package/dist/components/slider/slider.test.d.mts +2 -0
  90. package/dist/components/slider/slider.test.d.ts +2 -0
  91. package/dist/components/slider/slider.test.js +37 -39
  92. package/dist/components/slider/slider.test.mjs +1 -1
  93. package/dist/components/switch/index.d.mts +5 -0
  94. package/dist/components/switch/index.d.ts +5 -0
  95. package/dist/components/switch/switch.d.mts +304 -0
  96. package/dist/components/switch/switch.test.d.mts +2 -0
  97. package/dist/components/switch/switch.test.d.ts +2 -0
  98. package/dist/components/switch/switch.test.js +37 -39
  99. package/dist/components/switch/switch.test.mjs +1 -1
  100. package/dist/components/table/index.d.mts +5 -0
  101. package/dist/components/table/index.d.ts +5 -0
  102. package/dist/components/table/index.mjs +2 -2
  103. package/dist/components/table/table-body.d.mts +26 -0
  104. package/dist/components/table/table-head.d.mts +21 -0
  105. package/dist/components/table/table.d.mts +583 -0
  106. package/dist/components/table/table.mjs +2 -2
  107. package/dist/components/table/table.test.d.mts +2 -0
  108. package/dist/components/table/table.test.d.ts +2 -0
  109. package/dist/components/table/table.test.js +37 -39
  110. package/dist/components/table/table.test.mjs +3 -3
  111. package/dist/components/tabs/index.d.mts +5 -0
  112. package/dist/components/tabs/index.d.ts +5 -0
  113. package/dist/components/tabs/tabs.d.mts +241 -0
  114. package/dist/components/tabs/tabs.test.d.mts +2 -0
  115. package/dist/components/tabs/tabs.test.d.ts +2 -0
  116. package/dist/components/tabs/tabs.test.js +37 -39
  117. package/dist/components/tabs/tabs.test.mjs +2 -2
  118. package/dist/components/textarea/index.d.mts +2 -0
  119. package/dist/components/textarea/index.d.ts +2 -0
  120. package/dist/components/textarea/textarea.d.mts +17 -0
  121. package/dist/components/textarea/textarea.test.d.mts +2 -0
  122. package/dist/components/textarea/textarea.test.d.ts +2 -0
  123. package/dist/components/textarea/textarea.test.js +50 -52
  124. package/dist/components/textarea/textarea.test.mjs +2 -2
  125. package/dist/components/toast/index.d.mts +9 -0
  126. package/dist/components/toast/index.d.ts +9 -0
  127. package/dist/components/toast/index.js +147 -127
  128. package/dist/components/toast/index.mjs +10 -5
  129. package/dist/components/toast/toast-utils.d.mts +9 -0
  130. package/dist/components/toast/toast-utils.d.ts +9 -0
  131. package/dist/components/toast/toast-utils.js +25 -45
  132. package/dist/components/toast/toast-utils.mjs +1 -1
  133. package/dist/components/toast/toast.d.mts +207 -0
  134. package/dist/components/toast/toast.d.ts +13 -10
  135. package/dist/components/toast/toast.js +32 -125
  136. package/dist/components/toast/toast.mjs +1 -3
  137. package/dist/components/toast/toast.test.d.mts +2 -0
  138. package/dist/components/toast/toast.test.d.ts +2 -0
  139. package/dist/components/toast/toast.test.js +73 -168
  140. package/dist/components/toast/toast.test.mjs +4 -6
  141. package/dist/components/toast/use-toast.d.mts +31 -0
  142. package/dist/components/toast/use-toast.d.ts +31 -0
  143. package/dist/components/toast/use-toast.js +3826 -0
  144. package/dist/components/toast/use-toast.mjs +17 -0
  145. package/dist/components/tooltip/index.d.mts +6 -0
  146. package/dist/components/tooltip/index.d.ts +6 -0
  147. package/dist/components/tooltip/tooltip-utils.d.mts +2 -0
  148. package/dist/components/tooltip/tooltip-utils.d.ts +2 -0
  149. package/dist/components/tooltip/tooltip.d.mts +143 -0
  150. package/dist/components/tooltip/tooltip.test.d.mts +2 -0
  151. package/dist/components/tooltip/tooltip.test.d.ts +2 -0
  152. package/dist/components/tooltip/tooltip.test.js +37 -39
  153. package/dist/components/tooltip/tooltip.test.mjs +1 -1
  154. package/dist/components/tooltip/useTooltip.d.mts +2 -0
  155. package/dist/components/tooltip/useTooltip.d.ts +2 -0
  156. package/dist/index.d.mts +33 -0
  157. package/dist/index.d.ts +2 -2
  158. package/dist/index.js +249 -180
  159. package/dist/index.mjs +136 -36
  160. package/dist/tooltip-utils-DCKA5gnI.d.mts +30 -0
  161. package/dist/tooltip-utils-DCKA5gnI.d.ts +30 -0
  162. package/dist/utils/clsx.d.mts +3 -0
  163. package/dist/utils/props.d.mts +3 -0
  164. package/dist/utils/tailwind-variants.d.mts +26 -0
  165. package/dist/utils/types.d.mts +10 -0
  166. package/package.json +2 -2
  167. package/dist/chunk-5T5F5WVS.mjs +0 -32
  168. package/dist/chunk-LXPWTJ3F.mjs +0 -58
  169. package/dist/chunk-SDNTEP5C.mjs +0 -61
  170. package/dist/chunk-W7ABNK3K.mjs +0 -1
  171. package/dist/components/dropdown/dropdown.js +0 -122
  172. package/dist/components/dropdown/dropdown.mjs +0 -10
  173. package/dist/components/dropdown/dropdown.test.js +0 -12997
  174. package/dist/components/dropdown/dropdown.test.mjs +0 -25
  175. package/dist/components/dropdown/index.js +0 -128
  176. package/dist/components/dropdown/index.mjs +0 -11
  177. package/dist/components/toast/useToast.d.ts +0 -0
  178. package/dist/components/toast/useToast.js +0 -110
  179. package/dist/components/toast/useToast.mjs +0 -9
  180. package/dist/{chunk-RDEWIZV3.mjs → chunk-LUWGOKLG.mjs} +0 -0
  181. package/dist/{chunk-RTH3FPAS.mjs → chunk-PSXPOYLX.mjs} +3 -3
  182. package/dist/{chunk-463XE4SI.mjs → chunk-RVGOARET.mjs} +3 -3
  183. /package/dist/components/{dropdown/dropdown.test.d.ts → accordion/accordion.test.d.mts} +0 -0
package/dist/index.js CHANGED
@@ -108,7 +108,6 @@ __export(src_exports, {
108
108
  ButtonGroup: () => button_group_default,
109
109
  Card: () => card_default,
110
110
  CheckBox: () => checkbox_default,
111
- Dropdown: () => dropdown_default,
112
111
  Icon: () => Icon_default,
113
112
  Input: () => input_default,
114
113
  List: () => list_default,
@@ -124,10 +123,12 @@ __export(src_exports, {
124
123
  Tabs: () => tabs_default,
125
124
  Textarea: () => textarea_default,
126
125
  Toast: () => toast_default,
126
+ ToastProvider: () => ToastProvider,
127
127
  Tooltip: () => tooltip_default,
128
128
  deepnoidUi: () => deepnoidUi,
129
129
  iconTemplate: () => iconTemplate,
130
- tv: () => tv
130
+ tv: () => tv,
131
+ useToast: () => useToast
131
132
  });
132
133
  module.exports = __toCommonJS(src_exports);
133
134
 
@@ -7330,198 +7331,56 @@ var listItem = tv({
7330
7331
  ]
7331
7332
  });
7332
7333
 
7333
- // src/components/dropdown/dropdown.tsx
7334
- var import_react28 = __toESM(require("react"));
7335
- var import_jsx_runtime26 = require("react/jsx-runtime");
7336
- var Dropdown = (0, import_react28.forwardRef)((originalProps, ref) => {
7337
- const [props, variantProps] = mapPropsVariants(originalProps, dropdown.variantKeys);
7338
- const { children, classNames } = props;
7339
- const slots = (0, import_react28.useMemo)(() => dropdown({ ...variantProps }), [...Object.values(variantProps)]);
7340
- const getBaseProps = (0, import_react28.useCallback)(() => {
7341
- return {
7342
- className: slots.base({ class: classNames == null ? void 0 : classNames.base })
7343
- };
7344
- }, [slots, classNames == null ? void 0 : classNames.base]);
7345
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { ref, ...getBaseProps(), children: import_react28.default.Children.map(children, (child, index) => {
7346
- return import_react28.default.cloneElement(child, {
7347
- ...variantProps,
7348
- ...child.props
7349
- });
7350
- }) });
7351
- });
7352
- Dropdown.displayName = "Dropdown";
7353
- var dropdown_default = Dropdown;
7354
- var dropdown = tv({
7355
- slots: {
7356
- base: ["flex", "flex-col"]
7357
- },
7358
- variants: {
7359
- variant: {
7360
- solid: {},
7361
- line: {}
7362
- },
7363
- size: {
7364
- sm: {},
7365
- md: {},
7366
- lg: {}
7367
- },
7368
- color: {
7369
- primary: {},
7370
- secondary: {}
7371
- }
7372
- },
7373
- defaultVariants: {
7374
- variant: "solid",
7375
- color: "primary",
7376
- size: "md"
7377
- }
7378
- });
7379
-
7380
7334
  // src/components/toast/toast.tsx
7381
- var import_react30 = require("react");
7382
- var import_react_dom4 = require("react-dom");
7383
-
7384
- // src/components/toast/useToast.ts
7385
- var import_react29 = require("react");
7386
-
7387
- // src/components/toast/toast-utils.ts
7388
- var getToastPosition = (placement, targetRect, width, height, offset) => {
7389
- let x = 0, y = 0;
7390
- switch (placement) {
7391
- case "top":
7392
- x = targetRect.left + targetRect.width / 2 - width / 2;
7393
- y = targetRect.top - height - offset;
7394
- break;
7395
- case "left":
7396
- x = targetRect.left - width - offset;
7397
- y = targetRect.top + targetRect.height / 2 - height / 2;
7398
- break;
7399
- case "right":
7400
- x = targetRect.right + offset;
7401
- y = targetRect.top + targetRect.height / 2 - height / 2;
7402
- break;
7403
- case "bottom":
7404
- x = targetRect.left + targetRect.width / 2 - width / 2;
7405
- y = targetRect.bottom + offset;
7406
- break;
7407
- case "top-start":
7408
- x = targetRect.left;
7409
- y = targetRect.top - height - offset;
7410
- break;
7411
- case "top-end":
7412
- x = targetRect.right - width;
7413
- y = targetRect.top - height - offset;
7414
- break;
7415
- case "bottom-start":
7416
- x = targetRect.left;
7417
- y = targetRect.bottom + offset;
7418
- break;
7419
- case "bottom-end":
7420
- x = targetRect.right - width;
7421
- y = targetRect.bottom + offset;
7422
- break;
7423
- case "left-start":
7424
- x = targetRect.left - width - offset;
7425
- y = targetRect.top;
7426
- break;
7427
- case "left-end":
7428
- x = targetRect.left - width - offset;
7429
- y = targetRect.bottom - height;
7430
- break;
7431
- case "right-start":
7432
- x = targetRect.right + offset;
7433
- y = targetRect.top;
7434
- break;
7435
- case "right-end":
7436
- x = targetRect.right + offset;
7437
- y = targetRect.bottom - height;
7438
- break;
7439
- }
7440
- return { toastX: x, toastY: y };
7441
- };
7442
-
7443
- // src/components/toast/useToast.ts
7444
- var useToast = ({ placement, offset, targetRect }) => {
7445
- const [toastPosition, setToastPosition] = (0, import_react29.useState)({ x: 0, y: 0 });
7446
- const toastRef = (0, import_react29.useRef)(null);
7447
- (0, import_react29.useEffect)(() => {
7448
- if (targetRect && toastRef.current) {
7449
- const { width, height } = toastRef.current.getBoundingClientRect();
7450
- const scrollX = window.scrollX;
7451
- const scrollY = window.scrollY;
7452
- const adjustedTargetRect = {
7453
- ...targetRect,
7454
- left: targetRect.left + scrollX,
7455
- top: targetRect.top + scrollY,
7456
- right: targetRect.right + scrollX,
7457
- bottom: targetRect.bottom + scrollY
7458
- };
7459
- const { toastX, toastY } = getToastPosition(placement, adjustedTargetRect, width, height, offset);
7460
- setToastPosition({ x: toastX, y: toastY });
7461
- }
7462
- }, [placement, offset, targetRect]);
7463
- return { toastPosition, toastRef };
7464
- };
7465
-
7466
- // src/components/toast/toast.tsx
7467
- var import_jsx_runtime27 = require("react/jsx-runtime");
7468
- var Toast = (0, import_react30.forwardRef)((originalProps, ref) => {
7469
- const [props, variantProps] = mapPropsVariants(originalProps, tooltip2.variantKeys);
7470
- const { placement = "bottom", offset = 5, classNames, ...tooltipProps } = props;
7471
- const slots = (0, import_react30.useMemo)(() => tooltip2({ ...variantProps }), [variantProps]);
7472
- const [targetRect, setTargetRect] = (0, import_react30.useState)(null);
7473
- const { toastPosition, toastRef } = useToast({ placement, offset, targetRect });
7474
- const condition = true;
7475
- const getBaseProps = (0, import_react30.useCallback)(
7335
+ var import_react28 = require("react");
7336
+ var import_jsx_runtime26 = require("react/jsx-runtime");
7337
+ var Toast = (0, import_react28.forwardRef)((originalProps, ref) => {
7338
+ const [props, variantProps] = mapPropsVariants(originalProps, toast.variantKeys);
7339
+ const { placement, classNames, showIcon = true, showCloseButton = true, onClose, ...toastProps } = props;
7340
+ const slots = (0, import_react28.useMemo)(() => toast({ ...variantProps }), [variantProps]);
7341
+ const toastRef = (0, import_react28.useRef)(null);
7342
+ (0, import_react28.useImperativeHandle)(
7343
+ ref,
7476
7344
  () => ({
7477
- className: slots.base({ class: classNames == null ? void 0 : classNames.base })
7345
+ getWidth: () => {
7346
+ if (toastRef.current) {
7347
+ return toastRef.current.offsetWidth;
7348
+ }
7349
+ }
7478
7350
  }),
7479
- [slots, classNames == null ? void 0 : classNames.base]
7351
+ []
7480
7352
  );
7481
- const getContentProps = (0, import_react30.useCallback)(
7353
+ const getBaseProps = (0, import_react28.useCallback)(
7482
7354
  () => ({
7483
- className: slots.content({ class: classNames == null ? void 0 : classNames.content })
7355
+ className: slots.base({
7356
+ class: [classNames == null ? void 0 : classNames.base, (placement == null ? void 0 : placement.includes("top")) ? "animate-slideInFromTop" : "animate-slideInFromBottom"]
7357
+ })
7484
7358
  }),
7485
- [slots, classNames == null ? void 0 : classNames.content]
7359
+ [slots, classNames == null ? void 0 : classNames.base]
7486
7360
  );
7487
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
7488
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { ...getBaseProps(), onPointerLeave: () => setTargetRect(null), onPointerEnter: () => {
7489
- }, children: [
7490
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon_default, { name: "info-circle", fill: true }),
7491
- props.content,
7492
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon_default, { name: "close", className: "cursor-pointer" })
7493
- ] }),
7494
- condition && (0, import_react_dom4.createPortal)(
7495
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7496
- "div",
7497
- {
7498
- ref: toastRef,
7499
- ...getContentProps(),
7500
- style: {
7501
- visibility: toastPosition.x !== 0 ? "visible" : "hidden",
7502
- transform: `translate3d(${toastPosition.x}px, ${toastPosition.y}px, 0)`
7503
- },
7504
- children: props.content
7505
- }
7506
- ),
7507
- document.body
7508
- )
7361
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { ref: toastRef, ...getBaseProps(), children: [
7362
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Icon_default, { name: originalProps.icon || "info-circle", fill: true, className: "mt-[2px]" }),
7363
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex-1", children: props.content }),
7364
+ showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Icon_default, { name: "close", className: "cursor-pointer mt-[2px]", onClick: onClose })
7509
7365
  ] });
7510
7366
  });
7511
7367
  Toast.displayName = "Toast";
7512
7368
  var toast_default = Toast;
7513
- var tooltip2 = tv({
7369
+ var toast = tv({
7514
7370
  slots: {
7515
7371
  base: [
7516
- "z-0",
7372
+ "w-[300px]",
7517
7373
  "relative",
7518
7374
  "inline-flex",
7519
- "items-center",
7520
- "text-md",
7521
- "gap-[5px]",
7375
+ "items-start",
7522
7376
  "border",
7377
+ "rounded-md",
7378
+ "text-md",
7523
7379
  "p-[10px]",
7524
- "rounded-md"
7380
+ "gap-[5px]",
7381
+ "z-0",
7382
+ "transition-all",
7383
+ "duration-300"
7525
7384
  ],
7526
7385
  content: [
7527
7386
  "absolute",
@@ -7571,6 +7430,115 @@ var tooltip2 = tv({
7571
7430
  }
7572
7431
  });
7573
7432
 
7433
+ // src/components/toast/use-toast.tsx
7434
+ var import_react29 = require("react");
7435
+
7436
+ // src/components/toast/toast-utils.ts
7437
+ var getToastPosition = (placement, width, offset) => {
7438
+ let top = void 0;
7439
+ let left = void 0;
7440
+ let bottom = void 0;
7441
+ let right = void 0;
7442
+ const viewportWidth = window.innerWidth;
7443
+ switch (placement) {
7444
+ case "top-left":
7445
+ top = offset;
7446
+ left = offset;
7447
+ break;
7448
+ case "top-right":
7449
+ top = offset;
7450
+ right = offset;
7451
+ break;
7452
+ case "top-center":
7453
+ top = offset;
7454
+ left = (viewportWidth - width) / 2;
7455
+ break;
7456
+ case "bottom-left":
7457
+ bottom = offset;
7458
+ left = offset;
7459
+ break;
7460
+ case "bottom-right":
7461
+ bottom = offset;
7462
+ right = offset;
7463
+ break;
7464
+ case "bottom-center":
7465
+ bottom = offset;
7466
+ left = (viewportWidth - width) / 2;
7467
+ break;
7468
+ }
7469
+ return { top, left, bottom, right };
7470
+ };
7471
+
7472
+ // src/components/toast/use-toast.tsx
7473
+ var import_jsx_runtime27 = require("react/jsx-runtime");
7474
+ var ToastContext = (0, import_react29.createContext)(null);
7475
+ var useToast = () => {
7476
+ const context = (0, import_react29.useContext)(ToastContext);
7477
+ if (!context) {
7478
+ throw new Error("useToast must be used within a ToastProvider");
7479
+ }
7480
+ return context;
7481
+ };
7482
+ var ToastProvider = ({
7483
+ globalOptions,
7484
+ children
7485
+ }) => {
7486
+ const [toasts, setToasts] = (0, import_react29.useState)([]);
7487
+ const [containerStyle, setContainerStyle] = (0, import_react29.useState)({});
7488
+ const toastRef = (0, import_react29.useRef)();
7489
+ const addToast = (0, import_react29.useCallback)((content, options) => {
7490
+ const id = Date.now();
7491
+ const newToast = {
7492
+ id,
7493
+ content,
7494
+ ...options
7495
+ };
7496
+ setToasts((prevToasts) => [...prevToasts, newToast]);
7497
+ setTimeout(() => {
7498
+ setToasts((prevToasts) => prevToasts.filter((toast2) => toast2.id !== id));
7499
+ }, options.duration || 3e3);
7500
+ }, []);
7501
+ const removeToast = (0, import_react29.useCallback)((id) => {
7502
+ setToasts((prevToasts) => prevToasts.filter((toast2) => toast2.id !== id));
7503
+ }, []);
7504
+ const value = {
7505
+ default: (content, options) => addToast(content, { type: "default", icon: "info-circle", color: "default", ...globalOptions, ...options }),
7506
+ info: (content, options) => addToast(content, { type: "info", icon: "info-circle", color: "info", ...globalOptions, ...options }),
7507
+ success: (content, options) => addToast(content, { type: "success", icon: "check-circle", color: "success", ...globalOptions, ...options }),
7508
+ warning: (content, options) => addToast(content, {
7509
+ type: "warning",
7510
+ icon: "exclamation-triangle",
7511
+ color: "warning",
7512
+ ...globalOptions,
7513
+ ...options
7514
+ }),
7515
+ error: (content, options) => addToast(content, { type: "error", icon: "exclamation-circle", color: "danger", ...globalOptions, ...options })
7516
+ };
7517
+ (0, import_react29.useEffect)(() => {
7518
+ var _a;
7519
+ const width = typeof ((_a = toastRef.current) == null ? void 0 : _a.getWidth) === "function" ? toastRef.current.getWidth() : (globalOptions == null ? void 0 : globalOptions.width) || 300;
7520
+ const offset = 20;
7521
+ const calculatePosition = () => {
7522
+ const placement = (globalOptions == null ? void 0 : globalOptions.placement) || "bottom-right";
7523
+ const { top, left, bottom, right } = getToastPosition(placement, width, offset);
7524
+ setContainerStyle({
7525
+ position: "fixed",
7526
+ top: top !== void 0 ? `${top}px` : void 0,
7527
+ left: left !== void 0 ? `${left}px` : void 0,
7528
+ bottom: bottom !== void 0 ? `${bottom}px` : void 0,
7529
+ right: right !== void 0 ? `${right}px` : void 0
7530
+ });
7531
+ };
7532
+ calculatePosition();
7533
+ window.addEventListener("resize", calculatePosition);
7534
+ return () => window.removeEventListener("resize", calculatePosition);
7535
+ }, [globalOptions == null ? void 0 : globalOptions.placement, globalOptions == null ? void 0 : globalOptions.width]);
7536
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(ToastContext.Provider, { value, children: [
7537
+ children,
7538
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { id: "deepnoid-toast-container", className: "flex flex-col gap-[10px]", style: containerStyle, children: toasts.map((toast2) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(toast_default, { ref: toastRef, onClose: () => removeToast(toast2.id), ...toast2 }, toast2.id)) })
7539
+ ] });
7540
+ };
7541
+
7574
7542
  // ../tailwind-config/src/plugin.ts
7575
7543
  var import_plugin = __toESM(require_plugin());
7576
7544
 
@@ -7914,6 +7882,104 @@ var fontSize = {
7914
7882
  ]
7915
7883
  };
7916
7884
 
7885
+ // ../tailwind-config/src/animation/slide.ts
7886
+ var sliceAnimation = {
7887
+ slideInFromTop: "slideInFromTop 0.5s ease-out",
7888
+ slideInFromBottom: "slideInFromBottom 0.5s ease-out",
7889
+ slideInFromLeft: "slideInFromLeft 0.5s ease-out",
7890
+ slideInFromRight: "slideInFromRight 0.5s ease-out",
7891
+ slideOutToTop: "slideOutToTop 0.5s ease-in",
7892
+ slideOutToBottom: "slideOutToBottom 0.5s ease-in",
7893
+ slideOutToLeft: "slideOutToLeft 0.5s ease-in",
7894
+ slideOutToRight: "slideOutToRight 0.5s ease-in"
7895
+ };
7896
+ var sliceKeyframe = {
7897
+ slideInFromTop: {
7898
+ "0%": {
7899
+ transform: "translateY(-10px)",
7900
+ opacity: "0"
7901
+ },
7902
+ "100%": {
7903
+ transform: "translateY(0)",
7904
+ opacity: "1"
7905
+ }
7906
+ },
7907
+ slideInFromBottom: {
7908
+ "0%": {
7909
+ transform: "translateY(10px)",
7910
+ opacity: "0"
7911
+ },
7912
+ "100%": {
7913
+ transform: "translateY(0)",
7914
+ opacity: "1"
7915
+ }
7916
+ },
7917
+ slideInFromLeft: {
7918
+ "0%": {
7919
+ transform: "translateX(-10px)",
7920
+ opacity: "0"
7921
+ },
7922
+ "100%": {
7923
+ transform: "translateX(0)",
7924
+ opacity: "1"
7925
+ }
7926
+ },
7927
+ slideInFromRight: {
7928
+ "0%": {
7929
+ transform: "translateX(10px)",
7930
+ opacity: "0"
7931
+ },
7932
+ "100%": {
7933
+ transform: "translateX(0)",
7934
+ opacity: "1"
7935
+ }
7936
+ },
7937
+ slideOutToTop: {
7938
+ "0%": {
7939
+ transform: "translateY(0)",
7940
+ opacity: "1"
7941
+ },
7942
+ "100%": {
7943
+ transform: "translateY(-10px)",
7944
+ opacity: "0"
7945
+ }
7946
+ },
7947
+ slideOutToBottom: {
7948
+ "0%": {
7949
+ transform: "translateY(0)",
7950
+ opacity: "1"
7951
+ },
7952
+ "100%": {
7953
+ transform: "translateY(10px)",
7954
+ opacity: "0"
7955
+ }
7956
+ },
7957
+ slideOutToLeft: {
7958
+ "0%": {
7959
+ transform: "translateX(0)",
7960
+ opacity: "1"
7961
+ },
7962
+ "100%": {
7963
+ transform: "translateX(-10px)",
7964
+ opacity: "0"
7965
+ }
7966
+ },
7967
+ slideOutToRight: {
7968
+ "0%": {
7969
+ transform: "translateX(0)",
7970
+ opacity: "1"
7971
+ },
7972
+ "100%": {
7973
+ transform: "translateX(10px)",
7974
+ opacity: "0"
7975
+ }
7976
+ }
7977
+ };
7978
+
7979
+ // ../tailwind-config/src/animation/index.ts
7980
+ var animation = { ...sliceAnimation };
7981
+ var keyframes = { ...sliceKeyframe };
7982
+
7917
7983
  // ../../node_modules/flat/index.js
7918
7984
  function isBuffer(obj) {
7919
7985
  return obj && obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj);
@@ -8094,7 +8160,9 @@ var deepnoidUi = (colorChip = {}, defaultTheme = "light") => {
8094
8160
  borderRadius,
8095
8161
  fontSize,
8096
8162
  boxShadow,
8097
- gap
8163
+ gap,
8164
+ keyframes,
8165
+ animation
8098
8166
  }
8099
8167
  }
8100
8168
  }
@@ -8108,7 +8176,6 @@ var deepnoidUi = (colorChip = {}, defaultTheme = "light") => {
8108
8176
  ButtonGroup,
8109
8177
  Card,
8110
8178
  CheckBox,
8111
- Dropdown,
8112
8179
  Icon,
8113
8180
  Input,
8114
8181
  List,
@@ -8124,8 +8191,10 @@ var deepnoidUi = (colorChip = {}, defaultTheme = "light") => {
8124
8191
  Tabs,
8125
8192
  Textarea,
8126
8193
  Toast,
8194
+ ToastProvider,
8127
8195
  Tooltip,
8128
8196
  deepnoidUi,
8129
8197
  iconTemplate,
8130
- tv
8198
+ tv,
8199
+ useToast
8131
8200
  });