react-restyle-components 0.4.23 → 0.4.24

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 (194) hide show
  1. package/lib/src/core-components/src/components/AlertBanner/AlertBanner.d.ts +4 -0
  2. package/lib/src/core-components/src/components/AlertBanner/AlertBanner.d.ts.map +1 -0
  3. package/lib/src/core-components/src/components/AlertBanner/AlertBanner.js +45 -0
  4. package/lib/src/core-components/src/components/AlertBanner/elements.d.ts +27 -0
  5. package/lib/src/core-components/src/components/AlertBanner/elements.d.ts.map +1 -0
  6. package/lib/src/core-components/src/components/AlertBanner/elements.js +233 -0
  7. package/lib/src/core-components/src/components/AlertBanner/index.d.ts +3 -0
  8. package/lib/src/core-components/src/components/AlertBanner/index.d.ts.map +1 -0
  9. package/lib/src/core-components/src/components/AlertBanner/index.js +2 -0
  10. package/lib/src/core-components/src/components/AlertBanner/types.d.ts +46 -0
  11. package/lib/src/core-components/src/components/AlertBanner/types.d.ts.map +1 -0
  12. package/lib/src/core-components/src/components/AlertBanner/types.js +10 -0
  13. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.d.ts.map +1 -1
  14. package/lib/src/core-components/src/components/Badge/Badge.d.ts +33 -33
  15. package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.d.ts +28 -0
  16. package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  17. package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.js +83 -0
  18. package/lib/src/core-components/src/components/Breadcrumb/elements.d.ts +44 -0
  19. package/lib/src/core-components/src/components/Breadcrumb/elements.d.ts.map +1 -0
  20. package/lib/src/core-components/src/components/Breadcrumb/elements.js +370 -0
  21. package/lib/src/core-components/src/components/Breadcrumb/index.d.ts +4 -0
  22. package/lib/src/core-components/src/components/Breadcrumb/index.d.ts.map +1 -0
  23. package/lib/src/core-components/src/components/Breadcrumb/index.js +3 -0
  24. package/lib/src/core-components/src/components/Breadcrumb/types.d.ts +14 -0
  25. package/lib/src/core-components/src/components/Breadcrumb/types.d.ts.map +1 -0
  26. package/lib/src/core-components/src/components/Breadcrumb/types.js +3 -0
  27. package/lib/src/core-components/src/components/Button/Button.spec.js +1 -1
  28. package/lib/src/core-components/src/components/Button/button.component.js +1 -1
  29. package/lib/src/core-components/src/components/Chip/Chip.d.ts +5 -0
  30. package/lib/src/core-components/src/components/Chip/Chip.d.ts.map +1 -0
  31. package/lib/src/core-components/src/components/Chip/Chip.js +64 -0
  32. package/lib/src/core-components/src/components/Chip/elements.d.ts +27 -0
  33. package/lib/src/core-components/src/components/Chip/elements.d.ts.map +1 -0
  34. package/lib/src/core-components/src/components/Chip/elements.js +253 -0
  35. package/lib/src/core-components/src/components/Chip/index.d.ts +3 -0
  36. package/lib/src/core-components/src/components/Chip/index.d.ts.map +1 -0
  37. package/lib/src/core-components/src/components/Chip/index.js +2 -0
  38. package/lib/src/core-components/src/components/Chip/types.d.ts +54 -0
  39. package/lib/src/core-components/src/components/Chip/types.d.ts.map +1 -0
  40. package/lib/src/core-components/src/components/Chip/types.js +4 -0
  41. package/lib/src/core-components/src/components/Divider/Divider.d.ts +4 -0
  42. package/lib/src/core-components/src/components/Divider/Divider.d.ts.map +1 -0
  43. package/lib/src/core-components/src/components/Divider/Divider.js +25 -0
  44. package/lib/src/core-components/src/components/Divider/elements.d.ts +22 -0
  45. package/lib/src/core-components/src/components/Divider/elements.d.ts.map +1 -0
  46. package/lib/src/core-components/src/components/Divider/elements.js +103 -0
  47. package/lib/src/core-components/src/components/Divider/index.d.ts +3 -0
  48. package/lib/src/core-components/src/components/Divider/index.d.ts.map +1 -0
  49. package/lib/src/core-components/src/components/Divider/index.js +2 -0
  50. package/lib/src/core-components/src/components/Divider/types.d.ts +30 -0
  51. package/lib/src/core-components/src/components/Divider/types.d.ts.map +1 -0
  52. package/lib/src/core-components/src/components/Divider/types.js +4 -0
  53. package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.d.ts +6 -0
  54. package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.d.ts.map +1 -0
  55. package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.js +147 -0
  56. package/lib/src/core-components/src/components/DynamicGrid/GridContainer.d.ts +12 -0
  57. package/lib/src/core-components/src/components/DynamicGrid/GridContainer.d.ts.map +1 -0
  58. package/lib/src/core-components/src/components/DynamicGrid/GridContainer.js +89 -0
  59. package/lib/src/core-components/src/components/DynamicGrid/elements.d.ts +49 -0
  60. package/lib/src/core-components/src/components/DynamicGrid/elements.d.ts.map +1 -0
  61. package/lib/src/core-components/src/components/DynamicGrid/elements.js +409 -0
  62. package/lib/src/core-components/src/components/DynamicGrid/index.d.ts +4 -0
  63. package/lib/src/core-components/src/components/DynamicGrid/index.d.ts.map +1 -0
  64. package/lib/src/core-components/src/components/DynamicGrid/index.js +3 -0
  65. package/lib/src/core-components/src/components/DynamicGrid/types.d.ts +173 -0
  66. package/lib/src/core-components/src/components/DynamicGrid/types.d.ts.map +1 -0
  67. package/lib/src/core-components/src/components/DynamicGrid/types.js +28 -0
  68. package/lib/src/core-components/src/components/DynamicGrid/utils.d.ts +65 -0
  69. package/lib/src/core-components/src/components/DynamicGrid/utils.d.ts.map +1 -0
  70. package/lib/src/core-components/src/components/DynamicGrid/utils.js +193 -0
  71. package/lib/src/core-components/src/components/FormField/FormField.d.ts +1 -1
  72. package/lib/src/core-components/src/components/Icon/Icon.js +1 -1
  73. package/lib/src/core-components/src/components/Masonry/Masonry.d.ts +7 -0
  74. package/lib/src/core-components/src/components/Masonry/Masonry.d.ts.map +1 -0
  75. package/lib/src/core-components/src/components/Masonry/Masonry.js +73 -0
  76. package/lib/src/core-components/src/components/Masonry/elements.d.ts +31 -0
  77. package/lib/src/core-components/src/components/Masonry/elements.d.ts.map +1 -0
  78. package/lib/src/core-components/src/components/Masonry/elements.js +122 -0
  79. package/lib/src/core-components/src/components/Masonry/hooks.d.ts +21 -0
  80. package/lib/src/core-components/src/components/Masonry/hooks.d.ts.map +1 -0
  81. package/lib/src/core-components/src/components/Masonry/hooks.js +100 -0
  82. package/lib/src/core-components/src/components/Masonry/index.d.ts +4 -0
  83. package/lib/src/core-components/src/components/Masonry/index.d.ts.map +1 -0
  84. package/lib/src/core-components/src/components/Masonry/index.js +3 -0
  85. package/lib/src/core-components/src/components/Masonry/types.d.ts +117 -0
  86. package/lib/src/core-components/src/components/Masonry/types.d.ts.map +1 -0
  87. package/lib/src/core-components/src/components/Masonry/types.js +1 -0
  88. package/lib/src/core-components/src/components/Picker/color-picker-modal/color-picker-modal.component.js +1 -1
  89. package/lib/src/core-components/src/components/Skeleton/Skeleton.d.ts +8 -0
  90. package/lib/src/core-components/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  91. package/lib/src/core-components/src/components/Skeleton/Skeleton.js +51 -0
  92. package/lib/src/core-components/src/components/Skeleton/elements.d.ts +33 -0
  93. package/lib/src/core-components/src/components/Skeleton/elements.d.ts.map +1 -0
  94. package/lib/src/core-components/src/components/Skeleton/elements.js +238 -0
  95. package/lib/src/core-components/src/components/Skeleton/index.d.ts +3 -0
  96. package/lib/src/core-components/src/components/Skeleton/index.d.ts.map +1 -0
  97. package/lib/src/core-components/src/components/Skeleton/index.js +2 -0
  98. package/lib/src/core-components/src/components/Skeleton/types.d.ts +80 -0
  99. package/lib/src/core-components/src/components/Skeleton/types.d.ts.map +1 -0
  100. package/lib/src/core-components/src/components/Skeleton/types.js +4 -0
  101. package/lib/src/core-components/src/components/SpeedDial/SpeedDial.d.ts +4 -0
  102. package/lib/src/core-components/src/components/SpeedDial/SpeedDial.d.ts.map +1 -0
  103. package/lib/src/core-components/src/components/SpeedDial/SpeedDial.js +128 -0
  104. package/lib/src/core-components/src/components/SpeedDial/elements.d.ts +57 -0
  105. package/lib/src/core-components/src/components/SpeedDial/elements.d.ts.map +1 -0
  106. package/lib/src/core-components/src/components/SpeedDial/elements.js +299 -0
  107. package/lib/src/core-components/src/components/SpeedDial/index.d.ts +3 -0
  108. package/lib/src/core-components/src/components/SpeedDial/index.d.ts.map +1 -0
  109. package/lib/src/core-components/src/components/SpeedDial/index.js +2 -0
  110. package/lib/src/core-components/src/components/SpeedDial/types.d.ts +149 -0
  111. package/lib/src/core-components/src/components/SpeedDial/types.d.ts.map +1 -0
  112. package/lib/src/core-components/src/components/SpeedDial/types.js +3 -0
  113. package/lib/src/core-components/src/components/Switch/Switch.d.ts +4 -0
  114. package/lib/src/core-components/src/components/Switch/Switch.d.ts.map +1 -0
  115. package/lib/src/core-components/src/components/Switch/Switch.js +26 -0
  116. package/lib/src/core-components/src/components/Switch/elements.d.ts +33 -0
  117. package/lib/src/core-components/src/components/Switch/elements.d.ts.map +1 -0
  118. package/lib/src/core-components/src/components/Switch/elements.js +167 -0
  119. package/lib/src/core-components/src/components/Switch/index.d.ts +3 -0
  120. package/lib/src/core-components/src/components/Switch/index.d.ts.map +1 -0
  121. package/lib/src/core-components/src/components/Switch/index.js +2 -0
  122. package/lib/src/core-components/src/components/Switch/types.d.ts +32 -0
  123. package/lib/src/core-components/src/components/Switch/types.d.ts.map +1 -0
  124. package/lib/src/core-components/src/components/Switch/types.js +3 -0
  125. package/lib/src/core-components/src/components/Table/Table.d.ts +7 -0
  126. package/lib/src/core-components/src/components/Table/Table.d.ts.map +1 -0
  127. package/lib/src/core-components/src/components/Table/Table.js +357 -0
  128. package/lib/src/core-components/src/components/Table/elements.d.ts +89 -0
  129. package/lib/src/core-components/src/components/Table/elements.d.ts.map +1 -0
  130. package/lib/src/core-components/src/components/Table/elements.js +604 -0
  131. package/lib/src/core-components/src/components/Table/filters.d.ts +23 -0
  132. package/lib/src/core-components/src/components/Table/filters.d.ts.map +1 -0
  133. package/lib/src/core-components/src/components/Table/filters.js +181 -0
  134. package/lib/src/core-components/src/components/Table/hooks.d.ts +107 -0
  135. package/lib/src/core-components/src/components/Table/hooks.d.ts.map +1 -0
  136. package/lib/src/core-components/src/components/Table/hooks.js +451 -0
  137. package/lib/src/core-components/src/components/Table/index.d.ts +5 -0
  138. package/lib/src/core-components/src/components/Table/index.d.ts.map +1 -0
  139. package/lib/src/core-components/src/components/Table/index.js +4 -0
  140. package/lib/src/core-components/src/components/Table/types.d.ts +358 -0
  141. package/lib/src/core-components/src/components/Table/types.d.ts.map +1 -0
  142. package/lib/src/core-components/src/components/Table/types.js +1 -0
  143. package/lib/src/core-components/src/components/Toast/Toast.d.ts +5 -0
  144. package/lib/src/core-components/src/components/Toast/Toast.d.ts.map +1 -0
  145. package/lib/src/core-components/src/components/Toast/Toast.js +50 -0
  146. package/lib/src/core-components/src/components/Toast/elements.d.ts +28 -0
  147. package/lib/src/core-components/src/components/Toast/elements.d.ts.map +1 -0
  148. package/lib/src/core-components/src/components/Toast/elements.js +272 -0
  149. package/lib/src/core-components/src/components/Toast/index.d.ts +3 -0
  150. package/lib/src/core-components/src/components/Toast/index.d.ts.map +1 -0
  151. package/lib/src/core-components/src/components/Toast/index.js +2 -0
  152. package/lib/src/core-components/src/components/Toast/types.d.ts +52 -0
  153. package/lib/src/core-components/src/components/Toast/types.d.ts.map +1 -0
  154. package/lib/src/core-components/src/components/Toast/types.js +9 -0
  155. package/lib/src/core-components/src/components/Tooltip/Tooltip.d.ts +7 -0
  156. package/lib/src/core-components/src/components/Tooltip/Tooltip.d.ts.map +1 -0
  157. package/lib/src/core-components/src/components/Tooltip/Tooltip.js +200 -0
  158. package/lib/src/core-components/src/components/Tooltip/elements.d.ts +19 -0
  159. package/lib/src/core-components/src/components/Tooltip/elements.d.ts.map +1 -0
  160. package/lib/src/core-components/src/components/Tooltip/elements.js +195 -0
  161. package/lib/src/core-components/src/components/Tooltip/index.d.ts +3 -0
  162. package/lib/src/core-components/src/components/Tooltip/index.d.ts.map +1 -0
  163. package/lib/src/core-components/src/components/Tooltip/index.js +2 -0
  164. package/lib/src/core-components/src/components/Tooltip/types.d.ts +81 -17
  165. package/lib/src/core-components/src/components/Tooltip/types.d.ts.map +1 -1
  166. package/lib/src/core-components/src/components/Tooltip/types.js +17 -1
  167. package/lib/src/core-components/src/components/Tooltip/utils.d.ts +26 -0
  168. package/lib/src/core-components/src/components/Tooltip/utils.d.ts.map +1 -0
  169. package/lib/src/core-components/src/components/Tooltip/utils.js +140 -0
  170. package/lib/src/core-components/src/components/TreeSelect/TreeSelect.d.ts +5 -0
  171. package/lib/src/core-components/src/components/TreeSelect/TreeSelect.d.ts.map +1 -0
  172. package/lib/src/core-components/src/components/TreeSelect/TreeSelect.js +303 -0
  173. package/lib/src/core-components/src/components/TreeSelect/elements.d.ts +74 -0
  174. package/lib/src/core-components/src/components/TreeSelect/elements.d.ts.map +1 -0
  175. package/lib/src/core-components/src/components/TreeSelect/elements.js +494 -0
  176. package/lib/src/core-components/src/components/TreeSelect/hooks.d.ts +57 -0
  177. package/lib/src/core-components/src/components/TreeSelect/hooks.d.ts.map +1 -0
  178. package/lib/src/core-components/src/components/TreeSelect/hooks.js +252 -0
  179. package/lib/src/core-components/src/components/TreeSelect/index.d.ts +4 -0
  180. package/lib/src/core-components/src/components/TreeSelect/index.d.ts.map +1 -0
  181. package/lib/src/core-components/src/components/TreeSelect/index.js +3 -0
  182. package/lib/src/core-components/src/components/TreeSelect/types.d.ts +205 -0
  183. package/lib/src/core-components/src/components/TreeSelect/types.d.ts.map +1 -0
  184. package/lib/src/core-components/src/components/TreeSelect/types.js +1 -0
  185. package/lib/src/core-components/src/components/index.d.ts +13 -1
  186. package/lib/src/core-components/src/components/index.d.ts.map +1 -1
  187. package/lib/src/core-components/src/components/index.js +14 -1
  188. package/lib/src/core-components/src/core-components/CoreButton/CoreButton.d.ts +2 -2
  189. package/lib/src/core-components/src/tc.global.css +7 -3
  190. package/lib/src/core-components/src/tc.module.css +2 -2
  191. package/package.json +1 -1
  192. package/lib/src/core-components/src/components/Tooltip/tooltip.component.d.ts +0 -29
  193. package/lib/src/core-components/src/components/Tooltip/tooltip.component.d.ts.map +0 -1
  194. package/lib/src/core-components/src/components/Tooltip/tooltip.component.js +0 -10
@@ -0,0 +1,252 @@
1
+ import { useState, useCallback, useEffect } from 'react';
2
+ /**
3
+ * Get the actual field value based on field names mapping
4
+ */
5
+ export function getFieldValue(node, field, fieldNames = {}) {
6
+ const mapping = {
7
+ label: fieldNames.label || 'title',
8
+ value: fieldNames.value || 'value',
9
+ children: fieldNames.children || 'children',
10
+ };
11
+ return node[mapping[field]];
12
+ }
13
+ /**
14
+ * Flatten tree data for easier searching
15
+ */
16
+ export function flattenTree(nodes, fieldNames, parent) {
17
+ const result = [];
18
+ for (const node of nodes) {
19
+ const value = getFieldValue(node, 'value', fieldNames);
20
+ const children = getFieldValue(node, 'children', fieldNames);
21
+ const path = parent ? [...parent.path, value] : [value];
22
+ result.push({ ...node, parent, path });
23
+ if (children && Array.isArray(children)) {
24
+ result.push(...flattenTree(children, fieldNames, { ...node, path }));
25
+ }
26
+ }
27
+ return result;
28
+ }
29
+ /**
30
+ * Find a node by value
31
+ */
32
+ export function findNodeByValue(nodes, value, fieldNames) {
33
+ for (const node of nodes) {
34
+ const nodeValue = getFieldValue(node, 'value', fieldNames);
35
+ const children = getFieldValue(node, 'children', fieldNames);
36
+ if (nodeValue === value)
37
+ return node;
38
+ if (children && Array.isArray(children)) {
39
+ const found = findNodeByValue(children, value, fieldNames);
40
+ if (found)
41
+ return found;
42
+ }
43
+ }
44
+ return undefined;
45
+ }
46
+ /**
47
+ * Get all descendant values
48
+ */
49
+ export function getDescendantValues(node, fieldNames) {
50
+ const values = [];
51
+ const children = getFieldValue(node, 'children', fieldNames);
52
+ if (children && Array.isArray(children)) {
53
+ for (const child of children) {
54
+ const childValue = getFieldValue(child, 'value', fieldNames);
55
+ values.push(childValue);
56
+ values.push(...getDescendantValues(child, fieldNames));
57
+ }
58
+ }
59
+ return values;
60
+ }
61
+ /**
62
+ * Get all ancestor values
63
+ */
64
+ export function getAncestorValues(nodes, targetValue, fieldNames) {
65
+ const flatNodes = flattenTree(nodes, fieldNames);
66
+ const target = flatNodes.find((n) => getFieldValue(n, 'value', fieldNames) === targetValue);
67
+ return target?.path.slice(0, -1) || [];
68
+ }
69
+ /**
70
+ * Filter tree nodes based on search
71
+ */
72
+ export function filterTree(nodes, searchValue, filterFn, filterProp = 'title', fieldNames) {
73
+ if (!searchValue)
74
+ return nodes;
75
+ const defaultFilter = (value, node) => {
76
+ const nodeLabel = node[filterProp];
77
+ if (typeof nodeLabel === 'string') {
78
+ return nodeLabel.toLowerCase().includes(value.toLowerCase());
79
+ }
80
+ return false;
81
+ };
82
+ const filter = filterFn || defaultFilter;
83
+ const result = [];
84
+ for (const node of nodes) {
85
+ const children = getFieldValue(node, 'children', fieldNames);
86
+ const filteredChildren = children
87
+ ? filterTree(children, searchValue, filterFn, filterProp, fieldNames)
88
+ : [];
89
+ if (filter(searchValue, node) || filteredChildren.length > 0) {
90
+ result.push({
91
+ ...node,
92
+ children: filteredChildren.length > 0 ? filteredChildren : children,
93
+ });
94
+ }
95
+ }
96
+ return result;
97
+ }
98
+ /**
99
+ * Hook for managing expanded state
100
+ */
101
+ export function useExpandedState(treeData, defaultExpandedKeys, defaultExpandAll, controlledExpandedKeys, fieldNames) {
102
+ const [internalExpanded, setInternalExpanded] = useState(() => {
103
+ if (defaultExpandAll) {
104
+ const allKeys = new Set();
105
+ const collectKeys = (nodes) => {
106
+ for (const node of nodes) {
107
+ const value = getFieldValue(node, 'value', fieldNames);
108
+ const children = getFieldValue(node, 'children', fieldNames);
109
+ if (children && children.length > 0) {
110
+ allKeys.add(value);
111
+ collectKeys(children);
112
+ }
113
+ }
114
+ };
115
+ collectKeys(treeData);
116
+ return allKeys;
117
+ }
118
+ return new Set(defaultExpandedKeys || []);
119
+ });
120
+ const expandedKeys = controlledExpandedKeys
121
+ ? new Set(controlledExpandedKeys)
122
+ : internalExpanded;
123
+ const toggleExpand = useCallback((key) => {
124
+ setInternalExpanded((prev) => {
125
+ const next = new Set(prev);
126
+ if (next.has(key)) {
127
+ next.delete(key);
128
+ }
129
+ else {
130
+ next.add(key);
131
+ }
132
+ return next;
133
+ });
134
+ }, []);
135
+ const setExpanded = useCallback((keys) => {
136
+ setInternalExpanded(new Set(keys));
137
+ }, []);
138
+ return { expandedKeys, toggleExpand, setExpanded };
139
+ }
140
+ /**
141
+ * Hook for managing checked state (checkable mode)
142
+ */
143
+ export function useCheckedState(treeData, value, checkStrictly = false, fieldNames) {
144
+ const [checkedKeys, setCheckedKeys] = useState(new Set(value || []));
145
+ const [halfCheckedKeys, setHalfCheckedKeys] = useState(new Set());
146
+ // Update when controlled value changes
147
+ useEffect(() => {
148
+ if (value) {
149
+ setCheckedKeys(new Set(value));
150
+ if (!checkStrictly) {
151
+ updateHalfChecked(new Set(value));
152
+ }
153
+ }
154
+ }, [value, checkStrictly]);
155
+ const updateHalfChecked = useCallback((checked) => {
156
+ if (checkStrictly) {
157
+ setHalfCheckedKeys(new Set());
158
+ return;
159
+ }
160
+ const half = new Set();
161
+ const flatNodes = flattenTree(treeData, fieldNames);
162
+ // Check each parent node
163
+ for (const node of flatNodes) {
164
+ const nodeValue = getFieldValue(node, 'value', fieldNames);
165
+ const children = getFieldValue(node, 'children', fieldNames);
166
+ if (children && children.length > 0) {
167
+ const descendantValues = getDescendantValues(node, fieldNames);
168
+ const checkedDescendants = descendantValues.filter((v) => checked.has(v));
169
+ if (checkedDescendants.length > 0 &&
170
+ checkedDescendants.length < descendantValues.length) {
171
+ half.add(nodeValue);
172
+ }
173
+ }
174
+ }
175
+ setHalfCheckedKeys(half);
176
+ }, [treeData, checkStrictly, fieldNames]);
177
+ const toggleCheck = useCallback((nodeValue, node) => {
178
+ setCheckedKeys((prev) => {
179
+ const next = new Set(prev);
180
+ const isChecked = next.has(nodeValue);
181
+ if (isChecked) {
182
+ next.delete(nodeValue);
183
+ if (!checkStrictly) {
184
+ // Uncheck all descendants
185
+ const descendants = getDescendantValues(node, fieldNames);
186
+ descendants.forEach((v) => next.delete(v));
187
+ }
188
+ }
189
+ else {
190
+ next.add(nodeValue);
191
+ if (!checkStrictly) {
192
+ // Check all descendants
193
+ const descendants = getDescendantValues(node, fieldNames);
194
+ descendants.forEach((v) => next.add(v));
195
+ }
196
+ }
197
+ // Update parent states if not strict
198
+ if (!checkStrictly) {
199
+ updateParentStates(next, nodeValue, treeData, fieldNames);
200
+ }
201
+ updateHalfChecked(next);
202
+ return next;
203
+ });
204
+ }, [checkStrictly, treeData, fieldNames, updateHalfChecked]);
205
+ return { checkedKeys, halfCheckedKeys, toggleCheck, setCheckedKeys };
206
+ }
207
+ function updateParentStates(checked, changedValue, treeData, fieldNames) {
208
+ const ancestors = getAncestorValues(treeData, changedValue, fieldNames);
209
+ for (const ancestorValue of ancestors.reverse()) {
210
+ const ancestorNode = findNodeByValue(treeData, ancestorValue, fieldNames);
211
+ if (ancestorNode) {
212
+ const descendants = getDescendantValues(ancestorNode, fieldNames);
213
+ const allChecked = descendants.every((v) => checked.has(v));
214
+ if (allChecked) {
215
+ checked.add(ancestorValue);
216
+ }
217
+ else {
218
+ checked.delete(ancestorValue);
219
+ }
220
+ }
221
+ }
222
+ }
223
+ /**
224
+ * Hook for managing async loading
225
+ */
226
+ export function useAsyncLoading() {
227
+ const [loadingKeys, setLoadingKeys] = useState(new Set());
228
+ const [loadedKeys, setLoadedKeys] = useState(new Set());
229
+ const setLoading = useCallback((key, isLoading) => {
230
+ setLoadingKeys((prev) => {
231
+ const next = new Set(prev);
232
+ if (isLoading) {
233
+ next.add(key);
234
+ }
235
+ else {
236
+ next.delete(key);
237
+ }
238
+ return next;
239
+ });
240
+ }, []);
241
+ const markLoaded = useCallback((key) => {
242
+ setLoadedKeys((prev) => new Set(prev).add(key));
243
+ setLoadingKeys((prev) => {
244
+ const next = new Set(prev);
245
+ next.delete(key);
246
+ return next;
247
+ });
248
+ }, []);
249
+ const isLoading = useCallback((key) => loadingKeys.has(key), [loadingKeys]);
250
+ const isLoaded = useCallback((key) => loadedKeys.has(key), [loadedKeys]);
251
+ return { loadingKeys, setLoading, markLoaded, isLoading, isLoaded };
252
+ }
@@ -0,0 +1,4 @@
1
+ export { TreeSelect, default } from './TreeSelect';
2
+ export * from './types';
3
+ export { flattenTree, findNodeByValue, getDescendantValues, getAncestorValues, filterTree, getFieldValue, } from './hooks';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/TreeSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAC,MAAM,cAAc,CAAC;AACjD,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { TreeSelect, default } from './TreeSelect';
2
+ export * from './types';
3
+ export { flattenTree, findNodeByValue, getDescendantValues, getAncestorValues, filterTree, getFieldValue, } from './hooks';
@@ -0,0 +1,205 @@
1
+ import React, { CSSProperties } from 'react';
2
+ /** Tree node data structure */
3
+ export interface TreeSelectNode {
4
+ /** Unique identifier */
5
+ key?: string;
6
+ /** Display value (used for selection) */
7
+ value: string;
8
+ /** Display label/title */
9
+ title: React.ReactNode;
10
+ /** Child nodes */
11
+ children?: TreeSelectNode[];
12
+ /** Whether node is disabled */
13
+ disabled?: boolean;
14
+ /** Whether checkbox is disabled (when checkable) */
15
+ disableCheckbox?: boolean;
16
+ /** Whether node is a leaf (no children) */
17
+ isLeaf?: boolean;
18
+ /** Whether node is selectable */
19
+ selectable?: boolean;
20
+ /** Custom icon for the node */
21
+ icon?: React.ReactNode;
22
+ /** Whether node has checkbox (when tree is checkable) */
23
+ checkable?: boolean;
24
+ /** Additional custom data */
25
+ [key: string]: any;
26
+ }
27
+ /** Selection mode */
28
+ export type TreeSelectMode = 'single' | 'multiple' | 'checkable';
29
+ /** Dropdown placement */
30
+ export type TreeSelectPlacement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
31
+ /** Component variants */
32
+ export type TreeSelectVariant = 'outlined' | 'borderless' | 'filled' | 'underlined';
33
+ /** Component sizes */
34
+ export type TreeSelectSize = 'small' | 'medium' | 'large';
35
+ /** Field name mapping */
36
+ export interface TreeSelectFieldNames {
37
+ label?: string;
38
+ value?: string;
39
+ children?: string;
40
+ }
41
+ /** Custom class names */
42
+ export interface TreeSelectClassNames {
43
+ /** Root container */
44
+ root?: string;
45
+ /** Select input container */
46
+ selector?: string;
47
+ /** Prefix element */
48
+ prefix?: string;
49
+ /** Input element */
50
+ input?: string;
51
+ /** Placeholder */
52
+ placeholder?: string;
53
+ /** Suffix element */
54
+ suffix?: string;
55
+ /** Selected tags (multiple mode) */
56
+ tag?: string;
57
+ /** Dropdown popup */
58
+ popup?: string;
59
+ /** Tree container */
60
+ tree?: string;
61
+ /** Tree node */
62
+ node?: string;
63
+ /** Node title */
64
+ nodeTitle?: string;
65
+ /** Node checkbox */
66
+ nodeCheckbox?: string;
67
+ /** Search input */
68
+ search?: string;
69
+ }
70
+ /** Custom styles */
71
+ export interface TreeSelectStyles {
72
+ root?: CSSProperties;
73
+ selector?: CSSProperties;
74
+ prefix?: CSSProperties;
75
+ input?: CSSProperties;
76
+ placeholder?: CSSProperties;
77
+ suffix?: CSSProperties;
78
+ tag?: CSSProperties;
79
+ popup?: CSSProperties;
80
+ tree?: CSSProperties;
81
+ node?: CSSProperties;
82
+ nodeTitle?: CSSProperties;
83
+ nodeCheckbox?: CSSProperties;
84
+ search?: CSSProperties;
85
+ }
86
+ /** Load data function for async loading */
87
+ export type TreeSelectLoadData = (node: TreeSelectNode) => Promise<TreeSelectNode[]>;
88
+ export interface TreeSelectProps {
89
+ /** Tree data */
90
+ treeData: TreeSelectNode[];
91
+ /** Current selected value(s) */
92
+ value?: string | string[];
93
+ /** Default selected value(s) */
94
+ defaultValue?: string | string[];
95
+ /** Selection mode */
96
+ mode?: TreeSelectMode;
97
+ /** Placeholder text */
98
+ placeholder?: string;
99
+ /** Whether component is disabled */
100
+ disabled?: boolean;
101
+ /** Whether to show search input */
102
+ showSearch?: boolean;
103
+ /** Custom filter function */
104
+ filterTreeNode?: (inputValue: string, node: TreeSelectNode) => boolean;
105
+ /** Property to use for filtering */
106
+ treeNodeFilterProp?: string;
107
+ /** Whether to show tree lines */
108
+ treeLine?: boolean | {
109
+ showLeafIcon?: boolean | React.ReactNode;
110
+ };
111
+ /** Whether to show tree icons */
112
+ showTreeIcon?: boolean;
113
+ /** Whether to show checkboxes */
114
+ checkable?: boolean;
115
+ /** Check strictly (parent-child not associated) */
116
+ checkStrictly?: boolean;
117
+ /** Default expanded keys */
118
+ defaultExpandedKeys?: string[];
119
+ /** Expanded keys (controlled) */
120
+ expandedKeys?: string[];
121
+ /** Default expand all */
122
+ defaultExpandAll?: boolean;
123
+ /** Async load data */
124
+ loadData?: TreeSelectLoadData;
125
+ /** Allow clear button */
126
+ allowClear?: boolean;
127
+ /** Auto clear search on select */
128
+ autoClearSearchValue?: boolean;
129
+ /** Max tag count in multiple mode */
130
+ maxTagCount?: number | 'responsive';
131
+ /** Max tag placeholder */
132
+ maxTagPlaceholder?: React.ReactNode | ((omittedValues: string[]) => React.ReactNode);
133
+ /** Dropdown placement */
134
+ placement?: TreeSelectPlacement;
135
+ /** Dropdown open state (controlled) */
136
+ open?: boolean;
137
+ /** Default dropdown open state */
138
+ defaultOpen?: boolean;
139
+ /** Component variant */
140
+ variant?: TreeSelectVariant;
141
+ /** Component size */
142
+ size?: TreeSelectSize;
143
+ /** Prefix icon/element */
144
+ prefix?: React.ReactNode;
145
+ /** Suffix icon (replaces default arrow) */
146
+ suffixIcon?: React.ReactNode;
147
+ /** Clear icon */
148
+ clearIcon?: React.ReactNode;
149
+ /** Dropdown max height */
150
+ listHeight?: number;
151
+ /** Whether popup matches selector width */
152
+ popupMatchSelectWidth?: boolean | number;
153
+ /** Popup container */
154
+ getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
155
+ /** Custom classNames */
156
+ classNames?: TreeSelectClassNames;
157
+ /** Custom styles */
158
+ styles?: TreeSelectStyles;
159
+ /** Additional root className */
160
+ className?: string;
161
+ /** Additional root style */
162
+ style?: CSSProperties;
163
+ /** Status */
164
+ status?: 'error' | 'warning';
165
+ /** Field name mapping */
166
+ fieldNames?: TreeSelectFieldNames;
167
+ /** Virtual scroll (for large lists) */
168
+ virtual?: boolean;
169
+ /** Dropdown render customization */
170
+ dropdownRender?: (menu: React.ReactNode) => React.ReactNode;
171
+ /** Tab index */
172
+ tabIndex?: number;
173
+ /** Auto focus */
174
+ autoFocus?: boolean;
175
+ /** ARIA label */
176
+ 'aria-label'?: string;
177
+ /** ARIA labelledby */
178
+ 'aria-labelledby'?: string;
179
+ /** Called when selection changes */
180
+ onChange?: (value: string | string[], label: React.ReactNode | React.ReactNode[], extra: {
181
+ preValue?: string | string[];
182
+ triggerValue?: string;
183
+ triggerNode?: TreeSelectNode;
184
+ allCheckedNodes?: TreeSelectNode[];
185
+ }) => void;
186
+ /** Called when a node is selected */
187
+ onSelect?: (value: string, node: TreeSelectNode, extra: {
188
+ selected: boolean;
189
+ }) => void;
190
+ /** Called when search input changes */
191
+ onSearch?: (value: string) => void;
192
+ /** Called when dropdown visibility changes */
193
+ onDropdownVisibleChange?: (open: boolean) => void;
194
+ /** Called when tree expands */
195
+ onTreeExpand?: (expandedKeys: string[]) => void;
196
+ /** Called when popup scrolls */
197
+ onPopupScroll?: (event: React.UIEvent<HTMLDivElement>) => void;
198
+ /** Called on focus */
199
+ onFocus?: (event: React.FocusEvent) => void;
200
+ /** Called on blur */
201
+ onBlur?: (event: React.FocusEvent) => void;
202
+ /** Called on clear */
203
+ onClear?: () => void;
204
+ }
205
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/TreeSelect/types.ts"],"names":[],"mappings":"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"}
@@ -14,5 +14,17 @@ export * from './Stepper2/stepper.component';
14
14
  export * from './Tabs/tabs.component';
15
15
  export * from './Tags1/Tags.component';
16
16
  export * from './Timer1/timer.component';
17
- export * from './Tooltip/tooltip.component';
17
+ export * from './Tooltip';
18
+ export * from './Breadcrumb';
19
+ export * from './DynamicGrid';
20
+ export * from './AlertBanner';
21
+ export * from './Chip';
22
+ export * from './Divider';
23
+ export * from './Skeleton';
24
+ export * from './Switch';
25
+ export * from './Toast';
26
+ export * from './SpeedDial';
27
+ export * from './Masonry';
28
+ export * from './TreeSelect';
29
+ export * from './Table';
18
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core-components/src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core-components/src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -14,4 +14,17 @@ export * from './Stepper2/stepper.component';
14
14
  export * from './Tabs/tabs.component';
15
15
  export * from './Tags1/Tags.component';
16
16
  export * from './Timer1/timer.component';
17
- export * from './Tooltip/tooltip.component';
17
+ export * from './Tooltip';
18
+ // New components
19
+ export * from './Breadcrumb';
20
+ export * from './DynamicGrid';
21
+ export * from './AlertBanner';
22
+ export * from './Chip';
23
+ export * from './Divider';
24
+ export * from './Skeleton';
25
+ export * from './Switch';
26
+ export * from './Toast';
27
+ export * from './SpeedDial';
28
+ export * from './Masonry';
29
+ export * from './TreeSelect';
30
+ export * from './Table';
@@ -11,12 +11,12 @@ export type CoreButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
11
11
  options?: ButtonOptions;
12
12
  };
13
13
  export declare const CoreButton: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
14
- variant?: "text" | "outline" | "flat" | "default" | undefined;
14
+ variant?: "default" | "text" | "flat" | "outline" | undefined;
15
15
  color?: "white" | "primary" | "secondary" | undefined;
16
16
  ariaLabel?: string | undefined;
17
17
  size?: "small" | "medium" | "large" | undefined;
18
18
  hasChildren?: boolean | undefined;
19
- iconSide?: "right" | "left" | undefined;
19
+ iconSide?: "left" | "right" | undefined;
20
20
  hasIcon?: boolean | undefined;
21
21
  options?: ButtonOptions | undefined;
22
22
  } & React.RefAttributes<HTMLButtonElement>>;
@@ -89,7 +89,7 @@
89
89
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
90
90
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
91
91
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
92
- /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.blur,.ring-1,.shadow,.shadow-lg,.shadow-sm,body{font-family:Arima Regular;font-size:14px}.dark\:bg-black:is(.dark *),.dark\:border-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
92
+ /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.blur,.ring-1,.shadow,.shadow-lg,.shadow-sm,body{font-family:Arima Regular;font-size:14px}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
93
93
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
94
94
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
95
95
  /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
@@ -132,5 +132,9 @@
132
132
  /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
133
133
  /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
134
134
  /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
135
- /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.dark\:bg-black:is(.dark *),.dark\:border-gray-600:is(.dark *),.hover\:bg-white\/20:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
136
- /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/fieldset,legend{padding:0}.container{width:100%}@media (min-width:0px){.container{max-width:0}}@media (min-width:20rem){.container{max-width:20rem}}@media (min-width:23.4375rem){.container{max-width:23.4375rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.form-input,.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::placeholder,.form-input:focus,.form-multiselect,.form-multiselect:focus,.form-select,.form-select:focus,table{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}table:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}table tr:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}select:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-teal-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(240 253 250/var(--tw-divide-opacity,1))}.bg-purple-900\/50{background-color:#581c8780}.p-0\.5{padding:.125rem}.blur,.filter,.ring-1,.shadow,.shadow-inner,.shadow-md,body{font-family:Arima Regular;font-size:14px}.hover\:bg-white\/20:hover,.dark\:border-gray-600:is(.dark *),.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-boxdark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(36 48 63/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color:#1f2937}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}@font-face{font-family:ArimaRegular;src:url(library/assets/fonts/arima/arima-regular.ttf)}.container{width:100%}@media (min-width:0px){.container{max-width:0}}@media (min-width:20rem){.container{max-width:20rem}}@media (min-width:23.4375rem){.container{max-width:23.4375rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.form-input,.form-multiselect,.form-select,.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-input::placeholder,.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,table{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}table:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}table tr:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}select:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(1turn)}}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-teal-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(240 253 250/var(--tw-divide-opacity,1))}.bg-purple-900\/50{background-color:#581c8780}.p-0\.5{padding:.125rem}.shadow,.shadow-inner,.shadow-md,.ring-1,.blur,.filter,body{font-family:Arima Regular;font-size:14px}.menu ul{list-style:none;margin:0;padding:0}.menu li{border-bottom:1px solid #ddd;padding:10px}.menu li:last-child{border-bottom:none}.hover\:scale-105:hover,.hover\:bg-white\/20:hover{background-color:#fff3}.focus\:ring-0:focus,.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-boxdark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(36 48 63/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color:#1f2937}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}@media (min-width:0px) and (max-width:767px){}
135
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
136
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
137
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.blur,.filter,.ring-1,.shadow,.shadow-inner,.shadow-md,body{font-family:Arima Regular;font-size:14px}.dark\:bg-black:is(.dark *),.dark\:border-gray-600:is(.dark *),.hover\:bg-white\/20:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
138
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
139
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.dark\:bg-black:is(.dark *),.dark\:border-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
140
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/fieldset,legend{padding:0}.container{width:100%}@media (min-width:0px){.container{max-width:0}}@media (min-width:20rem){.container{max-width:20rem}}@media (min-width:23.4375rem){.container{max-width:23.4375rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.form-input,.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::placeholder,.form-input:focus,.form-multiselect,.form-multiselect:focus,.form-select,.form-select:focus,table{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}table:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}table tr:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}select:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-teal-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(240 253 250/var(--tw-divide-opacity,1))}.bg-purple-900\/50{background-color:#581c8780}.p-0\.5{padding:.125rem}.blur,.filter,.ring,.ring-2,.shadow,.shadow-inner,.shadow-md,body{font-family:Arima Regular;font-size:14px}.hover\:bg-white\/20:hover{background-color:#fff3}.dark\:border-gray-600:is(.dark *),.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-boxdark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(36 48 63/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color:#1f2937}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}@font-face{font-family:ArimaRegular;src:url(library/assets/fonts/arima/arima-regular.ttf)}.container{width:100%}@media (min-width:0px){.container{max-width:0}}@media (min-width:20rem){.container{max-width:20rem}}@media (min-width:23.4375rem){.container{max-width:23.4375rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.form-input,.form-multiselect,.form-select,.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-input::placeholder,.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,table{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}table:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}table tr:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}select:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(1turn)}}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-teal-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(240 253 250/var(--tw-divide-opacity,1))}.bg-purple-900\/50{background-color:#581c8780}.p-0\.5{padding:.125rem}.shadow,.shadow-inner,.shadow-md,.ring,.ring-2,.blur,.filter,body{font-family:Arima Regular;font-size:14px}.menu ul{list-style:none;margin:0;padding:0}.menu li{border-bottom:1px solid #ddd;padding:10px}.menu li:last-child{border-bottom:none}.hover\:bg-white\/20:hover{background-color:#fff3}.focus\:ring-0:focus,.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-boxdark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(36 48 63/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color:#1f2937}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}@media (min-width:0px) and (max-width:767px){}