@svgrid/grid 2.2.31 → 2.2.33

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 (196) hide show
  1. package/README.md +1 -1
  2. package/dist/DockNodeView.svelte +1 -1
  3. package/dist/GridFooter.svelte +0 -40
  4. package/dist/GridMenus.svelte +0 -77
  5. package/dist/SvAvatar.svelte +1 -1
  6. package/dist/SvCheckBox.svelte +2 -1
  7. package/dist/SvCircularProgress.svelte +1 -1
  8. package/dist/SvDateRangeInput.svelte +1 -1
  9. package/dist/SvGrid.controller.svelte.d.ts +20 -0
  10. package/dist/SvGrid.controller.svelte.js +358 -18
  11. package/dist/SvGrid.css +103 -3
  12. package/dist/SvGrid.svelte +164 -35
  13. package/dist/SvGrid.types.d.ts +81 -0
  14. package/dist/SvGridChart.svelte +2 -10
  15. package/dist/SvGridDropdown.svelte +38 -6
  16. package/dist/SvGridDropdown.svelte.d.ts +4 -0
  17. package/dist/SvGridSelect.svelte +12 -5
  18. package/dist/SvGridSelect.svelte.d.ts +6 -0
  19. package/dist/SvGroupCell.svelte +9 -2
  20. package/dist/SvKbd.svelte +1 -1
  21. package/dist/SvList.svelte +1 -1
  22. package/dist/SvMenubar.svelte +1 -1
  23. package/dist/SvMultiSelect.svelte +12 -4
  24. package/dist/SvMultiSelect.svelte.d.ts +6 -0
  25. package/dist/SvOtpInput.svelte +1 -1
  26. package/dist/SvPasswordInput.svelte +1 -1
  27. package/dist/SvProgress.svelte +1 -1
  28. package/dist/SvRating.svelte +1 -1
  29. package/dist/SvResult.svelte +1 -1
  30. package/dist/SvRichText.svelte +35 -16
  31. package/dist/SvRichText.svelte.d.ts +9 -0
  32. package/dist/SvSwitchButton.svelte +2 -1
  33. package/dist/SvToaster.svelte +1 -1
  34. package/dist/SvTour.svelte +4 -0
  35. package/dist/SvTree.svelte +9 -2
  36. package/dist/SvTree.svelte.d.ts +5 -0
  37. package/dist/SvTreeSelect.svelte +6 -4
  38. package/dist/build-api.js +16 -0
  39. package/dist/cdn/{GridMenus-Ds3OpzZT.js → GridMenus-B7XhhqdN.js} +34 -36
  40. package/dist/cdn/{GridMenus-Da_p7SKS.js → GridMenus-BxmIvCJh.js} +35 -37
  41. package/dist/cdn/{SvDateTimePicker-DB0aIEk8.js → SvDateTimePicker-ClqtVIj3.js} +2 -1
  42. package/dist/cdn/{SvDateTimePicker-B8GopjhC.js → SvDateTimePicker-o94wfSUa.js} +3 -2
  43. package/dist/cdn/{SvGridChart-BcLCYvw9.js → SvGridChart-Cr_90pPD.js} +1 -1
  44. package/dist/cdn/{SvGridChartPanel-DvjwxLvK.js → SvGridChartPanel-ICbxiUvK.js} +4 -4
  45. package/dist/cdn/{SvGridChartView-PwqI4s02.js → SvGridChartView-Bx42PMvf.js} +2 -2
  46. package/dist/cdn/{SvGridDropdown-hpnHvOGt.js → SvGridDropdown-CUOdm7YA.js} +93 -88
  47. package/dist/cdn/{SvGridDropdown-DjALc_4f.js → SvGridDropdown-D0VdjeR8.js} +129 -123
  48. package/dist/cdn/{disclose-version-DoD9AFD_.js → disclose-version-DljhZohK.js} +45 -45
  49. package/dist/cdn/{src-DYDCiC0D.js → src-erjBRYfX.js} +5952 -5615
  50. package/dist/cdn/{src-BLJfdyL0.js → src-ktbQVOk-.js} +4190 -3851
  51. package/dist/cdn/svgrid.js +9 -9
  52. package/dist/cdn/svgrid.svelte-external.js +8 -8
  53. package/dist/cell-render.d.ts +1 -0
  54. package/dist/cell-render.js +115 -1
  55. package/dist/cell-values.js +5 -0
  56. package/dist/chart.d.ts +2 -0
  57. package/dist/chart.js +1 -4
  58. package/dist/core.d.ts +80 -9
  59. package/dist/core.js +89 -0
  60. package/dist/createMenu.svelte.js +0 -1
  61. package/dist/createPopoverSelect.svelte.d.ts +2 -2
  62. package/dist/editing.js +1 -1
  63. package/dist/editor-contract.d.ts +12 -5
  64. package/dist/editor-registry.d.ts +18 -7
  65. package/dist/editor-registry.js +10 -1
  66. package/dist/export-format.js +3 -0
  67. package/dist/group-display.d.ts +39 -0
  68. package/dist/group-display.js +52 -0
  69. package/dist/index.d.ts +2 -2
  70. package/dist/index.js +2 -2
  71. package/dist/keyboard-handlers.js +16 -0
  72. package/dist/recurrence.js +3 -2
  73. package/dist/selection.js +0 -1
  74. package/dist/svgrid-wrapper.types.d.ts +8 -2
  75. package/dist/themes/index.d.ts +10 -0
  76. package/dist/themes/index.js +26 -0
  77. package/package.json +3 -2
  78. package/src/DockNodeView.svelte +1 -1
  79. package/src/GridFooter.svelte +0 -40
  80. package/src/GridMenus.svelte +0 -77
  81. package/src/SvAccordion.test.ts +5 -5
  82. package/src/SvAvatar.svelte +1 -1
  83. package/src/SvButtonGroup.test.ts +6 -6
  84. package/src/SvCalendar.test.ts +1 -1
  85. package/src/SvCheckBox.svelte +2 -1
  86. package/src/SvCircularProgress.svelte +1 -1
  87. package/src/SvDateRangeInput.svelte +1 -1
  88. package/src/SvFileUpload.test.ts +1 -1
  89. package/src/SvGrid.controller.svelte.ts +367 -22
  90. package/src/SvGrid.css +103 -3
  91. package/src/SvGrid.svelte +164 -35
  92. package/src/SvGrid.types.ts +81 -1
  93. package/src/SvGridChart.svelte +2 -10
  94. package/src/SvGridDropdown.svelte +38 -6
  95. package/src/SvGridSelect.svelte +12 -5
  96. package/src/SvGroupCell.svelte +9 -2
  97. package/src/SvKbd.svelte +1 -1
  98. package/src/SvList.svelte +1 -1
  99. package/src/SvMenubar.svelte +1 -1
  100. package/src/SvMultiSelect.svelte +12 -4
  101. package/src/SvOtpInput.svelte +1 -1
  102. package/src/SvPasswordInput.svelte +1 -1
  103. package/src/SvProgress.svelte +1 -1
  104. package/src/SvRating.svelte +1 -1
  105. package/src/SvResult.svelte +1 -1
  106. package/src/SvRichText.svelte +35 -16
  107. package/src/SvSwitchButton.svelte +2 -1
  108. package/src/SvToaster.svelte +1 -1
  109. package/src/SvTour.svelte +4 -0
  110. package/src/SvTree.svelte +9 -2
  111. package/src/SvTreeSelect.svelte +6 -4
  112. package/src/ai.test.ts +1 -1
  113. package/src/build-api.ts +15 -105
  114. package/src/builtin-editors.test.ts +3 -1
  115. package/src/cell-formatting.test.ts +1 -1
  116. package/src/cell-render.test.ts +27 -3
  117. package/src/cell-render.ts +122 -95
  118. package/src/cell-values.ts +4 -0
  119. package/src/chart-export.test.ts +2 -2
  120. package/src/chart.ts +1 -2
  121. package/src/clipboard.test.ts +0 -2
  122. package/src/clipboard.ts +0 -102
  123. package/src/columns.ts +0 -115
  124. package/src/core.ts +157 -8
  125. package/src/createMenu.svelte.ts +0 -1
  126. package/src/editing.test.ts +1 -1
  127. package/src/editing.ts +2 -105
  128. package/src/editor-contract.ts +12 -5
  129. package/src/editor-registry.grid.test.ts +48 -2
  130. package/src/editor-registry.test.ts +3 -1
  131. package/src/editor-registry.ts +23 -7
  132. package/src/export-format.ts +3 -0
  133. package/src/facet-buckets.test.ts +33 -33
  134. package/src/features.ts +0 -90
  135. package/src/group-display.test.ts +91 -1
  136. package/src/group-display.ts +83 -0
  137. package/src/index.ts +9 -0
  138. package/src/keyboard-handlers.coverage.test.ts +1 -1
  139. package/src/keyboard-handlers.ts +17 -120
  140. package/src/list-power.test.ts +2 -2
  141. package/src/menus.test.ts +4 -5
  142. package/src/menus.ts +0 -112
  143. package/src/named-views.coverage.test.ts +3 -3
  144. package/src/new-features.test.ts +3 -1
  145. package/src/recurrence.ts +3 -2
  146. package/src/row-drag.test.ts +1 -1
  147. package/src/row-resize.test.ts +41 -42
  148. package/src/scheduler-model.ts +1 -1
  149. package/src/scroll-sync.test.ts +4 -7
  150. package/src/scroll-sync.ts +0 -122
  151. package/src/selection.ts +0 -109
  152. package/src/server-data-source.coverage.test.ts +1 -1
  153. package/src/server-group-model.test.ts +8 -8
  154. package/src/spreadsheet.test.ts +0 -1
  155. package/src/summaries.ts +0 -112
  156. package/src/svgrid-wrapper.types.ts +11 -9
  157. package/src/svgrid.async-editor-options.test.ts +271 -0
  158. package/src/svgrid.auto-row-height.test.ts +204 -0
  159. package/src/svgrid.behavior.test.ts +0 -1
  160. package/src/svgrid.charting.test.ts +4 -4
  161. package/src/svgrid.column-reorder.test.ts +0 -8
  162. package/src/svgrid.comments-autocomplete.test.ts +8 -2
  163. package/src/svgrid.context-menu.test.ts +25 -9
  164. package/src/svgrid.filter-depth.test.ts +163 -0
  165. package/src/svgrid.filter-menu-listbox.svelte.test.ts +16 -2
  166. package/src/svgrid.filter-menu-scroll.test.ts +10 -2
  167. package/src/svgrid.grand-total.test.ts +188 -0
  168. package/src/svgrid.group-display-mode.test.ts +171 -0
  169. package/src/svgrid.group-footers.test.ts +121 -0
  170. package/src/svgrid.group-pagination.test.ts +153 -0
  171. package/src/svgrid.tree-data.test.ts +186 -0
  172. package/src/svgriddropdown.async-panel.svelte.test.ts +195 -0
  173. package/src/themes/index.ts +42 -0
  174. package/src/tree-edit.test.ts +4 -4
  175. package/src/tree-row-model.test.ts +168 -0
  176. package/src/ui-localization.test.ts +113 -0
  177. package/themes/ag-alpine.css +22 -0
  178. package/themes/antd.css +22 -0
  179. package/themes/atlassian.css +22 -0
  180. package/themes/bootstrap.css +22 -0
  181. package/themes/carbon.css +22 -0
  182. package/themes/catppuccin.css +22 -0
  183. package/themes/dracula.css +22 -0
  184. package/themes/ember.css +22 -0
  185. package/themes/excel.css +22 -0
  186. package/themes/fluent.css +22 -0
  187. package/themes/github.css +22 -0
  188. package/themes/linear.css +22 -0
  189. package/themes/material.css +22 -0
  190. package/themes/nord.css +22 -0
  191. package/themes/notion.css +22 -0
  192. package/themes/salesforce.css +22 -0
  193. package/themes/sap.css +22 -0
  194. package/themes/shadcn.css +22 -0
  195. package/themes/tailwind.css +22 -0
  196. package/themes/vercel.css +22 -0
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Every user-facing string in the kit must be overridable.
3
+ *
4
+ * These components shipped chrome copy - toolbar tooltips, "No matches", the
5
+ * lazy-load placeholder, search-box labels - baked in as literals, so an app in
6
+ * any other language had English fragments it could not reach. Each is now a
7
+ * prop; these tests pin that down so the strings cannot quietly go back to
8
+ * being hard-coded.
9
+ */
10
+ import { describe, expect, it, afterEach } from 'vitest'
11
+ import { mount, unmount, flushSync } from 'svelte'
12
+ import SvRichText from './SvRichText.svelte'
13
+ import SvMultiSelect from './SvMultiSelect.svelte'
14
+ import SvGridSelect from './SvGridSelect.svelte'
15
+ import SvTree from './SvTree.svelte'
16
+
17
+ function mnt(Comp: unknown, props: Record<string, unknown>) {
18
+ const target = document.createElement('div')
19
+ document.body.appendChild(target)
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ const app = mount(Comp as any, { target, props: props as any })
22
+ flushSync()
23
+ return { target, destroy: () => { unmount(app); target.remove() } }
24
+ }
25
+
26
+ let cleanup: (() => void) | null = null
27
+ afterEach(() => {
28
+ cleanup?.()
29
+ cleanup = null
30
+ document.querySelectorAll('.sv-ms__panel, .sv-gs__panel').forEach((n) => n.remove())
31
+ })
32
+
33
+ describe('SvRichText localization', () => {
34
+ it('defaults to English toolbar labels', () => {
35
+ const g = mnt(SvRichText, {})
36
+ cleanup = g.destroy
37
+ const bold = g.target.querySelector('[data-tool="bold"]')!
38
+ expect(bold.getAttribute('title')).toBe('Bold')
39
+ expect(bold.getAttribute('aria-label')).toBe('Bold')
40
+ expect(g.target.querySelector('[role="toolbar"]')!.getAttribute('aria-label')).toBe('Formatting')
41
+ })
42
+
43
+ it('takes per-tool overrides through `messages`', () => {
44
+ const g = mnt(SvRichText, { messages: { bold: 'Fett', italic: 'Kursiv', toolbar: 'Formatierung' } })
45
+ cleanup = g.destroy
46
+ const bold = g.target.querySelector('[data-tool="bold"]')!
47
+ expect(bold.getAttribute('title')).toBe('Fett')
48
+ expect(bold.getAttribute('aria-label')).toBe('Fett')
49
+ expect(g.target.querySelector('[data-tool="italic"]')!.getAttribute('title')).toBe('Kursiv')
50
+ expect(g.target.querySelector('[role="toolbar"]')!.getAttribute('aria-label')).toBe('Formatierung')
51
+ // An un-overridden key keeps its default rather than going blank.
52
+ expect(g.target.querySelector('[data-tool="underline"]')!.getAttribute('title')).toBe('Underline')
53
+ })
54
+
55
+ it('keeps the glyphs fixed - they are not language-dependent', () => {
56
+ const g = mnt(SvRichText, { messages: { bold: 'Fett' } })
57
+ cleanup = g.destroy
58
+ expect(g.target.querySelector('[data-tool="bold"]')!.textContent?.trim()).toBe('B')
59
+ })
60
+ })
61
+
62
+ describe('empty / search text is overridable', () => {
63
+ it('SvMultiSelect emptyText + search chrome', () => {
64
+ const g = mnt(SvMultiSelect, {
65
+ options: [],
66
+ emptyText: 'Keine Treffer',
67
+ searchPlaceholder: 'Suchen…',
68
+ searchLabel: 'Optionen suchen',
69
+ })
70
+ cleanup = g.destroy
71
+ g.target.querySelector<HTMLButtonElement>('.sv-ms__trigger')?.click()
72
+ flushSync()
73
+ const panel = document.querySelector('.sv-ms__panel')
74
+ expect(panel?.textContent).toContain('Keine Treffer')
75
+ const search = panel?.querySelector('input')
76
+ expect(search?.getAttribute('placeholder')).toBe('Suchen…')
77
+ expect(search?.getAttribute('aria-label')).toBe('Optionen suchen')
78
+ })
79
+
80
+ it('SvGridSelect emptyText + search chrome', () => {
81
+ const g = mnt(SvGridSelect, {
82
+ columns: [{ field: 'name', header: 'Name' }],
83
+ options: [],
84
+ emptyText: 'Sin resultados',
85
+ searchPlaceholder: 'Buscar…',
86
+ searchLabel: 'Buscar opciones',
87
+ })
88
+ cleanup = g.destroy
89
+ g.target.querySelector<HTMLButtonElement>('.sv-gs__trigger')?.click()
90
+ flushSync()
91
+ const panel = document.querySelector('.sv-gs__panel')
92
+ expect(panel?.textContent).toContain('Sin resultados')
93
+ const search = panel?.querySelector('input')
94
+ expect(search?.getAttribute('placeholder')).toBe('Buscar…')
95
+ expect(search?.getAttribute('aria-label')).toBe('Buscar opciones')
96
+ })
97
+
98
+ it('SvTree lazy-load placeholder', async () => {
99
+ let resolveKids: (v: Array<{ id: string; label: string }>) => void = () => {}
100
+ const g = mnt(SvTree, {
101
+ nodes: [{ id: 'root', label: 'Root', lazy: true }],
102
+ loadChildren: () => new Promise<Array<{ id: string; label: string }>>((r) => { resolveKids = r }),
103
+ loadingText: 'Chargement…',
104
+ })
105
+ cleanup = g.destroy
106
+ g.target.querySelector<HTMLElement>('.sv-tree__twist')?.click()
107
+ flushSync()
108
+ await Promise.resolve()
109
+ flushSync()
110
+ expect(g.target.textContent).toContain('Chargement…')
111
+ resolveKids([{ id: 'kid', label: 'Child' }])
112
+ })
113
+ })
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 3px;
18
18
  --sg-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #2196f3;
24
+ --sg-muted-bg: rgba(33, 150, 243, 0.1);
25
+ --sg-skeleton-bg: rgba(33, 150, 243, 0.1);
26
+ --sg-radius-lg: 6px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #babfc7;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #f8f8f8;
20
31
  --sg-scrollbar-border: #babfc7;
21
32
  --sg-scrollbar-thumb: rgba(24, 29, 31, 0.5);
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #ffffff;
46
57
  --sg-radius: 3px;
47
58
  --sg-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #2196f3;
64
+ --sg-muted-bg: rgba(33, 150, 243, 0.1);
65
+ --sg-skeleton-bg: rgba(33, 150, 243, 0.1);
66
+ --sg-radius-lg: 6px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #68686e;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #222628;
49
71
  --sg-scrollbar-border: #68686e;
50
72
  --sg-scrollbar-thumb: rgba(255, 255, 255, 0.5);
package/themes/antd.css CHANGED
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 6px;
18
18
  --sg-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #1677ff;
24
+ --sg-muted-bg: #f5f5f5;
25
+ --sg-skeleton-bg: #f5f5f5;
26
+ --sg-radius-lg: 12px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #d9d9d9;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #fafafa;
20
31
  --sg-scrollbar-border: #d9d9d9;
21
32
  --sg-scrollbar-thumb: rgba(0, 0, 0, 0.65);
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #ffffff;
46
57
  --sg-radius: 6px;
47
58
  --sg-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #177ddc;
64
+ --sg-muted-bg: #262626;
65
+ --sg-skeleton-bg: #262626;
66
+ --sg-radius-lg: 12px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #424242;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #1f1f1f;
49
71
  --sg-scrollbar-border: #424242;
50
72
  --sg-scrollbar-thumb: rgba(255, 255, 255, 0.65);
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 3px;
18
18
  --sg-font: "Charlie Display", "Atlassian Sans", -apple-system, "Segoe UI", sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #0c66e4;
24
+ --sg-muted-bg: #f1f2f4;
25
+ --sg-skeleton-bg: #f1f2f4;
26
+ --sg-radius-lg: 6px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #dcdfe4;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #fafbfc;
20
31
  --sg-scrollbar-border: #dcdfe4;
21
32
  --sg-scrollbar-thumb: #44546f;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #ffffff;
46
57
  --sg-radius: 3px;
47
58
  --sg-font: "Charlie Display", "Atlassian Sans", -apple-system, "Segoe UI", sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #579dff;
64
+ --sg-muted-bg: #2c333a;
65
+ --sg-skeleton-bg: #2c333a;
66
+ --sg-radius-lg: 6px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #38414a;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #22272b;
49
71
  --sg-scrollbar-border: #38414a;
50
72
  --sg-scrollbar-thumb: #8590a2;
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 6px;
18
18
  --sg-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #0d6efd;
24
+ --sg-muted-bg: #f2f2f2;
25
+ --sg-skeleton-bg: #f2f2f2;
26
+ --sg-radius-lg: 12px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #dee2e6;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #f8f9fa;
20
31
  --sg-scrollbar-border: #dee2e6;
21
32
  --sg-scrollbar-thumb: #6c757d;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #ffffff;
46
57
  --sg-radius: 6px;
47
58
  --sg-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #0d6efd;
64
+ --sg-muted-bg: #2c3034;
65
+ --sg-skeleton-bg: #2c3034;
66
+ --sg-radius-lg: 12px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #495057;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #2b3035;
49
71
  --sg-scrollbar-border: #495057;
50
72
  --sg-scrollbar-thumb: #adb5bd;
package/themes/carbon.css CHANGED
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 0px;
18
18
  --sg-font: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #0f62fe;
24
+ --sg-muted-bg: #e8e8e8;
25
+ --sg-skeleton-bg: #e8e8e8;
26
+ --sg-radius-lg: 0px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #e0e0e0;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #e0e0e0;
20
31
  --sg-scrollbar-border: #e0e0e0;
21
32
  --sg-scrollbar-thumb: #525252;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #18181b;
46
57
  --sg-radius: 0px;
47
58
  --sg-font: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #78a9ff;
64
+ --sg-muted-bg: #333333;
65
+ --sg-skeleton-bg: #333333;
66
+ --sg-radius-lg: 0px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #393939;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #393939;
49
71
  --sg-scrollbar-border: #393939;
50
72
  --sg-scrollbar-thumb: #c6c6c6;
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 8px;
18
18
  --sg-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #8839ef;
24
+ --sg-muted-bg: #dce0e8;
25
+ --sg-skeleton-bg: #dce0e8;
26
+ --sg-radius-lg: 16px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #ccd0da;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #e6e9ef;
20
31
  --sg-scrollbar-border: #ccd0da;
21
32
  --sg-scrollbar-thumb: #6c6f85;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #18181b;
46
57
  --sg-radius: 8px;
47
58
  --sg-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #cba6f7;
64
+ --sg-muted-bg: #313244;
65
+ --sg-skeleton-bg: #313244;
66
+ --sg-radius-lg: 16px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #313244;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #181825;
49
71
  --sg-scrollbar-border: #313244;
50
72
  --sg-scrollbar-thumb: #a6adc8;
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 6px;
18
18
  --sg-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #644ac9;
24
+ --sg-muted-bg: #f2efe3;
25
+ --sg-skeleton-bg: #f2efe3;
26
+ --sg-radius-lg: 12px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #dedccf;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #ece9df;
20
31
  --sg-scrollbar-border: #dedccf;
21
32
  --sg-scrollbar-thumb: #6c664b;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #18181b;
46
57
  --sg-radius: 6px;
47
58
  --sg-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #bd93f9;
64
+ --sg-muted-bg: #343746;
65
+ --sg-skeleton-bg: #343746;
66
+ --sg-radius-lg: 12px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #44475a;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #21222c;
49
71
  --sg-scrollbar-border: #44475a;
50
72
  --sg-scrollbar-thumb: #6272a4;
package/themes/ember.css CHANGED
@@ -22,6 +22,17 @@
22
22
  --sg-on-accent: #ffffff;
23
23
  --sg-radius: 6px;
24
24
  --sg-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
25
+ --sg-danger: #dc2626;
26
+ --sg-success: #16a34a;
27
+ --sg-warning: #d97706;
28
+ --sg-info: #0891b2;
29
+ --sg-focus-ring: #ff3e00;
30
+ --sg-muted-bg: #f5f5f4;
31
+ --sg-skeleton-bg: #f5f5f4;
32
+ --sg-radius-lg: 12px;
33
+ --sg-rating-on: #d97706;
34
+ --sg-rating-empty: #e7e5e4;
35
+ --sg-invalid-fg: #dc2626;
25
36
  --sg-scrollbar-bg: #fafaf9;
26
37
  --sg-scrollbar-border: #e7e5e4;
27
38
  --sg-scrollbar-thumb: #78716c;
@@ -57,6 +68,17 @@
57
68
  --sg-on-accent: #ffffff;
58
69
  --sg-radius: 6px;
59
70
  --sg-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
71
+ --sg-danger: #f87171;
72
+ --sg-success: #4ade80;
73
+ --sg-warning: #fbbf24;
74
+ --sg-info: #22d3ee;
75
+ --sg-focus-ring: #ff5a1f;
76
+ --sg-muted-bg: #1c1917;
77
+ --sg-skeleton-bg: #1c1917;
78
+ --sg-radius-lg: 12px;
79
+ --sg-rating-on: #fbbf24;
80
+ --sg-rating-empty: #292524;
81
+ --sg-invalid-fg: #f87171;
60
82
  --sg-scrollbar-bg: #1c1917;
61
83
  --sg-scrollbar-border: #292524;
62
84
  --sg-scrollbar-thumb: #a8a29e;
package/themes/excel.css CHANGED
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 0px;
18
18
  --sg-font: "Aptos", "Segoe UI", Calibri, Arial, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #107c41;
24
+ --sg-muted-bg: #edebe9;
25
+ --sg-skeleton-bg: #edebe9;
26
+ --sg-radius-lg: 0px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #d2d0ce;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #f3f2f1;
20
31
  --sg-scrollbar-border: #d2d0ce;
21
32
  --sg-scrollbar-thumb: #605e5c;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #18181b;
46
57
  --sg-radius: 0px;
47
58
  --sg-font: "Aptos", "Segoe UI", Calibri, Arial, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #58c188;
64
+ --sg-muted-bg: #323130;
65
+ --sg-skeleton-bg: #323130;
66
+ --sg-radius-lg: 0px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #3b3a39;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #252423;
49
71
  --sg-scrollbar-border: #3b3a39;
50
72
  --sg-scrollbar-thumb: #c8c6c4;
package/themes/fluent.css CHANGED
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 4px;
18
18
  --sg-font: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #0f6cbd;
24
+ --sg-muted-bg: #f0f0f0;
25
+ --sg-skeleton-bg: #f0f0f0;
26
+ --sg-radius-lg: 8px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #e0e0e0;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #f5f5f5;
20
31
  --sg-scrollbar-border: #e0e0e0;
21
32
  --sg-scrollbar-thumb: #616161;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #ffffff;
46
57
  --sg-radius: 4px;
47
58
  --sg-font: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #479ef5;
64
+ --sg-muted-bg: #3d3d3d;
65
+ --sg-skeleton-bg: #3d3d3d;
66
+ --sg-radius-lg: 8px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #666666;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #141414;
49
71
  --sg-scrollbar-border: #666666;
50
72
  --sg-scrollbar-thumb: #d6d6d6;
package/themes/github.css CHANGED
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 6px;
18
18
  --sg-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #0969da;
24
+ --sg-muted-bg: #f6f8fa;
25
+ --sg-skeleton-bg: #f6f8fa;
26
+ --sg-radius-lg: 12px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #d1d9e0;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #f6f8fa;
20
31
  --sg-scrollbar-border: #d1d9e0;
21
32
  --sg-scrollbar-thumb: #59636e;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #ffffff;
46
57
  --sg-radius: 6px;
47
58
  --sg-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #4493f8;
64
+ --sg-muted-bg: #151b23;
65
+ --sg-skeleton-bg: #151b23;
66
+ --sg-radius-lg: 12px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #3d444d;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #151b23;
49
71
  --sg-scrollbar-border: #3d444d;
50
72
  --sg-scrollbar-thumb: #9198a1;
package/themes/linear.css CHANGED
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 6px;
18
18
  --sg-font: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #5e6ad2;
24
+ --sg-muted-bg: #f4f4f5;
25
+ --sg-skeleton-bg: #f4f4f5;
26
+ --sg-radius-lg: 12px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #e9e9eb;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #f7f8f8;
20
31
  --sg-scrollbar-border: #e9e9eb;
21
32
  --sg-scrollbar-thumb: #6b6f76;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #ffffff;
46
57
  --sg-radius: 6px;
47
58
  --sg-font: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #5e6ad2;
64
+ --sg-muted-bg: #1a1b1e;
65
+ --sg-skeleton-bg: #1a1b1e;
66
+ --sg-radius-lg: 12px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #23252a;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #0f1011;
49
71
  --sg-scrollbar-border: #23252a;
50
72
  --sg-scrollbar-thumb: #8a8f98;
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 8px;
18
18
  --sg-font: "Roboto Flex", Roboto, "Segoe UI", system-ui, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #6750a4;
24
+ --sg-muted-bg: #ece6f0;
25
+ --sg-skeleton-bg: #ece6f0;
26
+ --sg-radius-lg: 16px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #cac4d0;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #f3edf7;
20
31
  --sg-scrollbar-border: #cac4d0;
21
32
  --sg-scrollbar-thumb: #49454f;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #18181b;
46
57
  --sg-radius: 8px;
47
58
  --sg-font: "Roboto Flex", Roboto, "Segoe UI", system-ui, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #d0bcff;
64
+ --sg-muted-bg: #2b2930;
65
+ --sg-skeleton-bg: #2b2930;
66
+ --sg-radius-lg: 16px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #49454f;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #211f26;
49
71
  --sg-scrollbar-border: #49454f;
50
72
  --sg-scrollbar-thumb: #cac4d0;
package/themes/nord.css CHANGED
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 4px;
18
18
  --sg-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #5e81ac;
24
+ --sg-muted-bg: #dde3ec;
25
+ --sg-skeleton-bg: #dde3ec;
26
+ --sg-radius-lg: 8px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #d8dee9;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #e5e9f0;
20
31
  --sg-scrollbar-border: #d8dee9;
21
32
  --sg-scrollbar-thumb: #4c566a;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #18181b;
46
57
  --sg-radius: 4px;
47
58
  --sg-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #88c0d0;
64
+ --sg-muted-bg: #3b4252;
65
+ --sg-skeleton-bg: #3b4252;
66
+ --sg-radius-lg: 8px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #434c5e;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #3b4252;
49
71
  --sg-scrollbar-border: #434c5e;
50
72
  --sg-scrollbar-thumb: #4c566a;
package/themes/notion.css CHANGED
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 4px;
18
18
  --sg-font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #2383e2;
24
+ --sg-muted-bg: #f1f1ef;
25
+ --sg-skeleton-bg: #f1f1ef;
26
+ --sg-radius-lg: 8px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #e9e9e7;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #f7f6f3;
20
31
  --sg-scrollbar-border: #e9e9e7;
21
32
  --sg-scrollbar-thumb: #787774;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #ffffff;
46
57
  --sg-radius: 4px;
47
58
  --sg-font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #529cca;
64
+ --sg-muted-bg: #252525;
65
+ --sg-skeleton-bg: #252525;
66
+ --sg-radius-lg: 8px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #2f2f2f;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #202020;
49
71
  --sg-scrollbar-border: #2f2f2f;
50
72
  --sg-scrollbar-thumb: #9b9b9b;
@@ -16,6 +16,17 @@
16
16
  --sg-on-accent: #ffffff;
17
17
  --sg-radius: 4px;
18
18
  --sg-font: "Salesforce Sans", "SF Pro", Helvetica, Arial, sans-serif;
19
+ --sg-danger: #dc2626;
20
+ --sg-success: #16a34a;
21
+ --sg-warning: #d97706;
22
+ --sg-info: #0891b2;
23
+ --sg-focus-ring: #0176d3;
24
+ --sg-muted-bg: #f3f3f3;
25
+ --sg-skeleton-bg: #f3f3f3;
26
+ --sg-radius-lg: 8px;
27
+ --sg-rating-on: #d97706;
28
+ --sg-rating-empty: #c9c9c9;
29
+ --sg-invalid-fg: #dc2626;
19
30
  --sg-scrollbar-bg: #f3f3f3;
20
31
  --sg-scrollbar-border: #c9c9c9;
21
32
  --sg-scrollbar-thumb: #757575;
@@ -45,6 +56,17 @@
45
56
  --sg-on-accent: #ffffff;
46
57
  --sg-radius: 4px;
47
58
  --sg-font: "Salesforce Sans", "SF Pro", Helvetica, Arial, sans-serif;
59
+ --sg-danger: #f87171;
60
+ --sg-success: #4ade80;
61
+ --sg-warning: #fbbf24;
62
+ --sg-info: #22d3ee;
63
+ --sg-focus-ring: #1b96ff;
64
+ --sg-muted-bg: #2e2e2e;
65
+ --sg-skeleton-bg: #2e2e2e;
66
+ --sg-radius-lg: 8px;
67
+ --sg-rating-on: #fbbf24;
68
+ --sg-rating-empty: #3e3e3c;
69
+ --sg-invalid-fg: #f87171;
48
70
  --sg-scrollbar-bg: #2e2e2e;
49
71
  --sg-scrollbar-border: #3e3e3c;
50
72
  --sg-scrollbar-thumb: #c9c9c9;