@12-apps/ui 6.41.2 → 6.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/components/data-display/DataGrid/DataGrid.body.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.cells.js +1 -1
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -3
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +6 -6
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +7 -7
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +5 -5
- package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +1 -1
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +7 -7
- package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +2 -2
- package/dist/_internal/components/data-display/Lightbox/LightboxCurrentMedia.js +3 -2
- package/dist/_internal/components/data-display/Lightbox/LightboxMedia.js +2 -1
- package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +3 -3
- package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +2 -1
- package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.js +2 -2
- package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.views.js +1 -1
- package/dist/_internal/components/data-display/index.js +12 -12
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +1 -1
- package/dist/_internal/components/feedback/index.js +2 -2
- package/dist/_internal/components/index.js +16 -16
- package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -2
- package/dist/_internal/components/layout/Dashboard/DashboardParts.js +1 -1
- package/dist/_internal/components/layout/index.js +2 -2
- package/dist/_internal/en-US.data-display.js +3 -1
- package/dist/_internal/en-US.feedback.js +1 -1
- package/dist/_internal/pt-BR.data-display.js +3 -1
- package/dist/_internal/pt-BR.feedback.js +1 -1
- package/dist/{chunk-K4L42FF6.js → chunk-24JOJJ2J.js} +3 -3
- package/dist/chunk-24JOJJ2J.js.map +1 -0
- package/dist/{chunk-LODMNSLR.js → chunk-3GYPZ5MI.js} +4 -3
- package/dist/chunk-3GYPZ5MI.js.map +1 -0
- package/dist/{chunk-HFVYWHJT.js → chunk-AP4LSXRK.js} +2 -2
- package/dist/{chunk-MEBQKYH4.js → chunk-BX7QWHKC.js} +2 -2
- package/dist/{chunk-UFNIS7KC.js → chunk-GGBFDHXE.js} +11 -8
- package/dist/chunk-GGBFDHXE.js.map +1 -0
- package/dist/{chunk-2XHIF3M3.js → chunk-GXQDWHPN.js} +25 -3
- package/dist/chunk-GXQDWHPN.js.map +1 -0
- package/dist/{chunk-F7JTIHV5.js → chunk-ICDAYOJ6.js} +6 -5
- package/dist/chunk-ICDAYOJ6.js.map +1 -0
- package/dist/{chunk-ASCUWG55.js → chunk-IOCY5G43.js} +8 -3
- package/dist/chunk-IOCY5G43.js.map +1 -0
- package/dist/{chunk-3MEIGSDK.js → chunk-LTTYUSJ2.js} +5 -2
- package/dist/chunk-LTTYUSJ2.js.map +1 -0
- package/dist/{chunk-3AQD2EA6.js → chunk-M42ZOCO7.js} +10 -9
- package/dist/chunk-M42ZOCO7.js.map +1 -0
- package/dist/{chunk-GJFAI3J5.js → chunk-OOB3YWPX.js} +17 -10
- package/dist/chunk-OOB3YWPX.js.map +1 -0
- package/dist/{chunk-TZASFX6G.js → chunk-P53KRCKW.js} +4 -4
- package/dist/{chunk-2DWBJJK6.js → chunk-RBGUS7WO.js} +2 -2
- package/dist/{chunk-ZEYUSS3W.js → chunk-SQNQQTP7.js} +4 -3
- package/dist/chunk-SQNQQTP7.js.map +1 -0
- package/dist/chunk-SV4FYSDL.js +92 -0
- package/dist/chunk-SV4FYSDL.js.map +1 -0
- package/dist/{chunk-ASHXIAJO.js → chunk-UGH2DDST.js} +5 -2
- package/dist/chunk-UGH2DDST.js.map +1 -0
- package/dist/{chunk-WFAJTO2B.js → chunk-UVFZQCC7.js} +5 -9
- package/dist/chunk-UVFZQCC7.js.map +1 -0
- package/dist/{chunk-U5SH3VRJ.js → chunk-V5ZLUJV7.js} +25 -3
- package/dist/chunk-V5ZLUJV7.js.map +1 -0
- package/dist/{chunk-VCBV5JM7.js → chunk-VNOXUWK7.js} +2 -2
- package/dist/{chunk-IVJKILIX.js → chunk-VZ4VAQX3.js} +2 -2
- package/dist/{chunk-5QAJ3Y5F.js → chunk-XQWUVQ2F.js} +2 -2
- package/dist/{chunk-H5ZTIELC.js → chunk-ZFXTRPQO.js} +5 -4
- package/dist/chunk-ZFXTRPQO.js.map +1 -0
- package/dist/{chunk-UT73NGRS.js → chunk-ZSTUKSTJ.js} +2 -2
- package/dist/data-display/DataGrid.js +3 -3
- package/dist/data-display/DataViews.js +7 -7
- package/dist/data-display/Lightbox.js +7 -7
- package/dist/data-display/TimingDiagram.js +2 -2
- package/dist/en-US.js +4 -2
- package/dist/feedback/TutorialOverlay.js +2 -2
- package/dist/layout/Dashboard.js +2 -2
- package/dist/locales.js +8 -4
- package/dist/locales.js.map +1 -1
- package/dist/pt-BR.js +4 -2
- package/dist/types/components/data-display/DataGrid/DataGrid.body.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.cells.d.ts +3 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.cells.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.d.ts +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts +12 -2
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +8 -2
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/LightboxMedia.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/LightboxThumbnails.d.ts.map +1 -1
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.d.ts.map +1 -1
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts +2 -0
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts.map +1 -1
- package/dist/types/components/layout/Dashboard/Dashboard.d.ts +1 -1
- package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts +22 -12
- package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts.map +1 -1
- package/dist/types/components/layout/Dashboard/DashboardParts.d.ts +1 -1
- package/dist/types/components/layout/Dashboard/DashboardParts.d.ts.map +1 -1
- package/dist/types/copy/data-display.d.ts +40 -1
- package/dist/types/copy/data-display.d.ts.map +1 -1
- package/dist/types/copy/feedback.d.ts +7 -1
- package/dist/types/copy/feedback.d.ts.map +1 -1
- package/dist/types/en-US.data-display.d.ts +2 -1
- package/dist/types/en-US.data-display.d.ts.map +1 -1
- package/dist/types/en-US.feedback.d.ts.map +1 -1
- package/dist/types/locales.d.ts +2 -1
- package/dist/types/locales.d.ts.map +1 -1
- package/dist/types/pt-BR.data-display.d.ts +2 -1
- package/dist/types/pt-BR.data-display.d.ts.map +1 -1
- package/dist/types/pt-BR.feedback.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/data-display/DataGrid/DataGrid.body.tsx +2 -1
- package/src/components/data-display/DataGrid/DataGrid.cells.tsx +7 -4
- package/src/components/data-display/DataGrid/DataGrid.tsx +2 -1
- package/src/components/data-display/DataGrid/DataGrid.types.ts +13 -2
- package/src/components/data-display/DataViews/data-views-copy.ts +8 -2
- package/src/components/data-display/DataViews/data-views-grid-bodies.tsx +1 -0
- package/src/components/data-display/Lightbox/Lightbox.tsx +8 -2
- package/src/components/data-display/Lightbox/LightboxMedia.tsx +5 -2
- package/src/components/data-display/Lightbox/LightboxThumbnails.tsx +7 -3
- package/src/components/data-display/TimingDiagram/TimingDiagram.tsx +10 -7
- package/src/components/data-display/TimingDiagram/TimingDiagram.views.tsx +6 -2
- package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +2 -2
- package/src/components/layout/Dashboard/Dashboard.types.ts +22 -12
- package/src/components/layout/Dashboard/DashboardParts.tsx +10 -7
- package/src/copy/data-display.ts +41 -1
- package/src/copy/feedback.ts +7 -1
- package/src/en-US.data-display.ts +23 -0
- package/src/en-US.feedback.ts +3 -0
- package/src/locales.ts +2 -0
- package/src/pt-BR.data-display.ts +23 -0
- package/src/pt-BR.feedback.ts +3 -0
- package/dist/chunk-2XHIF3M3.js.map +0 -1
- package/dist/chunk-3AQD2EA6.js.map +0 -1
- package/dist/chunk-3MEIGSDK.js.map +0 -1
- package/dist/chunk-ASCUWG55.js.map +0 -1
- package/dist/chunk-ASHXIAJO.js.map +0 -1
- package/dist/chunk-BAFDSAWY.js +0 -86
- package/dist/chunk-BAFDSAWY.js.map +0 -1
- package/dist/chunk-F7JTIHV5.js.map +0 -1
- package/dist/chunk-GJFAI3J5.js.map +0 -1
- package/dist/chunk-H5ZTIELC.js.map +0 -1
- package/dist/chunk-K4L42FF6.js.map +0 -1
- package/dist/chunk-LODMNSLR.js.map +0 -1
- package/dist/chunk-U5SH3VRJ.js.map +0 -1
- package/dist/chunk-UFNIS7KC.js.map +0 -1
- package/dist/chunk-WFAJTO2B.js.map +0 -1
- package/dist/chunk-ZEYUSS3W.js.map +0 -1
- /package/dist/{chunk-HFVYWHJT.js.map → chunk-AP4LSXRK.js.map} +0 -0
- /package/dist/{chunk-MEBQKYH4.js.map → chunk-BX7QWHKC.js.map} +0 -0
- /package/dist/{chunk-TZASFX6G.js.map → chunk-P53KRCKW.js.map} +0 -0
- /package/dist/{chunk-2DWBJJK6.js.map → chunk-RBGUS7WO.js.map} +0 -0
- /package/dist/{chunk-VCBV5JM7.js.map → chunk-VNOXUWK7.js.map} +0 -0
- /package/dist/{chunk-IVJKILIX.js.map → chunk-VZ4VAQX3.js.map} +0 -0
- /package/dist/{chunk-5QAJ3Y5F.js.map → chunk-XQWUVQ2F.js.map} +0 -0
- /package/dist/{chunk-UT73NGRS.js.map → chunk-ZSTUKSTJ.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GridBody,
|
|
3
3
|
GridHeader
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZFXTRPQO.js";
|
|
5
5
|
import {
|
|
6
6
|
DataGridEmpty,
|
|
7
7
|
DataGridError,
|
|
@@ -30,7 +30,7 @@ function resolveChrome(props) {
|
|
|
30
30
|
},
|
|
31
31
|
placeholder: {
|
|
32
32
|
dataTestId,
|
|
33
|
-
ariaLabel: props.ariaLabel ??
|
|
33
|
+
ariaLabel: props.ariaLabel ?? props.copy.gridLabel,
|
|
34
34
|
className,
|
|
35
35
|
style,
|
|
36
36
|
// Only the DOM-safe leftovers reach the element: every grid-specific prop
|
|
@@ -80,6 +80,7 @@ var DataGrid = (props) => {
|
|
|
80
80
|
);
|
|
81
81
|
};
|
|
82
82
|
var GRID_ONLY_PROPS = [
|
|
83
|
+
"copy",
|
|
83
84
|
"rows",
|
|
84
85
|
"columns",
|
|
85
86
|
"getRowId",
|
|
@@ -117,4 +118,4 @@ export {
|
|
|
117
118
|
DataGrid,
|
|
118
119
|
GRID_ONLY_PROPS
|
|
119
120
|
};
|
|
120
|
-
//# sourceMappingURL=chunk-
|
|
121
|
+
//# sourceMappingURL=chunk-SQNQQTP7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/DataGrid/DataGrid.tsx"],"sourcesContent":["/**\n * `DataGrid` — the shell.\n *\n * Everything that is not \"which of the four renders is this, and what wraps the\n * table\" lives beside it: the state in `DataGrid.model.ts`, the client-mode row\n * pipeline in `DataGrid.rows.ts`, the cells and rows in `DataGrid.cells.tsx`,\n * the head/body in `DataGrid.body.tsx`, and the loading/error/empty renders in\n * `DataGrid.states.tsx`.\n *\n * All FOUR renders carry the caller's `data-testid`. It used to be applied only\n * on the populated one, so a grid whose first paint had no rows could not be\n * found by a test at all — see `DataGrid.states.tsx` for the full story.\n */\nimport Paper from '@mui/material/Paper/index.js';\nimport Table from '@mui/material/Table/index.js';\nimport TableContainer from '@mui/material/TableContainer/index.js';\nimport type React from 'react';\n\nimport { GridBody, GridHeader } from './DataGrid.body';\nimport { useDataGridModel } from './DataGrid.model';\nimport { DataGridEmpty, DataGridError, DataGridLoading } from './DataGrid.states';\nimport type { DataGridProps } from './DataGrid.types';\n\n/**\n * The chrome every render needs, with the defaults resolved ONCE.\n *\n * Extracted from the component body because a dozen destructuring defaults are\n * a dozen branches: the gate counted them, correctly, as complexity the render\n * did not need to carry.\n */\nfunction resolveChrome<T extends Record<string, unknown>>(props: DataGridProps<T>): {\n dataAttrs: Record<string, unknown>;\n placeholder: {\n dataTestId?: string;\n ariaLabel: string;\n className?: string;\n style?: React.CSSProperties;\n htmlProps: React.HTMLAttributes<HTMLElement>;\n };\n} {\n const { className, style, 'data-testid': dataTestId, ...rest } = props;\n const stickyHeader = props.stickyHeader ?? true;\n return {\n dataAttrs: {\n 'data-ui': 'datagrid',\n 'data-density': props.density ?? 'comfortable',\n 'data-size-mode': props.sizeMode ?? 'auto',\n 'data-virtual-rows': props.virtualizeRows ?? true,\n 'data-virtual-cols': props.virtualizeColumns ?? false,\n 'data-sticky-header': stickyHeader,\n },\n placeholder: {\n dataTestId,\n ariaLabel: props.ariaLabel ?? props.copy.gridLabel,\n className,\n style,\n // Only the DOM-safe leftovers reach the element: every grid-specific prop\n // is named in `GRID_ONLY_PROPS`, so this cannot smuggle `rows` onto a div.\n htmlProps: omitGridProps(rest as Record<string, unknown>),\n },\n };\n}\n\nexport const DataGrid = <T extends Record<string, unknown> = Record<string, unknown>>(\n props: DataGridProps<T>,\n): React.JSX.Element => {\n const model = useDataGridModel(props);\n const { dataAttrs, placeholder } = resolveChrome(props);\n\n if (props.loading) return <DataGridLoading {...placeholder} />;\n if (props.error) return <DataGridError {...placeholder} error={props.error} />;\n if (model.processedRows.length === 0) {\n return <DataGridEmpty {...placeholder} emptyState={props.emptyState} emptyText={props.emptyText} />;\n }\n\n const leadingColumns = (props.selection?.mode ?? 'none') !== 'none' ? 1 : 0;\n const totalColumns =\n model.visibleColumns.length + leadingColumns + (props.expansion ? 1 : 0);\n const section = { model, props, totalColumns };\n\n return (\n <Paper\n ref={model.containerRef}\n {...dataAttrs}\n data-testid={placeholder.dataTestId}\n className={placeholder.className}\n style={placeholder.style}\n role=\"grid\"\n aria-label={placeholder.ariaLabel}\n aria-description={props.ariaDescription}\n aria-rowcount={model.processedRows.length + 1} // +1 for the header row\n aria-colcount={totalColumns}\n sx={{ height: '100%', overflow: 'hidden', display: 'flex', flexDirection: 'column' }}\n {...placeholder.htmlProps}\n >\n <TableContainer\n sx={{ flex: 1, overflow: 'auto', position: 'relative' }}\n onScroll={model.onScroll}\n >\n <Table stickyHeader={props.stickyHeader ?? true}>\n <GridHeader {...section} />\n <GridBody {...section} />\n </Table>\n </TableContainer>\n </Paper>\n );\n};\n\n/**\n * The grid props that are NOT HTML attributes.\n *\n * `DataGridProps` extends `HTMLAttributes`, so the rest-spread carries the\n * grid's own configuration too. React would warn (or worse, serialize an array\n * of rows into an attribute) if any of it reached the DOM.\n *\n * Exported so a test can render a grid carrying every name on it and assert\n * none reaches the DOM — the check that would have caught `emptyText` missing.\n */\nexport const GRID_ONLY_PROPS = [\n 'copy',\n 'rows',\n 'columns',\n 'getRowId',\n 'sizeMode',\n 'density',\n 'rowHeight',\n 'headerHeight',\n 'footerHeight',\n 'selection',\n 'pagination',\n 'sorting',\n 'filtering',\n 'expansion',\n 'editing',\n 'virtualizeRows',\n 'virtualizeColumns',\n 'stickyHeader',\n 'stickyFooter',\n 'loading',\n 'error',\n 'emptyState',\n 'emptyText',\n 'onRequestData',\n 'ariaLabel',\n 'ariaDescription',\n] as const;\n\nfunction omitGridProps(rest: Record<string, unknown>): React.HTMLAttributes<HTMLElement> {\n const html: Record<string, unknown> = { ...rest };\n for (const key of GRID_ONLY_PROPS) delete html[key];\n return html as React.HTMLAttributes<HTMLElement>;\n}\n\nDataGrid.displayName = 'DataGrid';\n"],"mappings":";;;;;;;;;;;;;;AAaA,OAAO,WAAW;AAClB,OAAO,WAAW;AAClB,OAAO,oBAAoB;AAsDC,cA8BpB,YA9BoB;AAvC5B,SAAS,cAAiD,OASxD;AACA,QAAM,EAAE,WAAW,OAAO,eAAe,YAAY,GAAG,KAAK,IAAI;AACjE,QAAM,eAAe,MAAM,gBAAgB;AAC3C,SAAO;AAAA,IACL,WAAW;AAAA,MACT,WAAW;AAAA,MACX,gBAAgB,MAAM,WAAW;AAAA,MACjC,kBAAkB,MAAM,YAAY;AAAA,MACpC,qBAAqB,MAAM,kBAAkB;AAAA,MAC7C,qBAAqB,MAAM,qBAAqB;AAAA,MAChD,sBAAsB;AAAA,IACxB;AAAA,IACA,aAAa;AAAA,MACX;AAAA,MACA,WAAW,MAAM,aAAa,MAAM,KAAK;AAAA,MACzC;AAAA,MACA;AAAA;AAAA;AAAA,MAGA,WAAW,cAAc,IAA+B;AAAA,IAC1D;AAAA,EACF;AACF;AAEO,IAAM,WAAW,CACtB,UACsB;AACtB,QAAM,QAAQ,iBAAiB,KAAK;AACpC,QAAM,EAAE,WAAW,YAAY,IAAI,cAAc,KAAK;AAEtD,MAAI,MAAM,QAAS,QAAO,oBAAC,mBAAiB,GAAG,aAAa;AAC5D,MAAI,MAAM,MAAO,QAAO,oBAAC,iBAAe,GAAG,aAAa,OAAO,MAAM,OAAO;AAC5E,MAAI,MAAM,cAAc,WAAW,GAAG;AACpC,WAAO,oBAAC,iBAAe,GAAG,aAAa,YAAY,MAAM,YAAY,WAAW,MAAM,WAAW;AAAA,EACnG;AAEA,QAAM,kBAAkB,MAAM,WAAW,QAAQ,YAAY,SAAS,IAAI;AAC1E,QAAM,eACJ,MAAM,eAAe,SAAS,kBAAkB,MAAM,YAAY,IAAI;AACxE,QAAM,UAAU,EAAE,OAAO,OAAO,aAAa;AAE7C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,MAAM;AAAA,MACV,GAAG;AAAA,MACJ,eAAa,YAAY;AAAA,MACzB,WAAW,YAAY;AAAA,MACvB,OAAO,YAAY;AAAA,MACnB,MAAK;AAAA,MACL,cAAY,YAAY;AAAA,MACxB,oBAAkB,MAAM;AAAA,MACxB,iBAAe,MAAM,cAAc,SAAS;AAAA,MAC5C,iBAAe;AAAA,MACf,IAAI,EAAE,QAAQ,QAAQ,UAAU,UAAU,SAAS,QAAQ,eAAe,SAAS;AAAA,MAClF,GAAG,YAAY;AAAA,MAEhB;AAAA,QAAC;AAAA;AAAA,UACC,IAAI,EAAE,MAAM,GAAG,UAAU,QAAQ,UAAU,WAAW;AAAA,UACtD,UAAU,MAAM;AAAA,UAEhB,+BAAC,SAAM,cAAc,MAAM,gBAAgB,MACzC;AAAA,gCAAC,cAAY,GAAG,SAAS;AAAA,YACzB,oBAAC,YAAU,GAAG,SAAS;AAAA,aACzB;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AAYO,IAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,cAAc,MAAkE;AACvF,QAAM,OAAgC,EAAE,GAAG,KAAK;AAChD,aAAW,OAAO,gBAAiB,QAAO,KAAK,GAAG;AAClD,SAAO;AACT;AAEA,SAAS,cAAc;","names":[]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import {
|
|
2
|
+
thumbnailStripSx
|
|
3
|
+
} from "./chunk-3KA6MYIR.js";
|
|
4
|
+
import {
|
|
5
|
+
useLightboxCopy
|
|
6
|
+
} from "./chunk-TEQYTEM2.js";
|
|
7
|
+
import {
|
|
8
|
+
onMedia,
|
|
9
|
+
sheen
|
|
10
|
+
} from "./chunk-FQ6UW7IY.js";
|
|
11
|
+
import {
|
|
12
|
+
rem,
|
|
13
|
+
sxRem
|
|
14
|
+
} from "./chunk-YKCAJ2TN.js";
|
|
15
|
+
|
|
16
|
+
// src/components/data-display/Lightbox/LightboxThumbnails.tsx
|
|
17
|
+
import PlayIcon from "@mui/icons-material/PlayArrow";
|
|
18
|
+
import Box from "@mui/material/Box/index.js";
|
|
19
|
+
import { jsx } from "react/jsx-runtime";
|
|
20
|
+
var THUMB = { widthPx: 60, heightPx: 40 };
|
|
21
|
+
var frame = (theme, color) => `${rem(theme, 2)} solid ${color}`;
|
|
22
|
+
var VideoThumbnail = () => /* @__PURE__ */ jsx(
|
|
23
|
+
Box,
|
|
24
|
+
{
|
|
25
|
+
sx: {
|
|
26
|
+
width: "100%",
|
|
27
|
+
height: "100%",
|
|
28
|
+
background: (theme) => sheen(theme, 0.1),
|
|
29
|
+
display: "flex",
|
|
30
|
+
alignItems: "center",
|
|
31
|
+
justifyContent: "center"
|
|
32
|
+
},
|
|
33
|
+
children: /* @__PURE__ */ jsx(PlayIcon, { sx: { color: onMedia, fontSize: sxRem(16) } })
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
var LightboxThumbnails = ({
|
|
37
|
+
items,
|
|
38
|
+
currentIndex,
|
|
39
|
+
testId,
|
|
40
|
+
onSelect
|
|
41
|
+
}) => {
|
|
42
|
+
const copy = useLightboxCopy();
|
|
43
|
+
return /* @__PURE__ */ jsx(
|
|
44
|
+
Box,
|
|
45
|
+
{
|
|
46
|
+
sx: {
|
|
47
|
+
...thumbnailStripSx,
|
|
48
|
+
position: "absolute",
|
|
49
|
+
bottom: sxRem(16),
|
|
50
|
+
left: "50%",
|
|
51
|
+
transform: "translateX(-50%)",
|
|
52
|
+
display: "flex",
|
|
53
|
+
gap: 1,
|
|
54
|
+
maxWidth: "90vw",
|
|
55
|
+
overflowX: "auto",
|
|
56
|
+
padding: 1
|
|
57
|
+
},
|
|
58
|
+
"data-testid": testId("thumbnails"),
|
|
59
|
+
children: items.map((item, index) => /* @__PURE__ */ jsx(
|
|
60
|
+
Box,
|
|
61
|
+
{
|
|
62
|
+
onClick: () => onSelect(index),
|
|
63
|
+
sx: {
|
|
64
|
+
width: sxRem(THUMB.widthPx),
|
|
65
|
+
height: sxRem(THUMB.heightPx),
|
|
66
|
+
cursor: "pointer",
|
|
67
|
+
border: (theme) => frame(theme, currentIndex === index ? onMedia(theme) : "transparent"),
|
|
68
|
+
borderRadius: 0.5,
|
|
69
|
+
overflow: "hidden",
|
|
70
|
+
flexShrink: 0,
|
|
71
|
+
"&:hover": { border: (theme) => frame(theme, sheen(theme, 0.7)) }
|
|
72
|
+
},
|
|
73
|
+
"data-testid": testId(`thumbnail-${index}`),
|
|
74
|
+
children: item.type === "video" ? /* @__PURE__ */ jsx(VideoThumbnail, {}) : /* @__PURE__ */ jsx(
|
|
75
|
+
"img",
|
|
76
|
+
{
|
|
77
|
+
src: item.src,
|
|
78
|
+
alt: item.alt || copy.thumbnailFallback(index + 1),
|
|
79
|
+
style: { width: "100%", height: "100%", objectFit: "cover" }
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
},
|
|
83
|
+
`${item.src}-${index}`
|
|
84
|
+
))
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export {
|
|
90
|
+
LightboxThumbnails
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=chunk-SV4FYSDL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/Lightbox/LightboxThumbnails.tsx"],"sourcesContent":["import PlayIcon from '@mui/icons-material/PlayArrow';\nimport Box from '@mui/material/Box/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { thumbnailStripSx } from './Lightbox.constants';\nimport { useLightboxCopy } from './lightbox-copy-context';\nimport type { LightboxItem } from './Lightbox.types';\nimport { onMedia, sheen } from '../../../tokens/ink';\nimport { rem, sxRem } from '../../../tokens/relative';\n\n/** One filmstrip frame, in design px. */\nconst THUMB = { widthPx: 60, heightPx: 40 } as const;\n\nconst frame = (theme: Theme, color: string): string => `${rem(theme, 2)} solid ${color}`;\n\nconst VideoThumbnail: FC = () => (\n <Box\n sx={{\n width: '100%',\n height: '100%',\n background: (theme: Theme) => sheen(theme, 0.1),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <PlayIcon sx={{ color: onMedia, fontSize: sxRem(16) }} />\n </Box>\n);\n\nexport interface LightboxThumbnailsProps {\n items: LightboxItem[];\n currentIndex: number;\n testId: (suffix: string) => string;\n onSelect: (index: number) => void;\n}\n\nexport const LightboxThumbnails: FC<LightboxThumbnailsProps> = ({\n items,\n currentIndex,\n testId,\n onSelect,\n}) => {\n const copy = useLightboxCopy();\n return (\n <Box\n sx={{\n ...thumbnailStripSx,\n position: 'absolute',\n bottom: sxRem(16),\n left: '50%',\n transform: 'translateX(-50%)',\n display: 'flex',\n gap: 1,\n maxWidth: '90vw',\n overflowX: 'auto',\n padding: 1,\n }}\n data-testid={testId('thumbnails')}\n >\n {items.map((item, index) => (\n <Box\n key={`${item.src}-${index}`}\n onClick={() => onSelect(index)}\n sx={{\n width: sxRem(THUMB.widthPx),\n height: sxRem(THUMB.heightPx),\n cursor: 'pointer',\n border: (theme: Theme) => frame(theme, currentIndex === index ? onMedia(theme) : 'transparent'),\n borderRadius: 0.5,\n overflow: 'hidden',\n flexShrink: 0,\n '&:hover': { border: (theme: Theme) => frame(theme, sheen(theme, 0.7)) },\n }}\n data-testid={testId(`thumbnail-${index}`)}\n >\n {item.type === 'video' ? (\n <VideoThumbnail />\n ) : (\n <img\n src={item.src}\n alt={item.alt || copy.thumbnailFallback(index + 1)}\n style={{ width: '100%', height: '100%', objectFit: 'cover' }}\n />\n )}\n </Box>\n ))}\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,cAAc;AACrB,OAAO,SAAS;AA2BZ;AAfJ,IAAM,QAAQ,EAAE,SAAS,IAAI,UAAU,GAAG;AAE1C,IAAM,QAAQ,CAAC,OAAc,UAA0B,GAAG,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK;AAEtF,IAAM,iBAAqB,MACzB;AAAA,EAAC;AAAA;AAAA,IACC,IAAI;AAAA,MACF,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY,CAAC,UAAiB,MAAM,OAAO,GAAG;AAAA,MAC9C,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,IAClB;AAAA,IAEA,8BAAC,YAAS,IAAI,EAAE,OAAO,SAAS,UAAU,MAAM,EAAE,EAAE,GAAG;AAAA;AACzD;AAUK,IAAM,qBAAkD,CAAC;AAAA,EAC9D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,OAAO,gBAAgB;AAC7B,SACA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,QACF,GAAG;AAAA,QACH,UAAU;AAAA,QACV,QAAQ,MAAM,EAAE;AAAA,QAChB,MAAM;AAAA,QACN,WAAW;AAAA,QACX,SAAS;AAAA,QACT,KAAK;AAAA,QACL,UAAU;AAAA,QACV,WAAW;AAAA,QACX,SAAS;AAAA,MACX;AAAA,MACA,eAAa,OAAO,YAAY;AAAA,MAE/B,gBAAM,IAAI,CAAC,MAAM,UAChB;AAAA,QAAC;AAAA;AAAA,UAEC,SAAS,MAAM,SAAS,KAAK;AAAA,UAC7B,IAAI;AAAA,YACF,OAAO,MAAM,MAAM,OAAO;AAAA,YAC1B,QAAQ,MAAM,MAAM,QAAQ;AAAA,YAC5B,QAAQ;AAAA,YACR,QAAQ,CAAC,UAAiB,MAAM,OAAO,iBAAiB,QAAQ,QAAQ,KAAK,IAAI,aAAa;AAAA,YAC9F,cAAc;AAAA,YACd,UAAU;AAAA,YACV,YAAY;AAAA,YACZ,WAAW,EAAE,QAAQ,CAAC,UAAiB,MAAM,OAAO,MAAM,OAAO,GAAG,CAAC,EAAE;AAAA,UACzE;AAAA,UACA,eAAa,OAAO,aAAa,KAAK,EAAE;AAAA,UAEvC,eAAK,SAAS,UACb,oBAAC,kBAAe,IAEhB;AAAA,YAAC;AAAA;AAAA,cACC,KAAK,KAAK;AAAA,cACV,KAAK,KAAK,OAAO,KAAK,kBAAkB,QAAQ,CAAC;AAAA,cACjD,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,QAAQ;AAAA;AAAA,UAC7D;AAAA;AAAA,QArBG,GAAG,KAAK,GAAG,IAAI,KAAK;AAAA,MAuB3B,CACD;AAAA;AAAA,EACH;AAEF;","names":[]}
|
|
@@ -3,7 +3,10 @@ var EN_US_TUTORIAL_COPY = {
|
|
|
3
3
|
skip: "Skip",
|
|
4
4
|
previous: "Back",
|
|
5
5
|
next: "Next",
|
|
6
|
-
restart: "Start over"
|
|
6
|
+
restart: "Start over",
|
|
7
|
+
complete: "Complete",
|
|
8
|
+
finish: "Finish",
|
|
9
|
+
requiresAction: "Complete the required action first"
|
|
7
10
|
};
|
|
8
11
|
var EN_US_CHROME_COPY = {
|
|
9
12
|
dismissToast: "Dismiss",
|
|
@@ -85,4 +88,4 @@ export {
|
|
|
85
88
|
EN_US_CHROME_COPY,
|
|
86
89
|
EN_US_NOTIFICATION_UNBLOCK_COPY
|
|
87
90
|
};
|
|
88
|
-
//# sourceMappingURL=chunk-
|
|
91
|
+
//# sourceMappingURL=chunk-UGH2DDST.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/en-US.feedback.ts"],"sourcesContent":["/**\n * The en-US pack for the feedback family. Split the same way\n * `pt-BR.feedback.ts` is — see `en-US.ts` for why.\n */\nimport type {\n ChromeCopy,\n NotificationUnblockCopy,\n TutorialCopy,\n} from './copy';\n\nexport const EN_US_TUTORIAL_COPY: TutorialCopy = {\n skip: \"Skip\",\n previous: \"Back\",\n next: \"Next\",\n restart: \"Start over\",\n complete: \"Complete\",\n finish: \"Finish\",\n requiresAction: \"Complete the required action first\",\n};\n\nexport const EN_US_CHROME_COPY: ChromeCopy = {\n dismissToast: \"Dismiss\",\n goBack: \"Back\",\n closePanel: \"Close\",\n closeTab: \"Close tab\",\n scrollRegion: \"Scrollable content\",\n scrollToTop: \"Back to top\",\n share: \"Share\",\n};\n\nconst EN_US_CHROMIUM_DESKTOP = [\n \"Click the icon to the left of the site's address.\",\n \"Open \\\"Site settings\\\".\",\n \"Under \\\"Notifications\\\", choose \\\"Allow\\\".\",\n \"Come back to this page and reload it.\",\n] as const;\n\nconst EN_US_CHROMIUM_ANDROID = [\n \"Tap the icon to the left of the site's address.\",\n \"Tap \\\"Permissions\\\".\",\n \"Tap \\\"Notifications\\\" and choose \\\"Allow\\\".\",\n \"Come back to this page and reload it.\",\n] as const;\n\nexport const EN_US_NOTIFICATION_UNBLOCK_COPY: NotificationUnblockCopy = {\n ios: [\n \"Open the iPhone's Settings.\",\n \"Tap \\\"Notifications\\\".\",\n \"Find this app in the list and turn on \\\"Allow Notifications\\\".\",\n ],\n chrome: { desktop: EN_US_CHROMIUM_DESKTOP, android: EN_US_CHROMIUM_ANDROID },\n edge: {\n desktop: [\n \"Click the lock to the left of the site's address.\",\n \"Open \\\"Permissions for this site\\\".\",\n \"Under \\\"Notifications\\\", choose \\\"Allow\\\".\",\n \"Come back to this page and reload it.\",\n ],\n android: EN_US_CHROMIUM_ANDROID,\n },\n firefox: {\n desktop: [\n \"Click the permissions icon to the left of the site's address.\",\n \"Next to \\\"Send notifications\\\", click the X to clear the block.\",\n \"Reload the page and turn notifications on again.\",\n ],\n android: [\n \"Open the browser menu and tap \\\"Settings\\\".\",\n \"Tap \\\"Site permissions\\\", then \\\"Notifications\\\".\",\n \"Find this site and choose \\\"Allow\\\".\",\n \"Come back to this page and reload it.\",\n ],\n },\n opera: { desktop: EN_US_CHROMIUM_DESKTOP, android: EN_US_CHROMIUM_ANDROID },\n safari: {\n desktop: [\n \"In the Safari menu, open \\\"Settings\\\".\",\n \"Go to the \\\"Websites\\\" tab and pick \\\"Notifications\\\" in the sidebar.\",\n \"Find this site and choose \\\"Allow\\\".\",\n \"Come back to this page and reload it.\",\n ],\n },\n samsung: {\n android: [\n \"Open the browser menu and tap \\\"Settings\\\".\",\n \"Tap \\\"Sites and downloads\\\", then \\\"Notifications\\\".\",\n \"Find this site and allow notifications.\",\n \"Come back to this page and reload it.\",\n ],\n },\n other: [\n \"Open the browser's settings.\",\n \"Look for site permissions, then \\\"Notifications\\\".\",\n \"Allow notifications for this site.\",\n \"Come back to this page and reload it.\",\n ],\n};\n"],"mappings":";AAUO,IAAM,sBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,SAAS;AAAA,EACT,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,gBAAgB;AAClB;AAEO,IAAM,oBAAgC;AAAA,EAC3C,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa;AAAA,EACb,OAAO;AACT;AAEA,IAAM,yBAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,yBAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,kCAA2D;AAAA,EACtE,KAAK;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,QAAQ,EAAE,SAAS,wBAAwB,SAAS,uBAAuB;AAAA,EAC3E,MAAM;AAAA,IACJ,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO,EAAE,SAAS,wBAAwB,SAAS,uBAAuB;AAAA,EAC1E,QAAQ;AAAA,IACN,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|
|
@@ -179,6 +179,7 @@ var StackedView = ({
|
|
|
179
179
|
phases,
|
|
180
180
|
percentages,
|
|
181
181
|
data,
|
|
182
|
+
copy,
|
|
182
183
|
animated,
|
|
183
184
|
showLabels,
|
|
184
185
|
showTooltips
|
|
@@ -205,10 +206,7 @@ var StackedView = ({
|
|
|
205
206
|
}) }),
|
|
206
207
|
/* @__PURE__ */ jsxs(Box, { sx: { display: "flex", justifyContent: "space-between", mt: 1 }, children: [
|
|
207
208
|
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "text.secondary", children: "0ms" }),
|
|
208
|
-
/* @__PURE__ */
|
|
209
|
-
"Total: ",
|
|
210
|
-
formatTime(data.total)
|
|
211
|
-
] })
|
|
209
|
+
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "text.secondary", fontWeight: "bold", children: copy.total(formatTime(data.total)) })
|
|
212
210
|
] })
|
|
213
211
|
] });
|
|
214
212
|
};
|
|
@@ -267,6 +265,7 @@ var HorizontalView = ({
|
|
|
267
265
|
phases,
|
|
268
266
|
percentages,
|
|
269
267
|
data,
|
|
268
|
+
copy,
|
|
270
269
|
animated
|
|
271
270
|
}) => {
|
|
272
271
|
const theme = useTheme();
|
|
@@ -287,10 +286,7 @@ var HorizontalView = ({
|
|
|
287
286
|
},
|
|
288
287
|
phase.key
|
|
289
288
|
)),
|
|
290
|
-
/* @__PURE__ */ jsx(Box, { sx: { mt: 2, pt: 2, borderTop: `1px solid ${alpha(theme.palette.divider, 0.2)}` }, children: /* @__PURE__ */
|
|
291
|
-
"Total Time: ",
|
|
292
|
-
formatTime(data.total)
|
|
293
|
-
] }) })
|
|
289
|
+
/* @__PURE__ */ jsx(Box, { sx: { mt: 2, pt: 2, borderTop: `1px solid ${alpha(theme.palette.divider, 0.2)}` }, children: /* @__PURE__ */ jsx(Typography, { variant: "body2", fontWeight: "bold", color: "primary", children: copy.totalTime(formatTime(data.total)) }) })
|
|
294
290
|
] });
|
|
295
291
|
};
|
|
296
292
|
|
|
@@ -301,4 +297,4 @@ export {
|
|
|
301
297
|
StackedView,
|
|
302
298
|
HorizontalView
|
|
303
299
|
};
|
|
304
|
-
//# sourceMappingURL=chunk-
|
|
300
|
+
//# sourceMappingURL=chunk-UVFZQCC7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/TimingDiagram/TimingDiagram.views.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Tooltip from '@mui/material/Tooltip/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, styled, useTheme } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport type { FC, ReactElement } from 'react';\nimport React from 'react';\n\nimport type { TimingData } from './TimingDiagram.types';\nimport type { TimingDiagramCopy } from '../../../copy';\nimport { onMedia, sheen, uiInk } from '../../../tokens/ink';\nimport { rem, rems } from '../../../tokens/relative';\n\nexport type PhaseKey = 'dns' | 'connect' | 'ssl' | 'request' | 'response';\n\n// Each phase's colour, from the theme's named timing set (`uiInk`).\nexport const phaseColors = (theme: Theme): Record<PhaseKey, string> => {\n const phases = uiInk(theme).timingPhases;\n return {\n dns: phases.dns,\n connect: phases.connect,\n ssl: phases.tls,\n request: phases.request,\n response: phases.response,\n };\n};\n\nexport interface Phase {\n key: string;\n label: string;\n value?: number;\n}\n\nexport interface TimingViewProps {\n phases: Phase[];\n percentages: Record<string, number>;\n data: TimingData;\n copy: TimingDiagramCopy;\n animated: boolean;\n showLabels: boolean;\n showTooltips: boolean;\n /** The waterfall's plot height in design px — drawn through `rem`. */\n plotHeightPx: number;\n}\n\nexport const formatTime = (ms: number): string => {\n if (ms < 1000) return `${ms}ms`;\n return `${(ms / 1000).toFixed(2)}s`;\n};\n\nconst colorOf = (theme: Theme, phase: Phase): string => phaseColors(theme)[phase.key as PhaseKey];\nconst widthOf = (percentages: Record<string, number>, phase: Phase): number =>\n percentages[phase.key] ?? 0;\n\n// Waterfall and stacked both offer the same hover explanation of a segment; only\n// whether tooltips are on at all varies.\nconst withTooltip = (\n phase: Phase,\n enabled: boolean,\n element: ReactElement,\n): ReactElement =>\n enabled ? (\n <Tooltip\n key={phase.key}\n title={`${phase.label}: ${formatTime(phase.value!)}`}\n placement=\"top\"\n role=\"tooltip\"\n aria-describedby={`tooltip-${phase.key}`}\n >\n {element}\n </Tooltip>\n ) : (\n element\n );\n\nconst WaterfallContainer = styled(Box)(({ theme }) => ({\n position: 'relative',\n width: '100%',\n marginTop: theme.spacing(2),\n}));\n\nconst WaterfallBar = styled(Box, {\n shouldForwardProp: (prop) =>\n !['phaseColor', 'offset', 'widthPct', 'animated'].includes(prop as string),\n})<{\n phaseColor: string;\n offset: number;\n widthPct: number;\n animated: boolean;\n}>(({ theme, phaseColor, offset, widthPct, animated }) => ({\n position: 'absolute',\n height: rem(theme, 32),\n left: `${offset}%`,\n width: `${widthPct}%`,\n background: `linear-gradient(90deg, ${phaseColor} 0%, ${alpha(phaseColor, 0.8)} 100%)`,\n borderRadius: theme.shape.borderRadius,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: theme.palette.getContrastText(phaseColor),\n fontSize: rem(theme, 12),\n fontWeight: 500,\n boxShadow: `${rems(theme, 0, 2, 8)} ${alpha(phaseColor, 0.3)}`,\n transition: animated ? 'all 0.5s ease' : 'none',\n animation: animated ? 'slideIn 0.5s ease' : 'none',\n '@keyframes slideIn': {\n from: {\n transform: `translateX(${rem(theme, -20)})`,\n opacity: 0,\n },\n to: {\n transform: 'translateX(0)',\n opacity: 1,\n },\n },\n '&:hover': {\n transform: `translateY(${rem(theme, -2)})`,\n boxShadow: `${rems(theme, 0, 4, 12)} ${alpha(phaseColor, 0.5)}`,\n zIndex: 10,\n },\n}));\n\nconst TimelineAxis = styled(Box)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n marginTop: theme.spacing(1),\n paddingTop: theme.spacing(1),\n borderTop: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n}));\n\nconst TimeLabel = styled(Typography)(({ theme }) => ({\n fontSize: rem(theme, 11.2),\n color: theme.palette.text.secondary,\n fontWeight: 500,\n}));\n\nexport const WaterfallView: FC<TimingViewProps> = ({\n phases,\n percentages,\n data,\n animated,\n showLabels,\n showTooltips,\n plotHeightPx,\n}) => {\n const theme = useTheme();\n // Each bar starts where the previous one ended, so the row reads as a timeline.\n let offset = 0;\n\n return (\n <WaterfallContainer style={{ height: rem(theme, plotHeightPx + 40) }} data-variant=\"waterfall\">\n {phases.map((phase, index) => {\n const width = widthOf(percentages, phase);\n const currentOffset = offset;\n offset += width;\n\n return withTooltip(\n phase,\n showTooltips,\n <WaterfallBar\n key={phase.key}\n data-testid={`timing-segment-${phase.key}`}\n phaseColor={colorOf(theme, phase)}\n offset={currentOffset}\n widthPct={width}\n animated={animated}\n data-animated={animated.toString()}\n style={{\n top: rem(theme, index * 8),\n width: `${width}%`,\n left: `${currentOffset}%`,\n }}\n >\n {showLabels && width > 10 && (\n <span data-testid=\"timing-label\">{formatTime(phase.value!)}</span>\n )}\n </WaterfallBar>,\n );\n })}\n <TimelineAxis style={{ marginTop: rem(theme, plotHeightPx) }}>\n <TimeLabel>0ms</TimeLabel>\n <TimeLabel>{formatTime(data.total / 2)}</TimeLabel>\n <TimeLabel>{formatTime(data.total)}</TimeLabel>\n </TimelineAxis>\n </WaterfallContainer>\n );\n};\n\nconst StackedBar = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'animated',\n})<{ animated: boolean }>(({ theme, animated }) => ({\n display: 'flex',\n width: '100%',\n height: rem(theme, 40),\n borderRadius: theme.shape.borderRadius,\n overflow: 'hidden',\n boxShadow: theme.shadows[2],\n ...(animated && {\n '& > div': {\n animation: 'expandWidth 0.8s ease',\n },\n '@keyframes expandWidth': {\n from: { width: 0 },\n to: { width: '100%' },\n },\n }),\n}));\n\nconst StackedSegment = styled(Box, {\n shouldForwardProp: (prop) => !['phaseColor', 'widthPct'].includes(prop as string),\n})<{ phaseColor: string; widthPct: number }>(({ theme, phaseColor, widthPct }) => ({\n width: `${widthPct}%`,\n background: `linear-gradient(135deg, ${phaseColor} 0%, ${alpha(phaseColor, 0.85)} 100%)`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: onMedia(theme),\n fontSize: rem(theme, 11.2),\n fontWeight: 600,\n position: 'relative',\n transition: 'all 0.3s ease',\n '&:hover': {\n filter: 'brightness(1.1)',\n zIndex: 1,\n },\n}));\n\nexport const StackedView: FC<TimingViewProps> = ({\n phases,\n percentages,\n data,\n copy,\n animated,\n showLabels,\n showTooltips,\n}) => {\n const theme = useTheme();\n return (\n <Box data-variant=\"stacked\">\n <StackedBar animated={animated} data-animated={animated.toString()}>\n {phases.map((phase) => {\n const width = widthOf(percentages, phase);\n\n return withTooltip(\n phase,\n showTooltips,\n <StackedSegment\n key={phase.key}\n data-testid={`timing-segment-${phase.key}`}\n phaseColor={colorOf(theme, phase)}\n widthPct={width}\n style={{ width: `${width}%` }}\n >\n {showLabels && width > 10 && (\n <span data-testid=\"timing-label\">{formatTime(phase.value!)}</span>\n )}\n </StackedSegment>,\n );\n })}\n </StackedBar>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', mt: 1 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n 0ms\n </Typography>\n <Typography variant=\"caption\" color=\"text.secondary\" fontWeight=\"bold\">\n {copy.total(formatTime(data.total))}\n </Typography>\n </Box>\n </Box>\n );\n};\n\nconst HorizontalBar = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1),\n marginTop: theme.spacing(2),\n}));\n\nconst HorizontalSegment = styled(Box, {\n shouldForwardProp: (prop) => !['phaseColor', 'widthPct', 'animated'].includes(prop as string),\n})<{\n phaseColor: string;\n widthPct: number;\n animated: boolean;\n}>(({ theme, phaseColor, animated }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(2),\n '& .label': {\n minWidth: rem(theme, 80),\n fontSize: rem(theme, 13.6),\n fontWeight: 500,\n color: theme.palette.text.secondary,\n },\n '& .bar': {\n flex: 1,\n height: rem(theme, 24),\n borderRadius: theme.shape.borderRadius,\n background: `linear-gradient(90deg, ${phaseColor} 0%, ${alpha(phaseColor, 0.7)} 100%)`,\n position: 'relative',\n overflow: 'hidden',\n boxShadow: `${rems(theme, 0, 2, 6)} ${alpha(phaseColor, 0.25)}`,\n ...(animated && {\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: `linear-gradient(90deg, transparent 0%, ${sheen(theme, 0.3)} 50%, transparent 100%)`,\n animation: 'shimmer 2s infinite',\n },\n '@keyframes shimmer': {\n from: { transform: 'translateX(-100%)' },\n to: { transform: 'translateX(100%)' },\n },\n }),\n },\n '& .value': {\n minWidth: rem(theme, 60),\n textAlign: 'right',\n fontSize: rem(theme, 13.6),\n fontWeight: 600,\n color: phaseColor,\n },\n}));\n\nexport const HorizontalView: FC<TimingViewProps> = ({\n phases,\n percentages,\n data,\n copy,\n animated,\n}) => {\n const theme = useTheme();\n\n return (\n <HorizontalBar data-variant=\"horizontal\">\n {phases.map((phase) => (\n <HorizontalSegment\n key={phase.key}\n data-testid={`timing-segment-${phase.key}`}\n phaseColor={colorOf(theme, phase)}\n widthPct={widthOf(percentages, phase)}\n animated={animated}\n data-animated={animated.toString()}\n >\n <Typography className=\"label\">{phase.label}</Typography>\n <Box className=\"bar\" style={{ width: `${percentages[phase.key]}%` }} />\n <Typography className=\"value\" data-testid=\"timing-label\">\n {formatTime(phase.value!)}\n </Typography>\n </HorizontalSegment>\n ))}\n <Box sx={{ mt: 2, pt: 2, borderTop: `1px solid ${alpha(theme.palette.divider, 0.2)}` }}>\n <Typography variant=\"body2\" fontWeight=\"bold\" color=\"primary\">\n {copy.totalTime(formatTime(data.total))}\n </Typography>\n </Box>\n </HorizontalBar>\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -16,7 +16,20 @@ var PT_BR_LIGHTBOX_COPY = {
|
|
|
16
16
|
zoomOut: "Afastar",
|
|
17
17
|
resetZoom: "Restaurar o zoom",
|
|
18
18
|
play: "Iniciar a apresenta\xE7\xE3o",
|
|
19
|
-
pause: "Pausar a apresenta\xE7\xE3o"
|
|
19
|
+
pause: "Pausar a apresenta\xE7\xE3o",
|
|
20
|
+
dialogLabel: "Galeria de imagens",
|
|
21
|
+
itemPosition: (index, total) => `Item ${index} de ${total}`,
|
|
22
|
+
videoFallback: (index, total) => `V\xEDdeo ${index} de ${total}`,
|
|
23
|
+
imageFallback: (index, total) => `Imagem ${index} de ${total}`,
|
|
24
|
+
thumbnailFallback: (index) => `Miniatura ${index}`
|
|
25
|
+
};
|
|
26
|
+
var PT_BR_DATA_GRID_COPY = {
|
|
27
|
+
sortBy: (header) => `Ordenar por ${header}`,
|
|
28
|
+
selectRow: (rowNumber) => `Selecionar linha ${rowNumber}`,
|
|
29
|
+
selectAllRows: "Selecionar todas as linhas",
|
|
30
|
+
expandRow: "Expandir linha",
|
|
31
|
+
collapseRow: "Recolher linha",
|
|
32
|
+
gridLabel: "Grade de dados"
|
|
20
33
|
};
|
|
21
34
|
var PT_BR_MAP_PREVIEW_COPY = {
|
|
22
35
|
zoomIn: "Aproximar",
|
|
@@ -32,7 +45,14 @@ var PT_BR_CAROUSEL_COPY = {
|
|
|
32
45
|
};
|
|
33
46
|
var PT_BR_TIMING_DIAGRAM_COPY = {
|
|
34
47
|
regionLabel: "Diagrama de tempos",
|
|
35
|
-
heading: "Tempo da requisi\xE7\xE3o"
|
|
48
|
+
heading: "Tempo da requisi\xE7\xE3o",
|
|
49
|
+
dns: "Busca de DNS",
|
|
50
|
+
connect: "Conex\xE3o",
|
|
51
|
+
ssl: "SSL/TLS",
|
|
52
|
+
request: "Requisi\xE7\xE3o",
|
|
53
|
+
response: "Resposta",
|
|
54
|
+
total: (formatted) => `Total: ${formatted}`,
|
|
55
|
+
totalTime: (formatted) => `Tempo total: ${formatted}`
|
|
36
56
|
};
|
|
37
57
|
var PT_BR_DATA_STATE_COPY = {
|
|
38
58
|
empty: "Nenhum dado por aqui",
|
|
@@ -141,6 +161,7 @@ var PT_BR_DATA_VIEWS_COPY = {
|
|
|
141
161
|
},
|
|
142
162
|
tableFilter: PT_BR_TABLE_FILTER_COPY,
|
|
143
163
|
grid: {
|
|
164
|
+
...PT_BR_DATA_GRID_COPY,
|
|
144
165
|
rowActions: "A\xE7\xF5es",
|
|
145
166
|
bulkActions: (selectedCount) => `A\xE7\xF5es (${selectedCount}) \u25BE`,
|
|
146
167
|
emptyFilteredTitle: "Nenhum resultado para esses filtros",
|
|
@@ -219,10 +240,11 @@ var PT_BR_DATA_VIEWS_COPY = {
|
|
|
219
240
|
|
|
220
241
|
export {
|
|
221
242
|
PT_BR_LIGHTBOX_COPY,
|
|
243
|
+
PT_BR_DATA_GRID_COPY,
|
|
222
244
|
PT_BR_MAP_PREVIEW_COPY,
|
|
223
245
|
PT_BR_CAROUSEL_COPY,
|
|
224
246
|
PT_BR_TIMING_DIAGRAM_COPY,
|
|
225
247
|
PT_BR_DATA_STATE_COPY,
|
|
226
248
|
PT_BR_DATA_VIEWS_COPY
|
|
227
249
|
};
|
|
228
|
-
//# sourceMappingURL=chunk-
|
|
250
|
+
//# sourceMappingURL=chunk-V5ZLUJV7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/pt-BR.data-display.ts"],"sourcesContent":["/**\n * The pt-BR pack for the data-display family. Split out of `pt-BR.ts`, which is a\n * barrel over this folder — see that file for why.\n */\nimport type { DataViewsCopy } from \"./components/data-display/DataViews/data-views-copy\";\nimport type {\n CarouselCopy,\n DataGridCopy,\n DataStateCopy,\n LightboxCopy,\n MapPreviewCopy,\n TimingDiagramCopy,\n} from './copy';\nimport { PT_BR_TABLE_FILTER_COPY } from './pt-BR.layout';\nimport {\n PT_BR_CATEGORY_SELECT_COPY,\n PT_BR_CONFIRM_ACTION_COPY,\n PT_BR_SAVED_VIEWS_LABELS,\n} from './pt-BR.shared';\n\nexport const PT_BR_LIGHTBOX_COPY: LightboxCopy = {\n close: \"Fechar\",\n previous: \"Anterior\",\n next: \"Próximo\",\n zoomIn: \"Aproximar\",\n zoomOut: \"Afastar\",\n resetZoom: \"Restaurar o zoom\",\n play: \"Iniciar a apresentação\",\n pause: \"Pausar a apresentação\",\n dialogLabel: \"Galeria de imagens\",\n itemPosition: (index, total) => `Item ${index} de ${total}`,\n videoFallback: (index, total) => `Vídeo ${index} de ${total}`,\n imageFallback: (index, total) => `Imagem ${index} de ${total}`,\n thumbnailFallback: (index) => `Miniatura ${index}`,\n};\n\nexport const PT_BR_DATA_GRID_COPY: DataGridCopy = {\n sortBy: (header) => `Ordenar por ${header}`,\n selectRow: (rowNumber) => `Selecionar linha ${rowNumber}`,\n selectAllRows: \"Selecionar todas as linhas\",\n expandRow: \"Expandir linha\",\n collapseRow: \"Recolher linha\",\n gridLabel: \"Grade de dados\",\n};\n\nexport const PT_BR_MAP_PREVIEW_COPY: MapPreviewCopy = {\n zoomIn: \"Aproximar\",\n zoomOut: \"Afastar\",\n center: \"Centralizar o mapa\",\n mapType: \"Trocar o tipo de mapa\",\n fullscreen: \"Tela cheia\",\n search: \"Buscar endereço\",\n};\n\nexport const PT_BR_CAROUSEL_COPY: CarouselCopy = {\n previous: \"Anterior\",\n next: \"Próximo\",\n};\n\nexport const PT_BR_TIMING_DIAGRAM_COPY: TimingDiagramCopy = {\n regionLabel: \"Diagrama de tempos\",\n heading: \"Tempo da requisição\",\n dns: \"Busca de DNS\",\n connect: \"Conexão\",\n ssl: \"SSL/TLS\",\n request: \"Requisição\",\n response: \"Resposta\",\n total: (formatted) => `Total: ${formatted}`,\n totalTime: (formatted) => `Tempo total: ${formatted}`,\n};\n\nexport const PT_BR_DATA_STATE_COPY: DataStateCopy = {\n empty: \"Nenhum dado por aqui\",\n loading: \"Carregando…\",\n endOfList: \"Não há mais itens para carregar\",\n dismissAlert: \"Fechar o aviso\",\n dismissBanner: \"Fechar a faixa\",\n};\n\nexport const PT_BR_DATA_VIEWS_COPY: DataViewsCopy = {\n savedViewsMenu: PT_BR_SAVED_VIEWS_LABELS,\n confirmAction: PT_BR_CONFIRM_ACTION_COPY,\n categorySelect: PT_BR_CATEGORY_SELECT_COPY,\n board: {\n countOnPage: (label, count) => `${label}: ${count} nesta página`,\n onThisPage: (count) => `${count} nesta página`,\n pageSum: (sum) => `Soma desta página: ${sum}`,\n emptyColumn: \"Nada nesta etapa\",\n pageScopeNote:\n \"As contagens e somas abaixo referem-se apenas aos itens desta página.\",\n },\n deleteView: {\n title: \"Excluir visão\",\n target: (viewName) => `Excluir \"${viewName}\"?`,\n sharedWarning: \"Esta visão está compartilhada — a equipe perderá o acesso a ela.\",\n rowsUnaffected: (entityLabel) =>\n `${entityLabel} não são afetados; apenas o recorte salvo é removido.`,\n confirm: \"Excluir visão\",\n cancel: \"Cancelar\",\n },\n manageViews: {\n title: \"Gerenciar visões\",\n empty: \"Nenhuma visão salva.\",\n edit: \"Editar\",\n defaultTag: \"Padrão\",\n otherUserTag: \"De outro usuário\",\n deleteTitle: \"Excluir a visão salva?\",\n deleteBody: \"Os filtros e colunas guardados nela são perdidos. Não é possível restaurar.\",\n deleteConfirm: \"Excluir\",\n },\n saveView: {\n sharedDescription: \"Qualquer pessoa da loja poderá abrir e usar esta visão.\",\n setDefaultTitle: \"Definir como padrão\",\n setDefaultDescription: \"Esta tela abre nesta visão em vez da Visão principal.\",\n previewHeading: \"O que esta visão guarda\",\n previewUnchanged: \"Nada foi alterado — esta visão ficará igual à Visão principal.\",\n sortRowLabel: \"Ordenação\",\n saveFailed: \"Não foi possível salvar a visão.\",\n titleEditing: \"Editar visão\",\n titleCreating: \"Salvar visão\",\n descriptionLabel: \"Descrição — opcional\",\n descriptionPlaceholder: \"Para que serve esta visão\",\n submitEditing: \"Salvar alterações\",\n submitCreating: \"Salvar visão\",\n nameLabel: \"Nome\",\n cancel: \"Cancelar\",\n pinnedTitle: \"Fixar na barra lateral\",\n pinnedDescription: \"Aparece como atalho no menu, abaixo desta tela.\",\n sharedTitle: \"Compartilhar com a equipe\",\n namePlaceholder: \"Ex.: Recusados no PIX desta semana\",\n previewFilters: \"Filtros\",\n previewHiddenColumns: \"Colunas ocultas\",\n },\n columns: {\n visibleCount: (visible, total) => `${visible} de ${total} visíveis`,\n reset: \"Padrão\",\n showAll: \"Mostrar todas\",\n dragHint: \"Arraste para reordenar as colunas.\",\n moveUp: (columnLabel) => `Mover ${columnLabel} para cima`,\n moveDown: (columnLabel) => `Mover ${columnLabel} para baixo`,\n },\n display: {\n sortTab: \"Ordenar\",\n columnsTab: \"Colunas\",\n panelTab: \"Exibição\",\n direction: \"Direção\",\n layoutHints: {\n table: \"Colunas comparáveis, boa para varrer números.\",\n list: \"Uma linha por item, com os dados principais.\",\n cards: \"Blocos maiores, bom para poucos itens.\",\n board: \"Colunas por etapa, para acompanhar o que está onde.\",\n },\n densityHeadings: {\n table: \"Altura das linhas\",\n list: \"Altura das linhas\",\n cards: \"Cards por linha\",\n board: \"Largura das colunas\",\n },\n densityLabels: {\n table: { compact: \"Baixa\", cozy: \"Média\", comfortable: \"Alta\" },\n list: { compact: \"Baixa\", cozy: \"Média\", comfortable: \"Alta\" },\n cards: { compact: \"Muitos\", cozy: \"Médio\", comfortable: \"Poucos\" },\n board: { compact: \"Estreita\", cozy: \"Média\", comfortable: \"Larga\" },\n },\n boardUnavailable: \"Esta tela não declara etapas, então não oferece quadro.\",\n densityUnavailableNarrow:\n \"Um card por linha nesta largura — a densidade volta em telas maiores.\",\n trigger: \"Exibir\",\n fieldHeading: \"Campo\",\n formatHeading: \"Formato\",\n cardZoom: \"Tamanho dos cards\",\n },\n export: {\n formats: {\n json: { label: \"JSON (.json)\", hint: \"Para integrações\" },\n },\n visibleColumns: (columnCount) => `${columnCount} colunas visíveis, na ordem atual`,\n trigger: \"Exportar\",\n triggerLabel: \"Exportar\",\n },\n tableFilter: PT_BR_TABLE_FILTER_COPY,\n grid: {\n ...PT_BR_DATA_GRID_COPY,\n rowActions: \"Ações\",\n bulkActions: (selectedCount) => `Ações (${selectedCount}) ▾`,\n emptyFilteredTitle: \"Nenhum resultado para esses filtros\",\n emptyFilteredHint: \"Ajuste ou remova os filtros.\",\n emptyFilteredAction: \"Limpar filtros\",\n },\n filters: {\n moreFilters: (count) => `Mais filtros: ${count} sem espaço na barra`,\n moreFiltersApplied: (count, appliedCount) =>\n `Mais filtros: ${count} sem espaço na barra, ${appliedCount} aplicado(s)`,\n moreTriggerLabel: \"Mais\",\n moreHeading: \"Mais filtros\",\n overflowNote: \"sem espaço na barra\",\n rangeEnd: \"Até\",\n rangeInvalid: \"O início precisa ser menor que o fim.\",\n rangeInclusiveNote: \"Ambas as datas entram no resultado.\",\n rangeStart: \"De\",\n dayMask: \"dd/mm/aaaa\",\n clearAllFilters: \"Limpar todos os filtros\",\n rangePresets: {\n hoje: \"Hoje\",\n ontem: \"Ontem\",\n semana: \"Esta semana\",\n mes: \"Este mês\",\n ano: \"Este ano\",\n },\n scopesLabel: \"Situação\",\n panelTitle: \"Filtros\",\n clear: \"Limpar\",\n clearAll: \"Limpar filtros\",\n clearRange: (label) => `Limpar ${label}`,\n allOption: \"Todas\",\n optionSearchPlaceholder: \"Buscar…\",\n optionsEmpty: \"Nenhum resultado\",\n optionsHeading: \"Opções\",\n },\n selection: {\n selectAllOnPage: \"Selecionar todos nesta página\",\n clearSelection: \"Limpar seleção\",\n selectAll: \"Selecionar tudo\",\n onThisPage: (count) => `${count} nesta página`,\n selectRow: \"Selecionar\",\n expandRow: \"Expandir detalhes\",\n collapseRow: \"Recolher detalhes\",\n },\n nav: {\n mainView: \"Visão principal\",\n defaultTag: \"Padrão\",\n viewOptions: (viewName) => `Opções de ${viewName}`,\n emptyHint: \"Nenhuma visão salva. Ajuste filtros, colunas ou ordenação e salve abaixo.\",\n setDefault: \"Definir como padrão\",\n deleteView: \"Excluir visão\",\n unsavedChanges: \"Alterações não salvas\",\n label: \"Visão\",\n update: \"Atualizar visão\",\n save: \"Salvar visão\",\n saveAs: \"Salvar como nova\",\n reset: \"Redefinir\",\n updateFailed: \"Não foi possível atualizar a visão\",\n dismissError: \"Fechar o aviso\",\n goBack: \"Voltar\",\n pageSize: \"Mostrar:\",\n saveFailed: \"Não foi possível salvar a alteração da visão.\",\n editView: \"Renomear e editar\",\n pinToSidebar: \"Fixar na barra lateral\",\n shareWithTeam: \"Compartilhar com a equipe\",\n },\n search: {\n placeholder: \"Buscar…\",\n allColumnsLabel: \"Buscar em todas as colunas\",\n keywordPlaceholder: \"Pressione Enter para filtrar\",\n open: \"Buscar\",\n close: \"Fechar busca\",\n clear: \"Limpar busca\",\n },\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TutorialStepBody
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-24JOJJ2J.js";
|
|
4
4
|
import {
|
|
5
5
|
useTutorialOverlay
|
|
6
6
|
} from "./chunk-34643ATX.js";
|
|
@@ -286,4 +286,4 @@ export {
|
|
|
286
286
|
TutorialOverlay,
|
|
287
287
|
TutorialOverlay_default
|
|
288
288
|
};
|
|
289
|
-
//# sourceMappingURL=chunk-
|
|
289
|
+
//# sourceMappingURL=chunk-VNOXUWK7.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
LightboxCloseButton,
|
|
4
4
|
LightboxNavButtons,
|
|
5
5
|
LightboxZoomControls
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-P53KRCKW.js";
|
|
7
7
|
|
|
8
8
|
// src/components/data-display/Lightbox/LightboxOverlay.tsx
|
|
9
9
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -60,4 +60,4 @@ var LightboxOverlay = ({
|
|
|
60
60
|
export {
|
|
61
61
|
LightboxOverlay
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-VZ4VAQX3.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
DashboardInfo,
|
|
7
7
|
DashboardSettings,
|
|
8
8
|
DashboardSpacer
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GGBFDHXE.js";
|
|
10
10
|
import {
|
|
11
11
|
DashboardContext,
|
|
12
12
|
useDashboardContext
|
|
@@ -210,4 +210,4 @@ export {
|
|
|
210
210
|
markDashboardSlot,
|
|
211
211
|
Dashboard
|
|
212
212
|
};
|
|
213
|
-
//# sourceMappingURL=chunk-
|
|
213
|
+
//# sourceMappingURL=chunk-XQWUVQ2F.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GridRow,
|
|
3
3
|
HeaderCell
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ICDAYOJ6.js";
|
|
5
5
|
import {
|
|
6
6
|
rem
|
|
7
7
|
} from "./chunk-YKCAJ2TN.js";
|
|
@@ -37,7 +37,7 @@ function HeaderControls({
|
|
|
37
37
|
onChange: (event) => model.setSelectedRowIds(
|
|
38
38
|
event.target.checked ? model.processedRows.map((row, index) => rowIdOf(props, row, index)) : []
|
|
39
39
|
),
|
|
40
|
-
inputProps: { "aria-label":
|
|
40
|
+
inputProps: { "aria-label": props.copy.selectAllRows }
|
|
41
41
|
}
|
|
42
42
|
) }),
|
|
43
43
|
expansion && /* @__PURE__ */ jsx(TableCell, { padding: "checkbox", sx: sticky })
|
|
@@ -64,7 +64,8 @@ function GridHeader(section) {
|
|
|
64
64
|
sortable: column.enableSort !== false && sortable,
|
|
65
65
|
stickyHeader,
|
|
66
66
|
headerHeight,
|
|
67
|
-
onSort: model.onSort
|
|
67
|
+
onSort: model.onSort,
|
|
68
|
+
copy: props.copy
|
|
68
69
|
},
|
|
69
70
|
column.id
|
|
70
71
|
))
|
|
@@ -117,4 +118,4 @@ export {
|
|
|
117
118
|
GridHeader,
|
|
118
119
|
GridBody
|
|
119
120
|
};
|
|
120
|
-
//# sourceMappingURL=chunk-
|
|
121
|
+
//# sourceMappingURL=chunk-ZFXTRPQO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/DataGrid/DataGrid.body.tsx"],"sourcesContent":["/**\n * The DataGrid's `<thead>` and `<tbody>`.\n *\n * Split from the shell so each stays inside the size budget and so the\n * virtualization spacers — which are pure layout, not data — sit next to the\n * rows they pad rather than in the middle of the component that owns the paper.\n */\nimport Checkbox from '@mui/material/Checkbox/index.js';\nimport TableBody from '@mui/material/TableBody/index.js';\nimport TableCell from '@mui/material/TableCell/index.js';\nimport TableHead from '@mui/material/TableHead/index.js';\nimport TableRow from '@mui/material/TableRow/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport type React from 'react';\n\nimport { rem } from '../../../tokens/relative';\n\nimport { GridRow, HeaderCell } from './DataGrid.cells';\nimport type { DataGridModel } from './DataGrid.model';\nimport type { DataGridProps } from './DataGrid.types';\n\nexport interface GridSectionProps<T extends Record<string, unknown>> {\n model: DataGridModel<T>;\n props: DataGridProps<T>;\n totalColumns: number;\n}\n\n/** The leading header cells for the selection / expansion columns. */\nfunction HeaderControls<T extends Record<string, unknown>>({\n model,\n props,\n}: GridSectionProps<T>): React.JSX.Element {\n const theme = useTheme();\n const { selection = { mode: 'none' }, expansion, stickyHeader = true } = props;\n const sticky = {\n position: stickyHeader ? ('sticky' as const) : ('static' as const),\n top: 0,\n zIndex: 1,\n backgroundColor: theme.palette.background.paper,\n };\n const total = model.processedRows.length;\n const picked = model.selectedRowIds.length;\n return (\n <>\n {selection.mode !== 'none' && (\n <TableCell padding=\"checkbox\" sx={sticky}>\n {selection.mode === 'multi' && (\n <Checkbox\n indeterminate={picked > 0 && picked < total}\n checked={total > 0 && picked === total}\n onChange={(event) =>\n model.setSelectedRowIds(\n event.target.checked\n ? model.processedRows.map((row, index) => rowIdOf(props, row, index))\n : [],\n )\n }\n inputProps={{ 'aria-label': props.copy.selectAllRows }}\n />\n )}\n </TableCell>\n )}\n {expansion && <TableCell padding=\"checkbox\" sx={sticky} />}\n </>\n );\n}\n\n/** The caller's `getRowId`, or the row's own `id`, or its index. */\nexport function rowIdOf<T extends Record<string, unknown>>(\n props: DataGridProps<T>,\n row: T,\n index: number,\n): string | number {\n if (props.getRowId) return props.getRowId(row, index);\n const candidate = (row as { id?: string | number }).id;\n return candidate ?? index;\n}\n\nexport function GridHeader<T extends Record<string, unknown>>(\n section: GridSectionProps<T>,\n): React.JSX.Element {\n const { model, props } = section;\n const theme = useTheme();\n const { sorting = {}, stickyHeader = true } = props;\n // 56 design px unless the caller says, drawn through the type scale.\n const headerHeight = rem(theme, props.headerHeight ?? 56);\n const sortable = sorting.mode === 'client' || sorting.mode === 'server';\n return (\n <TableHead data-slot=\"header\">\n <TableRow data-slot=\"header-row\" role=\"row\">\n <HeaderControls {...section} />\n {model.visibleColumns.map((column) => (\n <HeaderCell\n key={column.id}\n column={column}\n sort={model.sortBy.find((entry) => entry.id === column.id)}\n sortable={column.enableSort !== false && sortable}\n stickyHeader={stickyHeader}\n headerHeight={headerHeight}\n onSort={model.onSort}\n copy={props.copy}\n />\n ))}\n </TableRow>\n </TableHead>\n );\n}\n\n/**\n * An invisible row standing in for `rows` rows the window is not rendering —\n * that many times the row's own CSS height, so the spacer and the rows it\n * replaces are the same length by construction.\n */\nfunction Spacer({\n rows,\n rowHeight,\n colSpan,\n}: {\n rows: number;\n rowHeight: string;\n colSpan: number;\n}): React.JSX.Element | null {\n if (rows <= 0) return null;\n return (\n <TableRow>\n <TableCell\n colSpan={colSpan}\n sx={{ height: `calc(${rows} * ${rowHeight})`, border: 'none', p: 0 }}\n />\n </TableRow>\n );\n}\n\nexport function GridBody<T extends Record<string, unknown>>(\n section: GridSectionProps<T>,\n): React.JSX.Element {\n const { model, props, totalColumns } = section;\n const { start, end } = model.visibleRange;\n const trailing = model.virtualized ? model.processedRows.length - end : 0;\n return (\n <TableBody data-slot=\"body\">\n {model.virtualized ? (\n <Spacer rows={start} rowHeight={model.rowHeight} colSpan={totalColumns} />\n ) : null}\n {model.visibleRows.map((row, offset) => {\n const index = model.virtualized ? start + offset : offset;\n const rowId = rowIdOf(props, row, index);\n return (\n <GridRow\n key={rowId}\n row={row}\n index={index}\n rowId={rowId}\n isSelected={model.selectedRowIdsSet.has(rowId)}\n isExpanded={model.expandedRowIdsSet.has(rowId)}\n totalColumns={totalColumns}\n model={model}\n props={props}\n />\n );\n })}\n {model.virtualized ? (\n <Spacer rows={trailing} rowHeight={model.rowHeight} colSpan={totalColumns} />\n ) : null}\n </TableBody>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GridShell
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AP4LSXRK.js";
|
|
4
4
|
import {
|
|
5
5
|
useDataViewsState
|
|
6
6
|
} from "./chunk-HKBJZX3C.js";
|
|
@@ -27,4 +27,4 @@ function DataViewsGrid(props) {
|
|
|
27
27
|
export {
|
|
28
28
|
DataViewsGrid
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
30
|
+
//# sourceMappingURL=chunk-ZSTUKSTJ.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "../chunk-L5CPOEDP.js";
|
|
2
2
|
import {
|
|
3
3
|
DataGrid
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-SQNQQTP7.js";
|
|
5
|
+
import "../chunk-ZFXTRPQO.js";
|
|
6
|
+
import "../chunk-ICDAYOJ6.js";
|
|
7
7
|
import "../chunk-EARWC6PD.js";
|
|
8
8
|
import "../chunk-DGMDQHMI.js";
|
|
9
9
|
import "../chunk-G3E66C6J.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DataViewsTableBase
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-BX7QWHKC.js";
|
|
4
4
|
import {
|
|
5
5
|
DataViewsGrid
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-ZSTUKSTJ.js";
|
|
7
7
|
import {
|
|
8
8
|
BaseCard
|
|
9
9
|
} from "../chunk-4S2LWZ7L.js";
|
|
@@ -22,13 +22,13 @@ import {
|
|
|
22
22
|
useDragItem
|
|
23
23
|
} from "../chunk-K4EKTMTC.js";
|
|
24
24
|
import "../chunk-ZOLAYP2D.js";
|
|
25
|
-
import "../chunk-
|
|
25
|
+
import "../chunk-AP4LSXRK.js";
|
|
26
26
|
import "../chunk-BKZERHNC.js";
|
|
27
27
|
import "../chunk-3UEZ6NUI.js";
|
|
28
28
|
import "../chunk-DH77PLFF.js";
|
|
29
29
|
import "../chunk-BM4KKGL7.js";
|
|
30
30
|
import "../chunk-KW3H5FUS.js";
|
|
31
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-3GYPZ5MI.js";
|
|
32
32
|
import {
|
|
33
33
|
DataViewsBoard
|
|
34
34
|
} from "../chunk-4XHVGUOM.js";
|
|
@@ -177,9 +177,9 @@ import "../chunk-77JL5XVD.js";
|
|
|
177
177
|
import "../chunk-G3QKH23Y.js";
|
|
178
178
|
import "../chunk-JZRSHDNY.js";
|
|
179
179
|
import "../chunk-L5CPOEDP.js";
|
|
180
|
-
import "../chunk-
|
|
181
|
-
import "../chunk-
|
|
182
|
-
import "../chunk-
|
|
180
|
+
import "../chunk-SQNQQTP7.js";
|
|
181
|
+
import "../chunk-ZFXTRPQO.js";
|
|
182
|
+
import "../chunk-ICDAYOJ6.js";
|
|
183
183
|
import "../chunk-EARWC6PD.js";
|
|
184
184
|
import "../chunk-DGMDQHMI.js";
|
|
185
185
|
import "../chunk-G3E66C6J.js";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import "../chunk-UM35GGCS.js";
|
|
2
2
|
import {
|
|
3
3
|
Lightbox_default
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-OOB3YWPX.js";
|
|
5
5
|
import "../chunk-UOS7DEQZ.js";
|
|
6
6
|
import "../chunk-N2GEKC4J.js";
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-VZ4VAQX3.js";
|
|
8
|
+
import "../chunk-RBGUS7WO.js";
|
|
9
|
+
import "../chunk-IOCY5G43.js";
|
|
10
|
+
import "../chunk-P53KRCKW.js";
|
|
11
11
|
import "../chunk-HJPPNVCF.js";
|
|
12
12
|
import "../chunk-M6PWPEAV.js";
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-BAFDSAWY.js";
|
|
13
|
+
import "../chunk-SV4FYSDL.js";
|
|
15
14
|
import "../chunk-3KA6MYIR.js";
|
|
15
|
+
import "../chunk-TEQYTEM2.js";
|
|
16
16
|
import "../chunk-FQ6UW7IY.js";
|
|
17
17
|
import "../chunk-6JAIFIPW.js";
|
|
18
18
|
import "../chunk-N3GAFIXG.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "../chunk-ZR3EJVR7.js";
|
|
2
2
|
import {
|
|
3
3
|
TimingDiagram
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-M42ZOCO7.js";
|
|
5
|
+
import "../chunk-UVFZQCC7.js";
|
|
6
6
|
import "../chunk-FQ6UW7IY.js";
|
|
7
7
|
import "../chunk-6JAIFIPW.js";
|
|
8
8
|
import "../chunk-N3GAFIXG.js";
|
package/dist/en-US.js
CHANGED
|
@@ -7,15 +7,16 @@ import {
|
|
|
7
7
|
EN_US_CHROME_COPY,
|
|
8
8
|
EN_US_NOTIFICATION_UNBLOCK_COPY,
|
|
9
9
|
EN_US_TUTORIAL_COPY
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-UGH2DDST.js";
|
|
11
11
|
import {
|
|
12
12
|
EN_US_CAROUSEL_COPY,
|
|
13
|
+
EN_US_DATA_GRID_COPY,
|
|
13
14
|
EN_US_DATA_STATE_COPY,
|
|
14
15
|
EN_US_DATA_VIEWS_COPY,
|
|
15
16
|
EN_US_LIGHTBOX_COPY,
|
|
16
17
|
EN_US_MAP_PREVIEW_COPY,
|
|
17
18
|
EN_US_TIMING_DIAGRAM_COPY
|
|
18
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-GXQDWHPN.js";
|
|
19
20
|
import {
|
|
20
21
|
EN_US_CATEGORY_SELECT_COPY,
|
|
21
22
|
EN_US_CEP_FIELD_COPY,
|
|
@@ -54,6 +55,7 @@ export {
|
|
|
54
55
|
EN_US_CODE_EDITOR_COPY,
|
|
55
56
|
EN_US_COMMAND_PALETTE_COPY,
|
|
56
57
|
EN_US_CONFIRM_ACTION_COPY,
|
|
58
|
+
EN_US_DATA_GRID_COPY,
|
|
57
59
|
EN_US_DATA_STATE_COPY,
|
|
58
60
|
EN_US_DATA_VIEWS_COPY,
|
|
59
61
|
EN_US_INSTALL_PROMPT_COPY,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "../chunk-QJCZ3IQP.js";
|
|
2
2
|
import {
|
|
3
3
|
TutorialOverlay
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-VNOXUWK7.js";
|
|
5
|
+
import "../chunk-24JOJJ2J.js";
|
|
6
6
|
import "../chunk-34643ATX.js";
|
|
7
7
|
import "../chunk-RXJQA3FQ.js";
|
|
8
8
|
import "../chunk-FQ6UW7IY.js";
|
package/dist/layout/Dashboard.js
CHANGED