@rowsncolumns/spreadsheet 10.3.0 → 10.4.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 (484) hide show
  1. package/dist/cjs/api/banded-ranges.d.ts.map +1 -1
  2. package/dist/cjs/api/banded-ranges.js +40 -14
  3. package/dist/cjs/api/calculated-column-fill.d.ts +43 -0
  4. package/dist/cjs/api/calculated-column-fill.d.ts.map +1 -0
  5. package/dist/cjs/api/calculated-column-fill.js +16 -0
  6. package/dist/cjs/api/chart-sheet.d.ts +8 -0
  7. package/dist/cjs/api/chart-sheet.d.ts.map +1 -0
  8. package/dist/cjs/api/chart-sheet.js +20 -0
  9. package/dist/cjs/api/chart-source-ranges.d.ts +64 -0
  10. package/dist/cjs/api/chart-source-ranges.d.ts.map +1 -0
  11. package/dist/cjs/api/chart-source-ranges.js +175 -0
  12. package/dist/cjs/api/selections.d.ts +3 -3
  13. package/dist/cjs/api/selections.d.ts.map +1 -1
  14. package/dist/cjs/api/selections.js +28 -2
  15. package/dist/cjs/api/spreadsheet-api.d.ts +16 -3
  16. package/dist/cjs/api/spreadsheet-api.d.ts.map +1 -1
  17. package/dist/cjs/api/spreadsheet-api.js +22 -2
  18. package/dist/cjs/api/table-auto-expansion.d.ts +37 -0
  19. package/dist/cjs/api/table-auto-expansion.d.ts.map +1 -0
  20. package/dist/cjs/api/table-auto-expansion.js +16 -0
  21. package/dist/cjs/api/table.d.ts +49 -1
  22. package/dist/cjs/api/table.d.ts.map +1 -1
  23. package/dist/cjs/api/table.js +145 -1
  24. package/dist/cjs/api/validation.d.ts +26 -1
  25. package/dist/cjs/api/validation.d.ts.map +1 -1
  26. package/dist/cjs/api/validation.js +127 -9
  27. package/dist/cjs/atoms/calculated-column-fill.atom.d.ts +15 -0
  28. package/dist/cjs/atoms/calculated-column-fill.atom.d.ts.map +1 -0
  29. package/dist/cjs/atoms/calculated-column-fill.atom.js +18 -0
  30. package/dist/cjs/atoms/chart-actions.atom.d.ts +40 -0
  31. package/dist/cjs/atoms/chart-actions.atom.d.ts.map +1 -0
  32. package/dist/cjs/atoms/chart-actions.atom.js +66 -0
  33. package/dist/cjs/atoms/index.d.ts +5 -0
  34. package/dist/cjs/atoms/index.d.ts.map +1 -1
  35. package/dist/cjs/atoms/index.js +5 -0
  36. package/dist/cjs/atoms/move-chart-dialog.atom.d.ts +28 -0
  37. package/dist/cjs/atoms/move-chart-dialog.atom.d.ts.map +1 -0
  38. package/dist/cjs/atoms/move-chart-dialog.atom.js +34 -0
  39. package/dist/cjs/atoms/selected-chart-embed.atom.d.ts +9 -1
  40. package/dist/cjs/atoms/selected-chart-embed.atom.d.ts.map +1 -1
  41. package/dist/cjs/atoms/selected-chart-embed.atom.js +18 -1
  42. package/dist/cjs/atoms/selected-chart-series.atom.d.ts +24 -0
  43. package/dist/cjs/atoms/selected-chart-series.atom.d.ts.map +1 -0
  44. package/dist/cjs/atoms/selected-chart-series.atom.js +11 -0
  45. package/dist/cjs/atoms/sheet-context.atom.d.ts +2 -0
  46. package/dist/cjs/atoms/sheet-context.atom.d.ts.map +1 -1
  47. package/dist/cjs/atoms/sheet-context.atom.js +5 -2
  48. package/dist/cjs/atoms/sparkline-dialog.atom.d.ts +34 -0
  49. package/dist/cjs/atoms/sparkline-dialog.atom.d.ts.map +1 -0
  50. package/dist/cjs/atoms/sparkline-dialog.atom.js +30 -0
  51. package/dist/cjs/atoms/table-auto-expansion.atom.d.ts +14 -0
  52. package/dist/cjs/atoms/table-auto-expansion.atom.d.ts.map +1 -0
  53. package/dist/cjs/atoms/table-auto-expansion.atom.js +17 -0
  54. package/dist/cjs/components/calculated-column-smart-tag/index.d.ts +25 -0
  55. package/dist/cjs/components/calculated-column-smart-tag/index.d.ts.map +1 -0
  56. package/dist/cjs/components/calculated-column-smart-tag/index.js +31 -0
  57. package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
  58. package/dist/cjs/components/canvas-grid/index.js +407 -77
  59. package/dist/cjs/components/canvas-grid/typings.d.ts +127 -14
  60. package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
  61. package/dist/cjs/components/cell/index.d.ts.map +1 -1
  62. package/dist/cjs/components/cell/index.js +3 -3
  63. package/dist/cjs/components/cell/typings.d.ts +13 -0
  64. package/dist/cjs/components/cell/typings.d.ts.map +1 -1
  65. package/dist/cjs/components/cell-filter/index.d.ts.map +1 -1
  66. package/dist/cjs/components/cell-filter/index.js +13 -2
  67. package/dist/cjs/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
  68. package/dist/cjs/components/cell-input/formula-bar-cell-input.js +4 -1
  69. package/dist/cjs/components/cell-structured/sparkline-math.d.ts +28 -5
  70. package/dist/cjs/components/cell-structured/sparkline-math.d.ts.map +1 -1
  71. package/dist/cjs/components/cell-structured/sparkline-math.js +93 -5
  72. package/dist/cjs/components/cell-structured/sparkline.d.ts +1 -1
  73. package/dist/cjs/components/cell-structured/sparkline.d.ts.map +1 -1
  74. package/dist/cjs/components/cell-structured/sparkline.js +3 -3
  75. package/dist/cjs/components/cell-structured/types.d.ts +1 -1
  76. package/dist/cjs/components/cell-structured/types.d.ts.map +1 -1
  77. package/dist/cjs/components/chart-sheet-view/index.d.ts +27 -0
  78. package/dist/cjs/components/chart-sheet-view/index.d.ts.map +1 -0
  79. package/dist/cjs/components/chart-sheet-view/index.js +35 -0
  80. package/dist/cjs/components/context-menu/embed-context-menu.d.ts +48 -0
  81. package/dist/cjs/components/context-menu/embed-context-menu.d.ts.map +1 -0
  82. package/dist/cjs/components/context-menu/embed-context-menu.js +123 -0
  83. package/dist/cjs/components/context-menu/index.d.ts +23 -2
  84. package/dist/cjs/components/context-menu/index.d.ts.map +1 -1
  85. package/dist/cjs/components/context-menu/index.js +217 -39
  86. package/dist/cjs/components/context-menu/total-row-function-menu.d.ts +33 -0
  87. package/dist/cjs/components/context-menu/total-row-function-menu.d.ts.map +1 -0
  88. package/dist/cjs/components/context-menu/total-row-function-menu.js +58 -0
  89. package/dist/cjs/components/context-menu/total-row-functions.d.ts +12 -12
  90. package/dist/cjs/components/context-menu/total-row-functions.d.ts.map +1 -1
  91. package/dist/cjs/components/context-menu/total-row-functions.js +39 -39
  92. package/dist/cjs/components/embeds/chart-component.d.ts +17 -0
  93. package/dist/cjs/components/embeds/chart-component.d.ts.map +1 -1
  94. package/dist/cjs/components/embeds/embed-draggable.d.ts +61 -4
  95. package/dist/cjs/components/embeds/embed-draggable.d.ts.map +1 -1
  96. package/dist/cjs/components/embeds/embed-draggable.js +218 -42
  97. package/dist/cjs/components/filter-box/date-tree.d.ts +28 -0
  98. package/dist/cjs/components/filter-box/date-tree.d.ts.map +1 -0
  99. package/dist/cjs/components/filter-box/date-tree.js +147 -0
  100. package/dist/cjs/components/filter-box/filter-by-condition.d.ts +14 -2
  101. package/dist/cjs/components/filter-box/filter-by-condition.d.ts.map +1 -1
  102. package/dist/cjs/components/filter-box/filter-by-condition.js +95 -19
  103. package/dist/cjs/components/filter-box/filter-by-value.d.ts.map +1 -1
  104. package/dist/cjs/components/filter-box/filter-by-value.js +126 -40
  105. package/dist/cjs/components/filter-box/index.d.ts +7 -1
  106. package/dist/cjs/components/filter-box/index.d.ts.map +1 -1
  107. package/dist/cjs/components/filter-box/index.js +102 -11
  108. package/dist/cjs/components/move-chart-dialog/index.d.ts +34 -0
  109. package/dist/cjs/components/move-chart-dialog/index.d.ts.map +1 -0
  110. package/dist/cjs/components/move-chart-dialog/index.js +96 -0
  111. package/dist/cjs/components/print-preview/page-block.d.ts +9 -1
  112. package/dist/cjs/components/print-preview/page-block.d.ts.map +1 -1
  113. package/dist/cjs/components/print-preview/page-block.js +28 -2
  114. package/dist/cjs/components/print-preview/print-preview-dialog.d.ts +8 -1
  115. package/dist/cjs/components/print-preview/print-preview-dialog.d.ts.map +1 -1
  116. package/dist/cjs/components/print-preview/print-preview-dialog.js +144 -3
  117. package/dist/cjs/components/print-preview/run-print.d.ts.map +1 -1
  118. package/dist/cjs/components/print-preview/run-print.js +19 -7
  119. package/dist/cjs/components/print-preview/use-page-layout.d.ts +47 -0
  120. package/dist/cjs/components/print-preview/use-page-layout.d.ts.map +1 -1
  121. package/dist/cjs/components/print-preview/use-page-layout.js +81 -7
  122. package/dist/cjs/components/resizer/index.d.ts.map +1 -1
  123. package/dist/cjs/components/resizer/index.js +10 -5
  124. package/dist/cjs/components/selection/index.d.ts +1 -1
  125. package/dist/cjs/components/selection/index.d.ts.map +1 -1
  126. package/dist/cjs/components/selection/index.js +6 -2
  127. package/dist/cjs/components/selection/types.d.ts +15 -0
  128. package/dist/cjs/components/selection/types.d.ts.map +1 -1
  129. package/dist/cjs/components/sheet-search/index.d.ts.map +1 -1
  130. package/dist/cjs/components/sheet-search/index.js +6 -2
  131. package/dist/cjs/components/sheet-tabs/index.d.ts.map +1 -1
  132. package/dist/cjs/components/sheet-tabs/index.js +2 -2
  133. package/dist/cjs/components/sheet-tabs/sheet-tab.d.ts +1 -1
  134. package/dist/cjs/components/sheet-tabs/sheet-tab.d.ts.map +1 -1
  135. package/dist/cjs/components/sheet-tabs/sheet-tab.js +3 -1
  136. package/dist/cjs/components/sparkline-dialog/index.d.ts +43 -0
  137. package/dist/cjs/components/sparkline-dialog/index.d.ts.map +1 -0
  138. package/dist/cjs/components/sparkline-dialog/index.js +127 -0
  139. package/dist/cjs/components/subtotal-dialog/index.d.ts.map +1 -1
  140. package/dist/cjs/components/subtotal-dialog/index.js +10 -1
  141. package/dist/cjs/components/table-auto-expansion-smart-tag/index.d.ts +24 -0
  142. package/dist/cjs/components/table-auto-expansion-smart-tag/index.d.ts.map +1 -0
  143. package/dist/cjs/components/table-auto-expansion-smart-tag/index.js +31 -0
  144. package/dist/cjs/components/toolbar/index.d.ts +1 -0
  145. package/dist/cjs/components/toolbar/index.d.ts.map +1 -1
  146. package/dist/cjs/components/toolbar/index.js +1 -0
  147. package/dist/cjs/components/toolbar/insert-menu.d.ts +2 -1
  148. package/dist/cjs/components/toolbar/insert-menu.d.ts.map +1 -1
  149. package/dist/cjs/components/toolbar/insert-menu.js +24 -1
  150. package/dist/cjs/components/toolbar/merge-cells-selector.d.ts +4 -1
  151. package/dist/cjs/components/toolbar/merge-cells-selector.d.ts.map +1 -1
  152. package/dist/cjs/components/toolbar/merge-cells-selector.js +11 -5
  153. package/dist/cjs/components/toolbar/sparkline-actions.d.ts +31 -0
  154. package/dist/cjs/components/toolbar/sparkline-actions.d.ts.map +1 -0
  155. package/dist/cjs/components/toolbar/sparkline-actions.js +273 -0
  156. package/dist/cjs/components/toolbar/table-actions.d.ts +9 -1
  157. package/dist/cjs/components/toolbar/table-actions.d.ts.map +1 -1
  158. package/dist/cjs/components/toolbar/table-actions.js +17 -7
  159. package/dist/cjs/components/toolbar/table-style-selector.d.ts +38 -2
  160. package/dist/cjs/components/toolbar/table-style-selector.d.ts.map +1 -1
  161. package/dist/cjs/components/toolbar/table-style-selector.js +241 -389
  162. package/dist/cjs/config.d.ts +2 -0
  163. package/dist/cjs/config.d.ts.map +1 -1
  164. package/dist/cjs/config.js +31 -1
  165. package/dist/cjs/helpers.d.ts +1 -1
  166. package/dist/cjs/helpers.d.ts.map +1 -1
  167. package/dist/cjs/helpers.js +13 -2
  168. package/dist/cjs/hooks/use-cell-renderer.d.ts +16 -1
  169. package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
  170. package/dist/cjs/hooks/use-cell-renderer.js +20 -8
  171. package/dist/cjs/hooks/use-chart-clipboard.d.ts +55 -0
  172. package/dist/cjs/hooks/use-chart-clipboard.d.ts.map +1 -0
  173. package/dist/cjs/hooks/use-chart-clipboard.js +231 -0
  174. package/dist/cjs/hooks/use-chart-source-ranges.d.ts +27 -0
  175. package/dist/cjs/hooks/use-chart-source-ranges.d.ts.map +1 -0
  176. package/dist/cjs/hooks/use-chart-source-ranges.js +211 -0
  177. package/dist/cjs/hooks/use-context-setter.d.ts.map +1 -1
  178. package/dist/cjs/hooks/use-context-setter.js +3 -1
  179. package/dist/cjs/hooks/use-copy-paste-cut.d.ts.map +1 -1
  180. package/dist/cjs/hooks/use-copy-paste-cut.js +6 -3
  181. package/dist/cjs/hooks/use-editable.d.ts +9 -1
  182. package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
  183. package/dist/cjs/hooks/use-editable.js +25 -1
  184. package/dist/cjs/hooks/use-embeds-charts.d.ts +64 -4
  185. package/dist/cjs/hooks/use-embeds-charts.d.ts.map +1 -1
  186. package/dist/cjs/hooks/use-embeds-charts.js +412 -41
  187. package/dist/cjs/hooks/use-grid-children.d.ts +2 -2
  188. package/dist/cjs/hooks/use-grid-children.d.ts.map +1 -1
  189. package/dist/cjs/hooks/use-grid-children.js +12 -6
  190. package/dist/cjs/hooks/use-header-actions.d.ts.map +1 -1
  191. package/dist/cjs/hooks/use-header-actions.js +17 -10
  192. package/dist/cjs/hooks/use-isomorphic-layout-effect.d.ts +2 -2
  193. package/dist/cjs/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
  194. package/dist/cjs/hooks/use-keyboard-handler.d.ts +2 -1
  195. package/dist/cjs/hooks/use-keyboard-handler.d.ts.map +1 -1
  196. package/dist/cjs/hooks/use-keyboard-handler.js +8 -2
  197. package/dist/cjs/hooks/use-move-columns-rows.d.ts.map +1 -1
  198. package/dist/cjs/hooks/use-move-columns-rows.js +21 -15
  199. package/dist/cjs/hooks/use-reveal-chart-embed.d.ts +17 -0
  200. package/dist/cjs/hooks/use-reveal-chart-embed.d.ts.map +1 -0
  201. package/dist/cjs/hooks/use-reveal-chart-embed.js +40 -0
  202. package/dist/cjs/hooks/use-selection-move.d.ts.map +1 -1
  203. package/dist/cjs/hooks/use-selection-move.js +14 -6
  204. package/dist/cjs/hooks/use-selection-renderer.d.ts +13 -1
  205. package/dist/cjs/hooks/use-selection-renderer.d.ts.map +1 -1
  206. package/dist/cjs/hooks/use-selection-renderer.js +37 -7
  207. package/dist/cjs/hooks/use-selection-resize.d.ts.map +1 -1
  208. package/dist/cjs/hooks/use-selection-resize.js +13 -6
  209. package/dist/cjs/hooks/use-selection.d.ts +9 -1
  210. package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
  211. package/dist/cjs/hooks/use-selection.js +177 -55
  212. package/dist/cjs/hooks/use-structured-reference-selection.d.ts +1 -1
  213. package/dist/cjs/hooks/use-structured-reference-selection.d.ts.map +1 -1
  214. package/dist/cjs/hooks/use-structured-reference-selection.js +10 -0
  215. package/dist/cjs/hooks/use-table-hit-zones.d.ts +61 -0
  216. package/dist/cjs/hooks/use-table-hit-zones.d.ts.map +1 -0
  217. package/dist/cjs/hooks/use-table-hit-zones.js +157 -0
  218. package/dist/cjs/hooks/use-table-resizer.d.ts +7 -0
  219. package/dist/cjs/hooks/use-table-resizer.d.ts.map +1 -1
  220. package/dist/cjs/hooks/use-table-resizer.js +38 -18
  221. package/dist/cjs/hooks/use-touch.d.ts.map +1 -1
  222. package/dist/cjs/hooks/use-touch.js +16 -8
  223. package/dist/cjs/index.d.ts +13 -0
  224. package/dist/cjs/index.d.ts.map +1 -1
  225. package/dist/cjs/index.js +17 -1
  226. package/dist/cjs/release-date.js +1 -1
  227. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  228. package/dist/cjs/types.d.ts +289 -4
  229. package/dist/cjs/types.d.ts.map +1 -1
  230. package/dist/cjs/utils/copy-as-picture.d.ts +13 -0
  231. package/dist/cjs/utils/copy-as-picture.d.ts.map +1 -0
  232. package/dist/cjs/utils/copy-as-picture.js +70 -0
  233. package/dist/cjs/utils/pivot-chart-field-buttons.d.ts +19 -0
  234. package/dist/cjs/utils/pivot-chart-field-buttons.d.ts.map +1 -0
  235. package/dist/cjs/utils/pivot-chart-field-buttons.js +25 -0
  236. package/dist/cjs/utils/z-order.d.ts +47 -0
  237. package/dist/cjs/utils/z-order.d.ts.map +1 -0
  238. package/dist/cjs/utils/z-order.js +124 -0
  239. package/dist/esm/api/banded-ranges.d.ts.map +1 -1
  240. package/dist/esm/api/banded-ranges.js +39 -12
  241. package/dist/esm/api/calculated-column-fill.d.ts +43 -0
  242. package/dist/esm/api/calculated-column-fill.d.ts.map +1 -0
  243. package/dist/esm/api/calculated-column-fill.js +10 -0
  244. package/dist/esm/api/chart-sheet.d.ts +8 -0
  245. package/dist/esm/api/chart-sheet.d.ts.map +1 -0
  246. package/dist/esm/api/chart-sheet.js +15 -0
  247. package/dist/esm/api/chart-source-ranges.d.ts +64 -0
  248. package/dist/esm/api/chart-source-ranges.d.ts.map +1 -0
  249. package/dist/esm/api/chart-source-ranges.js +168 -0
  250. package/dist/esm/api/selections.d.ts +3 -3
  251. package/dist/esm/api/selections.d.ts.map +1 -1
  252. package/dist/esm/api/selections.js +26 -2
  253. package/dist/esm/api/spreadsheet-api.d.ts +16 -3
  254. package/dist/esm/api/spreadsheet-api.d.ts.map +1 -1
  255. package/dist/esm/api/spreadsheet-api.js +18 -2
  256. package/dist/esm/api/table-auto-expansion.d.ts +37 -0
  257. package/dist/esm/api/table-auto-expansion.d.ts.map +1 -0
  258. package/dist/esm/api/table-auto-expansion.js +10 -0
  259. package/dist/esm/api/table.d.ts +49 -1
  260. package/dist/esm/api/table.d.ts.map +1 -1
  261. package/dist/esm/api/table.js +138 -1
  262. package/dist/esm/api/validation.d.ts +26 -1
  263. package/dist/esm/api/validation.d.ts.map +1 -1
  264. package/dist/esm/api/validation.js +119 -9
  265. package/dist/esm/atoms/calculated-column-fill.atom.d.ts +15 -0
  266. package/dist/esm/atoms/calculated-column-fill.atom.d.ts.map +1 -0
  267. package/dist/esm/atoms/calculated-column-fill.atom.js +12 -0
  268. package/dist/esm/atoms/chart-actions.atom.d.ts +40 -0
  269. package/dist/esm/atoms/chart-actions.atom.d.ts.map +1 -0
  270. package/dist/esm/atoms/chart-actions.atom.js +58 -0
  271. package/dist/esm/atoms/index.d.ts +5 -0
  272. package/dist/esm/atoms/index.d.ts.map +1 -1
  273. package/dist/esm/atoms/index.js +5 -0
  274. package/dist/esm/atoms/move-chart-dialog.atom.d.ts +28 -0
  275. package/dist/esm/atoms/move-chart-dialog.atom.d.ts.map +1 -0
  276. package/dist/esm/atoms/move-chart-dialog.atom.js +25 -0
  277. package/dist/esm/atoms/selected-chart-embed.atom.d.ts +9 -1
  278. package/dist/esm/atoms/selected-chart-embed.atom.d.ts.map +1 -1
  279. package/dist/esm/atoms/selected-chart-embed.atom.js +19 -2
  280. package/dist/esm/atoms/selected-chart-series.atom.d.ts +24 -0
  281. package/dist/esm/atoms/selected-chart-series.atom.d.ts.map +1 -0
  282. package/dist/esm/atoms/selected-chart-series.atom.js +4 -0
  283. package/dist/esm/atoms/sheet-context.atom.d.ts +2 -0
  284. package/dist/esm/atoms/sheet-context.atom.d.ts.map +1 -1
  285. package/dist/esm/atoms/sheet-context.atom.js +2 -0
  286. package/dist/esm/atoms/sparkline-dialog.atom.d.ts +34 -0
  287. package/dist/esm/atoms/sparkline-dialog.atom.d.ts.map +1 -0
  288. package/dist/esm/atoms/sparkline-dialog.atom.js +21 -0
  289. package/dist/esm/atoms/table-auto-expansion.atom.d.ts +14 -0
  290. package/dist/esm/atoms/table-auto-expansion.atom.d.ts.map +1 -0
  291. package/dist/esm/atoms/table-auto-expansion.atom.js +11 -0
  292. package/dist/esm/components/calculated-column-smart-tag/index.d.ts +25 -0
  293. package/dist/esm/components/calculated-column-smart-tag/index.d.ts.map +1 -0
  294. package/dist/esm/components/calculated-column-smart-tag/index.js +25 -0
  295. package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
  296. package/dist/esm/components/canvas-grid/index.js +346 -26
  297. package/dist/esm/components/canvas-grid/typings.d.ts +127 -14
  298. package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
  299. package/dist/esm/components/cell/index.d.ts.map +1 -1
  300. package/dist/esm/components/cell/index.js +3 -3
  301. package/dist/esm/components/cell/typings.d.ts +13 -0
  302. package/dist/esm/components/cell/typings.d.ts.map +1 -1
  303. package/dist/esm/components/cell-filter/index.d.ts.map +1 -1
  304. package/dist/esm/components/cell-filter/index.js +14 -3
  305. package/dist/esm/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
  306. package/dist/esm/components/cell-input/formula-bar-cell-input.js +4 -1
  307. package/dist/esm/components/cell-structured/sparkline-math.d.ts +28 -5
  308. package/dist/esm/components/cell-structured/sparkline-math.d.ts.map +1 -1
  309. package/dist/esm/components/cell-structured/sparkline-math.js +58 -4
  310. package/dist/esm/components/cell-structured/sparkline.d.ts +1 -1
  311. package/dist/esm/components/cell-structured/sparkline.d.ts.map +1 -1
  312. package/dist/esm/components/cell-structured/sparkline.js +3 -3
  313. package/dist/esm/components/cell-structured/types.d.ts +1 -1
  314. package/dist/esm/components/cell-structured/types.d.ts.map +1 -1
  315. package/dist/esm/components/chart-sheet-view/index.d.ts +27 -0
  316. package/dist/esm/components/chart-sheet-view/index.d.ts.map +1 -0
  317. package/dist/esm/components/chart-sheet-view/index.js +30 -0
  318. package/dist/esm/components/context-menu/embed-context-menu.d.ts +48 -0
  319. package/dist/esm/components/context-menu/embed-context-menu.d.ts.map +1 -0
  320. package/dist/esm/components/context-menu/embed-context-menu.js +112 -0
  321. package/dist/esm/components/context-menu/index.d.ts +23 -2
  322. package/dist/esm/components/context-menu/index.d.ts.map +1 -1
  323. package/dist/esm/components/context-menu/index.js +174 -38
  324. package/dist/esm/components/context-menu/total-row-function-menu.d.ts +33 -0
  325. package/dist/esm/components/context-menu/total-row-function-menu.d.ts.map +1 -0
  326. package/dist/esm/components/context-menu/total-row-function-menu.js +50 -0
  327. package/dist/esm/components/context-menu/total-row-functions.d.ts +12 -12
  328. package/dist/esm/components/context-menu/total-row-functions.d.ts.map +1 -1
  329. package/dist/esm/components/context-menu/total-row-functions.js +29 -31
  330. package/dist/esm/components/embeds/chart-component.d.ts +17 -0
  331. package/dist/esm/components/embeds/chart-component.d.ts.map +1 -1
  332. package/dist/esm/components/embeds/embed-draggable.d.ts +61 -4
  333. package/dist/esm/components/embeds/embed-draggable.d.ts.map +1 -1
  334. package/dist/esm/components/embeds/embed-draggable.js +207 -47
  335. package/dist/esm/components/filter-box/date-tree.d.ts +28 -0
  336. package/dist/esm/components/filter-box/date-tree.d.ts.map +1 -0
  337. package/dist/esm/components/filter-box/date-tree.js +107 -0
  338. package/dist/esm/components/filter-box/filter-by-condition.d.ts +14 -2
  339. package/dist/esm/components/filter-box/filter-by-condition.d.ts.map +1 -1
  340. package/dist/esm/components/filter-box/filter-by-condition.js +72 -16
  341. package/dist/esm/components/filter-box/filter-by-value.d.ts.map +1 -1
  342. package/dist/esm/components/filter-box/filter-by-value.js +110 -39
  343. package/dist/esm/components/filter-box/index.d.ts +7 -1
  344. package/dist/esm/components/filter-box/index.d.ts.map +1 -1
  345. package/dist/esm/components/filter-box/index.js +88 -2
  346. package/dist/esm/components/move-chart-dialog/index.d.ts +34 -0
  347. package/dist/esm/components/move-chart-dialog/index.d.ts.map +1 -0
  348. package/dist/esm/components/move-chart-dialog/index.js +88 -0
  349. package/dist/esm/components/print-preview/page-block.d.ts +9 -1
  350. package/dist/esm/components/print-preview/page-block.d.ts.map +1 -1
  351. package/dist/esm/components/print-preview/page-block.js +27 -2
  352. package/dist/esm/components/print-preview/print-preview-dialog.d.ts +8 -1
  353. package/dist/esm/components/print-preview/print-preview-dialog.d.ts.map +1 -1
  354. package/dist/esm/components/print-preview/print-preview-dialog.js +92 -4
  355. package/dist/esm/components/print-preview/run-print.d.ts.map +1 -1
  356. package/dist/esm/components/print-preview/run-print.js +17 -7
  357. package/dist/esm/components/print-preview/use-page-layout.d.ts +47 -0
  358. package/dist/esm/components/print-preview/use-page-layout.d.ts.map +1 -1
  359. package/dist/esm/components/print-preview/use-page-layout.js +55 -0
  360. package/dist/esm/components/resizer/index.d.ts.map +1 -1
  361. package/dist/esm/components/resizer/index.js +8 -4
  362. package/dist/esm/components/selection/index.d.ts +1 -1
  363. package/dist/esm/components/selection/index.d.ts.map +1 -1
  364. package/dist/esm/components/selection/index.js +6 -2
  365. package/dist/esm/components/selection/types.d.ts +15 -0
  366. package/dist/esm/components/selection/types.d.ts.map +1 -1
  367. package/dist/esm/components/sheet-search/index.d.ts.map +1 -1
  368. package/dist/esm/components/sheet-search/index.js +5 -2
  369. package/dist/esm/components/sheet-tabs/index.d.ts.map +1 -1
  370. package/dist/esm/components/sheet-tabs/index.js +2 -2
  371. package/dist/esm/components/sheet-tabs/sheet-tab.d.ts +1 -1
  372. package/dist/esm/components/sheet-tabs/sheet-tab.d.ts.map +1 -1
  373. package/dist/esm/components/sheet-tabs/sheet-tab.js +4 -2
  374. package/dist/esm/components/sparkline-dialog/index.d.ts +43 -0
  375. package/dist/esm/components/sparkline-dialog/index.d.ts.map +1 -0
  376. package/dist/esm/components/sparkline-dialog/index.js +123 -0
  377. package/dist/esm/components/subtotal-dialog/index.d.ts.map +1 -1
  378. package/dist/esm/components/subtotal-dialog/index.js +10 -1
  379. package/dist/esm/components/table-auto-expansion-smart-tag/index.d.ts +24 -0
  380. package/dist/esm/components/table-auto-expansion-smart-tag/index.d.ts.map +1 -0
  381. package/dist/esm/components/table-auto-expansion-smart-tag/index.js +25 -0
  382. package/dist/esm/components/toolbar/index.d.ts +1 -0
  383. package/dist/esm/components/toolbar/index.d.ts.map +1 -1
  384. package/dist/esm/components/toolbar/index.js +1 -0
  385. package/dist/esm/components/toolbar/insert-menu.d.ts +2 -1
  386. package/dist/esm/components/toolbar/insert-menu.d.ts.map +1 -1
  387. package/dist/esm/components/toolbar/insert-menu.js +24 -1
  388. package/dist/esm/components/toolbar/merge-cells-selector.d.ts +4 -1
  389. package/dist/esm/components/toolbar/merge-cells-selector.d.ts.map +1 -1
  390. package/dist/esm/components/toolbar/merge-cells-selector.js +10 -6
  391. package/dist/esm/components/toolbar/sparkline-actions.d.ts +31 -0
  392. package/dist/esm/components/toolbar/sparkline-actions.d.ts.map +1 -0
  393. package/dist/esm/components/toolbar/sparkline-actions.js +238 -0
  394. package/dist/esm/components/toolbar/table-actions.d.ts +9 -1
  395. package/dist/esm/components/toolbar/table-actions.d.ts.map +1 -1
  396. package/dist/esm/components/toolbar/table-actions.js +15 -7
  397. package/dist/esm/components/toolbar/table-style-selector.d.ts +38 -2
  398. package/dist/esm/components/toolbar/table-style-selector.d.ts.map +1 -1
  399. package/dist/esm/components/toolbar/table-style-selector.js +210 -399
  400. package/dist/esm/config.d.ts +2 -0
  401. package/dist/esm/config.d.ts.map +1 -1
  402. package/dist/esm/config.js +30 -0
  403. package/dist/esm/helpers.d.ts +1 -1
  404. package/dist/esm/helpers.d.ts.map +1 -1
  405. package/dist/esm/helpers.js +12 -1
  406. package/dist/esm/hooks/use-cell-renderer.d.ts +16 -1
  407. package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
  408. package/dist/esm/hooks/use-cell-renderer.js +14 -4
  409. package/dist/esm/hooks/use-chart-clipboard.d.ts +55 -0
  410. package/dist/esm/hooks/use-chart-clipboard.d.ts.map +1 -0
  411. package/dist/esm/hooks/use-chart-clipboard.js +213 -0
  412. package/dist/esm/hooks/use-chart-source-ranges.d.ts +27 -0
  413. package/dist/esm/hooks/use-chart-source-ranges.d.ts.map +1 -0
  414. package/dist/esm/hooks/use-chart-source-ranges.js +186 -0
  415. package/dist/esm/hooks/use-context-setter.d.ts.map +1 -1
  416. package/dist/esm/hooks/use-context-setter.js +3 -1
  417. package/dist/esm/hooks/use-copy-paste-cut.d.ts.map +1 -1
  418. package/dist/esm/hooks/use-copy-paste-cut.js +6 -4
  419. package/dist/esm/hooks/use-editable.d.ts +9 -1
  420. package/dist/esm/hooks/use-editable.d.ts.map +1 -1
  421. package/dist/esm/hooks/use-editable.js +25 -1
  422. package/dist/esm/hooks/use-embeds-charts.d.ts +64 -4
  423. package/dist/esm/hooks/use-embeds-charts.d.ts.map +1 -1
  424. package/dist/esm/hooks/use-embeds-charts.js +394 -39
  425. package/dist/esm/hooks/use-grid-children.d.ts +2 -2
  426. package/dist/esm/hooks/use-grid-children.d.ts.map +1 -1
  427. package/dist/esm/hooks/use-grid-children.js +8 -2
  428. package/dist/esm/hooks/use-header-actions.d.ts.map +1 -1
  429. package/dist/esm/hooks/use-header-actions.js +11 -4
  430. package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts +2 -2
  431. package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
  432. package/dist/esm/hooks/use-keyboard-handler.d.ts +2 -1
  433. package/dist/esm/hooks/use-keyboard-handler.d.ts.map +1 -1
  434. package/dist/esm/hooks/use-keyboard-handler.js +8 -2
  435. package/dist/esm/hooks/use-move-columns-rows.d.ts.map +1 -1
  436. package/dist/esm/hooks/use-move-columns-rows.js +12 -6
  437. package/dist/esm/hooks/use-reveal-chart-embed.d.ts +17 -0
  438. package/dist/esm/hooks/use-reveal-chart-embed.d.ts.map +1 -0
  439. package/dist/esm/hooks/use-reveal-chart-embed.js +35 -0
  440. package/dist/esm/hooks/use-selection-move.d.ts.map +1 -1
  441. package/dist/esm/hooks/use-selection-move.js +11 -4
  442. package/dist/esm/hooks/use-selection-renderer.d.ts +13 -1
  443. package/dist/esm/hooks/use-selection-renderer.d.ts.map +1 -1
  444. package/dist/esm/hooks/use-selection-renderer.js +35 -6
  445. package/dist/esm/hooks/use-selection-resize.d.ts.map +1 -1
  446. package/dist/esm/hooks/use-selection-resize.js +11 -5
  447. package/dist/esm/hooks/use-selection.d.ts +9 -1
  448. package/dist/esm/hooks/use-selection.d.ts.map +1 -1
  449. package/dist/esm/hooks/use-selection.js +172 -54
  450. package/dist/esm/hooks/use-structured-reference-selection.d.ts +1 -1
  451. package/dist/esm/hooks/use-structured-reference-selection.d.ts.map +1 -1
  452. package/dist/esm/hooks/use-structured-reference-selection.js +16 -0
  453. package/dist/esm/hooks/use-table-hit-zones.d.ts +61 -0
  454. package/dist/esm/hooks/use-table-hit-zones.d.ts.map +1 -0
  455. package/dist/esm/hooks/use-table-hit-zones.js +146 -0
  456. package/dist/esm/hooks/use-table-resizer.d.ts +7 -0
  457. package/dist/esm/hooks/use-table-resizer.d.ts.map +1 -1
  458. package/dist/esm/hooks/use-table-resizer.js +36 -19
  459. package/dist/esm/hooks/use-touch.d.ts.map +1 -1
  460. package/dist/esm/hooks/use-touch.js +15 -7
  461. package/dist/esm/index.d.ts +13 -0
  462. package/dist/esm/index.d.ts.map +1 -1
  463. package/dist/esm/index.js +13 -0
  464. package/dist/esm/release-date.js +1 -1
  465. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  466. package/dist/esm/types.d.ts +289 -4
  467. package/dist/esm/types.d.ts.map +1 -1
  468. package/dist/esm/utils/copy-as-picture.d.ts +13 -0
  469. package/dist/esm/utils/copy-as-picture.d.ts.map +1 -0
  470. package/dist/esm/utils/copy-as-picture.js +45 -0
  471. package/dist/esm/utils/pivot-chart-field-buttons.d.ts +19 -0
  472. package/dist/esm/utils/pivot-chart-field-buttons.d.ts.map +1 -0
  473. package/dist/esm/utils/pivot-chart-field-buttons.js +18 -0
  474. package/dist/esm/utils/z-order.d.ts +47 -0
  475. package/dist/esm/utils/z-order.d.ts.map +1 -0
  476. package/dist/esm/utils/z-order.js +111 -0
  477. package/dist/spreadsheet.min.css +1 -1
  478. package/package.json +8 -6
  479. package/dist/cjs/components/cell-editor/helpers.spec.d.ts +0 -2
  480. package/dist/cjs/components/cell-editor/helpers.spec.d.ts.map +0 -1
  481. package/dist/cjs/components/cell-editor/helpers.spec.js +0 -32
  482. package/dist/esm/components/cell-editor/helpers.spec.d.ts +0 -2
  483. package/dist/esm/components/cell-editor/helpers.spec.d.ts.map +0 -1
  484. package/dist/esm/components/cell-editor/helpers.spec.js +0 -30
@@ -0,0 +1,19 @@
1
+ import type { ChartSpec, PivotChartFieldButtons } from "../types";
2
+ /** The four button kinds Excel draws on a PivotChart frame. */
3
+ export type PivotChartFieldButtonKind = Exclude<keyof PivotChartFieldButtons, "visible">;
4
+ type FieldButtonSpec = Pick<ChartSpec, "pivotTableId" | "pivotFieldButtons">;
5
+ /**
6
+ * Whether a PivotChart shows its field buttons at all — Excel's "Hide All
7
+ * Field Buttons" flips this. A chart that is not bound to a pivot never
8
+ * shows any.
9
+ */
10
+ export declare const pivotChartFieldButtonsVisible: (spec: FieldButtonSpec) => boolean;
11
+ /** Whether one kind of field button shows (every kind defaults to shown). */
12
+ export declare const isPivotChartFieldButtonShown: (spec: FieldButtonSpec, kind: PivotChartFieldButtonKind) => boolean;
13
+ /**
14
+ * The spec change behind Show / Hide All Field Buttons: only `visible`
15
+ * flips, the per-kind choices survive so re-showing restores them.
16
+ */
17
+ export declare const togglePivotChartFieldButtons: (spec: FieldButtonSpec) => Pick<ChartSpec, "pivotFieldButtons">;
18
+ export {};
19
+ //# sourceMappingURL=pivot-chart-field-buttons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pivot-chart-field-buttons.d.ts","sourceRoot":"","sources":["../../../utils/pivot-chart-field-buttons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElE,+DAA+D;AAC/D,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,MAAM,sBAAsB,EAC5B,SAAS,CACV,CAAC;AAEF,KAAK,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,mBAAmB,CAAC,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,GAAI,MAAM,eAAe,KAAG,OACE,CAAC;AAEzE,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B,GACvC,MAAM,eAAe,EACrB,MAAM,yBAAyB,KAC9B,OAC8E,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,eAAe,KACpB,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAKpC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Whether a PivotChart shows its field buttons at all — Excel's "Hide All
3
+ * Field Buttons" flips this. A chart that is not bound to a pivot never
4
+ * shows any.
5
+ */
6
+ export const pivotChartFieldButtonsVisible = (spec) => spec.pivotTableId != null && spec.pivotFieldButtons?.visible !== false;
7
+ /** Whether one kind of field button shows (every kind defaults to shown). */
8
+ export const isPivotChartFieldButtonShown = (spec, kind) => pivotChartFieldButtonsVisible(spec) && spec.pivotFieldButtons?.[kind] !== false;
9
+ /**
10
+ * The spec change behind Show / Hide All Field Buttons: only `visible`
11
+ * flips, the per-kind choices survive so re-showing restores them.
12
+ */
13
+ export const togglePivotChartFieldButtons = (spec) => ({
14
+ pivotFieldButtons: {
15
+ ...(spec.pivotFieldButtons ?? {}),
16
+ visible: !pivotChartFieldButtonsVisible(spec),
17
+ },
18
+ });
@@ -0,0 +1,47 @@
1
+ import type { EmbeddedChart, EmbeddedObject } from "../types";
2
+ /**
3
+ * Excel's Arrange menu for floating objects. Charts and embedded objects
4
+ * (pictures, shapes, text boxes) live in two host arrays but share one
5
+ * stacking order per sheet; `position.zOrder` carries it and, when absent,
6
+ * creation order applies — charts below embeds, each in array order (the
7
+ * paint order before z-order existed).
8
+ */
9
+ export type ZOrderDirection = "bringForward" | "sendBackward" | "bringToFront" | "sendToBack";
10
+ export type ZOrderTarget = {
11
+ kind: "chart";
12
+ id: EmbeddedChart["chartId"];
13
+ } | {
14
+ kind: "embed";
15
+ id: EmbeddedObject["embedId"];
16
+ };
17
+ /** One object with its new `position.zOrder` already applied — what the host persists. */
18
+ export type ZOrderChange = {
19
+ kind: "chart";
20
+ chart: EmbeddedChart;
21
+ } | {
22
+ kind: "embed";
23
+ embed: EmbeddedObject;
24
+ };
25
+ export type StackedObject = ZOrderTarget & {
26
+ /** Effective stacking value (explicit `zOrder`, else the creation-order default). */
27
+ zOrder: number;
28
+ };
29
+ /**
30
+ * The sheet's floating objects back-to-front. Explicit `zOrder` wins; an
31
+ * object without one sits at its creation-order slot (charts first, then
32
+ * embeds, both in array order), so a document authored before z-order
33
+ * keeps painting exactly as it did. Ties keep that same default order.
34
+ */
35
+ export declare const getStackingOrder: (charts: readonly EmbeddedChart[] | null | undefined, embeds: readonly EmbeddedObject[] | null | undefined, sheetId: number) => StackedObject[];
36
+ /** Stacking rank (1 = back-most) per object key — what the grid paints as `z-index`. */
37
+ export declare const getStackingRanks: (charts: readonly EmbeddedChart[] | null | undefined, embeds: readonly EmbeddedObject[] | null | undefined, sheetId: number) => Map<string, number>;
38
+ export declare const stackingKey: (target: ZOrderTarget) => string;
39
+ /**
40
+ * The objects to rewrite for one Arrange command, with their new `zOrder`:
41
+ * Bring Forward / Send Backward swap the target with its neighbour (two
42
+ * objects), Bring to Front / Send to Back put it past the current extreme
43
+ * (one object). `undefined` when the command is a no-op — the target is
44
+ * already at that end, or is not on the sheet.
45
+ */
46
+ export declare const planZOrderChange: (charts: readonly EmbeddedChart[] | null | undefined, embeds: readonly EmbeddedObject[] | null | undefined, sheetId: number, target: ZOrderTarget, direction: ZOrderDirection) => ZOrderChange[] | undefined;
47
+ //# sourceMappingURL=z-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"z-order.d.ts","sourceRoot":"","sources":["../../../utils/z-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE9D;;;;;;GAMG;AAEH,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,cAAc,GACd,cAAc,GACd,YAAY,CAAC;AAEjB,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;CAAE,CAAC;AAErD,0FAA0F;AAC1F,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG;IACzC,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,SAAS,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,EACnD,QAAQ,SAAS,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,EACpD,SAAS,MAAM,KACd,aAAa,EAuBf,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,SAAS,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,EACnD,QAAQ,SAAS,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,EACpD,SAAS,MAAM,KACd,GAAG,CAAC,MAAM,EAAE,MAAM,CAMpB,CAAC;AAEF,eAAO,MAAM,WAAW,WAlDH,YAAY,WAkDH,CAAC;AAoB/B;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,SAAS,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,EACnD,QAAQ,SAAS,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,EACpD,SAAS,MAAM,EACf,QAAQ,YAAY,EACpB,WAAW,eAAe,KACzB,YAAY,EAAE,GAAG,SA4CnB,CAAC"}
@@ -0,0 +1,111 @@
1
+ const key = (target) => `${target.kind}:${String(target.id)}`;
2
+ /**
3
+ * The sheet's floating objects back-to-front. Explicit `zOrder` wins; an
4
+ * object without one sits at its creation-order slot (charts first, then
5
+ * embeds, both in array order), so a document authored before z-order
6
+ * keeps painting exactly as it did. Ties keep that same default order.
7
+ */
8
+ export const getStackingOrder = (charts, embeds, sheetId) => {
9
+ const chartCount = charts?.length ?? 0;
10
+ const entries = [];
11
+ charts?.forEach((chart, index) => {
12
+ if (chart.position?.sheetId !== sheetId)
13
+ return;
14
+ entries.push({
15
+ kind: "chart",
16
+ id: chart.chartId,
17
+ zOrder: chart.position.zOrder ?? index,
18
+ slot: index,
19
+ });
20
+ });
21
+ embeds?.forEach((embed, index) => {
22
+ if (embed.position?.sheetId !== sheetId)
23
+ return;
24
+ entries.push({
25
+ kind: "embed",
26
+ id: embed.embedId,
27
+ zOrder: embed.position.zOrder ?? chartCount + index,
28
+ slot: chartCount + index,
29
+ });
30
+ });
31
+ entries.sort((a, b) => a.zOrder - b.zOrder || a.slot - b.slot);
32
+ return entries.map(({ slot: _slot, ...entry }) => entry);
33
+ };
34
+ /** Stacking rank (1 = back-most) per object key — what the grid paints as `z-index`. */
35
+ export const getStackingRanks = (charts, embeds, sheetId) => {
36
+ const ranks = new Map();
37
+ getStackingOrder(charts, embeds, sheetId).forEach((entry, index) => {
38
+ ranks.set(key(entry), index + 1);
39
+ });
40
+ return ranks;
41
+ };
42
+ export const stackingKey = key;
43
+ const withZOrder = (charts, embeds, target, zOrder) => {
44
+ if (target.kind === "chart") {
45
+ const chart = charts?.find((c) => c.chartId === target.id);
46
+ return chart
47
+ ? { kind: "chart", chart: { ...chart, position: { ...chart.position, zOrder } } }
48
+ : undefined;
49
+ }
50
+ const embed = embeds?.find((e) => e.embedId === target.id);
51
+ return embed
52
+ ? { kind: "embed", embed: { ...embed, position: { ...embed.position, zOrder } } }
53
+ : undefined;
54
+ };
55
+ /**
56
+ * The objects to rewrite for one Arrange command, with their new `zOrder`:
57
+ * Bring Forward / Send Backward swap the target with its neighbour (two
58
+ * objects), Bring to Front / Send to Back put it past the current extreme
59
+ * (one object). `undefined` when the command is a no-op — the target is
60
+ * already at that end, or is not on the sheet.
61
+ */
62
+ export const planZOrderChange = (charts, embeds, sheetId, target, direction) => {
63
+ const order = getStackingOrder(charts, embeds, sheetId);
64
+ const index = order.findIndex((entry) => key(entry) === key(target));
65
+ if (index === -1 || order.length < 2)
66
+ return undefined;
67
+ const current = order[index];
68
+ const changes = [];
69
+ switch (direction) {
70
+ case "bringToFront": {
71
+ if (index === order.length - 1)
72
+ return undefined;
73
+ changes.push(withZOrder(charts, embeds, target, order[order.length - 1].zOrder + 1));
74
+ break;
75
+ }
76
+ case "sendToBack": {
77
+ if (index === 0)
78
+ return undefined;
79
+ changes.push(withZOrder(charts, embeds, target, order[0].zOrder - 1));
80
+ break;
81
+ }
82
+ case "bringForward": {
83
+ if (index === order.length - 1)
84
+ return undefined;
85
+ const above = order[index + 1];
86
+ if (above.zOrder === current.zOrder) {
87
+ changes.push(withZOrder(charts, embeds, target, above.zOrder + 1));
88
+ }
89
+ else {
90
+ changes.push(withZOrder(charts, embeds, target, above.zOrder));
91
+ changes.push(withZOrder(charts, embeds, above, current.zOrder));
92
+ }
93
+ break;
94
+ }
95
+ case "sendBackward": {
96
+ if (index === 0)
97
+ return undefined;
98
+ const below = order[index - 1];
99
+ if (below.zOrder === current.zOrder) {
100
+ changes.push(withZOrder(charts, embeds, target, below.zOrder - 1));
101
+ }
102
+ else {
103
+ changes.push(withZOrder(charts, embeds, target, below.zOrder));
104
+ changes.push(withZOrder(charts, embeds, below, current.zOrder));
105
+ }
106
+ break;
107
+ }
108
+ }
109
+ const resolved = changes.filter((c) => !!c);
110
+ return resolved.length ? resolved : undefined;
111
+ };
@@ -1 +1 @@
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:rgba(59,130,246,.5);--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:rgba(59,130,246,.5);--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: }:root{--rnc-background:0 0% 100%;--rnc-foreground:222.2 47.4% 11.2%;--rnc-muted:0 0% 90.9%;--rnc-muted-foreground:215.4 16.3% 46.9%;--rnc-popover:0 0% 100%;--rnc-popover-foreground:222.2 47.4% 11.2%;--rnc-card:0 0% 100%;--rnc-card-foreground:222.2 47.4% 11.2%;--rnc-border:0 0% 78.0%;--rnc-input:0 0% 82%;--rnc-primary:211 100% 43.2%;--rnc-primary-foreground:210 40% 98%;--rnc-secondary:210 40% 96.1%;--rnc-secondary-foreground:222.2 47.4% 11.2%;--rnc-accent:0 0% 90.9%;--rnc-accent-foreground:222.2 47.4% 11.2%;--rnc-destructive:0 100% 50%;--rnc-destructive-foreground:210 40% 98%;--rnc-warning:24 100% 46.5%;--rnc-warning-foreground:210 40% 98%;--rnc-success:120 100% 40%;--rnc-success-foreground:210 40% 98%;--rnc-ring:215 20.2% 65.1%;--rnc-radius:0.5rem;--rnc-scrollbar-border:0 0% 85.8%;--rnc-scrollbar-background:0 0% 97.3%;--rnc-scrollbar-thumb:0 0% 78.0%;--rnc-formula-font-family:"Inconsolata";--rnc-header-font-family:"Arial"}.rnc-dark{--rnc-background:224 71% 4%;--rnc-foreground:213 31% 91%;--rnc-muted:0 0% 17.9%;--rnc-muted-foreground:215.4 16.3% 56.9%;--rnc-popover:224 71% 4%;--rnc-popover-foreground:215 20.2% 65.1%;--rnc-card:224 71% 4%;--rnc-card-foreground:213 31% 91%;--rnc-border:0 0% 31.2%;--rnc-input:216 34% 17%;--rnc-primary:210 40% 98%;--rnc-primary-foreground:222.2 47.4% 1.2%;--rnc-secondary:222.2 47.4% 11.2%;--rnc-secondary-foreground:210 40% 98%;--rnc-accent:216 34% 17%;--rnc-accent-foreground:210 40% 98%;--rnc-destructive:0 100% 50%;--rnc-destructive-foreground:210 40% 98%;--rnc-warning:24 100% 58.5%;--rnc-warning-foreground:210 40% 98%;--rnc-success:120 100% 40%;--rnc-success-foreground:210 40% 98%;--rnc-ring:216 34% 17%;--rnc-radius:0.5rem;--rnc-scrollbar-border:0 0% 24.3%;--rnc-scrollbar-background:0 0% 11.0%;--rnc-scrollbar-thumb:0 0% 31.2%}.rnc-dropdown *,.rnc-dropdown :after,.rnc-dropdown :before,.rnc-popover *,.rnc-popover :after,.rnc-popover :before{box-sizing:border-box}.rnc-canvas-wrapper svg,.rnc-dropdown svg,.rnc-popover svg{display:inline-block;vertical-align:top}.rnc-scrollbar{scrollbar-color:var(--rnc-scrollbar-background)}.rnc-scrollbar::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:hsl(var(--rnc-scrollbar-thumb));border:2px solid transparent;border-radius:var(--rnc-radius);--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rnc-scrollbar::-webkit-scrollbar{-webkit-appearance:none;appearance:none;height:13px;visibility:visible;width:13px}.rnc-scrollbar::-webkit-scrollbar-track{background-clip:padding-box;border-color:transparent;border-left-width:4px;margin:1px;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rnc-scrollbar::-webkit-scrollbar-corner{background-color:hsl(var(--rnc-scrollbar-background));border-color:hsl(var(--rnc-scrollbar-border));border-style:solid;border-width:1px}.rnc-embed-component .react-resizable-handle{background-color:hsl(var(--rnc-border));border-color:hsl(var(--rnc-background));border-style:solid;border-width:1px;bottom:-4.5px;cursor:se-resize;display:none;height:9px;position:absolute;right:-4.5px;width:9px}.rnc-embed-active .react-resizable-handle{display:block}.rnc-embed-component .react-resizable-handle-sw{bottom:-4.5px;cursor:sw-resize;left:-4.5px}.rnc-embed-component .react-resizable-handle-se{cursor:se-resize;cursor:"se-resize",}.rnc-embed-component .react-resizable-handle-nw{cursor:nw-resize;left:-4.5px;top:-4.5px}.rnc-embed-component .react-resizable-handle-ne{cursor:ne-resize;right:-4.5px;top:-4.5px}.rnc-embed-component .react-resizable-handle-e,.rnc-embed-component .react-resizable-handle-w{cursor:ew-resize;margin-top:-4.5px;top:50%}.rnc-embed-component .react-resizable-handle-w{left:-4.5px}.rnc-embed-component .react-resizable-handle-e{right:-4.5px}.rnc-embed-component .react-resizable-handle-n,.rnc-embed-component .react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-4.5px}.rnc-embed-component .react-resizable-handle-n{border-width:1px;top:-4.5px}.rnc-embed-component .react-resizable-handle-s{bottom:-4.5px}.rnc-hide-scrollbar::-webkit-scrollbar{display:none}.rnc-colorpicker .react-colorful__pointer{border-color:hsl(var(--rnc-background));height:12px;width:12px;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rnc-colorpicker .react-colorful__hue{border-radius:calc(var(--rnc-radius) - 4px);border-top-left-radius:0;border-top-right-radius:0;height:14px}.rnc-colorpicker .react-colorful__saturation{border-radius:calc(var(--rnc-radius) - 4px);border-bottom-left-radius:0;border-bottom-right-radius:0}.rnc-plotly-chart-container .modebar{margin-right:32px!important;margin-top:2px!important}.ProseMirror .ProseMirror-separator{display:inline;vertical-align:top}.ProseMirror.pm-placeholder{position:relative}.ProseMirror.pm-placeholder:before{color:#999;content:attr(data-placeholder);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:pre-wrap}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.\!sticky{position:sticky!important}.sticky{position:sticky}.inset-0{inset:0}.-bottom-\[6px\]{bottom:-6px}.-left-\[2px\]{left:-2px}.-left-\[7px\]{left:-7px}.-right-\[6px\]{right:-6px}.-top-\[6px\]{top:-6px}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[4px\]{left:4px}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.right-\[-18px\]{right:-18px}.right-full{right:100%}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-\[-2px\]{top:-2px}.top-\[5px\]{top:5px}.top-full{top:100%}.top-px{top:1px}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[1\]{z-index:1}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.float-right{float:right}.m-0{margin:0}.m-1{margin:.25rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-bottom:.125rem;margin-top:.125rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.-ml-\[15px\]{margin-left:-15px}.-mr-2{margin-right:-.5rem}.-mt-1{margin-top:-.25rem}.-mt-\[12px\]{margin-top:-12px}.-mt-\[15px\]{margin-top:-15px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-px{margin-right:1px}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-\[5px\]{margin-top:5px}.mt-px{margin-top:1px}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[12px\]{height:12px}.h-\[140px\]{height:140px}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[1px\]{height:1px}.h-\[24px\]{height:24px}.h-\[30px\]{height:30px}.h-\[44px\]{height:44px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-44{max-height:11rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-\[120px\]{max-height:120px}.max-h-\[180px\]{max-height:180px}.max-h-\[200px\]{max-height:200px}.max-h-\[240px\]{max-height:240px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[600px\]{max-height:600px}.max-h-dropdown{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-full{max-height:100%}.max-h-popover{max-height:var(--radix-popover-content-available-height)}.max-h-select{max-height:var(--radix-select-content-available-height)}.max-h-svh{max-height:100svh}.min-h-0{min-height:0}.min-h-8{min-height:2rem}.min-h-\[20px\]{min-height:20px}.min-h-\[24px\]{min-height:24px}.min-h-\[28px\]{min-height:28px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[64px\]{min-height:64px}.min-h-\[70vh\]{min-height:70vh}.min-h-\[80px\]{min-height:80px}.min-h-\[calc\(1lh\+0\.5rem\)\]{min-height:calc(1lh + .5rem)}.min-h-full{min-height:100%}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[120px\]{width:120px}.w-\[150px\]{width:150px}.w-\[15px\]{width:15px}.w-\[160px\]{width:160px}.w-\[1ch\]{width:1ch}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.w-\[25px\]{width:25px}.w-\[300px\]{width:300px}.w-\[30px\]{width:30px}.w-\[320px\]{width:320px}.w-\[340px\]{width:340px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[40\%\]{width:40%}.w-\[400px\]{width:400px}.w-\[40px\]{width:40px}.w-\[420px\]{width:420px}.w-\[520px\]{width:520px}.w-\[640px\]{width:640px}.w-\[72px\]{width:72px}.w-\[80px\]{width:80px}.w-\[8px\]{width:8px}.w-\[90px\]{width:90px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-52{min-width:13rem}.min-w-8{min-width:2rem}.min-w-\[120px\]{min-width:120px}.min-w-\[15px\]{min-width:15px}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.min-w-\[20px\]{min-width:20px}.min-w-\[220px\]{min-width:220px}.min-w-\[24px\]{min-width:24px}.min-w-\[28px\]{min-width:28px}.min-w-\[40px\]{min-width:40px}.min-w-\[48px\]{min-width:48px}.min-w-\[8rem\]{min-width:8rem}.min-w-px{min-width:1px}.max-w-\[110px\]{max-width:110px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[600px\]{max-width:600px}.max-w-\[80\%\]{max-width:80%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[92vw\]{max-width:92vw}.max-w-\[var\(--radix-popover-content-available-width\)\]{max-width:var(--radix-popover-content-available-width)}.max-w-dropdown{max-width:var(--radix-dropdown-menu-content-available-width)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-\[10px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-\[10px\]{--tw-translate-x:-10px}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-y-1{--tw-translate-y:0.25rem}.translate-y-1,.translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y:50%}.rotate-45{--tw-rotate:45deg}.rotate-45,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.scale-125,.scale-50{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .2s ease-out}@keyframes flash{0%{opacity:0}50%{opacity:100%}to{opacity:0}}.animate-flash{animation:flash}@keyframes indeterminate{0%{transform:translateX(0) scaleX(0)}40%{transform:translateX(0) scaleX(.4)}to{transform:translateX(100%) scaleX(.5)}}.animate-indeterminate{animation:indeterminate 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grabbing{cursor:grabbing}.cursor-move{cursor:move}.cursor-nesw-resize{cursor:nesw-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-nwse-resize{cursor:nwse-resize}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-auto{touch-action:auto}.touch-none{touch-action:none}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.resize-none{resize:none}.resize{resize:both}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_1fr_auto\]{grid-template-columns:auto 1fr auto}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.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))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[0\.4rem\]{border-radius:.4rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--rnc-radius)}.rounded-md{border-radius:calc(var(--rnc-radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--rnc-radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-sm{border-top-left-radius:calc(var(--rnc-radius) - 4px);border-top-right-radius:calc(var(--rnc-radius) - 4px)}.rounded-br-none{border-bottom-right-radius:0}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.\!border{border-width:1px!important}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-\[1px\]{border-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-b-\[3px\]{border-bottom-width:3px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-4{border-left-width:4px}.border-l-\[1px\]{border-left-width:1px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0}.border-r-\[1px\]{border-right-width:1px}.border-r-\[3px\]{border-right-width:3px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-t-\[1px\]{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-current{border-color:currentColor}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-neutral-700{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity,1))}.border-rnc-border{border-color:hsl(var(--rnc-border))}.border-rnc-border\/50{border-color:hsl(var(--rnc-border)/.5)}.border-rnc-input{border-color:hsl(var(--rnc-input))}.border-rnc-primary{border-color:hsl(var(--rnc-primary))}.border-rnc-warning{border-color:hsl(var(--rnc-warning))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-b-rnc-border{border-bottom-color:hsl(var(--rnc-border))}.border-b-rnc-scrollbar-border{border-bottom-color:hsl(var(--rnc-scrollbar-border))}.border-l-blue-700{--tw-border-opacity:1;border-left-color:rgb(29 78 216/var(--tw-border-opacity,1))}.border-l-rnc-border{border-left-color:hsl(var(--rnc-border))}.border-l-rnc-destructive{border-left-color:hsl(var(--rnc-destructive))}.border-l-rnc-scrollbar-border{border-left-color:hsl(var(--rnc-scrollbar-border))}.border-l-rnc-warning{border-left-color:hsl(var(--rnc-warning))}.border-r-rnc-border{border-right-color:hsl(var(--rnc-border))}.border-r-rnc-scrollbar-border{border-right-color:hsl(var(--rnc-scrollbar-border))}.border-t-rnc-border{border-top-color:hsl(var(--rnc-border))}.border-t-rnc-scrollbar-border{border-top-color:hsl(var(--rnc-scrollbar-border))}.\!bg-rnc-accent{background-color:hsl(var(--rnc-accent))!important}.\!bg-rnc-primary{background-color:hsl(var(--rnc-primary))!important}.bg-\[\#4589eb\]{--tw-bg-opacity:1;background-color:rgb(69 137 235/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-rnc-accent{background-color:hsl(var(--rnc-accent))}.bg-rnc-background{background-color:hsl(var(--rnc-background))}.bg-rnc-background\/80{background-color:hsl(var(--rnc-background)/.8)}.bg-rnc-border{background-color:hsl(var(--rnc-border))}.bg-rnc-foreground\/10{background-color:hsl(var(--rnc-foreground)/.1)}.bg-rnc-input{background-color:hsl(var(--rnc-input))}.bg-rnc-muted{background-color:hsl(var(--rnc-muted))}.bg-rnc-muted-foreground\/80{background-color:hsl(var(--rnc-muted-foreground)/.8)}.bg-rnc-muted\/30{background-color:hsl(var(--rnc-muted)/.3)}.bg-rnc-popover{background-color:hsl(var(--rnc-popover))}.bg-rnc-primary{background-color:hsl(var(--rnc-primary))}.bg-rnc-primary\/10{background-color:hsl(var(--rnc-primary)/.1)}.bg-rnc-primary\/20{background-color:hsl(var(--rnc-primary)/.2)}.bg-rnc-scrollbar-background{background-color:hsl(var(--rnc-scrollbar-background))}.bg-rnc-secondary{background-color:hsl(var(--rnc-secondary))}.bg-rnc-success{background-color:hsl(var(--rnc-success))}.bg-rnc-warning{background-color:hsl(var(--rnc-warning))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.bg-none{background-image:none}.bg-contain{background-size:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-8{padding:2rem}.p-\[6px\]{padding:6px}.p-px{padding:1px}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[2px\]{padding-left:2px;padding-right:2px}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-px{padding-bottom:1px;padding-top:1px}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-1\.5{padding-left:.375rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-\[6px\]{padding-left:6px}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-1\.5{padding-right:.375rem}.pr-10{padding-right:2.5rem}.pr-14{padding-right:3.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-bottom{vertical-align:bottom}.font-formula{font-family:Inconsolata,monospace,arial,sans,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.font-system{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.\!italic{font-style:italic!important}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal}.ordinal,.tabular-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-\[1\.7\]{line-height:1.7}.leading-\[14px\]{line-height:14px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[white\]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-rnc-accent-foreground{color:hsl(var(--rnc-accent-foreground))}.text-rnc-background{color:hsl(var(--rnc-background))}.text-rnc-destructive{color:hsl(var(--rnc-destructive))}.text-rnc-foreground{color:hsl(var(--rnc-foreground))}.text-rnc-foreground\/60{color:hsl(var(--rnc-foreground)/.6)}.text-rnc-foreground\/70{color:hsl(var(--rnc-foreground)/.7)}.text-rnc-foreground\/80{color:hsl(var(--rnc-foreground)/.8)}.text-rnc-muted{color:hsl(var(--rnc-muted))}.text-rnc-muted-foreground{color:hsl(var(--rnc-muted-foreground))}.text-rnc-popover-foreground{color:hsl(var(--rnc-popover-foreground))}.text-rnc-primary{color:hsl(var(--rnc-primary))}.text-rnc-primary-foreground{color:hsl(var(--rnc-primary-foreground))}.text-rnc-primary-foreground\/70{color:hsl(var(--rnc-primary-foreground)/.7)}.text-rnc-secondary-foreground{color:hsl(var(--rnc-secondary-foreground))}.text-rnc-warning{color:hsl(var(--rnc-warning))}.text-rnc-warning-foreground{color:hsl(var(--rnc-warning-foreground))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.\!underline{text-decoration-line:underline!important}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.accent-rnc-primary{accent-color:hsl(var(--rnc-primary))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.\!shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.\!outline{outline-style:solid!important}.outline{outline-style:solid}.outline-offset-1{outline-offset:1px}.outline-rnc-primary{outline-color:hsl(var(--rnc-primary))}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[opacity\2c transform\]{transition-duration:.15s;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-50{--tw-enter-opacity:0.5}.fade-in-80{--tw-enter-opacity:0.8}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\!running{animation-play-state:running!important}.running{animation-play-state:running}.paused{animation-play-state:paused}.repeat-1{animation-iteration-count:1}.\[-ms-overflow-style\:none\]{-ms-overflow-style:none}.\[animation-delay\:-0\.15s\]{animation-delay:-.15s}.\[animation-delay\:-0\.3s\]{animation-delay:-.3s}.\[scrollbar-width\:none\]{scrollbar-width:none}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-rnc-muted-foreground::-moz-placeholder{color:hsl(var(--rnc-muted-foreground))}.placeholder\:text-rnc-muted-foreground::placeholder{color:hsl(var(--rnc-muted-foreground))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:-inset-\[4px\]:before{content:var(--tw-content);inset:-4px}.before\:box-border:before{box-sizing:border-box;content:var(--tw-content)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:box-border:after{box-sizing:border-box;content:var(--tw-content)}.last\:border-r-0:last-child{border-right-width:0}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\:border-rnc-ring:hover{border-color:hsl(var(--ring))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-rnc-accent:hover{background-color:hsl(var(--rnc-accent))}.hover\:bg-rnc-background:hover{background-color:hsl(var(--rnc-background))}.hover\:bg-rnc-border:hover{background-color:hsl(var(--rnc-border))}.hover\:bg-rnc-border\/40:hover{background-color:hsl(var(--rnc-border)/.4)}.hover\:bg-rnc-foreground\/5:hover{background-color:hsl(var(--rnc-foreground)/.05)}.hover\:bg-rnc-muted:hover{background-color:hsl(var(--rnc-muted))}.hover\:bg-rnc-primary:hover{background-color:hsl(var(--rnc-primary))}.hover\:bg-rnc-primary\/90:hover{background-color:hsl(var(--rnc-primary)/.9)}.hover\:bg-rnc-secondary\/80:hover{background-color:hsl(var(--rnc-secondary)/.8)}.hover\:bg-rnc-success\/90:hover{background-color:hsl(var(--rnc-success)/.9)}.hover\:bg-rnc-warning\/90:hover{background-color:hsl(var(--rnc-warning)/.9)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-rnc-accent-foreground:hover{color:hsl(var(--rnc-accent-foreground))}.hover\:text-rnc-muted:hover{color:hsl(var(--rnc-muted))}.hover\:text-rnc-primary-foreground:hover{color:hsl(var(--rnc-primary-foreground))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[rgba\(0\2c 0\2c 0\2c 0\.8\)_0px_0px_0px_1px_inset\]:hover{--tw-shadow:rgba(0,0,0,.8) 0px 0px 0px 1px inset;--tw-shadow-colored:inset 0px 0px 0px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:outline:hover{outline-style:solid}.hover\:outline-1:hover{outline-width:1px}.hover\:outline-offset-1:hover{outline-offset:1px}.hover\:outline-rnc-primary:hover{outline-color:hsl(var(--rnc-primary))}.focus\:bg-rnc-accent:focus{background-color:hsl(var(--rnc-accent))}.focus\:bg-rnc-background:focus{background-color:hsl(var(--rnc-background))}.focus\:bg-rnc-border:focus{background-color:hsl(var(--rnc-border))}.focus\:bg-rnc-border\/40:focus{background-color:hsl(var(--rnc-border)/.4)}.focus\:bg-transparent:focus{background-color:transparent}.focus\:text-rnc-accent-foreground:focus{color:hsl(var(--rnc-accent-foreground))}.focus\:text-rnc-muted:focus{color:hsl(var(--rnc-muted))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline:focus{outline-style:solid}.focus\:outline-offset-1:focus{outline-offset:1px}.focus\:outline-rnc-primary:focus{outline-color:hsl(var(--rnc-primary))}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-rnc-primary:focus{--tw-ring-color:hsl(var(--rnc-primary))}.focus\:ring-slate-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity,1))}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-rnc-background:active{background-color:hsl(var(--rnc-background))}.active\:text-rnc-muted:active{color:hsl(var(--rnc-muted))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-rnc-foreground\/40:disabled{color:hsl(var(--rnc-foreground)/.4)}.disabled\:text-rnc-primary-foreground\/80:disabled{color:hsl(var(--rnc-primary-foreground)/.8)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.disabled\:drop-shadow-none:disabled{--tw-drop-shadow:drop-shadow(0 0 #0000);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.group\/fmt[open] .group-open\/fmt\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[open] .group-open\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:visible{visibility:visible}.group\/copy:hover .group-hover\/copy\:opacity-100{opacity:1}.aria-selected\:bg-rnc-accent[aria-selected=true]{background-color:hsl(var(--rnc-accent))}.aria-selected\:bg-rnc-accent\/50[aria-selected=true]{background-color:hsl(var(--rnc-accent)/.5)}.aria-selected\:text-rnc-accent-foreground[aria-selected=true]{color:hsl(var(--rnc-accent-foreground))}.aria-selected\:text-rnc-muted-foreground[aria-selected=true]{color:hsl(var(--rnc-muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[selected\=true\]\:bg-rnc-accent[data-selected=true]{background-color:hsl(var(--rnc-accent))}.data-\[state\=active\]\:bg-rnc-background[data-state=active]{background-color:hsl(var(--rnc-background))}.data-\[state\=open\]\:bg-rnc-accent[data-state=open]{background-color:hsl(var(--rnc-accent))}.data-\[selected\=true\]\:text-rnc-accent-foreground[data-selected=true]{color:hsl(var(--rnc-accent-foreground))}.data-\[state\=active\]\:text-rnc-foreground[data-state=active]{color:hsl(var(--rnc-foreground))}.data-\[state\=open\]\:text-rnc-accent-foreground[data-state=open]{color:hsl(var(--rnc-accent-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:fade-in-90[data-state=open]{--tw-enter-opacity:0.9}.data-\[side\=bottom\]\:slide-in-from-top-1[data-side=bottom]{--tw-enter-translate-y:-0.25rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-1[data-side=left]{--tw-enter-translate-x:0.25rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-1[data-side=right]{--tw-enter-translate-x:-0.25rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-1[data-side=top]{--tw-enter-translate-y:0.25rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=open\]\:slide-in-from-bottom-10[data-state=open]{--tw-enter-translate-y:2.5rem}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:bg-emerald-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.dark\:bg-purple-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:max-w-lg{max-width:32rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:rounded-lg{border-radius:var(--rnc-radius)}.sm\:zoom-in-90{--tw-enter-scale:.9}.data-\[state\=open\]\:sm\:slide-in-from-bottom-0[data-state=open]{--tw-enter-translate-y:0px}}@media (min-width:768px){.md\:w-16{width:4rem}.md\:min-w-\[400px\]{min-width:400px}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (min-width:1024px){.lg\:pl-\[46px\]{padding-left:46px}}@media print{.print\:ml-\[var\(--rnc-print-left-margin\)\]{margin-left:var(--rnc-print-left-margin)}.print\:mt-\[var\(--rnc-print-top-margin\)\]{margin-top:var(--rnc-print-top-margin)}.print\:block{display:block}.print\:hidden{display:none}.print\:h-full{height:100%}.print\:w-full{width:100%}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\:has\(\[aria-selected\]\)\]\:bg-rnc-accent:has([aria-selected]){background-color:hsl(var(--rnc-accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-bottom-left-radius:calc(var(--rnc-radius) - 2px);border-top-left-radius:calc(var(--rnc-radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-bottom-right-radius:calc(var(--rnc-radius) - 2px);border-top-right-radius:calc(var(--rnc-radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-rnc-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--rnc-accent)/.5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-bottom-right-radius:calc(var(--rnc-radius) - 2px);border-top-right-radius:calc(var(--rnc-radius) - 2px)}.\[\&_\*\]\:box-border *{box-sizing:border-box}.\[\&_\.react-resizable-handle\]\:bg-\[\#1a73e8\] .react-resizable-handle{--tw-bg-opacity:1;background-color:rgb(26 115 232/var(--tw-bg-opacity,1))}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-rnc-muted-foreground [cmdk-group-heading]{color:hsl(var(--rnc-muted-foreground))}.\[\&_div\]\:outline-none div{outline:2px solid transparent;outline-offset:2px}.\[\&_span\]\:\!text-current span{color:currentColor!important}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{height:1rem;width:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
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:rgba(59,130,246,.5);--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:rgba(59,130,246,.5);--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: }:root{--rnc-background:0 0% 100%;--rnc-foreground:222.2 47.4% 11.2%;--rnc-muted:0 0% 90.9%;--rnc-muted-foreground:215.4 16.3% 46.9%;--rnc-popover:0 0% 100%;--rnc-popover-foreground:222.2 47.4% 11.2%;--rnc-card:0 0% 100%;--rnc-card-foreground:222.2 47.4% 11.2%;--rnc-border:0 0% 78.0%;--rnc-input:0 0% 82%;--rnc-primary:211 100% 43.2%;--rnc-primary-foreground:210 40% 98%;--rnc-secondary:210 40% 96.1%;--rnc-secondary-foreground:222.2 47.4% 11.2%;--rnc-accent:0 0% 90.9%;--rnc-accent-foreground:222.2 47.4% 11.2%;--rnc-destructive:0 100% 50%;--rnc-destructive-foreground:210 40% 98%;--rnc-warning:24 100% 46.5%;--rnc-warning-foreground:210 40% 98%;--rnc-success:120 100% 40%;--rnc-success-foreground:210 40% 98%;--rnc-ring:215 20.2% 65.1%;--rnc-radius:0.5rem;--rnc-scrollbar-border:0 0% 85.8%;--rnc-scrollbar-background:0 0% 97.3%;--rnc-scrollbar-thumb:0 0% 78.0%;--rnc-formula-font-family:"Inconsolata";--rnc-header-font-family:"Arial"}.rnc-dark{--rnc-background:224 71% 4%;--rnc-foreground:213 31% 91%;--rnc-muted:0 0% 17.9%;--rnc-muted-foreground:215.4 16.3% 56.9%;--rnc-popover:224 71% 4%;--rnc-popover-foreground:215 20.2% 65.1%;--rnc-card:224 71% 4%;--rnc-card-foreground:213 31% 91%;--rnc-border:0 0% 31.2%;--rnc-input:216 34% 17%;--rnc-primary:210 40% 98%;--rnc-primary-foreground:222.2 47.4% 1.2%;--rnc-secondary:222.2 47.4% 11.2%;--rnc-secondary-foreground:210 40% 98%;--rnc-accent:216 34% 17%;--rnc-accent-foreground:210 40% 98%;--rnc-destructive:0 100% 50%;--rnc-destructive-foreground:210 40% 98%;--rnc-warning:24 100% 58.5%;--rnc-warning-foreground:210 40% 98%;--rnc-success:120 100% 40%;--rnc-success-foreground:210 40% 98%;--rnc-ring:216 34% 17%;--rnc-radius:0.5rem;--rnc-scrollbar-border:0 0% 24.3%;--rnc-scrollbar-background:0 0% 11.0%;--rnc-scrollbar-thumb:0 0% 31.2%}.rnc-dropdown *,.rnc-dropdown :after,.rnc-dropdown :before,.rnc-popover *,.rnc-popover :after,.rnc-popover :before{box-sizing:border-box}.rnc-canvas-wrapper svg,.rnc-dropdown svg,.rnc-popover svg{display:inline-block;vertical-align:top}.rnc-scrollbar{scrollbar-color:var(--rnc-scrollbar-background)}.rnc-scrollbar::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:hsl(var(--rnc-scrollbar-thumb));border:2px solid transparent;border-radius:var(--rnc-radius);--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rnc-scrollbar::-webkit-scrollbar{-webkit-appearance:none;appearance:none;height:13px;visibility:visible;width:13px}.rnc-scrollbar::-webkit-scrollbar-track{background-clip:padding-box;border-color:transparent;border-left-width:4px;margin:1px;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rnc-scrollbar::-webkit-scrollbar-corner{background-color:hsl(var(--rnc-scrollbar-background));border-color:hsl(var(--rnc-scrollbar-border));border-style:solid;border-width:1px}.rnc-embed-component .react-resizable-handle{background-color:hsl(var(--rnc-border));border-color:hsl(var(--rnc-background));border-style:solid;border-width:1px;bottom:-4.5px;cursor:se-resize;display:none;height:9px;position:absolute;right:-4.5px;width:9px}.rnc-embed-active .react-resizable-handle{display:block}.rnc-embed-component .react-resizable-handle-sw{bottom:-4.5px;cursor:sw-resize;left:-4.5px}.rnc-embed-component .react-resizable-handle-se{cursor:se-resize;cursor:"se-resize",}.rnc-embed-component .react-resizable-handle-nw{cursor:nw-resize;left:-4.5px;top:-4.5px}.rnc-embed-component .react-resizable-handle-ne{cursor:ne-resize;right:-4.5px;top:-4.5px}.rnc-embed-component .react-resizable-handle-e,.rnc-embed-component .react-resizable-handle-w{cursor:ew-resize;margin-top:-4.5px;top:50%}.rnc-embed-component .react-resizable-handle-w{left:-4.5px}.rnc-embed-component .react-resizable-handle-e{right:-4.5px}.rnc-embed-component .react-resizable-handle-n,.rnc-embed-component .react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-4.5px}.rnc-embed-component .react-resizable-handle-n{border-width:1px;top:-4.5px}.rnc-embed-component .react-resizable-handle-s{bottom:-4.5px}.rnc-hide-scrollbar::-webkit-scrollbar{display:none}.rnc-colorpicker .react-colorful__pointer{border-color:hsl(var(--rnc-background));height:12px;width:12px;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rnc-colorpicker .react-colorful__hue{border-radius:calc(var(--rnc-radius) - 4px);border-top-left-radius:0;border-top-right-radius:0;height:14px}.rnc-colorpicker .react-colorful__saturation{border-radius:calc(var(--rnc-radius) - 4px);border-bottom-left-radius:0;border-bottom-right-radius:0}.rnc-plotly-chart-container .modebar{margin-right:32px!important;margin-top:2px!important}.ProseMirror .ProseMirror-separator{display:inline;vertical-align:top}.ProseMirror.pm-placeholder{position:relative}.ProseMirror.pm-placeholder:before{color:#999;content:attr(data-placeholder);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:pre-wrap}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.\!sticky{position:sticky!important}.sticky{position:sticky}.inset-0{inset:0}.-bottom-\[6px\]{bottom:-6px}.-left-\[2px\]{left:-2px}.-left-\[7px\]{left:-7px}.-right-\[6px\]{right:-6px}.-top-\[6px\]{top:-6px}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[4px\]{left:4px}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.right-\[-18px\]{right:-18px}.right-full{right:100%}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-9{top:2.25rem}.top-\[-2px\]{top:-2px}.top-\[5px\]{top:5px}.top-full{top:100%}.top-px{top:1px}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[1\]{z-index:1}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-bottom:.125rem;margin-top:.125rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.-ml-\[15px\]{margin-left:-15px}.-mr-2{margin-right:-.5rem}.-mt-1{margin-top:-.25rem}.-mt-\[12px\]{margin-top:-12px}.-mt-\[15px\]{margin-top:-15px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-px{margin-right:1px}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-\[5px\]{margin-top:5px}.mt-px{margin-top:1px}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[12px\]{height:12px}.h-\[140px\]{height:140px}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[1px\]{height:1px}.h-\[24px\]{height:24px}.h-\[30px\]{height:30px}.h-\[44px\]{height:44px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-44{max-height:11rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-\[120px\]{max-height:120px}.max-h-\[180px\]{max-height:180px}.max-h-\[200px\]{max-height:200px}.max-h-\[240px\]{max-height:240px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[600px\]{max-height:600px}.max-h-dropdown{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-full{max-height:100%}.max-h-popover{max-height:var(--radix-popover-content-available-height)}.max-h-select{max-height:var(--radix-select-content-available-height)}.max-h-svh{max-height:100svh}.min-h-0{min-height:0}.min-h-8{min-height:2rem}.min-h-\[20px\]{min-height:20px}.min-h-\[24px\]{min-height:24px}.min-h-\[28px\]{min-height:28px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[64px\]{min-height:64px}.min-h-\[70vh\]{min-height:70vh}.min-h-\[80px\]{min-height:80px}.min-h-\[calc\(1lh\+0\.5rem\)\]{min-height:calc(1lh + .5rem)}.min-h-full{min-height:100%}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[110px\]{width:110px}.w-\[120px\]{width:120px}.w-\[150px\]{width:150px}.w-\[15px\]{width:15px}.w-\[160px\]{width:160px}.w-\[1ch\]{width:1ch}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.w-\[25px\]{width:25px}.w-\[300px\]{width:300px}.w-\[30px\]{width:30px}.w-\[320px\]{width:320px}.w-\[340px\]{width:340px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[40\%\]{width:40%}.w-\[400px\]{width:400px}.w-\[40px\]{width:40px}.w-\[420px\]{width:420px}.w-\[520px\]{width:520px}.w-\[640px\]{width:640px}.w-\[70px\]{width:70px}.w-\[72px\]{width:72px}.w-\[80px\]{width:80px}.w-\[8px\]{width:8px}.w-\[90px\]{width:90px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-52{min-width:13rem}.min-w-8{min-width:2rem}.min-w-\[120px\]{min-width:120px}.min-w-\[15px\]{min-width:15px}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.min-w-\[20px\]{min-width:20px}.min-w-\[220px\]{min-width:220px}.min-w-\[24px\]{min-width:24px}.min-w-\[28px\]{min-width:28px}.min-w-\[40px\]{min-width:40px}.min-w-\[48px\]{min-width:48px}.min-w-\[8rem\]{min-width:8rem}.min-w-px{min-width:1px}.max-w-\[10rem\]{max-width:10rem}.max-w-\[110px\]{max-width:110px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[600px\]{max-width:600px}.max-w-\[70\%\]{max-width:70%}.max-w-\[80\%\]{max-width:80%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[92vw\]{max-width:92vw}.max-w-\[var\(--radix-popover-content-available-width\)\]{max-width:var(--radix-popover-content-available-width)}.max-w-dropdown{max-width:var(--radix-dropdown-menu-content-available-width)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-\[10px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-\[10px\]{--tw-translate-x:-10px}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-y-1{--tw-translate-y:0.25rem}.translate-y-1,.translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y:50%}.rotate-45{--tw-rotate:45deg}.rotate-45,.scale-125{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .2s ease-out}@keyframes flash{0%{opacity:0}50%{opacity:100%}to{opacity:0}}.animate-flash{animation:flash}@keyframes indeterminate{0%{transform:translateX(0) scaleX(0)}40%{transform:translateX(0) scaleX(.4)}to{transform:translateX(100%) scaleX(.5)}}.animate-indeterminate{animation:indeterminate 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grabbing{cursor:grabbing}.cursor-move{cursor:move}.cursor-nesw-resize{cursor:nesw-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-nwse-resize{cursor:nwse-resize}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-auto{touch-action:auto}.touch-none{touch-action:none}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.resize-none{resize:none}.resize{resize:both}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_1fr_auto\]{grid-template-columns:auto 1fr auto}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.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))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1px\]{border-radius:1px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--rnc-radius)}.rounded-md{border-radius:calc(var(--rnc-radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--rnc-radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-sm{border-top-left-radius:calc(var(--rnc-radius) - 4px);border-top-right-radius:calc(var(--rnc-radius) - 4px)}.rounded-br-none{border-bottom-right-radius:0}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.\!border{border-width:1px!important}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-\[1px\]{border-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-b-\[3px\]{border-bottom-width:3px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-4{border-left-width:4px}.border-l-\[1px\]{border-left-width:1px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0}.border-r-\[1px\]{border-right-width:1px}.border-r-\[3px\]{border-right-width:3px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-t-\[1px\]{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-current{border-color:currentColor}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-neutral-700{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity,1))}.border-rnc-border{border-color:hsl(var(--rnc-border))}.border-rnc-border\/50{border-color:hsl(var(--rnc-border)/.5)}.border-rnc-input{border-color:hsl(var(--rnc-input))}.border-rnc-primary{border-color:hsl(var(--rnc-primary))}.border-rnc-warning{border-color:hsl(var(--rnc-warning))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-b-rnc-border{border-bottom-color:hsl(var(--rnc-border))}.border-b-rnc-scrollbar-border{border-bottom-color:hsl(var(--rnc-scrollbar-border))}.border-l-blue-700{--tw-border-opacity:1;border-left-color:rgb(29 78 216/var(--tw-border-opacity,1))}.border-l-rnc-border{border-left-color:hsl(var(--rnc-border))}.border-l-rnc-destructive{border-left-color:hsl(var(--rnc-destructive))}.border-l-rnc-scrollbar-border{border-left-color:hsl(var(--rnc-scrollbar-border))}.border-l-rnc-warning{border-left-color:hsl(var(--rnc-warning))}.border-r-rnc-border{border-right-color:hsl(var(--rnc-border))}.border-r-rnc-scrollbar-border{border-right-color:hsl(var(--rnc-scrollbar-border))}.border-t-rnc-border{border-top-color:hsl(var(--rnc-border))}.border-t-rnc-scrollbar-border{border-top-color:hsl(var(--rnc-scrollbar-border))}.\!bg-rnc-accent{background-color:hsl(var(--rnc-accent))!important}.\!bg-rnc-primary{background-color:hsl(var(--rnc-primary))!important}.bg-\[\#4589eb\]{--tw-bg-opacity:1;background-color:rgb(69 137 235/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-rnc-accent{background-color:hsl(var(--rnc-accent))}.bg-rnc-background{background-color:hsl(var(--rnc-background))}.bg-rnc-background\/80{background-color:hsl(var(--rnc-background)/.8)}.bg-rnc-background\/90{background-color:hsl(var(--rnc-background)/.9)}.bg-rnc-border{background-color:hsl(var(--rnc-border))}.bg-rnc-foreground\/10{background-color:hsl(var(--rnc-foreground)/.1)}.bg-rnc-input{background-color:hsl(var(--rnc-input))}.bg-rnc-muted{background-color:hsl(var(--rnc-muted))}.bg-rnc-muted-foreground\/80{background-color:hsl(var(--rnc-muted-foreground)/.8)}.bg-rnc-muted\/30{background-color:hsl(var(--rnc-muted)/.3)}.bg-rnc-popover{background-color:hsl(var(--rnc-popover))}.bg-rnc-primary{background-color:hsl(var(--rnc-primary))}.bg-rnc-primary\/10{background-color:hsl(var(--rnc-primary)/.1)}.bg-rnc-primary\/20{background-color:hsl(var(--rnc-primary)/.2)}.bg-rnc-scrollbar-background{background-color:hsl(var(--rnc-scrollbar-background))}.bg-rnc-secondary{background-color:hsl(var(--rnc-secondary))}.bg-rnc-success{background-color:hsl(var(--rnc-success))}.bg-rnc-warning{background-color:hsl(var(--rnc-warning))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.bg-none{background-image:none}.bg-contain{background-size:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.p-\[6px\]{padding:6px}.p-px{padding:1px}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[2px\]{padding-left:2px;padding-right:2px}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-1\.5{padding-left:.375rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-\[6px\]{padding-left:6px}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-1\.5{padding-right:.375rem}.pr-10{padding-right:2.5rem}.pr-14{padding-right:3.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-bottom{vertical-align:bottom}.font-formula{font-family:Inconsolata,monospace,arial,sans,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.font-system{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.\!italic{font-style:italic!important}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal}.ordinal,.tabular-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-\[14px\]{line-height:14px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[white\]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-rnc-accent-foreground{color:hsl(var(--rnc-accent-foreground))}.text-rnc-background{color:hsl(var(--rnc-background))}.text-rnc-destructive{color:hsl(var(--rnc-destructive))}.text-rnc-foreground{color:hsl(var(--rnc-foreground))}.text-rnc-foreground\/60{color:hsl(var(--rnc-foreground)/.6)}.text-rnc-foreground\/70{color:hsl(var(--rnc-foreground)/.7)}.text-rnc-foreground\/80{color:hsl(var(--rnc-foreground)/.8)}.text-rnc-muted{color:hsl(var(--rnc-muted))}.text-rnc-muted-foreground{color:hsl(var(--rnc-muted-foreground))}.text-rnc-popover-foreground{color:hsl(var(--rnc-popover-foreground))}.text-rnc-primary{color:hsl(var(--rnc-primary))}.text-rnc-primary-foreground{color:hsl(var(--rnc-primary-foreground))}.text-rnc-primary-foreground\/70{color:hsl(var(--rnc-primary-foreground)/.7)}.text-rnc-secondary-foreground{color:hsl(var(--rnc-secondary-foreground))}.text-rnc-warning{color:hsl(var(--rnc-warning))}.text-rnc-warning-foreground{color:hsl(var(--rnc-warning-foreground))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.\!underline{text-decoration-line:underline!important}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.accent-rnc-primary{accent-color:hsl(var(--rnc-primary))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.\!shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.\!outline{outline-style:solid!important}.outline{outline-style:solid}.outline-offset-1{outline-offset:1px}.outline-rnc-primary{outline-color:hsl(var(--rnc-primary))}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[opacity\2c transform\]{transition-duration:.15s;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-50{--tw-enter-opacity:0.5}.fade-in-80{--tw-enter-opacity:0.8}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\!running{animation-play-state:running!important}.running{animation-play-state:running}.repeat-1{animation-iteration-count:1}.\[-ms-overflow-style\:none\]{-ms-overflow-style:none}.\[animation-delay\:-0\.15s\]{animation-delay:-.15s}.\[animation-delay\:-0\.3s\]{animation-delay:-.3s}.\[scrollbar-width\:none\]{scrollbar-width:none}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-rnc-muted-foreground::-moz-placeholder{color:hsl(var(--rnc-muted-foreground))}.placeholder\:text-rnc-muted-foreground::placeholder{color:hsl(var(--rnc-muted-foreground))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:-inset-\[4px\]:before{content:var(--tw-content);inset:-4px}.before\:box-border:before{box-sizing:border-box;content:var(--tw-content)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:box-border:after{box-sizing:border-box;content:var(--tw-content)}.last\:border-r-0:last-child{border-right-width:0}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\:border-rnc-ring:hover{border-color:hsl(var(--ring))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-rnc-accent:hover{background-color:hsl(var(--rnc-accent))}.hover\:bg-rnc-background:hover{background-color:hsl(var(--rnc-background))}.hover\:bg-rnc-border:hover{background-color:hsl(var(--rnc-border))}.hover\:bg-rnc-border\/40:hover{background-color:hsl(var(--rnc-border)/.4)}.hover\:bg-rnc-foreground\/5:hover{background-color:hsl(var(--rnc-foreground)/.05)}.hover\:bg-rnc-muted:hover{background-color:hsl(var(--rnc-muted))}.hover\:bg-rnc-primary:hover{background-color:hsl(var(--rnc-primary))}.hover\:bg-rnc-primary\/90:hover{background-color:hsl(var(--rnc-primary)/.9)}.hover\:bg-rnc-secondary\/80:hover{background-color:hsl(var(--rnc-secondary)/.8)}.hover\:bg-rnc-success\/90:hover{background-color:hsl(var(--rnc-success)/.9)}.hover\:bg-rnc-warning\/90:hover{background-color:hsl(var(--rnc-warning)/.9)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-rnc-accent-foreground:hover{color:hsl(var(--rnc-accent-foreground))}.hover\:text-rnc-muted:hover{color:hsl(var(--rnc-muted))}.hover\:text-rnc-primary-foreground:hover{color:hsl(var(--rnc-primary-foreground))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[rgba\(0\2c 0\2c 0\2c 0\.8\)_0px_0px_0px_1px_inset\]:hover{--tw-shadow:rgba(0,0,0,.8) 0px 0px 0px 1px inset;--tw-shadow-colored:inset 0px 0px 0px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:outline:hover{outline-style:solid}.hover\:outline-1:hover{outline-width:1px}.hover\:outline-offset-1:hover{outline-offset:1px}.hover\:outline-rnc-primary:hover{outline-color:hsl(var(--rnc-primary))}.focus\:bg-rnc-accent:focus{background-color:hsl(var(--rnc-accent))}.focus\:bg-rnc-background:focus{background-color:hsl(var(--rnc-background))}.focus\:bg-rnc-border:focus{background-color:hsl(var(--rnc-border))}.focus\:bg-rnc-border\/40:focus{background-color:hsl(var(--rnc-border)/.4)}.focus\:bg-transparent:focus{background-color:transparent}.focus\:text-rnc-accent-foreground:focus{color:hsl(var(--rnc-accent-foreground))}.focus\:text-rnc-muted:focus{color:hsl(var(--rnc-muted))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline:focus{outline-style:solid}.focus\:outline-offset-1:focus{outline-offset:1px}.focus\:outline-rnc-primary:focus{outline-color:hsl(var(--rnc-primary))}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-rnc-primary:focus{--tw-ring-color:hsl(var(--rnc-primary))}.focus\:ring-slate-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity,1))}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:bg-rnc-background:active{background-color:hsl(var(--rnc-background))}.active\:text-rnc-muted:active{color:hsl(var(--rnc-muted))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-rnc-foreground\/40:disabled{color:hsl(var(--rnc-foreground)/.4)}.disabled\:text-rnc-primary-foreground\/80:disabled{color:hsl(var(--rnc-primary-foreground)/.8)}.disabled\:opacity-50:disabled{opacity:.5}.group\/fmt[open] .group-open\/fmt\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[open] .group-open\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:visible{visibility:visible}.aria-selected\:bg-rnc-accent[aria-selected=true]{background-color:hsl(var(--rnc-accent))}.aria-selected\:bg-rnc-accent\/50[aria-selected=true]{background-color:hsl(var(--rnc-accent)/.5)}.aria-selected\:text-rnc-accent-foreground[aria-selected=true]{color:hsl(var(--rnc-accent-foreground))}.aria-selected\:text-rnc-muted-foreground[aria-selected=true]{color:hsl(var(--rnc-muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[selected\=true\]\:bg-rnc-accent[data-selected=true]{background-color:hsl(var(--rnc-accent))}.data-\[state\=active\]\:bg-rnc-background[data-state=active]{background-color:hsl(var(--rnc-background))}.data-\[state\=open\]\:bg-rnc-accent[data-state=open]{background-color:hsl(var(--rnc-accent))}.data-\[selected\=true\]\:text-rnc-accent-foreground[data-selected=true]{color:hsl(var(--rnc-accent-foreground))}.data-\[state\=active\]\:text-rnc-foreground[data-state=active]{color:hsl(var(--rnc-foreground))}.data-\[state\=open\]\:text-rnc-accent-foreground[data-state=open]{color:hsl(var(--rnc-accent-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:fade-in-90[data-state=open]{--tw-enter-opacity:0.9}.data-\[side\=bottom\]\:slide-in-from-top-1[data-side=bottom]{--tw-enter-translate-y:-0.25rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-1[data-side=left]{--tw-enter-translate-x:0.25rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-1[data-side=right]{--tw-enter-translate-x:-0.25rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-1[data-side=top]{--tw-enter-translate-y:0.25rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=open\]\:slide-in-from-bottom-10[data-state=open]{--tw-enter-translate-y:2.5rem}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:bg-emerald-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.dark\:bg-purple-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:max-w-lg{max-width:32rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:rounded-lg{border-radius:var(--rnc-radius)}.sm\:zoom-in-90{--tw-enter-scale:.9}.data-\[state\=open\]\:sm\:slide-in-from-bottom-0[data-state=open]{--tw-enter-translate-y:0px}}@media (min-width:768px){.md\:w-16{width:4rem}.md\:min-w-\[400px\]{min-width:400px}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (min-width:1024px){.lg\:pl-\[46px\]{padding-left:46px}}@media print{.print\:ml-\[var\(--rnc-print-left-margin\)\]{margin-left:var(--rnc-print-left-margin)}.print\:mt-\[var\(--rnc-print-top-margin\)\]{margin-top:var(--rnc-print-top-margin)}.print\:block{display:block}.print\:hidden{display:none}.print\:h-full{height:100%}.print\:w-full{width:100%}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\:has\(\[aria-selected\]\)\]\:bg-rnc-accent:has([aria-selected]){background-color:hsl(var(--rnc-accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-bottom-left-radius:calc(var(--rnc-radius) - 2px);border-top-left-radius:calc(var(--rnc-radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-bottom-right-radius:calc(var(--rnc-radius) - 2px);border-top-right-radius:calc(var(--rnc-radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-rnc-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--rnc-accent)/.5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-bottom-right-radius:calc(var(--rnc-radius) - 2px);border-top-right-radius:calc(var(--rnc-radius) - 2px)}.\[\&_\*\]\:box-border *{box-sizing:border-box}.\[\&_\.react-resizable-handle\]\:bg-\[\#1a73e8\] .react-resizable-handle{--tw-bg-opacity:1;background-color:rgb(26 115 232/var(--tw-bg-opacity,1))}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-rnc-muted-foreground [cmdk-group-heading]{color:hsl(var(--rnc-muted-foreground))}.\[\&_\[data-run-color\]\]\:\!text-current [data-run-color]{color:currentColor!important}.\[\&_div\]\:outline-none div{outline:2px solid transparent;outline-offset:2px}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{height:1rem;width:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rowsncolumns/spreadsheet",
3
- "version": "10.3.0",
3
+ "version": "10.4.0",
4
4
  "author": "Vinay M",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "main": "./dist/cjs/index.js",
@@ -19,6 +19,8 @@
19
19
  "build:watch": "tsc -p ./tsconfig.esm.json --watch",
20
20
  "lint": "eslint . --ext .ts,.tsx",
21
21
  "types": "tsc -p . --noEmit",
22
+ "types:specs": "node ../../scripts/typecheck-specs.mjs",
23
+ "types:specs:update": "node ../../scripts/typecheck-specs.mjs --update",
22
24
  "list": "tsc --listFiles",
23
25
  "test": "vitest --run"
24
26
  },
@@ -40,13 +42,13 @@
40
42
  "@dnd-kit/sortable": "^10.0.0",
41
43
  "@dnd-kit/utilities": "^3.2.2",
42
44
  "@rowsncolumns/calculator": ">=7.3.0",
43
- "@rowsncolumns/common-types": ">=5.2.33",
44
- "@rowsncolumns/fast-formula-parser": ">=6.2.39",
45
- "@rowsncolumns/functions": ">=15.0.0",
45
+ "@rowsncolumns/common-types": ">=5.2.34",
46
+ "@rowsncolumns/fast-formula-parser": ">=6.2.40",
47
+ "@rowsncolumns/functions": ">=15.0.1",
46
48
  "@rowsncolumns/grid": ">=13.2.32",
47
49
  "@rowsncolumns/icons": ">=7.2.32",
48
- "@rowsncolumns/ui": ">=16.0.0",
49
- "@rowsncolumns/utils": ">=9.3.0",
50
+ "@rowsncolumns/ui": ">=16.0.1",
51
+ "@rowsncolumns/utils": ">=9.4.0",
50
52
  "@rowsncolumns/version-comparison": ">=9.0.0",
51
53
  "@tanstack/react-virtual": "3.13.9",
52
54
  "jotai": "^2.12.4",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=helpers.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.spec.d.ts","sourceRoot":"","sources":["../../../../components/cell-editor/helpers.spec.ts"],"names":[],"mappings":""}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var helpers_1 = require("./helpers");
4
- describe("shouldShowCalendarPopup", function () {
5
- it("does not show a calendar for a time-only DATE_TIME format", function () {
6
- expect((0, helpers_1.shouldShowCalendarPopup)({
7
- type: "DATE_TIME",
8
- pattern: "[$-en-us]h:mm AM/PM;@",
9
- })).toBe(false);
10
- });
11
- it("shows a calendar for DATE and date-time formats", function () {
12
- expect((0, helpers_1.shouldShowCalendarPopup)({ type: "DATE", pattern: "m/d/yyyy" })).toBe(true);
13
- expect((0, helpers_1.shouldShowCalendarPopup)({
14
- type: "DATE_TIME",
15
- pattern: "m/d/yyyy h:mm AM/PM",
16
- })).toBe(true);
17
- });
18
- });
19
- describe("isFillSelectionCommit", function () {
20
- it("is true only for Ctrl+Enter (Excel: enter into the whole selection)", function () {
21
- expect((0, helpers_1.isFillSelectionCommit)({ key: "Enter", ctrlKey: true })).toBe(true);
22
- });
23
- it("is false for plain Enter, Shift+Enter, Tab and Ctrl+Tab", function () {
24
- expect((0, helpers_1.isFillSelectionCommit)({ key: "Enter" })).toBe(false);
25
- expect((0, helpers_1.isFillSelectionCommit)({ key: "Enter", ctrlKey: false })).toBe(false);
26
- expect((0, helpers_1.isFillSelectionCommit)({ key: "Tab", ctrlKey: true })).toBe(false);
27
- expect((0, helpers_1.isFillSelectionCommit)(undefined)).toBe(false);
28
- });
29
- it("ignores Cmd (macOS Cmd+Enter is the in-cell line break and never submits)", function () {
30
- expect((0, helpers_1.isFillSelectionCommit)({ key: "Enter", ctrlKey: false, metaKey: true })).toBe(false);
31
- });
32
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=helpers.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.spec.d.ts","sourceRoot":"","sources":["../../../../components/cell-editor/helpers.spec.ts"],"names":[],"mappings":""}
@@ -1,30 +0,0 @@
1
- import { isFillSelectionCommit, shouldShowCalendarPopup } from "./helpers";
2
- describe("shouldShowCalendarPopup", () => {
3
- it("does not show a calendar for a time-only DATE_TIME format", () => {
4
- expect(shouldShowCalendarPopup({
5
- type: "DATE_TIME",
6
- pattern: "[$-en-us]h:mm AM/PM;@",
7
- })).toBe(false);
8
- });
9
- it("shows a calendar for DATE and date-time formats", () => {
10
- expect(shouldShowCalendarPopup({ type: "DATE", pattern: "m/d/yyyy" })).toBe(true);
11
- expect(shouldShowCalendarPopup({
12
- type: "DATE_TIME",
13
- pattern: "m/d/yyyy h:mm AM/PM",
14
- })).toBe(true);
15
- });
16
- });
17
- describe("isFillSelectionCommit", () => {
18
- it("is true only for Ctrl+Enter (Excel: enter into the whole selection)", () => {
19
- expect(isFillSelectionCommit({ key: "Enter", ctrlKey: true })).toBe(true);
20
- });
21
- it("is false for plain Enter, Shift+Enter, Tab and Ctrl+Tab", () => {
22
- expect(isFillSelectionCommit({ key: "Enter" })).toBe(false);
23
- expect(isFillSelectionCommit({ key: "Enter", ctrlKey: false })).toBe(false);
24
- expect(isFillSelectionCommit({ key: "Tab", ctrlKey: true })).toBe(false);
25
- expect(isFillSelectionCommit(undefined)).toBe(false);
26
- });
27
- it("ignores Cmd (macOS Cmd+Enter is the in-cell line break and never submits)", () => {
28
- expect(isFillSelectionCommit({ key: "Enter", ctrlKey: false, metaKey: true })).toBe(false);
29
- });
30
- });