@flipdish/ui-library 0.15.1 → 0.16.1

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.
@@ -10,40 +10,64 @@ var reactRouter = require('react-router');
10
10
 
11
11
  const UIProviderInner = ({ children, baseUrl, errorBoundary, portalContainer }) => {
12
12
  const { themeRoot, resolvedMode } = ThemeProvider.useTheme();
13
- const portalAnchorRef = React.useRef(null);
14
- const resolvedContainerRef = React.useRef(null);
13
+ const [portalAnchor, setPortalAnchor] = React.useState(null);
14
+ const portalAnchorNode = React.useRef(null);
15
+ const lastExplicitContainer = React.useRef(null);
15
16
  // Create a themed, layout-invisible anchor inside the portalContainer so
16
17
  // React Aria overlays inherit scoped CSS and the active data-theme.
17
18
  // Compares resolved DOM nodes (not callback identity) to avoid tearing
18
19
  // down the anchor when an inline callback like `() => getElementById(...)` is passed.
19
- React.useEffect(() => {
20
- const container = portalContainer?.() ?? null;
21
- if (container === resolvedContainerRef.current) {
20
+ // useLayoutEffect + useState so the anchor exists before paint and its
21
+ // creation re-renders PortalContainer with a real container a ref-only
22
+ // write left the first commit portalling to document.body.
23
+ React.useLayoutEffect(() => {
24
+ const explicit = portalContainer?.() ?? null;
25
+ if (explicit === lastExplicitContainer.current) {
22
26
  return;
23
27
  }
24
- portalAnchorRef.current?.remove();
25
- portalAnchorRef.current = null;
26
- resolvedContainerRef.current = container;
27
- if (!container) {
28
+ lastExplicitContainer.current = explicit;
29
+ portalAnchorNode.current?.remove();
30
+ portalAnchorNode.current = null;
31
+ if (!explicit) {
32
+ setPortalAnchor(null);
28
33
  return;
29
34
  }
30
35
  const anchor = document.createElement('div');
31
36
  anchor.style.display = 'contents';
32
37
  anchor.setAttribute('data-theme', resolvedMode);
33
- container.appendChild(anchor);
34
- portalAnchorRef.current = anchor;
38
+ explicit.appendChild(anchor);
39
+ portalAnchorNode.current = anchor;
40
+ setPortalAnchor(anchor);
35
41
  });
36
- // Clean up the anchor on unmount.
37
- React.useEffect(() => () => {
38
- portalAnchorRef.current?.remove();
39
- portalAnchorRef.current = null;
42
+ React.useLayoutEffect(() => () => {
43
+ portalAnchorNode.current?.remove();
44
+ portalAnchorNode.current = null;
45
+ // Reset alongside portalAnchorNode so StrictMode's dev-only mount → cleanup →
46
+ // remount doesn't see a stale "unchanged" match on remount: without this, the
47
+ // remount's effect compares against the pre-cleanup container, skips recreating
48
+ // the anchor, and leaves `portalAnchor` state pointing at the node just removed
49
+ // above — permanently detached from the document.
50
+ lastExplicitContainer.current = null;
40
51
  }, []);
41
- // Keep the anchor's data-theme in sync when the resolved mode changes.
42
- React.useEffect(() => {
43
- portalAnchorRef.current?.setAttribute('data-theme', resolvedMode);
52
+ React.useLayoutEffect(() => {
53
+ portalAnchorNode.current?.setAttribute('data-theme', resolvedMode);
44
54
  }, [resolvedMode]);
45
- // Fall back to ThemeProvider's themed wrapper when no portalContainer is provided.
46
- const getContainer = React.useCallback(() => portalAnchorRef.current ?? themeRoot, [themeRoot]);
55
+ // While the explicit container's anchor (or ThemeProvider's themed root) is
56
+ // unresolved, return null so overlays render nothing for that commit instead
57
+ // of landing on document.body and then relocating. Re-resolving `portalContainer`
58
+ // here (rather than trusting `portalAnchor` alone) also covers a host swap: if the
59
+ // host changes from A to B, this render's anchor still belongs to host A until the
60
+ // layout effect rebuilds it, so we must not hand out the stale host-A anchor.
61
+ const getContainer = React.useCallback(() => {
62
+ const explicit = portalContainer?.() ?? null;
63
+ if (explicit) {
64
+ return explicit === lastExplicitContainer.current ? portalAnchor : null;
65
+ }
66
+ if (portalContainer) {
67
+ return null;
68
+ }
69
+ return themeRoot;
70
+ }, [portalAnchor, portalContainer, themeRoot]);
47
71
  return (jsxRuntime.jsx(reactRouter.BrowserRouter, { basename: baseUrl, children: jsxRuntime.jsx(RouteProvider.RouteProvider, { children: jsxRuntime.jsx(ErrorBoundary.ErrorBoundary, { ...errorBoundary, children: jsxRuntime.jsx(PortalContainer.PortalContainer, { getContainer: getContainer, children: children }) }) }) }));
48
72
  };
49
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/providers/UIProvider/index.tsx"],"sourcesContent":[null],"names":["useTheme","useRef","useEffect","useCallback","_jsx","BrowserRouter","RouteProvider","ErrorBoundary","PortalContainer","ThemeProvider"],"mappings":";;;;;;;;;;AA2CA,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAiE,KAAI;IAC/I,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAGA,sBAAQ,EAAE;AAC9C,IAAA,MAAM,eAAe,GAAGC,YAAM,CAAwB,IAAI,CAAC;AAC3D,IAAA,MAAM,oBAAoB,GAAGA,YAAM,CAAqB,IAAI,CAAC;;;;;IAM7DC,eAAS,CAAC,MAAK;AACb,QAAA,MAAM,SAAS,GAAG,eAAe,IAAI,IAAI,IAAI;AAC7C,QAAA,IAAI,SAAS,KAAK,oBAAoB,CAAC,OAAO,EAAE;YAC9C;QACF;AAEA,QAAA,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;AACjC,QAAA,eAAe,CAAC,OAAO,GAAG,IAAI;AAC9B,QAAA,oBAAoB,CAAC,OAAO,GAAG,SAAS;QAExC,IAAI,CAAC,SAAS,EAAE;YACd;QACF;QAEA,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5C,QAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU;AACjC,QAAA,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC;AAC/C,QAAA,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC;AAC7B,QAAA,eAAe,CAAC,OAAO,GAAG,MAAM;AAClC,IAAA,CAAC,CAAC;;AAGF,IAAAA,eAAS,CACP,MAAM,MAAK;AACT,QAAA,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;AACjC,QAAA,eAAe,CAAC,OAAO,GAAG,IAAI;IAChC,CAAC,EACD,EAAE,CACH;;IAGDA,eAAS,CAAC,MAAK;QACb,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC;AACnE,IAAA,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;;AAGlB,IAAA,MAAM,YAAY,GAAGC,iBAAW,CAAC,MAAM,eAAe,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;AAEzF,IAAA,QACEC,cAAA,CAACC,yBAAa,EAAA,EAAC,QAAQ,EAAE,OAAO,EAAA,QAAA,EAC9BD,cAAA,CAACE,2BAAa,EAAA,EAAA,QAAA,EACZF,cAAA,CAACG,2BAAa,EAAA,EAAA,GAAK,aAAa,EAAA,QAAA,EAC9BH,cAAA,CAACI,+BAAe,EAAA,EAAC,YAAY,EAAE,YAAY,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAmB,EAAA,CAC3D,EAAA,CACF,EAAA,CACF;AAEpB,CAAC;AAED;;AAEG;AACI,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI,EAAsC,KAAI;;;;;AAKzG,IAAA,QACEJ,cAAA,CAACK,2BAAa,EAAA,EAAC,iBAAiB,EAAE,iBAAiB,EAAA,QAAA,EACjDL,cAAA,CAAC,eAAe,OAAK,IAAI,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAmB,EAAA,CACzC;AAEpB;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/providers/UIProvider/index.tsx"],"sourcesContent":[null],"names":["useTheme","useState","useRef","useLayoutEffect","useCallback","_jsx","BrowserRouter","RouteProvider","ErrorBoundary","PortalContainer","ThemeProvider"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/UIProvider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAItG,OAAO,EAAE,KAAK,iBAAiB,EAAkC,MAAM,OAAO,CAAC;AAG/E,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACrC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,aAAa,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IACpD;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;CACrD;AA4DD;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,0CAA0C,iBAAiB,CAAC,eAAe,CAAC,gCAUtG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/UIProvider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAItG,OAAO,EAAE,KAAK,iBAAiB,EAAkD,MAAM,OAAO,CAAC;AAG/F,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACrC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,aAAa,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IACpD;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;CACrD;AAoFD;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,0CAA0C,iBAAiB,CAAC,eAAe,CAAC,gCAUtG,CAAC"}
@@ -3,45 +3,69 @@ import { ErrorBoundary } from '@flipdish/ui-library/providers/ErrorBoundary';
3
3
  import { PortalContainer } from '@flipdish/ui-library/providers/PortalContainer';
4
4
  import { RouteProvider } from '@flipdish/ui-library/providers/RouteProvider';
5
5
  import { ThemeProvider, useTheme } from '@flipdish/ui-library/providers/ThemeProvider';
6
- import { useRef, useEffect, useCallback } from 'react';
6
+ import { useState, useRef, useLayoutEffect, useCallback } from 'react';
7
7
  import { BrowserRouter } from 'react-router';
8
8
 
9
9
  const UIProviderInner = ({ children, baseUrl, errorBoundary, portalContainer }) => {
10
10
  const { themeRoot, resolvedMode } = useTheme();
11
- const portalAnchorRef = useRef(null);
12
- const resolvedContainerRef = useRef(null);
11
+ const [portalAnchor, setPortalAnchor] = useState(null);
12
+ const portalAnchorNode = useRef(null);
13
+ const lastExplicitContainer = useRef(null);
13
14
  // Create a themed, layout-invisible anchor inside the portalContainer so
14
15
  // React Aria overlays inherit scoped CSS and the active data-theme.
15
16
  // Compares resolved DOM nodes (not callback identity) to avoid tearing
16
17
  // down the anchor when an inline callback like `() => getElementById(...)` is passed.
17
- useEffect(() => {
18
- const container = portalContainer?.() ?? null;
19
- if (container === resolvedContainerRef.current) {
18
+ // useLayoutEffect + useState so the anchor exists before paint and its
19
+ // creation re-renders PortalContainer with a real container a ref-only
20
+ // write left the first commit portalling to document.body.
21
+ useLayoutEffect(() => {
22
+ const explicit = portalContainer?.() ?? null;
23
+ if (explicit === lastExplicitContainer.current) {
20
24
  return;
21
25
  }
22
- portalAnchorRef.current?.remove();
23
- portalAnchorRef.current = null;
24
- resolvedContainerRef.current = container;
25
- if (!container) {
26
+ lastExplicitContainer.current = explicit;
27
+ portalAnchorNode.current?.remove();
28
+ portalAnchorNode.current = null;
29
+ if (!explicit) {
30
+ setPortalAnchor(null);
26
31
  return;
27
32
  }
28
33
  const anchor = document.createElement('div');
29
34
  anchor.style.display = 'contents';
30
35
  anchor.setAttribute('data-theme', resolvedMode);
31
- container.appendChild(anchor);
32
- portalAnchorRef.current = anchor;
36
+ explicit.appendChild(anchor);
37
+ portalAnchorNode.current = anchor;
38
+ setPortalAnchor(anchor);
33
39
  });
34
- // Clean up the anchor on unmount.
35
- useEffect(() => () => {
36
- portalAnchorRef.current?.remove();
37
- portalAnchorRef.current = null;
40
+ useLayoutEffect(() => () => {
41
+ portalAnchorNode.current?.remove();
42
+ portalAnchorNode.current = null;
43
+ // Reset alongside portalAnchorNode so StrictMode's dev-only mount → cleanup →
44
+ // remount doesn't see a stale "unchanged" match on remount: without this, the
45
+ // remount's effect compares against the pre-cleanup container, skips recreating
46
+ // the anchor, and leaves `portalAnchor` state pointing at the node just removed
47
+ // above — permanently detached from the document.
48
+ lastExplicitContainer.current = null;
38
49
  }, []);
39
- // Keep the anchor's data-theme in sync when the resolved mode changes.
40
- useEffect(() => {
41
- portalAnchorRef.current?.setAttribute('data-theme', resolvedMode);
50
+ useLayoutEffect(() => {
51
+ portalAnchorNode.current?.setAttribute('data-theme', resolvedMode);
42
52
  }, [resolvedMode]);
43
- // Fall back to ThemeProvider's themed wrapper when no portalContainer is provided.
44
- const getContainer = useCallback(() => portalAnchorRef.current ?? themeRoot, [themeRoot]);
53
+ // While the explicit container's anchor (or ThemeProvider's themed root) is
54
+ // unresolved, return null so overlays render nothing for that commit instead
55
+ // of landing on document.body and then relocating. Re-resolving `portalContainer`
56
+ // here (rather than trusting `portalAnchor` alone) also covers a host swap: if the
57
+ // host changes from A to B, this render's anchor still belongs to host A until the
58
+ // layout effect rebuilds it, so we must not hand out the stale host-A anchor.
59
+ const getContainer = useCallback(() => {
60
+ const explicit = portalContainer?.() ?? null;
61
+ if (explicit) {
62
+ return explicit === lastExplicitContainer.current ? portalAnchor : null;
63
+ }
64
+ if (portalContainer) {
65
+ return null;
66
+ }
67
+ return themeRoot;
68
+ }, [portalAnchor, portalContainer, themeRoot]);
45
69
  return (jsx(BrowserRouter, { basename: baseUrl, children: jsx(RouteProvider, { children: jsx(ErrorBoundary, { ...errorBoundary, children: jsx(PortalContainer, { getContainer: getContainer, children: children }) }) }) }));
46
70
  };
47
71
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/providers/UIProvider/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;;;;AA2CA,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAiE,KAAI;IAC/I,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,QAAQ,EAAE;AAC9C,IAAA,MAAM,eAAe,GAAG,MAAM,CAAwB,IAAI,CAAC;AAC3D,IAAA,MAAM,oBAAoB,GAAG,MAAM,CAAqB,IAAI,CAAC;;;;;IAM7D,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,SAAS,GAAG,eAAe,IAAI,IAAI,IAAI;AAC7C,QAAA,IAAI,SAAS,KAAK,oBAAoB,CAAC,OAAO,EAAE;YAC9C;QACF;AAEA,QAAA,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;AACjC,QAAA,eAAe,CAAC,OAAO,GAAG,IAAI;AAC9B,QAAA,oBAAoB,CAAC,OAAO,GAAG,SAAS;QAExC,IAAI,CAAC,SAAS,EAAE;YACd;QACF;QAEA,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5C,QAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU;AACjC,QAAA,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC;AAC/C,QAAA,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC;AAC7B,QAAA,eAAe,CAAC,OAAO,GAAG,MAAM;AAClC,IAAA,CAAC,CAAC;;AAGF,IAAA,SAAS,CACP,MAAM,MAAK;AACT,QAAA,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;AACjC,QAAA,eAAe,CAAC,OAAO,GAAG,IAAI;IAChC,CAAC,EACD,EAAE,CACH;;IAGD,SAAS,CAAC,MAAK;QACb,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC;AACnE,IAAA,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;;AAGlB,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,eAAe,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;AAEzF,IAAA,QACEA,GAAA,CAAC,aAAa,EAAA,EAAC,QAAQ,EAAE,OAAO,EAAA,QAAA,EAC9BA,GAAA,CAAC,aAAa,EAAA,EAAA,QAAA,EACZA,GAAA,CAAC,aAAa,EAAA,EAAA,GAAK,aAAa,EAAA,QAAA,EAC9BA,GAAA,CAAC,eAAe,EAAA,EAAC,YAAY,EAAE,YAAY,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAmB,EAAA,CAC3D,EAAA,CACF,EAAA,CACF;AAEpB,CAAC;AAED;;AAEG;AACI,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI,EAAsC,KAAI;;;;;AAKzG,IAAA,QACEA,GAAA,CAAC,aAAa,EAAA,EAAC,iBAAiB,EAAE,iBAAiB,EAAA,QAAA,EACjDA,GAAA,CAAC,eAAe,OAAK,IAAI,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAmB,EAAA,CACzC;AAEpB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/providers/UIProvider/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flipdish/ui-library",
3
- "version": "0.15.1",
3
+ "version": "0.16.1",
4
4
  "description": "Flipdish Design System — atomic-design component library (Tailwind v4 + UntitledUI + React Aria).",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -119,8 +119,8 @@
119
119
  "postcss-prefix-selector": "^2.1.1",
120
120
  "qr-code-styling": "^1.9.2",
121
121
  "react": "^19.0.0",
122
- "react-aria": "^3.49.0",
123
- "react-aria-components": "^1.18.0",
122
+ "react-aria": "3.50.0",
123
+ "react-aria-components": "1.19.0",
124
124
  "react-dom": "^19.0.0",
125
125
  "react-hotkeys-hook": "^5.3.2",
126
126
  "react-native": ">=0.81.0",
@@ -253,8 +253,8 @@
253
253
  "playwright": "^1.61.1",
254
254
  "qr-code-styling": "^1.9.2",
255
255
  "react": "^19.0.0",
256
- "react-aria": "^3.49.0",
257
- "react-aria-components": "^1.18.0",
256
+ "react-aria": "3.50.0",
257
+ "react-aria-components": "1.19.0",
258
258
  "react-dom": "^19.0.0",
259
259
  "react-hotkeys-hook": "^5.3.2",
260
260
  "react-native-css": "^3.0.7",