@trebco/treb 23.6.5 → 25.0.0-rc1

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 (217) hide show
  1. package/.eslintignore +8 -0
  2. package/.eslintrc.js +164 -0
  3. package/README-shadow-DOM.md +88 -0
  4. package/README.md +37 -130
  5. package/api-config.json +29 -0
  6. package/api-generator/api-generator-types.ts +82 -0
  7. package/api-generator/api-generator.ts +1172 -0
  8. package/api-generator/package.json +3 -0
  9. package/build/treb-spreadsheet.mjs +14 -0
  10. package/{treb.d.ts → build/treb.d.ts} +285 -269
  11. package/esbuild-custom-element.mjs +336 -0
  12. package/esbuild.js +305 -0
  13. package/package.json +43 -14
  14. package/treb-base-types/package.json +5 -0
  15. package/treb-base-types/src/api_types.ts +36 -0
  16. package/treb-base-types/src/area.ts +583 -0
  17. package/treb-base-types/src/basic_types.ts +45 -0
  18. package/treb-base-types/src/cell.ts +612 -0
  19. package/treb-base-types/src/cells.ts +1066 -0
  20. package/treb-base-types/src/color.ts +124 -0
  21. package/treb-base-types/src/import.ts +71 -0
  22. package/treb-base-types/src/index-standalone.ts +29 -0
  23. package/treb-base-types/src/index.ts +42 -0
  24. package/treb-base-types/src/layout.ts +47 -0
  25. package/treb-base-types/src/localization.ts +187 -0
  26. package/treb-base-types/src/rectangle.ts +145 -0
  27. package/treb-base-types/src/render_text.ts +72 -0
  28. package/treb-base-types/src/style.ts +545 -0
  29. package/treb-base-types/src/table.ts +109 -0
  30. package/treb-base-types/src/text_part.ts +54 -0
  31. package/treb-base-types/src/theme.ts +608 -0
  32. package/treb-base-types/src/union.ts +152 -0
  33. package/treb-base-types/src/value-type.ts +164 -0
  34. package/treb-base-types/style/resizable.css +59 -0
  35. package/treb-calculator/modern.tsconfig.json +11 -0
  36. package/treb-calculator/package.json +5 -0
  37. package/treb-calculator/src/calculator.ts +2546 -0
  38. package/treb-calculator/src/complex-math.ts +558 -0
  39. package/treb-calculator/src/dag/array-vertex.ts +198 -0
  40. package/treb-calculator/src/dag/graph.ts +951 -0
  41. package/treb-calculator/src/dag/leaf_vertex.ts +118 -0
  42. package/treb-calculator/src/dag/spreadsheet_vertex.ts +327 -0
  43. package/treb-calculator/src/dag/spreadsheet_vertex_base.ts +44 -0
  44. package/treb-calculator/src/dag/vertex.ts +352 -0
  45. package/treb-calculator/src/descriptors.ts +162 -0
  46. package/treb-calculator/src/expression-calculator.ts +1069 -0
  47. package/treb-calculator/src/function-error.ts +103 -0
  48. package/treb-calculator/src/function-library.ts +103 -0
  49. package/treb-calculator/src/functions/base-functions.ts +1214 -0
  50. package/treb-calculator/src/functions/checkbox.ts +164 -0
  51. package/treb-calculator/src/functions/complex-functions.ts +253 -0
  52. package/treb-calculator/src/functions/finance-functions.ts +399 -0
  53. package/treb-calculator/src/functions/information-functions.ts +102 -0
  54. package/treb-calculator/src/functions/matrix-functions.ts +182 -0
  55. package/treb-calculator/src/functions/sparkline.ts +335 -0
  56. package/treb-calculator/src/functions/statistics-functions.ts +350 -0
  57. package/treb-calculator/src/functions/text-functions.ts +298 -0
  58. package/treb-calculator/src/index.ts +27 -0
  59. package/treb-calculator/src/notifier-types.ts +59 -0
  60. package/treb-calculator/src/primitives.ts +428 -0
  61. package/treb-calculator/src/utilities.ts +305 -0
  62. package/treb-charts/package.json +5 -0
  63. package/treb-charts/src/chart-functions.ts +156 -0
  64. package/treb-charts/src/chart-types.ts +230 -0
  65. package/treb-charts/src/chart.ts +1288 -0
  66. package/treb-charts/src/index.ts +24 -0
  67. package/treb-charts/src/main.ts +37 -0
  68. package/treb-charts/src/rectangle.ts +52 -0
  69. package/treb-charts/src/renderer.ts +1841 -0
  70. package/treb-charts/src/util.ts +122 -0
  71. package/treb-charts/style/charts.scss +221 -0
  72. package/treb-charts/style/old-charts.scss +250 -0
  73. package/treb-embed/markup/layout.html +137 -0
  74. package/treb-embed/markup/toolbar.html +175 -0
  75. package/treb-embed/modern.tsconfig.json +25 -0
  76. package/treb-embed/src/custom-element/content-types.d.ts +18 -0
  77. package/treb-embed/src/custom-element/global.d.ts +11 -0
  78. package/treb-embed/src/custom-element/spreadsheet-constructor.ts +1227 -0
  79. package/treb-embed/src/custom-element/treb-global.ts +44 -0
  80. package/treb-embed/src/custom-element/treb-spreadsheet-element.ts +52 -0
  81. package/treb-embed/src/embedded-spreadsheet.ts +5362 -0
  82. package/treb-embed/src/index.ts +16 -0
  83. package/treb-embed/src/language-model.ts +41 -0
  84. package/treb-embed/src/options.ts +320 -0
  85. package/treb-embed/src/progress-dialog.ts +228 -0
  86. package/treb-embed/src/selection-state.ts +16 -0
  87. package/treb-embed/src/spinner.ts +42 -0
  88. package/treb-embed/src/toolbar-message.ts +96 -0
  89. package/treb-embed/src/types.ts +167 -0
  90. package/treb-embed/style/autocomplete.scss +103 -0
  91. package/treb-embed/style/dark-theme.scss +114 -0
  92. package/treb-embed/style/defaults.scss +36 -0
  93. package/treb-embed/style/dialog.scss +181 -0
  94. package/treb-embed/style/dropdown-select.scss +101 -0
  95. package/treb-embed/style/formula-bar.scss +193 -0
  96. package/treb-embed/style/grid.scss +374 -0
  97. package/treb-embed/style/layout.scss +424 -0
  98. package/treb-embed/style/mouse-mask.scss +67 -0
  99. package/treb-embed/style/note.scss +92 -0
  100. package/treb-embed/style/overlay-editor.scss +102 -0
  101. package/treb-embed/style/spinner.scss +92 -0
  102. package/treb-embed/style/tab-bar.scss +228 -0
  103. package/treb-embed/style/table.scss +80 -0
  104. package/treb-embed/style/theme-defaults.scss +444 -0
  105. package/treb-embed/style/toolbar.scss +416 -0
  106. package/treb-embed/style/tooltip.scss +68 -0
  107. package/treb-embed/style/treb-icons.scss +130 -0
  108. package/treb-embed/style/treb-spreadsheet-element.scss +20 -0
  109. package/treb-embed/style/z-index.scss +43 -0
  110. package/treb-export/docs/charts.md +68 -0
  111. package/treb-export/modern.tsconfig.json +19 -0
  112. package/treb-export/package.json +4 -0
  113. package/treb-export/src/address-type.ts +77 -0
  114. package/treb-export/src/base-template.ts +22 -0
  115. package/treb-export/src/column-width.ts +85 -0
  116. package/treb-export/src/drawing2/chart-template-components2.ts +389 -0
  117. package/treb-export/src/drawing2/chart2.ts +282 -0
  118. package/treb-export/src/drawing2/column-chart-template2.ts +521 -0
  119. package/treb-export/src/drawing2/donut-chart-template2.ts +296 -0
  120. package/treb-export/src/drawing2/drawing2.ts +355 -0
  121. package/treb-export/src/drawing2/embedded-image.ts +71 -0
  122. package/treb-export/src/drawing2/scatter-chart-template2.ts +555 -0
  123. package/treb-export/src/export-worker/export-worker.ts +99 -0
  124. package/treb-export/src/export-worker/index-modern.ts +22 -0
  125. package/treb-export/src/export2.ts +2204 -0
  126. package/treb-export/src/import2.ts +882 -0
  127. package/treb-export/src/relationship.ts +36 -0
  128. package/treb-export/src/shared-strings2.ts +128 -0
  129. package/treb-export/src/template-2.ts +22 -0
  130. package/treb-export/src/unescape_xml.ts +47 -0
  131. package/treb-export/src/workbook-sheet2.ts +182 -0
  132. package/treb-export/src/workbook-style2.ts +1285 -0
  133. package/treb-export/src/workbook-theme2.ts +88 -0
  134. package/treb-export/src/workbook2.ts +491 -0
  135. package/treb-export/src/xml-utils.ts +201 -0
  136. package/treb-export/template/base/[Content_Types].xml +2 -0
  137. package/treb-export/template/base/_rels/.rels +2 -0
  138. package/treb-export/template/base/docProps/app.xml +2 -0
  139. package/treb-export/template/base/docProps/core.xml +12 -0
  140. package/treb-export/template/base/xl/_rels/workbook.xml.rels +2 -0
  141. package/treb-export/template/base/xl/sharedStrings.xml +2 -0
  142. package/treb-export/template/base/xl/styles.xml +2 -0
  143. package/treb-export/template/base/xl/theme/theme1.xml +2 -0
  144. package/treb-export/template/base/xl/workbook.xml +2 -0
  145. package/treb-export/template/base/xl/worksheets/sheet1.xml +2 -0
  146. package/treb-export/template/base.xlsx +0 -0
  147. package/treb-format/package.json +8 -0
  148. package/treb-format/src/format.test.ts +213 -0
  149. package/treb-format/src/format.ts +942 -0
  150. package/treb-format/src/format_cache.ts +199 -0
  151. package/treb-format/src/format_parser.ts +723 -0
  152. package/treb-format/src/index.ts +25 -0
  153. package/treb-format/src/number_format_section.ts +100 -0
  154. package/treb-format/src/value_parser.ts +337 -0
  155. package/treb-grid/package.json +5 -0
  156. package/treb-grid/src/editors/autocomplete.ts +394 -0
  157. package/treb-grid/src/editors/autocomplete_matcher.ts +260 -0
  158. package/treb-grid/src/editors/formula_bar.ts +473 -0
  159. package/treb-grid/src/editors/formula_editor_base.ts +910 -0
  160. package/treb-grid/src/editors/overlay_editor.ts +511 -0
  161. package/treb-grid/src/index.ts +37 -0
  162. package/treb-grid/src/layout/base_layout.ts +2618 -0
  163. package/treb-grid/src/layout/grid_layout.ts +299 -0
  164. package/treb-grid/src/layout/rectangle_cache.ts +86 -0
  165. package/treb-grid/src/render/selection-renderer.ts +414 -0
  166. package/treb-grid/src/render/svg_header_overlay.ts +93 -0
  167. package/treb-grid/src/render/svg_selection_block.ts +187 -0
  168. package/treb-grid/src/render/tile_renderer.ts +2122 -0
  169. package/treb-grid/src/types/annotation.ts +216 -0
  170. package/treb-grid/src/types/border_constants.ts +34 -0
  171. package/treb-grid/src/types/clipboard_data.ts +31 -0
  172. package/treb-grid/src/types/data_model.ts +334 -0
  173. package/treb-grid/src/types/drag_mask.ts +81 -0
  174. package/treb-grid/src/types/grid.ts +7743 -0
  175. package/treb-grid/src/types/grid_base.ts +3644 -0
  176. package/treb-grid/src/types/grid_command.ts +470 -0
  177. package/treb-grid/src/types/grid_events.ts +124 -0
  178. package/treb-grid/src/types/grid_options.ts +97 -0
  179. package/treb-grid/src/types/grid_selection.ts +60 -0
  180. package/treb-grid/src/types/named_range.ts +369 -0
  181. package/treb-grid/src/types/scale-control.ts +202 -0
  182. package/treb-grid/src/types/serialize_options.ts +72 -0
  183. package/treb-grid/src/types/set_range_options.ts +52 -0
  184. package/treb-grid/src/types/sheet.ts +3099 -0
  185. package/treb-grid/src/types/sheet_types.ts +95 -0
  186. package/treb-grid/src/types/tab_bar.ts +464 -0
  187. package/treb-grid/src/types/tile.ts +59 -0
  188. package/treb-grid/src/types/update_flags.ts +75 -0
  189. package/treb-grid/src/util/dom_utilities.ts +44 -0
  190. package/treb-grid/src/util/fontmetrics2.ts +179 -0
  191. package/treb-grid/src/util/ua.ts +104 -0
  192. package/treb-logo.svg +18 -0
  193. package/treb-parser/package.json +5 -0
  194. package/treb-parser/src/csv-parser.ts +122 -0
  195. package/treb-parser/src/index.ts +25 -0
  196. package/treb-parser/src/md-parser.ts +526 -0
  197. package/treb-parser/src/parser-types.ts +397 -0
  198. package/treb-parser/src/parser.test.ts +298 -0
  199. package/treb-parser/src/parser.ts +2673 -0
  200. package/treb-utils/package.json +5 -0
  201. package/treb-utils/src/dispatch.ts +57 -0
  202. package/treb-utils/src/event_source.ts +147 -0
  203. package/treb-utils/src/ievent_source.ts +33 -0
  204. package/treb-utils/src/index.ts +31 -0
  205. package/treb-utils/src/measurement.ts +174 -0
  206. package/treb-utils/src/resizable.ts +160 -0
  207. package/treb-utils/src/scale.ts +137 -0
  208. package/treb-utils/src/serialize_html.ts +124 -0
  209. package/treb-utils/src/template.ts +70 -0
  210. package/treb-utils/src/validate_uri.ts +61 -0
  211. package/tsconfig.json +10 -0
  212. package/tsproject.json +30 -0
  213. package/util/license-plugin-esbuild.js +86 -0
  214. package/util/list-css-vars.sh +46 -0
  215. package/README-esm.md +0 -37
  216. package/treb-bundle.css +0 -2
  217. package/treb-bundle.mjs +0 -15
@@ -0,0 +1,416 @@
1
+
2
+ // -----------------------------------------------------------------------------
3
+
4
+ $button-width: 32px;
5
+ $dropdown-button-width: 16px;
6
+
7
+ $background-color: var(--treb-toolbar-button-background, transparent);
8
+ $background-hover: var(--treb-toolbar-hover-button-background, #f3f4f6);
9
+ $border-color: var(--treb-toolbar-border-color, var(--treb-ui-border-color, rgb(209, 213, 219)));
10
+
11
+ $menu-background: var(--treb-toolbar-button-background, #fff);
12
+ $menu-border-color: var(--treb-toolbar-border-color, var(--treb-ui-border-color, rgb(209, 213, 219)));
13
+ $menu-item-hover-color: var(--treb-toolbar-hover-button-background, #f3f4f6);
14
+
15
+ $box-shadow: 0 4px 6px -4px rgba(0, 0, 0, .4);
16
+ $border-radius: 3px;
17
+
18
+ $font-size: 14px;
19
+ $split-font-size: 10px;
20
+ $swatch-size: 18px;
21
+
22
+ .treb-layout {
23
+
24
+ .treb-layout-header {
25
+
26
+ overflow: hidden;
27
+ position: relative;
28
+ overflow-x: scroll;
29
+
30
+ // hide scrollbars
31
+ // FIXME: util class
32
+
33
+ -ms-overflow-style: none;
34
+ scrollbar-width: none;
35
+ &::-webkit-scrollbar {
36
+ display: none;
37
+ }
38
+
39
+ }
40
+
41
+ .treb-toolbar {
42
+
43
+ color: var(--treb-toolbar-color, var(--treb-ui-color, #333));
44
+ font-size: $font-size;
45
+
46
+ // ----
47
+
48
+ display: flex;
49
+ flex-direction: row;
50
+ gap: .5em;
51
+
52
+ & > div {
53
+ display: flex;
54
+ flex-direction: row;
55
+ }
56
+
57
+ & > input, & > div > input {
58
+ height: $button-width;
59
+ background-color: $background-color;
60
+ border: 1px solid $border-color;
61
+ text-overflow: ellipsis;
62
+ overflow: hidden;
63
+ padding-left: .5em;
64
+ padding-right: .5em;
65
+ }
66
+
67
+ & > .treb-menu > button {
68
+ border-radius: $border-radius;
69
+ }
70
+
71
+ & > .group, & > [composite] {
72
+
73
+ & > button + button,
74
+ & > input + button,
75
+ & > input + .treb-menu > button,
76
+ & > button + .treb-menu > button,
77
+ & > .treb-menu + button {
78
+ border-left-width: 0px;
79
+ }
80
+
81
+ & > button:first-child, & > input:first-child {
82
+ border-top-left-radius: $border-radius;
83
+ border-bottom-left-radius: $border-radius;
84
+ }
85
+
86
+ & > button:last-child, & > .treb-menu:last-child > button {
87
+ border-top-right-radius: $border-radius;
88
+ border-bottom-right-radius: $border-radius;
89
+ }
90
+
91
+
92
+ }
93
+
94
+
95
+
96
+ & > button, & > div > button, .treb-menu > button, button[data-icon], .treb-icon-buttons > button {
97
+
98
+ width: $button-width;
99
+ height: $button-width;
100
+ background-color: $background-color;
101
+ border: 1px solid $border-color;
102
+ display: flex;
103
+ flex-direction: column;
104
+ align-items: center;
105
+ justify-content: center;
106
+ position: relative;
107
+
108
+ // the problem with this transition is that it gets applied
109
+ // to separate items in sequence and we get kind of a wave
110
+ // or cascade effect. is it possible to synchronize them?
111
+
112
+ transition: background-color .1s ease;
113
+ // border-radius: $border-radius;
114
+
115
+ &[dropdown] {
116
+ width: $dropdown-button-width;
117
+ &::after {
118
+ box-sizing: content-box;
119
+ content: '';
120
+ position: absolute;
121
+ width: 0px;
122
+ height: 0px;
123
+ border: 5px solid transparent;
124
+ border-top-color: currentColor;
125
+ top: 18px; // FIXME: specify in ems
126
+ left: 50%;
127
+ transform: translate(-50%, -50%);
128
+ }
129
+ }
130
+
131
+ &:hover, &[active] {
132
+ background-color: $background-hover;
133
+ }
134
+
135
+ &[data-color-bar]::after {
136
+ content: '';
137
+ box-sizing: border-box;
138
+ position: relative;
139
+ display: block;
140
+ width: 20px;
141
+ height: 6px;
142
+ border: 1px solid $border-color;
143
+ background: var(--treb-color-bar-color, var(--treb-default-color, unset));
144
+ }
145
+
146
+ &[data-icon], &[data-command] {
147
+ &::before {
148
+ content: '';
149
+ display: block;
150
+ position: relative;
151
+ background: currentColor;
152
+ width: 20px;
153
+ height: 20px;
154
+ mask-position: center;
155
+ -webkit-mask-position: center;
156
+ mask-repeat: no-repeat;
157
+ -webkit-mask-repeat: no-repeat;
158
+ mask-image: var(--icon);
159
+ -webkit-mask-image: var(--icon);
160
+ mask-size: var(--icon-size, 16px 16px);
161
+ -webkit-mask-size: var(--icon-size, 16px 16px);
162
+ }
163
+ }
164
+
165
+ }
166
+
167
+ .treb-split {
168
+ display: flex;
169
+ flex-direction: column;
170
+ gap: 0;
171
+
172
+ button[data-command] {
173
+ &::before {
174
+ display: none;
175
+ }
176
+ font-size: $split-font-size;
177
+ }
178
+
179
+ & > button {
180
+ height: calc($button-width / 2);
181
+ display: flex;
182
+ align-items: center;
183
+ justify-content: center;
184
+ }
185
+
186
+ & > button:first-child {
187
+ border-top-left-radius: $border-radius;
188
+ border-top-right-radius: $border-radius;
189
+ }
190
+
191
+ & > button:last-child {
192
+ border-top: 0;
193
+ border-bottom-left-radius: $border-radius;
194
+ border-bottom-right-radius: $border-radius;
195
+ }
196
+
197
+ }
198
+
199
+ .treb-menu {
200
+
201
+ z-index: 999; // FIXME: NO
202
+
203
+ & > div {
204
+
205
+ display: none;
206
+
207
+ margin-top: .5em;
208
+
209
+ flex-direction: column;
210
+ background: $menu-background;
211
+ border: 1px solid $border-color;
212
+ border-radius: $border-radius;
213
+ position: fixed;
214
+ z-index: 20;
215
+ top: 48px;
216
+ box-shadow: $box-shadow;
217
+
218
+ button {
219
+ white-space: nowrap;
220
+ background: transparent;
221
+ border: 0;
222
+ text-align: left;
223
+ padding: .4em 1em;
224
+ margin: 3px 0;
225
+ transition: background-color .125s ease;
226
+
227
+ &:hover {
228
+ background: $background-hover;
229
+ }
230
+
231
+ }
232
+
233
+ &.treb-icon-buttons {
234
+ & > button, & > .treb-menu > button {
235
+ padding: 0;
236
+ }
237
+ /*
238
+ padding-left: .5em;
239
+ padding-right: .5em;
240
+ */
241
+ }
242
+
243
+ & > [separator] {
244
+ background: $border-color;
245
+ height: 1px;
246
+ margin: 2px 0;
247
+
248
+ }
249
+
250
+ }
251
+
252
+ &:focus-within > div, &.visible > div {
253
+ display: flex;
254
+ }
255
+
256
+ }
257
+
258
+ // ---------------------------------------------------------------------------
259
+
260
+ [data-icon=file-menu]{ --icon: var(--treb-icon-file-menu); }
261
+
262
+ [data-command=justify-left] { --icon: var(--treb-icon-text-align-left); }
263
+ [data-command=justify-right] { --icon: var(--treb-icon-text-align-right); }
264
+ [data-command=justify-center] { --icon: var(--treb-icon-text-align-center); }
265
+
266
+ [data-command=align-top] { --icon: var(--treb-icon-text-align-top); }
267
+ [data-command=align-middle] { --icon: var(--treb-icon-text-align-middle); }
268
+ [data-command=align-bottom] { --icon: var(--treb-icon-text-align-bottom); }
269
+ [data-command=merge-cells] { --icon: var(--treb-icon-merge-cells); }
270
+ [data-command=unmerge-cells] { --icon: var(--treb-icon-unmerge-cells); }
271
+
272
+ [data-command=fill-color] { --icon: var(--treb-icon-fill-color); }
273
+ [data-command=text-color] { --icon: var(--treb-icon-text-color); }
274
+
275
+ [data-command=lock-cells] { --icon: var(--treb-icon-lock); }
276
+ [data-command=wrap-text] { --icon: var(--treb-icon-wrap-text); }
277
+ [data-icon=comment] { --icon: var(--treb-icon-comment); }
278
+ [data-icon=table] { --icon: var(--treb-icon-table); }
279
+
280
+ [data-icon=layout] { --icon: var(--treb-icon-layout); }
281
+ [data-command=freeze-panes] { --icon: var(--treb-icon-freeze); }
282
+
283
+ [data-command=insert-column-chart] { --icon: var(--treb-icon-column-chart); }
284
+ [data-command=insert-donut-chart] { --icon: var(--treb-icon-donut-chart); }
285
+ [data-command=insert-bar-chart] { --icon: var(--treb-icon-bar-chart); }
286
+ [data-command=insert-line-chart] { --icon: var(--treb-icon-line-chart); }
287
+ [data-command=insert-image] { --icon: var(--treb-icon-image); }
288
+
289
+ [data-command=border-bottom] { --icon: var(--treb-icon-border-bottom); }
290
+ [data-command=border-left] { --icon: var(--treb-icon-border-left); }
291
+ [data-command=border-right] { --icon: var(--treb-icon-border-right); }
292
+ [data-command=border-top] { --icon: var(--treb-icon-border-top); }
293
+ [data-command=border-outside] { --icon: var(--treb-icon-border-outer); }
294
+ [data-command=border-all] { --icon: var(--treb-icon-border-all); }
295
+ [data-command=border-none] { --icon: var(--treb-icon-border-none); }
296
+ [data-command=border-double-bottom] { --icon: var(--treb-icon-border-double-bottom); }
297
+ [data-icon=palette] { --icon: var(--treb-icon-palette); }
298
+
299
+ [data-command=recalculate] {
300
+ --icon: var(--treb-icon-recalculate);
301
+ --icon-size: 20px 20px;
302
+ }
303
+
304
+ .treb-font-scale {
305
+ width: 4em;
306
+ }
307
+
308
+ .treb-number-format {
309
+ width: 8em;
310
+ }
311
+
312
+ .treb-color-chooser {
313
+
314
+ button[data-command=set-color] {
315
+ padding: 0;
316
+ display: flex;
317
+ align-items: center;
318
+ width: $button-width;
319
+ justify-content: center;
320
+ }
321
+
322
+ & > div {
323
+ padding: .75em .75em;
324
+ }
325
+
326
+ & > div + div {
327
+ padding-top: 0;
328
+ }
329
+
330
+ & > div:last-child {
331
+
332
+ display: flex;
333
+ flex-direction: row;
334
+ gap: .5em;
335
+ align-items: center;
336
+
337
+ input {
338
+ flex-grow: 1;
339
+ padding: 0 .5em;
340
+ }
341
+
342
+ input, button {
343
+ border: 1px solid $border-color;
344
+ border-radius: $border-radius;
345
+ height: $button-width;
346
+ }
347
+
348
+ }
349
+
350
+ .treb-swatches {
351
+
352
+ display: grid;
353
+ grid-template-columns: repeat(10, 1fr);
354
+ gap: .5em;
355
+
356
+ button {
357
+ width: $swatch-size;
358
+ height: $swatch-size;
359
+ padding: 0;
360
+ margin: 0;
361
+ border: 1px solid $border-color;
362
+ border-radius: 2px;
363
+ }
364
+
365
+ .treb-default-color::before {
366
+ opacity: .7;
367
+ content: '';
368
+ display: block;
369
+ position: relative;
370
+ background: currentColor;
371
+ width: 100%;
372
+ height: 100%;
373
+ mask-position: center;
374
+ -webkit-mask-position: center;
375
+ mask-repeat: no-repeat;
376
+ -webkit-mask-repeat: no-repeat;
377
+ mask-image: var(--treb-icon-x);
378
+ -webkit-mask-image: var(--treb-icon-x);
379
+ mask-size: 24px 24px;
380
+ -webkit-mask-size: 24px 24px;
381
+ }
382
+ }
383
+ }
384
+
385
+ .treb-comment-box {
386
+ textarea {
387
+ font: inherit;
388
+ resize: both;
389
+ border: 1px solid $border-color;
390
+ padding: .25em;
391
+ line-height: 1.5;
392
+ margin: .5em;
393
+ height: 10em;
394
+ }
395
+
396
+ textarea + div {
397
+ display: flex;
398
+ flex-direction: row;
399
+ align-items: center;
400
+ justify-content: center;
401
+ gap: .5em;
402
+ padding: 0 0 .5em 0;
403
+
404
+ button {
405
+ border: 1px solid $border-color;
406
+ border-radius: $border-radius;
407
+ }
408
+
409
+ }
410
+
411
+ }
412
+
413
+ }
414
+
415
+ }
416
+
@@ -0,0 +1,68 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2023 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+
22
+ .treb-layout {
23
+
24
+ .treb-tooltip {
25
+
26
+ display: none;
27
+ pointer-events: none;
28
+ position: fixed;
29
+ padding: 2px 10px;
30
+ border-radius: 2px;
31
+ box-shadow: $default-box-shadow;
32
+ z-index: $z-index-tooltip;
33
+ line-height: normal;
34
+
35
+ &.arrow-up {
36
+ &::after {
37
+ box-sizing: border-box;
38
+ position: absolute;
39
+ top: calc(-2 * $tooltip-arrow-size);
40
+ left: calc(50% - $tooltip-arrow-size);
41
+ width: calc(2 * $tooltip-arrow-size);
42
+ height: calc(2 * $tooltip-arrow-size);
43
+ overflow: hidden;
44
+ content: ' ';
45
+ border: $tooltip-arrow-size solid transparent;
46
+ border-bottom-color: inherit;
47
+ }
48
+ }
49
+
50
+ &.arrow-left {
51
+ &::after {
52
+ box-sizing: border-box;
53
+ position: absolute;
54
+ left: calc(-2 * $tooltip-arrow-size);
55
+ top: calc(50% - $tooltip-arrow-size);
56
+ width: calc(2 * $tooltip-arrow-size);
57
+ height: calc(2 * $tooltip-arrow-size);
58
+ overflow: hidden;
59
+ content: ' ';
60
+ border: $tooltip-arrow-size solid transparent;
61
+ border-right-color: inherit;
62
+ }
63
+ }
64
+
65
+ }
66
+
67
+ }
68
+
@@ -0,0 +1,130 @@
1
+
2
+ :root {
3
+
4
+ /* source: bootstrap-icons-1.8.3/x.svg */
5
+ --treb-icon-x: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'><path d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/></svg>");
6
+
7
+ /* source: fontawesome-free-5.15.4-desktop/svgs/solid/external-link-alt.svg */
8
+ --treb-sidebar-icon-popout: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path stroke='none' fill='currentColor' d='M22 14.5v5c0 2.484-2.016 4.5-4.5 4.5h-13c-2.484 0-4.5-2.016-4.5-4.5v-13c0-2.484 2.016-4.5 4.5-4.5h11c0.281 0 0.5 0.219 0.5 0.5v1c0 0.281-0.219 0.5-0.5 0.5h-11c-1.375 0-2.5 1.125-2.5 2.5v13c0 1.375 1.125 2.5 2.5 2.5h13c1.375 0 2.5-1.125 2.5-2.5v-5c0-0.281 0.219-0.5 0.5-0.5h1c0.281 0 0.5 0.219 0.5 0.5zM28 1v8c0 0.547-0.453 1-1 1-0.266 0-0.516-0.109-0.703-0.297l-2.75-2.75-10.187 10.187c-0.094 0.094-0.234 0.156-0.359 0.156s-0.266-0.063-0.359-0.156l-1.781-1.781c-0.094-0.094-0.156-0.234-0.156-0.359s0.063-0.266 0.156-0.359l10.187-10.187-2.75-2.75c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h8c0.547 0 1 0.453 1 1z'></path></svg>");
9
+
10
+ /* source: fontawesome-free-5.15.4-desktop/svgs/solid/sliders-h.svg */
11
+ --treb-sidebar-icon-toolbar: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'><path stroke='none' fill='currentColor' d='M5.5 22v2h-5.5v-2h5.5zM11 20c0.547 0 1 0.453 1 1v4c0 0.547-0.453 1-1 1h-4c-0.547 0-1-0.453-1-1v-4c0-0.547 0.453-1 1-1h4zM13.5 14v2h-13.5v-2h13.5zM3.5 6v2h-3.5v-2h3.5zM24 22v2h-11.5v-2h11.5zM9 4c0.547 0 1 0.453 1 1v4c0 0.547-0.453 1-1 1h-4c-0.547 0-1-0.453-1-1v-4c0-0.547 0.453-1 1-1h4zM19 12c0.547 0 1 0.453 1 1v4c0 0.547-0.453 1-1 1h-4c-0.547 0-1-0.453-1-1v-4c0-0.547 0.453-1 1-1h4zM24 14v2h-3.5v-2h3.5zM24 6v2h-13.5v-2h13.5z'></path></svg>");
12
+
13
+ /* source: fontawesome-free-5.15.4-desktop/svgs/solid/download.svg */
14
+ --treb-sidebar-icon-export: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 28'><path stroke='none' fill='currentColor' d='M20 21c0-0.547-0.453-1-1-1s-1 0.453-1 1 0.453 1 1 1 1-0.453 1-1zM24 21c0-0.547-0.453-1-1-1s-1 0.453-1 1 0.453 1 1 1 1-0.453 1-1zM26 17.5v5c0 0.828-0.672 1.5-1.5 1.5h-23c-0.828 0-1.5-0.672-1.5-1.5v-5c0-0.828 0.672-1.5 1.5-1.5h7.266l2.109 2.125c0.578 0.562 1.328 0.875 2.125 0.875s1.547-0.313 2.125-0.875l2.125-2.125h7.25c0.828 0 1.5 0.672 1.5 1.5zM20.922 8.609c0.156 0.375 0.078 0.812-0.219 1.094l-7 7c-0.187 0.203-0.453 0.297-0.703 0.297s-0.516-0.094-0.703-0.297l-7-7c-0.297-0.281-0.375-0.719-0.219-1.094 0.156-0.359 0.516-0.609 0.922-0.609h4v-7c0-0.547 0.453-1 1-1h4c0.547 0 1 0.453 1 1v7h4c0.406 0 0.766 0.25 0.922 0.609z'></path></svg>");
15
+
16
+ /* source: fontawesome-free-5.15.4-desktop/svgs/solid/sync-alt.svg */
17
+ --treb-sidebar-icon-reset: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'><path stroke='none' fill='currentColor' d='M23.609 16.5c0 0.031 0 0.078-0.016 0.109-1.328 5.531-5.891 9.391-11.656 9.391-3.047 0-6-1.203-8.219-3.313l-2.016 2.016c-0.187 0.187-0.438 0.297-0.703 0.297-0.547 0-1-0.453-1-1v-7c0-0.547 0.453-1 1-1h7c0.547 0 1 0.453 1 1 0 0.266-0.109 0.516-0.297 0.703l-2.141 2.141c1.469 1.375 3.422 2.156 5.437 2.156 2.781 0 5.359-1.437 6.813-3.813 0.375-0.609 0.562-1.203 0.828-1.828 0.078-0.219 0.234-0.359 0.469-0.359h3c0.281 0 0.5 0.234 0.5 0.5zM24 4v7c0 0.547-0.453 1-1 1h-7c-0.547 0-1-0.453-1-1 0-0.266 0.109-0.516 0.297-0.703l2.156-2.156c-1.484-1.375-3.437-2.141-5.453-2.141-2.781 0-5.359 1.437-6.813 3.813-0.375 0.609-0.562 1.203-0.828 1.828-0.078 0.219-0.234 0.359-0.469 0.359h-3.109c-0.281 0-0.5-0.234-0.5-0.5v-0.109c1.344-5.547 5.953-9.391 11.719-9.391 3.063 0 6.047 1.219 8.266 3.313l2.031-2.016c0.187-0.187 0.438-0.297 0.703-0.297 0.547 0 1 0.453 1 1z'></path></svg>");
18
+
19
+ /* source: fontawesome-free-5.15.4-desktop/svgs/solid/question-circle.svg */
20
+ --treb-sidebar-icon-about: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'><path stroke='none' fill='currentColor' d='M14 21.5v-3c0-0.281-0.219-0.5-0.5-0.5h-3c-0.281 0-0.5 0.219-0.5 0.5v3c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5zM18 11c0-2.859-3-5-5.688-5-2.547 0-4.453 1.094-5.797 3.328-0.141 0.219-0.078 0.5 0.125 0.656l2.063 1.563c0.078 0.063 0.187 0.094 0.297 0.094 0.141 0 0.297-0.063 0.391-0.187 0.734-0.938 1.047-1.219 1.344-1.437 0.266-0.187 0.781-0.375 1.344-0.375 1 0 1.922 0.641 1.922 1.328 0 0.812-0.422 1.219-1.375 1.656-1.109 0.5-2.625 1.797-2.625 3.313v0.562c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5v0c0-0.359 0.453-1.125 1.188-1.547 1.188-0.672 2.812-1.578 2.812-3.953zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z'></path></svg>");
21
+
22
+ /* source: fontawesome-free-5.15.4-desktop/svgs/solid/chevron-left.svg */
23
+ --treb-sidebar-icon-chevron-left: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 28'><path stroke='none' fill='currentColor' d='M18.297 4.703l-8.297 8.297 8.297 8.297c0.391 0.391 0.391 1.016 0 1.406l-2.594 2.594c-0.391 0.391-1.016 0.391-1.406 0l-11.594-11.594c-0.391-0.391-0.391-1.016 0-1.406l11.594-11.594c0.391-0.391 1.016-0.391 1.406 0l2.594 2.594c0.391 0.391 0.391 1.016 0 1.406z'></path></svg>");
24
+
25
+ /* source: fontawesome-free-5.15.4-desktop/svgs/solid/chevron-right.svg */
26
+ --treb-sidebar-icon-chevron-right: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 28'><path stroke='none' fill='currentColor' d='M17.297 13.703l-11.594 11.594c-0.391 0.391-1.016 0.391-1.406 0l-2.594-2.594c-0.391-0.391-0.391-1.016 0-1.406l8.297-8.297-8.297-8.297c-0.391-0.391-0.391-1.016 0-1.406l2.594-2.594c0.391-0.391 1.016-0.391 1.406 0l11.594 11.594c0.391 0.391 0.391 1.016 0 1.406z'></path></svg>");
27
+
28
+ /* source: fontawesome-free-5.15.4-desktop/svgs/solid/history.svg */
29
+ --treb-sidebar-icon-revert: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'><path stroke='none' fill='currentColor' d='M24 14c0 6.609-5.391 12-12 12-3.578 0-6.953-1.578-9.234-4.328-0.156-0.203-0.141-0.5 0.031-0.672l2.141-2.156c0.109-0.094 0.25-0.141 0.391-0.141 0.141 0.016 0.281 0.078 0.359 0.187 1.531 1.984 3.828 3.109 6.312 3.109 4.406 0 8-3.594 8-8s-3.594-8-8-8c-2.047 0-3.984 0.781-5.437 2.141l2.141 2.156c0.297 0.281 0.375 0.719 0.219 1.078-0.156 0.375-0.516 0.625-0.922 0.625h-7c-0.547 0-1-0.453-1-1v-7c0-0.406 0.25-0.766 0.625-0.922 0.359-0.156 0.797-0.078 1.078 0.219l2.031 2.016c2.203-2.078 5.187-3.313 8.266-3.313 6.609 0 12 5.391 12 12zM14 9.5v7c0 0.281-0.219 0.5-0.5 0.5h-5c-0.281 0-0.5-0.219-0.5-0.5v-1c0-0.281 0.219-0.5 0.5-0.5h3.5v-5.5c0-0.281 0.219-0.5 0.5-0.5h1c0.281 0 0.5 0.219 0.5 0.5z'></path></svg>");
30
+
31
+ /* source: bootstrap-icons-1.8.3/text-left.svg */
32
+ --treb-icon-text-align-left: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path fill-rule='evenodd' d='M2 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z'/> </svg>");
33
+
34
+ /* source: bootstrap-icons-1.8.3/text-center.svg */
35
+ --treb-icon-text-align-center: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path fill-rule='evenodd' d='M4 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z'/> </svg>");
36
+
37
+ /* source: bootstrap-icons-1.8.3/text-right.svg */
38
+ --treb-icon-text-align-right: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path fill-rule='evenodd' d='M6 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm4-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z'/> </svg>");
39
+
40
+ /* source: treb/align-up.svg */
41
+ --treb-icon-text-align-top: url("data:image/svg+xml,<?xml version='1.0' encoding='utf-8'?> <svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='16px' height='16px' viewBox='0 0 16 16' enable-background='new 0 0 16 16' xml:space='preserve'> <path d='M8,15c0.276,0,0.5-0.224,0.5-0.5V5.707l3.146,3.146c0.195,0.195,0.512,0.195,0.707,0s0.195-0.512,0-0.707l-4-4 C8.159,3.951,7.842,3.95,7.647,4.145c0,0,0,0-0.001,0.001l-4,4c-0.195,0.195-0.195,0.512,0,0.707s0.513,0.195,0.708,0L7.5,5.707 V14.5C7.5,14.776,7.724,15,8,15z'/> <line fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' x1='3' y1='1.5' x2='13' y2='1.5'/> </svg> ");
42
+
43
+ /* source: bootstrap-icons-1.8.3/arrows-collapse.svg */
44
+ --treb-icon-text-align-middle: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path fill-rule='evenodd' d='M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8zm7-8a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 4.293V.5A.5.5 0 0 1 8 0zm-.5 11.707-1.146 1.147a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 11.707V15.5a.5.5 0 0 1-1 0v-3.793z'/> </svg>");
45
+
46
+ /* source: treb/align-down.svg */
47
+ --treb-icon-text-align-bottom: url("data:image/svg+xml,<?xml version='1.0' encoding='utf-8'?> <svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='16px' height='16px' viewBox='0 0 16 16' enable-background='new 0 0 16 16' xml:space='preserve'> <path d='M8,1C7.724,1,7.5,1.224,7.5,1.5v8.793L4.354,7.146c-0.195-0.195-0.512-0.195-0.707,0s-0.195,0.512,0,0.707l4,4 c0.195,0.195,0.512,0.196,0.707,0.001c0,0,0,0,0.001-0.001l4-4c0.195-0.195,0.195-0.512,0-0.707s-0.513-0.195-0.708,0L8.5,10.293 V1.5C8.5,1.224,8.276,1,8,1z'/> <line fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' x1='13' y1='14.5' x2='3' y2='14.5'/> </svg> ");
48
+
49
+ /* source: bootstrap-icons-1.8.3/folder.svg */
50
+ --treb-icon-file-menu: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31zM2.19 4a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91h10.348a1 1 0 0 0 .995-.91l.637-7A1 1 0 0 0 13.81 4H2.19zm4.69-1.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707z'/> </svg>");
51
+
52
+ /* source: treb/wrap.svg */
53
+ --treb-icon-wrap-text: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'> <path d='M4,5h8c0.276,0,0.5-0.224,0.5-0.5S12.276,4,12,4H4C3.724,4,3.5,4.224,3.5,4.5S3.724,5,4,5z'/> <path d='M10,8H4C3.724,8,3.5,8.224,3.5,8.5S3.724,9,4,9h6c0.828,0,1.5,0.672,1.5,1.5S10.828,12,10,12v-1.203l-2.953,1.707 L10,14.203V13c1.381,0,2.5-1.119,2.5-2.5S11.381,8,10,8z'/> <path d='M3.75,12.5c0,0.276,0.224,0.5,0.5,0.5H6v-1H4.25C3.974,12,3.75,12.224,3.75,12.5z'/> </svg> ");
54
+
55
+ /* source: bootstrap-icons-1.8.3/fullscreen.svg */
56
+ --treb-icon-unmerge-cells: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M1.5 1a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0v-4A1.5 1.5 0 0 1 1.5 0h4a.5.5 0 0 1 0 1h-4zM10 .5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 16 1.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5zM.5 10a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 0 14.5v-4a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v4a1.5 1.5 0 0 1-1.5 1.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5z'/> </svg>");
57
+
58
+ /* source: bootstrap-icons-1.8.3/fullscreen-exit.svg */
59
+ --treb-icon-merge-cells: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M5.5 0a.5.5 0 0 1 .5.5v4A1.5 1.5 0 0 1 4.5 6h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5zm5 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 10 4.5v-4a.5.5 0 0 1 .5-.5zM0 10.5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 6 11.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5zm10 1a1.5 1.5 0 0 1 1.5-1.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0v-4z'/> </svg>");
60
+
61
+ /* source: bootstrap-icons-1.8.3/lock.svg */
62
+ --treb-icon-lock: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/> </svg>");
63
+
64
+ /* source: bootstrap-icons-1.8.3/chat-square.svg */
65
+ --treb-icon-comment: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z'/> </svg>");
66
+
67
+ /* source: bootstrap-icons-1.8.3/paint-bucket.svg */
68
+ --treb-icon-fill-color: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M6.192 2.78c-.458-.677-.927-1.248-1.35-1.643a2.972 2.972 0 0 0-.71-.515c-.217-.104-.56-.205-.882-.02-.367.213-.427.63-.43.896-.003.304.064.664.173 1.044.196.687.556 1.528 1.035 2.402L.752 8.22c-.277.277-.269.656-.218.918.055.283.187.593.36.903.348.627.92 1.361 1.626 2.068.707.707 1.441 1.278 2.068 1.626.31.173.62.305.903.36.262.05.64.059.918-.218l5.615-5.615c.118.257.092.512.05.939-.03.292-.068.665-.073 1.176v.123h.003a1 1 0 0 0 1.993 0H14v-.057a1.01 1.01 0 0 0-.004-.117c-.055-1.25-.7-2.738-1.86-3.494a4.322 4.322 0 0 0-.211-.434c-.349-.626-.92-1.36-1.627-2.067-.707-.707-1.441-1.279-2.068-1.627-.31-.172-.62-.304-.903-.36-.262-.05-.64-.058-.918.219l-.217.216zM4.16 1.867c.381.356.844.922 1.311 1.632l-.704.705c-.382-.727-.66-1.402-.813-1.938a3.283 3.283 0 0 1-.131-.673c.091.061.204.15.337.274zm.394 3.965c.54.852 1.107 1.567 1.607 2.033a.5.5 0 1 0 .682-.732c-.453-.422-1.017-1.136-1.564-2.027l1.088-1.088c.054.12.115.243.183.365.349.627.92 1.361 1.627 2.068.706.707 1.44 1.278 2.068 1.626.122.068.244.13.365.183l-4.861 4.862a.571.571 0 0 1-.068-.01c-.137-.027-.342-.104-.608-.252-.524-.292-1.186-.8-1.846-1.46-.66-.66-1.168-1.32-1.46-1.846-.147-.265-.225-.47-.251-.607a.573.573 0 0 1-.01-.068l3.048-3.047zm2.87-1.935a2.44 2.44 0 0 1-.241-.561c.135.033.324.11.562.241.524.292 1.186.8 1.846 1.46.45.45.83.901 1.118 1.31a3.497 3.497 0 0 0-1.066.091 11.27 11.27 0 0 1-.76-.694c-.66-.66-1.167-1.322-1.458-1.847z'/> </svg>");
69
+
70
+ /* source: treb/letter.svg */
71
+ --treb-icon-text-color: url("data:image/svg+xml,<?xml version='1.0' encoding='utf-8'?> <svg version='1.1' id='Layer_2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='16px' height='16px' viewBox='0 0 16 16' enable-background='new 0 0 16 16' xml:space='preserve'> <g> <path d='M12.259,14.001l-1.389-3.727H5.465l-1.354,3.727H2.811L7.609,1.397h1.178l4.772,12.604H12.259z M8.418,3.604 c-0.041-0.111-0.084-0.24-0.127-0.387C8.246,3.07,8.21,2.903,8.181,2.716H8.146C8.11,2.903,8.07,3.07,8.027,3.217 C7.982,3.363,7.94,3.492,7.899,3.604L5.86,9.211h4.614L8.418,3.604z'/> </g> </svg> ");
72
+
73
+ /* source: bootstrap-icons-1.8.3/border-bottom.svg */
74
+ --treb-icon-border-bottom: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 15h16v1H0v-1z'/> </svg>");
75
+
76
+ /* source: bootstrap-icons-1.8.3/border-top.svg */
77
+ --treb-icon-border-top: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M0 0v1h16V0H0zm1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z'/> </svg>");
78
+
79
+ /* source: bootstrap-icons-1.8.3/border-left.svg */
80
+ --treb-icon-border-left: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M0 0v16h1V0H0zm1.906 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM7.5 1.906v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM7.5 3.781v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM7.5 5.656v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1.906 8.5h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM7.5 9.406v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-8.5.937v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-8.5.937v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM1.906 16h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z'/> </svg>");
81
+
82
+ /* source: bootstrap-icons-1.8.3/border-right.svg */
83
+ --treb-icon-border-right: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zM16 0h-1v16h1V0zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 11.281v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 13.156v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1z'/> </svg>");
84
+
85
+ /* source: treb/border-double-bottom.svg */
86
+ --treb-icon-border-double-bottom: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='16px' height='16px' viewBox='0 0 16 16' > <path d='M0.969,0H0v0.969h0.5V1h0.469V0.969H1V0.5H0.969V0z M1.906,1h0.938V0H1.906V1z M3.781,1h0.938V0H3.78v1H3.781z M5.656,1 h0.938V0H5.656V1z M7.531,0.969V1h0.938V0.969H8.5V0.5H8.469V0H7.53v0.5H7.5v0.469H7.531z M9.406,1h0.938V0H9.406V1z M11.281,1 h0.938V0h-0.938V1z M13.156,1h0.938V0h-0.938V1z M15.031,1H15.5V0.969H16V0h-0.969v0.5H15v0.469h0.031V1z M1,2.844V1.906H0v0.938H1z M7.5,1.906v0.938h1V1.906H7.5z M15,1.906v0.938h1V1.906H15z M1,4.719V3.78H0v0.938L1,4.719L1,4.719z M7.5,3.781v0.938h1V3.78h-1 V3.781z M15,3.781v0.938h1V3.78h-1V3.781z M1,6.594V5.656H0v0.938H1z M7.5,5.656v0.938h1V5.656H7.5z M15,5.656v0.938h1V5.656H15z M0.5,8.5h0.469V8.469H1V7.53H0.969V7.5H0.5v0.031H0v0.938h0.5V8.5z M1.906,8.5h0.938v-1H1.906V8.5z M3.781,8.5h0.938v-1H3.78v1 H3.781z M5.656,8.5h0.938v-1H5.656V8.5z M8.469,8.5V8.469H8.5V7.53H8.469V7.5H7.53v0.031H7.5v0.938h0.031V8.5H8.469z M9.406,8.5 h0.938v-1H9.406V8.5z M11.281,8.5h0.938v-1h-0.938V8.5z M13.156,8.5h0.938v-1h-0.938V8.5z M15.031,8.5H15.5V8.469H16V7.53h-0.5V7.5 h-0.469v0.031H15v0.938h0.031V8.5z M0,9.406v0.938h1V9.406H0z M7.5,9.406v0.938h1V9.406H7.5z M16,10.344V9.406h-1v0.938H16z M0,11.281v0.938h1v-0.938H0z M7.5,11.281v0.938h1v-0.938H7.5z M16,12.219v-0.938h-1v0.938H16z M0,15h16v1H0V15z M0,13h16v1H0V13z' /> </svg> ");
87
+
88
+ /* source: bootstrap-icons-1.8.3/border-all.svg */
89
+ --treb-icon-border-all: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M0 0h16v16H0V0zm1 1v6.5h6.5V1H1zm7.5 0v6.5H15V1H8.5zM15 8.5H8.5V15H15V8.5zM7.5 15V8.5H1V15h6.5z'/> </svg>");
90
+
91
+ /* source: bootstrap-icons-1.8.3/border-outer.svg */
92
+ --treb-icon-border-outer: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M7.5 1.906v.938h1v-.938h-1zm0 1.875v.938h1V3.78h-1zm0 1.875v.938h1v-.938h-1zM1.906 8.5h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zM7.5 9.406v.938h1v-.938h-1zm0 1.875v.938h1v-.938h-1zm0 1.875v.938h1v-.938h-1z'/> <path d='M0 0v16h16V0H0zm1 1h14v14H1V1z'/> </svg>");
93
+
94
+ /* source: bootstrap-icons-1.8.3/border.svg */
95
+ --treb-icon-border-none: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M0 0h.969v.5H1v.469H.969V1H.5V.969H0V0zm2.844 1h-.938V0h.938v1zm1.875 0H3.78V0h.938v1zm1.875 0h-.938V0h.938v1zm.937 0V.969H7.5V.5h.031V0h.938v.5H8.5v.469h-.031V1H7.53zm2.813 0h-.938V0h.938v1zm1.875 0h-.938V0h.938v1zm1.875 0h-.938V0h.938v1zM15.5 1h-.469V.969H15V.5h.031V0H16v.969h-.5V1zM1 1.906v.938H0v-.938h1zm6.5.938v-.938h1v.938h-1zm7.5 0v-.938h1v.938h-1zM1 3.78v.938H0V3.78h1zm6.5.938V3.78h1v.938h-1zm7.5 0V3.78h1v.938h-1zM1 5.656v.938H0v-.938h1zm6.5.938v-.938h1v.938h-1zm7.5 0v-.938h1v.938h-1zM.969 8.5H.5v-.031H0V7.53h.5V7.5h.469v.031H1v.938H.969V8.5zm1.875 0h-.938v-1h.938v1zm1.875 0H3.78v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875-.031V8.5H7.53v-.031H7.5V7.53h.031V7.5h.938v.031H8.5v.938h-.031zm1.875.031h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.406 0h-.469v-.031H15V7.53h.031V7.5h.469v.031h.5v.938h-.5V8.5zM0 10.344v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM0 12.22v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM0 14.094v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM.969 16H0v-.969h.5V15h.469v.031H1v.469H.969v.5zm1.875 0h-.938v-1h.938v1zm1.875 0H3.78v-1h.938v1zm1.875 0h-.938v-1h.938v1zm.937 0v-.5H7.5v-.469h.031V15h.938v.031H8.5v.469h-.031v.5H7.53zm2.813 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm.937 0v-.5H15v-.469h.031V15h.469v.031h.5V16h-.969z'/> </svg>");
96
+
97
+ /* source: bootstrap-icons-1.8.3/palette2.svg */
98
+ --treb-icon-palette: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M0 .5A.5.5 0 0 1 .5 0h5a.5.5 0 0 1 .5.5v5.277l4.147-4.131a.5.5 0 0 1 .707 0l3.535 3.536a.5.5 0 0 1 0 .708L10.261 10H15.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H3a2.99 2.99 0 0 1-2.121-.879A2.99 2.99 0 0 1 0 13.044m6-.21 7.328-7.3-2.829-2.828L6 7.188v5.647zM4.5 13a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zM15 15v-4H9.258l-4.015 4H15zM0 .5v12.495V.5z'/> <path d='M0 12.995V13a3.07 3.07 0 0 0 0-.005z'/> </svg>");
99
+
100
+ /* source: treb/square.svg */
101
+ --treb-icon-layout: url("data:image/svg+xml,<?xml version='1.0' encoding='utf-8'?> <svg version='1.1' id='Layer_3' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='20px' height='20px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'> <polygon points='3,0 20,17.156 20,17.042 '/> <polygon points='3,0 0,0 0,16 1,16 1,1 2.585,1 19,17.455 19,19 4,19 4,20 20,20 20,17.156 '/> <path d='M6.886,3.922L5.343,5.465c-0.195,0.195-0.195,0.511,0,0.707c0.196,0.195,0.512,0.195,0.708,0l1.539-1.54L6.886,3.922z'/> <path d='M9.702,6.763l-1.53,1.53C7.977,8.488,7.977,8.805,8.172,9c0.195,0.196,0.512,0.196,0.707,0l1.526-1.526L9.702,6.763z'/> <path d='M12.517,9.604L11,11.121c-0.195,0.195-0.195,0.512,0,0.707s0.512,0.195,0.707,0l1.514-1.514L12.517,9.604z'/> <path d='M15.332,12.445l-1.504,1.504c-0.195,0.195-0.195,0.512,0,0.707s0.512,0.195,0.707,0l1.501-1.5L15.332,12.445z'/> <path d='M1,16H0c0,2.209,1.791,4,4,4v-1C2.346,19,1,17.654,1,16z'/> <path d='M5,9v6h6L5,9z M6,11.414L8.586,14H6V11.414z'/> </svg> ");
102
+
103
+ /* source: bootstrap-icons-1.8.3/snow.svg */
104
+ --treb-icon-freeze: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M8 16a.5.5 0 0 1-.5-.5v-1.293l-.646.647a.5.5 0 0 1-.707-.708L7.5 12.793V8.866l-3.4 1.963-.496 1.85a.5.5 0 1 1-.966-.26l.237-.882-1.12.646a.5.5 0 0 1-.5-.866l1.12-.646-.884-.237a.5.5 0 1 1 .26-.966l1.848.495L7 8 3.6 6.037l-1.85.495a.5.5 0 0 1-.258-.966l.883-.237-1.12-.646a.5.5 0 1 1 .5-.866l1.12.646-.237-.883a.5.5 0 1 1 .966-.258l.495 1.849L7.5 7.134V3.207L6.147 1.854a.5.5 0 1 1 .707-.708l.646.647V.5a.5.5 0 1 1 1 0v1.293l.647-.647a.5.5 0 1 1 .707.708L8.5 3.207v3.927l3.4-1.963.496-1.85a.5.5 0 1 1 .966.26l-.236.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.883.237a.5.5 0 1 1-.26.966l-1.848-.495L9 8l3.4 1.963 1.849-.495a.5.5 0 0 1 .259.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.236.883a.5.5 0 1 1-.966.258l-.495-1.849-3.4-1.963v3.927l1.353 1.353a.5.5 0 0 1-.707.708l-.647-.647V15.5a.5.5 0 0 1-.5.5z'/> </svg>");
105
+
106
+ /* source: treb/column-chart.svg */
107
+ --treb-icon-column-chart: url("data:image/svg+xml,<?xml version='1.0' encoding='utf-8'?> <svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='20px' height='20px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'> <path d='M4.5,17.5C4.5,17.776,4.276,18,4,18l0,0c-0.276,0-0.5-0.224-0.5-0.5v-5C3.5,12.224,3.724,12,4,12l0,0 c0.276,0,0.5,0.224,0.5,0.5V17.5z'/> <path d='M12.5,17.5c0,0.276-0.224,0.5-0.5,0.5l0,0c-0.276,0-0.5-0.224-0.5-0.5v-9C11.5,8.224,11.724,8,12,8l0,0 c0.276,0,0.5,0.224,0.5,0.5V17.5z'/> <path d='M16.5,17.5c0,0.276-0.224,0.5-0.5,0.5l0,0c-0.276,0-0.5-0.224-0.5-0.5v-13C15.5,4.224,15.724,4,16,4l0,0 c0.276,0,0.5,0.224,0.5,0.5V17.5z'/> <path d='M8.5,17.5C8.5,17.776,8.276,18,8,18l0,0c-0.276,0-0.5-0.224-0.5-0.5v-14C7.5,3.224,7.724,3,8,3l0,0 c0.276,0,0.5,0.224,0.5,0.5V17.5z'/> </svg> ");
108
+
109
+ /* source: treb/donut-chart.svg */
110
+ --treb-icon-donut-chart: url("data:image/svg+xml,<?xml version='1.0' encoding='utf-8'?> <svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='20px' height='20px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'> <path d='M12,1.23v1.548C14.526,3.479,16.5,5.477,17.203,8h1.565C18.004,4.639,15.362,1.995,12,1.23z'/> <path d='M2.5,10c0-3.51,2.426-6.456,5.688-7.27V1.183C4.085,2.021,1,5.65,1,10c0,1.761,0.513,3.397,1.387,4.784l1.093-1.093 C2.859,12.601,2.5,11.343,2.5,10z'/> <path d='M17.221,12c-0.878,3.166-3.778,5.5-7.221,5.5c-1.343,0-2.601-0.359-3.692-0.979l-1.093,1.093C6.603,18.487,8.24,19,10,19 c4.282,0,7.859-2.993,8.77-7H17.221z'/> </svg> ");
111
+
112
+ /* source: treb/bar-chart.svg */
113
+ --treb-icon-bar-chart: url("data:image/svg+xml,<?xml version='1.0' encoding='utf-8'?> <svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='20px' height='20px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'> <path d='M2.5,4.5C2.224,4.5,2,4.276,2,4l0,0c0-0.276,0.224-0.5,0.5-0.5h5C7.776,3.5,8,3.724,8,4l0,0c0,0.276-0.224,0.5-0.5,0.5H2.5z '/> <path d='M2.5,12.5C2.224,12.5,2,12.276,2,12l0,0c0-0.276,0.224-0.5,0.5-0.5h9c0.276,0,0.5,0.224,0.5,0.5l0,0 c0,0.276-0.224,0.5-0.5,0.5H2.5z'/> <path d='M2.5,16.5C2.224,16.5,2,16.276,2,16l0,0c0-0.276,0.224-0.5,0.5-0.5h13c0.276,0,0.5,0.224,0.5,0.5l0,0 c0,0.276-0.224,0.5-0.5,0.5H2.5z'/> <path d='M2.5,8.5C2.224,8.5,2,8.276,2,8l0,0c0-0.276,0.224-0.5,0.5-0.5h14C16.776,7.5,17,7.724,17,8l0,0c0,0.276-0.224,0.5-0.5,0.5 H2.5z'/> </svg> ");
114
+
115
+ /* source: treb/line-chart.svg */
116
+ --treb-icon-line-chart: url("data:image/svg+xml,<?xml version='1.0' encoding='utf-8'?> <svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='20px' height='20px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'> <polygon points='1,8 4,5 11,10 19,2 19,4 11,12 4,7 1,10 '/> </svg> ");
117
+
118
+ /* source: bootstrap-icons-1.8.3/image.svg */
119
+ --treb-icon-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M6.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z'/> <path d='M2.002 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-12zm12 1a1 1 0 0 1 1 1v6.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12V3a1 1 0 0 1 1-1h12z'/> </svg>");
120
+
121
+ /* source: treb/rotate.svg */
122
+ --treb-icon-recalculate: url("data:image/svg+xml,<?xml version='1.0' encoding='utf-8'?> <svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='20px' height='20px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'> <path d='M9.478,4.022c2.402-0.209,4.583,1.047,5.711,3.014l1.083-0.095c-1.233-2.528-3.912-4.175-6.881-3.916 c-2.97,0.26-5.321,2.347-6.098,5.051l1.083-0.095C5.144,5.849,7.074,4.233,9.478,4.022z'/> <path d='M10.523,15.977c-2.403,0.211-4.585-1.047-5.712-3.013l-1.08,0.095c1.234,2.527,3.91,4.175,6.879,3.914 c2.971-0.259,5.32-2.347,6.095-5.05l-1.08,0.095C14.856,14.15,12.926,15.767,10.523,15.977z'/> <polygon points='2.272,15.616 7.469,12.616 3.371,11.519 '/> <polygon points='17.728,4.384 12.531,7.384 16.629,8.482 '/> <path d='M10,10'/> </svg> ");
123
+
124
+ /* source: bootstrap-icons-1.8.3/check2.svg */
125
+ --treb-icon-check: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'> <path d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/> </svg>");
126
+
127
+ /* source: bootstrap-icons-1.8.3/table.svg */
128
+ --treb-icon-table: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'><path d='M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 2h-4v3h4V4zm0 4h-4v3h4V8zm0 4h-4v3h3a1 1 0 0 0 1-1v-2zm-5 3v-3H6v3h4zm-5 0v-3H1v2a1 1 0 0 0 1 1h3zm-4-4h4V8H1v3zm0-4h4V4H1v3zm5-3v3h4V4H6zm4 4H6v3h4V8z'/></svg>");
129
+
130
+ }