@svgrid/enterprise 2.7.0 → 3.0.1

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 (238) hide show
  1. package/README.md +95 -95
  2. package/dist/ExpressionEditorHarness.svelte.d.ts +2 -2
  3. package/dist/SvAdvancedFilter.svelte.d.ts +2 -2
  4. package/dist/SvAlertRuleEditor.svelte.d.ts +2 -2
  5. package/dist/SvAlertsManager.svelte.d.ts +3 -3
  6. package/dist/SvAlertsPanel.svelte.d.ts +1 -1
  7. package/dist/SvAuthGate.svelte +115 -115
  8. package/dist/SvAuthGate.svelte.d.ts +1 -1
  9. package/dist/SvBoard.svelte.d.ts +1 -1
  10. package/dist/SvExportMenu.svelte +553 -553
  11. package/dist/SvExportMenu.svelte.d.ts +2 -2
  12. package/dist/SvExpressionEditor.svelte.d.ts +2 -2
  13. package/dist/SvFileInput.svelte +113 -113
  14. package/dist/SvGridAlerts.svelte.d.ts +2 -2
  15. package/dist/SvGridBoard.svelte +2358 -2358
  16. package/dist/SvGridBulkEditDrawer.svelte.d.ts +1 -1
  17. package/dist/SvGridEditPanel.svelte +1157 -1157
  18. package/dist/SvGridEditPanel.svelte.d.ts +3 -3
  19. package/dist/SvGridMasterDetail.svelte +116 -116
  20. package/dist/SvGridMasterDetail.svelte.d.ts +1 -1
  21. package/dist/SvGridScheduler.svelte +5358 -5358
  22. package/dist/SvImportDialog.svelte +1020 -1020
  23. package/dist/SvImportDialog.svelte.d.ts +2 -2
  24. package/dist/SvLookupInput.svelte +180 -180
  25. package/dist/SvLookupInput.svelte.d.ts +1 -1
  26. package/dist/SvPivotDesigner.svelte +1990 -1990
  27. package/dist/SvPivotDesigner.svelte.d.ts +2 -2
  28. package/dist/SvRecordDetail.svelte.d.ts +1 -1
  29. package/dist/SvSchedule.svelte.d.ts +1 -1
  30. package/dist/SvSchemaChart.svelte +234 -234
  31. package/dist/SvSchemaChart.svelte.d.ts +2 -2
  32. package/dist/SvSchemaDashboard.svelte +130 -130
  33. package/dist/SvSchemaDashboard.svelte.d.ts +3 -3
  34. package/dist/advanced-filter/expr-columns-from-grid.d.ts +1 -1
  35. package/dist/advanced-filter-enable.js +3 -3
  36. package/dist/alerts/alert-engine-attach.d.ts +2 -2
  37. package/dist/alerts/alert-engine-attach.js +3 -3
  38. package/dist/alerts/alert-engine.d.ts +1 -1
  39. package/dist/alerts/alert-engine.js +2 -2
  40. package/dist/alerts/alert-formats.d.ts +1 -1
  41. package/dist/alerts/alert-formats.js +1 -1
  42. package/dist/alerts/alert-observer.d.ts +3 -3
  43. package/dist/alerts/alert-observer.js +1 -1
  44. package/dist/alerts/alert-storage.d.ts +1 -1
  45. package/dist/alerts/alert-store.svelte.d.ts +1 -1
  46. package/dist/alerts/alert-types.d.ts +2 -2
  47. package/dist/alerts.js +2 -2
  48. package/dist/board.js +2 -2
  49. package/dist/cdn/svgrid-enterprise.svelte-external.js +1162 -1145
  50. package/dist/designer/assets/GridMenus-B1JtIN21.js +8 -0
  51. package/dist/designer/assets/SvDateRangeInput-C0iCCZ8o.css +1 -0
  52. package/dist/designer/assets/{SvDateRangeInput-CVn-yqrQ.js → SvDateRangeInput-CjO7nn_x.js} +1 -1
  53. package/dist/designer/assets/SvDateTimePicker-ByBD_ov6.js +1 -0
  54. package/dist/designer/assets/SvDateTimePicker-DPv09DIT.css +1 -0
  55. package/dist/designer/assets/SvField-YDLipR6O.css +1 -0
  56. package/dist/designer/assets/{SvField-BsqiA5me.js → SvField-cj1PFNgZ.js} +1 -1
  57. package/dist/designer/assets/{preload-helper-CG0n22O7.js → SvGrid.helpers-BgT-gnCo.js} +1 -1
  58. package/dist/designer/assets/SvGridCellEditor-0W1L2hJ1.js +2 -0
  59. package/dist/designer/assets/SvGridChart-DBOR4xcz.js +2 -0
  60. package/dist/designer/assets/SvGridChart-fkMWeh1J.css +1 -0
  61. package/dist/designer/assets/SvGridChartPanel-symrhNnR.js +11 -0
  62. package/dist/designer/assets/SvGridChartView-BmRxq6mU.js +1 -0
  63. package/dist/designer/assets/SvGridChartView-DUc-1RUf.css +1 -0
  64. package/dist/designer/assets/SvGridDropdown-Bb3HH2Aj.js +1 -0
  65. package/dist/designer/assets/SvGridDropdown-CcidB3rm.css +1 -0
  66. package/dist/designer/assets/SvListBox-1oUF6Iav.js +110 -0
  67. package/dist/designer/assets/SvListBox-BXfyqy4a.css +1 -0
  68. package/dist/designer/assets/cell-formatting-wr5wm7US.js +1 -0
  69. package/dist/designer/assets/chart-DXFganU8.js +1 -0
  70. package/dist/designer/assets/date-format-DGagAqRc.css +1 -0
  71. package/dist/designer/assets/{date-format-4DJvNtG2.js → date-format-onlYDsrY.js} +1 -1
  72. package/dist/designer/assets/export-format-D-eP4b2l.js +6 -0
  73. package/dist/designer/assets/{index-BvaLmQSd.js → index-C_a9Cj8Y.js} +2984 -141
  74. package/dist/designer/assets/index-k2stW6L8.css +1 -0
  75. package/dist/designer/assets/preload-helper-HclGiUj8.js +1 -0
  76. package/dist/designer/assets/{row-drag-touch-IuJPEt0z.js → row-drag-touch-BdknxBNL.js} +1 -1
  77. package/dist/designer/assets/src-D9p27OGC.js +58 -0
  78. package/dist/designer/index.html +22 -22
  79. package/dist/export-conditional.d.ts +1 -1
  80. package/dist/export-print.js +19 -19
  81. package/dist/export-xls.d.ts +2 -2
  82. package/dist/export.d.ts +2 -2
  83. package/dist/export.js +7 -7
  84. package/dist/expressions/builder-tree.d.ts +2 -2
  85. package/dist/expressions/builder-tree.js +1 -1
  86. package/dist/expressions/compile.d.ts +1 -1
  87. package/dist/import.js +1 -1
  88. package/dist/index.d.ts +53 -53
  89. package/dist/index.js +50 -50
  90. package/dist/install.d.ts +4 -4
  91. package/dist/install.js +11 -11
  92. package/dist/license.d.ts +3 -2
  93. package/dist/license.js +9 -4
  94. package/dist/node/studio.js +124 -115
  95. package/dist/pivot-chart.d.ts +1 -1
  96. package/dist/pivot-designer.d.ts +1 -1
  97. package/dist/pivot-enable.js +3 -3
  98. package/dist/print.d.ts +1 -1
  99. package/dist/print.js +4 -4
  100. package/dist/scheduler-config.d.ts +5 -5
  101. package/dist/scheduler-freebusy.d.ts +1 -1
  102. package/dist/scheduler-freebusy.js +1 -1
  103. package/dist/scheduler.js +2 -2
  104. package/dist/schema-designer.d.ts +1 -1
  105. package/dist/schema-designer.js +2 -2
  106. package/dist/selection-bar.js +2 -2
  107. package/dist/sources/aggregate.d.ts +1 -1
  108. package/dist/sources/auth-supabase.js +1 -1
  109. package/dist/sources/dashboard.d.ts +2 -2
  110. package/dist/sources/dashboard.js +1 -1
  111. package/dist/sources/index.d.ts +13 -13
  112. package/dist/sources/index.js +13 -13
  113. package/dist/sources/realtime-supabase.js +1 -1
  114. package/dist/sources/relation-lookup.d.ts +1 -1
  115. package/dist/sources/relation-lookup.js +1 -1
  116. package/dist/sources/rest-adapters.d.ts +1 -1
  117. package/dist/sources/rest-adapters.js +1 -1
  118. package/dist/sources/rest.d.ts +2 -2
  119. package/dist/sources/rest.js +3 -3
  120. package/dist/sources/supabase.d.ts +2 -2
  121. package/dist/sources/supabase.js +3 -3
  122. package/dist/sources/with-entity-rules.d.ts +1 -1
  123. package/dist/sources/with-entity-rules.js +1 -1
  124. package/dist/sources/with-relation-labels.d.ts +1 -1
  125. package/dist/studio/emit-project.js +2161 -2127
  126. package/dist/studio/emit-schema.js +369 -369
  127. package/dist/studio/index.d.ts +1 -1
  128. package/dist/studio/index.js +1 -1
  129. package/dist/studio/introspect-db.js +45 -45
  130. package/dist/studio/project.d.ts +10 -0
  131. package/dist/studio/samples/crm.js +6 -6
  132. package/dist/studio/samples/fleet.js +7 -7
  133. package/dist/studio/samples/insurance.js +9 -9
  134. package/dist/studio/samples/inventory.js +12 -12
  135. package/dist/studio/samples/projects.js +5 -5
  136. package/dist/studio/samples/support.js +8 -8
  137. package/dist/studio/scaffold-app.js +104 -104
  138. package/dist/studio/scaffold.js +151 -151
  139. package/dist/studio/ui-components.d.ts +7 -0
  140. package/dist/studio/ui-components.js +35 -0
  141. package/dist/sveltekit/in-memory.d.ts +3 -3
  142. package/dist/sveltekit/in-memory.js +4 -4
  143. package/dist/sveltekit/index.d.ts +6 -6
  144. package/dist/sveltekit/index.js +5 -5
  145. package/dist/sveltekit/query-plan.d.ts +1 -1
  146. package/dist/sveltekit/sql-source.d.ts +4 -4
  147. package/dist/sveltekit/sql-source.js +4 -4
  148. package/dist/sveltekit/sql.d.ts +1 -1
  149. package/dist/sveltekit/transport.d.ts +2 -2
  150. package/dist/sveltekit/transport.js +1 -1
  151. package/dist/upgrade-prompt.js +25 -25
  152. package/dist/version.d.ts +1 -1
  153. package/dist/version.js +1 -1
  154. package/package.json +6 -3
  155. package/dist/designer/assets/GridMenus-Cgilexpk.js +0 -8
  156. package/dist/designer/assets/SvDateRangeInput-BV5OXYQ2.css +0 -1
  157. package/dist/designer/assets/SvDateTimePicker-BdioTrJQ.js +0 -1
  158. package/dist/designer/assets/SvDateTimePicker-CY8TK4BT.css +0 -1
  159. package/dist/designer/assets/SvField-BF-9TJSd.css +0 -1
  160. package/dist/designer/assets/SvGridCellEditor-dLY7_kk9.js +0 -2
  161. package/dist/designer/assets/SvGridChart-BEDNTdc5.js +0 -2
  162. package/dist/designer/assets/SvGridChart-Vu4Nvjiv.css +0 -1
  163. package/dist/designer/assets/SvGridChartPanel-x3lzSxuf.js +0 -10
  164. package/dist/designer/assets/SvGridChartView-CAKhPELi.js +0 -1
  165. package/dist/designer/assets/SvGridChartView-DX9HfkBR.css +0 -1
  166. package/dist/designer/assets/SvGridDropdown-CAYG7Y-O.js +0 -1
  167. package/dist/designer/assets/SvGridDropdown-Crwb2P3Q.css +0 -1
  168. package/dist/designer/assets/SvListBox-CVYQcLX9.js +0 -1
  169. package/dist/designer/assets/SvListBox-DgN8kvjt.css +0 -1
  170. package/dist/designer/assets/chart-DHEgt4lN.js +0 -1
  171. package/dist/designer/assets/date-format-Dzy4mTGh.css +0 -1
  172. package/dist/designer/assets/export-format-DwjuTfrQ.js +0 -6
  173. package/dist/designer/assets/index-Cp7fDJ3b.css +0 -1
  174. package/dist/designer/assets/js-scroller.svelte-Bhxqb3-c.js +0 -110
  175. package/dist/designer/assets/src-7qOYsBug.js +0 -2896
  176. package/dist/designer/assets/src-B7DNcoQK.css +0 -1
  177. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/_svelte_metadata.json +0 -1
  178. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/_metadata.json +0 -178
  179. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/attachments-BOv1rBKp.js +0 -3875
  180. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/attachments-BOv1rBKp.js.map +0 -1
  181. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/constants-B9vgIdCd.js +0 -21
  182. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/constants-B9vgIdCd.js.map +0 -1
  183. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/dev-T1qbW_qD.js +0 -1938
  184. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/dev-T1qbW_qD.js.map +0 -1
  185. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/events-Bo11SfVK.js +0 -205
  186. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/events-Bo11SfVK.js.map +0 -1
  187. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/flags-X7D4vfrZ.js +0 -18
  188. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/flags-X7D4vfrZ.js.map +0 -1
  189. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/hydration-oyUje5i1.js +0 -264
  190. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/hydration-oyUje5i1.js.map +0 -1
  191. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/legacy-client-DeSQgSFm.js +0 -697
  192. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/legacy-client-DeSQgSFm.js.map +0 -1
  193. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/package.json +0 -3
  194. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte.js +0 -134
  195. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte.js.map +0 -1
  196. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_animate.js +0 -55
  197. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_animate.js.map +0 -1
  198. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_attachments.js +0 -2
  199. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_compiler.js +0 -46843
  200. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_compiler.js.map +0 -1
  201. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_easing.js +0 -237
  202. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_easing.js.map +0 -1
  203. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_events.js +0 -2
  204. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal.js +0 -4
  205. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal.js.map +0 -1
  206. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_client.js +0 -7
  207. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_disclose-version.js +0 -4
  208. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_disclose-version.js.map +0 -1
  209. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_async.js +0 -5
  210. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_async.js.map +0 -1
  211. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_legacy.js +0 -5
  212. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_legacy.js.map +0 -1
  213. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_tracing.js +0 -5
  214. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_tracing.js.map +0 -1
  215. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_server.js +0 -6
  216. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_legacy.js +0 -83
  217. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_legacy.js.map +0 -1
  218. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_motion.js +0 -559
  219. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_motion.js.map +0 -1
  220. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity.js +0 -24
  221. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity.js.map +0 -1
  222. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity_window.js +0 -122
  223. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity_window.js.map +0 -1
  224. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_server.js +0 -2
  225. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_store.js +0 -89
  226. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_store.js.map +0 -1
  227. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_transition.js +0 -241
  228. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_transition.js.map +0 -1
  229. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-BbWyXNk1.js +0 -4938
  230. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-BbWyXNk1.js.map +0 -1
  231. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-DI_fC7vt.js +0 -495
  232. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-DI_fC7vt.js.map +0 -1
  233. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/validate-Dyr3lQv9.js +0 -190
  234. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/validate-Dyr3lQv9.js.map +0 -1
  235. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/version-_9FHH-LF.js +0 -8
  236. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/version-_9FHH-LF.js.map +0 -1
  237. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/warnings-CUbSPnyP.js +0 -138
  238. package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/warnings-CUbSPnyP.js.map +0 -1
@@ -13,8 +13,8 @@
13
13
  */
14
14
  import type { RowData, TableFeatures } from '@svgrid/grid';
15
15
  import type { ConditionalFormat } from '@svgrid/grid/format';
16
- import type { EnterpriseGridApi } from './install';
17
- import type { ExportFormat, ExportRowSource } from './export';
16
+ import type { EnterpriseGridApi } from './install.js';
17
+ import type { ExportFormat, ExportRowSource } from './export.js';
18
18
  declare function $$render<TFeatures extends TableFeatures, TData extends RowData>(): {
19
19
  props: {
20
20
  api: EnterpriseGridApi<TFeatures, TData> | null | undefined;
@@ -1,5 +1,5 @@
1
- import { type ExprColumn } from './expressions/expression-columns';
2
- import type { PredicateExpr } from './expressions/expression-types';
1
+ import { type ExprColumn } from './expressions/expression-columns.js';
2
+ import type { PredicateExpr } from './expressions/expression-types.js';
3
3
  type Props = {
4
4
  columns: ReadonlyArray<ExprColumn>;
5
5
  value?: PredicateExpr;
@@ -1,113 +1,113 @@
1
- <script lang="ts">
2
- /**
3
- * SvFileInput - a file / image upload control for the edit form. Picks a file,
4
- * shows an image preview (when `image`), and stores a URL. With an `upload`
5
- * handler it pushes to your storage and stores the returned URL; without one it
6
- * falls back to an inline data URL (great for demos / small assets). Used by
7
- * SvGridEditPanel for fields with an `upload` config.
8
- */
9
- type Props = {
10
- value: unknown
11
- onChange: (url: string) => void
12
- id?: string
13
- accept?: string
14
- image?: boolean
15
- disabled?: boolean
16
- /** Push the file to storage and resolve with the URL to store. */
17
- upload?: (file: File) => Promise<string>
18
- }
19
-
20
- let { value, onChange, id, accept, image = false, disabled = false, upload }: Props = $props()
21
-
22
- let loading = $state(false)
23
- let error = $state<string | null>(null)
24
- let name = $state('')
25
- let inputEl: HTMLInputElement | undefined = $state()
26
-
27
- const url = $derived(typeof value === 'string' ? value : '')
28
-
29
- function readAsDataUrl(file: File): Promise<string> {
30
- return new Promise((resolve, reject) => {
31
- const reader = new FileReader()
32
- reader.onload = () => resolve(String(reader.result))
33
- reader.onerror = () => reject(new Error('Could not read the file'))
34
- reader.readAsDataURL(file)
35
- })
36
- }
37
-
38
- async function onPick(e: Event) {
39
- const file = (e.currentTarget as HTMLInputElement).files?.[0]
40
- if (!file) return
41
- name = file.name
42
- error = null
43
- loading = true
44
- try {
45
- onChange(upload ? await upload(file) : await readAsDataUrl(file))
46
- } catch (err) {
47
- error = err instanceof Error ? err.message : 'Upload failed'
48
- } finally {
49
- loading = false
50
- }
51
- }
52
-
53
- function clear() {
54
- onChange('')
55
- name = ''
56
- if (inputEl) inputEl.value = ''
57
- }
58
- </script>
59
-
60
- <div class="sv-file">
61
- {#if image && url}
62
- <img class="sv-file__preview" src={url} alt="preview" />
63
- {/if}
64
-
65
- <div class="sv-file__row">
66
- <button
67
- type="button"
68
- class="sv-file__btn"
69
- {disabled}
70
- onclick={() => inputEl?.click()}
71
- >{loading ? 'Uploading…' : url ? 'Replace' : 'Choose file'}</button>
72
-
73
- {#if url && !image}
74
- <span class="sv-file__name" title={name || url}>{name || 'Uploaded file'}</span>
75
- {/if}
76
- {#if url && !disabled}
77
- <button type="button" class="sv-file__clear" aria-label="Remove" title="Remove" onclick={clear}>&times;</button>
78
- {/if}
79
-
80
- <input
81
- {id}
82
- bind:this={inputEl}
83
- class="sv-file__input"
84
- type="file"
85
- {accept}
86
- {disabled}
87
- onchange={onPick}
88
- />
89
- </div>
90
-
91
- {#if error}<p class="sv-file__err">{error}</p>{/if}
92
- </div>
93
-
94
- <style>
95
- .sv-file { display: flex; flex-direction: column; gap: 8px; }
96
- .sv-file__row { display: flex; align-items: center; gap: 8px; }
97
- .sv-file__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
98
- .sv-file__preview {
99
- width: 64px; height: 64px; object-fit: cover; border-radius: 8px;
100
- border: 1px solid var(--sg-border, #ddd); background: var(--sg-header-bg, #f6f6f6);
101
- }
102
- .sv-file__btn {
103
- padding: 7px 12px; border: 1px solid var(--sg-border, #ccc); border-radius: 6px;
104
- background: var(--sg-bg, #fff); color: var(--sg-fg, inherit); cursor: pointer; font: inherit;
105
- }
106
- .sv-file__btn:disabled { opacity: 0.6; cursor: default; }
107
- .sv-file__name { font-size: 12px; color: var(--sg-muted, #666); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; }
108
- .sv-file__clear {
109
- border: none; background: none; cursor: pointer; font-size: 16px; line-height: 1;
110
- color: var(--sg-muted, #888); padding: 2px 4px;
111
- }
112
- .sv-file__err { margin: 0; font-size: 12px; color: #dc2626; }
113
- </style>
1
+ <script lang="ts">
2
+ /**
3
+ * SvFileInput - a file / image upload control for the edit form. Picks a file,
4
+ * shows an image preview (when `image`), and stores a URL. With an `upload`
5
+ * handler it pushes to your storage and stores the returned URL; without one it
6
+ * falls back to an inline data URL (great for demos / small assets). Used by
7
+ * SvGridEditPanel for fields with an `upload` config.
8
+ */
9
+ type Props = {
10
+ value: unknown
11
+ onChange: (url: string) => void
12
+ id?: string
13
+ accept?: string
14
+ image?: boolean
15
+ disabled?: boolean
16
+ /** Push the file to storage and resolve with the URL to store. */
17
+ upload?: (file: File) => Promise<string>
18
+ }
19
+
20
+ let { value, onChange, id, accept, image = false, disabled = false, upload }: Props = $props()
21
+
22
+ let loading = $state(false)
23
+ let error = $state<string | null>(null)
24
+ let name = $state('')
25
+ let inputEl: HTMLInputElement | undefined = $state()
26
+
27
+ const url = $derived(typeof value === 'string' ? value : '')
28
+
29
+ function readAsDataUrl(file: File): Promise<string> {
30
+ return new Promise((resolve, reject) => {
31
+ const reader = new FileReader()
32
+ reader.onload = () => resolve(String(reader.result))
33
+ reader.onerror = () => reject(new Error('Could not read the file'))
34
+ reader.readAsDataURL(file)
35
+ })
36
+ }
37
+
38
+ async function onPick(e: Event) {
39
+ const file = (e.currentTarget as HTMLInputElement).files?.[0]
40
+ if (!file) return
41
+ name = file.name
42
+ error = null
43
+ loading = true
44
+ try {
45
+ onChange(upload ? await upload(file) : await readAsDataUrl(file))
46
+ } catch (err) {
47
+ error = err instanceof Error ? err.message : 'Upload failed'
48
+ } finally {
49
+ loading = false
50
+ }
51
+ }
52
+
53
+ function clear() {
54
+ onChange('')
55
+ name = ''
56
+ if (inputEl) inputEl.value = ''
57
+ }
58
+ </script>
59
+
60
+ <div class="sv-file">
61
+ {#if image && url}
62
+ <img class="sv-file__preview" src={url} alt="preview" />
63
+ {/if}
64
+
65
+ <div class="sv-file__row">
66
+ <button
67
+ type="button"
68
+ class="sv-file__btn"
69
+ {disabled}
70
+ onclick={() => inputEl?.click()}
71
+ >{loading ? 'Uploading…' : url ? 'Replace' : 'Choose file'}</button>
72
+
73
+ {#if url && !image}
74
+ <span class="sv-file__name" title={name || url}>{name || 'Uploaded file'}</span>
75
+ {/if}
76
+ {#if url && !disabled}
77
+ <button type="button" class="sv-file__clear" aria-label="Remove" title="Remove" onclick={clear}>&times;</button>
78
+ {/if}
79
+
80
+ <input
81
+ {id}
82
+ bind:this={inputEl}
83
+ class="sv-file__input"
84
+ type="file"
85
+ {accept}
86
+ {disabled}
87
+ onchange={onPick}
88
+ />
89
+ </div>
90
+
91
+ {#if error}<p class="sv-file__err">{error}</p>{/if}
92
+ </div>
93
+
94
+ <style>
95
+ .sv-file { display: flex; flex-direction: column; gap: 8px; }
96
+ .sv-file__row { display: flex; align-items: center; gap: 8px; }
97
+ .sv-file__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
98
+ .sv-file__preview {
99
+ width: 64px; height: 64px; object-fit: cover; border-radius: 8px;
100
+ border: 1px solid var(--sg-border, #ddd); background: var(--sg-header-bg, #f6f6f6);
101
+ }
102
+ .sv-file__btn {
103
+ padding: 7px 12px; border: 1px solid var(--sg-border, #ccc); border-radius: 6px;
104
+ background: var(--sg-bg, #fff); color: var(--sg-fg, inherit); cursor: pointer; font: inherit;
105
+ }
106
+ .sv-file__btn:disabled { opacity: 0.6; cursor: default; }
107
+ .sv-file__name { font-size: 12px; color: var(--sg-muted, #666); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; }
108
+ .sv-file__clear {
109
+ border: none; background: none; cursor: pointer; font-size: 16px; line-height: 1;
110
+ color: var(--sg-muted, #888); padding: 2px 4px;
111
+ }
112
+ .sv-file__err { margin: 0; font-size: 12px; color: #dc2626; }
113
+ </style>
@@ -1,6 +1,6 @@
1
1
  import type { ConditionalFormat } from '@svgrid/grid/format';
2
- import type { ExprColumn } from './expressions/expression-columns';
3
- import type { AlertEvent, AlertRule } from './alerts/alert-types';
2
+ import type { ExprColumn } from './expressions/expression-columns.js';
3
+ import type { AlertEvent, AlertRule } from './alerts/alert-types.js';
4
4
  declare function $$render<TRow extends Record<string, unknown>>(): {
5
5
  props: {
6
6
  /** The same rows bound to the grid. In watch mode, observed for changes. */