@entur/table 4.9.14 → 4.9.16

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.
@@ -0,0 +1,20 @@
1
+ import { default as React } from 'react';
2
+ import { VariantType } from '../../utils';
3
+ /** @deprecated use variant="information" instead */
4
+ declare const info = "info";
5
+ /** @deprecated use variant="negative" instead */
6
+ declare const danger = "danger";
7
+ export type DataCellProps = {
8
+ /** Innholdet i tabellcellen */
9
+ children: React.ReactNode;
10
+ /** Ekstra klassenavn */
11
+ className?: string;
12
+ /** Størrelse som settes for DataCell for ulikt innhold av komponenter */
13
+ padding?: 'default' | 'checkbox' | 'radio' | 'overflow-menu';
14
+ /** @deprecated bruk variant */
15
+ status?: 'positive' | 'negative' | 'neutral';
16
+ /** Hvilken type status man vil vise */
17
+ variant?: 'primary' | 'neutral' | VariantType | typeof danger | typeof info;
18
+ } & React.DetailedHTMLProps<React.TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>;
19
+ export declare const DataCell: React.ForwardRefExoticComponent<Omit<DataCellProps, "ref"> & React.RefAttributes<HTMLTableDataCellElement>>;
20
+ export {};
@@ -0,0 +1,23 @@
1
+ import { default as React } from 'react';
2
+ import { VariantType } from '../../utils';
3
+ /** @deprecated use variant="information" instead */
4
+ declare const info = "info";
5
+ /** @deprecated use variant="negative" instead */
6
+ declare const error = "error";
7
+ type EditableCellProps = {
8
+ /** Ekstra klassenavn */
9
+ className?: string;
10
+ /** Inputelementet som skal være i tabellcellen */
11
+ children: React.ReactElement;
12
+ /** Valideringsvariant for EditableCell */
13
+ variant?: VariantType | typeof error | typeof info;
14
+ /** Varselmelding, som vil komme som en Tooltip under EditableCell */
15
+ feedback?: string;
16
+ /** Om cellen skal vise omriss til enhver tid
17
+ * @default false
18
+ */
19
+ outlined?: boolean;
20
+ [key: string]: any;
21
+ };
22
+ export declare const EditableCell: React.FC<EditableCellProps>;
23
+ export {};
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ export type ExpandRowButtonProps = {
3
+ open: boolean;
4
+ onClick: (e: React.MouseEvent) => void;
5
+ } & React.ButtonHTMLAttributes<HTMLButtonElement>;
6
+ export declare const ExpandRowButton: React.FC<ExpandRowButtonProps>;
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ export type ExpandableRowProps = {
3
+ /** Antall kolonner tabellraden er */
4
+ colSpan: number;
5
+ /** Innholdet til ExpandableRow */
6
+ children: React.ReactNode;
7
+ /** Om ExpandableRow er åpen
8
+ * @default false
9
+ */
10
+ open?: boolean;
11
+ };
12
+ export declare const ExpandableRow: React.FC<ExpandableRowProps>;
@@ -0,0 +1,23 @@
1
+ import { default as React } from 'react';
2
+ import { ExternalSortConfig } from '.';
3
+ export type HeaderCellProps = {
4
+ /** Kolonneoverskrift */
5
+ children: React.ReactNode;
6
+ /** Ekstra klassenavn */
7
+ className?: string;
8
+ /** Størrelse som settes for HeaderCell for ulikt innhold av komponenter */
9
+ padding?: 'default' | 'checkbox' | 'radio' | 'overflow-menu';
10
+ /** Ekstra props som kan sendes til sorteringsknappelementet. Benyttes via useSortableTable */
11
+ sortableButtonProps?: React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;
12
+ /** Om komponenten brukes til sortering. Benytt via useSortableTable
13
+ * @default false
14
+ */
15
+ sortable?: boolean;
16
+ /** Konfigurering og rekkefølgen på sortering. Benyttes via useSortableTable */
17
+ sortConfig?: ExternalSortConfig;
18
+ /** Navnet det skal sorteres på. Benyttes via useSortableTable */
19
+ name?: string;
20
+ sortedAscendingAriaLabel?: string;
21
+ sortedDescendingAriaLabel?: string;
22
+ } & React.DetailedHTMLProps<React.ThHTMLAttributes<HTMLTableCellElement>, HTMLTableCellElement>;
23
+ export declare const HeaderCell: React.ForwardRefExoticComponent<Omit<HeaderCellProps, "ref"> & React.RefAttributes<HTMLTableCellElement>>;
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+ export type TableProps = {
3
+ /** Ekstra klassenavn */
4
+ className?: string;
5
+ /** Setter tettheten mellom rader og kolonner. Bruk gjerne middle og small for for sider med høy informasjonstetthet
6
+ * @default "default"
7
+ */
8
+ spacing?: 'default' | 'middle' | 'small';
9
+ /** Setter kolonne-layout til å være uavhengig av innhold
10
+ * @default false
11
+ */
12
+ fixed?: boolean;
13
+ /** Om header-raden skal bli værende på skjermen når man skroller tabellen
14
+ * @default false
15
+ */
16
+ stickyHeader?: boolean;
17
+ /** Innholdet i tabellen */
18
+ children: React.ReactNode;
19
+ [key: string]: any;
20
+ };
21
+ export declare const Table: React.ForwardRefExoticComponent<Omit<TableProps, "ref"> & React.RefAttributes<HTMLTableElement>>;
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ export type TableBodyProps = {
3
+ /** Tabellrader */
4
+ children: React.ReactNode;
5
+ /** Ekstra klassenavn */
6
+ className?: string;
7
+ ref?: React.Ref<HTMLTableSectionElement>;
8
+ } & React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>;
9
+ export declare const TableBody: React.ForwardRefExoticComponent<Omit<TableBodyProps, "ref"> & React.RefAttributes<HTMLTableSectionElement>>;
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ export type TableFooterProps = {
3
+ /** Tabellrader */
4
+ children: React.ReactNode;
5
+ } & React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>;
6
+ export declare const TableFooter: React.ForwardRefExoticComponent<Omit<TableFooterProps, "ref"> & React.RefAttributes<HTMLTableSectionElement>>;
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+ export type TableHeadProps = {
3
+ /** Kolonneoverskrifter */
4
+ children: React.ReactNode;
5
+ /** Esktra klassenavn */
6
+ className?: string;
7
+ } & React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>;
8
+ export declare const TableHead: React.ForwardRefExoticComponent<Omit<TableHeadProps, "ref"> & React.RefAttributes<HTMLTableSectionElement>>;
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+ export type TableRowProps = {
3
+ /** Tabellceller */
4
+ children: React.ReactNode;
5
+ /** Ekstra klassenavn */
6
+ className?: string;
7
+ /**Hvis satt, så vil tabellraden endre fargen ved hover
8
+ * @default false
9
+ */
10
+ hover?: boolean;
11
+ /** Om raden er klikkbar, så vil raden endre farge, og musepekeren vil symbolisere interaktivitet
12
+ * @default false
13
+ */
14
+ active?: boolean;
15
+ /**Signalisere om at det er en feil i tabellraden
16
+ * @default false
17
+ */
18
+ error?: boolean;
19
+ ref?: React.Ref<HTMLTableRowElement>;
20
+ } & React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>;
21
+ export declare const TableRow: React.ForwardRefExoticComponent<Omit<TableRowProps, "ref"> & React.RefAttributes<HTMLTableRowElement>>;
package/dist/index.d.ts CHANGED
@@ -1,226 +1,12 @@
1
- import { ButtonHTMLAttributes } from 'react';
2
- import { default as default_2 } from 'react';
3
- import { DetailedHTMLProps } from 'react';
4
-
5
- /** @deprecated use variant="negative" instead */
6
- declare const danger = "danger";
7
-
8
- export declare const DataCell: default_2.ForwardRefExoticComponent<Omit<DataCellProps, "ref"> & default_2.RefAttributes<HTMLTableDataCellElement>>;
9
-
10
- export declare type DataCellProps = {
11
- /** Innholdet i tabellcellen */
12
- children: default_2.ReactNode;
13
- /** Ekstra klassenavn */
14
- className?: string;
15
- /** Størrelse som settes for DataCell for ulikt innhold av komponenter */
16
- padding?: 'default' | 'checkbox' | 'radio' | 'overflow-menu';
17
- /** @deprecated bruk variant */
18
- status?: 'positive' | 'negative' | 'neutral';
19
- /** Hvilken type status man vil vise */
20
- variant?: 'primary' | 'neutral' | VariantType | typeof danger | typeof info;
21
- } & default_2.DetailedHTMLProps<default_2.TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>;
22
-
23
- export declare const EditableCell: default_2.FC<EditableCellProps>;
24
-
25
- declare type EditableCellProps = {
26
- /** Ekstra klassenavn */
27
- className?: string;
28
- /** Inputelementet som skal være i tabellcellen */
29
- children: default_2.ReactElement;
30
- /** Valideringsvariant for EditableCell */
31
- variant?: VariantType | typeof error | typeof info_2;
32
- /** Varselmelding, som vil komme som en Tooltip under EditableCell */
33
- feedback?: string;
34
- /** Om cellen skal vise omriss til enhver tid
35
- * @default false
36
- */
37
- outlined?: boolean;
38
- [key: string]: any;
39
- };
40
-
41
- /** @deprecated use variant="negative" instead */
42
- declare const error = "error";
43
-
44
- export declare const ExpandableRow: default_2.FC<ExpandableRowProps>;
45
-
46
- export declare type ExpandableRowProps = {
47
- /** Antall kolonner tabellraden er */
48
- colSpan: number;
49
- /** Innholdet til ExpandableRow */
50
- children: default_2.ReactNode;
51
- /** Om ExpandableRow er åpen
52
- * @default false
53
- */
54
- open?: boolean;
55
- };
56
-
57
- export declare const ExpandRowButton: default_2.FC<ExpandRowButtonProps>;
58
-
59
- export declare type ExpandRowButtonProps = {
60
- open: boolean;
61
- onClick: (e: default_2.MouseEvent) => void;
62
- } & default_2.ButtonHTMLAttributes<HTMLButtonElement>;
63
-
64
- export declare type ExternalSortConfig = {
65
- /**
66
- * @default ""
67
- */
68
- key: string;
69
- /** @default "none" */
70
- order: 'ascending' | 'descending' | 'none';
71
- };
72
-
73
- export declare const HeaderCell: default_2.ForwardRefExoticComponent<Omit<HeaderCellProps, "ref"> & default_2.RefAttributes<HTMLTableCellElement>>;
74
-
75
- export declare type HeaderCellProps = {
76
- /** Kolonneoverskrift */
77
- children: default_2.ReactNode;
78
- /** Ekstra klassenavn */
79
- className?: string;
80
- /** Størrelse som settes for HeaderCell for ulikt innhold av komponenter */
81
- padding?: 'default' | 'checkbox' | 'radio' | 'overflow-menu';
82
- /** Ekstra props som kan sendes til sorteringsknappelementet. Benyttes via useSortableTable */
83
- sortableButtonProps?: default_2.DetailedHTMLProps<default_2.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;
84
- /** Om komponenten brukes til sortering. Benytt via useSortableTable
85
- * @default false
86
- */
87
- sortable?: boolean;
88
- /** Konfigurering og rekkefølgen på sortering. Benyttes via useSortableTable */
89
- sortConfig?: ExternalSortConfig;
90
- /** Navnet det skal sorteres på. Benyttes via useSortableTable */
91
- name?: string;
92
- sortedAscendingAriaLabel?: string;
93
- sortedDescendingAriaLabel?: string;
94
- } & default_2.DetailedHTMLProps<default_2.ThHTMLAttributes<HTMLTableCellElement>, HTMLTableCellElement>;
95
-
96
- /** @deprecated use variant="information" instead */
97
- declare const info = "info";
98
-
99
- /** @deprecated use variant="information" instead */
100
- declare const info_2 = "info";
101
-
102
- export declare type SortableHeaderProps = {
103
- /** Navnet headeren skal se etter i forhold til sortering av items */
104
- name: string;
105
- /** Om headeren skal være sorterbar eller ikke
106
- * @default true */
107
- sortable?: boolean;
108
- /** Props som sendes til knapp-elementet */
109
- buttonProps?: Omit<DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, 'type' | 'onClick'>;
110
- [key: string]: any;
111
- };
112
-
113
- export declare type SortableHeaderReturnProps = {
114
- name: string;
115
- sortable: boolean;
116
- sortConfig: ExternalSortConfig;
117
- [key: string]: any;
118
- };
119
-
120
- export declare type SortableTableProps = {
121
- /** @default true */
122
- sortable?: boolean;
123
- [key: string]: any;
124
- };
125
-
126
- export declare type SortableTableReturnProps = {
127
- /** @default true */
128
- sortable?: boolean;
129
- sortConfig: ExternalSortConfig;
130
- [key: string]: any;
131
- };
132
-
133
- export declare const Table: default_2.ForwardRefExoticComponent<Omit<TableProps, "ref"> & default_2.RefAttributes<HTMLTableElement>>;
134
-
135
- export declare const TableBody: default_2.ForwardRefExoticComponent<Omit<TableBodyProps, "ref"> & default_2.RefAttributes<HTMLTableSectionElement>>;
136
-
137
- export declare type TableBodyProps = {
138
- /** Tabellrader */
139
- children: default_2.ReactNode;
140
- /** Ekstra klassenavn */
141
- className?: string;
142
- ref?: default_2.Ref<HTMLTableSectionElement>;
143
- } & default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>;
144
-
145
- export declare const TableFooter: default_2.ForwardRefExoticComponent<Omit<TableFooterProps, "ref"> & default_2.RefAttributes<HTMLTableSectionElement>>;
146
-
147
- export declare type TableFooterProps = {
148
- /** Tabellrader */
149
- children: default_2.ReactNode;
150
- } & default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>;
151
-
152
- export declare const TableHead: default_2.ForwardRefExoticComponent<Omit<TableHeadProps, "ref"> & default_2.RefAttributes<HTMLTableSectionElement>>;
153
-
154
- export declare type TableHeadProps = {
155
- /** Kolonneoverskrifter */
156
- children: default_2.ReactNode;
157
- /** Esktra klassenavn */
158
- className?: string;
159
- } & default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>;
160
-
161
- export declare type TableProps = {
162
- /** Ekstra klassenavn */
163
- className?: string;
164
- /** Setter tettheten mellom rader og kolonner. Bruk gjerne middle og small for for sider med høy informasjonstetthet
165
- * @default "default"
166
- */
167
- spacing?: 'default' | 'middle' | 'small';
168
- /** Setter kolonne-layout til å være uavhengig av innhold
169
- * @default false
170
- */
171
- fixed?: boolean;
172
- /** Om header-raden skal bli værende på skjermen når man skroller tabellen
173
- * @default false
174
- */
175
- stickyHeader?: boolean;
176
- /** Innholdet i tabellen */
177
- children: default_2.ReactNode;
178
- [key: string]: any;
179
- };
180
-
181
- export declare const TableRow: default_2.ForwardRefExoticComponent<Omit<TableRowProps, "ref"> & default_2.RefAttributes<HTMLTableRowElement>>;
182
-
183
- export declare type TableRowProps = {
184
- /** Tabellceller */
185
- children: default_2.ReactNode;
186
- /** Ekstra klassenavn */
187
- className?: string;
188
- /**Hvis satt, så vil tabellraden endre fargen ved hover
189
- * @default false
190
- */
191
- hover?: boolean;
192
- /** Om raden er klikkbar, så vil raden endre farge, og musepekeren vil symbolisere interaktivitet
193
- * @default false
194
- */
195
- active?: boolean;
196
- /**Signalisere om at det er en feil i tabellraden
197
- * @default false
198
- */
199
- error?: boolean;
200
- ref?: default_2.Ref<HTMLTableRowElement>;
201
- } & default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>;
202
-
203
- export declare function useSortableData<T>(tableData: T[], externalSortConfig?: ExternalSortConfig): {
204
- sortedData: T[];
205
- getSortableHeaderProps: (args: SortableHeaderProps) => SortableHeaderReturnProps;
206
- getSortableTableProps: (args?: SortableTableProps) => SortableTableReturnProps;
207
- };
208
-
209
- export declare const useTableKeyboardNavigation: useTableKeyboardNavigationProps;
210
-
211
- export declare type useTableKeyboardNavigationProps = (
212
- /** Antall rader i tabellen */
213
- numberOfRows: number,
214
- /** Tillate at man kan navigere sirkulært
215
- * @default false
216
- */
217
- allowWrap?: boolean) => {
218
- getTableRowNavigationProps: (
219
- /** Raden i tabellen (0-indeksert) */
220
- row: number) => Partial<TableRowProps>;
221
- getTableBodyNavigationProps: () => Partial<TableBodyProps>;
222
- };
223
-
224
- declare type VariantType = 'success' | 'negative' | 'warning' | 'information';
225
-
226
- export { }
1
+ export * from './Table';
2
+ export * from './TableHead';
3
+ export * from './TableBody';
4
+ export * from './TableFooter';
5
+ export * from './TableRow';
6
+ export * from './DataCell';
7
+ export * from './HeaderCell';
8
+ export * from './useSortableTable';
9
+ export * from './EditableCell';
10
+ export * from './ExpandableRow';
11
+ export * from './ExpandRowButton';
12
+ export * from './useTableKeyboardNavigation';
package/dist/styles.css CHANGED
@@ -57,7 +57,7 @@
57
57
  --basecolors-frame-tint: #f6f6f9;
58
58
  --basecolors-shape-accent: #181c56;
59
59
  --basecolors-shape-bicycle-contrast: #00db9b;
60
- --basecolors-shape-bicycle-default: #388f76;
60
+ --basecolors-shape-bicycle-default: #33826b;
61
61
  --basecolors-shape-bus-contrast: #ff6392;
62
62
  --basecolors-shape-bus-default: #c5044e;
63
63
  --basecolors-shape-cableway-contrast: #b482fb;
@@ -77,7 +77,7 @@
77
77
  --basecolors-shape-metro-contrast: #f08901;
78
78
  --basecolors-shape-metro-default: #bf5826;
79
79
  --basecolors-shape-mobility-contrast: #00db9b;
80
- --basecolors-shape-mobility-default: #388f76;
80
+ --basecolors-shape-mobility-default: #33826b;
81
81
  --basecolors-shape-plane-contrast: #fbafea;
82
82
  --basecolors-shape-plane-default: #800664;
83
83
  --basecolors-shape-subdued: #626493;
@@ -0,0 +1,41 @@
1
+ import { ButtonHTMLAttributes, DetailedHTMLProps } from 'react';
2
+ export type ExternalSortConfig = {
3
+ /**
4
+ * @default ""
5
+ */
6
+ key: string;
7
+ /** @default "none" */
8
+ order: 'ascending' | 'descending' | 'none';
9
+ };
10
+ export declare function useSortableData<T>(tableData: T[], externalSortConfig?: ExternalSortConfig): {
11
+ sortedData: T[];
12
+ getSortableHeaderProps: (args: SortableHeaderProps) => SortableHeaderReturnProps;
13
+ getSortableTableProps: (args?: SortableTableProps) => SortableTableReturnProps;
14
+ };
15
+ export type SortableHeaderProps = {
16
+ /** Navnet headeren skal se etter i forhold til sortering av items */
17
+ name: string;
18
+ /** Om headeren skal være sorterbar eller ikke
19
+ * @default true */
20
+ sortable?: boolean;
21
+ /** Props som sendes til knapp-elementet */
22
+ buttonProps?: Omit<DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, 'type' | 'onClick'>;
23
+ [key: string]: any;
24
+ };
25
+ export type SortableHeaderReturnProps = {
26
+ name: string;
27
+ sortable: boolean;
28
+ sortConfig: ExternalSortConfig;
29
+ [key: string]: any;
30
+ };
31
+ export type SortableTableProps = {
32
+ /** @default true */
33
+ sortable?: boolean;
34
+ [key: string]: any;
35
+ };
36
+ export type SortableTableReturnProps = {
37
+ /** @default true */
38
+ sortable?: boolean;
39
+ sortConfig: ExternalSortConfig;
40
+ [key: string]: any;
41
+ };
@@ -0,0 +1,14 @@
1
+ import { TableBodyProps, TableRowProps } from './index';
2
+ export type useTableKeyboardNavigationProps = (
3
+ /** Antall rader i tabellen */
4
+ numberOfRows: number,
5
+ /** Tillate at man kan navigere sirkulært
6
+ * @default false
7
+ */
8
+ allowWrap?: boolean) => {
9
+ getTableRowNavigationProps: (
10
+ /** Raden i tabellen (0-indeksert) */
11
+ row: number) => Partial<TableRowProps>;
12
+ getTableBodyNavigationProps: () => Partial<TableBodyProps>;
13
+ };
14
+ export declare const useTableKeyboardNavigation: useTableKeyboardNavigationProps;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/table",
3
- "version": "4.9.14",
3
+ "version": "4.9.16",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/table.cjs.js",
6
6
  "module": "dist/table.esm.js",
@@ -27,15 +27,15 @@
27
27
  "react-dom": ">=16.8.0"
28
28
  },
29
29
  "dependencies": {
30
- "@entur/a11y": "^0.2.100",
31
- "@entur/button": "^3.3.13",
32
- "@entur/expand": "^3.6.13",
33
- "@entur/form": "^8.3.2",
34
- "@entur/icons": "^8.0.1",
35
- "@entur/layout": "^3.1.9",
36
- "@entur/tokens": "^3.19.2",
37
- "@entur/tooltip": "^5.2.13",
38
- "@entur/utils": "^0.12.4",
30
+ "@entur/a11y": "^0.2.102",
31
+ "@entur/button": "^3.3.16",
32
+ "@entur/expand": "^3.6.16",
33
+ "@entur/form": "^8.4.0",
34
+ "@entur/icons": "^8.1.0",
35
+ "@entur/layout": "^3.2.0",
36
+ "@entur/tokens": "^3.20.0",
37
+ "@entur/tooltip": "^5.2.15",
38
+ "@entur/utils": "^0.12.5",
39
39
  "@types/lodash.get": "^4.4.9",
40
40
  "classnames": "^2.5.1",
41
41
  "lodash.get": "^4.4.2"
@@ -53,5 +53,5 @@
53
53
  "vite": "^7.1.3",
54
54
  "vite-plugin-dts": "^4.5.4"
55
55
  },
56
- "gitHead": "268fb2f3387485206586a7c4c6f2a058f824f5d6"
56
+ "gitHead": "121225eb41428c01d02eeaa81669651cb9499456"
57
57
  }