@arbor-education/design-system.components 0.25.7 → 0.25.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/components/table/Table.d.ts +6 -0
  3. package/dist/components/table/Table.d.ts.map +1 -1
  4. package/dist/components/table/Table.js +3 -0
  5. package/dist/components/table/Table.js.map +1 -1
  6. package/dist/components/table/Table.stories.d.ts +1 -0
  7. package/dist/components/table/Table.stories.d.ts.map +1 -1
  8. package/dist/components/table/Table.stories.js +41 -0
  9. package/dist/components/table/Table.stories.js.map +1 -1
  10. package/dist/components/table/cellRenderers/NumberInputCellRenderer.d.ts +10 -0
  11. package/dist/components/table/cellRenderers/NumberInputCellRenderer.d.ts.map +1 -0
  12. package/dist/components/table/cellRenderers/NumberInputCellRenderer.js +13 -0
  13. package/dist/components/table/cellRenderers/NumberInputCellRenderer.js.map +1 -0
  14. package/dist/components/table/cellRenderers/NumberInputCellRenderer.stories.d.ts +90 -0
  15. package/dist/components/table/cellRenderers/NumberInputCellRenderer.stories.d.ts.map +1 -0
  16. package/dist/components/table/cellRenderers/NumberInputCellRenderer.stories.js +243 -0
  17. package/dist/components/table/cellRenderers/NumberInputCellRenderer.stories.js.map +1 -0
  18. package/dist/components/table/cellRenderers/NumberInputCellRenderer.test.d.ts +2 -0
  19. package/dist/components/table/cellRenderers/NumberInputCellRenderer.test.d.ts.map +1 -0
  20. package/dist/components/table/cellRenderers/NumberInputCellRenderer.test.js +72 -0
  21. package/dist/components/table/cellRenderers/NumberInputCellRenderer.test.js.map +1 -0
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -0
  25. package/dist/index.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/components/table/Table.stories.tsx +45 -0
  28. package/src/components/table/Table.tsx +3 -0
  29. package/src/components/table/cellRenderers/NumberInputCellRenderer.stories.tsx +346 -0
  30. package/src/components/table/cellRenderers/NumberInputCellRenderer.test.tsx +99 -0
  31. package/src/components/table/cellRenderers/NumberInputCellRenderer.tsx +36 -0
  32. package/src/index.ts +1 -0
@@ -0,0 +1,243 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Controls, Heading as DocHeading, Markdown, Primary as DocPrimary, Stories, Subtitle, Title, } from '@storybook/addon-docs/blocks';
4
+ import { NumberInputCellRenderer } from './NumberInputCellRenderer.js';
5
+ import { Table } from '../../table/Table.js';
6
+ // ---------------------------------------------------------------------------
7
+ // Docs page content
8
+ // ---------------------------------------------------------------------------
9
+ const DESCRIPTION_INTRO = [
10
+ '`NumberInputCellRenderer` is an AG Grid cell renderer that renders an editable Arbor `NumberInput`',
11
+ 'permanently inside a table cell. On change, it calls `node.setDataValue` to update the row data in-place.',
12
+ '',
13
+ 'Register it via the string key `dsNumberInputCellRenderer` (pre-registered by Arbor\'s `Table`) or by importing the component directly.',
14
+ ].join('\n');
15
+ const USAGE_GUIDANCE = [
16
+ '### When to use',
17
+ '',
18
+ '- On numeric columns where the user edits a value directly in the table without opening a form',
19
+ '- Quantities, counts, scores, or any bounded numeric field that should be editable inline',
20
+ '',
21
+ '---',
22
+ '',
23
+ '### When NOT to use',
24
+ '',
25
+ '| Situation | Use instead |',
26
+ '|---|---|',
27
+ '| Display-only number (no editing) | Plain AG Grid value formatting or `DefaultCellRenderer` |',
28
+ '| The edit requires confirmation or a side effect | Handle in a modal; do not edit inline |',
29
+ '| Free-form decimal entry without step constraints | A form in a slideover |',
30
+ ].join('\n');
31
+ const DEVELOPER_NOTES = [
32
+ '### Critical usage patterns',
33
+ '',
34
+ '**`colDef.field` must be set for changes to persist.**',
35
+ 'On change, the renderer calls `node.setDataValue(colDef.field, parsedValue)`. If `field` is not set',
36
+ 'on the column definition, the change is silently ignored.',
37
+ '',
38
+ '**Non-finite input (empty or non-numeric) is coerced to `0`.**',
39
+ 'If the user clears the input, `setDataValue` is called with `0` rather than `NaN`.',
40
+ '',
41
+ '**Pass `min`, `max`, and `disabled` via `cellRendererParams`.**',
42
+ 'These are forwarded directly to `NumberInput`.',
43
+ '',
44
+ '```tsx',
45
+ "import { Table } from '@arbor-education/design-system.components';",
46
+ '',
47
+ 'const colDefs = [',
48
+ ' {',
49
+ " field: 'quantity',",
50
+ " headerName: 'Quantity',",
51
+ " cellRenderer: 'dsNumberInputCellRenderer',",
52
+ ' cellRendererParams: { min: 0, max: 100 },',
53
+ ' },',
54
+ '];',
55
+ '```',
56
+ '',
57
+ '---',
58
+ '',
59
+ '### TypeScript types',
60
+ '',
61
+ '```ts',
62
+ "import { NumberInputCellRenderer } from '@arbor-education/design-system.components';",
63
+ '```',
64
+ '',
65
+ '`NumberInputCellRenderer` accepts `CustomCellRendererProps` from AG Grid plus `value: number | null`,',
66
+ '`min?: number`, `max?: number`, and `disabled?: boolean` (passed via `cellRendererParams`).',
67
+ ].join('\n');
68
+ const RELATED_COMPONENTS = [
69
+ '## Related components',
70
+ '',
71
+ '[Table](?path=/docs/components-table--docs) · [NumberInput](?path=/docs/components-numberinput--docs) · [CheckboxCellRenderer](?path=/docs/components-table-cellrenderers-checkboxcellrenderer--docs)',
72
+ ].join('\n');
73
+ const PROPS_INTRO = 'The preview below uses a mock AG Grid row node. Type a value or use the +/− spinners — `node.setDataValue` is wired to local state in this preview; in a real table it updates the row data in-place.';
74
+ // ---------------------------------------------------------------------------
75
+ // Custom DocsPage
76
+ // ---------------------------------------------------------------------------
77
+ function NumberInputCellRendererDocsPage() {
78
+ return (_jsxs(_Fragment, { children: [_jsx(Title, {}), _jsx(Subtitle, {}), _jsx(Markdown, { children: DESCRIPTION_INTRO }), _jsx(DocHeading, { children: "Interactive example" }), _jsx(Markdown, { children: PROPS_INTRO }), _jsx(DocPrimary, {}), _jsx(Controls, {}), _jsx(DocHeading, { children: "Usage guidance" }), _jsx(Markdown, { children: USAGE_GUIDANCE }), _jsx(DocHeading, { children: "Developer notes" }), _jsx(Markdown, { children: DEVELOPER_NOTES }), _jsx(DocHeading, { children: "Examples" }), _jsx(Stories, { title: "" }), _jsx(Markdown, { children: RELATED_COMPONENTS })] }));
79
+ }
80
+ // ---------------------------------------------------------------------------
81
+ // Meta
82
+ // ---------------------------------------------------------------------------
83
+ const meta = {
84
+ title: 'Components/Table/CellRenderers/NumberInputCellRenderer',
85
+ component: NumberInputCellRenderer,
86
+ tags: ['autodocs'],
87
+ parameters: {
88
+ layout: 'padded',
89
+ docs: { page: NumberInputCellRendererDocsPage },
90
+ },
91
+ argTypes: {
92
+ value: {
93
+ control: false,
94
+ description: 'Current numeric value. `null` is rendered as `0`. On change, the parsed float is written back via `node.setDataValue`.',
95
+ table: {
96
+ type: { summary: 'number | null' },
97
+ defaultValue: { summary: 'null' },
98
+ },
99
+ },
100
+ min: {
101
+ control: false,
102
+ description: 'Minimum allowed value. The minus spinner is disabled when the value reaches this bound.',
103
+ table: { type: { summary: 'number' } },
104
+ },
105
+ max: {
106
+ control: false,
107
+ description: 'Maximum allowed value. The plus spinner is disabled when the value reaches this bound.',
108
+ table: { type: { summary: 'number' } },
109
+ },
110
+ disabled: {
111
+ control: false,
112
+ description: 'When `true`, the input and spinners are non-interactive.',
113
+ table: { type: { summary: 'boolean' }, defaultValue: { summary: 'false' } },
114
+ },
115
+ node: {
116
+ control: false,
117
+ description: 'AG Grid row node. The renderer calls `node.setDataValue` on each value change.',
118
+ table: { type: { summary: 'IRowNode' } },
119
+ },
120
+ colDef: {
121
+ control: false,
122
+ description: '`colDef.field` is used as the key passed to `node.setDataValue`. Changes are silently ignored when `field` is absent.',
123
+ table: { type: { summary: 'ColDef' } },
124
+ },
125
+ },
126
+ };
127
+ export default meta;
128
+ // ---------------------------------------------------------------------------
129
+ // Helper
130
+ // ---------------------------------------------------------------------------
131
+ const withDescription = (story, description) => ({
132
+ ...story,
133
+ parameters: {
134
+ ...story.parameters,
135
+ docs: { ...story.parameters?.docs, description: { story: description } },
136
+ },
137
+ });
138
+ // ---------------------------------------------------------------------------
139
+ // Template components
140
+ // ---------------------------------------------------------------------------
141
+ const InteractiveTemplate = () => {
142
+ const [count, setCount] = useState(5);
143
+ const mockNode = { setDataValue: (_, val) => setCount(val) };
144
+ return (_jsx(NumberInputCellRenderer, { ...{}, value: count, node: mockNode, colDef: { field: 'count' } }));
145
+ };
146
+ // ---------------------------------------------------------------------------
147
+ // Stories
148
+ // ---------------------------------------------------------------------------
149
+ export const Default = withDescription({
150
+ parameters: { controls: { disable: true } },
151
+ render: InteractiveTemplate,
152
+ }, 'Interactive `NumberInput` backed by a mock row node. Use the +/− spinners or type directly — `node.setDataValue` updates local state in this preview; in a real table it updates AG Grid row data in-place.');
153
+ export const WithMinMax = withDescription({
154
+ parameters: { controls: { disable: true } },
155
+ render: () => {
156
+ const [val, setVal] = useState(5);
157
+ const mockNode = { setDataValue: (_, v) => setVal(v) };
158
+ return (_jsx(NumberInputCellRenderer, { ...{}, value: val, min: 0, max: 10, node: mockNode, colDef: { field: 'count' } }));
159
+ },
160
+ }, 'Bounded range via `min={0}` and `max={10}`. The minus spinner disables at `0`; the plus spinner disables at `10`. Values typed outside the range are clamped on blur.');
161
+ export const NullValue = withDescription({
162
+ parameters: { controls: { disable: true } },
163
+ render: () => (_jsx(NumberInputCellRenderer, { ...{}, value: null, node: { setDataValue: () => { } }, colDef: { field: 'count' } })),
164
+ }, '`value={null}` is coerced to `0` before being passed to `NumberInput`. This keeps the input always controlled with a valid numeric display.');
165
+ export const Disabled = withDescription({
166
+ parameters: { controls: { disable: true } },
167
+ render: () => (_jsx(NumberInputCellRenderer, { ...{}, value: 7, disabled: true, node: { setDataValue: () => { } }, colDef: { field: 'count' } })),
168
+ }, 'Disabled state — pass `disabled: true` via `cellRendererParams` to prevent editing. Useful for read-only rows or conditional editing logic.');
169
+ const NUMBER_INPUT_TABLE_DATA = [
170
+ { name: 'Alice Johnson', sessions: 12, score: 95 },
171
+ { name: 'Bob Smith', sessions: 8, score: 72 },
172
+ { name: 'Charlie Brown', sessions: 15, score: 88 },
173
+ { name: 'Diana Prince', sessions: 3, score: 60 },
174
+ ];
175
+ export const InATable = withDescription({
176
+ parameters: {
177
+ controls: { disable: true },
178
+ docs: {
179
+ source: {
180
+ language: 'tsx',
181
+ code: `
182
+ import { Table } from '@arbor-education/design-system.components';
183
+
184
+ const rowData = [
185
+ { name: 'Alice Johnson', sessions: 12, score: 95 },
186
+ { name: 'Bob Smith', sessions: 8, score: 72 },
187
+ { name: 'Charlie Brown', sessions: 15, score: 88 },
188
+ { name: 'Diana Prince', sessions: 3, score: 60 },
189
+ ];
190
+
191
+ function NumberInputCellRendererExample() {
192
+ return (
193
+ <Table
194
+ rowData={rowData}
195
+ columnDefs={[
196
+ { field: 'name', headerName: 'Name', flex: 2 },
197
+ {
198
+ field: 'sessions',
199
+ headerName: 'Sessions',
200
+ flex: 1,
201
+ editable: false,
202
+ cellRenderer: 'dsNumberInputCellRenderer',
203
+ cellRendererParams: { min: 0, suppressCellFocusAndFocusFirstElement: true },
204
+ },
205
+ {
206
+ field: 'score',
207
+ headerName: 'Score (/100)',
208
+ flex: 1,
209
+ editable: false,
210
+ cellRenderer: 'dsNumberInputCellRenderer',
211
+ cellRendererParams: { min: 0, max: 100, suppressCellFocusAndFocusFirstElement: true },
212
+ },
213
+ ]}
214
+ defaultColDef={{ flex: 1, minWidth: 120 }}
215
+ domLayout="autoHeight"
216
+ />
217
+ );
218
+ }
219
+ `.trim(),
220
+ },
221
+ },
222
+ },
223
+ render: () => (_jsx(Table, { rowData: NUMBER_INPUT_TABLE_DATA, columnDefs: [
224
+ { field: 'name', headerName: 'Name', flex: 2 },
225
+ {
226
+ field: 'sessions',
227
+ headerName: 'Sessions',
228
+ flex: 1,
229
+ editable: false,
230
+ cellRenderer: 'dsNumberInputCellRenderer',
231
+ cellRendererParams: { min: 0, suppressCellFocusAndFocusFirstElement: true },
232
+ },
233
+ {
234
+ field: 'score',
235
+ headerName: 'Score (/100)',
236
+ flex: 1,
237
+ editable: false,
238
+ cellRenderer: 'dsNumberInputCellRenderer',
239
+ cellRendererParams: { min: 0, max: 100, suppressCellFocusAndFocusFirstElement: true },
240
+ },
241
+ ], defaultColDef: { flex: 1, minWidth: 120 }, domLayout: "autoHeight" })),
242
+ }, '`dsNumberInputCellRenderer` wired up inside a full `Table`. Sessions has `min={0}`; Score has `min={0}` and `max={100}`. Edit any cell — AG Grid calls `node.setDataValue` which updates the row data in-place.');
243
+ //# sourceMappingURL=NumberInputCellRenderer.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInputCellRenderer.stories.js","sourceRoot":"","sources":["../../../../src/components/table/cellRenderers/NumberInputCellRenderer.stories.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import '@testing-library/jest-dom/vitest';
2
+ //# sourceMappingURL=NumberInputCellRenderer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInputCellRenderer.test.d.ts","sourceRoot":"","sources":["../../../../src/components/table/cellRenderers/NumberInputCellRenderer.test.tsx"],"names":[],"mappings":"AAEA,OAAO,kCAAkC,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, expect, test, vi } from 'vitest';
3
+ import { render, screen } from '@testing-library/react';
4
+ import '@testing-library/jest-dom/vitest';
5
+ import userEvent from '@testing-library/user-event';
6
+ import { NumberInputCellRenderer } from './NumberInputCellRenderer.js';
7
+ const createMockProps = (overrides = {}) => ({
8
+ value: 0,
9
+ node: { setDataValue: vi.fn() },
10
+ colDef: { field: 'count' },
11
+ ...overrides,
12
+ });
13
+ describe('NumberInputCellRenderer', () => {
14
+ test('renders a number input', () => {
15
+ render(_jsx(NumberInputCellRenderer, { ...createMockProps() }));
16
+ expect(screen.getByRole('textbox')).toBeInTheDocument();
17
+ });
18
+ test('renders the supplied value in the input', () => {
19
+ render(_jsx(NumberInputCellRenderer, { ...createMockProps({ value: 42 }) }));
20
+ expect(screen.getByRole('textbox')).toHaveValue('42');
21
+ });
22
+ test('renders null value as 0', () => {
23
+ render(_jsx(NumberInputCellRenderer, { ...createMockProps({ value: null }) }));
24
+ expect(screen.getByRole('textbox')).toHaveValue('0');
25
+ });
26
+ test('disables the input when disabled prop is true', () => {
27
+ render(_jsx(NumberInputCellRenderer, { ...createMockProps({ disabled: true }) }));
28
+ expect(screen.getByRole('textbox')).toBeDisabled();
29
+ });
30
+ test('minus button is disabled when value equals min', () => {
31
+ render(_jsx(NumberInputCellRenderer, { ...createMockProps({ value: 5, min: 5 }) }));
32
+ expect(screen.getByRole('button', { name: 'Minus button' })).toBeDisabled();
33
+ });
34
+ test('plus button is disabled when value equals max', () => {
35
+ render(_jsx(NumberInputCellRenderer, { ...createMockProps({ value: 10, max: 10 }) }));
36
+ expect(screen.getByRole('button', { name: 'Plus button' })).toBeDisabled();
37
+ });
38
+ test('calls node.setDataValue with the updated value when the input changes', async () => {
39
+ const setDataValue = vi.fn();
40
+ render(_jsx(NumberInputCellRenderer, { ...createMockProps({
41
+ value: 5,
42
+ node: { setDataValue },
43
+ colDef: { field: 'count' },
44
+ }) }));
45
+ setDataValue.mockClear();
46
+ await userEvent.click(screen.getByRole('button', { name: 'Plus button' }));
47
+ expect(setDataValue).toHaveBeenCalledWith('count', 6);
48
+ });
49
+ test('calls node.setDataValue with 0 when the input is cleared', async () => {
50
+ const setDataValue = vi.fn();
51
+ render(_jsx(NumberInputCellRenderer, { ...createMockProps({
52
+ value: 5,
53
+ node: { setDataValue },
54
+ colDef: { field: 'count' },
55
+ }) }));
56
+ setDataValue.mockClear();
57
+ await userEvent.clear(screen.getByRole('textbox'));
58
+ expect(setDataValue).toHaveBeenCalledWith('count', 0);
59
+ });
60
+ test('does not call node.setDataValue when colDef.field is undefined', async () => {
61
+ const setDataValue = vi.fn();
62
+ render(_jsx(NumberInputCellRenderer, { ...createMockProps({
63
+ value: 5,
64
+ node: { setDataValue },
65
+ colDef: {},
66
+ }) }));
67
+ setDataValue.mockClear();
68
+ await userEvent.click(screen.getByRole('button', { name: 'Plus button' }));
69
+ expect(setDataValue).not.toHaveBeenCalled();
70
+ });
71
+ });
72
+ //# sourceMappingURL=NumberInputCellRenderer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInputCellRenderer.test.js","sourceRoot":"","sources":["../../../../src/components/table/cellRenderers/NumberInputCellRenderer.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,SAAS,MAAM,6BAA6B,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,eAAe,GAAG,CAAC,YAAyH,EAAE,EAA2B,EAAE,CAAC,CAAC;IACjL,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;IAC/B,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;IAC1B,GAAG,SAAS;CAC0B,CAAA,CAAC;AAEzC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,KAAC,uBAAuB,OAAK,eAAe,EAAE,GAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,KAAC,uBAAuB,OAAK,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAI,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,KAAC,uBAAuB,OAAK,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAI,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,KAAC,uBAAuB,OAAK,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAI,CAAC,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,KAAC,uBAAuB,OAAK,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAI,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,KAAC,uBAAuB,OAAK,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAI,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CACJ,KAAC,uBAAuB,OAClB,eAAe,CAAC;gBAClB,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,EAAE,YAAY,EAAgD;gBACpE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;aAC3B,CAAC,GACF,CACH,CAAC;QACF,YAAY,CAAC,SAAS,EAAE,CAAC;QAEzB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CACJ,KAAC,uBAAuB,OAClB,eAAe,CAAC;gBAClB,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,EAAE,YAAY,EAAgD;gBACpE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;aAC3B,CAAC,GACF,CACH,CAAC;QACF,YAAY,CAAC,SAAS,EAAE,CAAC;QAEzB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QAEnD,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CACJ,KAAC,uBAAuB,OAClB,eAAe,CAAC;gBAClB,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,EAAE,YAAY,EAAgD;gBACpE,MAAM,EAAE,EAAE;aACX,CAAC,GACF,CACH,CAAC;QACF,YAAY,CAAC,SAAS,EAAE,CAAC;QAEzB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -51,6 +51,7 @@ export { DSDefaultColDef } from './components/table/DSDefaultColDef.js';
51
51
  export { GridApiContext } from './components/table/GridApiContext.js';
52
52
  export { NumberCellEditor } from './components/table/cellEditors/NumberCellEditor.js';
53
53
  export { CheckboxCellRenderer } from './components/table/cellRenderers/CheckboxCellRenderer.js';
54
+ export { NumberInputCellRenderer } from './components/table/cellRenderers/NumberInputCellRenderer.js';
54
55
  export { Table } from './components/table/Table.js';
55
56
  export { Tabs } from './components/tabs/Tabs.js';
56
57
  export { Tag } from './components/tag/Tag.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -50,6 +50,7 @@ export { DSDefaultColDef } from './components/table/DSDefaultColDef.js';
50
50
  export { GridApiContext } from './components/table/GridApiContext.js';
51
51
  export { NumberCellEditor } from './components/table/cellEditors/NumberCellEditor.js';
52
52
  export { CheckboxCellRenderer } from './components/table/cellRenderers/CheckboxCellRenderer.js';
53
+ export { NumberInputCellRenderer } from './components/table/cellRenderers/NumberInputCellRenderer.js';
53
54
  export { Table } from './components/table/Table.js';
54
55
  export { Tabs } from './components/tabs/Tabs.js';
55
56
  export { Tag } from './components/tag/Tag.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EACL,SAAS,GAQV,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uEAAuE,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,2DAA2D,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAsG,MAAM,8BAA8B,CAAC;AAC5J,OAAO,EAAE,OAAO,EAAqB,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,OAAO,EAA+F,MAAM,4BAA4B,CAAC;AAClJ,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAW9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACrH,OAAO,EAAE,OAAO,EAAiE,MAAM,4BAA4B,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAuB,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,YAAY,EAA0B,MAAM,sCAAsC,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAwB,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbor-education/design-system.components",
3
- "version": "0.25.7",
3
+ "version": "0.25.8",
4
4
  "description": "The component library for the design system (the baby)",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -87,6 +87,7 @@ const DEVELOPER_NOTES = [
87
87
  '| `dsSelectDropdownCellRenderer` | `Table.SelectDropdownCellRenderer` | Renders a `SelectDropdown` in a cell |',
88
88
  '| `dsBooleanCellRenderer` | `Table.BooleanCellRenderer` | Read-only boolean display |',
89
89
  '| `dsCheckboxCellRenderer` | `Table.CheckboxCellRenderer` | Editable boolean checkbox |',
90
+ '| `dsNumberInputCellRenderer` | `Table.NumberInputCellRenderer` | Editable numeric input |',
90
91
  '| `dsDateCellEditor` | `Table.DateCellEditor` | Date picker cell editor |',
91
92
  '',
92
93
  '---',
@@ -2408,4 +2409,48 @@ export const WithComboboxCellRenderer: Story = {
2408
2409
  },
2409
2410
  };
2410
2411
 
2412
+ const numberInputSampleData = [
2413
+ { name: 'Alice Johnson', sessions: 12, score: 95 },
2414
+ { name: 'Bob Smith', sessions: 8, score: 72 },
2415
+ { name: 'Charlie Brown', sessions: 15, score: 88 },
2416
+ { name: 'Diana Prince', sessions: 3, score: 60 },
2417
+ ];
2418
+
2419
+ const numberInputColDefs: (ColDef | ColGroupDef)[] = [
2420
+ { field: 'name', headerName: 'Name', flex: 2 },
2421
+ {
2422
+ field: 'sessions',
2423
+ headerName: 'Sessions',
2424
+ flex: 1,
2425
+ editable: false,
2426
+ cellRenderer: 'dsNumberInputCellRenderer',
2427
+ cellRendererParams: { min: 0, suppressCellFocusAndFocusFirstElement: true },
2428
+ },
2429
+ {
2430
+ field: 'score',
2431
+ headerName: 'Score (/100)',
2432
+ flex: 1,
2433
+ editable: false,
2434
+ cellRenderer: 'dsNumberInputCellRenderer',
2435
+ cellRendererParams: { min: 0, max: 100, suppressCellFocusAndFocusFirstElement: true },
2436
+ },
2437
+ ];
2438
+
2439
+ export const WithNumberInputCellRenderer: Story = {
2440
+ parameters: {
2441
+ docs: {
2442
+ description: {
2443
+ story:
2444
+ 'Columns can use the `dsNumberInputCellRenderer` cell renderer to display an editable numeric input inside the cell. Pass `min` and `max` via `cellRendererParams` to constrain the allowed range — the spinners disable at the bounds.',
2445
+ },
2446
+ },
2447
+ },
2448
+ args: {
2449
+ rowData: numberInputSampleData,
2450
+ columnDefs: numberInputColDefs,
2451
+ defaultColDef,
2452
+ domLayout: 'autoHeight',
2453
+ },
2454
+ };
2455
+
2411
2456
  export default meta;
@@ -35,6 +35,7 @@ import { BooleanCellRenderer } from './cellRenderers/BooleanCellRenderer.js';
35
35
  import { CheckboxCellRenderer } from './cellRenderers/CheckboxCellRenderer.js';
36
36
  import { ComboboxCellRenderer } from './cellRenderers/ComboboxCellRenderer.js';
37
37
  import { DefaultCellRenderer } from './cellRenderers/DefaultCellRenderer.js';
38
+ import { NumberInputCellRenderer } from './cellRenderers/NumberInputCellRenderer.js';
38
39
 
39
40
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
41
  type TableProps<TData = any> = {
@@ -210,6 +211,7 @@ export const Table = (props: TableProps) => {
210
211
  dsCheckboxCellRenderer: CheckboxCellRenderer,
211
212
  dsBooleanCellRenderer: BooleanCellRenderer,
212
213
  dsComboboxCellRenderer: ComboboxCellRenderer,
214
+ dsNumberInputCellRenderer: NumberInputCellRenderer,
213
215
  ...components,
214
216
  }}
215
217
  {...rest}
@@ -245,6 +247,7 @@ Table.ComboboxCellRenderer = ComboboxCellRenderer;
245
247
  Table.DefaultValueFormatter = defaultValueFormatter;
246
248
  Table.TableSettingsDropdown = TableSettingsDropdown;
247
249
  Table.TableControls = TableControls;
250
+ Table.NumberInputCellRenderer = NumberInputCellRenderer;
248
251
 
249
252
  Table.Spacing = TABLE_SPACING;
250
253
  Table.SettingsItems = TABLE_SETTINGS_ITEMS;