@astryxdesign/core 0.1.1-canary.7e591d0 → 0.1.1-canary.8ae87ca
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/README.md +0 -68
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +1 -4
- package/dist/Banner/Banner.d.ts +0 -7
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +2 -9
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +0 -2
- package/dist/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/EmptyState/EmptyState.js +1 -7
- package/dist/HoverCard/HoverCard.d.ts +2 -2
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +6 -18
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +3 -6
- package/dist/Layer/useLayer.d.ts +0 -13
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +2 -7
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +3 -13
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +0 -13
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +27 -31
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +8 -26
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Table/Table.js +7 -30
- package/dist/Table/index.d.ts +1 -3
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +0 -1
- package/dist/Table/types.d.ts +5 -90
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.js +1 -1
- package/dist/astryx.css +0 -11
- package/package.json +2 -6
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +0 -3
- package/src/Banner/Banner.test.tsx +7 -16
- package/src/Banner/Banner.tsx +2 -9
- package/src/Button/Button.test.tsx +11 -26
- package/src/Button/Button.tsx +0 -2
- package/src/EmptyState/EmptyState.test.tsx +2 -4
- package/src/EmptyState/EmptyState.tsx +2 -6
- package/src/HoverCard/HoverCard.doc.mjs +0 -3
- package/src/HoverCard/HoverCard.test.tsx +2 -178
- package/src/HoverCard/HoverCard.tsx +16 -20
- package/src/HoverCard/useHoverCard.tsx +10 -12
- package/src/Icon/Icon.doc.mjs +0 -8
- package/src/Layer/useLayer.doc.mjs +2 -7
- package/src/Layer/useLayer.tsx +2 -19
- package/src/Lightbox/Lightbox.doc.mjs +2 -0
- package/src/Markdown/Markdown.doc.mjs +0 -2
- package/src/Markdown/Markdown.test.tsx +26 -17
- package/src/Markdown/Markdown.tsx +6 -16
- package/src/MobileNav/MobileNav.doc.mjs +8 -8
- package/src/MobileNav/MobileNav.tsx +0 -13
- package/src/Pagination/Pagination.test.tsx +13 -137
- package/src/Pagination/Pagination.tsx +28 -33
- package/src/Resizable/Resizable.doc.mjs +1 -1
- package/src/Selector/Selector.doc.mjs +0 -4
- package/src/Skeleton/Skeleton.doc.mjs +1 -20
- package/src/Table/BaseTable.tsx +24 -50
- package/src/Table/Table.tsx +1 -22
- package/src/Table/index.ts +0 -3
- package/src/Table/types.ts +4 -96
- package/src/Table/useBaseTablePlugins.ts +0 -1
- package/src/Toolbar/Toolbar.doc.mjs +1 -1
- package/dist/Table/plugins/stickyColumns/index.d.ts +0 -3
- package/dist/Table/plugins/stickyColumns/index.d.ts.map +0 -1
- package/dist/Table/plugins/stickyColumns/index.js +0 -3
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts +0 -25
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +0 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +0 -376
- package/dist/astryx.umd.js +0 -147
- package/dist/astryx.umd.js.map +0 -7
- package/src/MobileNav/MobileNavReopen.test.tsx +0 -118
- package/src/Table/plugins/stickyColumns/index.ts +0 -4
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.test.tsx +0 -163
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +0 -414
package/README.md
CHANGED
|
@@ -183,71 +183,3 @@ npm install @astryxdesign/core @astryxdesign/theme-neutral
|
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
Same CSS imports and providers as above. No build plugins needed; XDS ships pre-built.
|
|
186
|
-
|
|
187
|
-
### No build step (CDN)
|
|
188
|
-
|
|
189
|
-
For prototypes, embeds, or pages without a bundler, load the components straight
|
|
190
|
-
from a public CDN. Two delivery options ship in the published package:
|
|
191
|
-
|
|
192
|
-
**1. UMD global (`<script>` tag).** A single pre-bundled file exposes every export
|
|
193
|
-
on `window.Astryx`. React and ReactDOM are peer dependencies — load them yourself.
|
|
194
|
-
Pair it with the precompiled stylesheet.
|
|
195
|
-
|
|
196
|
-
```html
|
|
197
|
-
<!doctype html>
|
|
198
|
-
<html data-astryx-theme="neutral">
|
|
199
|
-
<head>
|
|
200
|
-
<link
|
|
201
|
-
rel="stylesheet"
|
|
202
|
-
href="https://cdn.jsdelivr.net/npm/@astryxdesign/core/src/reset.css" />
|
|
203
|
-
<link
|
|
204
|
-
rel="stylesheet"
|
|
205
|
-
href="https://cdn.jsdelivr.net/npm/@astryxdesign/core/dist/astryx.css" />
|
|
206
|
-
</head>
|
|
207
|
-
<body>
|
|
208
|
-
<div id="root"></div>
|
|
209
|
-
<script
|
|
210
|
-
crossorigin
|
|
211
|
-
src="https://unpkg.com/react@19/umd/react.production.min.js"></script>
|
|
212
|
-
<script
|
|
213
|
-
crossorigin
|
|
214
|
-
src="https://unpkg.com/react-dom@19/umd/react-dom.production.min.js"></script>
|
|
215
|
-
<script src="https://cdn.jsdelivr.net/npm/@astryxdesign/core/dist/astryx.umd.js"></script>
|
|
216
|
-
<script>
|
|
217
|
-
const {Button, Card} = window.Astryx;
|
|
218
|
-
const e = React.createElement;
|
|
219
|
-
ReactDOM.createRoot(document.getElementById('root')).render(
|
|
220
|
-
e(Card, null, e(Button, {variant: 'primary'}, 'Hello from a CDN')),
|
|
221
|
-
);
|
|
222
|
-
</script>
|
|
223
|
-
</body>
|
|
224
|
-
</html>
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
**2. ES modules (no UMD, no globals).** Use [esm.sh](https://esm.sh), which rewrites
|
|
228
|
-
bare imports to browser-resolvable URLs. An import map keeps a single React instance.
|
|
229
|
-
|
|
230
|
-
```html
|
|
231
|
-
<link
|
|
232
|
-
rel="stylesheet"
|
|
233
|
-
href="https://cdn.jsdelivr.net/npm/@astryxdesign/core/dist/astryx.css" />
|
|
234
|
-
<script type="importmap">
|
|
235
|
-
{
|
|
236
|
-
"imports": {
|
|
237
|
-
"react": "https://esm.sh/react@19",
|
|
238
|
-
"react-dom/client": "https://esm.sh/react-dom@19/client",
|
|
239
|
-
"@astryxdesign/core": "https://esm.sh/@astryxdesign/core?external=react,react-dom"
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
</script>
|
|
243
|
-
<script type="module">
|
|
244
|
-
import {createRoot} from 'react-dom/client';
|
|
245
|
-
import {Button} from '@astryxdesign/core';
|
|
246
|
-
// ...render as usual
|
|
247
|
-
</script>
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
> Pin a version in production (e.g. `@astryxdesign/core@0.1.1`) — unversioned CDN URLs
|
|
251
|
-
> resolve to the latest release and are cached aggressively. The raw ESM entry
|
|
252
|
-
> (`dist/index.js`) uses bare `react` imports and will **not** run from a plain
|
|
253
|
-
> `<script src>`; use the UMD global or esm.sh as shown above.
|
|
@@ -41,7 +41,7 @@ export interface AvatarGroupOverflowProps extends Omit<BaseProps<HTMLElement>, '
|
|
|
41
41
|
* </AvatarGroup>
|
|
42
42
|
* ```
|
|
43
43
|
*/
|
|
44
|
-
export declare function AvatarGroupOverflow({ ref, count, onClick, children, xstyle, className, style,
|
|
44
|
+
export declare function AvatarGroupOverflow({ ref, count, onClick, children, xstyle, className, style, }: AvatarGroupOverflowProps): ReactNode;
|
|
45
45
|
export declare namespace AvatarGroupOverflow {
|
|
46
46
|
var displayName: string;
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroupOverflow.d.ts","sourceRoot":"","sources":["../../src/AvatarGroup/AvatarGroupOverflow.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,EAAC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAU5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAM5C,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,SAAS,CAAC,WAAW,CAAC,EACtB,SAAS,CACV;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6DD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,
|
|
1
|
+
{"version":3,"file":"AvatarGroupOverflow.d.ts","sourceRoot":"","sources":["../../src/AvatarGroup/AvatarGroupOverflow.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,EAAC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAU5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAM5C,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,SAAS,CAAC,WAAW,CAAC,EACtB,SAAS,CACV;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6DD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,wBAAwB,GAAG,SAAS,CAsDtC;yBA9De,mBAAmB"}
|
|
@@ -100,8 +100,7 @@ export function AvatarGroupOverflow({
|
|
|
100
100
|
children,
|
|
101
101
|
xstyle,
|
|
102
102
|
className,
|
|
103
|
-
style
|
|
104
|
-
...rest
|
|
103
|
+
style
|
|
105
104
|
}) {
|
|
106
105
|
const group = useAvatarGroup();
|
|
107
106
|
const numericSize = group?.numericSize ?? 36;
|
|
@@ -114,7 +113,6 @@ export function AvatarGroupOverflow({
|
|
|
114
113
|
type: "button",
|
|
115
114
|
onClick: onClick,
|
|
116
115
|
"aria-label": label,
|
|
117
|
-
...rest,
|
|
118
116
|
...mergeProps(themeProps('avatar-group-overflow'), stylex.props(styles.base, styles.button, styles.overlap, dynamicStyles.size(numericSize), dynamicStyles.fontSize(numericSize), dynamicStyles.overlap(-overlap), xstyle), className, style),
|
|
119
117
|
children: content
|
|
120
118
|
});
|
|
@@ -122,7 +120,6 @@ export function AvatarGroupOverflow({
|
|
|
122
120
|
return /*#__PURE__*/_jsx("span", {
|
|
123
121
|
ref: ref,
|
|
124
122
|
"aria-label": label,
|
|
125
|
-
...rest,
|
|
126
123
|
...mergeProps(themeProps('avatar-group-overflow'), stylex.props(styles.base, styles.overlap, dynamicStyles.size(numericSize), dynamicStyles.fontSize(numericSize), dynamicStyles.overlap(-overlap), xstyle), className, style),
|
|
127
124
|
children: content
|
|
128
125
|
});
|
package/dist/Banner/Banner.d.ts
CHANGED
|
@@ -12,13 +12,6 @@
|
|
|
12
12
|
* - Each visual area owns its own border-radius (no overflow:clip on the container)
|
|
13
13
|
* - When children are provided, a collapse/expand toggle button appears in the end area
|
|
14
14
|
*
|
|
15
|
-
* Title and description render as <div> (not <p>): they accept arbitrary
|
|
16
|
-
* ReactNode content, and <p> cannot legally contain block-level children
|
|
17
|
-
* (the HTML parser reparents them, desyncing SSR markup from the hydrated
|
|
18
|
-
* DOM). Using <div> keeps these slots composable with any content. Their
|
|
19
|
-
* StyleX styles set margin: 0 and explicit typography, so the rendered
|
|
20
|
-
* appearance is identical to the previous <p>.
|
|
21
|
-
*
|
|
22
15
|
* SYNC: When modified, update these files to stay in sync:
|
|
23
16
|
* - /packages/core/src/Banner/Banner.doc.mjs (props table, features, implementation notes)
|
|
24
17
|
* - /packages/core/src/Banner/Banner.test.tsx (tests for new/changed behavior)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/Banner/Banner.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/Banner/Banner.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAsB5C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA2JD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,aAAqB,EACrB,SAAS,EACT,UAAU,EACV,SAAkB,EAClB,iBAAyB,EACzB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,WAAW,sCA0Hb;yBA1Ie,MAAM"}
|
package/dist/Banner/Banner.js
CHANGED
|
@@ -16,13 +16,6 @@
|
|
|
16
16
|
* - Each visual area owns its own border-radius (no overflow:clip on the container)
|
|
17
17
|
* - When children are provided, a collapse/expand toggle button appears in the end area
|
|
18
18
|
*
|
|
19
|
-
* Title and description render as <div> (not <p>): they accept arbitrary
|
|
20
|
-
* ReactNode content, and <p> cannot legally contain block-level children
|
|
21
|
-
* (the HTML parser reparents them, desyncing SSR markup from the hydrated
|
|
22
|
-
* DOM). Using <div> keeps these slots composable with any content. Their
|
|
23
|
-
* StyleX styles set margin: 0 and explicit typography, so the rendered
|
|
24
|
-
* appearance is identical to the previous <p>.
|
|
25
|
-
*
|
|
26
19
|
* SYNC: When modified, update these files to stay in sync:
|
|
27
20
|
* - /packages/core/src/Banner/Banner.doc.mjs (props table, features, implementation notes)
|
|
28
21
|
* - /packages/core/src/Banner/Banner.test.tsx (tests for new/changed behavior)
|
|
@@ -298,12 +291,12 @@ export function Banner({
|
|
|
298
291
|
...{
|
|
299
292
|
className: "x78zum5 xdt5ytf xxhr3t x98rzlu xeuugli"
|
|
300
293
|
},
|
|
301
|
-
children: [/*#__PURE__*/_jsx("
|
|
294
|
+
children: [/*#__PURE__*/_jsx("p", {
|
|
302
295
|
...{
|
|
303
296
|
className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og x1tgivj0"
|
|
304
297
|
},
|
|
305
298
|
children: title
|
|
306
|
-
}), description != null && /*#__PURE__*/_jsx("
|
|
299
|
+
}), description != null && /*#__PURE__*/_jsx("p", {
|
|
307
300
|
...{
|
|
308
301
|
className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xv1l7n4"
|
|
309
302
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAwB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAoB3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAoGrD,QAAA,MAAM,UAAU;;;;;;;;;;EAUd,CAAC;AAsGH;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,IAAI,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,UAAU,CAAC;AAEjD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,oDAAoD;IACpD,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD;;OAEG;IACH,WAAW,CAAC,EAAE,CACZ,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KACnC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAmFD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,OAAqB,EACrB,IAAI,EAAE,QAAQ,EACd,IAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,WAAW,EACX,IAAI,EACJ,UAAkB,EAClB,QAAQ,EACR,UAAU,EACV,OAAO,EACP,IAAI,EACJ,EAAE,EACF,MAAM,EACN,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAwB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAoB3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAoGrD,QAAA,MAAM,UAAU;;;;;;;;;;EAUd,CAAC;AAsGH;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,IAAI,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,UAAU,CAAC;AAEjD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,oDAAoD;IACpD,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD;;OAEG;IACH,WAAW,CAAC,EAAE,CACZ,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KACnC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAmFD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,OAAqB,EACrB,IAAI,EAAE,QAAQ,EACd,IAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,WAAW,EACX,IAAI,EACJ,UAAkB,EAClB,QAAQ,EACR,UAAU,EACV,OAAO,EACP,IAAI,EACJ,EAAE,EACF,MAAM,EACN,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,GAAG,SAAS,CAkLzB;yBAxMe,MAAM"}
|
package/dist/Button/Button.js
CHANGED
|
@@ -284,8 +284,6 @@ export function Button({
|
|
|
284
284
|
const size = useSize(sizeProp, 'md');
|
|
285
285
|
const buttonGroup = useButtonGroup();
|
|
286
286
|
const [isPending, startTransition] = useTransition();
|
|
287
|
-
// clickAction is fire-once (submit/save/pay), so a same-tick double-click must
|
|
288
|
-
// dedupe — which neither isPending nor useOptimistic do. Hence the ref guard.
|
|
289
287
|
const actionInFlightRef = useRef(false);
|
|
290
288
|
const isLoadingState = isLoading || isPending;
|
|
291
289
|
const groupDisabled = buttonGroup?.isDisabled ?? false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAgB,MAAM,OAAO,CAAC;AAQpD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA4D5C,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAO,EACP,YAAgB,EAChB,SAAiB,EACjB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAgB,MAAM,OAAO,CAAC;AAQpD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA4D5C,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAO,EACP,YAAgB,EAChB,SAAiB,EACjB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+BA0CjB;yBAtDe,UAAU"}
|
|
@@ -96,13 +96,7 @@ export function EmptyState({
|
|
|
96
96
|
1: {
|
|
97
97
|
className: "x1ghz6dp xjb2p0i x2mo6ok xf74fhv x1tgivj0 xcr08ib"
|
|
98
98
|
}
|
|
99
|
-
}[!!isCompact << 0], title), description != null &&
|
|
100
|
-
/*#__PURE__*/
|
|
101
|
-
// Rendered as <div> (not <p>): description accepts ReactNode and a
|
|
102
|
-
// <p> cannot legally contain block children, which causes hydration
|
|
103
|
-
// mismatches. The StyleX style sets margin: 0, so appearance is
|
|
104
|
-
// unchanged.
|
|
105
|
-
_jsx("div", {
|
|
99
|
+
}[!!isCompact << 0], title), description != null && /*#__PURE__*/_jsx("p", {
|
|
106
100
|
...{
|
|
107
101
|
0: {
|
|
108
102
|
className: "x1ghz6dp xjb2p0i xjm74w1 x1sodnla xw6l6zx xv1l7n4"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file HoverCard.tsx
|
|
3
|
-
* @input Uses React, useHoverCard hook
|
|
3
|
+
* @input Uses React, ReactDOM createPortal, useHoverCard hook
|
|
4
4
|
* @output Exports HoverCard component for hover/focus triggered layers
|
|
5
|
-
* @position Layer component; uses inline-safe trigger wrapper and
|
|
5
|
+
* @position Layer component; uses inline-safe trigger wrapper and portals floating layer
|
|
6
6
|
*
|
|
7
7
|
* SYNC: When modified, update these files to stay in sync:
|
|
8
8
|
* - /packages/core/src/HoverCard/HoverCard.test.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverCard.d.ts","sourceRoot":"","sources":["../../src/HoverCard/HoverCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,
|
|
1
|
+
{"version":3,"file":"HoverCard.d.ts","sourceRoot":"","sources":["../../src/HoverCard/HoverCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAc,EAGZ,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,EAAe,KAAK,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAC,cAAc,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,YAAY,EAAC,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAiB1D,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,SAAS,EACT,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC;IACC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEtC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAiBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,SAAmB,EACnB,SAAoB,EACpB,KAAW,EACX,SAAe,EACf,YAAqB,EACrB,SAAgB,EAChB,YAAY,EACZ,kBAA2B,EAC3B,MAAM,EACN,aAAa,EACb,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,cAAc,GAAG,YAAY,CAsG/B;yBAtHe,SAAS"}
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file HoverCard.tsx
|
|
7
|
-
* @input Uses React, useHoverCard hook
|
|
7
|
+
* @input Uses React, ReactDOM createPortal, useHoverCard hook
|
|
8
8
|
* @output Exports HoverCard component for hover/focus triggered layers
|
|
9
|
-
* @position Layer component; uses inline-safe trigger wrapper and
|
|
9
|
+
* @position Layer component; uses inline-safe trigger wrapper and portals floating layer
|
|
10
10
|
*
|
|
11
11
|
* SYNC: When modified, update these files to stay in sync:
|
|
12
12
|
* - /packages/core/src/HoverCard/HoverCard.test.tsx
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
* - /apps/storybook/stories/HoverCard.stories.tsx
|
|
15
15
|
* - /packages/cli/templates/blocks/components/HoverCard/ (showcase blocks)
|
|
16
16
|
*/
|
|
17
|
-
import { useCallback, useRef } from 'react';
|
|
17
|
+
import React, { useCallback, useRef } from 'react';
|
|
18
|
+
import { createPortal } from 'react-dom';
|
|
18
19
|
import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect.js";
|
|
19
20
|
import * as stylex from '@stylexjs/stylex';
|
|
20
21
|
import { useHoverCard } from "./useHoverCard.js";
|
|
@@ -124,24 +125,11 @@ export function HoverCard({
|
|
|
124
125
|
}
|
|
125
126
|
};
|
|
126
127
|
}, [textOnly, hoverCard.ref, hoverCard.describedBy]);
|
|
127
|
-
|
|
128
|
-
// Render the floating layer inline, in the same place on the server and the
|
|
129
|
-
// client. The layer is a `popover` element opened via the Popover API, so the
|
|
130
|
-
// browser promotes it to the top layer when shown — that already escapes
|
|
131
|
-
// ancestor clipping, stacking, and transform containing-block traps, and CSS
|
|
132
|
-
// anchor positioning resolves the trigger reference regardless of where the
|
|
133
|
-
// element sits in the DOM, so no portal is needed to "escape" layout.
|
|
134
|
-
//
|
|
135
|
-
// The layer renders as inline-safe phrasing markup (a `<span>`, see
|
|
136
|
-
// useHoverCard), which stays put inside a `<p>` instead of being reparented
|
|
137
|
-
// by the HTML parser. That keeps the server markup and the first client
|
|
138
|
-
// render identical, so there is no hydration mismatch — and it preserves the
|
|
139
|
-
// inline-safety guarantee (no block elements injected into a paragraph).
|
|
140
|
-
const renderedHoverCard = hoverCard.renderHoverCard(content, {
|
|
128
|
+
const renderedHoverCard = typeof document !== 'undefined' ? /*#__PURE__*/createPortal(hoverCard.renderHoverCard(content, {
|
|
141
129
|
xstyle,
|
|
142
130
|
className,
|
|
143
131
|
style
|
|
144
|
-
});
|
|
132
|
+
}), document.body) : null;
|
|
145
133
|
|
|
146
134
|
// For text-only children: use inline span with ref on wrapper
|
|
147
135
|
if (textOnly) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHoverCard.d.ts","sourceRoot":"","sources":["../../src/HoverCard/useHoverCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"useHoverCard.d.ts","sourceRoot":"","sources":["../../src/HoverCard/useHoverCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAyC3B;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE9B;;;OAGG;IACH,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEtC;;;;OAIG;IACH,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEzC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,SAAS,EACnB,KAAK,CAAC,EAAE,kBAAkB,KACvB,SAAS,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAyBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CA2RjB"}
|
|
@@ -261,14 +261,11 @@ export function useHoverCard(options = {}) {
|
|
|
261
261
|
const renderProps = {
|
|
262
262
|
placement: renderPlacement,
|
|
263
263
|
alignment: props?.alignment ?? alignment,
|
|
264
|
-
xstyle: [popoverXstyle, layerAnimations[renderPlacement]]
|
|
265
|
-
// Render the layer as inline-safe phrasing markup so HoverCard stays
|
|
266
|
-
// valid (and hydration-stable) inside inline contexts like a `<p>`.
|
|
267
|
-
as: 'span'
|
|
264
|
+
xstyle: [popoverXstyle, layerAnimations[renderPlacement]]
|
|
268
265
|
};
|
|
269
|
-
return layer.render(/*#__PURE__*/_jsx("
|
|
266
|
+
return layer.render(/*#__PURE__*/_jsx("div", {
|
|
270
267
|
...mergeProps(themeProps('hovercard'), {
|
|
271
|
-
className: "
|
|
268
|
+
className: "x1vlblms xvmdzux x126nfab x1t818jl"
|
|
272
269
|
}),
|
|
273
270
|
onMouseEnter: () => {
|
|
274
271
|
isHoveringContentRef.current = true;
|
package/dist/Layer/useLayer.d.ts
CHANGED
|
@@ -38,19 +38,6 @@ export interface ContextRenderProps {
|
|
|
38
38
|
* Merged after StyleX and anchor positioning styles.
|
|
39
39
|
*/
|
|
40
40
|
style?: React.CSSProperties;
|
|
41
|
-
/**
|
|
42
|
-
* HTML tag to render the popover container as.
|
|
43
|
-
*
|
|
44
|
-
* Defaults to `'div'`. Pass `'span'` when the layer must render inline-safe
|
|
45
|
-
* markup — e.g. a `HoverCard` wrapping inline text inside a `<p>`. A `<span>`
|
|
46
|
-
* is phrasing content, so it stays put in the DOM tree instead of being
|
|
47
|
-
* reparented out of a paragraph by the HTML parser, which keeps server and
|
|
48
|
-
* client markup identical. The Popover API and CSS anchor positioning work
|
|
49
|
-
* the same on either tag.
|
|
50
|
-
*
|
|
51
|
-
* @default 'div'
|
|
52
|
-
*/
|
|
53
|
-
as?: 'div' | 'span';
|
|
54
41
|
}
|
|
55
42
|
/**
|
|
56
43
|
* Render props for fixed mode (manual coordinates)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLayer.d.ts","sourceRoot":"","sources":["../../src/Layer/useLayer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AA2BnD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"useLayer.d.ts","sourceRoot":"","sources":["../../src/Layer/useLayer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AA2BnD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE9B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,kBAAkB,KAAK,SAAS,CAAC;CACxE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,GAAG,EAAE,SAAS,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,KAAK,SAAS,CAAC;CACrE;AAuCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;AAC3E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAAC"}
|
package/dist/Layer/useLayer.js
CHANGED
|
@@ -204,8 +204,7 @@ export function useLayer(options) {
|
|
|
204
204
|
alignment = 'center',
|
|
205
205
|
xstyle,
|
|
206
206
|
className: extraClassName,
|
|
207
|
-
style: extraStyle
|
|
208
|
-
as: Container = 'div'
|
|
207
|
+
style: extraStyle
|
|
209
208
|
} = props || {};
|
|
210
209
|
|
|
211
210
|
// CSS anchor positioning (dynamic, not in StyleX)
|
|
@@ -216,11 +215,7 @@ export function useLayer(options) {
|
|
|
216
215
|
};
|
|
217
216
|
const stylexResult = stylex.props(styles.base, xstyle);
|
|
218
217
|
const combinedClassName = extraClassName ? `${extraClassName} ${stylexResult.className ?? ''}` : stylexResult.className;
|
|
219
|
-
|
|
220
|
-
// Render as the requested tag. A `span` keeps the layer phrasing content
|
|
221
|
-
// so it is valid (and stays put on hydration) inside inline contexts like
|
|
222
|
-
// a `<p>`; `div` remains the default for block layers.
|
|
223
|
-
return /*#__PURE__*/_jsx(Container, {
|
|
218
|
+
return /*#__PURE__*/_jsx("div", {
|
|
224
219
|
ref: popoverRefCallback,
|
|
225
220
|
id: id,
|
|
226
221
|
popover: lightDismiss ? 'auto' : 'manual',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../src/Markdown/Markdown.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../src/Markdown/Markdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -795,17 +795,7 @@ function renderBlock(node, index, blockCount, density, headingLevelStart, onLink
|
|
|
795
795
|
children: paraChildren
|
|
796
796
|
}, index);
|
|
797
797
|
}
|
|
798
|
-
|
|
799
|
-
// include block-level nodes (images, custom inline components), and a
|
|
800
|
-
// <p> would reparent them, desyncing SSR markup from the hydrated DOM.
|
|
801
|
-
// Block spacing comes from token-based StyleX margins, so the rendered
|
|
802
|
-
// appearance is unchanged. role="paragraph" re-exposes the paragraph
|
|
803
|
-
// role in the accessibility tree (a pure ARIA hint — it does not trigger
|
|
804
|
-
// the parser's block-child reparenting) so prose semantics are preserved
|
|
805
|
-
// without the <p> composition hazard. Consumers who want a real <p>
|
|
806
|
-
// element can still pass components={{paragraph: 'p'}}.
|
|
807
|
-
return /*#__PURE__*/_jsx("div", {
|
|
808
|
-
role: "paragraph",
|
|
798
|
+
return /*#__PURE__*/_jsx("p", {
|
|
809
799
|
...stylex.props(spacing, contentWidthValue != null ? dynamicStyles.proseWidth(contentWidthValue) : null, contentAlign !== 'start' ? dynamicStyles.proseAlign(ALIGN_MARGIN[contentAlign]) : null, isFirst && styles.noMarginBlockStart, isLast && styles.noMarginBlockEnd),
|
|
810
800
|
children: paraChildren
|
|
811
801
|
}, index);
|
|
@@ -963,12 +953,12 @@ function renderBlock(node, index, blockCount, density, headingLevelStart, onLink
|
|
|
963
953
|
{
|
|
964
954
|
const safeSrc = sanitizeUrl(node.src);
|
|
965
955
|
if (safeSrc == null) {
|
|
966
|
-
return /*#__PURE__*/_jsxs("
|
|
956
|
+
return /*#__PURE__*/_jsxs("p", {
|
|
967
957
|
...stylex.props(spacing, isFirst && styles.noMarginBlockStart, isLast && styles.noMarginBlockEnd),
|
|
968
958
|
children: ["[", node.alt, "]"]
|
|
969
959
|
}, index);
|
|
970
960
|
}
|
|
971
|
-
return /*#__PURE__*/_jsx("
|
|
961
|
+
return /*#__PURE__*/_jsx("p", {
|
|
972
962
|
...stylex.props(spacing, isFirst && styles.noMarginBlockStart, isLast && styles.noMarginBlockEnd),
|
|
973
963
|
children: /*#__PURE__*/_jsx("img", {
|
|
974
964
|
src: safeSrc,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileNav.d.ts","sourceRoot":"","sources":["../../src/MobileNav/MobileNav.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAcf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA0I5C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAEhC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,CAAC,EACxB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EACR,MAAM,EACN,KAAW,EACX,IAAa,EACb,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,MAAM,EACN,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,MAAM,EACb,GAAG,GACJ,EAAE,cAAc,+
|
|
1
|
+
{"version":3,"file":"MobileNav.d.ts","sourceRoot":"","sources":["../../src/MobileNav/MobileNav.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAcf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA0I5C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAEhC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,CAAC,EACxB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EACR,MAAM,EACN,KAAW,EACX,IAAa,EACb,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,MAAM,EACN,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,MAAM,EACb,GAAG,GACJ,EAAE,cAAc,+BA2JhB;yBAxKe,SAAS"}
|
|
@@ -233,21 +233,8 @@ export function MobileNav({
|
|
|
233
233
|
return () => {
|
|
234
234
|
if (closeTimeoutRef.current) {
|
|
235
235
|
clearTimeout(closeTimeoutRef.current);
|
|
236
|
-
closeTimeoutRef.current = null;
|
|
237
236
|
}
|
|
238
237
|
document.documentElement.style.overflow = '';
|
|
239
|
-
// Close the native dialog on teardown if it's still open. Inside AppShell
|
|
240
|
-
// the drawer is mounted in an <Activity> that switches to mode="hidden"
|
|
241
|
-
// when the drawer closes; React then runs this cleanup (with a stale
|
|
242
|
-
// isOpen) instead of re-running the effect with isOpen=false, so the
|
|
243
|
-
// close branch above never fires. If we leave the <dialog> `open` here,
|
|
244
|
-
// showModal() is skipped on the next open (the dialog is already open in
|
|
245
|
-
// the hidden tree) and the drawer can never be re-opened. Closing it
|
|
246
|
-
// unconditionally on teardown keeps the native dialog state in sync so a
|
|
247
|
-
// subsequent open cleanly calls showModal() again.
|
|
248
|
-
if (dialog.open) {
|
|
249
|
-
dialog.close();
|
|
250
|
-
}
|
|
251
238
|
};
|
|
252
239
|
}, [isOpen, side]);
|
|
253
240
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC;AAE3D,uCAAuC;AACvC,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,SAAS,CAAC,WAAW,CAAC,EACtB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGtD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAG9C;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IAGtB,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiGD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CA6CpB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EAAE,cAAc,EAC1B,OAAO,EACP,QAAa,EACb,eAAe,EACf,gBAAgB,EAChB,OAAiB,EACjB,YAAgB,EAChB,IAAW,EACX,UAAkB,EAClB,KAAoB,EACpB,aAAa,EAAE,MAAM,EACrB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,GACJ,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC;AAE3D,uCAAuC;AACvC,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,SAAS,CAAC,WAAW,CAAC,EACtB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGtD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAG9C;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IAGtB,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiGD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CA6CpB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EAAE,cAAc,EAC1B,OAAO,EACP,QAAa,EACb,eAAe,EACf,gBAAgB,EAChB,OAAiB,EACjB,YAAgB,EAChB,IAAW,EACX,UAAkB,EAClB,KAAoB,EACpB,aAAa,EAAE,MAAM,EACrB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,GACJ,EAAE,eAAe,sCAyOjB;yBA7Pe,UAAU"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* pageSize, pageSizeOptions, onPageSizeChange, variant, siblingCount, size, isDisabled,
|
|
19
19
|
* label, data-testid, xstyle
|
|
20
20
|
*/
|
|
21
|
-
import {
|
|
21
|
+
import { useTransition } from 'react';
|
|
22
22
|
import * as stylex from '@stylexjs/stylex';
|
|
23
23
|
import "../theme/tokens.stylex.js";
|
|
24
24
|
import { colorVars, fontWeightVars, sizeVars, spacingVars, durationVars, easeVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
@@ -173,16 +173,12 @@ export function Pagination({
|
|
|
173
173
|
style,
|
|
174
174
|
ref
|
|
175
175
|
}) {
|
|
176
|
-
const [, startTransition] = useTransition();
|
|
177
|
-
|
|
178
|
-
// Track the page optimistically so rapid prev/next clicks advance from the
|
|
179
|
-
// in-flight target instead of stalling on the last committed page.
|
|
180
|
-
const [optimisticPage, setOptimisticPage] = useOptimistic(page);
|
|
176
|
+
const [isPending, startTransition] = useTransition();
|
|
181
177
|
|
|
182
178
|
// Compute pagination state
|
|
183
179
|
const computedTotalPages = totalPagesProp ?? (totalItems != null ? Math.ceil(totalItems / pageSize) : undefined);
|
|
184
|
-
const hasPrevious =
|
|
185
|
-
const hasNext = computedTotalPages != null ?
|
|
180
|
+
const hasPrevious = page > 1;
|
|
181
|
+
const hasNext = computedTotalPages != null ? page < computedTotalPages : hasMore ?? false;
|
|
186
182
|
|
|
187
183
|
// Return null for empty state
|
|
188
184
|
if (totalItems != null && totalItems <= 0) {
|
|
@@ -191,42 +187,42 @@ export function Pagination({
|
|
|
191
187
|
if (computedTotalPages != null && computedTotalPages <= 0) {
|
|
192
188
|
return null;
|
|
193
189
|
}
|
|
194
|
-
|
|
195
|
-
// Interruptible: re-clicking before the transition settles starts a fresh one
|
|
196
|
-
// with the next optimistic page rather than being dropped, so there is no
|
|
197
|
-
// re-entry guard.
|
|
198
190
|
const handlePageChange = newPage => {
|
|
199
|
-
if (isDisabled) {
|
|
191
|
+
if (isDisabled || isPending) {
|
|
200
192
|
return;
|
|
201
193
|
}
|
|
202
|
-
// Keep onChange urgent so controlled page state updates in the same commit
|
|
203
|
-
// as the click; only the optimistic indicator and changeAction defer.
|
|
204
194
|
onChange(newPage);
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
195
|
+
if (changeAction) {
|
|
196
|
+
startTransition(async () => {
|
|
197
|
+
await changeAction(newPage);
|
|
198
|
+
});
|
|
199
|
+
}
|
|
209
200
|
};
|
|
210
201
|
const handlePrevious = () => {
|
|
211
202
|
if (hasPrevious) {
|
|
212
|
-
handlePageChange(
|
|
203
|
+
handlePageChange(page - 1);
|
|
213
204
|
}
|
|
214
205
|
};
|
|
215
206
|
const handleNext = () => {
|
|
216
207
|
if (hasNext) {
|
|
217
|
-
handlePageChange(
|
|
208
|
+
handlePageChange(page + 1);
|
|
218
209
|
}
|
|
219
210
|
};
|
|
220
211
|
const handlePageSizeChange = value => {
|
|
221
212
|
const newSize = Number(value);
|
|
222
213
|
onPageSizeChange?.(newSize);
|
|
223
|
-
// Reset to page 1 when page size changes
|
|
224
|
-
|
|
214
|
+
// Reset to page 1 when page size changes
|
|
215
|
+
onChange(1);
|
|
216
|
+
if (changeAction) {
|
|
217
|
+
startTransition(async () => {
|
|
218
|
+
await changeAction(1);
|
|
219
|
+
});
|
|
220
|
+
}
|
|
225
221
|
};
|
|
226
222
|
|
|
227
223
|
// Item range for count display
|
|
228
|
-
const rangeStart = (
|
|
229
|
-
const rangeEnd = totalItems != null ? Math.min(
|
|
224
|
+
const rangeStart = (page - 1) * pageSize + 1;
|
|
225
|
+
const rangeEnd = totalItems != null ? Math.min(page * pageSize, totalItems) : page * pageSize;
|
|
230
226
|
const buttonSize = size === 'sm' ? 'sm' : 'md';
|
|
231
227
|
const isSm = size === 'sm';
|
|
232
228
|
const renderIndicator = () => {
|
|
@@ -236,7 +232,7 @@ export function Pagination({
|
|
|
236
232
|
if (computedTotalPages == null) {
|
|
237
233
|
return null;
|
|
238
234
|
}
|
|
239
|
-
const pageRange = generatePageRange(
|
|
235
|
+
const pageRange = generatePageRange(page, computedTotalPages, siblingCount);
|
|
240
236
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
241
237
|
children: pageRange.map((item, index) => {
|
|
242
238
|
if (item === '...') {
|
|
@@ -255,7 +251,7 @@ export function Pagination({
|
|
|
255
251
|
children: "\u2026"
|
|
256
252
|
}, `ellipsis-${previousPage}-${nextPage}`);
|
|
257
253
|
}
|
|
258
|
-
const isActive = item ===
|
|
254
|
+
const isActive = item === page;
|
|
259
255
|
return /*#__PURE__*/_jsx(Button, {
|
|
260
256
|
label: `Go to page ${item}`,
|
|
261
257
|
"aria-label": `Go to page ${item}`,
|
|
@@ -300,7 +296,7 @@ export function Pagination({
|
|
|
300
296
|
type: "body",
|
|
301
297
|
size: "sm",
|
|
302
298
|
color: "secondary",
|
|
303
|
-
children: `Page ${
|
|
299
|
+
children: `Page ${page} of ${computedTotalPages}`
|
|
304
300
|
})
|
|
305
301
|
});
|
|
306
302
|
}
|
|
@@ -320,11 +316,11 @@ export function Pagination({
|
|
|
320
316
|
}, (_, i) => /*#__PURE__*/_jsx("button", {
|
|
321
317
|
type: "button",
|
|
322
318
|
"aria-label": `Go to page ${i + 1}`,
|
|
323
|
-
"aria-current": i + 1 ===
|
|
319
|
+
"aria-current": i + 1 === page ? 'page' : undefined,
|
|
324
320
|
onClick: () => handlePageChange(i + 1),
|
|
325
321
|
disabled: isDisabled,
|
|
326
322
|
...mergeProps(themeProps('pagination-dot', {
|
|
327
|
-
active: i + 1 ===
|
|
323
|
+
active: i + 1 === page ? 'active' : null,
|
|
328
324
|
size
|
|
329
325
|
}), {
|
|
330
326
|
0: {
|
|
@@ -351,7 +347,7 @@ export function Pagination({
|
|
|
351
347
|
7: {
|
|
352
348
|
className: "xc342km xng3xce x1717udv x16rqkct x15406qy xuedmi6 xlr8y92 x1a2a7pz x17nn4n9 x1wfwxd8 x7s97pk x1wu31ai xcenk2v x1ewilqj x1h6gzvc xbyyjgo"
|
|
353
349
|
}
|
|
354
|
-
}[!!isSm << 2 | !!(i + 1 ===
|
|
350
|
+
}[!!isSm << 2 | !!(i + 1 === page) << 1 | !!isDisabled << 0])
|
|
355
351
|
}, i + 1))
|
|
356
352
|
});
|
|
357
353
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTable.d.ts","sourceRoot":"","sources":["../../src/Table/BaseTable.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAkB,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AAGhF,OAAO,KAAK,EACV,cAAc,
|
|
1
|
+
{"version":3,"file":"BaseTable.d.ts","sourceRoot":"","sources":["../../src/Table/BaseTable.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAkB,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AAGhF,OAAO,KAAK,EACV,cAAc,EAWf,MAAM,SAAS,CAAC;AA6fjB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,EAAqB,CACzC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;CAAC,KACrD,YAAY,CAAC"}
|