@bioturing/components 0.42.0 → 0.44.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.
- package/dist/components/button/component.d.ts.map +1 -1
- package/dist/components/button/component.js +41 -34
- package/dist/components/button/component.js.map +1 -1
- package/dist/components/button/style.css +1 -1
- package/dist/components/combobox/component.d.ts.map +1 -1
- package/dist/components/combobox/component.js +136 -126
- package/dist/components/combobox/component.js.map +1 -1
- package/dist/components/command-palette/component.d.ts +7 -0
- package/dist/components/command-palette/component.d.ts.map +1 -1
- package/dist/components/command-palette/component.js +35 -33
- package/dist/components/command-palette/component.js.map +1 -1
- package/dist/components/dialog/Dialog.d.ts +53 -0
- package/dist/components/dialog/Dialog.d.ts.map +1 -0
- package/dist/components/dialog/Dialog.js +231 -0
- package/dist/components/dialog/Dialog.js.map +1 -0
- package/dist/components/dialog/constants.d.ts +20 -0
- package/dist/components/dialog/constants.d.ts.map +1 -0
- package/dist/components/dialog/constants.js +20 -0
- package/dist/components/dialog/constants.js.map +1 -0
- package/dist/components/dialog/dialog.css +1 -0
- package/dist/components/dialog/index.d.ts +4 -0
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/dialog/index.js +8 -0
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/components/dropdown-menu/component.d.ts +8 -1
- package/dist/components/dropdown-menu/component.d.ts.map +1 -1
- package/dist/components/dropdown-menu/component.js +165 -141
- package/dist/components/dropdown-menu/component.js.map +1 -1
- package/dist/components/dropdown-menu/style.css +1 -1
- package/dist/components/ds-root/component.d.ts +6 -1
- package/dist/components/ds-root/component.d.ts.map +1 -1
- package/dist/components/ds-root/component.js +15 -14
- package/dist/components/ds-root/component.js.map +1 -1
- package/dist/components/form/style.css +1 -1
- package/dist/components/hooks/index.d.ts +0 -1
- package/dist/components/hooks/index.d.ts.map +1 -1
- package/dist/components/icon-button/style.css +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/label-with-help/component.d.ts +20 -0
- package/dist/components/label-with-help/component.d.ts.map +1 -0
- package/dist/components/label-with-help/component.js +39 -0
- package/dist/components/label-with-help/component.js.map +1 -0
- package/dist/components/label-with-help/index.d.ts +2 -0
- package/dist/components/label-with-help/index.d.ts.map +1 -0
- package/dist/components/label-with-help/style.css +1 -0
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +157 -133
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/popup-panel/component.d.ts +2 -111
- package/dist/components/popup-panel/component.d.ts.map +1 -1
- package/dist/components/popup-panel/component.js +259 -143
- package/dist/components/popup-panel/component.js.map +1 -1
- package/dist/components/popup-panel/constants.d.ts +1 -0
- package/dist/components/popup-panel/constants.d.ts.map +1 -1
- package/dist/components/popup-panel/constants.js +2 -0
- package/dist/components/popup-panel/constants.js.map +1 -1
- package/dist/components/popup-panel/index.d.ts +1 -0
- package/dist/components/popup-panel/index.d.ts.map +1 -1
- package/dist/components/popup-panel/types.d.ts +124 -0
- package/dist/components/popup-panel/types.d.ts.map +1 -0
- package/dist/components/popup-panel/utils.d.ts +1 -1
- package/dist/components/popup-panel/utils.d.ts.map +1 -1
- package/dist/components/popup-panel/utils.js +5 -5
- package/dist/components/popup-panel/utils.js.map +1 -1
- package/dist/components/resizable/component.d.ts.map +1 -1
- package/dist/components/resizable/component.js +28 -28
- package/dist/components/resizable/component.js.map +1 -1
- package/dist/components/select/component.d.ts.map +1 -1
- package/dist/components/select/component.js +130 -120
- package/dist/components/select/component.js.map +1 -1
- package/dist/components/select-trigger/style.css +1 -1
- package/dist/components/spin/Indicator/Looper.d.ts +6 -0
- package/dist/components/spin/Indicator/Looper.d.ts.map +1 -0
- package/dist/components/spin/Indicator/Looper.js +15 -0
- package/dist/components/spin/Indicator/Looper.js.map +1 -0
- package/dist/components/spin/Indicator/Progress.d.ts +6 -0
- package/dist/components/spin/Indicator/Progress.d.ts.map +1 -0
- package/dist/components/spin/Indicator/Progress.js +59 -0
- package/dist/components/spin/Indicator/Progress.js.map +1 -0
- package/dist/components/spin/Indicator/index.d.ts +8 -0
- package/dist/components/spin/Indicator/index.d.ts.map +1 -0
- package/dist/components/spin/Indicator/index.js +20 -0
- package/dist/components/spin/Indicator/index.js.map +1 -0
- package/dist/components/spin/component.d.ts +28 -4
- package/dist/components/spin/component.d.ts.map +1 -1
- package/dist/components/spin/component.js +162 -14
- package/dist/components/spin/component.js.map +1 -1
- package/dist/components/spin/style.css +1 -1
- package/dist/components/spin/usePercent.d.ts +2 -0
- package/dist/components/spin/usePercent.d.ts.map +1 -0
- package/dist/components/spin/usePercent.js +27 -0
- package/dist/components/spin/usePercent.js.map +1 -0
- package/dist/components/theme-provider/style.css +1 -1
- package/dist/components/toast/component.d.ts +2 -2
- package/dist/components/toast/component.d.ts.map +1 -1
- package/dist/components/toast/component.js +14 -20
- package/dist/components/toast/component.js.map +1 -1
- package/dist/components/toast/function.d.ts +7 -8
- package/dist/components/toast/function.d.ts.map +1 -1
- package/dist/components/toast/function.js.map +1 -1
- package/dist/components/toast/style.css +1 -1
- package/dist/components/toast/types.d.ts +4 -0
- package/dist/components/toast/types.d.ts.map +1 -1
- package/dist/components/utils/cn.d.ts.map +1 -1
- package/dist/components/utils/cn.js +112 -20
- package/dist/components/utils/cn.js.map +1 -1
- package/dist/components/utils/placement.d.ts +9 -2
- package/dist/components/utils/placement.d.ts.map +1 -1
- package/dist/components/utils/placement.js +29 -18
- package/dist/components/utils/placement.js.map +1 -1
- package/dist/components/utils/reactElement.d.ts +2 -0
- package/dist/components/utils/reactElement.d.ts.map +1 -1
- package/dist/components/utils/reactElement.js +10 -2
- package/dist/components/utils/reactElement.js.map +1 -1
- package/dist/components/utils/renderProp.d.ts.map +1 -1
- package/dist/components/utils/renderProp.js +9 -8
- package/dist/components/utils/renderProp.js.map +1 -1
- package/dist/components/utils/theme.d.ts.map +1 -1
- package/dist/components/utils/theme.js +3 -1
- package/dist/components/utils/theme.js.map +1 -1
- package/dist/index.js +239 -235
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +28 -1
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +52 -1
- package/dist/metadata.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/tokens/and-theme/tokens.d.ts.map +1 -1
- package/dist/tokens/and-theme/tokens.js +61 -56
- package/dist/tokens/and-theme/tokens.js.map +1 -1
- package/package.json +3 -3
- package/dist/components/hooks/useBaseUIPlacement.d.ts +0 -64
- package/dist/components/hooks/useBaseUIPlacement.d.ts.map +0 -1
- package/dist/components/hooks/useBaseUIPlacement.js +0 -61
- package/dist/components/hooks/useBaseUIPlacement.js.map +0 -1
|
@@ -1,27 +1,119 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { extendTailwindMerge as t } from "tailwind-merge";
|
|
2
|
+
const l = [
|
|
3
|
+
"ds-color-primary",
|
|
4
|
+
"ds-color-primary-hover",
|
|
5
|
+
"ds-color-primary-active",
|
|
6
|
+
"ds-color-primary-text",
|
|
7
|
+
"ds-color-primary-text-hover",
|
|
8
|
+
"ds-color-primary-text-active",
|
|
9
|
+
"ds-color-primary-bg",
|
|
10
|
+
"ds-color-primary-bg-hover",
|
|
11
|
+
"ds-color-primary-border",
|
|
12
|
+
"ds-color-primary-border-hover",
|
|
13
|
+
"ds-color-warning",
|
|
14
|
+
"ds-color-warning-hover",
|
|
15
|
+
"ds-color-warning-active",
|
|
16
|
+
"ds-color-warning-text",
|
|
17
|
+
"ds-color-warning-text-hover",
|
|
18
|
+
"ds-color-warning-text-active",
|
|
19
|
+
"ds-color-warning-bg",
|
|
20
|
+
"ds-color-warning-bg-hover",
|
|
21
|
+
"ds-color-warning-border",
|
|
22
|
+
"ds-color-warning-border-hover",
|
|
23
|
+
"ds-color-success",
|
|
24
|
+
"ds-color-success-hover",
|
|
25
|
+
"ds-color-success-active",
|
|
26
|
+
"ds-color-success-text",
|
|
27
|
+
"ds-color-success-text-hover",
|
|
28
|
+
"ds-color-success-text-active",
|
|
29
|
+
"ds-color-success-bg",
|
|
30
|
+
"ds-color-success-bg-hover",
|
|
31
|
+
"ds-color-success-border",
|
|
32
|
+
"ds-color-success-border-hover",
|
|
33
|
+
"ds-color-error",
|
|
34
|
+
"ds-color-error-hover",
|
|
35
|
+
"ds-color-error-active",
|
|
36
|
+
"ds-color-error-text",
|
|
37
|
+
"ds-color-error-text-hover",
|
|
38
|
+
"ds-color-error-text-active",
|
|
39
|
+
"ds-color-error-bg",
|
|
40
|
+
"ds-color-error-bg-hover",
|
|
41
|
+
"ds-color-error-border",
|
|
42
|
+
"ds-color-error-border-hover",
|
|
43
|
+
"ds-color-text-base",
|
|
44
|
+
"ds-color-text",
|
|
45
|
+
"ds-color-text-secondary",
|
|
46
|
+
"ds-color-text-tertiary",
|
|
47
|
+
"ds-color-text-quaternary",
|
|
48
|
+
"ds-color-bg-base",
|
|
49
|
+
"ds-color-bg-container",
|
|
50
|
+
"ds-color-bg-elevated",
|
|
51
|
+
"ds-color-bg-layout",
|
|
52
|
+
"ds-color-bg-spotlight",
|
|
53
|
+
"ds-color-bg-mask",
|
|
54
|
+
"ds-color-fill",
|
|
55
|
+
"ds-color-fill-secondary",
|
|
56
|
+
"ds-color-fill-tertiary",
|
|
57
|
+
"ds-color-fill-quaternary",
|
|
58
|
+
"ds-color-fill-alter",
|
|
59
|
+
"ds-color-border",
|
|
60
|
+
"ds-color-border-secondary",
|
|
61
|
+
"ds-color-split",
|
|
62
|
+
"ds-color-text-placeholder",
|
|
63
|
+
"ds-color-text-disabled",
|
|
64
|
+
"ds-color-text-heading",
|
|
65
|
+
"ds-color-text-label",
|
|
66
|
+
"ds-color-text-description",
|
|
67
|
+
"ds-color-text-light-solid",
|
|
68
|
+
"ds-color-highlight",
|
|
69
|
+
"ds-color-bg-text-hover",
|
|
70
|
+
"ds-color-bg-text-active",
|
|
71
|
+
"ds-color-icon",
|
|
72
|
+
"ds-color-icon-hover",
|
|
73
|
+
"ds-segment-color-bg-active"
|
|
74
|
+
], i = [
|
|
75
|
+
"ds-sm",
|
|
76
|
+
"ds-md",
|
|
77
|
+
"ds-lg",
|
|
78
|
+
"ds-xl",
|
|
79
|
+
"ds-h1",
|
|
80
|
+
"ds-h2",
|
|
81
|
+
"ds-h3",
|
|
82
|
+
"ds-h4",
|
|
83
|
+
"ds-h5",
|
|
84
|
+
"ds-subheading",
|
|
85
|
+
"ds-subheading2"
|
|
86
|
+
], n = t({
|
|
87
|
+
extend: {
|
|
88
|
+
theme: {
|
|
89
|
+
color: l,
|
|
90
|
+
text: i
|
|
13
91
|
}
|
|
14
|
-
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
function e(...r) {
|
|
95
|
+
const s = [];
|
|
96
|
+
for (const o of r)
|
|
97
|
+
if (o) {
|
|
98
|
+
if (typeof o == "string" || typeof o == "number")
|
|
99
|
+
s.push(String(o));
|
|
100
|
+
else if (Array.isArray(o))
|
|
101
|
+
s.push(...e(...o));
|
|
102
|
+
else if (typeof o == "object")
|
|
103
|
+
for (const [c, d] of Object.entries(o))
|
|
104
|
+
d && s.push(c);
|
|
105
|
+
}
|
|
106
|
+
return s;
|
|
15
107
|
}
|
|
16
|
-
function
|
|
17
|
-
return
|
|
108
|
+
function g(...r) {
|
|
109
|
+
return e(...r).join(" ");
|
|
18
110
|
}
|
|
19
|
-
function
|
|
20
|
-
return
|
|
111
|
+
function b(...r) {
|
|
112
|
+
return n(e(...r));
|
|
21
113
|
}
|
|
22
114
|
export {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
115
|
+
g as clsx,
|
|
116
|
+
b as cn,
|
|
117
|
+
e as cx
|
|
26
118
|
};
|
|
27
119
|
//# sourceMappingURL=cn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cn.js","sources":["../../../src/components/utils/cn.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"cn.js","sources":["../../../src/components/utils/cn.ts"],"sourcesContent":["import { extendTailwindMerge } from \"tailwind-merge\";\nimport type { ClassValue } from \"./types\";\n\n// Copied from `src/tokens/tailwind.css` by converting the base `--color-*`\n// and `--text-*` theme variable names into Tailwind theme scale keys.\nconst DS_TAILWIND_COLOR_THEME_SCALE = [\n \"ds-color-primary\",\n \"ds-color-primary-hover\",\n \"ds-color-primary-active\",\n \"ds-color-primary-text\",\n \"ds-color-primary-text-hover\",\n \"ds-color-primary-text-active\",\n \"ds-color-primary-bg\",\n \"ds-color-primary-bg-hover\",\n \"ds-color-primary-border\",\n \"ds-color-primary-border-hover\",\n \"ds-color-warning\",\n \"ds-color-warning-hover\",\n \"ds-color-warning-active\",\n \"ds-color-warning-text\",\n \"ds-color-warning-text-hover\",\n \"ds-color-warning-text-active\",\n \"ds-color-warning-bg\",\n \"ds-color-warning-bg-hover\",\n \"ds-color-warning-border\",\n \"ds-color-warning-border-hover\",\n \"ds-color-success\",\n \"ds-color-success-hover\",\n \"ds-color-success-active\",\n \"ds-color-success-text\",\n \"ds-color-success-text-hover\",\n \"ds-color-success-text-active\",\n \"ds-color-success-bg\",\n \"ds-color-success-bg-hover\",\n \"ds-color-success-border\",\n \"ds-color-success-border-hover\",\n \"ds-color-error\",\n \"ds-color-error-hover\",\n \"ds-color-error-active\",\n \"ds-color-error-text\",\n \"ds-color-error-text-hover\",\n \"ds-color-error-text-active\",\n \"ds-color-error-bg\",\n \"ds-color-error-bg-hover\",\n \"ds-color-error-border\",\n \"ds-color-error-border-hover\",\n \"ds-color-text-base\",\n \"ds-color-text\",\n \"ds-color-text-secondary\",\n \"ds-color-text-tertiary\",\n \"ds-color-text-quaternary\",\n \"ds-color-bg-base\",\n \"ds-color-bg-container\",\n \"ds-color-bg-elevated\",\n \"ds-color-bg-layout\",\n \"ds-color-bg-spotlight\",\n \"ds-color-bg-mask\",\n \"ds-color-fill\",\n \"ds-color-fill-secondary\",\n \"ds-color-fill-tertiary\",\n \"ds-color-fill-quaternary\",\n \"ds-color-fill-alter\",\n \"ds-color-border\",\n \"ds-color-border-secondary\",\n \"ds-color-split\",\n \"ds-color-text-placeholder\",\n \"ds-color-text-disabled\",\n \"ds-color-text-heading\",\n \"ds-color-text-label\",\n \"ds-color-text-description\",\n \"ds-color-text-light-solid\",\n \"ds-color-highlight\",\n \"ds-color-bg-text-hover\",\n \"ds-color-bg-text-active\",\n \"ds-color-icon\",\n \"ds-color-icon-hover\",\n \"ds-segment-color-bg-active\",\n] as const;\n\nconst DS_TAILWIND_TEXT_THEME_SCALE = [\n \"ds-sm\",\n \"ds-md\",\n \"ds-lg\",\n \"ds-xl\",\n \"ds-h1\",\n \"ds-h2\",\n \"ds-h3\",\n \"ds-h4\",\n \"ds-h5\",\n \"ds-subheading\",\n \"ds-subheading2\",\n] as const;\n\nconst twMerge = extendTailwindMerge({\n extend: {\n theme: {\n color: DS_TAILWIND_COLOR_THEME_SCALE,\n text: DS_TAILWIND_TEXT_THEME_SCALE,\n },\n },\n});\n\nexport function cx(...args: ClassValue[]): string[] {\n const classes: string[] = [];\n\n for (const arg of args) {\n if (!arg) continue;\n\n if (typeof arg === \"string\" || typeof arg === \"number\") {\n classes.push(String(arg));\n } else if (Array.isArray(arg)) {\n classes.push(...cx(...arg));\n } else if (typeof arg === \"object\") {\n for (const [key, value] of Object.entries(arg)) {\n if (value) classes.push(key);\n }\n }\n }\n\n return classes;\n}\n\nexport function clsx(...args: ClassValue[]): string {\n return cx(...args).join(\" \");\n}\n\nexport function cn(...args: ClassValue[]): string {\n return twMerge(cx(...args));\n}\n"],"names":["DS_TAILWIND_COLOR_THEME_SCALE","DS_TAILWIND_TEXT_THEME_SCALE","twMerge","extendTailwindMerge","cx","args","classes","arg","key","value","clsx","cn"],"mappings":";AAKA,MAAMA,IAAgC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEMC,IAA+B;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEMC,IAAUC,EAAoB;AAAA,EAClC,QAAQ;AAAA,IACN,OAAO;AAAA,MACL,OAAOH;AAAA,MACP,MAAMC;AAAA,IAAA;AAAA,EACR;AAEJ,CAAC;AAEM,SAASG,KAAMC,GAA8B;AAClD,QAAMC,IAAoB,CAAA;AAE1B,aAAWC,KAAOF;AAChB,QAAKE;AAEL,UAAI,OAAOA,KAAQ,YAAY,OAAOA,KAAQ;AAC5C,QAAAD,EAAQ,KAAK,OAAOC,CAAG,CAAC;AAAA,eACf,MAAM,QAAQA,CAAG;AAC1B,QAAAD,EAAQ,KAAK,GAAGF,EAAG,GAAGG,CAAG,CAAC;AAAA,eACjB,OAAOA,KAAQ;AACxB,mBAAW,CAACC,GAAKC,CAAK,KAAK,OAAO,QAAQF,CAAG;AAC3C,UAAIE,KAAOH,EAAQ,KAAKE,CAAG;AAAA;AAKjC,SAAOF;AACT;AAEO,SAASI,KAAQL,GAA4B;AAClD,SAAOD,EAAG,GAAGC,CAAI,EAAE,KAAK,GAAG;AAC7B;AAEO,SAASM,KAAMN,GAA4B;AAChD,SAAOH,EAAQE,EAAG,GAAGC,CAAI,CAAC;AAC5B;"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { PopoverProps } from 'antd/es/popover';
|
|
2
|
-
|
|
3
|
-
export type
|
|
2
|
+
import { Popover } from '@base-ui/react/popover';
|
|
3
|
+
export type BaseUISide = Popover.Positioner.State["side"];
|
|
4
|
+
export type BaseUIAlign = Popover.Positioner.State["align"];
|
|
5
|
+
type PhysicalSide = Extract<BaseUISide, "top" | "bottom" | "left" | "right">;
|
|
4
6
|
export type AntdPlacement = PopoverProps["placement"];
|
|
5
7
|
export interface BaseUIPlacement {
|
|
6
8
|
side: BaseUISide;
|
|
7
9
|
align: BaseUIAlign;
|
|
8
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Normalize Base UI logical side values into physical sides.
|
|
13
|
+
*/
|
|
14
|
+
export declare function normalizeBaseUISide(side: BaseUISide): PhysicalSide;
|
|
9
15
|
/**
|
|
10
16
|
* Parse Antd placement string into BaseUI side and align values
|
|
11
17
|
* @param placement - Antd placement string (e.g., "bottomLeft", "top", "rightTop")
|
|
@@ -18,4 +24,5 @@ export declare function parseAntdPlacement(placement?: AntdPlacement): BaseUIPla
|
|
|
18
24
|
* @returns Antd placement string
|
|
19
25
|
*/
|
|
20
26
|
export declare function buildAntdPlacement(placement: BaseUIPlacement): AntdPlacement;
|
|
27
|
+
export {};
|
|
21
28
|
//# sourceMappingURL=placement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../../../src/components/utils/placement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../../../src/components/utils/placement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5D,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAG7E,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAGtD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CASlE;AA4BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,GAAE,aAA4B,GACtC,eAAe,CAkCjB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,eAAe,GAAG,aAAa,CAsC5E"}
|
|
@@ -1,34 +1,44 @@
|
|
|
1
1
|
function i(r) {
|
|
2
|
+
switch (r) {
|
|
3
|
+
case "inline-start":
|
|
4
|
+
return "left";
|
|
5
|
+
case "inline-end":
|
|
6
|
+
return "right";
|
|
7
|
+
default:
|
|
8
|
+
return r;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
function a(r) {
|
|
2
12
|
const e = [];
|
|
3
|
-
let
|
|
13
|
+
let n = "";
|
|
4
14
|
for (let t = 0; t < r.length; t++) {
|
|
5
|
-
const
|
|
6
|
-
|
|
15
|
+
const o = r[t];
|
|
16
|
+
o >= "A" && o <= "Z" && n.length > 0 ? (e.push(n), n = o) : n += o;
|
|
7
17
|
}
|
|
8
|
-
return
|
|
18
|
+
return n && e.push(n), e.length > 0 ? e : [r];
|
|
9
19
|
}
|
|
10
|
-
function
|
|
11
|
-
const [e,
|
|
12
|
-
let t,
|
|
20
|
+
function l(r = "bottomLeft") {
|
|
21
|
+
const [e, n] = a(r);
|
|
22
|
+
let t, o = "center";
|
|
13
23
|
if (["top", "bottom", "left", "right"].includes(e.toLowerCase())) {
|
|
14
|
-
if (t = e.toLowerCase(),
|
|
15
|
-
const s =
|
|
16
|
-
t === "top" || t === "bottom" ? s === "left" ?
|
|
24
|
+
if (t = e.toLowerCase(), n) {
|
|
25
|
+
const s = n.toLowerCase();
|
|
26
|
+
t === "top" || t === "bottom" ? s === "left" ? o = "start" : s === "right" && (o = "end") : s === "top" ? o = "start" : s === "bottom" && (o = "end");
|
|
17
27
|
}
|
|
18
28
|
} else
|
|
19
29
|
t = "bottom";
|
|
20
30
|
return {
|
|
21
31
|
side: t,
|
|
22
|
-
align:
|
|
32
|
+
align: o
|
|
23
33
|
};
|
|
24
34
|
}
|
|
25
|
-
function
|
|
26
|
-
const
|
|
27
|
-
if (
|
|
35
|
+
function c(r) {
|
|
36
|
+
const e = i(r.side ?? "bottom"), { align: n = "center" } = r;
|
|
37
|
+
if (n === "center")
|
|
28
38
|
return e;
|
|
29
39
|
let t;
|
|
30
40
|
if (e === "top" || e === "bottom")
|
|
31
|
-
switch (
|
|
41
|
+
switch (n) {
|
|
32
42
|
case "start":
|
|
33
43
|
t = "Left";
|
|
34
44
|
break;
|
|
@@ -39,7 +49,7 @@ function l(r) {
|
|
|
39
49
|
return e;
|
|
40
50
|
}
|
|
41
51
|
else
|
|
42
|
-
switch (
|
|
52
|
+
switch (n) {
|
|
43
53
|
case "start":
|
|
44
54
|
t = "Top";
|
|
45
55
|
break;
|
|
@@ -52,7 +62,8 @@ function l(r) {
|
|
|
52
62
|
return `${e}${t}`;
|
|
53
63
|
}
|
|
54
64
|
export {
|
|
55
|
-
|
|
56
|
-
|
|
65
|
+
c as buildAntdPlacement,
|
|
66
|
+
i as normalizeBaseUISide,
|
|
67
|
+
l as parseAntdPlacement
|
|
57
68
|
};
|
|
58
69
|
//# sourceMappingURL=placement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placement.js","sources":["../../../src/components/utils/placement.ts"],"sourcesContent":["import type { PopoverProps } from \"antd/es/popover\";\n\n// Base UI placement types\nexport type BaseUISide = \"
|
|
1
|
+
{"version":3,"file":"placement.js","sources":["../../../src/components/utils/placement.ts"],"sourcesContent":["import type { PopoverProps } from \"antd/es/popover\";\nimport type { Popover } from \"@base-ui/react/popover\";\n\n// Base UI placement types\nexport type BaseUISide = Popover.Positioner.State[\"side\"];\nexport type BaseUIAlign = Popover.Positioner.State[\"align\"];\ntype PhysicalSide = Extract<BaseUISide, \"top\" | \"bottom\" | \"left\" | \"right\">;\n\n// Antd placement type (re-export for convenience)\nexport type AntdPlacement = PopoverProps[\"placement\"];\n\n// Base UI placement interface - used for both parsing and building\nexport interface BaseUIPlacement {\n side: BaseUISide;\n align: BaseUIAlign;\n}\n\n/**\n * Normalize Base UI logical side values into physical sides.\n */\nexport function normalizeBaseUISide(side: BaseUISide): PhysicalSide {\n switch (side) {\n case \"inline-start\":\n return \"left\";\n case \"inline-end\":\n return \"right\";\n default:\n return side;\n }\n}\n\n/**\n * Utility to split camelCase strings into parts\n * e.g., \"bottomLeft\" -> [\"bottom\", \"Left\"]\n */\nfunction splitCamelCase(text: string): string[] {\n const result: string[] = [];\n let currentWord = \"\";\n\n for (let i = 0; i < text.length; i++) {\n const char = text[i];\n\n if (char >= \"A\" && char <= \"Z\" && currentWord.length > 0) {\n result.push(currentWord);\n currentWord = char;\n } else {\n currentWord += char;\n }\n }\n\n if (currentWord) {\n result.push(currentWord);\n }\n\n return result.length > 0 ? result : [text];\n}\n\n/**\n * Parse Antd placement string into BaseUI side and align values\n * @param placement - Antd placement string (e.g., \"bottomLeft\", \"top\", \"rightTop\")\n * @returns Object with side and align properties for BaseUI components\n */\nexport function parseAntdPlacement(\n placement: AntdPlacement = \"bottomLeft\"\n): BaseUIPlacement {\n const [position1, position2] = splitCamelCase(placement);\n\n // Determine primary placement\n let side: BaseUISide;\n let align: BaseUIAlign = \"center\";\n\n // Check if first position is a side\n if ([\"top\", \"bottom\", \"left\", \"right\"].includes(position1.toLowerCase())) {\n side = position1.toLowerCase() as BaseUISide;\n\n // Determine alignment based on side and secondary position\n if (position2) {\n const secondaryLower = position2.toLowerCase();\n \n if (side === \"top\" || side === \"bottom\") {\n // For vertical sides, Left/Right become start/end\n if (secondaryLower === \"left\") align = \"start\";\n else if (secondaryLower === \"right\") align = \"end\";\n } else {\n // For horizontal sides, Top/Bottom become start/end\n if (secondaryLower === \"top\") align = \"start\";\n else if (secondaryLower === \"bottom\") align = \"end\";\n }\n }\n } else {\n // Fallback for invalid placement\n side = \"bottom\";\n }\n\n return {\n side,\n align,\n };\n}\n\n/**\n * Build Antd placement string from BaseUI side and align values\n * @param placement - Object with side and align properties\n * @returns Antd placement string\n */\nexport function buildAntdPlacement(placement: BaseUIPlacement): AntdPlacement {\n const side = normalizeBaseUISide(placement.side ?? \"bottom\");\n const { align = \"center\" } = placement;\n \n if (align === \"center\") {\n return side;\n }\n\n let alignmentPart: string;\n\n // For vertical sides (top/bottom), alignment is horizontal\n if (side === \"top\" || side === \"bottom\") {\n switch (align) {\n case \"start\":\n alignmentPart = \"Left\";\n break;\n case \"end\":\n alignmentPart = \"Right\";\n break;\n default:\n return side;\n }\n }\n // For horizontal sides (left/right), alignment is vertical\n else {\n switch (align) {\n case \"start\":\n alignmentPart = \"Top\";\n break;\n case \"end\":\n alignmentPart = \"Bottom\";\n break;\n default:\n return side;\n }\n }\n\n return `${side}${alignmentPart}` as AntdPlacement;\n}\n"],"names":["normalizeBaseUISide","side","splitCamelCase","text","result","currentWord","i","char","parseAntdPlacement","placement","position1","position2","align","secondaryLower","buildAntdPlacement","alignmentPart"],"mappings":"AAoBO,SAASA,EAAoBC,GAAgC;AAClE,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAOA;AAAA,EAAA;AAEb;AAMA,SAASC,EAAeC,GAAwB;AAC9C,QAAMC,IAAmB,CAAA;AACzB,MAAIC,IAAc;AAElB,WAASC,IAAI,GAAGA,IAAIH,EAAK,QAAQG,KAAK;AACpC,UAAMC,IAAOJ,EAAKG,CAAC;AAEnB,IAAIC,KAAQ,OAAOA,KAAQ,OAAOF,EAAY,SAAS,KACrDD,EAAO,KAAKC,CAAW,GACvBA,IAAcE,KAEdF,KAAeE;AAAA,EAEnB;AAEA,SAAIF,KACFD,EAAO,KAAKC,CAAW,GAGlBD,EAAO,SAAS,IAAIA,IAAS,CAACD,CAAI;AAC3C;AAOO,SAASK,EACdC,IAA2B,cACV;AACjB,QAAM,CAACC,GAAWC,CAAS,IAAIT,EAAeO,CAAS;AAGvD,MAAIR,GACAW,IAAqB;AAGzB,MAAI,CAAC,OAAO,UAAU,QAAQ,OAAO,EAAE,SAASF,EAAU,YAAA,CAAa;AAIrE,QAHAT,IAAOS,EAAU,YAAA,GAGbC,GAAW;AACb,YAAME,IAAiBF,EAAU,YAAA;AAEjC,MAAIV,MAAS,SAASA,MAAS,WAEzBY,MAAmB,SAAQD,IAAQ,UAC9BC,MAAmB,YAASD,IAAQ,SAGzCC,MAAmB,QAAOD,IAAQ,UAC7BC,MAAmB,aAAUD,IAAQ;AAAA,IAElD;AAAA;AAGA,IAAAX,IAAO;AAGT,SAAO;AAAA,IACL,MAAAA;AAAA,IACA,OAAAW;AAAA,EAAA;AAEJ;AAOO,SAASE,EAAmBL,GAA2C;AAC5E,QAAMR,IAAOD,EAAoBS,EAAU,QAAQ,QAAQ,GACrD,EAAE,OAAAG,IAAQ,SAAA,IAAaH;AAE7B,MAAIG,MAAU;AACZ,WAAOX;AAGT,MAAIc;AAGJ,MAAId,MAAS,SAASA,MAAS;AAC7B,YAAQW,GAAA;AAAA,MACN,KAAK;AACH,QAAAG,IAAgB;AAChB;AAAA,MACF,KAAK;AACH,QAAAA,IAAgB;AAChB;AAAA,MACF;AACE,eAAOd;AAAA,IAAA;AAAA;AAKX,YAAQW,GAAA;AAAA,MACN,KAAK;AACH,QAAAG,IAAgB;AAChB;AAAA,MACF,KAAK;AACH,QAAAA,IAAgB;AAChB;AAAA,MACF;AACE,eAAOd;AAAA,IAAA;AAIb,SAAO,GAAGA,CAAI,GAAGc,CAAa;AAChC;"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
1
2
|
export declare const getReactElementProp: <T>(el: React.ReactElement, propKey: string, defaultValue?: T) => T;
|
|
3
|
+
export declare const getReactElementRef: <TElement = Element>(el: React.ReactElement) => React.Ref<TElement>;
|
|
2
4
|
//# sourceMappingURL=reactElement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactElement.d.ts","sourceRoot":"","sources":["../../../src/components/utils/reactElement.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,GAAI,CAAC,EACnC,IAAI,KAAK,CAAC,YAAY,EACtB,SAAS,MAAM,EACf,eAAe,CAAC,MAQjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"reactElement.d.ts","sourceRoot":"","sources":["../../../src/components/utils/reactElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,eAAO,MAAM,mBAAmB,GAAI,CAAC,EACnC,IAAI,KAAK,CAAC,YAAY,EACtB,SAAS,MAAM,EACf,eAAe,CAAC,MAQjB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,GAAG,OAAO,EACnD,IAAI,KAAK,CAAC,YAAY,wBAavB,CAAC"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import s from "react";
|
|
2
|
+
const n = 18, R = 19, o = Number.parseInt(s.version, 10), p = Number.isNaN(o) ? n : o, c = (r, t, e) => r.props && typeof r.props == "object" && t in r.props && r.props[t] !== void 0 ? r.props[t] : e, _ = (r) => {
|
|
3
|
+
const t = c(r, "ref");
|
|
4
|
+
if (t !== void 0)
|
|
5
|
+
return t;
|
|
6
|
+
if (p < R)
|
|
7
|
+
return r.ref;
|
|
8
|
+
};
|
|
2
9
|
export {
|
|
3
|
-
|
|
10
|
+
c as getReactElementProp,
|
|
11
|
+
_ as getReactElementRef
|
|
4
12
|
};
|
|
5
13
|
//# sourceMappingURL=reactElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactElement.js","sources":["../../../src/components/utils/reactElement.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"reactElement.js","sources":["../../../src/components/utils/reactElement.ts"],"sourcesContent":["import React from \"react\";\n\nconst DEFAULT_REACT_MAJOR_VERSION = 18;\nconst REACT_19_MAJOR_VERSION = 19;\n\nconst parsedReactMajorVersion = Number.parseInt(React.version, 10);\nconst REACT_MAJOR_VERSION = Number.isNaN(parsedReactMajorVersion)\n ? DEFAULT_REACT_MAJOR_VERSION\n : parsedReactMajorVersion;\n\nexport const getReactElementProp = <T>(\n el: React.ReactElement,\n propKey: string,\n defaultValue?: T\n) => {\n return el.props &&\n typeof el.props === \"object\" &&\n propKey in el.props &&\n el.props[propKey] !== undefined\n ? (el.props[propKey] as T)\n : defaultValue;\n};\n\nexport const getReactElementRef = <TElement = Element>(\n el: React.ReactElement,\n) => {\n const propsRef = getReactElementProp<React.Ref<TElement>>(el, \"ref\");\n\n if (propsRef !== undefined) {\n return propsRef;\n }\n\n if (REACT_MAJOR_VERSION < REACT_19_MAJOR_VERSION) {\n return (el as React.ReactElement & { ref?: React.Ref<TElement> }).ref;\n }\n\n return undefined;\n};\n"],"names":["DEFAULT_REACT_MAJOR_VERSION","REACT_19_MAJOR_VERSION","parsedReactMajorVersion","React","REACT_MAJOR_VERSION","getReactElementProp","el","propKey","defaultValue","getReactElementRef","propsRef"],"mappings":";AAEA,MAAMA,IAA8B,IAC9BC,IAAyB,IAEzBC,IAA0B,OAAO,SAASC,EAAM,SAAS,EAAE,GAC3DC,IAAsB,OAAO,MAAMF,CAAuB,IAC5DF,IACAE,GAESG,IAAsB,CACjCC,GACAC,GACAC,MAEOF,EAAG,SACR,OAAOA,EAAG,SAAU,YACpBC,KAAWD,EAAG,SACdA,EAAG,MAAMC,CAAO,MAAM,SACnBD,EAAG,MAAMC,CAAO,IACjBC,GAGOC,IAAqB,CAChCH,MACG;AACH,QAAMI,IAAWL,EAAyCC,GAAI,KAAK;AAEnE,MAAII,MAAa;AACf,WAAOA;AAGT,MAAIN,IAAsBH;AACxB,WAAQK,EAA0D;AAItE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderProp.d.ts","sourceRoot":"","sources":["../../../src/components/utils/renderProp.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"renderProp.d.ts","sourceRoot":"","sources":["../../../src/components/utils/renderProp.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,MAAM,GAAG,OAAO,EAChB,QAAQ,GAAG,OAAO,EAElB,QAAQ,EACJ,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC,GACtD,KAAK,CAAC,YAAY,EACtB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,KAAK,CAAC,YAAY,CA6CpB"}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import i from "react";
|
|
3
3
|
import { clsx as N } from "./cn.js";
|
|
4
|
+
import { getReactElementRef as R } from "./reactElement.js";
|
|
4
5
|
import d from "merge-refs";
|
|
5
|
-
function
|
|
6
|
+
function x(s, m, r) {
|
|
6
7
|
if (typeof s == "function")
|
|
7
|
-
return s(
|
|
8
|
+
return s(m, r);
|
|
8
9
|
{
|
|
9
|
-
const e = s, o =
|
|
10
|
-
className:
|
|
11
|
-
ref:
|
|
10
|
+
const e = s, o = m, c = o.className, t = o.ref, l = N(c, e.props.className), a = R(e), n = t && a ? d(a, t) : t || a, {
|
|
11
|
+
className: u,
|
|
12
|
+
ref: C,
|
|
12
13
|
...p
|
|
13
|
-
} = o, { className:
|
|
14
|
+
} = o, { className: h, ...f } = e.props;
|
|
14
15
|
return i.cloneElement(e, {
|
|
15
16
|
...p,
|
|
16
17
|
...f,
|
|
17
|
-
className:
|
|
18
|
+
className: l,
|
|
18
19
|
ref: n
|
|
19
20
|
});
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
export {
|
|
23
|
-
|
|
24
|
+
x as createRenderProp
|
|
24
25
|
};
|
|
25
26
|
//# sourceMappingURL=renderProp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderProp.js","sources":["../../../src/components/utils/renderProp.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { clsx } from \"./cn\";\nimport type { ClassValue } from \"./types\";\nimport mergeRefs from \"merge-refs\";\n\n/**\n * Utility function to handle render prop patterns with proper TypeScript typing.\n * Supports both function render props and ReactElement children.\n *\n * @param children - Either a render function or a ReactElement\n * @param props - Props to pass to the render function or merge with the ReactElement\n * @param state - Optional state to pass to the render function\n * @returns The rendered element\n *\n * @example\n * // With function children\n * <Component>\n * {(props, state) => <button {...props}>Click me</button>}\n * </Component>\n *\n * @example\n * // With ReactElement children\n * <Component>\n * <button>Click me</button>\n * </Component>\n */\nexport function createRenderProp<\n TProps extends object = object,\n TState = unknown,\n TElement = Element,\n>(\n children:\n | ((props: TProps, state: TState) => React.ReactElement)\n | React.ReactElement,\n props: TProps,\n state?: TState,\n): React.ReactElement {\n if (typeof children === \"function\") {\n return children(props, state as TState);\n } else {\n const childElement = children as React.ReactElement<{\n className?: ClassValue;\n ref?: React.Ref<TElement>;\n }>;\n\n // Extract className and ref from props with proper typing\n const propsWithPossibleClassNameAndRef = props as TProps & {\n className?: ClassValue;\n ref?: React.Ref<TElement>;\n };\n\n const propsClassName = propsWithPossibleClassNameAndRef.className;\n const propsRef = propsWithPossibleClassNameAndRef.ref;\n const mergedClassName = clsx(propsClassName, childElement.props.className);\n\n // Merge refs from both props and child element
|
|
1
|
+
{"version":3,"file":"renderProp.js","sources":["../../../src/components/utils/renderProp.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { clsx } from \"./cn\";\nimport { getReactElementRef } from \"./reactElement\";\nimport type { ClassValue } from \"./types\";\nimport mergeRefs from \"merge-refs\";\n\n/**\n * Utility function to handle render prop patterns with proper TypeScript typing.\n * Supports both function render props and ReactElement children.\n *\n * @param children - Either a render function or a ReactElement\n * @param props - Props to pass to the render function or merge with the ReactElement\n * @param state - Optional state to pass to the render function\n * @returns The rendered element\n *\n * @example\n * // With function children\n * <Component>\n * {(props, state) => <button {...props}>Click me</button>}\n * </Component>\n *\n * @example\n * // With ReactElement children\n * <Component>\n * <button>Click me</button>\n * </Component>\n */\nexport function createRenderProp<\n TProps extends object = object,\n TState = unknown,\n TElement = Element,\n>(\n children:\n | ((props: TProps, state: TState) => React.ReactElement)\n | React.ReactElement,\n props: TProps,\n state?: TState,\n): React.ReactElement {\n if (typeof children === \"function\") {\n return children(props, state as TState);\n } else {\n const childElement = children as React.ReactElement<{\n className?: ClassValue;\n ref?: React.Ref<TElement>;\n }>;\n\n // Extract className and ref from props with proper typing\n const propsWithPossibleClassNameAndRef = props as TProps & {\n className?: ClassValue;\n ref?: React.Ref<TElement>;\n };\n\n const propsClassName = propsWithPossibleClassNameAndRef.className;\n const propsRef = propsWithPossibleClassNameAndRef.ref;\n const mergedClassName = clsx(propsClassName, childElement.props.className);\n\n // Merge refs from both props and child element.\n const childRef = getReactElementRef<TElement>(childElement);\n const mergedRef =\n propsRef && childRef\n ? mergeRefs(childRef, propsRef)\n : propsRef || childRef;\n\n // Remove className and ref from props to handle them separately\n const {\n className: _propsClassName,\n ref: _propsRef,\n ...propsWithoutClassNameAndRef\n } = propsWithPossibleClassNameAndRef;\n const { className: _childClassName, ...childPropsWithoutClassName } =\n childElement.props;\n\n // Spread trigger props first, then child props on top to preserve child's explicit props\n // This ensures that props like 'type', 'size', etc. from the child element are preserved\n const clonedElement = React.cloneElement(childElement, {\n ...propsWithoutClassNameAndRef,\n ...childPropsWithoutClassName,\n className: mergedClassName,\n ref: mergedRef,\n } as React.HTMLAttributes<TElement> & { ref?: React.Ref<TElement> });\n return clonedElement;\n }\n}\n"],"names":["createRenderProp","children","props","state","childElement","propsWithPossibleClassNameAndRef","propsClassName","propsRef","mergedClassName","clsx","childRef","getReactElementRef","mergedRef","mergeRefs","_propsClassName","_propsRef","propsWithoutClassNameAndRef","_childClassName","childPropsWithoutClassName","React"],"mappings":";;;;;AA4BO,SAASA,EAKdC,GAGAC,GACAC,GACoB;AACpB,MAAI,OAAOF,KAAa;AACtB,WAAOA,EAASC,GAAOC,CAAe;AACjC;AACL,UAAMC,IAAeH,GAMfI,IAAmCH,GAKnCI,IAAiBD,EAAiC,WAClDE,IAAWF,EAAiC,KAC5CG,IAAkBC,EAAKH,GAAgBF,EAAa,MAAM,SAAS,GAGnEM,IAAWC,EAA6BP,CAAY,GACpDQ,IACJL,KAAYG,IACRG,EAAUH,GAAUH,CAAQ,IAC5BA,KAAYG,GAGZ;AAAA,MACJ,WAAWI;AAAA,MACX,KAAKC;AAAA,MACL,GAAGC;AAAA,IAAA,IACDX,GACE,EAAE,WAAWY,GAAiB,GAAGC,EAAA,IACrCd,EAAa;AAUf,WANsBe,EAAM,aAAaf,GAAc;AAAA,MACrD,GAAGY;AAAA,MACH,GAAGE;AAAA,MACH,WAAWV;AAAA,MACX,KAAKI;AAAA,IAAA,CAC4D;AAAA,EAErE;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/utils/theme.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAI,IAAI,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/utils/theme.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAI,IAAI,MAAM,IAAI,SAuB1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sources":["../../../src/components/utils/theme.ts"],"sourcesContent":["\"use client\";\n\nimport { flushSync } from \"react-dom\";\n\n/**\n * Changes the theme without transition\n * @param fn Callback function to change the theme\n */\nexport const changeThemeWithoutTransition = (fn: () => void) => {\n // https://paco.me/writing/disable-theme-transitions\n const css = document.createElement(\"style\");\n css.appendChild(\n document.createTextNode(\n
|
|
1
|
+
{"version":3,"file":"theme.js","sources":["../../../src/components/utils/theme.ts"],"sourcesContent":["\"use client\";\n\nimport { flushSync } from \"react-dom\";\n\n/**\n * Changes the theme without transition\n * @param fn Callback function to change the theme\n */\nexport const changeThemeWithoutTransition = (fn: () => void) => {\n // https://paco.me/writing/disable-theme-transitions\n const css = document.createElement(\"style\");\n css.appendChild(\n document.createTextNode(\n `*,\n *::before,\n *::after {\n -webkit-transition: none !important;\n -moz-transition: none !important;\n -o-transition: none !important;\n -ms-transition: none !important;\n transition: none !important;\n }`,\n ),\n );\n document.head.appendChild(css);\n flushSync(() => {\n fn();\n });\n // force reflow\n const _ = window.getComputedStyle(css).opacity;\n document.head.removeChild(css);\n};\n"],"names":["changeThemeWithoutTransition","fn","css","flushSync"],"mappings":";;AAQO,MAAMA,IAA+B,CAACC,MAAmB;AAE9D,QAAMC,IAAM,SAAS,cAAc,OAAO;AAC1C,EAAAA,EAAI;AAAA,IACF,SAAS;AAAA,MACP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,EASF,GAEF,SAAS,KAAK,YAAYA,CAAG,GAC7BC,EAAU,MAAM;AACd,IAAAF,EAAA;AAAA,EACF,CAAC,GAES,OAAO,iBAAiBC,CAAG,EAAE,SACvC,SAAS,KAAK,YAAYA,CAAG;AAC/B;"}
|