@trebco/treb 32.3.3 → 32.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/treb-spreadsheet.mjs +10 -10
  2. package/package.json +1 -1
  3. package/treb-base-types/src/api_types.ts +1 -1
  4. package/treb-base-types/src/area-utils.ts +1 -1
  5. package/treb-base-types/src/area.ts +1 -1
  6. package/treb-base-types/src/basic_types.ts +1 -1
  7. package/treb-base-types/src/cell.ts +1 -1
  8. package/treb-base-types/src/cells.ts +1 -1
  9. package/treb-base-types/src/color.ts +1 -1
  10. package/treb-base-types/src/dom-utilities.ts +1 -1
  11. package/treb-base-types/src/evaluate-options.ts +21 -0
  12. package/treb-base-types/src/font-stack.ts +1 -1
  13. package/treb-base-types/src/gradient.ts +21 -0
  14. package/treb-base-types/src/import.ts +1 -1
  15. package/treb-base-types/src/index-standalone.ts +1 -1
  16. package/treb-base-types/src/index.ts +1 -1
  17. package/treb-base-types/src/layout.ts +1 -1
  18. package/treb-base-types/src/localization.ts +1 -1
  19. package/treb-base-types/src/rectangle.ts +1 -1
  20. package/treb-base-types/src/render_text.ts +1 -1
  21. package/treb-base-types/src/style.ts +20 -1
  22. package/treb-base-types/src/table.ts +1 -1
  23. package/treb-base-types/src/text_part.ts +1 -1
  24. package/treb-base-types/src/theme.ts +1 -1
  25. package/treb-base-types/src/union.ts +1 -1
  26. package/treb-base-types/src/value-type.ts +1 -1
  27. package/treb-base-types/style/resizable.css +1 -1
  28. package/treb-calculator/src/calculator.ts +5 -4
  29. package/treb-calculator/src/complex-math.ts +1 -1
  30. package/treb-calculator/src/dag/array-vertex.ts +1 -1
  31. package/treb-calculator/src/dag/calculation_leaf_vertex.ts +1 -1
  32. package/treb-calculator/src/dag/graph.ts +1 -1
  33. package/treb-calculator/src/dag/spreadsheet_vertex.ts +1 -1
  34. package/treb-calculator/src/dag/spreadsheet_vertex_base.ts +1 -1
  35. package/treb-calculator/src/dag/state_leaf_vertex.ts +1 -1
  36. package/treb-calculator/src/dag/vertex.ts +1 -1
  37. package/treb-calculator/src/descriptors.ts +1 -1
  38. package/treb-calculator/src/expression-calculator.ts +2 -2
  39. package/treb-calculator/src/function-error.ts +1 -1
  40. package/treb-calculator/src/function-library.ts +1 -1
  41. package/treb-calculator/src/functions/base-functions.ts +26 -4
  42. package/treb-calculator/src/functions/beta.ts +1 -1
  43. package/treb-calculator/src/functions/checkbox.ts +1 -1
  44. package/treb-calculator/src/functions/complex-functions.ts +1 -1
  45. package/treb-calculator/src/functions/date-utils.ts +1 -1
  46. package/treb-calculator/src/functions/finance-functions.ts +1 -1
  47. package/treb-calculator/src/functions/fp.ts +1 -1
  48. package/treb-calculator/src/functions/function-utilities.ts +21 -0
  49. package/treb-calculator/src/functions/gamma.ts +1 -1
  50. package/treb-calculator/src/functions/information-functions.ts +1 -1
  51. package/treb-calculator/src/functions/lambda-functions.ts +1 -1
  52. package/treb-calculator/src/functions/matrix-functions.ts +1 -1
  53. package/treb-calculator/src/functions/regex-functions.ts +1 -1
  54. package/treb-calculator/src/functions/sparkline.ts +1 -1
  55. package/treb-calculator/src/functions/statistics-functions.ts +1 -1
  56. package/treb-calculator/src/functions/text-functions.ts +1 -1
  57. package/treb-calculator/src/index.ts +1 -1
  58. package/treb-calculator/src/notifier-types.ts +1 -1
  59. package/treb-calculator/src/primitives.ts +1 -1
  60. package/treb-calculator/src/utilities.ts +1 -1
  61. package/treb-charts/src/chart-functions.ts +1 -1
  62. package/treb-charts/src/chart-types.ts +1 -1
  63. package/treb-charts/src/chart-utils.ts +1 -1
  64. package/treb-charts/src/chart.ts +21 -0
  65. package/treb-charts/src/default-chart-renderer.ts +21 -0
  66. package/treb-charts/src/index.ts +1 -1
  67. package/treb-charts/src/main.ts +1 -1
  68. package/treb-charts/src/quicksort.ts +1 -1
  69. package/treb-charts/src/rectangle.ts +1 -1
  70. package/treb-charts/src/renderer-type.ts +21 -0
  71. package/treb-charts/src/renderer.ts +1 -1
  72. package/treb-charts/src/util.ts +1 -1
  73. package/treb-charts/style/charts.scss +1 -1
  74. package/treb-data-model/src/annotation.ts +1 -1
  75. package/treb-data-model/src/conditional_format.ts +34 -2
  76. package/treb-data-model/src/data-validation.ts +21 -0
  77. package/treb-data-model/src/data_model.ts +1 -1
  78. package/treb-data-model/src/index.ts +1 -1
  79. package/treb-data-model/src/language-model.ts +1 -1
  80. package/treb-data-model/src/named.ts +1 -1
  81. package/treb-data-model/src/serialize_options.ts +1 -1
  82. package/treb-data-model/src/sheet.ts +43 -30
  83. package/treb-data-model/src/sheet_collection.ts +21 -0
  84. package/treb-data-model/src/sheet_selection.ts +1 -1
  85. package/treb-data-model/src/sheet_types.ts +1 -1
  86. package/treb-data-model/src/types.ts +21 -0
  87. package/treb-embed/src/content-types.d.ts +21 -0
  88. package/treb-embed/src/custom-element/global.d.ts +21 -0
  89. package/treb-embed/src/custom-element/spreadsheet-constructor.ts +21 -0
  90. package/treb-embed/src/custom-element/treb-global.ts +21 -0
  91. package/treb-embed/src/custom-element/treb-spreadsheet-element.ts +21 -0
  92. package/treb-embed/src/embedded-spreadsheet.ts +40 -1
  93. package/treb-embed/src/export-worker.ts +1 -1
  94. package/treb-embed/src/index.ts +21 -0
  95. package/treb-embed/src/options.ts +1 -1
  96. package/treb-embed/src/plugin.ts +1 -1
  97. package/treb-embed/src/progress-dialog.ts +1 -1
  98. package/treb-embed/src/selection-state.ts +21 -0
  99. package/treb-embed/src/spinner.ts +1 -1
  100. package/treb-embed/src/toolbar-message.ts +21 -0
  101. package/treb-embed/src/types.ts +1 -1
  102. package/treb-embed/style/autocomplete.scss +1 -1
  103. package/treb-embed/style/dark-theme.scss +1 -1
  104. package/treb-embed/style/defaults.scss +1 -1
  105. package/treb-embed/style/dialog.scss +1 -1
  106. package/treb-embed/style/dropdown-select.scss +1 -1
  107. package/treb-embed/style/font-stacks.scss +1 -1
  108. package/treb-embed/style/formula-bar.scss +1 -1
  109. package/treb-embed/style/grid.scss +1 -1
  110. package/treb-embed/style/layout.scss +21 -0
  111. package/treb-embed/style/mouse-mask.scss +1 -1
  112. package/treb-embed/style/note.scss +1 -1
  113. package/treb-embed/style/overlay-editor.scss +1 -1
  114. package/treb-embed/style/spinner.scss +1 -1
  115. package/treb-embed/style/tab-bar.scss +1 -1
  116. package/treb-embed/style/table.scss +1 -1
  117. package/treb-embed/style/theme-defaults.scss +1 -1
  118. package/treb-embed/style/toolbar.scss +26 -0
  119. package/treb-embed/style/tooltip.scss +1 -1
  120. package/treb-embed/style/treb-icons.scss +21 -0
  121. package/treb-embed/style/treb-spreadsheet-element.scss +21 -0
  122. package/treb-embed/style/z-index.scss +1 -1
  123. package/treb-export/src/address-type.ts +1 -1
  124. package/treb-export/src/base-template.ts +1 -1
  125. package/treb-export/src/column-width.ts +1 -1
  126. package/treb-export/src/drawing2/bubble-chart-template.ts +1 -1
  127. package/treb-export/src/drawing2/chart-template-components2.ts +1 -1
  128. package/treb-export/src/drawing2/chart2.ts +1 -1
  129. package/treb-export/src/drawing2/column-chart-template2.ts +1 -1
  130. package/treb-export/src/drawing2/donut-chart-template2.ts +1 -1
  131. package/treb-export/src/drawing2/drawing2.ts +1 -1
  132. package/treb-export/src/drawing2/embedded-image.ts +1 -1
  133. package/treb-export/src/drawing2/scatter-chart-template2.ts +1 -1
  134. package/treb-export/src/export.ts +2 -2
  135. package/treb-export/src/import.ts +1 -1
  136. package/treb-export/src/index.worker.ts +1 -1
  137. package/treb-export/src/relationship.ts +1 -1
  138. package/treb-export/src/shared-strings2.ts +1 -1
  139. package/treb-export/src/template-2.ts +1 -1
  140. package/treb-export/src/unescape_xml.ts +21 -0
  141. package/treb-export/src/workbook-sheet2.ts +1 -1
  142. package/treb-export/src/workbook-style2.ts +1 -1
  143. package/treb-export/src/workbook-theme2.ts +1 -1
  144. package/treb-export/src/workbook2.ts +1 -1
  145. package/treb-export/src/xml-test.ts +21 -0
  146. package/treb-export/src/xml-utils.ts +1 -1
  147. package/treb-export/src/zip-wrapper.ts +21 -0
  148. package/treb-format/src/format.test.ts +1 -1
  149. package/treb-format/src/format.ts +1 -1
  150. package/treb-format/src/format_cache.ts +1 -1
  151. package/treb-format/src/format_parser.ts +1 -1
  152. package/treb-format/src/index.ts +1 -1
  153. package/treb-format/src/number_format_section.ts +1 -1
  154. package/treb-format/src/value_parser.ts +1 -1
  155. package/treb-grid/src/editors/autocomplete.ts +1 -1
  156. package/treb-grid/src/editors/autocomplete_matcher.ts +1 -1
  157. package/treb-grid/src/editors/editor.ts +1 -1
  158. package/treb-grid/src/editors/external_editor.ts +21 -0
  159. package/treb-grid/src/editors/formula_bar.ts +1 -1
  160. package/treb-grid/src/editors/overlay_editor.ts +1 -1
  161. package/treb-grid/src/index.ts +1 -1
  162. package/treb-grid/src/layout/base_layout.ts +1 -1
  163. package/treb-grid/src/layout/grid_layout.ts +1 -1
  164. package/treb-grid/src/layout/mock-layout.ts +21 -0
  165. package/treb-grid/src/render/selection-renderer.ts +1 -1
  166. package/treb-grid/src/render/svg_header_overlay.ts +1 -1
  167. package/treb-grid/src/render/svg_selection_block.ts +1 -1
  168. package/treb-grid/src/render/tile_renderer.ts +45 -3
  169. package/treb-grid/src/types/border_constants.ts +1 -1
  170. package/treb-grid/src/types/clipboard_data.ts +1 -1
  171. package/treb-grid/src/types/clipboard_data2.ts +1 -1
  172. package/treb-grid/src/types/drag_mask.ts +1 -1
  173. package/treb-grid/src/types/external_editor_config.ts +21 -0
  174. package/treb-grid/src/types/grid.ts +1 -1
  175. package/treb-grid/src/types/grid_base.ts +1 -1
  176. package/treb-grid/src/types/grid_command.ts +1 -1
  177. package/treb-grid/src/types/grid_events.ts +1 -1
  178. package/treb-grid/src/types/grid_options.ts +1 -1
  179. package/treb-grid/src/types/scale-control.ts +1 -1
  180. package/treb-grid/src/types/set_range_options.ts +1 -1
  181. package/treb-grid/src/types/tab_bar.ts +1 -1
  182. package/treb-grid/src/types/tile.ts +1 -1
  183. package/treb-grid/src/types/update_flags.ts +1 -1
  184. package/treb-grid/src/util/fontmetrics.ts +1 -1
  185. package/treb-grid/src/util/ua.ts +1 -1
  186. package/treb-parser/src/csv-parser.ts +1 -1
  187. package/treb-parser/src/index.ts +1 -1
  188. package/treb-parser/src/md-parser.ts +1 -1
  189. package/treb-parser/src/parser-types.ts +15 -1
  190. package/treb-parser/src/parser.ts +40 -7
  191. package/treb-utils/src/event_source.ts +1 -1
  192. package/treb-utils/src/ievent_source.ts +1 -1
  193. package/treb-utils/src/index.ts +1 -1
  194. package/treb-utils/src/measurement.ts +1 -1
  195. package/treb-utils/src/scale.ts +1 -1
  196. package/treb-utils/src/serialize_html.ts +1 -1
  197. package/treb-utils/src/validate_uri.ts +21 -0
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -393,6 +393,12 @@ export interface OptionalParserFlags {
393
393
  */
394
394
  r1c1: boolean,
395
395
 
396
+ /**
397
+ * handle r1c1 properly, which is to say use absolute addressing
398
+ * for absolute references and relative addressing otherwise. this should
399
+ * be the default, but I don't want to break anything.
400
+ */
401
+ r1c1_proper_semantics: boolean;
396
402
 
397
403
  /* *
398
404
  * what if we do want =1/2 to be a fraction? more importantly, if we are
@@ -448,6 +454,14 @@ export interface RenderOptions {
448
454
  /** force addresses to be relative */
449
455
  r1c1_force_relative?: boolean;
450
456
 
457
+ /**
458
+ * handle r1c1 properly, which is to say use absolute addressing
459
+ * for absolute references and relative addressing otherwise (assuming
460
+ * there's a base set). this should be the default, but I don't want
461
+ * to break anything.
462
+ */
463
+ r1c1_proper_semantics?: boolean;
464
+
451
465
  /** if we're just translating, don't have to render addresses */
452
466
  pass_through_addresses?: boolean;
453
467
 
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -602,15 +602,15 @@ export class Parser {
602
602
  if (options.pass_through_addresses) {
603
603
  return unit.label;
604
604
  }
605
- return options.r1c1 ? this.R1C1Label(unit, options.r1c1_base, options.r1c1_force_relative) : this.AddressLabel(unit, offset);
605
+ return options.r1c1 ? this.R1C1Label(unit, options) : this.AddressLabel(unit, offset);
606
606
 
607
607
  case 'range':
608
608
  if (options.pass_through_addresses) {
609
609
  return unit.label;
610
610
  }
611
611
  return options.r1c1 ?
612
- this.R1C1Label(unit.start, options.r1c1_base, options.r1c1_force_relative) + ':' +
613
- this.R1C1Label(unit.end, options.r1c1_base, options.r1c1_force_relative) :
612
+ this.R1C1Label(unit.start, options) + ':' +
613
+ this.R1C1Label(unit.end, options) :
614
614
  this.AddressLabel(unit.start, offset) + ':' + this.AddressLabel(unit.end, offset);
615
615
 
616
616
  case 'missing':
@@ -962,10 +962,14 @@ export class Parser {
962
962
  */
963
963
  protected R1C1Label(
964
964
  address: UnitAddress,
965
- base?: UnitAddress,
966
- force_relative = false,
965
+ options: Partial<RenderOptions>,
966
+ // base?: UnitAddress,
967
+ // force_relative = false,
967
968
  ): string {
968
969
 
970
+ const force_relative = !!options.r1c1_force_relative;
971
+ const base = options.r1c1_base;
972
+
969
973
  let label = '';
970
974
 
971
975
  if (address.sheet) { // && (!base?.sheet || base?.sheet !== address.sheet)) {
@@ -976,7 +980,30 @@ export class Parser {
976
980
  let row = '';
977
981
  let column = '';
978
982
 
979
- if (force_relative && base) {
983
+ if (force_relative && options.r1c1_proper_semantics && base) {
984
+
985
+ if (address.absolute_row) {
986
+ row = (address.row + 1).toString();
987
+ }
988
+ else {
989
+ const delta_row = address.row - base.row;
990
+ if (delta_row) {
991
+ row = `[${delta_row}]`;
992
+ }
993
+ }
994
+
995
+ if (address.absolute_column) {
996
+ column = (address.column + 1).toString();
997
+ }
998
+ else {
999
+ const delta_column = address.column - base.column;
1000
+ if (delta_column) {
1001
+ column = `[${delta_column}]`;
1002
+ }
1003
+ }
1004
+
1005
+ }
1006
+ else if (force_relative && base) {
980
1007
  const delta_row = address.row - base.row;
981
1008
  const delta_column = address.column - base.column;
982
1009
 
@@ -2527,6 +2554,9 @@ export class Parser {
2527
2554
  }
2528
2555
  else if (match[1]){ // absolute
2529
2556
  r1c1.row = Number(match[1]) - 1; // R1C1 is 1-based
2557
+ if (this.flags.r1c1_proper_semantics) {
2558
+ r1c1.absolute_row = true;
2559
+ }
2530
2560
  }
2531
2561
  else {
2532
2562
  r1c1.offset_row = true;
@@ -2539,6 +2569,9 @@ export class Parser {
2539
2569
  }
2540
2570
  else if (match[2]) { // absolute
2541
2571
  r1c1.column = Number(match[2]) - 1; // R1C1 is 1-based
2572
+ if (this.flags.r1c1_proper_semantics) {
2573
+ r1c1.absolute_column = true;
2574
+ }
2542
2575
  }
2543
2576
  else {
2544
2577
  r1c1.offset_column = true;
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU General Public License along
15
15
  * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
16
  *
17
- * Copyright 2022-2024 trebco, llc.
17
+ * Copyright 2022-2025 trebco, llc.
18
18
  * info@treb.app
19
19
  *
20
20
  */
@@ -1,3 +1,24 @@
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-2025 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+
1
22
 
2
23
  /**
3
24
  * TODO: possibly add an allow-list for remotes