@ex-grid/mantine 0.2.0-beta.3 → 0.2.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -0
- package/dist/index.js.map +2 -2
- package/package.json +3 -3
- package/styles.css +7 -2
package/dist/index.js
CHANGED
|
@@ -213,6 +213,7 @@ function MantineFindPanel({ context }) {
|
|
|
213
213
|
createElement(
|
|
214
214
|
"div",
|
|
215
215
|
{ className: "mantine-ex-grid-find-actions" },
|
|
216
|
+
...view.findAllShown ? [button(findPanelLabelIds.findAll, context.findAll, "default")] : [],
|
|
216
217
|
button(findPanelLabelIds.previous, context.previous, "default"),
|
|
217
218
|
button(findPanelLabelIds.next, context.next, "filled")
|
|
218
219
|
),
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/mantine-ex-grid.ts", "../src/chrome.ts", "../src/presentation.ts", "../src/mantine-glyph-widths.ts"],
|
|
4
|
-
"sourcesContent": ["// MantineExGrid (ADR-0390, ADR-0030): ExGrid for React inside Mantine's Paper, its Chrome drawn in Mantine's\n// components and its Visual Tokens mapped onto the Mantine theme by the Wrapper's stylesheet. It owns no geometry, no\n// DOM inside the grid's root and no state: it hands the grid the widths of the font it sets, the preset Mantine's\n// words map onto, and its Chrome, and the grid decides everything else.\n\nimport { createElement, useMemo, type CSSProperties, type ReactElement } from 'react';\nimport { Paper, type MantineRadius, type MantineShadow } from '@mantine/core';\nimport { ExGrid, type ExGridProps } from '@ex-grid/react';\nimport { MantineSizeContext, mantineChrome } from './chrome';\nimport { mantineDefaultFont, mantinePresentationDefaults, mantineSizeOf, type MantineExGridFont } from './presentation';\n\n/** A MantineExGrid's props: an ExGrid's, and the Paper's and Table's words Mantine draws a grid with. No\n * `presentationDefaults`: the Wrapper's are its own, made from `font`, `striped` and `highlightOnHover`, so the\n * widths `####` is judged by are always the font's the Paper writes (ADR-0027). */\nexport type MantineExGridProps<Row> = Omit<ExGridProps<Row>, 'presentationDefaults'> & {\n /** The Paper's border, Mantine's `withBorder`. */\n readonly withBorder?: boolean;\n /** The Paper's corner radius, a theme radius or a CSS length; `0` sets the grid square in its Paper. */\n readonly radius?: MantineRadius;\n /** The Paper's shadow. */\n readonly shadow?: MantineShadow;\n /** Row Stripes where the grid is given no `stripeRows`, Mantine's Table's `striped` (ADR-0038). */\n readonly striped?: boolean;\n /** The hover band where the grid is given no `highlightHoverRow`, Mantine's Table's `highlightOnHover` (ADR-0029). */\n readonly highlightOnHover?: boolean;\n /** A rule between columns, Mantine's Table's `withColumnBorders`. */\n readonly withColumnBorders?: boolean;\n /** The cells' font with its widths (ADR-0027); Mantine's default stack unless given. */\n readonly font?: MantineExGridFont;\n /** A class for the Paper. */\n readonly className?: string;\n /** A style for the Paper. */\n readonly style?: CSSProperties;\n};\n\n/**\n * An Excel-like grid drawn with Mantine: the Chrome slots a `chrome` prop leaves are Mantine's, the cells are in\n * the font whose widths the grid judges `####` by, and the colours follow the theme and its scheme with no render.\n * Needs Mantine's MantineProvider above it and `@ex-grid/mantine/styles.css` loaded after Mantine's styles.\n */\nexport function MantineExGrid<Row>(props: MantineExGridProps<Row>): ReactElement {\n const {\n withBorder, radius, shadow, striped, highlightOnHover, withColumnBorders, font = mantineDefaultFont, className, style, chrome, ...grid\n } = props;\n const density = grid.density ?? 'compact'; // oxlint-disable-line ex-grid/no-stand-in-default -- ADR-0028: an untouched grid is compact\n const defaults = useMemo(\n () => mantinePresentationDefaults(font, {\n ...(striped === undefined ? {} : { striped }), ...(highlightOnHover === undefined ? {} : { highlightOnHover }),\n }),\n [font, striped, highlightOnHover]);\n // The Consumer's slots win over the Wrapper's; one merge per chrome handed, so a render function handed again\n // keeps its mount (ADR-0390).\n const merged = useMemo(() => (chrome === undefined ? mantineChrome : { ...mantineChrome, ...chrome }), [chrome]);\n const classes = ['mantine-ex-grid'];\n if (radius === 0) classes.push('mantine-ex-grid-square');\n // A Stretch grid follows its container's width (ADR-0045), so the Paper round it does too, rather than take the\n // width of every column as its own.\n if (grid.viewportWidth === 'stretch') classes.push('mantine-ex-grid-stretch');\n if (withColumnBorders === true) classes.push('mantine-ex-grid-column-borders');\n if (className !== undefined) classes.push(className);\n // The family is written beside the widths the grid is handed, in the same render (ADR-0027).\n const paperStyle: CSSProperties & Readonly<Record<'--ex-font-family', string>> = { ...style, '--ex-font-family': font.family };\n return createElement(Paper<'div'>, {\n className: classes.join(' '),\n style: paperStyle,\n ...(withBorder === undefined ? {} : { withBorder }),\n ...(radius === undefined ? {} : { radius }),\n ...(shadow === undefined ? {} : { shadow }),\n }, createElement(MantineSizeContext.Provider, { value: mantineSizeOf(density) },\n createElement(ExGrid<Row>, { ...grid, presentationDefaults: defaults, chrome: merged })));\n}\n", "// The Mantine Chrome (ADR-0390 section 3): Mantine's components in each of ExGrid for React's Chrome slots. What a\n// slot shows, its order, what a key means and what a choice does are the core's, reached through the React adapter's\n// hooks; these components only draw it in Mantine's look, at the size the grid's density maps onto. The frames they\n// stand in, the popovers and the boxes over a cell, are the core's, so Mantine's own Menu, Popover and Combobox,\n// which position themselves, are not used inside the grid.\n\nimport { createContext, createElement, useCallback, useContext, type ReactElement } from 'react';\nimport { Button, Checkbox, Loader, NativeSelect, Radio, Text, TextInput, type MantineSize } from '@mantine/core';\nimport {\n filterPanelLabelIds, findPanelLabelIds, operatorLabelId, summaryLabelIds, type FilterOperator, type FilterPanelCondition,\n type GridCellEditorSlotContext, type GridCellMessageSlotContext, type GridEditorCompletionSlotContext, type GridFilterPanelSlotContext,\n type GridFindPanelSlotContext, type GridFormulaBarTextSlotContext, type GridLoadingIndicatorSlotContext, type GridMenuSlotContext, type GridNameBoxSlotContext,\n type GridSelectionSummarySlotContext,\n} from '@ex-grid/core';\nimport {\n useCellEditor, useEditorCompletion, useFilterPanel, useFindPanel, useFormulaBarText, useMenuItems, useNameBox, type ExGridChrome,\n type FilterPanelHandles,\n} from '@ex-grid/react';\n\n/** The size Mantine's components are drawn at inside a grid: the one its density maps onto, handed down from\n * MantineExGrid through React's context, which a portal keeps. A frame of the Consumer's own that draws\n * {@link mantineChrome} gives it, as it gives the class `mantine-ex-grid` the Wrapper's stylesheet is scoped to. */\nexport const MantineSizeContext = createContext<MantineSize>('xs');\n\n/** A menu, the column menu's or the Context Menu's: one of Mantine's subtle buttons per command, as its Menu draws\n * an item. */\nfunction MantineMenu({ context }: { readonly context: GridMenuSlotContext }): ReactElement {\n const item = useMenuItems(context);\n const size = useContext(MantineSizeContext);\n return createElement('div', { role: 'none', className: 'mantine-ex-grid-menu' },\n ...context.commands.map((command, index) => createElement(Button<'button'>, {\n ...item(index), key: command.id, type: 'button', variant: 'subtle', color: 'gray', size, fullWidth: true,\n justify: 'flex-start', className: 'mantine-ex-grid-menu-item',\n }, context.label(command.id))));\n}\n\n/** One condition of the condition form: its operator, and its value where the operator takes one. */\nfunction conditionControls(context: GridFilterPanelSlotContext, condition: FilterPanelCondition | undefined, allowed: readonly FilterOperator[],\n second: boolean, size: MantineSize, handles: FilterPanelHandles): ReactElement[] {\n const choices = allowed.map(operator => ({ value: operator, label: context.label(operatorLabelId(operator)) }));\n const operator = createElement(NativeSelect, {\n key: second ? 'second-operator' : 'operator', size,\n data: second ? [{ value: '', label: context.label(filterPanelLabelIds.none) }, ...choices] : choices,\n value: condition === undefined ? '' : condition.operator,\n onChange: event => {\n const { value } = event.currentTarget;\n if (second && value === '') context.setSecond(undefined);\n else if (second) context.setSecond(operatorOf(value, allowed));\n else context.setOperator(operatorOf(value, allowed));\n },\n ...(second ? {} : { ref: handles.first }),\n });\n if (condition === undefined || !condition.takesOperand) return [operator];\n const operand = createElement(TextInput, {\n key: second ? 'second-operand' : 'operand', size, type: 'text', value: condition.operand,\n error: condition.refusal,\n onChange: event => { if (second) context.setSecondOperand(event.currentTarget.value); else context.setOperand(event.currentTarget.value); },\n ...(second ? {} : { ref: handles.search }),\n });\n return [operator, operand];\n}\n\n/** The operator an option names: one the core offered, never one a changed option claims (ADR-0009, FN-18). */\nfunction operatorOf(value: string, allowed: readonly FilterOperator[]): FilterOperator {\n const found = allowed.find(operator => operator === value);\n if (found === undefined) throw new RangeError(`'${value}' is not an operator this column's filter offers.`);\n return found;\n}\n\n/** The filter panel: the value list or the condition form as the core holds it, in Mantine's controls. */\nfunction MantineFilterPanel({ context }: { readonly context: GridFilterPanelSlotContext }): ReactElement {\n const handles = useFilterPanel(context);\n const { view, first, last, search, onValueListKeyDown } = handles;\n const size = useContext(MantineSizeContext);\n // The search box is both the first control and the one E puts the keyboard on: one ref made once, so a render\n // does not hand React a new one, which it would take away and back (useFilterPanel's refs are stable too).\n const searchBox = useCallback((control: HTMLInputElement | null) => { first(control); search(control); }, [first, search]);\n const body = view.kind === 'valueList'\n ? [\n createElement(TextInput, {\n key: 'search', size, type: 'search', value: view.search, placeholder: context.label(filterPanelLabelIds.search),\n 'aria-label': context.label(filterPanelLabelIds.search),\n ref: searchBox,\n onChange: event => { context.setSearch(event.currentTarget.value); },\n }),\n view.addOffered\n ? createElement(Checkbox, {\n key: 'add', size, label: context.label(filterPanelLabelIds.addToCurrent), checked: view.addToCurrent,\n onChange: event => { context.setAddToCurrent(event.currentTarget.checked); },\n })\n : null,\n createElement('div', { key: 'list', className: 'mantine-ex-grid-filter-values', onKeyDown: onValueListKeyDown },\n createElement(Checkbox, {\n key: 'all', size, checked: view.selectAll === 'checked', indeterminate: view.selectAll === 'mixed',\n label: context.label(view.search === '' ? filterPanelLabelIds.selectAll : filterPanelLabelIds.selectAllSearchResults),\n onChange: () => { context.toggleAll(); },\n }),\n // Keyed by position: two values may read the same (1.001 and 1.004 at two places), and the core's list\n // is the order it stands in.\n ...view.entries.map((each, at) => createElement(Checkbox, {\n key: at, size, label: each.text, checked: each.checked,\n onChange: event => { context.setChecked(each.value, event.currentTarget.checked); },\n }))),\n ]\n : [\n ...conditionControls(context, view.first, view.allowed, false, size, handles),\n createElement(Radio.Group, {\n key: 'join', value: view.combinator, size,\n onChange: (value: unknown) => {\n if (value !== 'and' && value !== 'or') throw new RangeError(`'${String(value)}' joins no two conditions (FN-18).`);\n context.setCombinator(value);\n },\n children: createElement('div', { className: 'mantine-ex-grid-filter-join' },\n createElement(Radio, { value: 'and', size, label: context.label(filterPanelLabelIds.and) }),\n createElement(Radio, { value: 'or', size, label: context.label(filterPanelLabelIds.or) })),\n }),\n ...conditionControls(context, view.second, view.allowed, true, size, handles),\n ];\n // OK before Cancel, as Excel orders them; Cancel, never disabled, is the last control Shift+Tab wraps to.\n return createElement('div', { className: 'mantine-ex-grid-filter' }, ...body,\n createElement('div', { className: 'mantine-ex-grid-filter-actions' },\n createElement(Button<'button'>, {\n type: 'button', size, className: 'ex-popover-closes', disabled: !view.canApply, onClick: () => { context.apply(); },\n }, context.label(filterPanelLabelIds.ok)),\n createElement(Button<'button'>, {\n type: 'button', size, variant: 'default', className: 'ex-popover-closes', ref: last, onClick: () => { context.cancel(); },\n }, context.label(filterPanelLabelIds.cancel))));\n}\n\n/** The find panel and its Replace: each change and step handed to the core, Enter left to the core's form. */\nfunction MantineFindPanel({ context }: { readonly context: GridFindPanelSlotContext }): ReactElement {\n const { view, field } = useFindPanel(context);\n const size = useContext(MantineSizeContext);\n const button = (id: string, press: () => void, variant: 'default' | 'filled', disabled = false): ReactElement =>\n createElement(Button<'button'>, { key: id, type: 'button', size, variant, disabled, onClick: press }, context.label(id));\n return createElement('div', { className: 'mantine-ex-grid-find' },\n createElement(TextInput, {\n size, ref: field, value: view.text, 'aria-label': context.label(findPanelLabelIds.field),\n placeholder: context.label(findPanelLabelIds.field), onChange: event => { context.setText(event.currentTarget.value); },\n }),\n createElement(Checkbox, {\n size, label: context.label(findPanelLabelIds.matchCase), checked: view.matchCase,\n onChange: event => { context.setMatchCase(event.currentTarget.checked); },\n }),\n createElement(Checkbox, {\n size, label: context.label(findPanelLabelIds.wholeCell), checked: view.wholeCell,\n onChange: event => { context.setWholeCell(event.currentTarget.checked); },\n }),\n createElement('div', { className: 'mantine-ex-grid-find-actions' },\n button(findPanelLabelIds.previous, context.previous, 'default'),\n button(findPanelLabelIds.next, context.next, 'filled')),\n ...(view.replaceShown ? [\n createElement(TextInput, {\n key: 'replace', size, value: view.replaceText, 'aria-label': context.label(findPanelLabelIds.replaceField),\n placeholder: context.label(findPanelLabelIds.replaceField), onChange: event => { context.setReplaceText(event.currentTarget.value); },\n }),\n createElement('div', { key: 'writes', className: 'mantine-ex-grid-find-actions' },\n button(findPanelLabelIds.replace, context.replace, 'default', view.replaceWaiting),\n button(findPanelLabelIds.replaceAll, context.replaceAll, 'filled', view.replaceWaiting)),\n ] : []),\n createElement(Text<'span'>, { size, role: 'status', className: 'mantine-ex-grid-find-outcome' }, view.outcome));\n}\n\n/** The Cell Editor's field, uncontrolled as the hook asks: the core reads it at the commit and marks a Reject on it. */\nfunction MantineCellEditor({ context }: { readonly context: GridCellEditorSlotContext }): ReactElement {\n const { field, defaultValue } = useCellEditor(context);\n return createElement('input', { ref: field, defaultValue, className: 'mantine-ex-editor' });\n}\n\n/** The Formula Bar's text field, uncontrolled, dimmed where its text is borrowed. */\nfunction MantineBarText({ context }: { readonly context: GridFormulaBarTextSlotContext }): ReactElement {\n const { view, field } = useFormulaBarText(context);\n return createElement('input', { ref: field, className: 'mantine-ex-formula-bar-text', 'data-borrowed': view.borrowed ? '' : undefined });\n}\n\n/** The Name Box's field. */\nfunction MantineNameBox({ context }: { readonly context: GridNameBoxSlotContext }): ReactElement {\n const { field } = useNameBox(context);\n return createElement('input', { ref: field, className: 'mantine-ex-name-box' });\n}\n\n/** A cell's message, the core's sentence, in Mantine's text. */\nfunction MantineCellMessage({ context }: { readonly context: GridCellMessageSlotContext }): ReactElement {\n const size = useContext(MantineSizeContext);\n return createElement(Text<'span'>, { size, span: true }, context.message);\n}\n\n/** The loading indicator: Mantine's Loader while rows are on their way, and nothing once they are in. */\nfunction MantineLoading({ context }: { readonly context: GridLoadingIndicatorSlotContext }): ReactElement | null {\n const size = useContext(MantineSizeContext);\n return context.loading ? createElement(Loader, { size, type: 'dots' }) : null;\n}\n\n/** The Selection Summary's figures, each named and formatted by the core, in Excel's order. */\nfunction MantineSelectionSummary({ context }: { readonly context: GridSelectionSummarySlotContext }): ReactElement {\n const size = useContext(MantineSizeContext);\n const said = context.status === 'pending' ? context.label(summaryLabelIds.pending)\n : context.status === 'declined' ? context.declineReason\n : context.figures.map(figure => `${context.label(figure.labelId)}: ${figure.text}`).join(' ');\n return createElement(Text<'span'>, { size, span: true }, said);\n}\n\n/** The completion list and the argument hint (ADR-0051): the chosen candidate in the theme's primary as Mantine's\n * Combobox marks its selected option, and the hint beneath in Mantine's dimmed colour with the argument the caret is\n * in set off. Both are in the cell's font, as the text typed above them is. The box, its place and every key are the\n * core's, so Mantine's Combobox, which keeps its own store and keys, is not used. */\nfunction MantineCompletion({ context }: { readonly context: GridEditorCompletionSlotContext }): ReactElement {\n const { list, option } = useEditorCompletion(context);\n const hint = context.hint?.parts();\n return createElement('div', { className: 'mantine-ex-grid-completion' },\n context.candidates.length === 0 ? null : createElement('div', { ...list, className: 'mantine-ex-grid-completion-list' },\n ...context.candidates.map((candidate, index) => createElement('div', {\n ...option(index), key: index, className: 'mantine-ex-grid-completion-item',\n }, candidate.label))),\n hint === undefined ? null : createElement('div', { className: 'mantine-ex-grid-completion-hint' },\n hint[0], hint[1].length === 0 ? null : createElement('strong', null, hint[1]), hint[2]));\n}\n\nconst menu = (context: GridMenuSlotContext): ReactElement => createElement(MantineMenu, { context });\n\n/** Every Chrome slot drawn in Mantine's components: what {@link MantineExGrid} hands its grid. A Consumer that frames\n * an ExGrid itself spreads it into the grid's `chrome`, inside an element of the class `mantine-ex-grid` and a\n * {@link MantineSizeContext}, as MantineExGrid draws them. */\nexport const mantineChrome: ExGridChrome<unknown> = Object.freeze({\n columnMenu: menu,\n contextMenu: menu,\n filterPanel: (context: GridFilterPanelSlotContext) => createElement(MantineFilterPanel, { context }),\n findPanel: (context: GridFindPanelSlotContext) => createElement(MantineFindPanel, { context }),\n cellEditor: (context: GridCellEditorSlotContext) => createElement(MantineCellEditor, { context }),\n cellMessage: (context: GridCellMessageSlotContext) => createElement(MantineCellMessage, { context }),\n loadingIndicator: (context: GridLoadingIndicatorSlotContext) => createElement(MantineLoading, { context }),\n selectionSummary: (context: GridSelectionSummarySlotContext) => createElement(MantineSelectionSummary, { context }),\n formulaBarText: (context: GridFormulaBarTextSlotContext) => createElement(MantineBarText, { context }),\n nameBox: (context: GridNameBoxSlotContext) => createElement(MantineNameBox, { context }),\n editorCompletion: (context: GridEditorCompletionSlotContext) => createElement(MantineCompletion, { context }),\n});\n", "// What @ex-grid/mantine hands the grids inside it (ADR-0030, ADR-0390): the widths of the font its stylesheet sets\n// and the preset Mantine's own words map onto. Whoever sets the font owes the widths (ADR-0027), so the font and its\n// widths travel in one value.\n\nimport { GridPresentationDefaults, type GridDensity, type GridPresentationDefaultsOptions } from '@ex-grid/core';\nimport type { MantineSize } from '@mantine/core';\nimport { mantineClassWidths, mantineGlyphWidths } from './mantine-glyph-widths';\n\n/** The widths a font is charged at, in the forms the grid takes: everything a Wrapper's presentation defaults hold\n * but the Density, hover band and Row Stripes, which are the Wrapper's words. */\nexport type MantineExGridFontWidths = Omit<GridPresentationDefaultsOptions, 'density' | 'highlightHoverRow' | 'stripeRows'>;\n\n/** A font for the grid's cells, with the widths measured for it (ADR-0027): `family` is written as\n * `--ex-font-family` and `widths` are what `####` is judged by, in the same render. */\nexport interface MantineExGridFont {\n /** The CSS font family list, as `font-family` takes it. */\n readonly family: string;\n /** The widths measured for that family (`tests/GlyphWidths` measures one). */\n readonly widths: MantineExGridFontWidths;\n}\n\n/** Mantine's default font stack (`-apple-system`, `BlinkMacSystemFont`, `Segoe UI`, `Roboto`, `Helvetica`,\n * `Arial`, `sans-serif`) with the widest widths any face it resolves to was measured at: macOS's system face, Segoe UI,\n * Roboto, Liberation Sans for Helvetica and Arial on Linux, and DejaVu Sans. What the cells are drawn in unless a\n * font is given. */\nexport const mantineDefaultFont: MantineExGridFont = Object.freeze({\n family: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n widths: Object.freeze({\n ...mantineClassWidths,\n get glyphWidths() { return mantineGlyphWidths(); },\n }),\n});\n\n/** What Mantine's own words are on the Wrapper: its Table's `striped` and `highlightOnHover`. */\nexport interface MantinePresentationWords {\n /** The preset the grid takes where it is given none. */\n readonly density?: GridDensity;\n /** Row Stripes, Mantine's Table's `striped` (ADR-0038). */\n readonly striped?: boolean;\n /** The hover band, Mantine's Table's `highlightOnHover` (ADR-0029). */\n readonly highlightOnHover?: boolean;\n}\n\n/** What the Wrapper hands a grid: `font`'s widths, and the Density, hover band and Row Stripes its words map onto. A\n * value the grid is given beats these, and these beat the preset (ADR-0028). */\nexport function mantinePresentationDefaults(font: MantineExGridFont, words: MantinePresentationWords = {}): GridPresentationDefaults {\n return new GridPresentationDefaults({\n ...font.widths,\n ...(words.density === undefined ? {} : { density: words.density }),\n ...(words.striped === undefined ? {} : { stripeRows: words.striped }),\n ...(words.highlightOnHover === undefined ? {} : { highlightHoverRow: words.highlightOnHover }),\n });\n}\n\n/** The size Mantine's components are drawn at in a grid of `density` (ADR-0390): Mantine has no word like Dense, so\n * the preset picks a size, `xs` for the compact ones and `sm`, Mantine's own default, for Standard. */\nexport function mantineSizeOf(density: GridDensity): MantineSize {\n switch (density) {\n case 'compact':\n case 'excel':\n return 'xs';\n case 'standard':\n return 'sm';\n case 'comfortable':\n return 'md';\n default:\n throw new RangeError(`Unknown density preset '${String(density satisfies never)}' (ADR-0028).`);\n }\n}\n", "// Generated by tests/GlyphWidths/tables.mjs from system-ui on macos in Chrome 154 (2026-10-01),\n// system-ui on windows in Chrome 154 (2026-10-11), system-ui on windows in Edge 155 (2026-10-11),\n// roboto on macos in Chrome 154 (2026-10-01), roboto on windows in Chrome 154 (2026-10-11), roboto\n// on windows in Edge 155 (2026-10-11), dejavu-sans on macos in Chrome 154 (2026-10-01),\n// liberation-sans on linux in Chrome 153 (2026-10-27).\n// Do not edit by hand: measure again and run it (tests/GlyphWidths/README.md).\nimport { GlyphWidthTable } from '@ex-grid/core';\n\ntype Row = readonly [glyph: string, regularPx: number, boldPx: number];\n\n/** The class widths of Mantine's default stack at 14px, which the core scales to the resolved size: each the\n * widest any record shows at 400, 500 and 600 (regular) or 700 (bold), at 14px or at 12px scaled, a shade over. */\nexport const mantineClassWidths = Object.freeze({\n fontSizePx: 14,\n wideWidthPx: 14.05,\n digitWidthPx: 9.76,\n narrowWidthPx: 6.42,\n otherWidthPx: 14.01,\n boldWideWidthPx: 14.52,\n boldDigitWidthPx: 9.76,\n boldNarrowWidthPx: 6.42,\n boldOtherWidthPx: 14.01,\n} as const);\n\nconst at14: readonly Row[] = [\n ['A', 10.86, 10.86],\n ['B', 10.69, 10.69],\n ['C', 10.29, 10.40],\n ['D', 11.64, 11.64],\n ['F', 9.59, 9.59],\n ['G', 11.51, 11.51],\n ['H', 11.73, 11.73],\n ['I', 5.23, 5.23],\n ['J', 8.14, 8.43],\n ['K', 10.87, 10.87],\n ['L', 8.94, 8.94],\n ['M', 13.96, 13.96],\n ['N', 11.73, 11.73],\n ['O', 11.92, 11.92],\n ['P', 10.28, 10.28],\n ['Q', 11.92, 11.92],\n ['R', 10.80, 10.80],\n ['S', 10.11, 10.11],\n ['T', 9.89, 9.89],\n ['U', 11.38, 11.38],\n ['V', 10.86, 10.86],\n ['W', 15.47, 15.47],\n ['X', 10.82, 10.82],\n ['Y', 10.16, 10.16],\n ['Z', 10.17, 10.17],\n ['a', 9.47, 9.47],\n ['b', 10.04, 10.04],\n ['c', 8.32, 8.32],\n ['d', 10.04, 10.04],\n ['e', 9.51, 9.51],\n ['f', 6.12, 6.12],\n ['g', 10.04, 10.04],\n ['h', 9.98, 9.98],\n ['i', 4.82, 4.82],\n ['j', 4.82, 4.82],\n ['k', 9.33, 9.33],\n ['l', 4.82, 4.82],\n ['m', 14.61, 14.61],\n ['n', 9.98, 9.98],\n ['o', 9.64, 9.64],\n ['p', 10.04, 10.04],\n ['q', 10.04, 10.04],\n ['r', 6.92, 6.92],\n ['s', 8.36, 8.36],\n ['t', 6.72, 6.72],\n ['u', 9.98, 9.98],\n ['v', 9.15, 9.15],\n ['w', 12.95, 12.95],\n ['x', 9.05, 9.05],\n ['y', 9.15, 9.15],\n ['z', 8.17, 8.17],\n ['\u00A2', 9.76, 9.76],\n ['\u00A4', 10.01, 9.71],\n ['\u00C0', 10.86, 10.86],\n ['\u00C1', 10.86, 10.86],\n ['\u00C2', 10.86, 10.86],\n ['\u00C3', 10.86, 10.86],\n ['\u00C4', 10.86, 10.86],\n ['\u00C5', 10.86, 10.86],\n ['\u00C6', 15.21, 15.21],\n ['\u00C7', 10.29, 10.40],\n ['\u00C8', 9.59, 9.59],\n ['\u00C9', 9.59, 9.59],\n ['\u00CA', 9.59, 9.59],\n ['\u00CB', 9.59, 9.59],\n ['\u00CC', 5.23, 5.23],\n ['\u00CD', 5.23, 5.23],\n ['\u00CE', 5.23, 5.23],\n ['\u00CF', 5.23, 5.23],\n ['\u00D0', 11.75, 11.75],\n ['\u00D1', 11.73, 11.73],\n ['\u00D2', 11.92, 11.92],\n ['\u00D3', 11.92, 11.92],\n ['\u00D4', 11.92, 11.92],\n ['\u00D5', 11.92, 11.92],\n ['\u00D6', 11.92, 11.92],\n ['\u00D8', 11.92, 11.92],\n ['\u00D9', 11.38, 11.38],\n ['\u00DA', 11.38, 11.38],\n ['\u00DB', 11.38, 11.38],\n ['\u00DC', 11.38, 11.38],\n ['\u00DD', 10.16, 10.16],\n ['\u00DE', 10.35, 10.35],\n ['\u00DF', 10.09, 10.09],\n ['\u00E0', 9.47, 9.47],\n ['\u00E1', 9.47, 9.47],\n ['\u00E2', 9.47, 9.47],\n ['\u00E3', 9.47, 9.47],\n ['\u00E4', 9.47, 9.47],\n ['\u00E5', 9.47, 9.47],\n ['\u00E6', 14.68, 14.68],\n ['\u00E7', 8.32, 8.32],\n ['\u00E8', 9.51, 9.51],\n ['\u00E9', 9.51, 9.51],\n ['\u00EA', 9.51, 9.51],\n ['\u00EB', 9.51, 9.51],\n ['\u00EC', 4.82, 4.82],\n ['\u00ED', 4.82, 4.82],\n ['\u00EE', 4.82, 4.82],\n ['\u00EF', 4.82, 4.82],\n ['\u00F0', 9.64, 9.64],\n ['\u00F1', 9.98, 9.98],\n ['\u00F2', 9.64, 9.64],\n ['\u00F3', 9.64, 9.64],\n ['\u00F4', 9.64, 9.64],\n ['\u00F5', 9.64, 9.64],\n ['\u00F6', 9.64, 9.64],\n ['\u00F8', 9.64, 9.64],\n ['\u00F9', 9.98, 9.98],\n ['\u00FA', 9.98, 9.98],\n ['\u00FB', 9.98, 9.98],\n ['\u00FC', 9.98, 9.98],\n ['\u00FD', 9.15, 9.15],\n ['\u00FE', 10.04, 10.04],\n ['\u00FF', 9.15, 9.15],\n ['\u0100', 10.86, 10.86],\n ['\u0101', 9.47, 9.47],\n ['\u0102', 10.86, 10.86],\n ['\u0103', 9.47, 9.47],\n ['\u0104', 10.86, 10.86],\n ['\u0105', 9.47, 9.47],\n ['\u0106', 10.29, 10.40],\n ['\u0107', 8.32, 8.32],\n ['\u0108', 10.29, 10.40],\n ['\u0109', 8.32, 8.32],\n ['\u010A', 10.29, 10.40],\n ['\u010B', 8.32, 8.32],\n ['\u010C', 10.29, 10.40],\n ['\u010D', 8.32, 8.32],\n ['\u010E', 11.64, 11.64],\n ['\u010F', 10.55, 10.89],\n ['\u0110', 11.75, 11.75],\n ['\u0111', 10.04, 10.04],\n ['\u0112', 9.59, 9.59],\n ['\u0113', 9.51, 9.51],\n ['\u0114', 9.59, 9.59],\n ['\u0115', 9.51, 9.51],\n ['\u0116', 9.59, 9.59],\n ['\u0117', 9.51, 9.51],\n ['\u0118', 9.59, 9.59],\n ['\u0119', 9.51, 9.51],\n ['\u011A', 9.59, 9.59],\n ['\u011B', 9.51, 9.51],\n ['\u011C', 11.51, 11.51],\n ['\u011D', 10.04, 10.04],\n ['\u011E', 11.51, 11.51],\n ['\u011F', 10.04, 10.04],\n ['\u0120', 11.51, 11.51],\n ['\u0121', 10.04, 10.04],\n ['\u0122', 11.51, 11.51],\n ['\u0123', 10.04, 10.04],\n ['\u0124', 11.73, 11.73],\n ['\u0125', 9.98, 9.98],\n ['\u0126', 13.65, 13.65],\n ['\u0127', 11.08, 11.08],\n ['\u0128', 5.23, 5.23],\n ['\u0129', 4.82, 4.82],\n ['\u012A', 5.23, 5.23],\n ['\u012B', 4.82, 4.82],\n ['\u012C', 5.23, 5.23],\n ['\u012D', 4.82, 4.82],\n ['\u012E', 5.23, 5.23],\n ['\u012F', 4.82, 4.82],\n ['\u0130', 5.23, 5.23],\n ['\u0131', 4.82, 4.82],\n ['\u0132', 12.35, 12.90],\n ['\u0133', 9.62, 9.62],\n ['\u0134', 8.14, 8.43],\n ['\u0135', 4.82, 4.82],\n ['\u0136', 10.87, 10.87],\n ['\u0137', 9.33, 9.33],\n ['\u0138', 9.33, 9.33],\n ['\u0139', 8.94, 8.94],\n ['\u013A', 4.82, 4.82],\n ['\u013B', 8.94, 8.94],\n ['\u013C', 4.82, 4.82],\n ['\u013D', 8.94, 8.94],\n ['\u013E', 6.74, 6.74],\n ['\u013F', 8.94, 8.94],\n ['\u0140', 7.81, 7.81],\n ['\u0141', 9.02, 9.02],\n ['\u0142', 5.21, 5.21],\n ['\u0143', 11.73, 11.73],\n ['\u0144', 9.98, 9.98],\n ['\u0145', 11.73, 11.73],\n ['\u0146', 9.98, 9.98],\n ['\u0147', 11.73, 11.73],\n ['\u0148', 9.98, 9.98],\n ['\u0149', 13.78, 13.78],\n ['\u014A', 11.73, 11.73],\n ['\u014B', 9.98, 9.98],\n ['\u014C', 11.92, 11.92],\n ['\u014D', 9.64, 9.64],\n ['\u014E', 11.92, 11.92],\n ['\u014F', 9.64, 9.64],\n ['\u0150', 11.92, 11.92],\n ['\u0151', 9.64, 9.64],\n ['\u0152', 16.36, 16.36],\n ['\u0153', 15.34, 15.34],\n ['\u0154', 10.80, 10.80],\n ['\u0155', 6.92, 6.92],\n ['\u0156', 10.80, 10.80],\n ['\u0157', 6.92, 6.92],\n ['\u0158', 10.80, 10.80],\n ['\u0159', 6.92, 6.92],\n ['\u015A', 10.11, 10.11],\n ['\u015B', 8.36, 8.36],\n ['\u015C', 10.11, 10.11],\n ['\u015D', 8.36, 8.36],\n ['\u015E', 10.11, 10.11],\n ['\u015F', 8.36, 8.36],\n ['\u0160', 10.11, 10.11],\n ['\u0161', 8.36, 8.36],\n ['\u0162', 9.57, 9.57],\n ['\u0163', 6.72, 6.72],\n ['\u0164', 9.89, 9.89],\n ['\u0165', 6.73, 7.20],\n ['\u0166', 9.57, 9.57],\n ['\u0167', 6.72, 6.72],\n ['\u0168', 11.38, 11.38],\n ['\u0169', 9.98, 9.98],\n ['\u016A', 11.38, 11.38],\n ['\u016B', 9.98, 9.98],\n ['\u016C', 11.38, 11.38],\n ['\u016D', 9.98, 9.98],\n ['\u016E', 11.38, 11.38],\n ['\u016F', 9.98, 9.98],\n ['\u0170', 11.38, 11.38],\n ['\u0171', 9.98, 9.98],\n ['\u0172', 11.38, 11.38],\n ['\u0173', 9.98, 9.98],\n ['\u0174', 15.47, 15.47],\n ['\u0175', 12.95, 12.95],\n ['\u0176', 10.16, 10.16],\n ['\u0177', 9.15, 9.15],\n ['\u0178', 10.16, 10.16],\n ['\u0179', 10.17, 10.17],\n ['\u017A', 8.17, 8.17],\n ['\u017B', 10.17, 10.17],\n ['\u017C', 8.17, 8.17],\n ['\u017D', 10.17, 10.17],\n ['\u017E', 8.17, 8.17],\n ['\u017F', 6.12, 6.12],\n ['\u0192', 7.81, 8.07],\n ['\u0386', 11.18, 11.18],\n ['\u0388', 11.97, 11.97],\n ['\u0389', 14.14, 14.14],\n ['\u038A', 7.90, 7.90],\n ['\u038C', 12.48, 12.48],\n ['\u038E', 13.74, 13.74],\n ['\u038F', 12.73, 12.97],\n ['\u0390', 5.48, 5.48],\n ['\u0391', 10.86, 10.86],\n ['\u0392', 10.69, 10.69],\n ['\u0393', 8.94, 8.94],\n ['\u0394', 10.86, 10.86],\n ['\u0395', 9.59, 9.59],\n ['\u0396', 10.17, 10.17],\n ['\u0397', 11.73, 11.73],\n ['\u0398', 11.92, 11.92],\n ['\u0399', 5.23, 5.23],\n ['\u039A', 10.87, 10.87],\n ['\u039B', 10.86, 10.86],\n ['\u039C', 13.96, 13.96],\n ['\u039D', 11.73, 11.73],\n ['\u039E', 9.34, 9.40],\n ['\u039F', 11.92, 11.92],\n ['\u03A0', 11.73, 11.73],\n ['\u03A1', 10.28, 10.28],\n ['\u03A3', 9.59, 9.59],\n ['\u03A4', 9.57, 9.57],\n ['\u03A5', 10.16, 10.16],\n ['\u03A6', 12.42, 12.77],\n ['\u03A7', 10.82, 10.82],\n ['\u03A8', 11.95, 12.19],\n ['\u03A9', 11.92, 11.92],\n ['\u03AA', 5.23, 5.23],\n ['\u03AB', 10.16, 10.16],\n ['\u03AC', 9.64, 9.64],\n ['\u03AD', 7.81, 8.09],\n ['\u03AE', 9.98, 9.98],\n ['\u03AF', 5.48, 5.48],\n ['\u03B0', 9.48, 9.48],\n ['\u03B1', 9.64, 9.64],\n ['\u03B2', 10.04, 10.04],\n ['\u03B3', 9.56, 9.56],\n ['\u03B4', 9.64, 9.64],\n ['\u03B5', 7.81, 8.09],\n ['\u03B6', 8.29, 8.29],\n ['\u03B7', 9.98, 9.98],\n ['\u03B8', 9.64, 9.64],\n ['\u03B9', 5.48, 5.48],\n ['\u03BA', 9.96, 9.96],\n ['\u03BB', 8.87, 8.87],\n ['\u03BC', 10.33, 10.33],\n ['\u03BD', 9.56, 9.56],\n ['\u03BE', 8.29, 8.29],\n ['\u03BF', 9.64, 9.64],\n ['\u03C0', 11.09, 11.09],\n ['\u03C1', 10.04, 10.04],\n ['\u03C2', 8.32, 8.32],\n ['\u03C3', 10.93, 10.93],\n ['\u03C4', 8.96, 8.96],\n ['\u03C5', 9.48, 9.48],\n ['\u03C6', 10.97, 10.97],\n ['\u03C7', 9.05, 9.05],\n ['\u03C8', 11.13, 11.13],\n ['\u03C9', 12.19, 12.19],\n ['\u03CA', 5.48, 5.48],\n ['\u03CB', 9.48, 9.48],\n ['\u03CC', 9.64, 9.64],\n ['\u03CD', 9.48, 9.48],\n ['\u03CE', 12.19, 12.19],\n ['\u0400', 9.59, 9.59],\n ['\u0401', 9.59, 9.59],\n ['\u0402', 12.42, 12.42],\n ['\u0403', 8.94, 8.94],\n ['\u0404', 10.55, 10.67],\n ['\u0405', 10.11, 10.11],\n ['\u0406', 5.23, 5.23],\n ['\u0407', 5.23, 5.23],\n ['\u0408', 8.27, 8.58],\n ['\u0409', 16.18, 16.18],\n ['\u040A', 16.07, 16.29],\n ['\u040B', 12.83, 12.97],\n ['\u040C', 11.46, 11.46],\n ['\u040D', 11.73, 11.73],\n ['\u040E', 10.82, 10.82],\n ['\u040F', 11.73, 11.73],\n ['\u0410', 10.86, 10.86],\n ['\u0411', 10.69, 10.69],\n ['\u0412', 10.69, 10.69],\n ['\u0413', 8.94, 8.94],\n ['\u0414', 12.48, 12.48],\n ['\u0415', 9.59, 9.59],\n ['\u0416', 17.16, 17.16],\n ['\u0417', 9.96, 9.96],\n ['\u0418', 11.73, 11.73],\n ['\u0419', 11.73, 11.73],\n ['\u041A', 11.46, 11.46],\n ['\u041B', 11.65, 11.65],\n ['\u041C', 13.96, 13.96],\n ['\u041D', 11.73, 11.73],\n ['\u041E', 11.92, 11.92],\n ['\u041F', 11.73, 11.73],\n ['\u0420', 10.28, 10.28],\n ['\u0421', 10.42, 10.53],\n ['\u0422', 9.57, 9.57],\n ['\u0423', 10.82, 10.82],\n ['\u0424', 13.90, 13.90],\n ['\u0425', 10.82, 10.82],\n ['\u0426', 13.01, 13.01],\n ['\u0427', 11.34, 11.34],\n ['\u0428', 17.31, 17.31],\n ['\u0429', 18.59, 18.59],\n ['\u042A', 13.17, 13.17],\n ['\u042B', 14.53, 14.53],\n ['\u042C', 10.69, 10.69],\n ['\u042D', 10.55, 10.67],\n ['\u042E', 16.45, 16.45],\n ['\u042F', 10.80, 10.80],\n ['\u0430', 9.47, 9.47],\n ['\u0431', 9.80, 9.80],\n ['\u0432', 8.87, 8.87],\n ['\u0433', 7.37, 7.34],\n ['\u0434', 11.33, 11.33],\n ['\u0435', 9.51, 9.51],\n ['\u0436', 13.96, 13.96],\n ['\u0437', 8.16, 8.16],\n ['\u0438', 9.84, 9.84],\n ['\u0439', 9.84, 9.84],\n ['\u043A', 9.53, 9.53],\n ['\u043B', 10.28, 10.28],\n ['\u043C', 11.46, 11.46],\n ['\u043D', 9.70, 9.70],\n ['\u043E', 9.64, 9.64],\n ['\u043F', 9.70, 9.70],\n ['\u0440', 10.04, 10.04],\n ['\u0441', 8.32, 8.38],\n ['\u0442', 8.18, 8.14],\n ['\u0443', 9.15, 9.15],\n ['\u0444', 13.90, 13.90],\n ['\u0445', 9.05, 9.05],\n ['\u0446', 10.40, 10.40],\n ['\u0447', 9.64, 9.64],\n ['\u0448', 14.88, 14.88],\n ['\u0449', 15.49, 15.49],\n ['\u044A', 10.55, 10.55],\n ['\u044B', 12.68, 12.68],\n ['\u044C', 8.87, 8.87],\n ['\u044D', 8.32, 8.41],\n ['\u044E', 13.63, 13.63],\n ['\u044F', 9.02, 9.02],\n ['\u0450', 9.51, 9.51],\n ['\u0451', 9.51, 9.51],\n ['\u0452', 10.02, 10.02],\n ['\u0453', 7.37, 7.34],\n ['\u0454', 8.32, 8.41],\n ['\u0455', 8.36, 8.36],\n ['\u0456', 4.82, 4.82],\n ['\u0457', 4.82, 4.82],\n ['\u0458', 4.82, 4.82],\n ['\u0459', 13.90, 13.90],\n ['\u045A', 13.41, 13.41],\n ['\u045B', 10.29, 10.29],\n ['\u045C', 9.53, 9.53],\n ['\u045D', 9.84, 9.84],\n ['\u045E', 9.15, 9.15],\n ['\u045F', 9.70, 9.70],\n ['\u20A6', 11.34, 11.40],\n ['\u20A9', 15.47, 15.47],\n ['\u20AA', 12.68, 12.68],\n ['\u20B1', 10.42, 10.46],\n];\n\nlet built: GlyphWidthTable | undefined;\n\n/** The letters and currency signs every Linux face of Mantine's default stack draws itself, at 14px. Built on first\n * asking, so loading the module does no work. */\nexport function mantineGlyphWidths(): GlyphWidthTable {\n built ??= new GlyphWidthTable(14, at14);\n return built;\n}\n"],
|
|
5
|
-
"mappings": "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AK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EACh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",
|
|
4
|
+
"sourcesContent": ["// MantineExGrid (ADR-0390, ADR-0030): ExGrid for React inside Mantine's Paper, its Chrome drawn in Mantine's\n// components and its Visual Tokens mapped onto the Mantine theme by the Wrapper's stylesheet. It owns no geometry, no\n// DOM inside the grid's root and no state: it hands the grid the widths of the font it sets, the preset Mantine's\n// words map onto, and its Chrome, and the grid decides everything else.\n\nimport { createElement, useMemo, type CSSProperties, type ReactElement } from 'react';\nimport { Paper, type MantineRadius, type MantineShadow } from '@mantine/core';\nimport { ExGrid, type ExGridProps } from '@ex-grid/react';\nimport { MantineSizeContext, mantineChrome } from './chrome';\nimport { mantineDefaultFont, mantinePresentationDefaults, mantineSizeOf, type MantineExGridFont } from './presentation';\n\n/** A MantineExGrid's props: an ExGrid's, and the Paper's and Table's words Mantine draws a grid with. No\n * `presentationDefaults`: the Wrapper's are its own, made from `font`, `striped` and `highlightOnHover`, so the\n * widths `####` is judged by are always the font's the Paper writes (ADR-0027). */\nexport type MantineExGridProps<Row> = Omit<ExGridProps<Row>, 'presentationDefaults'> & {\n /** The Paper's border, Mantine's `withBorder`. */\n readonly withBorder?: boolean;\n /** The Paper's corner radius, a theme radius or a CSS length; `0` sets the grid square in its Paper. */\n readonly radius?: MantineRadius;\n /** The Paper's shadow. */\n readonly shadow?: MantineShadow;\n /** Row Stripes where the grid is given no `stripeRows`, Mantine's Table's `striped` (ADR-0038). */\n readonly striped?: boolean;\n /** The hover band where the grid is given no `highlightHoverRow`, Mantine's Table's `highlightOnHover` (ADR-0029). */\n readonly highlightOnHover?: boolean;\n /** A rule between columns, Mantine's Table's `withColumnBorders`. */\n readonly withColumnBorders?: boolean;\n /** The cells' font with its widths (ADR-0027); Mantine's default stack unless given. */\n readonly font?: MantineExGridFont;\n /** A class for the Paper. */\n readonly className?: string;\n /** A style for the Paper. */\n readonly style?: CSSProperties;\n};\n\n/**\n * An Excel-like grid drawn with Mantine: the Chrome slots a `chrome` prop leaves are Mantine's, the cells are in\n * the font whose widths the grid judges `####` by, and the colours follow the theme and its scheme with no render.\n * Needs Mantine's MantineProvider above it and `@ex-grid/mantine/styles.css` loaded after Mantine's styles.\n */\nexport function MantineExGrid<Row>(props: MantineExGridProps<Row>): ReactElement {\n const {\n withBorder, radius, shadow, striped, highlightOnHover, withColumnBorders, font = mantineDefaultFont, className, style, chrome, ...grid\n } = props;\n const density = grid.density ?? 'compact'; // oxlint-disable-line ex-grid/no-stand-in-default -- ADR-0028: an untouched grid is compact\n const defaults = useMemo(\n () => mantinePresentationDefaults(font, {\n ...(striped === undefined ? {} : { striped }), ...(highlightOnHover === undefined ? {} : { highlightOnHover }),\n }),\n [font, striped, highlightOnHover]);\n // The Consumer's slots win over the Wrapper's; one merge per chrome handed, so a render function handed again\n // keeps its mount (ADR-0390).\n const merged = useMemo(() => (chrome === undefined ? mantineChrome : { ...mantineChrome, ...chrome }), [chrome]);\n const classes = ['mantine-ex-grid'];\n if (radius === 0) classes.push('mantine-ex-grid-square');\n // A Stretch grid follows its container's width (ADR-0045), so the Paper round it does too, rather than take the\n // width of every column as its own.\n if (grid.viewportWidth === 'stretch') classes.push('mantine-ex-grid-stretch');\n if (withColumnBorders === true) classes.push('mantine-ex-grid-column-borders');\n if (className !== undefined) classes.push(className);\n // The family is written beside the widths the grid is handed, in the same render (ADR-0027).\n const paperStyle: CSSProperties & Readonly<Record<'--ex-font-family', string>> = { ...style, '--ex-font-family': font.family };\n return createElement(Paper<'div'>, {\n className: classes.join(' '),\n style: paperStyle,\n ...(withBorder === undefined ? {} : { withBorder }),\n ...(radius === undefined ? {} : { radius }),\n ...(shadow === undefined ? {} : { shadow }),\n }, createElement(MantineSizeContext.Provider, { value: mantineSizeOf(density) },\n createElement(ExGrid<Row>, { ...grid, presentationDefaults: defaults, chrome: merged })));\n}\n", "// The Mantine Chrome (ADR-0390 section 3): Mantine's components in each of ExGrid for React's Chrome slots. What a\n// slot shows, its order, what a key means and what a choice does are the core's, reached through the React adapter's\n// hooks; these components only draw it in Mantine's look, at the size the grid's density maps onto. The frames they\n// stand in, the popovers and the boxes over a cell, are the core's, so Mantine's own Menu, Popover and Combobox,\n// which position themselves, are not used inside the grid.\n\nimport { createContext, createElement, useCallback, useContext, type ReactElement } from 'react';\nimport { Button, Checkbox, Loader, NativeSelect, Radio, Text, TextInput, type MantineSize } from '@mantine/core';\nimport {\n filterPanelLabelIds, findPanelLabelIds, operatorLabelId, summaryLabelIds, type FilterOperator, type FilterPanelCondition,\n type GridCellEditorSlotContext, type GridCellMessageSlotContext, type GridEditorCompletionSlotContext, type GridFilterPanelSlotContext,\n type GridFindPanelSlotContext, type GridFormulaBarTextSlotContext, type GridLoadingIndicatorSlotContext, type GridMenuSlotContext, type GridNameBoxSlotContext,\n type GridSelectionSummarySlotContext,\n} from '@ex-grid/core';\nimport {\n useCellEditor, useEditorCompletion, useFilterPanel, useFindPanel, useFormulaBarText, useMenuItems, useNameBox, type ExGridChrome,\n type FilterPanelHandles,\n} from '@ex-grid/react';\n\n/** The size Mantine's components are drawn at inside a grid: the one its density maps onto, handed down from\n * MantineExGrid through React's context, which a portal keeps. A frame of the Consumer's own that draws\n * {@link mantineChrome} gives it, as it gives the class `mantine-ex-grid` the Wrapper's stylesheet is scoped to. */\nexport const MantineSizeContext = createContext<MantineSize>('xs');\n\n/** A menu, the column menu's or the Context Menu's: one of Mantine's subtle buttons per command, as its Menu draws\n * an item. */\nfunction MantineMenu({ context }: { readonly context: GridMenuSlotContext }): ReactElement {\n const item = useMenuItems(context);\n const size = useContext(MantineSizeContext);\n return createElement('div', { role: 'none', className: 'mantine-ex-grid-menu' },\n ...context.commands.map((command, index) => createElement(Button<'button'>, {\n ...item(index), key: command.id, type: 'button', variant: 'subtle', color: 'gray', size, fullWidth: true,\n justify: 'flex-start', className: 'mantine-ex-grid-menu-item',\n }, context.label(command.id))));\n}\n\n/** One condition of the condition form: its operator, and its value where the operator takes one. */\nfunction conditionControls(context: GridFilterPanelSlotContext, condition: FilterPanelCondition | undefined, allowed: readonly FilterOperator[],\n second: boolean, size: MantineSize, handles: FilterPanelHandles): ReactElement[] {\n const choices = allowed.map(operator => ({ value: operator, label: context.label(operatorLabelId(operator)) }));\n const operator = createElement(NativeSelect, {\n key: second ? 'second-operator' : 'operator', size,\n data: second ? [{ value: '', label: context.label(filterPanelLabelIds.none) }, ...choices] : choices,\n value: condition === undefined ? '' : condition.operator,\n onChange: event => {\n const { value } = event.currentTarget;\n if (second && value === '') context.setSecond(undefined);\n else if (second) context.setSecond(operatorOf(value, allowed));\n else context.setOperator(operatorOf(value, allowed));\n },\n ...(second ? {} : { ref: handles.first }),\n });\n if (condition === undefined || !condition.takesOperand) return [operator];\n const operand = createElement(TextInput, {\n key: second ? 'second-operand' : 'operand', size, type: 'text', value: condition.operand,\n error: condition.refusal,\n onChange: event => { if (second) context.setSecondOperand(event.currentTarget.value); else context.setOperand(event.currentTarget.value); },\n ...(second ? {} : { ref: handles.search }),\n });\n return [operator, operand];\n}\n\n/** The operator an option names: one the core offered, never one a changed option claims (ADR-0009, FN-18). */\nfunction operatorOf(value: string, allowed: readonly FilterOperator[]): FilterOperator {\n const found = allowed.find(operator => operator === value);\n if (found === undefined) throw new RangeError(`'${value}' is not an operator this column's filter offers.`);\n return found;\n}\n\n/** The filter panel: the value list or the condition form as the core holds it, in Mantine's controls. */\nfunction MantineFilterPanel({ context }: { readonly context: GridFilterPanelSlotContext }): ReactElement {\n const handles = useFilterPanel(context);\n const { view, first, last, search, onValueListKeyDown } = handles;\n const size = useContext(MantineSizeContext);\n // The search box is both the first control and the one E puts the keyboard on: one ref made once, so a render\n // does not hand React a new one, which it would take away and back (useFilterPanel's refs are stable too).\n const searchBox = useCallback((control: HTMLInputElement | null) => { first(control); search(control); }, [first, search]);\n const body = view.kind === 'valueList'\n ? [\n createElement(TextInput, {\n key: 'search', size, type: 'search', value: view.search, placeholder: context.label(filterPanelLabelIds.search),\n 'aria-label': context.label(filterPanelLabelIds.search),\n ref: searchBox,\n onChange: event => { context.setSearch(event.currentTarget.value); },\n }),\n view.addOffered\n ? createElement(Checkbox, {\n key: 'add', size, label: context.label(filterPanelLabelIds.addToCurrent), checked: view.addToCurrent,\n onChange: event => { context.setAddToCurrent(event.currentTarget.checked); },\n })\n : null,\n createElement('div', { key: 'list', className: 'mantine-ex-grid-filter-values', onKeyDown: onValueListKeyDown },\n createElement(Checkbox, {\n key: 'all', size, checked: view.selectAll === 'checked', indeterminate: view.selectAll === 'mixed',\n label: context.label(view.search === '' ? filterPanelLabelIds.selectAll : filterPanelLabelIds.selectAllSearchResults),\n onChange: () => { context.toggleAll(); },\n }),\n // Keyed by position: two values may read the same (1.001 and 1.004 at two places), and the core's list\n // is the order it stands in.\n ...view.entries.map((each, at) => createElement(Checkbox, {\n key: at, size, label: each.text, checked: each.checked,\n onChange: event => { context.setChecked(each.value, event.currentTarget.checked); },\n }))),\n ]\n : [\n ...conditionControls(context, view.first, view.allowed, false, size, handles),\n createElement(Radio.Group, {\n key: 'join', value: view.combinator, size,\n onChange: (value: unknown) => {\n if (value !== 'and' && value !== 'or') throw new RangeError(`'${String(value)}' joins no two conditions (FN-18).`);\n context.setCombinator(value);\n },\n children: createElement('div', { className: 'mantine-ex-grid-filter-join' },\n createElement(Radio, { value: 'and', size, label: context.label(filterPanelLabelIds.and) }),\n createElement(Radio, { value: 'or', size, label: context.label(filterPanelLabelIds.or) })),\n }),\n ...conditionControls(context, view.second, view.allowed, true, size, handles),\n ];\n // OK before Cancel, as Excel orders them; Cancel, never disabled, is the last control Shift+Tab wraps to.\n return createElement('div', { className: 'mantine-ex-grid-filter' }, ...body,\n createElement('div', { className: 'mantine-ex-grid-filter-actions' },\n createElement(Button<'button'>, {\n type: 'button', size, className: 'ex-popover-closes', disabled: !view.canApply, onClick: () => { context.apply(); },\n }, context.label(filterPanelLabelIds.ok)),\n createElement(Button<'button'>, {\n type: 'button', size, variant: 'default', className: 'ex-popover-closes', ref: last, onClick: () => { context.cancel(); },\n }, context.label(filterPanelLabelIds.cancel))));\n}\n\n/** The find panel and its Replace: each change and step handed to the core, Enter left to the core's form. */\nfunction MantineFindPanel({ context }: { readonly context: GridFindPanelSlotContext }): ReactElement {\n const { view, field } = useFindPanel(context);\n const size = useContext(MantineSizeContext);\n const button = (id: string, press: () => void, variant: 'default' | 'filled', disabled = false): ReactElement =>\n createElement(Button<'button'>, { key: id, type: 'button', size, variant, disabled, onClick: press }, context.label(id));\n return createElement('div', { className: 'mantine-ex-grid-find' },\n createElement(TextInput, {\n size, ref: field, value: view.text, 'aria-label': context.label(findPanelLabelIds.field),\n placeholder: context.label(findPanelLabelIds.field), onChange: event => { context.setText(event.currentTarget.value); },\n }),\n createElement(Checkbox, {\n size, label: context.label(findPanelLabelIds.matchCase), checked: view.matchCase,\n onChange: event => { context.setMatchCase(event.currentTarget.checked); },\n }),\n createElement(Checkbox, {\n size, label: context.label(findPanelLabelIds.wholeCell), checked: view.wholeCell,\n onChange: event => { context.setWholeCell(event.currentTarget.checked); },\n }),\n createElement('div', { className: 'mantine-ex-grid-find-actions' },\n ...(view.findAllShown ? [button(findPanelLabelIds.findAll, context.findAll, 'default')] : []),\n button(findPanelLabelIds.previous, context.previous, 'default'),\n button(findPanelLabelIds.next, context.next, 'filled')),\n ...(view.replaceShown ? [\n createElement(TextInput, {\n key: 'replace', size, value: view.replaceText, 'aria-label': context.label(findPanelLabelIds.replaceField),\n placeholder: context.label(findPanelLabelIds.replaceField), onChange: event => { context.setReplaceText(event.currentTarget.value); },\n }),\n createElement('div', { key: 'writes', className: 'mantine-ex-grid-find-actions' },\n button(findPanelLabelIds.replace, context.replace, 'default', view.replaceWaiting),\n button(findPanelLabelIds.replaceAll, context.replaceAll, 'filled', view.replaceWaiting)),\n ] : []),\n createElement(Text<'span'>, { size, role: 'status', className: 'mantine-ex-grid-find-outcome' }, view.outcome));\n}\n\n/** The Cell Editor's field, uncontrolled as the hook asks: the core reads it at the commit and marks a Reject on it. */\nfunction MantineCellEditor({ context }: { readonly context: GridCellEditorSlotContext }): ReactElement {\n const { field, defaultValue } = useCellEditor(context);\n return createElement('input', { ref: field, defaultValue, className: 'mantine-ex-editor' });\n}\n\n/** The Formula Bar's text field, uncontrolled, dimmed where its text is borrowed. */\nfunction MantineBarText({ context }: { readonly context: GridFormulaBarTextSlotContext }): ReactElement {\n const { view, field } = useFormulaBarText(context);\n return createElement('input', { ref: field, className: 'mantine-ex-formula-bar-text', 'data-borrowed': view.borrowed ? '' : undefined });\n}\n\n/** The Name Box's field. */\nfunction MantineNameBox({ context }: { readonly context: GridNameBoxSlotContext }): ReactElement {\n const { field } = useNameBox(context);\n return createElement('input', { ref: field, className: 'mantine-ex-name-box' });\n}\n\n/** A cell's message, the core's sentence, in Mantine's text. */\nfunction MantineCellMessage({ context }: { readonly context: GridCellMessageSlotContext }): ReactElement {\n const size = useContext(MantineSizeContext);\n return createElement(Text<'span'>, { size, span: true }, context.message);\n}\n\n/** The loading indicator: Mantine's Loader while rows are on their way, and nothing once they are in. */\nfunction MantineLoading({ context }: { readonly context: GridLoadingIndicatorSlotContext }): ReactElement | null {\n const size = useContext(MantineSizeContext);\n return context.loading ? createElement(Loader, { size, type: 'dots' }) : null;\n}\n\n/** The Selection Summary's figures, each named and formatted by the core, in Excel's order. */\nfunction MantineSelectionSummary({ context }: { readonly context: GridSelectionSummarySlotContext }): ReactElement {\n const size = useContext(MantineSizeContext);\n const said = context.status === 'pending' ? context.label(summaryLabelIds.pending)\n : context.status === 'declined' ? context.declineReason\n : context.figures.map(figure => `${context.label(figure.labelId)}: ${figure.text}`).join(' ');\n return createElement(Text<'span'>, { size, span: true }, said);\n}\n\n/** The completion list and the argument hint (ADR-0051): the chosen candidate in the theme's primary as Mantine's\n * Combobox marks its selected option, and the hint beneath in Mantine's dimmed colour with the argument the caret is\n * in set off. Both are in the cell's font, as the text typed above them is. The box, its place and every key are the\n * core's, so Mantine's Combobox, which keeps its own store and keys, is not used. */\nfunction MantineCompletion({ context }: { readonly context: GridEditorCompletionSlotContext }): ReactElement {\n const { list, option } = useEditorCompletion(context);\n const hint = context.hint?.parts();\n return createElement('div', { className: 'mantine-ex-grid-completion' },\n context.candidates.length === 0 ? null : createElement('div', { ...list, className: 'mantine-ex-grid-completion-list' },\n ...context.candidates.map((candidate, index) => createElement('div', {\n ...option(index), key: index, className: 'mantine-ex-grid-completion-item',\n }, candidate.label))),\n hint === undefined ? null : createElement('div', { className: 'mantine-ex-grid-completion-hint' },\n hint[0], hint[1].length === 0 ? null : createElement('strong', null, hint[1]), hint[2]));\n}\n\nconst menu = (context: GridMenuSlotContext): ReactElement => createElement(MantineMenu, { context });\n\n/** Every Chrome slot drawn in Mantine's components: what {@link MantineExGrid} hands its grid. A Consumer that frames\n * an ExGrid itself spreads it into the grid's `chrome`, inside an element of the class `mantine-ex-grid` and a\n * {@link MantineSizeContext}, as MantineExGrid draws them. */\nexport const mantineChrome: ExGridChrome<unknown> = Object.freeze({\n columnMenu: menu,\n contextMenu: menu,\n filterPanel: (context: GridFilterPanelSlotContext) => createElement(MantineFilterPanel, { context }),\n findPanel: (context: GridFindPanelSlotContext) => createElement(MantineFindPanel, { context }),\n cellEditor: (context: GridCellEditorSlotContext) => createElement(MantineCellEditor, { context }),\n cellMessage: (context: GridCellMessageSlotContext) => createElement(MantineCellMessage, { context }),\n loadingIndicator: (context: GridLoadingIndicatorSlotContext) => createElement(MantineLoading, { context }),\n selectionSummary: (context: GridSelectionSummarySlotContext) => createElement(MantineSelectionSummary, { context }),\n formulaBarText: (context: GridFormulaBarTextSlotContext) => createElement(MantineBarText, { context }),\n nameBox: (context: GridNameBoxSlotContext) => createElement(MantineNameBox, { context }),\n editorCompletion: (context: GridEditorCompletionSlotContext) => createElement(MantineCompletion, { context }),\n});\n", "// What @ex-grid/mantine hands the grids inside it (ADR-0030, ADR-0390): the widths of the font its stylesheet sets\n// and the preset Mantine's own words map onto. Whoever sets the font owes the widths (ADR-0027), so the font and its\n// widths travel in one value.\n\nimport { GridPresentationDefaults, type GridDensity, type GridPresentationDefaultsOptions } from '@ex-grid/core';\nimport type { MantineSize } from '@mantine/core';\nimport { mantineClassWidths, mantineGlyphWidths } from './mantine-glyph-widths';\n\n/** The widths a font is charged at, in the forms the grid takes: everything a Wrapper's presentation defaults hold\n * but the Density, hover band and Row Stripes, which are the Wrapper's words. */\nexport type MantineExGridFontWidths = Omit<GridPresentationDefaultsOptions, 'density' | 'highlightHoverRow' | 'stripeRows'>;\n\n/** A font for the grid's cells, with the widths measured for it (ADR-0027): `family` is written as\n * `--ex-font-family` and `widths` are what `####` is judged by, in the same render. */\nexport interface MantineExGridFont {\n /** The CSS font family list, as `font-family` takes it. */\n readonly family: string;\n /** The widths measured for that family (`tests/GlyphWidths` measures one). */\n readonly widths: MantineExGridFontWidths;\n}\n\n/** Mantine's default font stack (`-apple-system`, `BlinkMacSystemFont`, `Segoe UI`, `Roboto`, `Helvetica`,\n * `Arial`, `sans-serif`) with the widest widths any face it resolves to was measured at: macOS's system face, Segoe UI,\n * Roboto, Liberation Sans for Helvetica and Arial on Linux, and DejaVu Sans. What the cells are drawn in unless a\n * font is given. */\nexport const mantineDefaultFont: MantineExGridFont = Object.freeze({\n family: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n widths: Object.freeze({\n ...mantineClassWidths,\n get glyphWidths() { return mantineGlyphWidths(); },\n }),\n});\n\n/** What Mantine's own words are on the Wrapper: its Table's `striped` and `highlightOnHover`. */\nexport interface MantinePresentationWords {\n /** The preset the grid takes where it is given none. */\n readonly density?: GridDensity;\n /** Row Stripes, Mantine's Table's `striped` (ADR-0038). */\n readonly striped?: boolean;\n /** The hover band, Mantine's Table's `highlightOnHover` (ADR-0029). */\n readonly highlightOnHover?: boolean;\n}\n\n/** What the Wrapper hands a grid: `font`'s widths, and the Density, hover band and Row Stripes its words map onto. A\n * value the grid is given beats these, and these beat the preset (ADR-0028). */\nexport function mantinePresentationDefaults(font: MantineExGridFont, words: MantinePresentationWords = {}): GridPresentationDefaults {\n return new GridPresentationDefaults({\n ...font.widths,\n ...(words.density === undefined ? {} : { density: words.density }),\n ...(words.striped === undefined ? {} : { stripeRows: words.striped }),\n ...(words.highlightOnHover === undefined ? {} : { highlightHoverRow: words.highlightOnHover }),\n });\n}\n\n/** The size Mantine's components are drawn at in a grid of `density` (ADR-0390): Mantine has no word like Dense, so\n * the preset picks a size, `xs` for the compact ones and `sm`, Mantine's own default, for Standard. */\nexport function mantineSizeOf(density: GridDensity): MantineSize {\n switch (density) {\n case 'compact':\n case 'excel':\n return 'xs';\n case 'standard':\n return 'sm';\n case 'comfortable':\n return 'md';\n default:\n throw new RangeError(`Unknown density preset '${String(density satisfies never)}' (ADR-0028).`);\n }\n}\n", "// Generated by tests/GlyphWidths/tables.mjs from system-ui on macos in Chrome 154 (2026-10-01),\n// system-ui on windows in Chrome 154 (2026-10-11), system-ui on windows in Edge 155 (2026-10-11),\n// roboto on macos in Chrome 154 (2026-10-01), roboto on windows in Chrome 154 (2026-10-11), roboto\n// on windows in Edge 155 (2026-10-11), dejavu-sans on macos in Chrome 154 (2026-10-01),\n// liberation-sans on linux in Chrome 153 (2026-10-27).\n// Do not edit by hand: measure again and run it (tests/GlyphWidths/README.md).\nimport { GlyphWidthTable } from '@ex-grid/core';\n\ntype Row = readonly [glyph: string, regularPx: number, boldPx: number];\n\n/** The class widths of Mantine's default stack at 14px, which the core scales to the resolved size: each the\n * widest any record shows at 400, 500 and 600 (regular) or 700 (bold), at 14px or at 12px scaled, a shade over. */\nexport const mantineClassWidths = Object.freeze({\n fontSizePx: 14,\n wideWidthPx: 14.05,\n digitWidthPx: 9.76,\n narrowWidthPx: 6.42,\n otherWidthPx: 14.01,\n boldWideWidthPx: 14.52,\n boldDigitWidthPx: 9.76,\n boldNarrowWidthPx: 6.42,\n boldOtherWidthPx: 14.01,\n} as const);\n\nconst at14: readonly Row[] = [\n ['A', 10.86, 10.86],\n ['B', 10.69, 10.69],\n ['C', 10.29, 10.40],\n ['D', 11.64, 11.64],\n ['F', 9.59, 9.59],\n ['G', 11.51, 11.51],\n ['H', 11.73, 11.73],\n ['I', 5.23, 5.23],\n ['J', 8.14, 8.43],\n ['K', 10.87, 10.87],\n ['L', 8.94, 8.94],\n ['M', 13.96, 13.96],\n ['N', 11.73, 11.73],\n ['O', 11.92, 11.92],\n ['P', 10.28, 10.28],\n ['Q', 11.92, 11.92],\n ['R', 10.80, 10.80],\n ['S', 10.11, 10.11],\n ['T', 9.89, 9.89],\n ['U', 11.38, 11.38],\n ['V', 10.86, 10.86],\n ['W', 15.47, 15.47],\n ['X', 10.82, 10.82],\n ['Y', 10.16, 10.16],\n ['Z', 10.17, 10.17],\n ['a', 9.47, 9.47],\n ['b', 10.04, 10.04],\n ['c', 8.32, 8.32],\n ['d', 10.04, 10.04],\n ['e', 9.51, 9.51],\n ['f', 6.12, 6.12],\n ['g', 10.04, 10.04],\n ['h', 9.98, 9.98],\n ['i', 4.82, 4.82],\n ['j', 4.82, 4.82],\n ['k', 9.33, 9.33],\n ['l', 4.82, 4.82],\n ['m', 14.61, 14.61],\n ['n', 9.98, 9.98],\n ['o', 9.64, 9.64],\n ['p', 10.04, 10.04],\n ['q', 10.04, 10.04],\n ['r', 6.92, 6.92],\n ['s', 8.36, 8.36],\n ['t', 6.72, 6.72],\n ['u', 9.98, 9.98],\n ['v', 9.15, 9.15],\n ['w', 12.95, 12.95],\n ['x', 9.05, 9.05],\n ['y', 9.15, 9.15],\n ['z', 8.17, 8.17],\n ['\u00A2', 9.76, 9.76],\n ['\u00A4', 10.01, 9.71],\n ['\u00C0', 10.86, 10.86],\n ['\u00C1', 10.86, 10.86],\n ['\u00C2', 10.86, 10.86],\n ['\u00C3', 10.86, 10.86],\n ['\u00C4', 10.86, 10.86],\n ['\u00C5', 10.86, 10.86],\n ['\u00C6', 15.21, 15.21],\n ['\u00C7', 10.29, 10.40],\n ['\u00C8', 9.59, 9.59],\n ['\u00C9', 9.59, 9.59],\n ['\u00CA', 9.59, 9.59],\n ['\u00CB', 9.59, 9.59],\n ['\u00CC', 5.23, 5.23],\n ['\u00CD', 5.23, 5.23],\n ['\u00CE', 5.23, 5.23],\n ['\u00CF', 5.23, 5.23],\n ['\u00D0', 11.75, 11.75],\n ['\u00D1', 11.73, 11.73],\n ['\u00D2', 11.92, 11.92],\n ['\u00D3', 11.92, 11.92],\n ['\u00D4', 11.92, 11.92],\n ['\u00D5', 11.92, 11.92],\n ['\u00D6', 11.92, 11.92],\n ['\u00D8', 11.92, 11.92],\n ['\u00D9', 11.38, 11.38],\n ['\u00DA', 11.38, 11.38],\n ['\u00DB', 11.38, 11.38],\n ['\u00DC', 11.38, 11.38],\n ['\u00DD', 10.16, 10.16],\n ['\u00DE', 10.35, 10.35],\n ['\u00DF', 10.09, 10.09],\n ['\u00E0', 9.47, 9.47],\n ['\u00E1', 9.47, 9.47],\n ['\u00E2', 9.47, 9.47],\n ['\u00E3', 9.47, 9.47],\n ['\u00E4', 9.47, 9.47],\n ['\u00E5', 9.47, 9.47],\n ['\u00E6', 14.68, 14.68],\n ['\u00E7', 8.32, 8.32],\n ['\u00E8', 9.51, 9.51],\n ['\u00E9', 9.51, 9.51],\n ['\u00EA', 9.51, 9.51],\n ['\u00EB', 9.51, 9.51],\n ['\u00EC', 4.82, 4.82],\n ['\u00ED', 4.82, 4.82],\n ['\u00EE', 4.82, 4.82],\n ['\u00EF', 4.82, 4.82],\n ['\u00F0', 9.64, 9.64],\n ['\u00F1', 9.98, 9.98],\n ['\u00F2', 9.64, 9.64],\n ['\u00F3', 9.64, 9.64],\n ['\u00F4', 9.64, 9.64],\n ['\u00F5', 9.64, 9.64],\n ['\u00F6', 9.64, 9.64],\n ['\u00F8', 9.64, 9.64],\n ['\u00F9', 9.98, 9.98],\n ['\u00FA', 9.98, 9.98],\n ['\u00FB', 9.98, 9.98],\n ['\u00FC', 9.98, 9.98],\n ['\u00FD', 9.15, 9.15],\n ['\u00FE', 10.04, 10.04],\n ['\u00FF', 9.15, 9.15],\n ['\u0100', 10.86, 10.86],\n ['\u0101', 9.47, 9.47],\n ['\u0102', 10.86, 10.86],\n ['\u0103', 9.47, 9.47],\n ['\u0104', 10.86, 10.86],\n ['\u0105', 9.47, 9.47],\n ['\u0106', 10.29, 10.40],\n ['\u0107', 8.32, 8.32],\n ['\u0108', 10.29, 10.40],\n ['\u0109', 8.32, 8.32],\n ['\u010A', 10.29, 10.40],\n ['\u010B', 8.32, 8.32],\n ['\u010C', 10.29, 10.40],\n ['\u010D', 8.32, 8.32],\n ['\u010E', 11.64, 11.64],\n ['\u010F', 10.55, 10.89],\n ['\u0110', 11.75, 11.75],\n ['\u0111', 10.04, 10.04],\n ['\u0112', 9.59, 9.59],\n ['\u0113', 9.51, 9.51],\n ['\u0114', 9.59, 9.59],\n ['\u0115', 9.51, 9.51],\n ['\u0116', 9.59, 9.59],\n ['\u0117', 9.51, 9.51],\n ['\u0118', 9.59, 9.59],\n ['\u0119', 9.51, 9.51],\n ['\u011A', 9.59, 9.59],\n ['\u011B', 9.51, 9.51],\n ['\u011C', 11.51, 11.51],\n ['\u011D', 10.04, 10.04],\n ['\u011E', 11.51, 11.51],\n ['\u011F', 10.04, 10.04],\n ['\u0120', 11.51, 11.51],\n ['\u0121', 10.04, 10.04],\n ['\u0122', 11.51, 11.51],\n ['\u0123', 10.04, 10.04],\n ['\u0124', 11.73, 11.73],\n ['\u0125', 9.98, 9.98],\n ['\u0126', 13.65, 13.65],\n ['\u0127', 11.08, 11.08],\n ['\u0128', 5.23, 5.23],\n ['\u0129', 4.82, 4.82],\n ['\u012A', 5.23, 5.23],\n ['\u012B', 4.82, 4.82],\n ['\u012C', 5.23, 5.23],\n ['\u012D', 4.82, 4.82],\n ['\u012E', 5.23, 5.23],\n ['\u012F', 4.82, 4.82],\n ['\u0130', 5.23, 5.23],\n ['\u0131', 4.82, 4.82],\n ['\u0132', 12.35, 12.90],\n ['\u0133', 9.62, 9.62],\n ['\u0134', 8.14, 8.43],\n ['\u0135', 4.82, 4.82],\n ['\u0136', 10.87, 10.87],\n ['\u0137', 9.33, 9.33],\n ['\u0138', 9.33, 9.33],\n ['\u0139', 8.94, 8.94],\n ['\u013A', 4.82, 4.82],\n ['\u013B', 8.94, 8.94],\n ['\u013C', 4.82, 4.82],\n ['\u013D', 8.94, 8.94],\n ['\u013E', 6.74, 6.74],\n ['\u013F', 8.94, 8.94],\n ['\u0140', 7.81, 7.81],\n ['\u0141', 9.02, 9.02],\n ['\u0142', 5.21, 5.21],\n ['\u0143', 11.73, 11.73],\n ['\u0144', 9.98, 9.98],\n ['\u0145', 11.73, 11.73],\n ['\u0146', 9.98, 9.98],\n ['\u0147', 11.73, 11.73],\n ['\u0148', 9.98, 9.98],\n ['\u0149', 13.78, 13.78],\n ['\u014A', 11.73, 11.73],\n ['\u014B', 9.98, 9.98],\n ['\u014C', 11.92, 11.92],\n ['\u014D', 9.64, 9.64],\n ['\u014E', 11.92, 11.92],\n ['\u014F', 9.64, 9.64],\n ['\u0150', 11.92, 11.92],\n ['\u0151', 9.64, 9.64],\n ['\u0152', 16.36, 16.36],\n ['\u0153', 15.34, 15.34],\n ['\u0154', 10.80, 10.80],\n ['\u0155', 6.92, 6.92],\n ['\u0156', 10.80, 10.80],\n ['\u0157', 6.92, 6.92],\n ['\u0158', 10.80, 10.80],\n ['\u0159', 6.92, 6.92],\n ['\u015A', 10.11, 10.11],\n ['\u015B', 8.36, 8.36],\n ['\u015C', 10.11, 10.11],\n ['\u015D', 8.36, 8.36],\n ['\u015E', 10.11, 10.11],\n ['\u015F', 8.36, 8.36],\n ['\u0160', 10.11, 10.11],\n ['\u0161', 8.36, 8.36],\n ['\u0162', 9.57, 9.57],\n ['\u0163', 6.72, 6.72],\n ['\u0164', 9.89, 9.89],\n ['\u0165', 6.73, 7.20],\n ['\u0166', 9.57, 9.57],\n ['\u0167', 6.72, 6.72],\n ['\u0168', 11.38, 11.38],\n ['\u0169', 9.98, 9.98],\n ['\u016A', 11.38, 11.38],\n ['\u016B', 9.98, 9.98],\n ['\u016C', 11.38, 11.38],\n ['\u016D', 9.98, 9.98],\n ['\u016E', 11.38, 11.38],\n ['\u016F', 9.98, 9.98],\n ['\u0170', 11.38, 11.38],\n ['\u0171', 9.98, 9.98],\n ['\u0172', 11.38, 11.38],\n ['\u0173', 9.98, 9.98],\n ['\u0174', 15.47, 15.47],\n ['\u0175', 12.95, 12.95],\n ['\u0176', 10.16, 10.16],\n ['\u0177', 9.15, 9.15],\n ['\u0178', 10.16, 10.16],\n ['\u0179', 10.17, 10.17],\n ['\u017A', 8.17, 8.17],\n ['\u017B', 10.17, 10.17],\n ['\u017C', 8.17, 8.17],\n ['\u017D', 10.17, 10.17],\n ['\u017E', 8.17, 8.17],\n ['\u017F', 6.12, 6.12],\n ['\u0192', 7.81, 8.07],\n ['\u0386', 11.18, 11.18],\n ['\u0388', 11.97, 11.97],\n ['\u0389', 14.14, 14.14],\n ['\u038A', 7.90, 7.90],\n ['\u038C', 12.48, 12.48],\n ['\u038E', 13.74, 13.74],\n ['\u038F', 12.73, 12.97],\n ['\u0390', 5.48, 5.48],\n ['\u0391', 10.86, 10.86],\n ['\u0392', 10.69, 10.69],\n ['\u0393', 8.94, 8.94],\n ['\u0394', 10.86, 10.86],\n ['\u0395', 9.59, 9.59],\n ['\u0396', 10.17, 10.17],\n ['\u0397', 11.73, 11.73],\n ['\u0398', 11.92, 11.92],\n ['\u0399', 5.23, 5.23],\n ['\u039A', 10.87, 10.87],\n ['\u039B', 10.86, 10.86],\n ['\u039C', 13.96, 13.96],\n ['\u039D', 11.73, 11.73],\n ['\u039E', 9.34, 9.40],\n ['\u039F', 11.92, 11.92],\n ['\u03A0', 11.73, 11.73],\n ['\u03A1', 10.28, 10.28],\n ['\u03A3', 9.59, 9.59],\n ['\u03A4', 9.57, 9.57],\n ['\u03A5', 10.16, 10.16],\n ['\u03A6', 12.42, 12.77],\n ['\u03A7', 10.82, 10.82],\n ['\u03A8', 11.95, 12.19],\n ['\u03A9', 11.92, 11.92],\n ['\u03AA', 5.23, 5.23],\n ['\u03AB', 10.16, 10.16],\n ['\u03AC', 9.64, 9.64],\n ['\u03AD', 7.81, 8.09],\n ['\u03AE', 9.98, 9.98],\n ['\u03AF', 5.48, 5.48],\n ['\u03B0', 9.48, 9.48],\n ['\u03B1', 9.64, 9.64],\n ['\u03B2', 10.04, 10.04],\n ['\u03B3', 9.56, 9.56],\n ['\u03B4', 9.64, 9.64],\n ['\u03B5', 7.81, 8.09],\n ['\u03B6', 8.29, 8.29],\n ['\u03B7', 9.98, 9.98],\n ['\u03B8', 9.64, 9.64],\n ['\u03B9', 5.48, 5.48],\n ['\u03BA', 9.96, 9.96],\n ['\u03BB', 8.87, 8.87],\n ['\u03BC', 10.33, 10.33],\n ['\u03BD', 9.56, 9.56],\n ['\u03BE', 8.29, 8.29],\n ['\u03BF', 9.64, 9.64],\n ['\u03C0', 11.09, 11.09],\n ['\u03C1', 10.04, 10.04],\n ['\u03C2', 8.32, 8.32],\n ['\u03C3', 10.93, 10.93],\n ['\u03C4', 8.96, 8.96],\n ['\u03C5', 9.48, 9.48],\n ['\u03C6', 10.97, 10.97],\n ['\u03C7', 9.05, 9.05],\n ['\u03C8', 11.13, 11.13],\n ['\u03C9', 12.19, 12.19],\n ['\u03CA', 5.48, 5.48],\n ['\u03CB', 9.48, 9.48],\n ['\u03CC', 9.64, 9.64],\n ['\u03CD', 9.48, 9.48],\n ['\u03CE', 12.19, 12.19],\n ['\u0400', 9.59, 9.59],\n ['\u0401', 9.59, 9.59],\n ['\u0402', 12.42, 12.42],\n ['\u0403', 8.94, 8.94],\n ['\u0404', 10.55, 10.67],\n ['\u0405', 10.11, 10.11],\n ['\u0406', 5.23, 5.23],\n ['\u0407', 5.23, 5.23],\n ['\u0408', 8.27, 8.58],\n ['\u0409', 16.18, 16.18],\n ['\u040A', 16.07, 16.29],\n ['\u040B', 12.83, 12.97],\n ['\u040C', 11.46, 11.46],\n ['\u040D', 11.73, 11.73],\n ['\u040E', 10.82, 10.82],\n ['\u040F', 11.73, 11.73],\n ['\u0410', 10.86, 10.86],\n ['\u0411', 10.69, 10.69],\n ['\u0412', 10.69, 10.69],\n ['\u0413', 8.94, 8.94],\n ['\u0414', 12.48, 12.48],\n ['\u0415', 9.59, 9.59],\n ['\u0416', 17.16, 17.16],\n ['\u0417', 9.96, 9.96],\n ['\u0418', 11.73, 11.73],\n ['\u0419', 11.73, 11.73],\n ['\u041A', 11.46, 11.46],\n ['\u041B', 11.65, 11.65],\n ['\u041C', 13.96, 13.96],\n ['\u041D', 11.73, 11.73],\n ['\u041E', 11.92, 11.92],\n ['\u041F', 11.73, 11.73],\n ['\u0420', 10.28, 10.28],\n ['\u0421', 10.42, 10.53],\n ['\u0422', 9.57, 9.57],\n ['\u0423', 10.82, 10.82],\n ['\u0424', 13.90, 13.90],\n ['\u0425', 10.82, 10.82],\n ['\u0426', 13.01, 13.01],\n ['\u0427', 11.34, 11.34],\n ['\u0428', 17.31, 17.31],\n ['\u0429', 18.59, 18.59],\n ['\u042A', 13.17, 13.17],\n ['\u042B', 14.53, 14.53],\n ['\u042C', 10.69, 10.69],\n ['\u042D', 10.55, 10.67],\n ['\u042E', 16.45, 16.45],\n ['\u042F', 10.80, 10.80],\n ['\u0430', 9.47, 9.47],\n ['\u0431', 9.80, 9.80],\n ['\u0432', 8.87, 8.87],\n ['\u0433', 7.37, 7.34],\n ['\u0434', 11.33, 11.33],\n ['\u0435', 9.51, 9.51],\n ['\u0436', 13.96, 13.96],\n ['\u0437', 8.16, 8.16],\n ['\u0438', 9.84, 9.84],\n ['\u0439', 9.84, 9.84],\n ['\u043A', 9.53, 9.53],\n ['\u043B', 10.28, 10.28],\n ['\u043C', 11.46, 11.46],\n ['\u043D', 9.70, 9.70],\n ['\u043E', 9.64, 9.64],\n ['\u043F', 9.70, 9.70],\n ['\u0440', 10.04, 10.04],\n ['\u0441', 8.32, 8.38],\n ['\u0442', 8.18, 8.14],\n ['\u0443', 9.15, 9.15],\n ['\u0444', 13.90, 13.90],\n ['\u0445', 9.05, 9.05],\n ['\u0446', 10.40, 10.40],\n ['\u0447', 9.64, 9.64],\n ['\u0448', 14.88, 14.88],\n ['\u0449', 15.49, 15.49],\n ['\u044A', 10.55, 10.55],\n ['\u044B', 12.68, 12.68],\n ['\u044C', 8.87, 8.87],\n ['\u044D', 8.32, 8.41],\n ['\u044E', 13.63, 13.63],\n ['\u044F', 9.02, 9.02],\n ['\u0450', 9.51, 9.51],\n ['\u0451', 9.51, 9.51],\n ['\u0452', 10.02, 10.02],\n ['\u0453', 7.37, 7.34],\n ['\u0454', 8.32, 8.41],\n ['\u0455', 8.36, 8.36],\n ['\u0456', 4.82, 4.82],\n ['\u0457', 4.82, 4.82],\n ['\u0458', 4.82, 4.82],\n ['\u0459', 13.90, 13.90],\n ['\u045A', 13.41, 13.41],\n ['\u045B', 10.29, 10.29],\n ['\u045C', 9.53, 9.53],\n ['\u045D', 9.84, 9.84],\n ['\u045E', 9.15, 9.15],\n ['\u045F', 9.70, 9.70],\n ['\u20A6', 11.34, 11.40],\n ['\u20A9', 15.47, 15.47],\n ['\u20AA', 12.68, 12.68],\n ['\u20B1', 10.42, 10.46],\n];\n\nlet built: GlyphWidthTable | undefined;\n\n/** The letters and currency signs every Linux face of Mantine's default stack draws itself, at 14px. Built on first\n * asking, so loading the module does no work. */\nexport function mantineGlyphWidths(): GlyphWidthTable {\n built ??= new GlyphWidthTable(14, at14);\n return built;\n}\n"],
|
|
5
|
+
"mappings": "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AA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAAO,KAAK;AAAA,EAClB,CAAC,UAAK,MAAM,IAAI;AAAA,EAChB,CAAC,UAAK,OAA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",
|
|
6
6
|
"names": ["createElement", "operator", "createElement"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ex-grid/mantine",
|
|
3
|
-
"version": "0.2.0-
|
|
3
|
+
"version": "0.2.0-rc.1",
|
|
4
4
|
"description": "ExGrid for Mantine: the design-system Wrapper that draws ExGrid for React's Chrome with Mantine's components and maps its Visual Tokens onto a Mantine theme.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"styles.css"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@ex-grid/core": "0.2.0-
|
|
31
|
-
"@ex-grid/react": "0.2.0-
|
|
30
|
+
"@ex-grid/core": "0.2.0-rc.1",
|
|
31
|
+
"@ex-grid/react": "0.2.0-rc.1"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"@mantine/core": "^9.7.0",
|
package/styles.css
CHANGED
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
and everything drawn with it is the primary filled. */
|
|
24
24
|
--ex-selection-fill: color-mix(in srgb, var(--mantine-primary-color-filled) 18%, transparent);
|
|
25
25
|
--ex-focus-row-fill: color-mix(in srgb, var(--mantine-primary-color-filled) 8%, transparent);
|
|
26
|
+
/* The hover band is an overlay drawn above the cells' text, as the Focus band is (ADR-0029), so it is
|
|
27
|
+
translucent: the text's colour thinned until it lays the shade Mantine's Table hovers in over the body. An
|
|
28
|
+
opaque shade there hid every value in the row under the pointer. */
|
|
26
29
|
--ex-row-hover-background: var(--mantine-ex-hover);
|
|
27
30
|
/* Row Stripes (ADR-0038): Mantine's own striped colour. */
|
|
28
31
|
--ex-row-stripe-background: var(--mantine-ex-stripe);
|
|
@@ -78,7 +81,8 @@
|
|
|
78
81
|
/* The colours Mantine's Table and Tooltip take per scheme, named once here so the tokens above read one variable. */
|
|
79
82
|
:where([data-mantine-color-scheme='light']) .mantine-ex-grid {
|
|
80
83
|
--mantine-ex-rule: var(--mantine-color-gray-3);
|
|
81
|
-
|
|
84
|
+
/* gray-1 over the white body. */
|
|
85
|
+
--mantine-ex-hover: color-mix(in srgb, var(--mantine-color-text) 5%, transparent);
|
|
82
86
|
--mantine-ex-stripe: var(--mantine-color-gray-0);
|
|
83
87
|
--mantine-ex-tooltip-background: var(--mantine-color-gray-9);
|
|
84
88
|
--mantine-ex-tooltip-color: var(--mantine-color-white);
|
|
@@ -89,7 +93,8 @@
|
|
|
89
93
|
}
|
|
90
94
|
:where([data-mantine-color-scheme='dark']) .mantine-ex-grid {
|
|
91
95
|
--mantine-ex-rule: var(--mantine-color-dark-4);
|
|
92
|
-
|
|
96
|
+
/* dark-5 over the dark-7 body. */
|
|
97
|
+
--mantine-ex-hover: color-mix(in srgb, var(--mantine-color-text) 14%, transparent);
|
|
93
98
|
--mantine-ex-stripe: var(--mantine-color-dark-6);
|
|
94
99
|
--mantine-ex-tooltip-background: var(--mantine-color-gray-2);
|
|
95
100
|
--mantine-ex-tooltip-color: var(--mantine-color-black);
|