@bioturing/components 0.42.0-beta.1 → 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.
Files changed (89) hide show
  1. package/dist/components/button/component.d.ts.map +1 -1
  2. package/dist/components/button/component.js +41 -34
  3. package/dist/components/button/component.js.map +1 -1
  4. package/dist/components/button/style.css +1 -1
  5. package/dist/components/combobox/component.d.ts.map +1 -1
  6. package/dist/components/combobox/component.js +136 -126
  7. package/dist/components/combobox/component.js.map +1 -1
  8. package/dist/components/command-palette/component.d.ts +7 -0
  9. package/dist/components/command-palette/component.d.ts.map +1 -1
  10. package/dist/components/command-palette/component.js +35 -33
  11. package/dist/components/command-palette/component.js.map +1 -1
  12. package/dist/components/dropdown-menu/component.d.ts +8 -1
  13. package/dist/components/dropdown-menu/component.d.ts.map +1 -1
  14. package/dist/components/dropdown-menu/component.js +165 -141
  15. package/dist/components/dropdown-menu/component.js.map +1 -1
  16. package/dist/components/dropdown-menu/style.css +1 -1
  17. package/dist/components/ds-root/component.d.ts +6 -1
  18. package/dist/components/ds-root/component.d.ts.map +1 -1
  19. package/dist/components/ds-root/component.js +15 -14
  20. package/dist/components/ds-root/component.js.map +1 -1
  21. package/dist/components/form/style.css +1 -1
  22. package/dist/components/hooks/index.d.ts +0 -1
  23. package/dist/components/hooks/index.d.ts.map +1 -1
  24. package/dist/components/index.d.ts +1 -0
  25. package/dist/components/index.d.ts.map +1 -1
  26. package/dist/components/label-with-help/component.d.ts +20 -0
  27. package/dist/components/label-with-help/component.d.ts.map +1 -0
  28. package/dist/components/label-with-help/component.js +39 -0
  29. package/dist/components/label-with-help/component.js.map +1 -0
  30. package/dist/components/label-with-help/index.d.ts +2 -0
  31. package/dist/components/label-with-help/index.d.ts.map +1 -0
  32. package/dist/components/label-with-help/style.css +1 -0
  33. package/dist/components/modal/Modal.d.ts.map +1 -1
  34. package/dist/components/modal/Modal.js +157 -133
  35. package/dist/components/modal/Modal.js.map +1 -1
  36. package/dist/components/popup-panel/component.d.ts +2 -111
  37. package/dist/components/popup-panel/component.d.ts.map +1 -1
  38. package/dist/components/popup-panel/component.js +253 -139
  39. package/dist/components/popup-panel/component.js.map +1 -1
  40. package/dist/components/popup-panel/constants.d.ts +1 -0
  41. package/dist/components/popup-panel/constants.d.ts.map +1 -1
  42. package/dist/components/popup-panel/constants.js +2 -0
  43. package/dist/components/popup-panel/constants.js.map +1 -1
  44. package/dist/components/popup-panel/index.d.ts +1 -0
  45. package/dist/components/popup-panel/index.d.ts.map +1 -1
  46. package/dist/components/popup-panel/types.d.ts +124 -0
  47. package/dist/components/popup-panel/types.d.ts.map +1 -0
  48. package/dist/components/popup-panel/utils.d.ts +1 -1
  49. package/dist/components/popup-panel/utils.d.ts.map +1 -1
  50. package/dist/components/popup-panel/utils.js +5 -5
  51. package/dist/components/popup-panel/utils.js.map +1 -1
  52. package/dist/components/resizable/component.d.ts.map +1 -1
  53. package/dist/components/resizable/component.js +28 -28
  54. package/dist/components/resizable/component.js.map +1 -1
  55. package/dist/components/select/component.d.ts.map +1 -1
  56. package/dist/components/select/component.js +130 -120
  57. package/dist/components/select/component.js.map +1 -1
  58. package/dist/components/toast/component.d.ts +2 -2
  59. package/dist/components/toast/component.d.ts.map +1 -1
  60. package/dist/components/toast/component.js +14 -20
  61. package/dist/components/toast/component.js.map +1 -1
  62. package/dist/components/toast/function.d.ts +7 -8
  63. package/dist/components/toast/function.d.ts.map +1 -1
  64. package/dist/components/toast/function.js.map +1 -1
  65. package/dist/components/toast/style.css +1 -1
  66. package/dist/components/toast/types.d.ts +4 -0
  67. package/dist/components/toast/types.d.ts.map +1 -1
  68. package/dist/components/utils/placement.d.ts +9 -2
  69. package/dist/components/utils/placement.d.ts.map +1 -1
  70. package/dist/components/utils/placement.js +29 -18
  71. package/dist/components/utils/placement.js.map +1 -1
  72. package/dist/components/utils/reactElement.d.ts +2 -0
  73. package/dist/components/utils/reactElement.d.ts.map +1 -1
  74. package/dist/components/utils/reactElement.js +10 -2
  75. package/dist/components/utils/reactElement.js.map +1 -1
  76. package/dist/components/utils/renderProp.d.ts.map +1 -1
  77. package/dist/components/utils/renderProp.js +9 -8
  78. package/dist/components/utils/renderProp.js.map +1 -1
  79. package/dist/index.js +191 -189
  80. package/dist/metadata.d.ts +8 -0
  81. package/dist/metadata.d.ts.map +1 -1
  82. package/dist/metadata.js +15 -0
  83. package/dist/metadata.js.map +1 -1
  84. package/dist/stats.html +1 -1
  85. package/package.json +2 -2
  86. package/dist/components/hooks/useBaseUIPlacement.d.ts +0 -64
  87. package/dist/components/hooks/useBaseUIPlacement.d.ts.map +0 -1
  88. package/dist/components/hooks/useBaseUIPlacement.js +0 -61
  89. 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.42.0-beta.1",
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.26.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;"}