@bioturing/components 0.46.3 → 0.47.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 (98) hide show
  1. package/dist/components/base-menu/component.js +19 -21
  2. package/dist/components/base-menu/component.js.map +1 -1
  3. package/dist/components/base-menu/index.js +12 -7
  4. package/dist/components/base-menu/index.js.map +1 -1
  5. package/dist/components/checkbox/component.d.ts +2 -2
  6. package/dist/components/checkbox/component.d.ts.map +1 -1
  7. package/dist/components/checkbox/component.js.map +1 -1
  8. package/dist/components/choice-list/component.js +12 -12
  9. package/dist/components/combobox/component.d.ts.map +1 -1
  10. package/dist/components/combobox/component.js +74 -74
  11. package/dist/components/combobox/component.js.map +1 -1
  12. package/dist/components/data-table/component.d.ts.map +1 -1
  13. package/dist/components/data-table/component.js +73 -64
  14. package/dist/components/data-table/component.js.map +1 -1
  15. package/dist/components/data-table/components/TableBody.d.ts +1 -1
  16. package/dist/components/data-table/components/TableBody.d.ts.map +1 -1
  17. package/dist/components/data-table/components/TableBody.js +62 -53
  18. package/dist/components/data-table/components/TableBody.js.map +1 -1
  19. package/dist/components/data-table/components/TableHeader.d.ts +1 -1
  20. package/dist/components/data-table/components/TableHeader.d.ts.map +1 -1
  21. package/dist/components/data-table/components/TableHeader.js +46 -46
  22. package/dist/components/data-table/components/TableHeader.js.map +1 -1
  23. package/dist/components/data-table/components/TablePagination.d.ts.map +1 -1
  24. package/dist/components/data-table/components/TablePagination.js +22 -28
  25. package/dist/components/data-table/components/TablePagination.js.map +1 -1
  26. package/dist/components/data-table/hooks.d.ts.map +1 -1
  27. package/dist/components/data-table/hooks.js +15 -14
  28. package/dist/components/data-table/hooks.js.map +1 -1
  29. package/dist/components/data-table/style.css +1 -1
  30. package/dist/components/data-table/types.d.ts +1 -1
  31. package/dist/components/data-table/types.d.ts.map +1 -1
  32. package/dist/components/data-table/variant-minimal.css +1 -0
  33. package/dist/components/data-table/variant-zebra.css +1 -0
  34. package/dist/components/dialog/Dialog.js +46 -46
  35. package/dist/components/dialog/Dialog.js.map +1 -1
  36. package/dist/components/dialog/dialog.css +1 -1
  37. package/dist/components/form/FormItem/ItemHolder.d.ts +6 -5
  38. package/dist/components/form/FormItem/ItemHolder.d.ts.map +1 -1
  39. package/dist/components/form/FormItem/ItemHolder.js +32 -29
  40. package/dist/components/form/FormItem/ItemHolder.js.map +1 -1
  41. package/dist/components/form/FormItem/index.d.ts +6 -0
  42. package/dist/components/form/FormItem/index.d.ts.map +1 -1
  43. package/dist/components/form/FormItem/index.js +138 -127
  44. package/dist/components/form/FormItem/index.js.map +1 -1
  45. package/dist/components/form/FormValidationContext.d.ts +5 -0
  46. package/dist/components/form/FormValidationContext.d.ts.map +1 -0
  47. package/dist/components/form/FormValidationContext.js +7 -0
  48. package/dist/components/form/FormValidationContext.js.map +1 -0
  49. package/dist/components/form/component.d.ts +6 -1
  50. package/dist/components/form/component.d.ts.map +1 -1
  51. package/dist/components/form/component.js +30 -20
  52. package/dist/components/form/component.js.map +1 -1
  53. package/dist/components/form/formValidationRule.d.ts +19 -0
  54. package/dist/components/form/formValidationRule.d.ts.map +1 -0
  55. package/dist/components/form/formValidationRule.js +22 -0
  56. package/dist/components/form/formValidationRule.js.map +1 -0
  57. package/dist/components/form/index.d.ts +2 -0
  58. package/dist/components/form/index.d.ts.map +1 -1
  59. package/dist/components/form/useFormValidation.d.ts +3 -0
  60. package/dist/components/form/useFormValidation.d.ts.map +1 -0
  61. package/dist/components/form/useFormValidation.js +18 -0
  62. package/dist/components/form/useFormValidation.js.map +1 -0
  63. package/dist/components/index.d.ts +2 -0
  64. package/dist/components/index.d.ts.map +1 -1
  65. package/dist/components/keyboard-shortcut/component.d.ts +2 -0
  66. package/dist/components/keyboard-shortcut/component.d.ts.map +1 -1
  67. package/dist/components/keyboard-shortcut/component.js +69 -49
  68. package/dist/components/keyboard-shortcut/component.js.map +1 -1
  69. package/dist/components/modal/Modal.d.ts +1 -1
  70. package/dist/components/modal/Modal.js +9 -9
  71. package/dist/components/modal/Modal.js.map +1 -1
  72. package/dist/components/modal/style.css +1 -1
  73. package/dist/components/theme-provider/component.d.ts +3 -1
  74. package/dist/components/theme-provider/component.d.ts.map +1 -1
  75. package/dist/components/theme-provider/component.js +32 -31
  76. package/dist/components/theme-provider/component.js.map +1 -1
  77. package/dist/components/theme-provider/context/index.d.ts +2 -1
  78. package/dist/components/theme-provider/context/index.d.ts.map +1 -1
  79. package/dist/components/theme-provider/context/provider.d.ts +2 -3
  80. package/dist/components/theme-provider/context/provider.d.ts.map +1 -1
  81. package/dist/components/theme-provider/context/provider.js +13 -6
  82. package/dist/components/theme-provider/context/provider.js.map +1 -1
  83. package/dist/components/theme-provider/context/themeStore.d.ts +15 -0
  84. package/dist/components/theme-provider/context/themeStore.d.ts.map +1 -1
  85. package/dist/components/theme-provider/context/themeStore.js +10 -9
  86. package/dist/components/theme-provider/context/themeStore.js.map +1 -1
  87. package/dist/components/theme-provider/style.css +1 -1
  88. package/dist/components/tooltip/component.d.ts.map +1 -1
  89. package/dist/components/tooltip/component.js +23 -12
  90. package/dist/components/tooltip/component.js.map +1 -1
  91. package/dist/index.js +286 -275
  92. package/dist/index.js.map +1 -1
  93. package/dist/metadata.d.ts +9 -0
  94. package/dist/metadata.d.ts.map +1 -1
  95. package/dist/metadata.js +14 -0
  96. package/dist/metadata.js.map +1 -1
  97. package/dist/stats.html +1 -1
  98. package/package.json +6 -6
@@ -1 +1 @@
1
- @layer components{.ds-modal-wrap{max-height:100vh}.ds-modal-wrap .ds-modal-close-x{width:100%;display:flex}.ds-modal-wrap .ds-modal{padding-bottom:0;margin-top:0;margin-bottom:0;max-height:100vh;top:0}.ds-modal-wrap .ds-modal .ds-modal-content{display:flex;flex-direction:column;padding:0;box-shadow:var(--ds-box-shadow-secondary);background:var(--ds-modal-bg, var(--ds-modal-content-bg));position:relative}.ds-modal-wrap .ds-modal .ds-modal-body{padding:var(--ds-modal-content-padding);flex-grow:1;flex-shrink:1;min-height:0;overflow:auto}.ds-modal-wrap .ds-modal .ds-modal-header{padding:calc(var(--ds-modal-padding) * 2 / 3) var(--ds-modal-padding) 0 var(--ds-modal-padding);margin-bottom:0;background:transparent}.ds-modal-wrap .ds-modal .ds-modal-footer{padding:0 var(--ds-modal-padding) var(--ds-modal-padding) var(--ds-modal-padding);margin-top:0;background:transparent}.ds-modal-wrap .ds-modal .ds-modal-close{top:calc(var(--ds-modal-padding) * 2 / 3 - 4px)}.ds-modal-wrap:not(.ds-modal-centered) .ds-modal-inner{margin-top:4rem}.ds-modal-wrap:not(.ds-modal-fullscreen) .ds-modal-content{max-height:calc(100vh - var(--ds-modal-edge-padding) * 2);margin:var(--ds-modal-edge-padding)}.ds-modal-wrap:not(.ds-modal-fullscreen) .ds-modal>div[tabindex="0"]{max-height:calc(100vh - var(--ds-modal-edge-padding) * 2)}.ds-modal-no-body-scroll .ds-modal{max-height:100%}.ds-modal-no-body-scroll .ds-modal .ds-modal-body{overflow:hidden;display:grid}.ds-modal-no-body-scroll .ds-modal .ds-modal-body>*{min-height:0}.ds-modal-fullscreen .ds-modal>div[tabindex="0"]{height:100%}.ds-modal-fullscreen .ds-modal .ds-modal-inner{height:100%}.ds-modal-fullscreen .ds-modal .ds-modal-content{border-radius:0;height:100%;width:100%}.ds-modal-fixed .ds-modal .ds-modal-footer{border-top:1px solid var(--ds-color-split);margin-top:0;padding:calc(var(--ds-modal-padding) / 2) var(--ds-modal-padding)}.ds-modal-fixed .ds-modal .ds-modal-header{border-bottom:1px solid var(--ds-color-split);margin-bottom:0;padding:calc(var(--ds-modal-padding) / 2) var(--ds-modal-padding)}.ds-modal-fixed .ds-modal .ds-modal-close{top:8px}.ds-modal-content-overflow .ds-modal .ds-modal-inner{margin-top:0}.ds-modal-loading-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background-color:color-mix(in oklab,var(--ds-modal-bg) 60%,transparent);margin-top:calc(var(--ds-modal-header-height, 0));margin-bottom:calc(var(--ds-modal-footer-height, 0))}}
1
+ @layer components{.ds-modal-wrap{max-height:100vh}.ds-modal-wrap .ds-modal-close-x{width:100%;display:flex}.ds-modal-wrap .ds-modal{padding-bottom:0;margin-top:0;margin-bottom:0;max-height:100vh;top:0}.ds-modal-wrap .ds-modal .ds-modal-content{display:flex;flex-direction:column;padding:0;box-shadow:var(--ds-box-shadow-secondary);background:var(--ds-modal-bg, var(--ds-modal-content-bg));position:relative}.ds-modal-wrap .ds-modal .ds-modal-body{padding:var(--ds-modal-body-content-padding);flex-grow:1;flex-shrink:1;min-height:0;overflow:auto}.ds-modal-wrap .ds-modal .ds-modal-header{padding-block:var(--ds-modal-header-padding-block);padding-inline:var(--ds-modal-padding);margin-bottom:0;background:transparent}.ds-modal-wrap .ds-modal .ds-modal-footer{padding-block:var(--ds-modal-footer-padding-block);padding-inline:var(--ds-modal-padding);margin-top:0;background:transparent}.ds-modal-wrap .ds-modal .ds-modal-close{top:calc(var(--ds-modal-padding) * 2 / 3 - 4px)}.ds-modal-wrap:not(.ds-modal-centered) .ds-modal-inner{margin-top:4rem}.ds-modal-wrap:not(.ds-modal-fullscreen) .ds-modal-content{max-height:calc(100vh - var(--ds-modal-edge-padding) * 2);margin:var(--ds-modal-edge-padding)}.ds-modal-wrap:not(.ds-modal-fullscreen) .ds-modal>div[tabindex="0"]{max-height:calc(100vh - var(--ds-modal-edge-padding) * 2)}.ds-modal-no-body-scroll .ds-modal{max-height:100%}.ds-modal-no-body-scroll .ds-modal .ds-modal-body{overflow:hidden;display:grid}.ds-modal-no-body-scroll .ds-modal .ds-modal-body>*{min-height:0}.ds-modal-fullscreen .ds-modal>div[tabindex="0"]{height:100%}.ds-modal-fullscreen .ds-modal .ds-modal-inner{height:100%}.ds-modal-fullscreen .ds-modal .ds-modal-content{border-radius:0;height:100%;width:100%}.ds-modal-fixed .ds-modal .ds-modal-footer{border-top:1px solid var(--ds-color-split);margin-top:0;padding-block:var(--ds-modal-fixed-footer-padding-block);padding-inline:var(--ds-modal-padding)}.ds-modal-fixed .ds-modal .ds-modal-header{border-bottom:1px solid var(--ds-color-split);margin-bottom:0;padding-block:var(--ds-modal-fixed-header-padding-block);padding-inline:var(--ds-modal-padding)}.ds-modal-content-overflow .ds-modal .ds-modal-inner{margin-top:0}.ds-modal-loading-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background-color:color-mix(in oklab,var(--ds-modal-bg) 60%,transparent);margin-top:calc(var(--ds-modal-header-height, 0));margin-bottom:calc(var(--ds-modal-footer-height, 0))}}
@@ -1,11 +1,13 @@
1
1
  import { ConfigProviderProps } from 'antd/es/config-provider';
2
2
  import { StyleProviderProps } from '@ant-design/cssinjs';
3
+ import { ComponentConfig } from './context';
3
4
  import { Theme } from '../../tokens';
4
5
  export interface ThemeProviderProps extends Omit<ConfigProviderProps, "theme" | "prefixCls"> {
5
6
  appendClassesTo?: string | HTMLElement;
6
7
  appendClassesToChildren?: boolean;
7
8
  styleProviderProps?: StyleProviderProps;
8
9
  theme?: Theme;
10
+ componentConfig?: ComponentConfig;
9
11
  }
10
- export declare const ThemeProvider: ({ theme, appendClassesTo, appendClassesToChildren, styleProviderProps, children, ...configProviderProps }: ThemeProviderProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const ThemeProvider: ({ theme, componentConfig, appendClassesTo, appendClassesToChildren, styleProviderProps, children, ...configProviderProps }: ThemeProviderProps) => import("react/jsx-runtime").JSX.Element;
11
13
  //# sourceMappingURL=component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/theme-provider/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAiB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGrC,OAAO,aAAa,CAAC;AAGrB,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,WAAW,CAAC;IACxD,eAAe,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACvC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAyCD,eAAO,MAAM,aAAa,GAAI,2GAO3B,kBAAkB,4CAkBpB,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/theme-provider/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAiB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAwB,eAAe,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGrC,OAAO,aAAa,CAAC;AAGrB,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,WAAW,CAAC;IACxD,eAAe,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACvC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAyCD,eAAO,MAAM,aAAa,GAAI,4HAQ3B,kBAAkB,4CAkBpB,CAAC"}
@@ -1,46 +1,47 @@
1
1
  "use client";
2
2
  import { jsx as i } from "react/jsx-runtime";
3
- import s from "antd/es/config-provider";
4
- import { useLayoutEffect as c, Children as n, isValidElement as l, cloneElement as u } from "react";
5
- import { lightTheme as p, darkTheme as a } from "../../tokens/and-theme/tokens.js";
6
- import { StyleProvider as h } from "@ant-design/cssinjs";
3
+ import c from "antd/es/config-provider";
4
+ import { useLayoutEffect as n, Children as l, isValidElement as u, cloneElement as p } from "react";
5
+ import { lightTheme as a, darkTheme as h } from "../../tokens/and-theme/tokens.js";
6
+ import { StyleProvider as v } from "@ant-design/cssinjs";
7
7
  import './style.css';/* empty css */
8
- import { ThemeContextProvider as v } from "./context/provider.js";
9
- import { useTheme as d } from "./context/themeStore.js";
10
- import { clsx as x } from "../utils/cn.js";
11
- const y = ({
12
- children: o,
8
+ import { ThemeContextProvider as d } from "./context/provider.js";
9
+ import { useTheme as x } from "./context/themeStore.js";
10
+ import { clsx as y } from "../utils/cn.js";
11
+ const g = ({
12
+ children: m,
13
13
  appendClassesTo: e
14
14
  }) => {
15
- const { className: m } = d();
16
- return c(() => {
17
- const r = m.split(" "), t = typeof e == "string" ? document.querySelector(e) : e;
18
- return t && t.classList.add(...r), () => {
19
- t && t.classList.remove(...r);
15
+ const { className: t } = x();
16
+ return n(() => {
17
+ const r = t.split(" "), o = typeof e == "string" ? document.querySelector(e) : e;
18
+ return o && o.classList.add(...r), () => {
19
+ o && o.classList.remove(...r);
20
20
  };
21
- }, [e, m]), e === void 0 ? n.map(o, (r) => l(r) ? u(r, {
22
- className: x(
21
+ }, [e, t]), e === void 0 ? l.map(m, (r) => u(r) ? p(r, {
22
+ className: y(
23
23
  r.props.className,
24
- m
24
+ t
25
25
  )
26
- }) : r) : o;
27
- }, D = ({
28
- theme: o,
29
- appendClassesTo: e,
30
- appendClassesToChildren: m,
31
- styleProviderProps: r,
32
- children: t,
33
- ...f
34
- }) => /* @__PURE__ */ i(h, { layer: !0, ...r, children: /* @__PURE__ */ i(v, { theme: o, children: /* @__PURE__ */ i(
35
- s,
26
+ }) : r) : m;
27
+ }, V = ({
28
+ theme: m,
29
+ componentConfig: e,
30
+ appendClassesTo: t,
31
+ appendClassesToChildren: r,
32
+ styleProviderProps: o,
33
+ children: f,
34
+ ...s
35
+ }) => /* @__PURE__ */ i(v, { layer: !0, ...o, children: /* @__PURE__ */ i(d, { theme: m, componentConfig: e, children: /* @__PURE__ */ i(
36
+ c,
36
37
  {
37
- theme: o == "light" ? p : a,
38
+ theme: m == "light" ? a : h,
38
39
  prefixCls: "ds",
39
- ...f,
40
- children: m || e ? /* @__PURE__ */ i(y, { appendClassesTo: e, children: t }) : t
40
+ ...s,
41
+ children: r || t ? /* @__PURE__ */ i(g, { appendClassesTo: t, children: f }) : f
41
42
  }
42
43
  ) }) });
43
44
  export {
44
- D as ThemeProvider
45
+ V as ThemeProvider
45
46
  };
46
47
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/theme-provider/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as ConfigProvider,\n type ConfigProviderProps,\n} from \"antd/es/config-provider\";\nimport { Children, cloneElement, isValidElement, useLayoutEffect } from \"react\";\nimport { darkTheme, lightTheme } from \"../../tokens/and-theme/tokens\";\nimport { clsx } from \"../utils\";\nimport { StyleProvider, StyleProviderProps } from \"@ant-design/cssinjs\";\nimport { ThemeContextProvider } from \"./context\";\nimport { Theme } from \"../../tokens\";\n\n// Import component-specific styles\nimport \"./style.css\";\nimport { useTheme } from \"./context\";\n\nexport interface ThemeProviderProps\n extends Omit<ConfigProviderProps, \"theme\" | \"prefixCls\"> {\n appendClassesTo?: string | HTMLElement;\n appendClassesToChildren?: boolean;\n styleProviderProps?: StyleProviderProps;\n theme?: Theme;\n}\n\nconst DSWrapper = ({\n children,\n appendClassesTo,\n}: {\n children: React.ReactNode;\n appendClassesTo?: string | HTMLElement;\n}) => {\n const { className } = useTheme();\n\n useLayoutEffect(() => {\n const classes = className.split(\" \");\n const el =\n typeof appendClassesTo === \"string\"\n ? document.querySelector(appendClassesTo)\n : appendClassesTo;\n if (el) {\n el.classList.add(...classes);\n }\n return () => {\n if (el) {\n el.classList.remove(...classes);\n }\n };\n }, [appendClassesTo, className]);\n\n return appendClassesTo === undefined\n ? Children.map(children, (child) => {\n if (isValidElement(child))\n return cloneElement(child, {\n className: clsx(\n (child.props as { className?: string }).className,\n className\n ),\n } as { className: string });\n return child;\n })\n : children;\n};\n\nexport const ThemeProvider = ({\n theme,\n appendClassesTo,\n appendClassesToChildren,\n styleProviderProps,\n children,\n ...configProviderProps\n}: ThemeProviderProps) => {\n return (\n <StyleProvider layer {...styleProviderProps}>\n <ThemeContextProvider theme={theme}>\n <ConfigProvider\n theme={theme == \"light\" ? lightTheme : darkTheme}\n prefixCls=\"ds\"\n {...configProviderProps}\n >\n {appendClassesToChildren || appendClassesTo ? (\n <DSWrapper appendClassesTo={appendClassesTo}>{children}</DSWrapper>\n ) : (\n children\n )}\n </ConfigProvider>\n </ThemeContextProvider>\n </StyleProvider>\n );\n};\n"],"names":["DSWrapper","children","appendClassesTo","className","useTheme","useLayoutEffect","classes","el","Children","child","isValidElement","cloneElement","clsx","ThemeProvider","theme","appendClassesToChildren","styleProviderProps","configProviderProps","jsx","StyleProvider","ThemeContextProvider","ConfigProvider","lightTheme","darkTheme"],"mappings":";;;;;;;;;;AAwBA,MAAMA,IAAY,CAAC;AAAA,EACjB,UAAAC;AAAA,EACA,iBAAAC;AACF,MAGM;AACJ,QAAM,EAAE,WAAAC,EAAA,IAAcC,EAAA;AAEtB,SAAAC,EAAgB,MAAM;AACpB,UAAMC,IAAUH,EAAU,MAAM,GAAG,GAC7BI,IACJ,OAAOL,KAAoB,WACvB,SAAS,cAAcA,CAAe,IACtCA;AACN,WAAIK,KACFA,EAAG,UAAU,IAAI,GAAGD,CAAO,GAEtB,MAAM;AACX,MAAIC,KACFA,EAAG,UAAU,OAAO,GAAGD,CAAO;AAAA,IAElC;AAAA,EACF,GAAG,CAACJ,GAAiBC,CAAS,CAAC,GAExBD,MAAoB,SACvBM,EAAS,IAAIP,GAAU,CAACQ,MAClBC,EAAeD,CAAK,IACfE,EAAaF,GAAO;AAAA,IACzB,WAAWG;AAAA,MACRH,EAAM,MAAiC;AAAA,MACxCN;AAAA,IAAA;AAAA,EACF,CACwB,IACrBM,CACR,IACDR;AACN,GAEaY,IAAgB,CAAC;AAAA,EAC5B,OAAAC;AAAA,EACA,iBAAAZ;AAAA,EACA,yBAAAa;AAAA,EACA,oBAAAC;AAAA,EACA,UAAAf;AAAA,EACA,GAAGgB;AACL,MAEI,gBAAAC,EAACC,KAAc,OAAK,IAAE,GAAGH,GACvB,UAAA,gBAAAE,EAACE,KAAqB,OAAAN,GACpB,UAAA,gBAAAI;AAAA,EAACG;AAAA,EAAA;AAAA,IACC,OAAOP,KAAS,UAAUQ,IAAaC;AAAA,IACvC,WAAU;AAAA,IACT,GAAGN;AAAA,IAEH,eAA2Bf,IAC1B,gBAAAgB,EAAClB,GAAA,EAAU,iBAAAE,GAAmC,UAAAD,GAAS,IAEvDA;AAAA,EAAA;AAAA,GAGN,EAAA,CACF;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/theme-provider/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as ConfigProvider,\n type ConfigProviderProps,\n} from \"antd/es/config-provider\";\nimport { Children, cloneElement, isValidElement, useLayoutEffect } from \"react\";\nimport { darkTheme, lightTheme } from \"../../tokens/and-theme/tokens\";\nimport { clsx } from \"../utils\";\nimport { StyleProvider, StyleProviderProps } from \"@ant-design/cssinjs\";\nimport { ThemeContextProvider, ComponentConfig } from \"./context\";\nimport { Theme } from \"../../tokens\";\n\n// Import component-specific styles\nimport \"./style.css\";\nimport { useTheme } from \"./context\";\n\nexport interface ThemeProviderProps\n extends Omit<ConfigProviderProps, \"theme\" | \"prefixCls\"> {\n appendClassesTo?: string | HTMLElement;\n appendClassesToChildren?: boolean;\n styleProviderProps?: StyleProviderProps;\n theme?: Theme;\n componentConfig?: ComponentConfig;\n}\n\nconst DSWrapper = ({\n children,\n appendClassesTo,\n}: {\n children: React.ReactNode;\n appendClassesTo?: string | HTMLElement;\n}) => {\n const { className } = useTheme();\n\n useLayoutEffect(() => {\n const classes = className.split(\" \");\n const el =\n typeof appendClassesTo === \"string\"\n ? document.querySelector(appendClassesTo)\n : appendClassesTo;\n if (el) {\n el.classList.add(...classes);\n }\n return () => {\n if (el) {\n el.classList.remove(...classes);\n }\n };\n }, [appendClassesTo, className]);\n\n return appendClassesTo === undefined\n ? Children.map(children, (child) => {\n if (isValidElement(child))\n return cloneElement(child, {\n className: clsx(\n (child.props as { className?: string }).className,\n className\n ),\n } as { className: string });\n return child;\n })\n : children;\n};\n\nexport const ThemeProvider = ({\n theme,\n componentConfig,\n appendClassesTo,\n appendClassesToChildren,\n styleProviderProps,\n children,\n ...configProviderProps\n}: ThemeProviderProps) => {\n return (\n <StyleProvider layer {...styleProviderProps}>\n <ThemeContextProvider theme={theme} componentConfig={componentConfig}>\n <ConfigProvider\n theme={theme == \"light\" ? lightTheme : darkTheme}\n prefixCls=\"ds\"\n {...configProviderProps}\n >\n {appendClassesToChildren || appendClassesTo ? (\n <DSWrapper appendClassesTo={appendClassesTo}>{children}</DSWrapper>\n ) : (\n children\n )}\n </ConfigProvider>\n </ThemeContextProvider>\n </StyleProvider>\n );\n};\n"],"names":["DSWrapper","children","appendClassesTo","className","useTheme","useLayoutEffect","classes","el","Children","child","isValidElement","cloneElement","clsx","ThemeProvider","theme","componentConfig","appendClassesToChildren","styleProviderProps","configProviderProps","jsx","StyleProvider","ThemeContextProvider","ConfigProvider","lightTheme","darkTheme"],"mappings":";;;;;;;;;;AAyBA,MAAMA,IAAY,CAAC;AAAA,EACjB,UAAAC;AAAA,EACA,iBAAAC;AACF,MAGM;AACJ,QAAM,EAAE,WAAAC,EAAA,IAAcC,EAAA;AAEtB,SAAAC,EAAgB,MAAM;AACpB,UAAMC,IAAUH,EAAU,MAAM,GAAG,GAC7BI,IACJ,OAAOL,KAAoB,WACvB,SAAS,cAAcA,CAAe,IACtCA;AACN,WAAIK,KACFA,EAAG,UAAU,IAAI,GAAGD,CAAO,GAEtB,MAAM;AACX,MAAIC,KACFA,EAAG,UAAU,OAAO,GAAGD,CAAO;AAAA,IAElC;AAAA,EACF,GAAG,CAACJ,GAAiBC,CAAS,CAAC,GAExBD,MAAoB,SACvBM,EAAS,IAAIP,GAAU,CAACQ,MAClBC,EAAeD,CAAK,IACfE,EAAaF,GAAO;AAAA,IACzB,WAAWG;AAAA,MACRH,EAAM,MAAiC;AAAA,MACxCN;AAAA,IAAA;AAAA,EACF,CACwB,IACrBM,CACR,IACDR;AACN,GAEaY,IAAgB,CAAC;AAAA,EAC5B,OAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,iBAAAb;AAAA,EACA,yBAAAc;AAAA,EACA,oBAAAC;AAAA,EACA,UAAAhB;AAAA,EACA,GAAGiB;AACL,MAEI,gBAAAC,EAACC,KAAc,OAAK,IAAE,GAAGH,GACvB,UAAA,gBAAAE,EAACE,GAAA,EAAqB,OAAAP,GAAc,iBAAAC,GAClC,UAAA,gBAAAI;AAAA,EAACG;AAAA,EAAA;AAAA,IACC,OAAOR,KAAS,UAAUS,IAAaC;AAAA,IACvC,WAAU;AAAA,IACT,GAAGN;AAAA,IAEH,eAA2BhB,IAC1B,gBAAAiB,EAACnB,GAAA,EAAU,iBAAAE,GAAmC,UAAAD,GAAS,IAEvDA;AAAA,EAAA;AAAA,GAGN,EAAA,CACF;"}
@@ -1,3 +1,4 @@
1
- export { ThemeContext, useTheme } from './themeStore';
1
+ export { ThemeContext, useTheme, useThemeContext } from './themeStore';
2
+ export type { ComponentConfig } from './themeStore';
2
3
  export { ThemeContextProvider } from './provider';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/theme-provider/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/theme-provider/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
- import { Theme } from '../../../tokens';
3
- export declare const ThemeContextProvider: ({ children, theme, }: {
2
+ import { ThemeStore } from './themeStore';
3
+ export declare const ThemeContextProvider: ({ children, ...store }: ThemeStore & {
4
4
  children: ReactNode;
5
- theme: Theme;
6
5
  }) => import("react/jsx-runtime").JSX.Element;
7
6
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/components/theme-provider/context/provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,eAAO,MAAM,oBAAoB,GAAI,sBAGlC;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;CACd,4CAMA,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/components/theme-provider/context/provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAgB,MAAM,cAAc,CAAC;AAExD,eAAO,MAAM,oBAAoB,GAAI,wBAGlC,UAAU,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,4CAStC,CAAC"}
@@ -1,11 +1,18 @@
1
1
  "use client";
2
- import { jsx as r } from "react/jsx-runtime";
3
- import { ThemeContext as t } from "./themeStore.js";
4
- const n = ({
2
+ import { jsx as n } from "react/jsx-runtime";
3
+ import { useMemo as t } from "react";
4
+ import { ThemeContext as i } from "./themeStore.js";
5
+ const f = ({
5
6
  children: o,
6
- theme: e
7
- }) => e ? /* @__PURE__ */ r(t.Provider, { value: { theme: e }, children: o }) : void 0;
7
+ ...e
8
+ }) => {
9
+ const m = t(
10
+ () => ({ theme: e.theme, componentConfig: e.componentConfig }),
11
+ [e.theme, e.componentConfig]
12
+ );
13
+ return e.theme ? /* @__PURE__ */ n(i.Provider, { value: m, children: o }) : void 0;
14
+ };
8
15
  export {
9
- n as ThemeContextProvider
16
+ f as ThemeContextProvider
10
17
  };
11
18
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sources":["../../../../src/components/theme-provider/context/provider.tsx"],"sourcesContent":["\"use client\";\nimport { ReactNode } from \"react\";\nimport { Theme } from \"../../../tokens\";\nimport { ThemeContext } from \"./themeStore\";\n\nexport const ThemeContextProvider = ({\n children,\n theme,\n}: {\n children: ReactNode;\n theme: Theme;\n}) => {\n // Initialize with a consistent default value for server and client\n\n return theme ? (\n <ThemeContext.Provider value={{ theme }}>{children}</ThemeContext.Provider>\n ) : undefined;\n};\n"],"names":["ThemeContextProvider","children","theme","jsx","ThemeContext"],"mappings":";;;AAKO,MAAMA,IAAuB,CAAC;AAAA,EACnC,UAAAC;AAAA,EACA,OAAAC;AACF,MAMSA,IACL,gBAAAC,EAACC,EAAa,UAAb,EAAsB,OAAO,EAAE,OAAAF,EAAA,GAAU,UAAAD,EAAA,CAAS,IACjD;"}
1
+ {"version":3,"file":"provider.js","sources":["../../../../src/components/theme-provider/context/provider.tsx"],"sourcesContent":["\"use client\";\nimport { ReactNode, useMemo } from \"react\";\nimport { ThemeStore, ThemeContext } from \"./themeStore\";\n\nexport const ThemeContextProvider = ({\n children,\n ...store\n}: ThemeStore & { children: ReactNode }) => {\n const value = useMemo<ThemeStore>(\n () => ({ theme: store.theme, componentConfig: store.componentConfig }),\n [store.theme, store.componentConfig],\n );\n\n return store.theme ? (\n <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>\n ) : undefined;\n};\n"],"names":["ThemeContextProvider","children","store","value","useMemo","jsx","ThemeContext"],"mappings":";;;;AAIO,MAAMA,IAAuB,CAAC;AAAA,EACnC,UAAAC;AAAA,EACA,GAAGC;AACL,MAA4C;AAC1C,QAAMC,IAAQC;AAAA,IACZ,OAAO,EAAE,OAAOF,EAAM,OAAO,iBAAiBA,EAAM;IACpD,CAACA,EAAM,OAAOA,EAAM,eAAe;AAAA,EAAA;AAGrC,SAAOA,EAAM,QACX,gBAAAG,EAACC,EAAa,UAAb,EAAsB,OAAAH,GAAe,UAAAF,GAAS,IAC7C;AACN;"}
@@ -1,9 +1,24 @@
1
1
  import { Context } from 'react';
2
2
  import { Theme } from '../../../tokens';
3
+ import { FormValidationRule } from '../../form/formValidationRule';
4
+ export interface ComponentConfig {
5
+ tooltipEnterDelay?: number;
6
+ tooltipLeaveDelay?: number;
7
+ /**
8
+ * Shared validation rules applied to all Form.Items globally.
9
+ * Each rule requires a `key` for identification, and may optionally
10
+ * provide a `sanitize` function to transform input values on change.
11
+ * Use `BLOCKED_CHARS_RULE` as a ready-made rule, or `createBlockedCharsRule()`
12
+ * for a customized variant. Opt out per item with `ignoreDefaultRules`.
13
+ */
14
+ formValidationRules?: FormValidationRule[];
15
+ }
3
16
  export interface ThemeStore {
4
17
  theme: Theme;
18
+ componentConfig?: ComponentConfig;
5
19
  }
6
20
  export declare const ThemeContext: Context<ThemeStore>;
21
+ export declare const useThemeContext: () => ThemeStore;
7
22
  export declare const useTheme: () => {
8
23
  theme: Theme;
9
24
  className: string;
@@ -1 +1 @@
1
- {"version":3,"file":"themeStore.d.ts","sourceRoot":"","sources":["../../../../src/components/theme-provider/context/themeStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,OAAO,EAAc,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,UAAU,CAE3C,CAAC;AAEH,eAAO,MAAM,QAAQ;;;CAMpB,CAAC"}
1
+ {"version":3,"file":"themeStore.d.ts","sourceRoot":"","sources":["../../../../src/components/theme-provider/context/themeStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,OAAO,EAAc,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,UAAU,CAE3C,CAAC;AAEH,eAAO,MAAM,eAAe,kBAAiC,CAAC;AAE9D,eAAO,MAAM,QAAQ;;;CAMpB,CAAC"}
@@ -1,15 +1,16 @@
1
1
  "use client";
2
- import { createContext as r, useContext as n } from "react";
3
- import { useCls as m, useAntdCssVarClassname as c } from "../../utils/antdUtils.js";
4
- import { clsx as a } from "../../utils/cn.js";
5
- const i = r({
2
+ import { createContext as m, useContext as t } from "react";
3
+ import { useCls as c, useAntdCssVarClassname as a } from "../../utils/antdUtils.js";
4
+ import { clsx as h } from "../../utils/cn.js";
5
+ const s = m({
6
6
  theme: "light"
7
- }), C = () => {
8
- const { theme: e } = n(i), t = m(), s = c(), o = a(t("theme-provider"), e?.toString(), s);
9
- return { theme: e, className: o };
7
+ }), C = () => t(s), x = () => {
8
+ const { theme: e } = t(s), o = c(), n = a(), r = h(o("theme-provider"), e?.toString(), n);
9
+ return { theme: e, className: r };
10
10
  };
11
11
  export {
12
- i as ThemeContext,
13
- C as useTheme
12
+ s as ThemeContext,
13
+ x as useTheme,
14
+ C as useThemeContext
14
15
  };
15
16
  //# sourceMappingURL=themeStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"themeStore.js","sources":["../../../../src/components/theme-provider/context/themeStore.ts"],"sourcesContent":["\"use client\";\nimport { createContext, Context, useContext } from \"react\";\nimport { Theme } from \"../../../tokens\";\nimport { useCls, clsx, useAntdCssVarClassname } from \"../../utils\";\n\nexport interface ThemeStore {\n theme: Theme;\n}\n\nexport const ThemeContext: Context<ThemeStore> = createContext<ThemeStore>({\n theme: \"light\",\n});\n\nexport const useTheme = () => {\n const { theme } = useContext(ThemeContext);\n const cls = useCls();\n const cssVars = useAntdCssVarClassname();\n const className = clsx(cls(\"theme-provider\"), theme?.toString(), cssVars);\n return { theme, className };\n};\n"],"names":["ThemeContext","createContext","useTheme","theme","useContext","cls","useCls","cssVars","useAntdCssVarClassname","className","clsx"],"mappings":";;;;AASO,MAAMA,IAAoCC,EAA0B;AAAA,EACzE,OAAO;AACT,CAAC,GAEYC,IAAW,MAAM;AAC5B,QAAM,EAAE,OAAAC,EAAA,IAAUC,EAAWJ,CAAY,GACnCK,IAAMC,EAAA,GACNC,IAAUC,EAAA,GACVC,IAAYC,EAAKL,EAAI,gBAAgB,GAAGF,GAAO,SAAA,GAAYI,CAAO;AACxE,SAAO,EAAE,OAAAJ,GAAO,WAAAM,EAAA;AAClB;"}
1
+ {"version":3,"file":"themeStore.js","sources":["../../../../src/components/theme-provider/context/themeStore.ts"],"sourcesContent":["\"use client\";\nimport { createContext, Context, useContext } from \"react\";\nimport { Theme } from \"../../../tokens\";\nimport { useCls, clsx, useAntdCssVarClassname } from \"../../utils\";\nimport type { FormValidationRule } from \"../../form/formValidationRule\";\n\nexport interface ComponentConfig {\n tooltipEnterDelay?: number;\n tooltipLeaveDelay?: number;\n /**\n * Shared validation rules applied to all Form.Items globally.\n * Each rule requires a `key` for identification, and may optionally\n * provide a `sanitize` function to transform input values on change.\n * Use `BLOCKED_CHARS_RULE` as a ready-made rule, or `createBlockedCharsRule()`\n * for a customized variant. Opt out per item with `ignoreDefaultRules`.\n */\n formValidationRules?: FormValidationRule[];\n}\n\nexport interface ThemeStore {\n theme: Theme;\n componentConfig?: ComponentConfig;\n}\n\nexport const ThemeContext: Context<ThemeStore> = createContext<ThemeStore>({\n theme: \"light\",\n});\n\nexport const useThemeContext = () => useContext(ThemeContext);\n\nexport const useTheme = () => {\n const { theme } = useContext(ThemeContext);\n const cls = useCls();\n const cssVars = useAntdCssVarClassname();\n const className = clsx(cls(\"theme-provider\"), theme?.toString(), cssVars);\n return { theme, className };\n};\n"],"names":["ThemeContext","createContext","useThemeContext","useContext","useTheme","theme","cls","useCls","cssVars","useAntdCssVarClassname","className","clsx"],"mappings":";;;;AAwBO,MAAMA,IAAoCC,EAA0B;AAAA,EACzE,OAAO;AACT,CAAC,GAEYC,IAAkB,MAAMC,EAAWH,CAAY,GAE/CI,IAAW,MAAM;AAC5B,QAAM,EAAE,OAAAC,EAAA,IAAUF,EAAWH,CAAY,GACnCM,IAAMC,EAAA,GACNC,IAAUC,EAAA,GACVC,IAAYC,EAAKL,EAAI,gBAAgB,GAAGD,GAAO,SAAA,GAAYG,CAAO;AACxE,SAAO,EAAE,OAAAH,GAAO,WAAAK,EAAA;AAClB;"}
@@ -1 +1 @@
1
- @layer components{@keyframes ds-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ds-theme-provider{--ds-modal-padding: 24px;--ds-modal-edge-padding: 16px;--ds-popup-panel-padding: 16px;--ds-scrollbar-width: auto;--ds-scrollbar-width-legacy: 15;--ds-box-shadow-popover-arrow: 0px 0px 1px 0px var(--ds-modal-color-border), 2px 2px 5px rgba(0, 0, 0, .05);--ds-control-border-radius: 6px;--ds-control-border-radius-sm: 4px;--ds-control-border-radius-lg: 8px;--ds-control-transition: all .2s;--ds-control-padding-small: 1px 8px;--ds-control-padding-middle: 5px 12px;--ds-control-padding-large: 9px 12px;--ds-control-padding-inline-small: 8px;--ds-control-padding-block-small: 1px;--ds-control-padding-inline-middle: 12px;--ds-control-padding-block-middle: 5px;--ds-control-padding-inline-large: 12px;--ds-control-padding-block-large: 9px;--ds-control-min-height-small: 24px;--ds-control-min-height-middle: 32px;--ds-control-min-height-large: 40px;--ds-control-line-height: 20px;--ds-control-color-border-hover: var(--ds-color-primary-hover);--ds-control-color-border-focus: var(--ds-color-primary);--ds-control-color-bg-disabled: var(--ds-color-bg-container-disabled);--ds-control-color-text-disabled: var(--ds-color-text-disabled);--ds-control-icon-size: 12px;--ds-control-color-bg: var(--ds-color-bg-container);--ds-control-color-border: var(--ds-color-border);--ds-control-color-border-active: var(--ds-color-primary);--ds-control-color-border-error-active: var(--ds-color-error);--ds-control-color-border-warning-active: var(--ds-color-warning);--ds-control-color-icon: var(--ds-color-text-quaternary);--ds-control-color-icon-hover: var(--ds-color-icon-hover);--ds-control-border: 1px solid var(--ds-control-color-border);--ds-control-border-active: 1px solid var(--ds-control-color-border-active);--ds-control-border-error-active: 1px solid var(--ds-control-color-border-error-active);--ds-control-border-warning-active: 1px solid var(--ds-control-color-border-warning-active);--ds-control-shadow-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-primary) 20%, transparent);--ds-form-label-required-mark-color: var(--ds-color-error);--ds-control-shadow-error-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-error) 20%, transparent);--ds-control-shadow-warning-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-warning) 20%, transparent);--ds-control-color-text-placeholder: var(--ds-color-text-placeholder);--ds-button-bg-secondary: #fafafa;--ds-button-bg-gradient-top: rgba(0, 0, 0, .02);--ds-button-bg-gradient-bottom: rgba(255, 255, 255, 0);--ds-button-bg-gradient-primary-top: rgba(255, 255, 255, .07);--ds-button-bg-gradient-primary-bottom: rgba(255, 255, 255, 0);--ds-button-shadow-default: 0 0 0 0 transparent;--ds-button-shadow-default-inner: inset 0 1px 0 1px #ffffff;--ds-button-shadow-solid: 0 0 0 0 transparent;--ds-button-shadow-solid-hover: 0 0 0 0 transparent;--ds-button-shadow-solid-active: 0 0 0 0 transparent;--ds-button-shadow-solid-inner: inset 0 1px 0 1px rgba(255, 255, 255, .12);--ds-color-primary-fg: hsl(217 80% 40%);--ds-color-primary-fg-hover: hsl(217 80% 55%);--ds-color-primary-fg-active: hsl(217 80% 30%);--ds-color-error-fg: hsl(5 68% 45%);--ds-color-error-fg-hover: hsl(5 68% 50%);--ds-color-error-fg-active: hsl(5 68% 40%);--ds-inter: "Inter", Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ds-animate-spin: ds-spin 1s linear infinite;--ds-z-index-base: 0;--ds-z-index-sticky-element: 520;--ds-z-index-scrollbar: 530;--ds-z-index-panel: 540;--ds-z-index-modal: 1000;--ds-z-index-modal-mask: 1000;--ds-z-index-message: 1010;--ds-z-index-notification: 1010;--ds-z-index-popover: 1030;--ds-z-index-popup: 1030;--ds-z-index-dropdown: 1050;--ds-z-index-picker: 1050;--ds-z-index-popconfirm: 1060;--ds-z-index-tooltip: 1070;--ds-z-index-toast: 2000;--ds-segment-color-bg-active: #ffffff;--ds-scrollbar-color-thumb: rgba(0, 0, 0, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #000000;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 10%);--ds-modal-color-border: rgba(0, 0, 0, .07)}@supports (font-variation-settings: normal){.ds-theme-provider{--ds-inter: "InterVariable", Inter, Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono Variable", Roboto Mono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}}.ds-theme-provider.dark{--ds-modal-color-border: rgba(255, 255, 255, .1);--ds-segment-color-bg-active: #424248;--ds-scrollbar-color-thumb: rgba(255, 255, 255, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #ffffff;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 20%);--ds-button-bg-secondary: hsl(240, 6.5%, 17%);--ds-button-bg-gradient-top: rgba(255, 255, 255, .03);--ds-button-bg-gradient-bottom: rgba(255, 255, 255, 0);--ds-button-bg-gradient-primary-top: rgba(255, 255, 255, .12);--ds-button-bg-gradient-primary-bottom: rgba(255, 255, 255, 0);--ds-button-shadow-default: 0 0 0 0 transparent;--ds-button-shadow-default-inner: 0 0 0 0 transparent;--ds-button-shadow-solid: 0 0 0 0 transparent;--ds-button-shadow-solid-hover: 0 0 0 0 transparent;--ds-button-shadow-solid-active: 0 0 0 0 transparent;--ds-button-shadow-solid-inner: inset 0 1px 0 1px rgba(255, 255, 255, .14);--ds-color-primary-fg: hsl(211 95% 60%);--ds-color-primary-fg-hover: hsl(211 95% 65%);--ds-color-primary-fg-active: hsl(211 95% 58%);--ds-color-error-fg: hsl(4 72% 59%);--ds-color-error-fg-hover: hsl(4 72% 64%);--ds-color-error-fg-active: hsl(4 72% 56%)}}
1
+ @layer components{@keyframes ds-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ds-theme-provider{--ds-modal-padding: 20px;--ds-modal-edge-padding: 16px;--ds-modal-fixed-header-padding-block: 12px;--ds-modal-fixed-footer-padding-block: 12px;--ds-modal-header-padding-block: 16px 0px;--ds-modal-footer-padding-block: 4px 16px;--ds-modal-body-content-padding-block: 20px;--ds-modal-body-content-padding: var(--ds-modal-body-content-padding-block) var(--ds-modal-padding);--ds-dialog-body-content-padding: var(--ds-modal-body-content-padding-block) var(--ds-modal-padding);--ds-popup-panel-padding: 16px;--ds-scrollbar-width: auto;--ds-scrollbar-width-legacy: 15;--ds-box-shadow-popover-arrow: 0px 0px 1px 0px var(--ds-modal-color-border), 2px 2px 5px rgba(0, 0, 0, .05);--ds-control-border-radius: 6px;--ds-control-border-radius-sm: 4px;--ds-control-border-radius-lg: 8px;--ds-control-transition: all .2s;--ds-control-padding-small: 1px 8px;--ds-control-padding-middle: 5px 12px;--ds-control-padding-large: 9px 12px;--ds-control-padding-inline-small: 8px;--ds-control-padding-block-small: 1px;--ds-control-padding-inline-middle: 12px;--ds-control-padding-block-middle: 5px;--ds-control-padding-inline-large: 12px;--ds-control-padding-block-large: 9px;--ds-control-min-height-small: 24px;--ds-control-min-height-middle: 32px;--ds-control-min-height-large: 40px;--ds-control-line-height: 20px;--ds-control-color-border-hover: var(--ds-color-primary-hover);--ds-control-color-border-focus: var(--ds-color-primary);--ds-control-color-bg-disabled: var(--ds-color-bg-container-disabled);--ds-control-color-text-disabled: var(--ds-color-text-disabled);--ds-control-icon-size: 12px;--ds-control-color-bg: var(--ds-color-bg-container);--ds-control-color-border: var(--ds-color-border);--ds-control-color-border-active: var(--ds-color-primary);--ds-control-color-border-error-active: var(--ds-color-error);--ds-control-color-border-warning-active: var(--ds-color-warning);--ds-control-color-icon: var(--ds-color-text-quaternary);--ds-control-color-icon-hover: var(--ds-color-icon-hover);--ds-control-border: 1px solid var(--ds-control-color-border);--ds-control-border-active: 1px solid var(--ds-control-color-border-active);--ds-control-border-error-active: 1px solid var(--ds-control-color-border-error-active);--ds-control-border-warning-active: 1px solid var(--ds-control-color-border-warning-active);--ds-control-shadow-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-primary) 20%, transparent);--ds-form-label-required-mark-color: var(--ds-color-error);--ds-control-shadow-error-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-error) 20%, transparent);--ds-control-shadow-warning-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-warning) 20%, transparent);--ds-control-color-text-placeholder: var(--ds-color-text-placeholder);--ds-button-bg-secondary: #fafafa;--ds-button-bg-gradient-top: rgba(0, 0, 0, .02);--ds-button-bg-gradient-bottom: rgba(255, 255, 255, 0);--ds-button-bg-gradient-primary-top: rgba(255, 255, 255, .07);--ds-button-bg-gradient-primary-bottom: rgba(255, 255, 255, 0);--ds-button-shadow-default: 0 0 0 0 transparent;--ds-button-shadow-default-inner: inset 0 1px 0 1px #ffffff;--ds-button-shadow-solid: 0 0 0 0 transparent;--ds-button-shadow-solid-hover: 0 0 0 0 transparent;--ds-button-shadow-solid-active: 0 0 0 0 transparent;--ds-button-shadow-solid-inner: inset 0 1px 0 1px rgba(255, 255, 255, .12);--ds-color-primary-fg: hsl(217 80% 40%);--ds-color-primary-fg-hover: hsl(217 80% 55%);--ds-color-primary-fg-active: hsl(217 80% 30%);--ds-color-error-fg: hsl(5 68% 45%);--ds-color-error-fg-hover: hsl(5 68% 50%);--ds-color-error-fg-active: hsl(5 68% 40%);--ds-inter: "Inter", Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ds-animate-spin: ds-spin 1s linear infinite;--ds-z-index-base: 0;--ds-z-index-sticky-element: 520;--ds-z-index-scrollbar: 530;--ds-z-index-panel: 540;--ds-z-index-modal: 1000;--ds-z-index-modal-mask: 1000;--ds-z-index-message: 1010;--ds-z-index-notification: 1010;--ds-z-index-popover: 1030;--ds-z-index-popup: 1030;--ds-z-index-dropdown: 1050;--ds-z-index-picker: 1050;--ds-z-index-popconfirm: 1060;--ds-z-index-tooltip: 1070;--ds-z-index-toast: 2000;--ds-segment-color-bg-active: #ffffff;--ds-scrollbar-color-thumb: rgba(0, 0, 0, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #000000;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 10%);--ds-modal-color-border: rgba(0, 0, 0, .07)}@supports (font-variation-settings: normal){.ds-theme-provider{--ds-inter: "InterVariable", Inter, Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono Variable", Roboto Mono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}}.ds-theme-provider.dark{--ds-modal-color-border: rgba(255, 255, 255, .1);--ds-segment-color-bg-active: #424248;--ds-scrollbar-color-thumb: rgba(255, 255, 255, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #ffffff;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 20%);--ds-button-bg-secondary: hsl(240, 6.5%, 17%);--ds-button-bg-gradient-top: rgba(255, 255, 255, .03);--ds-button-bg-gradient-bottom: rgba(255, 255, 255, 0);--ds-button-bg-gradient-primary-top: rgba(255, 255, 255, .12);--ds-button-bg-gradient-primary-bottom: rgba(255, 255, 255, 0);--ds-button-shadow-default: 0 0 0 0 transparent;--ds-button-shadow-default-inner: 0 0 0 0 transparent;--ds-button-shadow-solid: 0 0 0 0 transparent;--ds-button-shadow-solid-hover: 0 0 0 0 transparent;--ds-button-shadow-solid-active: 0 0 0 0 transparent;--ds-button-shadow-solid-inner: inset 0 1px 0 1px rgba(255, 255, 255, .14);--ds-color-primary-fg: hsl(211 95% 60%);--ds-color-primary-fg-hover: hsl(211 95% 65%);--ds-color-primary-fg-active: hsl(211 95% 58%);--ds-color-error-fg: hsl(4 72% 59%);--ds-color-error-fg-hover: hsl(4 72% 64%);--ds-color-error-fg-active: hsl(4 72% 56%)}}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,YAAY,IAAI,eAAe,EACrC,MAAM,iBAAiB,CAAC;AAGzB,OAAO,aAAa,CAAC;AAIrB,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG;IAC3C;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC;AAMF,eAAO,MAAM,OAAO,sGAkBnB,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,YAAY,IAAI,eAAe,EACrC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,aAAa,CAAC;AAIrB,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG;IAC3C;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,OAAO,sGAyBnB,CAAC"}
@@ -1,19 +1,30 @@
1
1
  "use client";
2
- import { jsx as l } from "react/jsx-runtime";
3
- import m from "antd/es/tooltip";
2
+ import { jsx as p } from "react/jsx-runtime";
3
+ import s from "antd/es/tooltip";
4
4
  import './style.css';/* empty css */
5
- import { forwardRef as f, useRef as p, useImperativeHandle as s } from "react";
6
- const a = f(
7
- ({ arrow: o = !1, children: r, ...n }, i) => {
8
- const e = p(null);
9
- return s(i, () => {
10
- const t = e.current?.nativeElement;
11
- return t instanceof Element ? t : null;
12
- }), /* @__PURE__ */ l(m, { arrow: o, ...n, ref: e, children: r });
5
+ import { forwardRef as f, useRef as u, useImperativeHandle as c } from "react";
6
+ import { useThemeContext as v } from "../theme-provider/context/themeStore.js";
7
+ const y = f(
8
+ ({ arrow: n = !1, mouseEnterDelay: r, mouseLeaveDelay: l, children: i, ...m }, a) => {
9
+ const e = u(null), { componentConfig: t } = v();
10
+ return c(a, () => {
11
+ const o = e.current?.nativeElement;
12
+ return o instanceof Element ? o : null;
13
+ }), /* @__PURE__ */ p(
14
+ s,
15
+ {
16
+ arrow: n,
17
+ mouseEnterDelay: r ?? t?.tooltipEnterDelay,
18
+ mouseLeaveDelay: l ?? t?.tooltipLeaveDelay,
19
+ ...m,
20
+ ref: e,
21
+ children: i
22
+ }
23
+ );
13
24
  }
14
25
  );
15
- a.displayName = "Tooltip";
26
+ y.displayName = "Tooltip";
16
27
  export {
17
- a as Tooltip
28
+ y as Tooltip
18
29
  };
19
30
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/tooltip/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntTooltip,\n TooltipRef,\n type TooltipProps as AntTooltipProps,\n} from \"antd/es/tooltip\";\n\n// Import component-specific styles\nimport \"./style.css\";\nimport { forwardRef, useRef, useImperativeHandle } from \"react\";\n\n// Define props interface extending Ant Design's TooltipProps\nexport type TooltipProps = AntTooltipProps & {\n /**\n * Arrow config for of the tooltip\n * @default false\n */\n arrow?: AntTooltipProps[\"arrow\"];\n};\n\n// Create Tooltip component\n// Bridge antd's object ref (TooltipRef) to expose the underlying nativeElement\n// as the forwarded ref. Base UI Popover.Trigger and floating-ui expect a real\n// DOM node for positioning and dismiss handling, not an object wrapper.\nexport const Tooltip = forwardRef<HTMLElement, TooltipProps>(\n ({ arrow = false, children, ...rest }, ref) => {\n const tooltipRef = useRef<TooltipRef>(null);\n\n useImperativeHandle(ref, () => {\n const nativeElement = tooltipRef.current?.nativeElement;\n if (nativeElement instanceof Element) {\n return nativeElement as HTMLElement;\n }\n return null;\n });\n\n return (\n <AntTooltip arrow={arrow} {...rest} ref={tooltipRef}>\n {children}\n </AntTooltip>\n );\n },\n);\n\nTooltip.displayName = \"Tooltip\";\n"],"names":["Tooltip","forwardRef","arrow","children","rest","ref","tooltipRef","useRef","useImperativeHandle","nativeElement","AntTooltip"],"mappings":";;;;;AAwBO,MAAMA,IAAUC;AAAA,EACrB,CAAC,EAAE,OAAAC,IAAQ,IAAO,UAAAC,GAAU,GAAGC,EAAA,GAAQC,MAAQ;AAC7C,UAAMC,IAAaC,EAAmB,IAAI;AAE1C,WAAAC,EAAoBH,GAAK,MAAM;AAC7B,YAAMI,IAAgBH,EAAW,SAAS;AAC1C,aAAIG,aAAyB,UACpBA,IAEF;AAAA,IACT,CAAC,qBAGEC,GAAA,EAAW,OAAAR,GAAe,GAAGE,GAAM,KAAKE,GACtC,UAAAH,GACH;AAAA,EAEJ;AACF;AAEAH,EAAQ,cAAc;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/tooltip/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntTooltip,\n TooltipRef,\n type TooltipProps as AntTooltipProps,\n} from \"antd/es/tooltip\";\n\nimport \"./style.css\";\nimport { forwardRef, useRef, useImperativeHandle } from \"react\";\nimport { useThemeContext } from \"../theme-provider/context\";\n\nexport type TooltipProps = AntTooltipProps & {\n /**\n * Arrow config for of the tooltip\n * @default false\n */\n arrow?: AntTooltipProps[\"arrow\"];\n};\n\nexport const Tooltip = forwardRef<HTMLElement, TooltipProps>(\n ({ arrow = false, mouseEnterDelay, mouseLeaveDelay, children, ...rest }, ref) => {\n const tooltipRef = useRef<TooltipRef>(null);\n const { componentConfig } = useThemeContext();\n\n useImperativeHandle(ref, () => {\n const nativeElement = tooltipRef.current?.nativeElement;\n if (nativeElement instanceof Element) {\n return nativeElement as HTMLElement;\n }\n return null;\n });\n\n return (\n <AntTooltip\n arrow={arrow}\n mouseEnterDelay={mouseEnterDelay ?? componentConfig?.tooltipEnterDelay}\n mouseLeaveDelay={mouseLeaveDelay ?? componentConfig?.tooltipLeaveDelay}\n {...rest}\n ref={tooltipRef}\n >\n {children}\n </AntTooltip>\n );\n },\n);\n\nTooltip.displayName = \"Tooltip\";\n"],"names":["Tooltip","forwardRef","arrow","mouseEnterDelay","mouseLeaveDelay","children","rest","ref","tooltipRef","useRef","componentConfig","useThemeContext","useImperativeHandle","nativeElement","jsx","AntTooltip"],"mappings":";;;;;;AAmBO,MAAMA,IAAUC;AAAA,EACrB,CAAC,EAAE,OAAAC,IAAQ,IAAO,iBAAAC,GAAiB,iBAAAC,GAAiB,UAAAC,GAAU,GAAGC,EAAA,GAAQC,MAAQ;AAC/E,UAAMC,IAAaC,EAAmB,IAAI,GACpC,EAAE,iBAAAC,EAAA,IAAoBC,EAAA;AAE5B,WAAAC,EAAoBL,GAAK,MAAM;AAC7B,YAAMM,IAAgBL,EAAW,SAAS;AAC1C,aAAIK,aAAyB,UACpBA,IAEF;AAAA,IACT,CAAC,GAGC,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAAb;AAAA,QACA,iBAAiBC,KAAmBO,GAAiB;AAAA,QACrD,iBAAiBN,KAAmBM,GAAiB;AAAA,QACpD,GAAGJ;AAAA,QACJ,KAAKE;AAAA,QAEJ,UAAAH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;AAEAL,EAAQ,cAAc;"}