@aivenio/aquarium 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/_variables.scss +20 -2
  2. package/dist/_variables_timescale.scss +20 -2
  3. package/dist/atoms.cjs +4102 -76
  4. package/dist/atoms.mjs +4094 -74
  5. package/dist/src/common/Banner/Banner.js +7 -4
  6. package/dist/src/common/DataList/DataList.d.ts +24 -0
  7. package/dist/src/common/DataList/DataList.js +54 -0
  8. package/dist/src/common/DropdownMenu/DropdownMenu.d.ts +3 -1
  9. package/dist/src/common/DropdownMenu/DropdownMenu.js +5 -3
  10. package/dist/src/common/Table/Table.d.ts +8 -3
  11. package/dist/src/common/Table/Table.js +20 -10
  12. package/dist/src/components/Carousel/Carousel.d.ts +16 -0
  13. package/dist/src/components/Carousel/Carousel.js +89 -0
  14. package/dist/src/components/Chip/Chip.d.ts +1 -0
  15. package/dist/src/components/Chip/Chip.js +2 -2
  16. package/dist/src/components/DataList/DataList.d.ts +13 -0
  17. package/dist/src/components/DataList/DataList.js +24 -0
  18. package/dist/src/components/DataTable/DataTable.d.ts +5 -92
  19. package/dist/src/components/DataTable/DataTable.js +9 -28
  20. package/dist/src/components/Dropdown/Dropdown.js +1 -1
  21. package/dist/src/components/DropdownMenu/DropdownMenu.d.ts +8 -0
  22. package/dist/src/components/DropdownMenu/DropdownMenu.js +18 -15
  23. package/dist/src/components/Section/Section.js +2 -2
  24. package/dist/src/components/Table/Table.js +2 -2
  25. package/dist/src/components/Template/Template.d.ts +6 -1
  26. package/dist/src/components/Template/Template.js +7 -2
  27. package/dist/src/components/index.d.ts +6 -1
  28. package/dist/src/components/index.js +7 -2
  29. package/dist/src/utils/Blueprint.d.ts +6 -1
  30. package/dist/src/utils/Blueprint.js +4 -2
  31. package/dist/src/utils/table/types.d.ts +129 -0
  32. package/dist/src/utils/table/types.js +6 -0
  33. package/dist/src/utils/table/useScrollTarget.d.ts +2 -0
  34. package/dist/src/utils/table/useScrollTarget.js +16 -0
  35. package/dist/src/{common/Table/Table.utils.d.ts → utils/table/useTableSelect.d.ts} +0 -3
  36. package/dist/src/utils/table/useTableSelect.js +27 -0
  37. package/dist/src/utils/table/useTableSort.d.ts +2 -0
  38. package/dist/src/utils/table/useTableSort.js +19 -0
  39. package/dist/styles.css +63 -6
  40. package/dist/styles_timescaledb.css +63 -6
  41. package/dist/system.cjs +937 -675
  42. package/dist/system.mjs +931 -673
  43. package/dist/tsconfig.module.tsbuildinfo +1 -1
  44. package/dist/types/ActionType.d.ts +2 -0
  45. package/dist/types/tailwindGenerated.d.ts +1 -1
  46. package/dist/types/utils.d.ts +3 -0
  47. package/package.json +3 -3
  48. package/dist/src/common/Table/Table.utils.js +0 -41
@@ -0,0 +1,129 @@
1
+ import React, { AriaAttributes } from 'react';
2
+ import { ChipStatus } from '../../../src/components/Chip/Chip';
3
+ import { ActionType } from '../../../types/ActionType';
4
+ import { RequireAtLeastOne } from '../../../types/utils';
5
+ import { Weight } from '../../../src/components/Template/Template';
6
+ export declare type TextAlign = 'left' | 'center' | 'right';
7
+ export declare type SortDirection = AriaAttributes['aria-sort'];
8
+ export declare type Column = {
9
+ /**
10
+ * Type of the column.
11
+ */
12
+ type: 'text' | 'number' | 'action' | 'custom' | 'status' | 'item';
13
+ /**
14
+ * Display name for the column.
15
+ */
16
+ headerName: string;
17
+ };
18
+ declare type Formatter<R, K extends keyof R, V = R[K]> = (value: V, row: R, index: number, rows: R[]) => string;
19
+ export declare type FieldColumn<T, K extends keyof T = keyof T> = K extends keyof T ? {
20
+ /**
21
+ * Name of the property field that this column represents in the data rows.
22
+ */
23
+ field: K;
24
+ /**
25
+ * When true, user will be able to sort data rows by clicking this column header.
26
+ */
27
+ sortable?: boolean;
28
+ /**
29
+ * Formatter function. Use for example for formatting dates or capitalizing words.
30
+ * Sorting will still be based on the unformatted value.
31
+ */
32
+ formatter?: Formatter<T, K>;
33
+ } : never;
34
+ export declare type TextColumn<R> = FieldColumn<R> & {
35
+ /**
36
+ * Type of the column.
37
+ */
38
+ type: 'text';
39
+ };
40
+ export declare type NumberColumn<R> = FieldColumn<R> & {
41
+ /**
42
+ * Type of the column.
43
+ */
44
+ type: 'number';
45
+ };
46
+ export declare type ActionColumn<R> = {
47
+ /**
48
+ * Type of the column.
49
+ */
50
+ type: 'action';
51
+ /**
52
+ * Callback function that resolves to Button props.
53
+ */
54
+ action: (row: R, index: number, rows: R[]) => ActionType;
55
+ };
56
+ export declare type CustomColumn<R> = {
57
+ /**
58
+ * Type of the column.
59
+ */
60
+ type: 'custom';
61
+ /**
62
+ * Unsafe render method. Consider consulting the designer instead of using this.
63
+ * Using render callback will also disallow sorting on that column.
64
+ */
65
+ UNSAFE_render: (row: R, index: number, rows: R[]) => React.ReactNode;
66
+ };
67
+ export declare type TableItem = RequireAtLeastOne<{
68
+ title: React.ReactNode;
69
+ caption?: React.ReactNode;
70
+ image?: string;
71
+ imageAlt?: string;
72
+ imageSize?: number;
73
+ }, 'caption' | 'image'>;
74
+ declare type ItemColumn<T> = Column & {
75
+ /**
76
+ * Type of the column.
77
+ */
78
+ type: 'item';
79
+ /**
80
+ * Callback function that resolves to TableItem props
81
+ */
82
+ item: (row: T, index: number, rows: T[]) => TableItem;
83
+ };
84
+ declare type StatusColumn<R> = {
85
+ /**
86
+ * Type of the column.
87
+ */
88
+ type: 'status';
89
+ /**
90
+ * Callback function that resolves to StatusChip props
91
+ */
92
+ status: (row: R, index: number, rows: R[]) => {
93
+ status: ChipStatus;
94
+ text: string | number;
95
+ };
96
+ };
97
+ declare type ListColumn = Column & {
98
+ /**
99
+ * Width of the column. Number for pixels and string for percentages
100
+ */
101
+ width?: number | Weight;
102
+ };
103
+ declare type TableColumn = Column & {
104
+ /**
105
+ * Width of the column. Number for pixels and string for percentages
106
+ */
107
+ width?: number | `${number}%`;
108
+ };
109
+ export declare type DataListColumn<R extends DataTableRow> = DataColumn<R, ListColumn>;
110
+ export declare type DataTableColumn<R extends DataTableRow> = DataColumn<R, TableColumn>;
111
+ declare type DataColumn<R extends DataTableRow, C extends Column> = C & (TextColumn<R> | CustomColumn<R> | StatusColumn<R> | NumberColumn<R> | ActionColumn<R> | ItemColumn<R>);
112
+ export declare type DataTableRow = Record<string, any> & {
113
+ /**
114
+ * Assigned ID for each data row.
115
+ * Used as a key. Use something unqiue derived from the data, not index.
116
+ */
117
+ id: string | number;
118
+ };
119
+ export declare type Sort<R extends DataTableRow> = {
120
+ key: keyof R;
121
+ direction: SortDirection;
122
+ };
123
+ export declare const toSortDirection: (direction: SortDirection | undefined) => 'asc' | 'desc' | false;
124
+ declare type CellProps = {
125
+ key: string;
126
+ align: TextAlign;
127
+ };
128
+ export declare const cellProps: <C extends Column>(column: C) => CellProps;
129
+ export {};
@@ -0,0 +1,6 @@
1
+ export const toSortDirection = (direction) => direction === 'ascending' ? 'asc' : direction === 'descending' ? 'desc' : false;
2
+ export const cellProps = (column) => ({
3
+ key: column.headerName,
4
+ align: column.type === 'number' || column.type === 'action' ? 'right' : 'left',
5
+ });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGFibGUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNklBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQW9DLEVBQTBCLEVBQUUsQ0FDOUYsU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQU9sRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBbUIsTUFBUyxFQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLEdBQUcsRUFBRSxNQUFNLENBQUMsVUFBVTtJQUN0QixLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTTtDQUMvRSxDQUFDLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import React, { RefObject } from 'react';
2
+ export declare const useScrollTarget: <T extends HTMLElement>(callback?: () => void) => React.RefObject<T>;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export const useScrollTarget = (callback) => {
3
+ const targetRef = React.useRef(null);
4
+ React.useLayoutEffect(() => {
5
+ const observer = new IntersectionObserver((entries) => entries[0].isIntersecting && callback && callback(), {
6
+ root: null,
7
+ rootMargin: `0px 0px 200px 0px`,
8
+ });
9
+ if (targetRef.current) {
10
+ observer.observe(targetRef.current);
11
+ }
12
+ return () => observer.disconnect();
13
+ }, []);
14
+ return targetRef;
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlU2Nyb2xsVGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3RhYmxlL3VzZVNjcm9sbFRhcmdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQW9CLE1BQU0sT0FBTyxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUF3QixRQUFxQixFQUFnQixFQUFFO0lBQzVGLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUksSUFBSSxDQUFDLENBQUM7SUFFeEMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxRQUFRLElBQUksUUFBUSxFQUFFLEVBQUU7WUFDMUcsSUFBSSxFQUFFLElBQUk7WUFDVixVQUFVLEVBQUUsbUJBQW1CO1NBQ2hDLENBQUMsQ0FBQztRQUNILElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRTtZQUNyQixRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNyQztRQUNELE9BQU8sR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQyJ9
@@ -1,5 +1,3 @@
1
- import React, { RefObject, AriaAttributes } from 'react';
2
- export declare type SortDirection = AriaAttributes['aria-sort'];
3
1
  declare type AnyObject = {
4
2
  [key: string]: any;
5
3
  };
@@ -15,5 +13,4 @@ declare type TableSelectControls = {
15
13
  selectOnlyOne: (dot: AnyObject) => void;
16
14
  };
17
15
  export declare const useTableSelect: (data: AnyObject[], { key }: TableSelectOptions) => TableSelectControls;
18
- export declare const useScrollTarget: <T extends HTMLElement>(callback?: () => void) => React.RefObject<T>;
19
16
  export {};
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ export const useTableSelect = (data, { key }) => {
3
+ const [selected, setSelected] = React.useState([]);
4
+ const allSelected = selected.length === data.length;
5
+ const isSelected = (dot) => selected.includes(dot[key]);
6
+ const selectAll = () => setSelected(data.map((dot) => dot[key]));
7
+ const selectOnlyOne = (dot) => setSelected([dot[key]]);
8
+ const unselectAll = () => setSelected([]);
9
+ const toggle = (dot) => {
10
+ if (isSelected(dot)) {
11
+ setSelected((current) => current.filter((selectedDot) => selectedDot !== dot[key]));
12
+ }
13
+ else {
14
+ setSelected((current) => [...current, dot[key]]);
15
+ }
16
+ };
17
+ const toggleAll = () => (allSelected ? unselectAll() : selectAll());
18
+ return {
19
+ selected,
20
+ allSelected,
21
+ toggle,
22
+ toggleAll,
23
+ isSelected,
24
+ selectOnlyOne,
25
+ };
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGFibGVTZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGFibGUvdXNlVGFibGVTZWxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBaUIxQixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFpQixFQUFFLEVBQUUsR0FBRyxFQUFzQixFQUF1QixFQUFFO0lBQ3BHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFjLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUUsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFjLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBYyxFQUFFLEVBQUU7UUFDaEMsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsV0FBVyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRjthQUFNO1lBQ0wsV0FBVyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFFcEUsT0FBTztRQUNMLFFBQVE7UUFDUixXQUFXO1FBQ1gsTUFBTTtRQUNOLFNBQVM7UUFDVCxVQUFVO1FBQ1YsYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import { DataTableRow, Sort } from '../../../src/utils/table/types';
2
+ export declare const useTableSort: <T extends DataTableRow>() => [Sort<T> | undefined, (field: keyof T) => void];
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ export const useTableSort = () => {
3
+ const [sort, setSort] = React.useState();
4
+ const handleSortClick = (field) => {
5
+ if ((sort === null || sort === void 0 ? void 0 : sort.key) === field) {
6
+ if (sort.direction === 'ascending') {
7
+ setSort({ key: field, direction: 'descending' });
8
+ }
9
+ else {
10
+ setSort(undefined);
11
+ }
12
+ }
13
+ else {
14
+ setSort({ key: field, direction: 'ascending' });
15
+ }
16
+ };
17
+ return [sort, handleSortClick];
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGFibGVTb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3RhYmxlL3VzZVRhYmxlU29ydC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRzFCLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUE0RSxFQUFFO0lBQ3hHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO0lBQ2xELE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUU7UUFDekMsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxHQUFHLE1BQUssS0FBSyxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLEVBQUU7Z0JBQ2xDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7YUFDbEQ7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3BCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDLENBQUM7SUFFRixPQUFPLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyJ9
package/dist/styles.css CHANGED
@@ -715,9 +715,6 @@ input[type='number'].no-arrows {
715
715
  .mt-4 {
716
716
  margin-top: 12px !important;
717
717
  }
718
- .ml-4 {
719
- margin-left: 12px !important;
720
- }
721
718
  .mb-5 {
722
719
  margin-bottom: 16px !important;
723
720
  }
@@ -766,6 +763,9 @@ input[type='number'].no-arrows {
766
763
  .table {
767
764
  display: table !important;
768
765
  }
766
+ .\!table {
767
+ display: table !important;
768
+ }
769
769
  .grid {
770
770
  display: grid !important;
771
771
  }
@@ -838,6 +838,9 @@ input[type='number'].no-arrows {
838
838
  .min-h-full {
839
839
  min-height: 100% !important;
840
840
  }
841
+ .min-h-\[50px\] {
842
+ min-height: 50px !important;
843
+ }
841
844
  .w-full {
842
845
  width: 100% !important;
843
846
  }
@@ -958,6 +961,15 @@ input[type='number'].no-arrows {
958
961
  .resize {
959
962
  resize: both !important;
960
963
  }
964
+ .snap-x {
965
+ scroll-snap-type: x var(--tw-scroll-snap-strictness) !important;
966
+ }
967
+ .snap-mandatory {
968
+ --tw-scroll-snap-strictness: mandatory !important;
969
+ }
970
+ .snap-start {
971
+ scroll-snap-align: start !important;
972
+ }
961
973
  .appearance-none {
962
974
  -webkit-appearance: none !important;
963
975
  -moz-appearance: none !important;
@@ -966,6 +978,9 @@ input[type='number'].no-arrows {
966
978
  .auto-cols-fr {
967
979
  grid-auto-columns: minmax(0, 1fr) !important;
968
980
  }
981
+ .grid-flow-col {
982
+ grid-auto-flow: column !important;
983
+ }
969
984
  .grid-cols-\[auto_1fr_auto\] {
970
985
  grid-template-columns: auto 1fr auto !important;
971
986
  }
@@ -990,6 +1005,9 @@ input[type='number'].no-arrows {
990
1005
  .flex-row {
991
1006
  flex-direction: row !important;
992
1007
  }
1008
+ .flex-row-reverse {
1009
+ flex-direction: row-reverse !important;
1010
+ }
993
1011
  .flex-col {
994
1012
  flex-direction: column !important;
995
1013
  }
@@ -1002,6 +1020,12 @@ input[type='number'].no-arrows {
1002
1020
  .items-center {
1003
1021
  align-items: center !important;
1004
1022
  }
1023
+ .items-stretch {
1024
+ align-items: stretch !important;
1025
+ }
1026
+ .justify-start {
1027
+ justify-content: flex-start !important;
1028
+ }
1005
1029
  .justify-end {
1006
1030
  justify-content: flex-end !important;
1007
1031
  }
@@ -1072,6 +1096,12 @@ input[type='number'].no-arrows {
1072
1096
  .overflow-x-hidden {
1073
1097
  overflow-x: hidden !important;
1074
1098
  }
1099
+ .overflow-x-scroll {
1100
+ overflow-x: scroll !important;
1101
+ }
1102
+ .scroll-smooth {
1103
+ scroll-behavior: smooth !important;
1104
+ }
1075
1105
  .whitespace-nowrap {
1076
1106
  white-space: nowrap !important;
1077
1107
  }
@@ -1277,12 +1307,12 @@ input[type='number'].no-arrows {
1277
1307
  .p-5 {
1278
1308
  padding: 16px !important;
1279
1309
  }
1280
- .p-3 {
1281
- padding: 8px !important;
1282
- }
1283
1310
  .p-6 {
1284
1311
  padding: 24px !important;
1285
1312
  }
1313
+ .p-3 {
1314
+ padding: 8px !important;
1315
+ }
1286
1316
  .p-2 {
1287
1317
  padding: 4px !important;
1288
1318
  }
@@ -2013,6 +2043,18 @@ input[type='number'].no-arrows {
2013
2043
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0) !important;
2014
2044
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0)) !important;
2015
2045
  }
2046
+ .focus-visible\:ring-1.focus-visible {
2047
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
2048
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
2049
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0) !important;
2050
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0)) !important;
2051
+ }
2052
+ .focus-visible\:ring-1:focus-visible {
2053
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
2054
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
2055
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0) !important;
2056
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0)) !important;
2057
+ }
2016
2058
  .focus-visible\:ring-inset.focus-visible {
2017
2059
  --tw-ring-inset: inset !important;
2018
2060
  }
@@ -2035,6 +2077,14 @@ input[type='number'].no-arrows {
2035
2077
  --tw-ring-opacity: 1 !important;
2036
2078
  --tw-ring-color: rgb(120 120 133 / var(--tw-ring-opacity)) !important;
2037
2079
  }
2080
+ .focus-visible\:ring-info-70.focus-visible {
2081
+ --tw-ring-opacity: 1 !important;
2082
+ --tw-ring-color: rgb(3 153 227 / var(--tw-ring-opacity)) !important;
2083
+ }
2084
+ .focus-visible\:ring-info-70:focus-visible {
2085
+ --tw-ring-opacity: 1 !important;
2086
+ --tw-ring-color: rgb(3 153 227 / var(--tw-ring-opacity)) !important;
2087
+ }
2038
2088
  .active\:bg-primary-90:active {
2039
2089
  --tw-bg-opacity: 1 !important;
2040
2090
  background-color: rgb(198 4 67 / var(--tw-bg-opacity)) !important;
@@ -2118,9 +2168,16 @@ input[type='number'].no-arrows {
2118
2168
  --tw-ring-opacity: 1 !important;
2119
2169
  --tw-ring-color: rgb(210 210 214 / var(--tw-ring-opacity)) !important;
2120
2170
  }
2171
+ .group:last-child .group-last\:border-b-0 {
2172
+ border-bottom-width: 0px !important;
2173
+ }
2121
2174
  .group:hover .group-hover\:visible {
2122
2175
  visibility: visible !important;
2123
2176
  }
2177
+ .group:hover .group-hover\:bg-grey-0 {
2178
+ --tw-bg-opacity: 1 !important;
2179
+ background-color: rgb(247 247 250 / var(--tw-bg-opacity)) !important;
2180
+ }
2124
2181
  .group:hover .group-hover\:bg-grey-30 {
2125
2182
  --tw-bg-opacity: 1 !important;
2126
2183
  background-color: rgb(180 180 187 / var(--tw-bg-opacity)) !important;
@@ -715,9 +715,6 @@ input[type='number'].no-arrows {
715
715
  .mt-4 {
716
716
  margin-top: 12px !important;
717
717
  }
718
- .ml-4 {
719
- margin-left: 12px !important;
720
- }
721
718
  .mb-5 {
722
719
  margin-bottom: 16px !important;
723
720
  }
@@ -766,6 +763,9 @@ input[type='number'].no-arrows {
766
763
  .table {
767
764
  display: table !important;
768
765
  }
766
+ .\!table {
767
+ display: table !important;
768
+ }
769
769
  .grid {
770
770
  display: grid !important;
771
771
  }
@@ -838,6 +838,9 @@ input[type='number'].no-arrows {
838
838
  .min-h-full {
839
839
  min-height: 100% !important;
840
840
  }
841
+ .min-h-\[50px\] {
842
+ min-height: 50px !important;
843
+ }
841
844
  .w-full {
842
845
  width: 100% !important;
843
846
  }
@@ -958,6 +961,15 @@ input[type='number'].no-arrows {
958
961
  .resize {
959
962
  resize: both !important;
960
963
  }
964
+ .snap-x {
965
+ scroll-snap-type: x var(--tw-scroll-snap-strictness) !important;
966
+ }
967
+ .snap-mandatory {
968
+ --tw-scroll-snap-strictness: mandatory !important;
969
+ }
970
+ .snap-start {
971
+ scroll-snap-align: start !important;
972
+ }
961
973
  .appearance-none {
962
974
  -webkit-appearance: none !important;
963
975
  -moz-appearance: none !important;
@@ -966,6 +978,9 @@ input[type='number'].no-arrows {
966
978
  .auto-cols-fr {
967
979
  grid-auto-columns: minmax(0, 1fr) !important;
968
980
  }
981
+ .grid-flow-col {
982
+ grid-auto-flow: column !important;
983
+ }
969
984
  .grid-cols-\[auto_1fr_auto\] {
970
985
  grid-template-columns: auto 1fr auto !important;
971
986
  }
@@ -990,6 +1005,9 @@ input[type='number'].no-arrows {
990
1005
  .flex-row {
991
1006
  flex-direction: row !important;
992
1007
  }
1008
+ .flex-row-reverse {
1009
+ flex-direction: row-reverse !important;
1010
+ }
993
1011
  .flex-col {
994
1012
  flex-direction: column !important;
995
1013
  }
@@ -1002,6 +1020,12 @@ input[type='number'].no-arrows {
1002
1020
  .items-center {
1003
1021
  align-items: center !important;
1004
1022
  }
1023
+ .items-stretch {
1024
+ align-items: stretch !important;
1025
+ }
1026
+ .justify-start {
1027
+ justify-content: flex-start !important;
1028
+ }
1005
1029
  .justify-end {
1006
1030
  justify-content: flex-end !important;
1007
1031
  }
@@ -1072,6 +1096,12 @@ input[type='number'].no-arrows {
1072
1096
  .overflow-x-hidden {
1073
1097
  overflow-x: hidden !important;
1074
1098
  }
1099
+ .overflow-x-scroll {
1100
+ overflow-x: scroll !important;
1101
+ }
1102
+ .scroll-smooth {
1103
+ scroll-behavior: smooth !important;
1104
+ }
1075
1105
  .whitespace-nowrap {
1076
1106
  white-space: nowrap !important;
1077
1107
  }
@@ -1277,12 +1307,12 @@ input[type='number'].no-arrows {
1277
1307
  .p-5 {
1278
1308
  padding: 16px !important;
1279
1309
  }
1280
- .p-3 {
1281
- padding: 8px !important;
1282
- }
1283
1310
  .p-6 {
1284
1311
  padding: 24px !important;
1285
1312
  }
1313
+ .p-3 {
1314
+ padding: 8px !important;
1315
+ }
1286
1316
  .p-2 {
1287
1317
  padding: 4px !important;
1288
1318
  }
@@ -2013,6 +2043,18 @@ input[type='number'].no-arrows {
2013
2043
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0) !important;
2014
2044
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0)) !important;
2015
2045
  }
2046
+ .focus-visible\:ring-1.focus-visible {
2047
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
2048
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
2049
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0) !important;
2050
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0)) !important;
2051
+ }
2052
+ .focus-visible\:ring-1:focus-visible {
2053
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
2054
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
2055
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0) !important;
2056
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0)) !important;
2057
+ }
2016
2058
  .focus-visible\:ring-inset.focus-visible {
2017
2059
  --tw-ring-inset: inset !important;
2018
2060
  }
@@ -2035,6 +2077,14 @@ input[type='number'].no-arrows {
2035
2077
  --tw-ring-opacity: 1 !important;
2036
2078
  --tw-ring-color: rgb(120 120 133 / var(--tw-ring-opacity)) !important;
2037
2079
  }
2080
+ .focus-visible\:ring-info-70.focus-visible {
2081
+ --tw-ring-opacity: 1 !important;
2082
+ --tw-ring-color: rgb(3 153 227 / var(--tw-ring-opacity)) !important;
2083
+ }
2084
+ .focus-visible\:ring-info-70:focus-visible {
2085
+ --tw-ring-opacity: 1 !important;
2086
+ --tw-ring-color: rgb(3 153 227 / var(--tw-ring-opacity)) !important;
2087
+ }
2038
2088
  .active\:bg-primary-90:active {
2039
2089
  --tw-bg-opacity: 1 !important;
2040
2090
  background-color: rgb(1 116 186 / var(--tw-bg-opacity)) !important;
@@ -2118,9 +2168,16 @@ input[type='number'].no-arrows {
2118
2168
  --tw-ring-opacity: 1 !important;
2119
2169
  --tw-ring-color: rgb(210 210 214 / var(--tw-ring-opacity)) !important;
2120
2170
  }
2171
+ .group:last-child .group-last\:border-b-0 {
2172
+ border-bottom-width: 0px !important;
2173
+ }
2121
2174
  .group:hover .group-hover\:visible {
2122
2175
  visibility: visible !important;
2123
2176
  }
2177
+ .group:hover .group-hover\:bg-grey-0 {
2178
+ --tw-bg-opacity: 1 !important;
2179
+ background-color: rgb(247 247 250 / var(--tw-bg-opacity)) !important;
2180
+ }
2124
2181
  .group:hover .group-hover\:bg-grey-30 {
2125
2182
  --tw-bg-opacity: 1 !important;
2126
2183
  background-color: rgb(180 180 187 / var(--tw-bg-opacity)) !important;