@postxl/generators 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/dist/backend-core/template/apps/api/src/e2e.ts +13 -4
  2. package/dist/e2e/e2e.generator.js +2 -14
  3. package/dist/e2e/e2e.generator.js.map +1 -1
  4. package/dist/e2e/generators/docker-sh.generator.d.ts +2 -0
  5. package/dist/e2e/generators/docker-sh.generator.js +25 -0
  6. package/dist/e2e/generators/docker-sh.generator.js.map +1 -0
  7. package/dist/frontend-core/frontend.generator.d.ts +0 -58
  8. package/dist/frontend-core/frontend.generator.js +6 -172
  9. package/dist/frontend-core/frontend.generator.js.map +1 -1
  10. package/dist/frontend-core/template/README.md +1 -1
  11. package/dist/frontend-core/template/src/components/admin/table-filter.tsx +1 -5
  12. package/dist/frontend-core/template/src/components/ui/color-mode-toggle/color-mode-toggle.tsx +10 -4
  13. package/dist/frontend-core/template/src/context-providers/auth-context-provider.tsx +2 -5
  14. package/dist/frontend-core/template/src/pages/dashboard/dashboard.page.tsx +2 -3
  15. package/dist/frontend-core/template/src/pages/error/default-error.page.tsx +1 -1
  16. package/dist/frontend-core/template/src/pages/error/not-found-error.page.tsx +1 -1
  17. package/dist/frontend-core/template/src/styles/styles.css +13 -1
  18. package/dist/frontend-core/template/tsconfig.json +2 -0
  19. package/dist/frontend-core/types/component.d.ts +1 -1
  20. package/dist/frontend-forms/generators/discriminated-union/fields.generator.js +4 -6
  21. package/dist/frontend-forms/generators/discriminated-union/fields.generator.js.map +1 -1
  22. package/dist/frontend-forms/generators/discriminated-union/inputs.generator.js +1 -1
  23. package/dist/frontend-forms/generators/discriminated-union/inputs.generator.js.map +1 -1
  24. package/dist/frontend-forms/generators/enum/inputs.generator.js +1 -1
  25. package/dist/frontend-forms/generators/enum/inputs.generator.js.map +1 -1
  26. package/dist/frontend-forms/generators/model/forms.generator.js +8 -12
  27. package/dist/frontend-forms/generators/model/forms.generator.js.map +1 -1
  28. package/dist/frontend-forms/generators/model/inputs.generator.js +2 -6
  29. package/dist/frontend-forms/generators/model/inputs.generator.js.map +1 -1
  30. package/dist/frontend-forms/template/src/components/ui/field/field.tsx +1 -4
  31. package/dist/frontend-tables/generators/model-table.generator.js +1 -5
  32. package/dist/frontend-tables/generators/model-table.generator.js.map +1 -1
  33. package/package.json +3 -2
  34. package/dist/e2e/template/scripts/docker.sh +0 -17
  35. package/dist/frontend-core/template/src/components/ui/accordion/accordion.stories.tsx +0 -47
  36. package/dist/frontend-core/template/src/components/ui/accordion/accordion.tsx +0 -52
  37. package/dist/frontend-core/template/src/components/ui/admin-sidebar/admin-sidebar.tsx +0 -195
  38. package/dist/frontend-core/template/src/components/ui/alert/alert.stories.tsx +0 -61
  39. package/dist/frontend-core/template/src/components/ui/alert/alert.tsx +0 -45
  40. package/dist/frontend-core/template/src/components/ui/alert-dialog/alert-dialog.stories.tsx +0 -52
  41. package/dist/frontend-core/template/src/components/ui/alert-dialog/alert-dialog.tsx +0 -105
  42. package/dist/frontend-core/template/src/components/ui/avatar/avatar.stories.tsx +0 -30
  43. package/dist/frontend-core/template/src/components/ui/avatar/avatar.tsx +0 -39
  44. package/dist/frontend-core/template/src/components/ui/badge/badge.stories.tsx +0 -78
  45. package/dist/frontend-core/template/src/components/ui/badge/badge.tsx +0 -48
  46. package/dist/frontend-core/template/src/components/ui/breadcrumb/breadcrumb.stories.tsx +0 -67
  47. package/dist/frontend-core/template/src/components/ui/breadcrumb/breadcrumb.tsx +0 -85
  48. package/dist/frontend-core/template/src/components/ui/button/button.stories.tsx +0 -150
  49. package/dist/frontend-core/template/src/components/ui/button/button.tsx +0 -68
  50. package/dist/frontend-core/template/src/components/ui/calendar/calendar.stories.tsx +0 -160
  51. package/dist/frontend-core/template/src/components/ui/calendar/calendar.tsx +0 -293
  52. package/dist/frontend-core/template/src/components/ui/card/card.stories.tsx +0 -77
  53. package/dist/frontend-core/template/src/components/ui/card/card.tsx +0 -45
  54. package/dist/frontend-core/template/src/components/ui/card-hover/card-hover.stories.tsx +0 -29
  55. package/dist/frontend-core/template/src/components/ui/card-hover/card-hover.tsx +0 -28
  56. package/dist/frontend-core/template/src/components/ui/carousel/carousel.stories.tsx +0 -154
  57. package/dist/frontend-core/template/src/components/ui/carousel/carousel.tsx +0 -227
  58. package/dist/frontend-core/template/src/components/ui/checkbox/checkbox.stories.tsx +0 -106
  59. package/dist/frontend-core/template/src/components/ui/checkbox/checkbox.tsx +0 -88
  60. package/dist/frontend-core/template/src/components/ui/checkbox/shadcn-checkbox.stories.tsx +0 -90
  61. package/dist/frontend-core/template/src/components/ui/checkbox/shadcn-checkbox.tsx +0 -54
  62. package/dist/frontend-core/template/src/components/ui/collapse/collapse.stories.tsx +0 -52
  63. package/dist/frontend-core/template/src/components/ui/collapse/collapse.tsx +0 -9
  64. package/dist/frontend-core/template/src/components/ui/combobox/combobox.stories.tsx +0 -207
  65. package/dist/frontend-core/template/src/components/ui/combobox/combobox.tsx +0 -79
  66. package/dist/frontend-core/template/src/components/ui/command/command.stories.tsx +0 -186
  67. package/dist/frontend-core/template/src/components/ui/command/command.tsx +0 -165
  68. package/dist/frontend-core/template/src/components/ui/command-palette/command-palette.stories.tsx +0 -160
  69. package/dist/frontend-core/template/src/components/ui/command-palette/command-palette.tsx +0 -134
  70. package/dist/frontend-core/template/src/components/ui/content-frame/content-frame.stories.tsx +0 -198
  71. package/dist/frontend-core/template/src/components/ui/content-frame/content-frame.tsx +0 -100
  72. package/dist/frontend-core/template/src/components/ui/context-menu/context-menu.stories.tsx +0 -78
  73. package/dist/frontend-core/template/src/components/ui/context-menu/context-menu.tsx +0 -179
  74. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/cell-variant-types.ts +0 -11
  75. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/checkbox-cell.tsx +0 -116
  76. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/date-cell.tsx +0 -157
  77. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/gantt-cell.tsx +0 -82
  78. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/long-text-cell.tsx +0 -180
  79. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/multi-select-cell.tsx +0 -280
  80. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/number-cell.tsx +0 -169
  81. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/react-node-cell.tsx +0 -33
  82. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/select-cell.tsx +0 -175
  83. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/short-text-cell.tsx +0 -138
  84. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/utils/gantt-timeline.tsx +0 -92
  85. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/utils/gantt-timerange-picker.tsx +0 -330
  86. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-cell-wrapper.tsx +0 -212
  87. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-cell.tsx +0 -157
  88. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-column-header.tsx +0 -340
  89. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-context-menu.tsx +0 -271
  90. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-row.tsx +0 -123
  91. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-search.tsx +0 -211
  92. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-types.ts +0 -159
  93. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-utils.ts +0 -67
  94. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-view-menu.tsx +0 -360
  95. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid.stories.tsx +0 -780
  96. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid.tsx +0 -217
  97. package/dist/frontend-core/template/src/components/ui/data-grid/hooks/use-callback-ref.ts +0 -22
  98. package/dist/frontend-core/template/src/components/ui/data-grid/hooks/use-data-grid.tsx +0 -1892
  99. package/dist/frontend-core/template/src/components/ui/data-grid/hooks/use-debounced-callback.ts +0 -19
  100. package/dist/frontend-core/template/src/components/ui/data-grid/styles.css +0 -3
  101. package/dist/frontend-core/template/src/components/ui/data-table/context-menu-simple.tsx +0 -141
  102. package/dist/frontend-core/template/src/components/ui/data-table/data-table.stories.tsx +0 -146
  103. package/dist/frontend-core/template/src/components/ui/data-table/data-table.tsx +0 -447
  104. package/dist/frontend-core/template/src/components/ui/data-table/renderers/country-array-cell-renderer.tsx +0 -77
  105. package/dist/frontend-core/template/src/components/ui/data-table/renderers/country-cell-renderer.tsx +0 -56
  106. package/dist/frontend-core/template/src/components/ui/data-table/renderers/favorite-cell-renderer.tsx +0 -68
  107. package/dist/frontend-core/template/src/components/ui/data-table/renderers/links-cell-renderer.tsx +0 -205
  108. package/dist/frontend-core/template/src/components/ui/data-table/utils/columns.ts +0 -351
  109. package/dist/frontend-core/template/src/components/ui/data-table/utils/data-table.utils.ts +0 -49
  110. package/dist/frontend-core/template/src/components/ui/date-picker/date-picker.stories.tsx +0 -149
  111. package/dist/frontend-core/template/src/components/ui/date-picker/date-picker.tsx +0 -30
  112. package/dist/frontend-core/template/src/components/ui/dialog/dialog.stories.tsx +0 -80
  113. package/dist/frontend-core/template/src/components/ui/dialog/dialog.tsx +0 -134
  114. package/dist/frontend-core/template/src/components/ui/drawer/drawer.stories.tsx +0 -104
  115. package/dist/frontend-core/template/src/components/ui/drawer/drawer.tsx +0 -87
  116. package/dist/frontend-core/template/src/components/ui/dropdown-menu/dropdown-menu.stories.tsx +0 -168
  117. package/dist/frontend-core/template/src/components/ui/dropdown-menu/dropdown-menu.tsx +0 -225
  118. package/dist/frontend-core/template/src/components/ui/input/input.stories.tsx +0 -141
  119. package/dist/frontend-core/template/src/components/ui/input/input.tsx +0 -47
  120. package/dist/frontend-core/template/src/components/ui/label/label.stories.tsx +0 -41
  121. package/dist/frontend-core/template/src/components/ui/label/label.tsx +0 -20
  122. package/dist/frontend-core/template/src/components/ui/loader/loader.stories.tsx +0 -45
  123. package/dist/frontend-core/template/src/components/ui/loader/loader.tsx +0 -17
  124. package/dist/frontend-core/template/src/components/ui/mark-value-renderer/mark-value-renderer.stories.tsx +0 -114
  125. package/dist/frontend-core/template/src/components/ui/mark-value-renderer/mark-value-renderer.tsx +0 -48
  126. package/dist/frontend-core/template/src/components/ui/menubar/menu.stories.tsx +0 -134
  127. package/dist/frontend-core/template/src/components/ui/menubar/menubar.tsx +0 -208
  128. package/dist/frontend-core/template/src/components/ui/modal/modal.stories.tsx +0 -297
  129. package/dist/frontend-core/template/src/components/ui/modal/modal.tsx +0 -80
  130. package/dist/frontend-core/template/src/components/ui/navigation-menu/navigation-menu.stories.tsx +0 -213
  131. package/dist/frontend-core/template/src/components/ui/navigation-menu/navigation-menu.tsx +0 -142
  132. package/dist/frontend-core/template/src/components/ui/pagination/pagination.stories.tsx +0 -49
  133. package/dist/frontend-core/template/src/components/ui/pagination/pagination.tsx +0 -84
  134. package/dist/frontend-core/template/src/components/ui/popover/popover.stories.tsx +0 -82
  135. package/dist/frontend-core/template/src/components/ui/popover/popover.tsx +0 -55
  136. package/dist/frontend-core/template/src/components/ui/progress/progress.stories.tsx +0 -80
  137. package/dist/frontend-core/template/src/components/ui/progress/progress.tsx +0 -17
  138. package/dist/frontend-core/template/src/components/ui/radio-group/radio-group.stories.tsx +0 -154
  139. package/dist/frontend-core/template/src/components/ui/radio-group/radio-group.tsx +0 -68
  140. package/dist/frontend-core/template/src/components/ui/resizable/resizable.stories.tsx +0 -73
  141. package/dist/frontend-core/template/src/components/ui/resizable/resizeable.tsx +0 -38
  142. package/dist/frontend-core/template/src/components/ui/scroll-area/scroll-area.stories.tsx +0 -55
  143. package/dist/frontend-core/template/src/components/ui/scroll-area/scroll-area.tsx +0 -39
  144. package/dist/frontend-core/template/src/components/ui/select/select.stories.tsx +0 -297
  145. package/dist/frontend-core/template/src/components/ui/select/select.tsx +0 -227
  146. package/dist/frontend-core/template/src/components/ui/separator/separator.tsx +0 -21
  147. package/dist/frontend-core/template/src/components/ui/separator/seperator.stories.tsx +0 -25
  148. package/dist/frontend-core/template/src/components/ui/sheet/sheet.stories.tsx +0 -45
  149. package/dist/frontend-core/template/src/components/ui/sheet/sheet.tsx +0 -107
  150. package/dist/frontend-core/template/src/components/ui/skeleton/skeleton.stories.tsx +0 -26
  151. package/dist/frontend-core/template/src/components/ui/skeleton/skeleton.tsx +0 -7
  152. package/dist/frontend-core/template/src/components/ui/slider/slider.stories.tsx +0 -101
  153. package/dist/frontend-core/template/src/components/ui/slider/slider.tsx +0 -98
  154. package/dist/frontend-core/template/src/components/ui/spinner/spinner.stories.tsx +0 -19
  155. package/dist/frontend-core/template/src/components/ui/spinner/spinner.tsx +0 -21
  156. package/dist/frontend-core/template/src/components/ui/switch/switch.stories.tsx +0 -33
  157. package/dist/frontend-core/template/src/components/ui/switch/switch.tsx +0 -28
  158. package/dist/frontend-core/template/src/components/ui/tabs/tabs.stories.tsx +0 -215
  159. package/dist/frontend-core/template/src/components/ui/tabs/tabs.tsx +0 -70
  160. package/dist/frontend-core/template/src/components/ui/textarea/textarea.stories.tsx +0 -138
  161. package/dist/frontend-core/template/src/components/ui/textarea/textarea.tsx +0 -40
  162. package/dist/frontend-core/template/src/components/ui/toast/toast.mdx +0 -31
  163. package/dist/frontend-core/template/src/components/ui/toast/toast.stories.tsx +0 -89
  164. package/dist/frontend-core/template/src/components/ui/toggle/toggle.stories.tsx +0 -65
  165. package/dist/frontend-core/template/src/components/ui/toggle/toggle.tsx +0 -38
  166. package/dist/frontend-core/template/src/components/ui/toggle-group/toggle-group.stories.tsx +0 -85
  167. package/dist/frontend-core/template/src/components/ui/toggle-group/toggle-group.tsx +0 -54
  168. package/dist/frontend-core/template/src/components/ui/tooltip/tooltip.stories.tsx +0 -29
  169. package/dist/frontend-core/template/src/components/ui/tooltip/tooltip.tsx +0 -29
@@ -72,6 +72,7 @@
72
72
  import { INestApplication } from '@nestjs/common'
73
73
 
74
74
  import { getMemoryUsage } from 'apps/api/src/console.logger'
75
+ import { Mutex } from 'async-mutex'
75
76
  import express, { Express, Request, Response } from 'express'
76
77
  import http, { Server } from 'node:http'
77
78
  import { format } from 'node:util'
@@ -159,13 +160,21 @@ const defaultBackendId = zSpecId.parse('default-backend')
159
160
  const backends = new Map<SpecId, Backend>()
160
161
  const usedPorts = new Set<Port>()
161
162
 
163
+ // Mutex to prevent race conditions when allocating ports
164
+ const portAllocationMutex = new Mutex()
165
+
162
166
  async function getNextAvailablePort(): Promise<Port> {
167
+ const release = await portAllocationMutex.acquire()
163
168
  let port: Port = 4000 as Port
164
- while (usedPorts.has(port) || !(await checkPortAvailability(port))) {
165
- port = (port + 1) as Port
169
+ try {
170
+ while (usedPorts.has(port) || !(await checkPortAvailability(port))) {
171
+ port = (port + 1) as Port
172
+ }
173
+ usedPorts.add(port)
174
+ return port
175
+ } finally {
176
+ release()
166
177
  }
167
- usedPorts.add(port)
168
- return port
169
178
  }
170
179
 
171
180
  async function startBackend(spec: SpecId, isDefault: boolean): Promise<Backend_Running> {
@@ -36,8 +36,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.generator = exports.generatorId = void 0;
37
37
  const path = __importStar(require("node:path"));
38
38
  const Generator = __importStar(require("@postxl/generator"));
39
+ const docker_sh_generator_1 = require("./generators/docker-sh.generator");
39
40
  const model_test_id_generator_1 = require("./generators/model-test-id.generator");
40
- const DOCKER_SH_FILENAME = 'docker.sh';
41
41
  const PACKAGE_JSON_FILENAME = 'package.json';
42
42
  exports.generatorId = Generator.toGeneratorInterfaceId('e2e');
43
43
  exports.generator = {
@@ -61,20 +61,7 @@ exports.generator = {
61
61
  targetPath: '/e2e',
62
62
  filter: (filePath) => !filePath.endsWith(PACKAGE_JSON_FILENAME),
63
63
  });
64
- await vfs.loadFolder({
65
- diskPath: path.resolve(__dirname, './template/scripts'),
66
- targetPath: '/scripts',
67
- filter: (filePath) => !filePath.endsWith(DOCKER_SH_FILENAME),
68
- });
69
64
  // Load files with template substitution
70
- const dockerShContent = await Generator.generateFromTemplate({
71
- file: path.resolve(__dirname, './template/scripts', DOCKER_SH_FILENAME),
72
- context: templateContext,
73
- });
74
- if (dockerShContent.isErr()) {
75
- throw new Error(`Failed to generate docker.sh: ${dockerShContent.unwrapErr().message}`);
76
- }
77
- vfs.write(`/scripts/${DOCKER_SH_FILENAME}`, dockerShContent.unwrap());
78
65
  const packageJsonContent = await Generator.generateFromTemplate({
79
66
  file: path.resolve(__dirname, './template/e2e', PACKAGE_JSON_FILENAME),
80
67
  context: templateContext,
@@ -85,6 +72,7 @@ exports.generator = {
85
72
  vfs.write(`/e2e/${PACKAGE_JSON_FILENAME}`, packageJsonContent.unwrap());
86
73
  // write dynamic files
87
74
  vfs.write('/e2e/support/model-test-ids.ts', (0, model_test_id_generator_1.generateModelTestIds)(context.e2e));
75
+ vfs.write('/scripts/docker.sh', (0, docker_sh_generator_1.generateDockerSh)(context));
88
76
  context.vfs.insertFromVfs({ vfs, targetPath: '/' });
89
77
  return context;
90
78
  },
@@ -1 +1 @@
1
- {"version":3,"file":"e2e.generator.js","sourceRoot":"","sources":["../../src/e2e/e2e.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"e2e.generator.js","sourceRoot":"","sources":["../../src/e2e/e2e.generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiC;AAEjC,6DAA8C;AAI9C,0EAAmE;AACnE,kFAA2E;AAE3E,MAAM,qBAAqB,GAAG,cAAc,CAAA;AAsB/B,QAAA,WAAW,GAAG,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;AAErD,QAAA,SAAS,GAAiC;IACrD,EAAE,EAAE,mBAAW;IACf,QAAQ,EAAE,CAAC,mBAAW,CAAC;IAEvB,QAAQ,EAAE,CAAiD,GAAY,EAAiB,EAAE;QACxF,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QACvF,OAAO;YACL,GAAG,GAAG;YACN,GAAG,EAAE;gBACH,OAAO,EAAE,EAAE;aACZ;SACF,CAAA;IACH,CAAC;IAED,QAAQ,EAAE,KAAK,EAAiC,OAAgB,EAAoB,EAAE;QACpF,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAA;QAC7C,MAAM,eAAe,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAA;QAElD,mEAAmE;QACnE,MAAM,GAAG,CAAC,UAAU,CAAC;YACnB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC;YACnD,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC;SAChE,CAAC,CAAA;QAEF,wCAAwC;QACxC,MAAM,kBAAkB,GAAG,MAAM,SAAS,CAAC,oBAAoB,CAAC;YAC9D,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,EAAE,qBAAqB,CAAC;YACtE,OAAO,EAAE,eAAe;SACzB,CAAC,CAAA;QACF,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,kBAAkB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/F,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,QAAQ,qBAAqB,EAAE,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAA;QAEvE,sBAAsB;QACtB,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,IAAA,8CAAoB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9E,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAA,sCAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;QAE1D,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;QAEnD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { ContextResult } from '../e2e.generator';
2
+ export declare function generateDockerSh({ schema: { projectType, slug } }: ContextResult): string;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateDockerSh = generateDockerSh;
4
+ function generateDockerSh({ schema: { projectType, slug } }) {
5
+ const mountPath = projectType === 'workspace' ? '../../' : '${PWD}';
6
+ const workDir = projectType === 'workspace' ? `/pxl/projects/${slug}/e2e` : '/pxl/e2e';
7
+ return /*sh*/ String.raw `#!/bin/bash
8
+ # This script should only be run via 'pnpm docker' in the project root!
9
+ # Define a name for the image
10
+ IMAGE_NAME="e2e-pxl-env"
11
+
12
+ # Build the image from the Dockerfile in the current directory
13
+ docker build -t $IMAGE_NAME ./e2e/
14
+
15
+ # Run a container from the built image
16
+ # Add user mapping only on Linux/WSL to avoid permission issues with mounted volumes
17
+ USER_FLAG=""
18
+ if [[ "$(uname)" = "Linux" ]]; then
19
+ USER_FLAG="-u $(id -u):$(id -g)"
20
+ fi
21
+ ${projectType === 'workspace' ? '# Mount the entire monorepo to preserve pnpm workspace symlinks' : ''}
22
+ docker run -p 3030:3030 $USER_FLAG -v ${mountPath}:/pxl -w ${workDir} --rm -it $IMAGE_NAME /bin/bash
23
+ `;
24
+ }
25
+ //# sourceMappingURL=docker-sh.generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-sh.generator.js","sourceRoot":"","sources":["../../../src/e2e/generators/docker-sh.generator.ts"],"names":[],"mappings":";;AAEA,4CAoBC;AApBD,SAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAiB;IAC/E,MAAM,SAAS,GAAG,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;IACnE,MAAM,OAAO,GAAG,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA;IACtF,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;EAcxB,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,EAAE;wCAC9D,SAAS,YAAY,OAAO;CACnE,CAAA;AACD,CAAC"}
@@ -4,18 +4,6 @@ import { WithBase } from '../base';
4
4
  import { Component, FrontendContextEntry } from './types';
5
5
  export type ContextRequirements = WithBase<Generator.Context>;
6
6
  export declare const base: FrontendContextEntry;
7
- /**
8
- * Can be used to augment the base config with our form input components.
9
- */
10
- export declare const forms: {
11
- components: "select"[];
12
- packageJson: {
13
- dependencies: {
14
- packageName: string;
15
- version: string;
16
- }[];
17
- };
18
- };
19
7
  /**
20
8
  * TODO backport charts from portfolex (when ready)
21
9
  */
@@ -28,52 +16,6 @@ export declare const charts: {
28
16
  }[];
29
17
  };
30
18
  };
31
- /**
32
- * Glide Data Grid exposed as data-table.
33
- * TODO new Data-Grid https://tablecn.com/data-grid
34
- */
35
- export declare const dataTable: {
36
- components: ("data-grid" | "data-table" | "pagination")[];
37
- packageJson: {
38
- dependencies: {
39
- packageName: string;
40
- version: string;
41
- }[];
42
- };
43
- };
44
- export declare const sections: {
45
- components: ("accordion" | "breadcrumb" | "carousel" | "collapse" | "pagination" | "resizable" | "scroll-area" | "separator")[];
46
- packageJson: {
47
- dependencies: {
48
- packageName: string;
49
- version: string;
50
- }[];
51
- };
52
- };
53
- /**
54
- *
55
- */
56
- export declare const dialogs: {
57
- components: ("alert" | "alert-dialog" | "card-hover" | "command" | "command-palette" | "drawer" | "popover" | "sheet" | "tooltip")[];
58
- packageJson: {
59
- dependencies: {
60
- packageName: string;
61
- version: string;
62
- }[];
63
- };
64
- };
65
- /**
66
- *
67
- */
68
- export declare const menus: {
69
- components: ("context-menu" | "dropdown-menu" | "input" | "menubar" | "navigation-menu")[];
70
- packageJson: {
71
- dependencies: {
72
- packageName: string;
73
- version: string;
74
- }[];
75
- };
76
- };
77
19
  export declare const spreadsheet: {
78
20
  components: "spreadsheet"[];
79
21
  packageJson: {
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.configureFrontendGenerator = exports.frontendGeneratorId = exports.toComponentImport = exports.all = exports.spreadsheet = exports.menus = exports.dialogs = exports.sections = exports.dataTable = exports.charts = exports.forms = exports.base = void 0;
36
+ exports.configureFrontendGenerator = exports.frontendGeneratorId = exports.toComponentImport = exports.all = exports.spreadsheet = exports.charts = exports.base = void 0;
37
37
  const Path = __importStar(require("node:path"));
38
38
  const Generator = __importStar(require("@postxl/generator"));
39
39
  const generator_1 = require("@postxl/generator");
@@ -41,37 +41,7 @@ const tsconfig_generator_1 = require("./generators/tsconfig.generator");
41
41
  const ROOT_ROUTE_FILENAME = '__root.tsx';
42
42
  // CONTEXT REGISTRATION --------------------------------------------------------
43
43
  exports.base = {
44
- components: [
45
- 'avatar',
46
- 'badge',
47
- 'button',
48
- 'calendar',
49
- 'card',
50
- 'checkbox',
51
- 'color-mode-toggle',
52
- 'combobox',
53
- 'content-frame',
54
- 'date-picker',
55
- 'dialog',
56
- 'dropdown-menu',
57
- 'input',
58
- 'label',
59
- 'loader',
60
- 'mark-value-renderer',
61
- 'modal',
62
- 'progress',
63
- 'radio-group',
64
- 'select',
65
- 'skeleton',
66
- 'slider',
67
- 'spinner',
68
- 'switch',
69
- 'tabs',
70
- 'textarea',
71
- 'toast',
72
- 'toggle',
73
- 'toggle-group',
74
- ],
44
+ components: ['color-mode-toggle'],
75
45
  hooks: ['useFontsLoaded.ts'],
76
46
  contextProviders: ['auth-context-provider.tsx', 'theme-context-provider.tsx'],
77
47
  packageJson: {
@@ -80,30 +50,20 @@ exports.base = {
80
50
  description: `Frontend for the template project`,
81
51
  type: 'module',
82
52
  dependencies: [
53
+ { packageName: '@postxl/ui-components', version: 'workspace:*' },
83
54
  { packageName: '@postxl/utils', version: '0.1.29' },
84
- { packageName: '@radix-ui/react-avatar', version: '1.1.10' },
85
- { packageName: '@radix-ui/react-checkbox', version: '1.3.3' },
86
- { packageName: '@radix-ui/react-dialog', version: '1.1.15' },
87
- { packageName: '@radix-ui/react-dropdown-menu', version: '2.1.16' },
88
55
  { packageName: '@radix-ui/react-icons', version: '1.3.2' },
89
- { packageName: '@radix-ui/react-label', version: '2.1.7' },
90
- { packageName: '@radix-ui/react-radio-group', version: '1.3.8' },
91
- { packageName: '@radix-ui/react-select', version: '2.2.6' },
92
- { packageName: '@radix-ui/react-slider', version: '1.3.6' },
93
- { packageName: '@radix-ui/react-slot', version: '1.2.3' },
94
- { packageName: '@radix-ui/react-switch', version: '1.2.6' },
95
- { packageName: '@radix-ui/react-tabs', version: '1.1.13' },
96
- { packageName: '@radix-ui/react-toggle', version: '1.1.10' },
97
- { packageName: '@radix-ui/react-toggle-group', version: '1.1.11' },
98
56
  { packageName: '@tailwindcss/vite', version: '4.1.16' },
99
57
  { packageName: '@tanstack/react-devtools', version: '0.7.9' },
100
58
  { packageName: '@tanstack/react-router', version: '1.131.34' },
101
59
  { packageName: '@tanstack/react-router-devtools', version: '1.131.34' },
60
+ { packageName: '@tanstack/react-table', version: '8.21.3' },
61
+ { packageName: '@visx/responsive', version: '3.12.0' },
102
62
  { packageName: 'class-variance-authority', version: '0.7.1' },
103
63
  { packageName: 'clsx', version: '2.1.1' },
104
64
  { packageName: 'date-fns', version: '4.1.0' },
105
65
  { packageName: 'keycloak-js', version: '26.2.1' },
106
- { packageName: 'lucide-react', version: '0.553.0' },
66
+ { packageName: 'lucide-react', version: '0.554.0' },
107
67
  { packageName: 'react', version: '19.1.1' },
108
68
  { packageName: 'react-day-picker', version: '9.11.1' },
109
69
  { packageName: 'react-dom', version: '19.1.1' },
@@ -174,48 +134,6 @@ exports.base = {
174
134
  },
175
135
  tsConfigReferences: new Map(),
176
136
  };
177
- /**
178
- * Can be used to augment the base config with our form input components.
179
- */
180
- exports.forms = {
181
- components: [
182
- /* 'calendar',
183
- 'checkbox',
184
- 'data-picker',
185
- 'dropdown-menu',
186
- 'input',
187
- 'label',*/
188
- 'select',
189
- //'switch',
190
- //'textarea',
191
- // TODO add all ui components of PXL
192
- // 'input-color-picker',
193
- // 'input-common',
194
- // 'input-image',
195
- // 'input-mask',
196
- // 'input-number',
197
- // 'input-search',
198
- // 'input-table-select',
199
- // 'input-text',
200
- // 'input-tree-search',
201
- ],
202
- packageJson: {
203
- dependencies: [
204
- { packageName: '@floating-ui/react', version: '0.26.1' },
205
- { packageName: '@radix-ui/react-checkbox', version: '1.1.2' },
206
- { packageName: '@radix-ui/react-dropdown-menu', version: '2.1.16' },
207
- { packageName: '@radix-ui/react-label', version: '2.1.7' },
208
- { packageName: '@radix-ui/react-radio-group', version: '1.2.0' },
209
- { packageName: '@radix-ui/react-select', version: '2.2.6' },
210
- { packageName: '@radix-ui/react-switch', version: '1.2.6' },
211
- { packageName: 'date-fns', version: '4.1.0' },
212
- { packageName: 'luxon', version: '3.3.0' },
213
- { packageName: 'react-day-picker', version: '9.11.1' },
214
- { packageName: 'react-use', version: '17.4.0' },
215
- { packageName: 'react-hook-form', version: '7.62.0' },
216
- ],
217
- },
218
- };
219
137
  /**
220
138
  * TODO backport charts from portfolex (when ready)
221
139
  */
@@ -223,85 +141,6 @@ exports.charts = {
223
141
  components: ['chart'],
224
142
  packageJson: { dependencies: [{ packageName: 'recharts', version: '2.13.3' }] },
225
143
  };
226
- /**
227
- * Glide Data Grid exposed as data-table.
228
- * TODO new Data-Grid https://tablecn.com/data-grid
229
- */
230
- exports.dataTable = {
231
- components: ['data-table', 'pagination', 'data-grid'],
232
- packageJson: {
233
- dependencies: [
234
- { packageName: '@glideapps/glide-data-grid', version: '6.0.3' },
235
- { packageName: '@visx/responsive', version: '3.10.2' },
236
- { packageName: '@tanstack/react-table', version: '8.21.3' },
237
- { packageName: '@tanstack/react-virtual', version: '3.13.12' },
238
- { packageName: 'lucide-react', version: '0.554.0' },
239
- ],
240
- },
241
- };
242
- exports.sections = {
243
- components: [
244
- 'accordion',
245
- 'breadcrumb',
246
- 'carousel',
247
- 'collapse',
248
- 'pagination',
249
- 'resizable',
250
- 'separator',
251
- 'scroll-area',
252
- ],
253
- packageJson: {
254
- dependencies: [
255
- { packageName: '@radix-ui/react-accordion', version: '1.2.12' },
256
- { packageName: '@radix-ui/react-collapsible', version: '1.1.1' },
257
- { packageName: '@radix-ui/react-separator', version: '1.1.7' },
258
- { packageName: '@radix-ui/react-scroll-area', version: '1.2.10' },
259
- { packageName: 'embla-carousel-react', version: '8.5.1' },
260
- { packageName: 'react-resizable-panels', version: '3.0.6' },
261
- ],
262
- },
263
- };
264
- /**
265
- *
266
- */
267
- exports.dialogs = {
268
- components: [
269
- 'alert',
270
- 'alert-dialog',
271
- 'card-hover',
272
- 'command',
273
- 'command-palette',
274
- 'drawer',
275
- 'popover',
276
- 'sheet',
277
- 'tooltip',
278
- ],
279
- packageJson: {
280
- dependencies: [
281
- { packageName: '@radix-ui/react-alert-dialog', version: '1.1.15' },
282
- { packageName: '@radix-ui/react-dialog', version: '1.1.15' },
283
- { packageName: '@radix-ui/react-hover-card', version: '1.1.15' },
284
- { packageName: '@radix-ui/react-popover', version: '1.1.15' },
285
- { packageName: '@radix-ui/react-tooltip', version: '1.2.8' },
286
- { packageName: 'cmdk', version: '1.1.1' },
287
- { packageName: 'vaul', version: '1.1.2' },
288
- ],
289
- },
290
- };
291
- /**
292
- *
293
- */
294
- exports.menus = {
295
- components: ['context-menu', 'dropdown-menu', 'input', 'menubar', 'navigation-menu'],
296
- packageJson: {
297
- dependencies: [
298
- { packageName: '@radix-ui/react-context-menu', version: '2.2.16' },
299
- { packageName: '@radix-ui/react-dropdown-menu', version: '2.1.16' },
300
- { packageName: '@radix-ui/react-menubar', version: '1.1.16' },
301
- { packageName: '@radix-ui/react-navigation-menu', version: '1.2.14' },
302
- ],
303
- },
304
- };
305
144
  exports.spreadsheet = {
306
145
  components: ['spreadsheet'],
307
146
  packageJson: {
@@ -315,11 +154,6 @@ const all = (config) => {
315
154
  return (config
316
155
  //
317
156
  .with(exports.charts)
318
- .with(exports.dataTable)
319
- .with(exports.sections)
320
- .with(exports.dialogs)
321
- .with(exports.menus)
322
- .with(exports.forms)
323
157
  .with(exports.spreadsheet));
324
158
  };
325
159
  exports.all = all;
@@ -1 +1 @@
1
- {"version":3,"file":"frontend.generator.js","sourceRoot":"","sources":["../../src/frontend-core/frontend.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontend.generator.js","sourceRoot":"","sources":["../../src/frontend-core/frontend.generator.ts"],"names":[],"mappings":"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"}
@@ -390,7 +390,7 @@ export const Route = createFileRoute('/admin')({
390
390
  This project uses path aliases configured via `vite-tsconfig-paths`:
391
391
 
392
392
  ```typescript
393
- import { Button } from '@components/ui/button/Button'
393
+ import { Button } from '@postxl/ui-components'
394
394
  import { trpc } from '@lib/trpc'
395
395
  import { useAuth } from '@contextProviders/authContextProvider'
396
396
  ```
@@ -13,12 +13,8 @@ import {
13
13
  import { FilterX } from 'lucide-react'
14
14
  import { useEffect, useMemo, useState } from 'react'
15
15
 
16
- import { Button } from '@components/ui/button/button'
17
- import { Calendar } from '@components/ui/calendar/calendar'
18
- import { Checkbox } from '@components/ui/checkbox/checkbox'
19
- import { Input } from '@components/ui/input/input'
20
- import { Popover, PopoverContent, PopoverTrigger } from '@components/ui/popover/popover'
21
16
  import { cn } from '@lib/utils'
17
+ import { Button, Calendar, Checkbox, Input, Popover, PopoverContent, PopoverTrigger } from '@postxl/ui-components'
22
18
 
23
19
  export const TableFilter = <TField extends FilterFieldName, TFilters extends FilterState>({
24
20
  open = false,
@@ -4,9 +4,15 @@ import { MoonIcon, SunIcon } from '@radix-ui/react-icons'
4
4
  import { useCallback } from 'react'
5
5
  import { flushSync } from 'react-dom'
6
6
 
7
- import { Button } from '@components/ui/button/button'
8
-
9
- export const ColorModeToggle = ({ onClick }: { onClick?: (nextMode: ColorMode) => void }) => {
7
+ import { Button } from '@postxl/ui-components'
8
+
9
+ export const ColorModeToggle = ({
10
+ onClick,
11
+ __e2e_test_id__,
12
+ }: {
13
+ onClick?: (nextMode: ColorMode) => void
14
+ __e2e_test_id__?: string
15
+ }) => {
10
16
  const { colorMode, setColorMode } = useTheme()
11
17
 
12
18
  const toggleColorMode = useCallback(
@@ -83,7 +89,7 @@ export const ColorModeToggle = ({ onClick }: { onClick?: (nextMode: ColorMode) =
83
89
  size="icon"
84
90
  onClick={toggleColorMode}
85
91
  className="size-8 rounded-full bg-accent"
86
- __e2e_test_id__="button-toggle-theme"
92
+ __e2e_test_id__={__e2e_test_id__}
87
93
  >
88
94
  <SunIcon className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
89
95
  <MoonIcon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
@@ -73,8 +73,8 @@ keycloak.onAuthError = () => {
73
73
 
74
74
  export function AuthProvider({ children }: Readonly<{ children: React.ReactNode }>) {
75
75
  const [user, setUser] = React.useState<AppUser | null>(null)
76
- const [isAuthenticated, setIsAuthenticated] = useState(false)
77
- const [isInitComplete, setIsInitComplete] = useState(false)
76
+ const [isAuthenticated, setIsAuthenticated] = useState(!APP_CONFIG.AUTH)
77
+ const [isInitComplete, setIsInitComplete] = useState(!APP_CONFIG.AUTH)
78
78
 
79
79
  const trpc = useTRPC()
80
80
 
@@ -137,9 +137,6 @@ export function AuthProvider({ children }: Readonly<{ children: React.ReactNode
137
137
 
138
138
  if (APP_CONFIG.AUTH) {
139
139
  void initKeycloak()
140
- } else {
141
- setIsAuthenticated(true)
142
- setIsInitComplete(true)
143
140
  }
144
141
  }, [logout])
145
142
 
@@ -7,14 +7,13 @@ import { useState } from 'react'
7
7
  import { toast } from 'sonner'
8
8
 
9
9
  import { UpdatePostModal } from '@components/forms/post/update'
10
- import { Button } from '@components/ui/button/button'
11
10
  import { ColorModeToggle } from '@components/ui/color-mode-toggle/color-mode-toggle'
12
- import { ContentFrame } from '@components/ui/content-frame/content-frame'
13
11
  import { Spreadsheet } from '@components/ui/spreadsheet'
14
12
  import model from '@components/ui/spreadsheet/model.json'
15
13
  import type { Model } from '@components/ui/spreadsheet/types'
16
14
  import { usePosts } from '@hooks/use-posts'
17
15
  import { APP_CONFIG } from '@lib/config'
16
+ import { Button, ContentFrame } from '@postxl/ui-components'
18
17
 
19
18
  export const DashboardPage = () => {
20
19
  const { logout, user } = useAuth()
@@ -41,7 +40,7 @@ export const DashboardPage = () => {
41
40
  <ContentFrame
42
41
  title={APP_CONFIG.AUTH ? 'Dashboard (authorized route)' : 'Dashboard'}
43
42
  controls={[
44
- <ColorModeToggle key="btn-color-mode" onClick={onToggleTheme} />,
43
+ <ColorModeToggle key="btn-color-mode" onClick={onToggleTheme} __e2e_test_id__="button-toggle-theme" />,
45
44
  APP_CONFIG.AUTH && (
46
45
  <Button key="btn-logout" onClick={logout}>
47
46
  <PersonIcon /> Logout
@@ -1,6 +1,6 @@
1
1
  import { type ErrorComponentProps, Link } from '@tanstack/react-router'
2
2
 
3
- import { Button } from '@components/ui/button/button'
3
+ import { Button } from '@postxl/ui-components'
4
4
 
5
5
  export const DefaultErrorPage = ({ error }: { error: ErrorComponentProps }) => {
6
6
  return (
@@ -1,6 +1,6 @@
1
1
  import { Link, NotFoundError } from '@tanstack/react-router'
2
2
 
3
- import { Button } from '@components/ui/button/button'
3
+ import { Button } from '@postxl/ui-components'
4
4
 
5
5
  export const NotFoundErrorPage = ({ error }: { error: NotFoundError }) => {
6
6
  console.log(error)
@@ -3,7 +3,19 @@
3
3
 
4
4
  @import './theme-default.css';
5
5
 
6
- @import '../components/ui/data-grid/styles.css';
6
+ @import '@postxl/ui-components/data-grid.css';
7
+
8
+ /**
9
+ * The @source directive tells Tailwind to scan the library for class names.
10
+ * Note: The path must be relative to your stylesheet, not the project root nor a package name.
11
+ *
12
+ * ❌ Doesn't work
13
+ * @source "@postxl/ui-components";
14
+ *
15
+ * ✅ Works - relative path from the CSS file
16
+ * @source "../../node_modules/@postxl/ui-components";
17
+ */
18
+ @source "../../node_modules/@postxl/ui-components"; /* NOSONAR - Tailwind CSS v4 at-rule */
7
19
 
8
20
  /* important to override the tailwind variant to use our class instead of the preferred color theme (https://tailwindcss.com/docs/dark-mode) */
9
21
  @custom-variant dark (&:where(.dark, .dark *)); /* NOSONAR */
@@ -15,6 +15,8 @@
15
15
  "experimentalDecorators": true,
16
16
 
17
17
  "allowJs": true,
18
+ "strictNullChecks": true,
19
+ "noImplicitAny": false,
18
20
 
19
21
  "paths": {
20
22
  "@assets/*": ["assets/*"],
@@ -1 +1 @@
1
- export type Component = 'accordion' | 'admin-sidebar' | 'alert' | 'alert-dialog' | 'avatar' | 'badge' | 'breadcrumb' | 'button' | 'calendar' | 'card' | 'card-hover' | 'carousel' | 'chart' | 'checkbox' | 'collapse' | 'color-mode-toggle' | 'combobox' | 'command' | 'command-palette' | 'content-frame' | 'context-menu' | 'data-grid' | 'data-table' | 'date-picker' | 'dialog' | 'drawer' | 'dropdown-menu' | 'input' | 'label' | 'loader' | 'mark-value-renderer' | 'menubar' | 'modal' | 'navigation-menu' | 'pagination' | 'popover' | 'progress' | 'radio-group' | 'resizable' | 'scroll-area' | 'select' | 'separator' | 'sheet' | 'skeleton' | 'slider' | 'spinner' | 'spreadsheet' | 'switch' | 'tabs' | 'textarea' | 'toast' | 'toggle' | 'toggle-group' | 'tooltip';
1
+ export type Component = 'chart' | 'color-mode-toggle' | 'spreadsheet';