@dmsi/wedgekit-react 0.0.214 → 0.0.216

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 (53) hide show
  1. package/dist/{chunk-UKSJPFN2.js → chunk-3M23BFB4.js} +3 -3
  2. package/dist/{chunk-2WRRRPEB.js → chunk-BHFIS4ZV.js} +1 -1
  3. package/dist/{chunk-JITZWSPR.js → chunk-NA3ODQCN.js} +2 -2
  4. package/dist/{chunk-33W2KSCB.js → chunk-OC6RTDZT.js} +7 -6
  5. package/dist/{chunk-ERW3AMED.js → chunk-QHHNFGEX.js} +1 -1
  6. package/dist/{chunk-CZ55LUFC.js → chunk-SC24WU65.js} +8 -8
  7. package/dist/{chunk-NIHZMIOL.js → chunk-VP36B2MM.js} +1 -1
  8. package/dist/{chunk-E6Y7ZHQX.js → chunk-ZU2K7BD3.js} +36 -22
  9. package/dist/components/DataGridCell.js +9 -9
  10. package/dist/components/DateInput.js +7 -7
  11. package/dist/components/DateRangeInput.js +7 -7
  12. package/dist/components/FilterGroup.js +5 -5
  13. package/dist/components/Input.js +2 -2
  14. package/dist/components/Menu.js +3 -3
  15. package/dist/components/MenuOption.js +3 -3
  16. package/dist/components/MobileDataGrid.js +3 -3
  17. package/dist/components/Modal.js +5 -5
  18. package/dist/components/ModalButtons.js +2 -2
  19. package/dist/components/ModalHeader.js +2 -2
  20. package/dist/components/NavigationTab.js +2 -2
  21. package/dist/components/NavigationTabs.js +2 -2
  22. package/dist/components/NestedMenu.js +3 -3
  23. package/dist/components/Notification.js +3 -3
  24. package/dist/components/OptionPill.js +2 -2
  25. package/dist/components/PDFViewer.js +7 -7
  26. package/dist/components/Password.js +2 -2
  27. package/dist/components/ProjectBar.js +1 -1
  28. package/dist/components/Search.js +3 -3
  29. package/dist/components/Select.cjs +6 -5
  30. package/dist/components/Select.js +3 -3
  31. package/dist/components/Stepper.js +5 -5
  32. package/dist/components/Time.js +3 -3
  33. package/dist/components/Toast.js +3 -3
  34. package/dist/components/Upload.js +3 -3
  35. package/dist/components/index.cjs +94 -62
  36. package/dist/components/index.css +3 -0
  37. package/dist/components/index.js +74 -52
  38. package/dist/components/useMenuSystem.js +2 -2
  39. package/dist/hooks/index.cjs +30 -21
  40. package/dist/hooks/index.js +1 -1
  41. package/dist/index.css +3 -0
  42. package/package.json +1 -1
  43. package/src/components/DataGrid/PinnedColumns.tsx +1 -1
  44. package/src/components/DataGrid/TableBody/TableBodyRow.tsx +16 -6
  45. package/src/components/DataGrid/index.tsx +60 -30
  46. package/src/components/DataGrid/types.ts +2 -0
  47. package/src/components/Select.tsx +1 -1
  48. package/src/hooks/useTableLayout.ts +44 -28
  49. package/dist/{chunk-ED7FXZRX.js → chunk-BW2MWMVM.js} +3 -3
  50. package/dist/{chunk-7W4I2NK3.js → chunk-GW7OVMMC.js} +3 -3
  51. package/dist/{chunk-FYW64H7N.js → chunk-JFPRYMID.js} +3 -3
  52. package/dist/{chunk-A5ROZWIH.js → chunk-R4H6D4SZ.js} +3 -3
  53. package/dist/{chunk-47KTDBGA.js → chunk-T7UCZWWK.js} +3 -3
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  useMenuPosition,
4
4
  useSubMenuSystem
5
- } from "../chunk-NIHZMIOL.js";
6
- import "../chunk-E6Y7ZHQX.js";
5
+ } from "../chunk-VP36B2MM.js";
6
+ import "../chunk-ZU2K7BD3.js";
7
7
  import "../chunk-VXWSAIB5.js";
8
8
  import "../chunk-T3F37S6Z.js";
9
9
  import "../chunk-5UH6QUFB.js";
@@ -129,38 +129,47 @@ var import_react4 = require("react");
129
129
  function useTableLayout(initialColumns, key) {
130
130
  const [columns, setColumns] = (0, import_react4.useState)(initialColumns);
131
131
  const [isReady, setIsReady] = (0, import_react4.useState)(false);
132
- const [layoutSignal, setLayoutSignal] = (0, import_react4.useState)(0);
132
+ const renderCountRef = (0, import_react4.useRef)(0);
133
+ const handleSaveLayout = (0, import_react4.useCallback)(
134
+ (setter, _internal) => {
135
+ if (!isReady && !_internal || !key) return;
136
+ setColumns((prevColumns) => {
137
+ const newColumns = typeof setter === "function" ? setter(prevColumns) : setter;
138
+ if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal)
139
+ return prevColumns;
140
+ localStorage.setItem(`${key}-tableLayout`, JSON.stringify(newColumns));
141
+ return newColumns;
142
+ });
143
+ },
144
+ [isReady, key]
145
+ );
133
146
  (0, import_react4.useEffect)(() => {
134
147
  if (!key) return setIsReady(true);
148
+ if (renderCountRef.current > 1) {
149
+ throw new Error(
150
+ `useTableLayout should only be called once per component render cycle.
151
+ ${renderCountRef.current} Renders detected.
152
+ Check dependency stability`
153
+ );
154
+ }
155
+ renderCountRef.current += 1;
135
156
  const savedLayout = localStorage.getItem(`${key}-tableLayout`);
136
157
  if (savedLayout) {
137
- setColumns(
158
+ handleSaveLayout(
138
159
  mergeObjectArrays(
139
160
  initialColumns,
140
161
  JSON.parse(savedLayout)
141
- )
162
+ ),
163
+ true
142
164
  );
143
165
  }
144
166
  if (!savedLayout) handleSaveLayout(initialColumns, true);
145
- setLayoutSignal((prev) => prev + 1);
146
167
  setIsReady(true);
147
- }, []);
148
- const handleSaveLayout = (0, import_react4.useCallback)(
149
- (setter, _internal) => {
150
- if (!isReady && !_internal) return null;
151
- const newColumns = typeof setter === "function" ? setter(columns) : setter;
152
- if (JSON.stringify(newColumns) === JSON.stringify(columns) && !_internal)
153
- return null;
154
- if (key) {
155
- localStorage.setItem(`${key}-tableLayout`, JSON.stringify(newColumns));
156
- }
157
- setColumns(newColumns);
158
- setLayoutSignal((prev) => prev + 1);
159
- return newColumns;
160
- },
161
- [columns, isReady, key]
162
- );
163
- return { columns, setColumns: handleSaveLayout, layoutSignal, isReady };
168
+ return () => {
169
+ renderCountRef.current = 0;
170
+ };
171
+ }, [handleSaveLayout, initialColumns, key]);
172
+ return { columns, setColumns: handleSaveLayout, isReady };
164
173
  }
165
174
  // Annotate the CommonJS export names for ESM import in node:
166
175
  0 && (module.exports = {
@@ -4,7 +4,7 @@ import {
4
4
  useMatchesMedia,
5
5
  useMatchesMobile,
6
6
  useTableLayout
7
- } from "../chunk-E6Y7ZHQX.js";
7
+ } from "../chunk-ZU2K7BD3.js";
8
8
  import "../chunk-VXWSAIB5.js";
9
9
  import "../chunk-T3F37S6Z.js";
10
10
  import "../chunk-5UH6QUFB.js";
package/dist/index.css CHANGED
@@ -774,6 +774,9 @@
774
774
  .min-h-6 {
775
775
  min-height: calc(var(--spacing) * 6);
776
776
  }
777
+ .min-h-10 {
778
+ min-height: calc(var(--spacing) * 10);
779
+ }
777
780
  .min-h-19 {
778
781
  min-height: calc(var(--spacing) * 19);
779
782
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dmsi/wedgekit-react",
3
3
  "private": false,
4
- "version": "0.0.214",
4
+ "version": "0.0.216",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "tsup",
@@ -175,7 +175,7 @@ export function PinnedColumns<TData>({
175
175
  testid={pinnedTestId}
176
176
  {...props}
177
177
  table={table}
178
- locked={true}
178
+ locked={!enableColumnSelector}
179
179
  pinDirection={pinDirection}
180
180
  />
181
181
  </table>
@@ -59,6 +59,7 @@ export function TableBodyRow<T>({
59
59
  <tr
60
60
  key={row.id}
61
61
  className={clsx(
62
+ "min-h-10",
62
63
  "transition-colors hover:bg-background-action-secondary-hover",
63
64
  row.getIsSelected() && "!bg-background-action-secondary-hover",
64
65
  isError && "!bg-background-action-critical-secondary-hover",
@@ -81,7 +82,6 @@ export function TableBodyRow<T>({
81
82
  // fake empty column to the left for virtualization scroll padding
82
83
  <td style={{ display: "flex", width: virtualPaddingLeft }} />
83
84
  ) : null}
84
-
85
85
  {columns.map((column) => {
86
86
  const cell = locked
87
87
  ? (column as Cell<T, unknown>)
@@ -90,6 +90,7 @@ export function TableBodyRow<T>({
90
90
  if (!cell) {
91
91
  return;
92
92
  }
93
+ const cellAlignment = cell.column.columnDef.meta?.align;
93
94
  const cellValue = cell.getValue();
94
95
 
95
96
  return cell.column.columnDef.meta?.useCustomRenderer ? (
@@ -104,9 +105,20 @@ export function TableBodyRow<T>({
104
105
  testid ? `${testid}-row-${row.id}-cell-${cell.id}` : undefined
105
106
  }
106
107
  cell={cell}
107
- className={clsx({
108
- "justify-end": typeof cellValue === "number",
109
- })}
108
+ className={clsx(
109
+ cellAlignment
110
+ ? {
111
+ "justify-start": cellAlignment === "left",
112
+ "justify-end": cellAlignment === "right",
113
+ }
114
+ : {
115
+ "justify-end": typeof cellValue === "number",
116
+ },
117
+ )}
118
+ width={
119
+ (cell.column.columnDef.meta?.headerWidth as string | undefined) ??
120
+ `${cell.column.getSize()}px`
121
+ }
110
122
  >
111
123
  <Tooltip
112
124
  id={id ? `${id}-tooltip-${cell.id}` : undefined}
@@ -122,12 +134,10 @@ export function TableBodyRow<T>({
122
134
  </CellElement>
123
135
  );
124
136
  })}
125
-
126
137
  {!locked && virtualPaddingRight ? (
127
138
  // fake empty column to the right for virtualization scroll padding
128
139
  <td style={{ display: "flex", width: virtualPaddingRight }} />
129
140
  ) : null}
130
-
131
141
  {enableColumnSelector && !locked && (
132
142
  <td className="p-2" style={{ width: "48.8px" }}></td>
133
143
  )}
@@ -57,6 +57,7 @@ const NO_RESULTS_HEIGHT = "h-[185px]";
57
57
 
58
58
  export function DataGrid<T extends Record<string, unknown>>({
59
59
  id,
60
+ rowIdAccessor,
60
61
  testid,
61
62
  data,
62
63
  columns,
@@ -87,11 +88,8 @@ export function DataGrid<T extends Record<string, unknown>>({
87
88
  const [localRowSelection, setLocalRowSelection] = useState<
88
89
  Record<string, boolean>
89
90
  >({});
90
- const {
91
- columns: tableColumns,
92
- setColumns: setTableColumns,
93
- layoutSignal,
94
- } = useTableLayout<T>(columns, id ?? testid);
91
+ const { columns: tableColumns, setColumns: setTableColumns } =
92
+ useTableLayout<T>(columns, id ?? testid);
95
93
  const [columnOrder, setColumnOrder] = useState<string[]>(
96
94
  tableColumns.map((c) => c.id!),
97
95
  );
@@ -106,10 +104,23 @@ export function DataGrid<T extends Record<string, unknown>>({
106
104
  ),
107
105
  );
108
106
 
107
+ const resetColumnVisibility = useCallback(
108
+ (updateOrder?: boolean) => {
109
+ setColumnVisibility(
110
+ Object.fromEntries(
111
+ tableColumns
112
+ .filter((column) => !!column.id)
113
+ .map((column) => [column.id, column.meta?.visible ?? true]),
114
+ ),
115
+ );
116
+ if (updateOrder) setColumnOrder(tableColumns.map((c) => c.id!));
117
+ },
118
+ [tableColumns],
119
+ );
120
+
109
121
  useEffect(() => {
110
- setColumnOrder(tableColumns.map((c) => c.id!));
111
- resetColumnVisibility();
112
- }, [layoutSignal]);
122
+ resetColumnVisibility(true);
123
+ }, [resetColumnVisibility]);
113
124
 
114
125
  const sortingState = pagination
115
126
  ? (externalSorting ?? localSorting)
@@ -147,13 +158,13 @@ export function DataGrid<T extends Record<string, unknown>>({
147
158
  }
148
159
  : setLocalColumnFilters;
149
160
 
150
- const rowSelection = pagination
151
- ? (externalRowSelection ?? localRowSelection)
152
- : localRowSelection;
161
+ const rowSelection = externalRowSelection ?? localRowSelection;
162
+
153
163
  const setRowSelection: React.Dispatch<
154
164
  React.SetStateAction<Record<string, boolean>>
155
- > = pagination
156
- ? (updaterOrValue) => {
165
+ > = useCallback(
166
+ (updaterOrValue) => {
167
+ if (pagination) {
157
168
  const value =
158
169
  typeof updaterOrValue === "function"
159
170
  ? (
@@ -163,8 +174,23 @@ export function DataGrid<T extends Record<string, unknown>>({
163
174
  )(externalRowSelection ?? {})
164
175
  : updaterOrValue;
165
176
  (onRowSelectionChange ?? setLocalRowSelection)(value);
177
+ } else if (externalRowSelection && onRowSelectionChange) {
178
+ const value =
179
+ typeof updaterOrValue === "function"
180
+ ? (
181
+ updaterOrValue as (
182
+ prev: Record<string, boolean>,
183
+ ) => Record<string, boolean>
184
+ )(externalRowSelection ?? {})
185
+ : updaterOrValue;
186
+
187
+ onRowSelectionChange(value);
188
+ } else {
189
+ setLocalRowSelection(updaterOrValue);
166
190
  }
167
- : setLocalRowSelection;
191
+ },
192
+ [externalRowSelection, onRowSelectionChange, pagination],
193
+ );
168
194
 
169
195
  const dndId = useId();
170
196
  const containerRef = React.useRef<HTMLDivElement>(null);
@@ -186,16 +212,6 @@ export function DataGrid<T extends Record<string, unknown>>({
186
212
  [setTableColumns],
187
213
  );
188
214
 
189
- const resetColumnVisibility = useCallback(() => {
190
- setColumnVisibility(
191
- Object.fromEntries(
192
- tableColumns
193
- .filter((column) => !!column.id)
194
- .map((column) => [column.id, column.meta?.visible ?? true]),
195
- ),
196
- );
197
- }, [tableColumns]);
198
-
199
215
  const table = useReactTable<T>({
200
216
  columns: tableColumns,
201
217
  data,
@@ -203,7 +219,9 @@ export function DataGrid<T extends Record<string, unknown>>({
203
219
  getSortedRowModel: getSortedRowModel(),
204
220
  getFilteredRowModel: getFilteredRowModel(),
205
221
  columnResizeMode: "onChange",
206
- getRowId: (row, index) => String(row.id ?? index + 1),
222
+ getRowId: rowIdAccessor
223
+ ? (row) => String(row[rowIdAccessor])
224
+ : (row, index) => String(row.id ?? index + 1),
207
225
  state: {
208
226
  columnOrder,
209
227
  sorting: sortingState,
@@ -405,6 +423,12 @@ export function DataGrid<T extends Record<string, unknown>>({
405
423
  .getRowModel()
406
424
  .rows[0]?.getValue(header.column.id);
407
425
 
426
+ const cellAlignment: "left" | "right" | "center" =
427
+ (header.column.columnDef.meta?.align ??
428
+ cellValue === "number")
429
+ ? "right"
430
+ : "left";
431
+
408
432
  return (
409
433
  <DraggableCellHeader
410
434
  key={header.id}
@@ -423,13 +447,19 @@ export function DataGrid<T extends Record<string, unknown>>({
423
447
  ? "cursor-pointer"
424
448
  : "cursor-grab",
425
449
  "group",
426
- {
427
- "justify-end": typeof cellValue === "number",
428
- },
450
+ cellAlignment
451
+ ? {
452
+ "justify-start": cellAlignment === "left",
453
+ "justify-end": cellAlignment === "right",
454
+ }
455
+ : {
456
+ "justify-end":
457
+ typeof cellValue === "number",
458
+ },
429
459
  )}
430
460
  useMenuDefaultMinWidth={useMenuDefaultMinWidth}
431
461
  >
432
- {typeof cellValue !== "number" && (
462
+ {cellAlignment === "left" && (
433
463
  <Subheader tall>
434
464
  {header.column.columnDef.header}
435
465
  </Subheader>
@@ -450,7 +480,7 @@ export function DataGrid<T extends Record<string, unknown>>({
450
480
  {header.column.getSortIndex() + 1}
451
481
  </Subheader>
452
482
  )}
453
- {typeof cellValue === "number" && (
483
+ {cellAlignment === "right" && (
454
484
  <Subheader tall>
455
485
  {header.column.columnDef.header}
456
486
  </Subheader>
@@ -27,6 +27,7 @@ export interface DataGridPagination {
27
27
 
28
28
  export interface DataGridProps<T extends Record<string, unknown>> {
29
29
  id?: string;
30
+ rowIdAccessor?: keyof T;
30
31
  testid?: string;
31
32
  data: T[];
32
33
  columns: ColumnDef<T>[];
@@ -83,5 +84,6 @@ declare module "@tanstack/react-table" {
83
84
  header: Header<TData, TValue>;
84
85
  table: Table<TData>;
85
86
  }) => ReactNode;
87
+ align?: "left" | "right";
86
88
  }
87
89
  }
@@ -95,7 +95,7 @@ export const Select = ({
95
95
  focus={show}
96
96
  onChange={(e) => props.onChange?.(e)}
97
97
  {...props}
98
- value={displayValue ?? value}
98
+ value={displayValue ?? value ?? (props.onChange ? "" : undefined)}
99
99
  />
100
100
 
101
101
  {renderMenu
@@ -2,11 +2,16 @@
2
2
 
3
3
  import { mergeObjectArrays } from "../utils";
4
4
  import { ColumnDef } from "@dmsi/wedgekit-react/components";
5
- import { useState, useEffect, SetStateAction, useCallback } from "react";
5
+ import {
6
+ useState,
7
+ useEffect,
8
+ SetStateAction,
9
+ useCallback,
10
+ useRef,
11
+ } from "react";
6
12
  export type PersistedTableLayout<T> = {
7
13
  columns: ColumnDef<T>[];
8
- setColumns: (setter: SetStateAction<ColumnDef<T>[]>) => ColumnDef<T>[] | null;
9
- layoutSignal: number;
14
+ setColumns: (setter: SetStateAction<ColumnDef<T>[]>) => void;
10
15
  isReady: boolean;
11
16
  };
12
17
 
@@ -22,47 +27,58 @@ export function useTableLayout<T>(
22
27
  initialColumns: Array<ColumnDef<T>>,
23
28
  key?: string,
24
29
  ): PersistedTableLayout<T> {
30
+ // Use useMemo to ensure initialColumns is stable
25
31
  const [columns, setColumns] = useState<ColumnDef<T>[]>(initialColumns);
26
32
  const [isReady, setIsReady] = useState(false);
27
- const [layoutSignal, setLayoutSignal] = useState(0);
33
+ const renderCountRef = useRef(0);
34
+
35
+ const handleSaveLayout = useCallback(
36
+ (setter: React.SetStateAction<ColumnDef<T>[]>, _internal?: boolean) => {
37
+ if ((!isReady && !_internal) || !key) return;
38
+ // get value from passed setter
39
+ setColumns((prevColumns) => {
40
+ const newColumns =
41
+ typeof setter === "function" ? setter(prevColumns) : setter;
42
+ if (
43
+ JSON.stringify(newColumns) === JSON.stringify(prevColumns) &&
44
+ !_internal
45
+ )
46
+ return prevColumns;
47
+ localStorage.setItem(`${key}-tableLayout`, JSON.stringify(newColumns));
48
+ return newColumns;
49
+ });
50
+ },
51
+ [isReady, key],
52
+ );
28
53
 
29
54
  useEffect(() => {
30
55
  if (!key) return setIsReady(true);
56
+ if (renderCountRef.current > 1) {
57
+ throw new Error(
58
+ `useTableLayout should only be called once per component render cycle.
59
+ ${renderCountRef.current} Renders detected.
60
+ Check dependency stability`,
61
+ );
62
+ }
63
+ renderCountRef.current += 1;
31
64
  const savedLayout = localStorage.getItem(`${key}-tableLayout`);
32
65
  if (savedLayout) {
33
- setColumns(
66
+ handleSaveLayout(
34
67
  mergeObjectArrays<ColumnDef<T>>(
35
68
  initialColumns,
36
69
  JSON.parse(savedLayout),
37
70
  ),
71
+ true,
38
72
  );
39
73
  }
40
74
  if (!savedLayout) handleSaveLayout(initialColumns, true);
41
- setLayoutSignal((prev) => prev + 1);
42
75
  setIsReady(true);
43
76
 
77
+ return () => {
78
+ renderCountRef.current = 0;
79
+ };
44
80
  // Load the layout from local storage on init
45
- // eslint-disable-next-line react-hooks/exhaustive-deps
46
- }, []);
47
-
48
- const handleSaveLayout = useCallback(
49
- (setter: React.SetStateAction<ColumnDef<T>[]>, _internal?: boolean) => {
50
- if (!isReady && !_internal) return null;
51
- // get value from passed setter
52
- const newColumns =
53
- typeof setter === "function" ? setter(columns) : setter;
54
- if (JSON.stringify(newColumns) === JSON.stringify(columns) && !_internal)
55
- return null;
56
- if (key) {
57
- localStorage.setItem(`${key}-tableLayout`, JSON.stringify(newColumns));
58
- }
59
- setColumns(newColumns);
60
- setLayoutSignal((prev) => prev + 1);
61
-
62
- return newColumns;
63
- },
64
- [columns, isReady, key],
65
- );
81
+ }, [handleSaveLayout, initialColumns, key]);
66
82
 
67
- return { columns, setColumns: handleSaveLayout, layoutSignal, isReady };
83
+ return { columns, setColumns: handleSaveLayout, isReady };
68
84
  }
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Label
3
3
  } from "./chunk-CJVTFYI4.js";
4
- import {
5
- Button
6
- } from "./chunk-SK742QNF.js";
7
4
  import {
8
5
  Icon
9
6
  } from "./chunk-UAPWR2KE.js";
7
+ import {
8
+ Button
9
+ } from "./chunk-SK742QNF.js";
10
10
  import {
11
11
  baseTransition,
12
12
  componentGap,
@@ -1,11 +1,11 @@
1
+ import {
2
+ Label
3
+ } from "./chunk-CJVTFYI4.js";
1
4
  import {
2
5
  formatCurrencyDisplay,
3
6
  formatDecimalValue,
4
7
  getDecimalPlaceholder
5
8
  } from "./chunk-5UH6QUFB.js";
6
- import {
7
- Label
8
- } from "./chunk-CJVTFYI4.js";
9
9
  import {
10
10
  Icon
11
11
  } from "./chunk-UAPWR2KE.js";
@@ -1,9 +1,9 @@
1
- import {
2
- Button
3
- } from "./chunk-SK742QNF.js";
4
1
  import {
5
2
  Icon
6
3
  } from "./chunk-UAPWR2KE.js";
4
+ import {
5
+ Button
6
+ } from "./chunk-SK742QNF.js";
7
7
  import {
8
8
  __objRest,
9
9
  __spreadProps,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Heading2
3
3
  } from "./chunk-REOLWEZG.js";
4
- import {
5
- Button
6
- } from "./chunk-SK742QNF.js";
7
4
  import {
8
5
  Icon
9
6
  } from "./chunk-UAPWR2KE.js";
7
+ import {
8
+ Button
9
+ } from "./chunk-SK742QNF.js";
10
10
  import {
11
11
  layoutGroupGap,
12
12
  layoutPaddding
@@ -1,9 +1,9 @@
1
- import {
2
- Button
3
- } from "./chunk-SK742QNF.js";
4
1
  import {
5
2
  Icon
6
3
  } from "./chunk-UAPWR2KE.js";
4
+ import {
5
+ Button
6
+ } from "./chunk-SK742QNF.js";
7
7
  import {
8
8
  layoutGroupGap,
9
9
  layoutPaddding