@bioturing/components 0.42.0 → 0.43.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/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/index.d.ts +1 -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 +253 -139
- 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/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/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/index.js +191 -189
- package/dist/metadata.d.ts +8 -0
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +15 -0
- package/dist/metadata.js.map +1 -1
- package/dist/stats.html +1 -1
- package/package.json +2 -2
- 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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bioturing/components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"module": "./dist/index.js",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"rc-util": "^5.44.4",
|
|
37
37
|
"react-use-resizable": "^0.2.0",
|
|
38
38
|
"tailwind-merge": "^3.3.1",
|
|
39
|
-
"@bioturing/assets": "0.
|
|
39
|
+
"@bioturing/assets": "0.27.0"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
42
|
"antd": "^5.26.7",
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { BaseUIAlign, BaseUISide } from '../utils';
|
|
2
|
-
export interface UseBaseUIPlacementOptions {
|
|
3
|
-
/**
|
|
4
|
-
* The positioner element to observe for placement changes
|
|
5
|
-
*/
|
|
6
|
-
positionerRef: HTMLElement | null;
|
|
7
|
-
/**
|
|
8
|
-
* Whether the popup is currently open
|
|
9
|
-
* Observation only occurs when open is true
|
|
10
|
-
*/
|
|
11
|
-
open: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Initial side placement
|
|
14
|
-
*/
|
|
15
|
-
initialSide: BaseUISide;
|
|
16
|
-
/**
|
|
17
|
-
* Initial align placement
|
|
18
|
-
*/
|
|
19
|
-
initialAlign: BaseUIAlign;
|
|
20
|
-
/**
|
|
21
|
-
* Callback fired when placement changes
|
|
22
|
-
*/
|
|
23
|
-
onPlacementChange?: (placement: string) => void;
|
|
24
|
-
/**
|
|
25
|
-
* Enable debug logging
|
|
26
|
-
* @default false
|
|
27
|
-
*/
|
|
28
|
-
debug?: boolean;
|
|
29
|
-
}
|
|
30
|
-
export interface UseBaseUIPlacementReturn {
|
|
31
|
-
/**
|
|
32
|
-
* Current side placement
|
|
33
|
-
*/
|
|
34
|
-
currentSide: BaseUISide;
|
|
35
|
-
/**
|
|
36
|
-
* Current align placement
|
|
37
|
-
*/
|
|
38
|
-
currentAlign: BaseUIAlign;
|
|
39
|
-
/**
|
|
40
|
-
* Key that increments when placement changes
|
|
41
|
-
* Useful for triggering re-renders or resets
|
|
42
|
-
*/
|
|
43
|
-
placementChangeKey: number;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Hook to track Base UI positioner placement changes
|
|
47
|
-
*
|
|
48
|
-
* Observes the positioner element's data-side and data-align attributes
|
|
49
|
-
* and triggers callbacks when they change. Useful for components that need
|
|
50
|
-
* to react to automatic placement adjustments by Base UI.
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* ```tsx
|
|
54
|
-
* const { currentSide, currentAlign, placementChangeKey } = useBaseUIPlacement({
|
|
55
|
-
* positionerRef,
|
|
56
|
-
* open,
|
|
57
|
-
* initialSide: 'bottom',
|
|
58
|
-
* initialAlign: 'start',
|
|
59
|
-
* onPlacementChange: (placement) => console.log('New placement:', placement)
|
|
60
|
-
* });
|
|
61
|
-
* ```
|
|
62
|
-
*/
|
|
63
|
-
export declare function useBaseUIPlacement({ positionerRef, open, initialSide, initialAlign, onPlacementChange, debug, }: UseBaseUIPlacementOptions): UseBaseUIPlacementReturn;
|
|
64
|
-
//# sourceMappingURL=useBaseUIPlacement.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseUIPlacement.d.ts","sourceRoot":"","sources":["../../../src/components/hooks/useBaseUIPlacement.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAsB,MAAM,UAAU,CAAC;AAEvE,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,WAAW,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,YAAY,EAAE,WAAW,CAAC;IAC1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,WAAW,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,YAAY,EAAE,WAAW,CAAC;IAC1B;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,aAAa,EACb,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,KAAa,GACd,EAAE,yBAAyB,GAAG,wBAAwB,CAsFtD"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { useState as i, useEffect as y } from "react";
|
|
3
|
-
import { useStableCallback as N } from "@base-ui/utils/useStableCallback";
|
|
4
|
-
import { buildAntdPlacement as S } from "../utils/placement.js";
|
|
5
|
-
function E({
|
|
6
|
-
positionerRef: a,
|
|
7
|
-
open: b,
|
|
8
|
-
initialSide: d,
|
|
9
|
-
initialAlign: f,
|
|
10
|
-
onPlacementChange: m,
|
|
11
|
-
debug: o = !1
|
|
12
|
-
}) {
|
|
13
|
-
const [r, C] = i(d), [n, h] = i(f), [P, A] = i(0), s = N(m);
|
|
14
|
-
return y(() => {
|
|
15
|
-
if (!a || !b)
|
|
16
|
-
return;
|
|
17
|
-
const g = new MutationObserver((w) => {
|
|
18
|
-
let u = !1, l = r, c = n;
|
|
19
|
-
if (w.forEach((t) => {
|
|
20
|
-
if (t.type === "attributes" && t.attributeName === "data-side") {
|
|
21
|
-
const e = a.getAttribute(t.attributeName);
|
|
22
|
-
e && e !== r && (l = e, u = !0);
|
|
23
|
-
}
|
|
24
|
-
if (t.type === "attributes" && t.attributeName === "data-align") {
|
|
25
|
-
const e = a.getAttribute(t.attributeName);
|
|
26
|
-
e && e !== n && (c = e, u = !0);
|
|
27
|
-
}
|
|
28
|
-
}), u) {
|
|
29
|
-
const t = S({
|
|
30
|
-
side: l,
|
|
31
|
-
align: c
|
|
32
|
-
});
|
|
33
|
-
C(l), h(c), A((e) => e + 1), s && s(t);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
return g.observe(a, {
|
|
37
|
-
attributes: !0,
|
|
38
|
-
attributeFilter: ["data-side", "data-align"],
|
|
39
|
-
attributeOldValue: !0
|
|
40
|
-
}), () => {
|
|
41
|
-
g.disconnect();
|
|
42
|
-
};
|
|
43
|
-
}, [
|
|
44
|
-
b,
|
|
45
|
-
a,
|
|
46
|
-
s,
|
|
47
|
-
r,
|
|
48
|
-
n,
|
|
49
|
-
o,
|
|
50
|
-
d,
|
|
51
|
-
f
|
|
52
|
-
]), {
|
|
53
|
-
currentSide: r,
|
|
54
|
-
currentAlign: n,
|
|
55
|
-
placementChangeKey: P
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
export {
|
|
59
|
-
E as useBaseUIPlacement
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=useBaseUIPlacement.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseUIPlacement.js","sources":["../../../src/components/hooks/useBaseUIPlacement.ts"],"sourcesContent":["\"use client\";\nimport { useEffect, useState } from \"react\";\nimport { useStableCallback } from \"@base-ui/utils/useStableCallback\";\nimport { BaseUIAlign, BaseUISide, buildAntdPlacement } from \"../utils\";\n\nexport interface UseBaseUIPlacementOptions {\n /**\n * The positioner element to observe for placement changes\n */\n positionerRef: HTMLElement | null;\n /**\n * Whether the popup is currently open\n * Observation only occurs when open is true\n */\n open: boolean;\n /**\n * Initial side placement\n */\n initialSide: BaseUISide;\n /**\n * Initial align placement\n */\n initialAlign: BaseUIAlign;\n /**\n * Callback fired when placement changes\n */\n onPlacementChange?: (placement: string) => void;\n /**\n * Enable debug logging\n * @default false\n */\n debug?: boolean;\n}\n\nexport interface UseBaseUIPlacementReturn {\n /**\n * Current side placement\n */\n currentSide: BaseUISide;\n /**\n * Current align placement\n */\n currentAlign: BaseUIAlign;\n /**\n * Key that increments when placement changes\n * Useful for triggering re-renders or resets\n */\n placementChangeKey: number;\n}\n\n/**\n * Hook to track Base UI positioner placement changes\n *\n * Observes the positioner element's data-side and data-align attributes\n * and triggers callbacks when they change. Useful for components that need\n * to react to automatic placement adjustments by Base UI.\n *\n * @example\n * ```tsx\n * const { currentSide, currentAlign, placementChangeKey } = useBaseUIPlacement({\n * positionerRef,\n * open,\n * initialSide: 'bottom',\n * initialAlign: 'start',\n * onPlacementChange: (placement) => console.log('New placement:', placement)\n * });\n * ```\n */\nexport function useBaseUIPlacement({\n positionerRef,\n open,\n initialSide,\n initialAlign,\n onPlacementChange,\n debug = false,\n}: UseBaseUIPlacementOptions): UseBaseUIPlacementReturn {\n const [currentSide, setCurrentSide] = useState<BaseUISide>(initialSide);\n const [currentAlign, setCurrentAlign] = useState<BaseUIAlign>(initialAlign);\n const [placementChangeKey, setPlacementChangeKey] = useState(0);\n\n const stableOnPlacementChange = useStableCallback(onPlacementChange);\n\n useEffect(() => {\n if (!positionerRef || !open) {\n return;\n }\n\n // Create MutationObserver to watch for data-side and data-align changes\n const observer = new MutationObserver((mutations) => {\n let hasPlacementChanged = false;\n let newSide = currentSide;\n let newAlign = currentAlign;\n\n mutations.forEach((mutation) => {\n if (\n mutation.type === \"attributes\" &&\n mutation.attributeName === \"data-side\"\n ) {\n const side = positionerRef.getAttribute(mutation.attributeName);\n if (side && side !== currentSide) {\n newSide = side as BaseUISide;\n hasPlacementChanged = true;\n }\n }\n\n if (\n mutation.type === \"attributes\" &&\n mutation.attributeName === \"data-align\"\n ) {\n const align = positionerRef.getAttribute(mutation.attributeName);\n if (align && align !== currentAlign) {\n newAlign = align as BaseUIAlign;\n hasPlacementChanged = true;\n }\n }\n });\n\n // Only trigger callbacks if placement actually changed\n if (hasPlacementChanged) {\n const newPlacement = buildAntdPlacement({\n side: newSide,\n align: newAlign,\n });\n\n // Update state to trigger re-render\n setCurrentSide(newSide);\n setCurrentAlign(newAlign);\n setPlacementChangeKey((prev) => prev + 1);\n\n if (stableOnPlacementChange) {\n stableOnPlacementChange(newPlacement);\n }\n }\n });\n\n // Start observing\n observer.observe(positionerRef, {\n attributes: true,\n attributeFilter: [\"data-side\", \"data-align\"],\n attributeOldValue: true,\n });\n\n return () => {\n observer.disconnect();\n };\n }, [\n open,\n positionerRef,\n stableOnPlacementChange,\n currentSide,\n currentAlign,\n debug,\n initialSide,\n initialAlign,\n ]);\n\n return {\n currentSide,\n currentAlign,\n placementChangeKey,\n };\n}\n"],"names":["useBaseUIPlacement","positionerRef","open","initialSide","initialAlign","onPlacementChange","debug","currentSide","setCurrentSide","useState","currentAlign","setCurrentAlign","placementChangeKey","setPlacementChangeKey","stableOnPlacementChange","useStableCallback","useEffect","observer","mutations","hasPlacementChanged","newSide","newAlign","mutation","side","align","newPlacement","buildAntdPlacement","prev"],"mappings":";;;;AAoEO,SAASA,EAAmB;AAAA,EACjC,eAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,OAAAC,IAAQ;AACV,GAAwD;AACtD,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAqBN,CAAW,GAChE,CAACO,GAAcC,CAAe,IAAIF,EAAsBL,CAAY,GACpE,CAACQ,GAAoBC,CAAqB,IAAIJ,EAAS,CAAC,GAExDK,IAA0BC,EAAkBV,CAAiB;AAEnE,SAAAW,EAAU,MAAM;AACd,QAAI,CAACf,KAAiB,CAACC;AACrB;AAIF,UAAMe,IAAW,IAAI,iBAAiB,CAACC,MAAc;AACnD,UAAIC,IAAsB,IACtBC,IAAUb,GACVc,IAAWX;AA2Bf,UAzBAQ,EAAU,QAAQ,CAACI,MAAa;AAC9B,YACEA,EAAS,SAAS,gBAClBA,EAAS,kBAAkB,aAC3B;AACA,gBAAMC,IAAOtB,EAAc,aAAaqB,EAAS,aAAa;AAC9D,UAAIC,KAAQA,MAAShB,MACnBa,IAAUG,GACVJ,IAAsB;AAAA,QAE1B;AAEA,YACEG,EAAS,SAAS,gBAClBA,EAAS,kBAAkB,cAC3B;AACA,gBAAME,IAAQvB,EAAc,aAAaqB,EAAS,aAAa;AAC/D,UAAIE,KAASA,MAAUd,MACrBW,IAAWG,GACXL,IAAsB;AAAA,QAE1B;AAAA,MACF,CAAC,GAGGA,GAAqB;AACvB,cAAMM,IAAeC,EAAmB;AAAA,UACtC,MAAMN;AAAA,UACN,OAAOC;AAAA,QAAA,CACR;AAGD,QAAAb,EAAeY,CAAO,GACtBT,EAAgBU,CAAQ,GACxBR,EAAsB,CAACc,MAASA,IAAO,CAAC,GAEpCb,KACFA,EAAwBW,CAAY;AAAA,MAExC;AAAA,IACF,CAAC;AAGD,WAAAR,EAAS,QAAQhB,GAAe;AAAA,MAC9B,YAAY;AAAA,MACZ,iBAAiB,CAAC,aAAa,YAAY;AAAA,MAC3C,mBAAmB;AAAA,IAAA,CACpB,GAEM,MAAM;AACX,MAAAgB,EAAS,WAAA;AAAA,IACX;AAAA,EACF,GAAG;AAAA,IACDf;AAAA,IACAD;AAAA,IACAa;AAAA,IACAP;AAAA,IACAG;AAAA,IACAJ;AAAA,IACAH;AAAA,IACAC;AAAA,EAAA,CACD,GAEM;AAAA,IACL,aAAAG;AAAA,IACA,cAAAG;AAAA,IACA,oBAAAE;AAAA,EAAA;AAEJ;"}
|