pne-ui 4.3.1 → 4.3.2

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 (32) hide show
  1. package/README.md +29 -6
  2. package/cjs/component/table/AbstractTable.d.ts +15 -0
  3. package/cjs/component/table/AbstractTable.js.map +1 -1
  4. package/cjs/component/table/PneTablePaginationActions.d.ts +0 -23
  5. package/cjs/component/table/PneTablePaginationActions.js +123 -168
  6. package/cjs/component/table/PneTablePaginationActions.js.map +1 -1
  7. package/cjs/component/table/PneTableSelectionControls.js.map +1 -1
  8. package/cjs/component/table/PneTableToolbar.d.ts +0 -14
  9. package/cjs/component/table/PneTableToolbar.js +28 -100
  10. package/cjs/component/table/PneTableToolbar.js.map +1 -1
  11. package/cjs/component/table/measureNaturalWidth.d.ts +21 -0
  12. package/cjs/component/table/measureNaturalWidth.js +42 -0
  13. package/cjs/component/table/measureNaturalWidth.js.map +1 -0
  14. package/esm/component/table/AbstractTable.d.ts +15 -0
  15. package/esm/component/table/AbstractTable.js.map +1 -1
  16. package/esm/component/table/PneTablePaginationActions.d.ts +0 -23
  17. package/esm/component/table/PneTablePaginationActions.js +124 -167
  18. package/esm/component/table/PneTablePaginationActions.js.map +1 -1
  19. package/esm/component/table/PneTableSelectionControls.js.map +1 -1
  20. package/esm/component/table/PneTableToolbar.d.ts +0 -14
  21. package/esm/component/table/PneTableToolbar.js +28 -98
  22. package/esm/component/table/PneTableToolbar.js.map +1 -1
  23. package/esm/component/table/measureNaturalWidth.d.ts +21 -0
  24. package/esm/component/table/measureNaturalWidth.js +38 -0
  25. package/esm/component/table/measureNaturalWidth.js.map +1 -0
  26. package/package.json +1 -1
  27. package/cjs/component/table/tableLayoutMeasurement.d.ts +0 -34
  28. package/cjs/component/table/tableLayoutMeasurement.js +0 -81
  29. package/cjs/component/table/tableLayoutMeasurement.js.map +0 -1
  30. package/esm/component/table/tableLayoutMeasurement.d.ts +0 -34
  31. package/esm/component/table/tableLayoutMeasurement.js +0 -75
  32. package/esm/component/table/tableLayoutMeasurement.js.map +0 -1
@@ -1,32 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolvePneTableToolbarLayout = void 0;
4
3
  const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importStar(require("react"));
4
+ const react_1 = tslib_1.__importDefault(require("react"));
6
5
  const material_1 = require("@mui/material");
7
6
  const AutoTestAttribute_1 = require("../AutoTestAttribute");
8
- const tableLayoutMeasurement_1 = require("./tableLayoutMeasurement");
7
+ /** Gap between the control groups, and between the rows they wrap onto. */
9
8
  const CONTROL_GROUP_GAP = 8;
10
- const useToolbarLayoutEffect = typeof window === 'undefined' ? react_1.useEffect : react_1.useLayoutEffect;
11
- const resolvePneTableToolbarLayout = ({ availableWidth, contextualWidth, persistentWidth, hasContextual, hasPersistent, currentLayout = 'inline', }) => {
12
- if (!hasContextual || !hasPersistent || availableWidth <= 0) {
13
- return 'inline';
14
- }
15
- const requiredWidth = contextualWidth + CONTROL_GROUP_GAP + persistentWidth;
16
- const hysteresis = currentLayout === 'stacked' ? tableLayoutMeasurement_1.TABLE_LAYOUT_HYSTERESIS : 0;
17
- return (0, tableLayoutMeasurement_1.measuredLayoutWidthFits)(requiredWidth + hysteresis, availableWidth)
18
- ? 'inline'
19
- : 'stacked';
20
- };
21
- exports.resolvePneTableToolbarLayout = resolvePneTableToolbarLayout;
22
- const getGroupSx = (layout) => ({
9
+ /**
10
+ * Each control group claims its natural single-row width (`flex-basis:
11
+ * max-content`), so the browser moves the whole group onto the next row rather
12
+ * than squeezing it - the group is never split mid-way. `flex-shrink: 1` then
13
+ * lets a group that already owns a row use that row and wrap inside itself.
14
+ *
15
+ * The band therefore reads its layout from the width the parent offers and from
16
+ * the intrinsic width of its content, and never from the layout it is currently
17
+ * rendering. That is what keeps it stable: a responsive decision that measures
18
+ * its own result feeds back into itself, and with fractional CSS pixels the
19
+ * feedback oscillates.
20
+ */
21
+ const groupSx = {
23
22
  alignItems: 'center',
24
23
  display: 'flex',
24
+ flexBasis: 'max-content',
25
+ flexGrow: 0,
26
+ flexShrink: 1,
27
+ flexWrap: 'wrap',
25
28
  justifyContent: 'flex-end',
26
- maxWidth: '100%',
27
29
  minWidth: 0,
28
- width: layout === 'stacked' ? '100%' : 'max-content',
29
- });
30
+ };
30
31
  const PneTableToolbar = (props) => {
31
32
  const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, contextual, persistent, sx, ...rootProps } = props;
32
33
  const hasContextual = contextual !== undefined
@@ -35,93 +36,20 @@ const PneTableToolbar = (props) => {
35
36
  const hasPersistent = persistent !== undefined
36
37
  && persistent !== null
37
38
  && typeof persistent !== 'boolean';
38
- const rootRef = (0, react_1.useRef)(null);
39
- const contextualRef = (0, react_1.useRef)(null);
40
- const contextualContentRef = (0, react_1.useRef)(null);
41
- const persistentRef = (0, react_1.useRef)(null);
42
- const persistentContentRef = (0, react_1.useRef)(null);
43
- const [layout, setLayout] = (0, react_1.useState)('inline');
44
- useToolbarLayoutEffect(() => {
45
- const root = rootRef.current;
46
- if (!root) {
47
- return;
48
- }
49
- const ownerWindow = root.ownerDocument?.defaultView;
50
- if (!ownerWindow) {
51
- return;
52
- }
53
- const measureLayout = () => {
54
- const ownerDocument = root.ownerDocument;
55
- const availableWidth = (0, tableLayoutMeasurement_1.measureAvailableWidth)(root);
56
- const contextualWidth = (0, tableLayoutMeasurement_1.measureSingleRowWidth)(contextualContentRef.current, ownerDocument);
57
- const persistentWidth = (0, tableLayoutMeasurement_1.measureSingleRowWidth)(persistentContentRef.current, ownerDocument);
58
- setLayout(currentLayout => {
59
- const nextLayout = (0, exports.resolvePneTableToolbarLayout)({
60
- availableWidth,
61
- contextualWidth,
62
- persistentWidth,
63
- hasContextual,
64
- hasPersistent,
65
- currentLayout,
66
- });
67
- return currentLayout === nextLayout ? currentLayout : nextLayout;
68
- });
69
- };
70
- measureLayout();
71
- const ResizeObserverCtor = ownerWindow.ResizeObserver;
72
- if (ResizeObserverCtor) {
73
- const resizeObserver = new ResizeObserverCtor(measureLayout);
74
- const observedElements = [
75
- root,
76
- contextualRef.current,
77
- contextualContentRef.current,
78
- ...Array.from(contextualContentRef.current?.children ?? []),
79
- persistentRef.current,
80
- persistentContentRef.current,
81
- ...Array.from(persistentContentRef.current?.children ?? []),
82
- ];
83
- observedElements.forEach(element => {
84
- if (element) {
85
- resizeObserver.observe(element);
86
- }
87
- });
88
- return () => resizeObserver.disconnect();
89
- }
90
- ownerWindow.addEventListener('resize', measureLayout);
91
- return () => ownerWindow.removeEventListener('resize', measureLayout);
92
- }, [hasContextual, hasPersistent]);
93
- const groupSx = getGroupSx(layout);
94
- return react_1.default.createElement(material_1.Box, { ...rootProps, ...(0, AutoTestAttribute_1.createAutoTestAttributes)('table-control-bar', layout), "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ref: rootRef, role: 'group', sx: [
39
+ return react_1.default.createElement(material_1.Box, { ...rootProps, ...(0, AutoTestAttribute_1.createAutoTestAttributes)('table-control-bar'), "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, role: 'group', sx: [
95
40
  {
96
41
  alignItems: 'center',
97
- columnGap: `${CONTROL_GROUP_GAP}px`,
98
- display: 'grid',
99
- gridTemplateColumns: layout === 'inline'
100
- ? 'minmax(0, max-content) minmax(0, max-content)'
101
- : 'minmax(0, 1fr)',
102
- maxWidth: '100%',
42
+ display: 'flex',
43
+ flexWrap: 'wrap',
44
+ gap: `${CONTROL_GROUP_GAP}px`,
45
+ justifyContent: 'flex-end',
103
46
  minWidth: 0,
104
- rowGap: `${CONTROL_GROUP_GAP}px`,
105
- width: layout === 'stacked' ? '100%' : 'max-content',
47
+ width: '100%',
106
48
  },
107
49
  ...(Array.isArray(sx) ? sx : [sx]),
108
50
  ] },
109
- hasContextual ? react_1.default.createElement(material_1.Box, { ...(0, AutoTestAttribute_1.createAutoTestAttributes)('table-contextual-controls'), key: 'contextual', ref: contextualRef, sx: groupSx },
110
- react_1.default.createElement(material_1.Box, { ref: contextualContentRef, sx: {
111
- alignItems: 'center',
112
- display: 'flex',
113
- maxWidth: '100%',
114
- minWidth: 0,
115
- width: 'max-content',
116
- } }, contextual)) : null,
117
- hasPersistent ? react_1.default.createElement(material_1.Box, { ...(0, AutoTestAttribute_1.createAutoTestAttributes)('table-persistent-controls'), key: 'persistent', ref: persistentRef, sx: groupSx },
118
- react_1.default.createElement(material_1.Box, { ref: persistentContentRef, sx: {
119
- alignItems: 'center',
120
- display: 'flex',
121
- maxWidth: '100%',
122
- minWidth: 0,
123
- width: 'max-content',
124
- } }, persistent)) : null);
51
+ hasContextual ? react_1.default.createElement(material_1.Box, { ...(0, AutoTestAttribute_1.createAutoTestAttributes)('table-contextual-controls'), key: 'contextual', sx: groupSx }, contextual) : null,
52
+ hasPersistent ? react_1.default.createElement(material_1.Box, { ...(0, AutoTestAttribute_1.createAutoTestAttributes)('table-persistent-controls'), key: 'persistent', sx: groupSx }, persistent) : null);
125
53
  };
126
54
  exports.default = PneTableToolbar;
127
55
  //# sourceMappingURL=PneTableToolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PneTableToolbar.js","sourceRoot":"","sources":["../../../src/component/table/PneTableToolbar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PneTableToolbar.js","sourceRoot":"","sources":["../../../src/component/table/PneTableToolbar.tsx"],"names":[],"mappings":";;;AAAA,0DAAyB;AACzB,4CAA2D;AAC3D,4DAA6D;AAsB7D,2EAA2E;AAC3E,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAE3B;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,GAAmB;IAC5B,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,aAAa;IACxB,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,UAAU;IAC1B,QAAQ,EAAE,CAAC;CACd,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IACpD,MAAM,EACF,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,UAAU,EACV,UAAU,EACV,EAAE,EACF,GAAG,SAAS,EACf,GAAG,KAAK,CAAA;IACT,MAAM,aAAa,GAAG,UAAU,KAAK,SAAS;WACvC,UAAU,KAAK,IAAI;WACnB,OAAO,UAAU,KAAK,SAAS,CAAA;IACtC,MAAM,aAAa,GAAG,UAAU,KAAK,SAAS;WACvC,UAAU,KAAK,IAAI;WACnB,OAAO,UAAU,KAAK,SAAS,CAAA;IAEtC,OAAO,8BAAC,cAAG,OACH,SAAS,KACT,IAAA,4CAAwB,EAAC,mBAAmB,CAAC,gBACrC,SAAS,qBACJ,cAAc,EAC/B,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE;YACA;gBACI,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,MAAM;gBAChB,GAAG,EAAE,GAAG,iBAAiB,IAAI;gBAC7B,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,MAAM;aAChB;YACD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACrC;QAEA,aAAa,CAAC,CAAC,CAAC,8BAAC,cAAG,OACb,IAAA,4CAAwB,EAAC,2BAA2B,CAAC,EACzD,GAAG,EAAC,YAAY,EAChB,EAAE,EAAE,OAAO,IAEV,UAAU,CACT,CAAC,CAAC,CAAC,IAAI;QACZ,aAAa,CAAC,CAAC,CAAC,8BAAC,cAAG,OACb,IAAA,4CAAwB,EAAC,2BAA2B,CAAC,EACzD,GAAG,EAAC,YAAY,EAChB,EAAE,EAAE,OAAO,IAEV,UAAU,CACT,CAAC,CAAC,CAAC,IAAI,CACX,CAAA;AACV,CAAC,CAAA;AAED,kBAAe,eAAe,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Width an element needs to lay its content out on a single row.
3
+ *
4
+ * This is deliberately *not* the measurement that made the control bands flap
5
+ * before. That code measured the elements it had just laid out, so the answer
6
+ * described the space the band had already been given and every fit check was
7
+ * self-confirming; with two such bands measuring each other, fractional CSS
8
+ * pixels were enough to start an endless ResizeObserver cycle.
9
+ *
10
+ * A natural width does not depend on the space offered: it is a property of the
11
+ * content alone. A layout decision taken from it therefore cannot feed back into
12
+ * the measurement, which is what lets the bands place their rows from CSS and
13
+ * measure only when their content changes - never on resize.
14
+ *
15
+ * The element is measured in place, by briefly taking it out of flow rather than
16
+ * by cloning it into `document.body`. A clone leaves inherited styles and
17
+ * ancestor selectors behind, so it measures a different element than the one on
18
+ * screen; taken out of flow, the element keeps its own cascade. Callers must run
19
+ * this inside `useLayoutEffect`, where the swap happens before paint.
20
+ */
21
+ export declare const measureNaturalWidth: (element: HTMLElement | null | undefined) => number;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.measureNaturalWidth = void 0;
4
+ /**
5
+ * Width an element needs to lay its content out on a single row.
6
+ *
7
+ * This is deliberately *not* the measurement that made the control bands flap
8
+ * before. That code measured the elements it had just laid out, so the answer
9
+ * described the space the band had already been given and every fit check was
10
+ * self-confirming; with two such bands measuring each other, fractional CSS
11
+ * pixels were enough to start an endless ResizeObserver cycle.
12
+ *
13
+ * A natural width does not depend on the space offered: it is a property of the
14
+ * content alone. A layout decision taken from it therefore cannot feed back into
15
+ * the measurement, which is what lets the bands place their rows from CSS and
16
+ * measure only when their content changes - never on resize.
17
+ *
18
+ * The element is measured in place, by briefly taking it out of flow rather than
19
+ * by cloning it into `document.body`. A clone leaves inherited styles and
20
+ * ancestor selectors behind, so it measures a different element than the one on
21
+ * screen; taken out of flow, the element keeps its own cascade. Callers must run
22
+ * this inside `useLayoutEffect`, where the swap happens before paint.
23
+ */
24
+ const measureNaturalWidth = (element) => {
25
+ if (!element) {
26
+ return 0;
27
+ }
28
+ const savedCssText = element.style.cssText;
29
+ Object.assign(element.style, {
30
+ left: '-99999px',
31
+ maxWidth: 'none',
32
+ position: 'fixed',
33
+ top: '0',
34
+ visibility: 'hidden',
35
+ width: 'max-content',
36
+ });
37
+ const naturalWidth = element.getBoundingClientRect().width;
38
+ element.style.cssText = savedCssText;
39
+ return naturalWidth;
40
+ };
41
+ exports.measureNaturalWidth = measureNaturalWidth;
42
+ //# sourceMappingURL=measureNaturalWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measureNaturalWidth.js","sourceRoot":"","sources":["../../../src/component/table/measureNaturalWidth.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,mBAAmB,GAAG,CAAC,OAAuC,EAAU,EAAE;IACnF,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,CAAC,CAAA;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;IAE1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;QACzB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,OAAO;QACjB,GAAG,EAAE,GAAG;QACR,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,aAAa;KACvB,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAA;IAE1D,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,CAAA;IAEpC,OAAO,YAAY,CAAA;AACvB,CAAC,CAAA;AArBY,QAAA,mBAAmB,uBAqB/B"}
@@ -15,6 +15,21 @@ export type PaginatorProps = {
15
15
  requestScrollToPagination?: () => void;
16
16
  activeActionSx?: SxProps;
17
17
  duplicatePagination?: boolean;
18
+ /**
19
+ * Overrides the band width in px at which the toolbar stops sharing the
20
+ * pagination row. Normally there is nothing to set: the threshold is
21
+ * measured from the content, so it already fits whatever this table put in
22
+ * the toolbar and whatever the current locale makes of the labels.
23
+ *
24
+ * The band is a container query, so this is the width of the band itself,
25
+ * not of the viewport - a table inside a narrow column behaves like a narrow
26
+ * screen. The pagination needs no threshold at all: its two halves wrap by
27
+ * content.
28
+ */
29
+ controlRowBreakpoints?: {
30
+ /** Below this width the toolbar takes a row of its own. */
31
+ toolbar?: number;
32
+ };
18
33
  };
19
34
  export type TableProps<D> = {
20
35
  /** Stable, non-secret instance identifier; required for unambiguous multiple-table scopes. */
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractTable.js","sourceRoot":"","sources":["../../../src/component/table/AbstractTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractTable.js","sourceRoot":"","sources":["../../../src/component/table/AbstractTable.tsx"],"names":[],"mappings":"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"}
@@ -11,28 +11,5 @@ interface IPaginationActionsProps {
11
11
  toolbarElementKey?: React.Key | null;
12
12
  toolbarElementType?: unknown;
13
13
  }
14
- export type PneTablePaginationActionsLayout = 'inline' | 'toolbar-stacked' | 'pagination-stacked';
15
- type ResolvePaginationActionsLayoutParams = {
16
- availableWidth: number;
17
- hasToolbar: boolean;
18
- navigationMinimumWidth: number;
19
- navigationPreferredWidth: number;
20
- pageSizesWidth: number;
21
- toolbarPreferredWidth: number;
22
- /**
23
- * Layout currently rendered. Unstacking costs {@link TABLE_LAYOUT_HYSTERESIS}
24
- * extra width so a height change that toggles the document scrollbar cannot
25
- * push the band back and forth every frame.
26
- */
27
- currentLayout?: PneTablePaginationActionsLayout;
28
- };
29
- /**
30
- * Chooses the smallest layout that keeps each control group on an intentional row.
31
- * Widths are the single-row widths the groups would take if nothing constrained
32
- * them, so consumers are not tied to a viewport breakpoint or to a particular set
33
- * of view labels/page sizes, and the choice never depends on the layout that was
34
- * in place when the measurement was taken.
35
- */
36
- export declare const resolvePneTablePaginationActionsLayout: ({ availableWidth, hasToolbar, navigationMinimumWidth, navigationPreferredWidth, pageSizesWidth, toolbarPreferredWidth, currentLayout, }: ResolvePaginationActionsLayoutParams) => PneTablePaginationActionsLayout;
37
14
  declare const PneTablePaginationActions: (props: IPaginationActionsProps) => React.JSX.Element;
38
15
  export default PneTablePaginationActions;