torch-glare 2.4.5 → 2.5.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/apps/lib/components/DataViews/{badgeAdapter.ts → badge.ts} +2 -2
  2. package/apps/lib/components/DataViews/cell.tsx +324 -0
  3. package/apps/lib/components/DataViews/context.ts +144 -0
  4. package/apps/lib/components/DataViews/data-views.tsx +383 -0
  5. package/apps/lib/components/DataViews/filters/children.tsx +98 -0
  6. package/apps/lib/components/DataViews/filters/custom.tsx +34 -0
  7. package/apps/lib/components/DataViews/filters/filters.tsx +163 -0
  8. package/apps/lib/components/DataViews/filters/index.ts +4 -0
  9. package/apps/lib/components/DataViews/filters/labelled.tsx +20 -0
  10. package/apps/lib/components/DataViews/filters/presets.tsx +65 -0
  11. package/apps/lib/components/DataViews/filters/summary.tsx +65 -0
  12. package/apps/lib/components/DataViews/filters/sync.tsx +35 -0
  13. package/apps/lib/components/DataViews/filters/values.ts +173 -0
  14. package/apps/lib/components/DataViews/header.tsx +217 -0
  15. package/apps/lib/components/DataViews/hooks/index.ts +5 -0
  16. package/apps/lib/components/DataViews/hooks/useActiveRow.ts +22 -0
  17. package/apps/lib/components/DataViews/hooks/useControllable.ts +52 -0
  18. package/apps/lib/components/DataViews/index.ts +74 -26
  19. package/apps/lib/components/DataViews/panel/columns.tsx +153 -0
  20. package/apps/lib/components/DataViews/panel/controls.tsx +106 -0
  21. package/apps/lib/components/DataViews/panel/index.ts +3 -0
  22. package/apps/lib/components/DataViews/panel/panel.tsx +164 -0
  23. package/apps/lib/components/DataViews/panel/saved-views.tsx +67 -0
  24. package/apps/lib/components/DataViews/panel/section.tsx +79 -0
  25. package/apps/lib/components/DataViews/panel/sort.tsx +42 -0
  26. package/apps/lib/components/DataViews/panel/tab.tsx +31 -0
  27. package/apps/lib/components/DataViews/slots.ts +63 -0
  28. package/apps/lib/components/DataViews/states.tsx +38 -0
  29. package/apps/lib/components/DataViews/types.ts +485 -178
  30. package/apps/lib/components/DataViews/views/board-view.tsx +379 -0
  31. package/apps/lib/components/DataViews/views/card-rows.tsx +36 -0
  32. package/apps/lib/components/DataViews/views/inbox-view.tsx +257 -0
  33. package/apps/lib/components/DataViews/views/pane-views.tsx +192 -0
  34. package/apps/lib/components/DataViews/views/table-view.tsx +426 -0
  35. package/apps/lib/components/DataViews/views/tree-view.tsx +365 -0
  36. package/apps/lib/components/FormBuilder/context.ts +20 -6
  37. package/apps/lib/components/FormBuilder/field-kind.ts +28 -0
  38. package/apps/lib/components/FormBuilder/fields/DateField.tsx +3 -3
  39. package/apps/lib/components/FormBuilder/fields/FieldShell.tsx +7 -6
  40. package/apps/lib/components/FormBuilder/fields/PhoneField.tsx +7 -6
  41. package/apps/lib/components/FormBuilder/fields/SelectField.tsx +7 -7
  42. package/apps/lib/components/FormBuilder/fields/TableField.tsx +1 -1
  43. package/apps/lib/components/FormBuilder/fields/TextField.tsx +9 -9
  44. package/apps/lib/components/FormBuilder/form-builder.tsx +55 -3
  45. package/apps/lib/components/FormBuilder/index.ts +3 -1
  46. package/apps/lib/components/FormBuilder/types.ts +40 -0
  47. package/apps/lib/components/TabSwitch.tsx +16 -4
  48. package/apps/lib/components/TreeFolder/TreeFolder.tsx +6 -3
  49. package/apps/lib/components/TreeFolder/TreeFolderRow.tsx +16 -14
  50. package/apps/lib/components/TreeFolder/index.ts +1 -1
  51. package/apps/lib/components/TreeFolder/useTreeFolderDnD.ts +70 -207
  52. package/apps/lib/hooks/useDragDrop.tsx +365 -0
  53. package/apps/lib/hooks/useInfiniteScroll.ts +108 -0
  54. package/apps/lib/registry.json +216 -4
  55. package/apps/lib/tsconfig.tsbuildinfo +1 -1
  56. package/apps/lib/utils/dataViews/path.ts +67 -0
  57. package/apps/lib/utils/dataViews/query.ts +73 -0
  58. package/apps/lib/utils/dataViews/types.ts +187 -0
  59. package/dist/bin/index.js +8 -4
  60. package/dist/bin/index.js.map +1 -1
  61. package/dist/src/commands/add.d.ts +3 -2
  62. package/dist/src/commands/add.d.ts.map +1 -1
  63. package/dist/src/commands/add.js +27 -35
  64. package/dist/src/commands/add.js.map +1 -1
  65. package/dist/src/commands/hook.d.ts.map +1 -1
  66. package/dist/src/commands/hook.js +23 -13
  67. package/dist/src/commands/hook.js.map +1 -1
  68. package/dist/src/commands/init.d.ts.map +1 -1
  69. package/dist/src/commands/init.js +6 -2
  70. package/dist/src/commands/init.js.map +1 -1
  71. package/dist/src/commands/layout.d.ts.map +1 -1
  72. package/dist/src/commands/layout.js +23 -13
  73. package/dist/src/commands/layout.js.map +1 -1
  74. package/dist/src/commands/provider.d.ts.map +1 -1
  75. package/dist/src/commands/provider.js +22 -12
  76. package/dist/src/commands/provider.js.map +1 -1
  77. package/dist/src/commands/utils.d.ts.map +1 -1
  78. package/dist/src/commands/utils.js +21 -28
  79. package/dist/src/commands/utils.js.map +1 -1
  80. package/dist/src/shared/copyComponentsRecursively.d.ts +5 -3
  81. package/dist/src/shared/copyComponentsRecursively.d.ts.map +1 -1
  82. package/dist/src/shared/copyComponentsRecursively.js +5 -6
  83. package/dist/src/shared/copyComponentsRecursively.js.map +1 -1
  84. package/dist/src/shared/getDependenciesAndInstallNestedComponents.js +1 -1
  85. package/dist/src/shared/getDependenciesAndInstallNestedComponents.js.map +1 -1
  86. package/dist/src/shared/installDependencies.d.ts +16 -1
  87. package/dist/src/shared/installDependencies.d.ts.map +1 -1
  88. package/dist/src/shared/installDependencies.js +41 -21
  89. package/dist/src/shared/installDependencies.js.map +1 -1
  90. package/dist/src/shared/installFromPlan.d.ts +23 -0
  91. package/dist/src/shared/installFromPlan.d.ts.map +1 -0
  92. package/dist/src/shared/installFromPlan.js +77 -0
  93. package/dist/src/shared/installFromPlan.js.map +1 -0
  94. package/dist/src/shared/resolveEntry.d.ts +21 -0
  95. package/dist/src/shared/resolveEntry.d.ts.map +1 -0
  96. package/dist/src/shared/resolveEntry.js +54 -0
  97. package/dist/src/shared/resolveEntry.js.map +1 -0
  98. package/dist/src/shared/suggestOtherCommand.d.ts +8 -0
  99. package/dist/src/shared/suggestOtherCommand.d.ts.map +1 -0
  100. package/dist/src/shared/suggestOtherCommand.js +34 -0
  101. package/dist/src/shared/suggestOtherCommand.js.map +1 -0
  102. package/dist/src/shared/tailwindInit.d.ts +3 -1
  103. package/dist/src/shared/tailwindInit.d.ts.map +1 -1
  104. package/dist/src/shared/tailwindInit.js +3 -1
  105. package/dist/src/shared/tailwindInit.js.map +1 -1
  106. package/dist/src/shared/wireStylesheet.d.ts +32 -0
  107. package/dist/src/shared/wireStylesheet.d.ts.map +1 -0
  108. package/dist/src/shared/wireStylesheet.js +92 -0
  109. package/dist/src/shared/wireStylesheet.js.map +1 -0
  110. package/dist/src/types/main.d.ts +6 -0
  111. package/dist/src/types/main.d.ts.map +1 -1
  112. package/docs/components/breadcrumb.md +1 -1
  113. package/docs/components/button-group.md +1 -1
  114. package/docs/components/button.md +1 -1
  115. package/docs/components/card.md +1 -1
  116. package/docs/components/checkbox.md +1 -1
  117. package/docs/components/data-views/backend-response.md +324 -0
  118. package/docs/components/data-views/examples/a11y-rtl.md +250 -0
  119. package/docs/components/data-views/examples/api-orders-route.md +130 -0
  120. package/docs/components/data-views/examples/fields.md +362 -0
  121. package/docs/components/data-views/examples/filters.md +308 -0
  122. package/docs/components/data-views/examples/inbox-routing.md +218 -0
  123. package/docs/components/data-views/examples/index.md +29 -0
  124. package/docs/components/data-views/examples/overview.md +244 -0
  125. package/docs/components/data-views/examples/panel.md +212 -0
  126. package/docs/components/data-views/examples/scale.md +231 -0
  127. package/docs/components/data-views/examples/server-side.md +210 -0
  128. package/docs/components/data-views/examples/state.md +250 -0
  129. package/docs/components/data-views/examples/tree-custom.md +388 -0
  130. package/docs/components/data-views/examples/view-registry.md +313 -0
  131. package/docs/components/data-views/examples/views.md +534 -0
  132. package/docs/components/data-views/guide.md +405 -0
  133. package/docs/components/data-views/index.md +1504 -0
  134. package/docs/components/data-views/migration.md +79 -0
  135. package/docs/components/date-picker.md +0 -1
  136. package/docs/components/form-builder.md +3 -2
  137. package/docs/components/form-renderer.md +2 -1
  138. package/docs/components/form.md +1 -1
  139. package/docs/components/input-field.md +1 -1
  140. package/docs/components/input-otp.md +1 -1
  141. package/docs/components/input.md +1 -1
  142. package/docs/components/labeled-check-box.md +1 -1
  143. package/docs/components/labeled-radio.md +1 -1
  144. package/docs/components/radio-card.md +1 -1
  145. package/docs/components/radio.md +1 -1
  146. package/docs/components/search-field.md +1 -1
  147. package/docs/components/section-block.md +1 -1
  148. package/docs/components/select.md +1 -1
  149. package/docs/components/simple-select.md +1 -1
  150. package/docs/components/switch.md +1 -1
  151. package/docs/components/tab-switch.md +1 -1
  152. package/docs/components/table.md +1 -1
  153. package/docs/components/text-editor.md +1 -1
  154. package/docs/components/textarea.md +1 -1
  155. package/docs/components/toggle-button.md +1 -1
  156. package/docs/components/toggle.md +1 -1
  157. package/docs/components/tree-folder.md +110 -0
  158. package/docs/how-to/forms-with-form-builder.md +2 -2
  159. package/docs/reference/cli.md +28 -3
  160. package/docs/reference/components.md +16 -6
  161. package/docs/tutorials/component-composition.md +11 -13
  162. package/docs/tutorials/getting-started.md +7 -0
  163. package/package.json +3 -2
  164. package/apps/lib/components/DataViews/DataViewRadio.tsx +0 -49
  165. package/apps/lib/components/DataViews/DataViewsConfigPanel.tsx +0 -393
  166. package/apps/lib/components/DataViews/DataViewsHeader.tsx +0 -207
  167. package/apps/lib/components/DataViews/DataViewsLayout.tsx +0 -332
  168. package/apps/lib/components/DataViews/FilterPanel.tsx +0 -493
  169. package/apps/lib/components/DataViews/HeaderSearch.tsx +0 -93
  170. package/apps/lib/components/DataViews/InboxView.tsx +0 -463
  171. package/apps/lib/components/DataViews/InboxViewCard.tsx +0 -127
  172. package/apps/lib/components/DataViews/KanbanView.tsx +0 -336
  173. package/apps/lib/components/DataViews/PanelControls.tsx +0 -39
  174. package/apps/lib/components/DataViews/SettingsPanel.tsx +0 -279
  175. package/apps/lib/components/DataViews/TableView.tsx +0 -212
  176. package/apps/lib/components/DataViews/TreeView.tsx +0 -364
  177. package/apps/lib/components/DataViews/fieldRenderers.tsx +0 -299
  178. package/apps/lib/components/DataViews/filters/DatePickerRangeFilter.tsx +0 -87
  179. package/apps/lib/components/DataViews/filters/DateRangePopover.tsx +0 -120
  180. package/apps/lib/components/DataViews/filters/PresetChips.tsx +0 -45
  181. package/apps/lib/components/DataViews/filters/RangeSliderWithInputs.tsx +0 -165
  182. package/apps/lib/components/DataViews/tree/TreeDrawer.tsx +0 -50
  183. package/apps/lib/components/DataViews/tree/TreeSidebar.tsx +0 -74
  184. package/apps/lib/hooks/useDataViewsState.ts +0 -175
  185. package/apps/lib/utils/dataViews/columnUtils.ts +0 -132
  186. package/apps/lib/utils/dataViews/fieldUtils.ts +0 -197
  187. package/apps/lib/utils/dataViews/nestedDataUtils.tsx +0 -371
  188. package/apps/lib/utils/dataViews/pathUtils.ts +0 -139
  189. package/apps/lib/utils/dataViews/rangeUtils.ts +0 -234
  190. package/apps/lib/utils/dataViews/treeUtils.ts +0 -396
  191. package/docs/components/data-views-config-panel.md +0 -208
  192. package/docs/components/data-views-layout.md +0 -291
  193. package/docs/components/inbox-view.md +0 -170
  194. package/docs/components/kanban-view.md +0 -135
  195. package/docs/components/table-view.md +0 -141
  196. package/docs/components/tree-view.md +0 -147
  197. package/docs/how-to/data-views-from-backend-response.md +0 -194
@@ -0,0 +1,54 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ /**
4
+ * Resolve a user-provided name to an actual entry in a templates directory.
5
+ *
6
+ * `readdirSync` returns names **with** their extensions, so comparing a bare `useDragDrop` against
7
+ * that list never matches — which is why `torch-glare hook useDragDrop` used to do nothing at all.
8
+ * Every command resolves through here now, so a bare name, a name with an extension, and a folder
9
+ * component all work the same way whichever command you reach for.
10
+ *
11
+ * Tries, in order: exact match · `.tsx` · `.ts` · anything on disk the listing missed.
12
+ */
13
+ export function resolveEntry(input, available, dir) {
14
+ if (available.includes(input))
15
+ return input;
16
+ for (const candidate of [`${input}.tsx`, `${input}.ts`]) {
17
+ if (available.includes(candidate))
18
+ return candidate;
19
+ }
20
+ // Last-ditch: a folder component, or something the listing filtered out.
21
+ if (fs.existsSync(path.join(dir, input)))
22
+ return input;
23
+ return null;
24
+ }
25
+ /**
26
+ * Is this item actually installed?
27
+ *
28
+ * Not `existsSync`. A directory that exists but holds no files is a leftover — from a deleted
29
+ * install, an interrupted run, or a user who removed the contents but not the folder — and
30
+ * treating it as installed is what made `add DataViews` refuse to copy anything while reporting
31
+ * "already exists". An empty directory is an absence.
32
+ */
33
+ export function isInstalled(targetDir, entry) {
34
+ const target = path.join(targetDir, entry);
35
+ if (!fs.existsSync(target))
36
+ return false;
37
+ if (fs.lstatSync(target).isDirectory()) {
38
+ return hasAnyFile(target);
39
+ }
40
+ return true;
41
+ }
42
+ function hasAnyFile(dir) {
43
+ for (const item of fs.readdirSync(dir, { withFileTypes: true })) {
44
+ if (item.isDirectory()) {
45
+ if (hasAnyFile(path.join(dir, item.name)))
46
+ return true;
47
+ }
48
+ else {
49
+ return true;
50
+ }
51
+ }
52
+ return false;
53
+ }
54
+ //# sourceMappingURL=resolveEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveEntry.js","sourceRoot":"","sources":["../../../cli/src/shared/resolveEntry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,SAAmB,EAAE,GAAW;IACxE,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE5C,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,KAAK,MAAM,EAAE,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACxD,CAAC;IAED,yEAAyE;IACzE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,KAAa;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC3B,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACrB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC3D,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A name that is not a component may still be something we ship.
3
+ *
4
+ * `torch-glare add useDragDrop` answering only "Component not found" is technically correct and
5
+ * practically useless — it *is* installable, just by a different command. Look before saying no.
6
+ */
7
+ export declare function suggestOtherCommand(input: string): string | null;
8
+ //# sourceMappingURL=suggestOtherCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestOtherCommand.d.ts","sourceRoot":"","sources":["../../../cli/src/shared/suggestOtherCommand.ts"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAehE"}
@@ -0,0 +1,34 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { fileURLToPath } from "url";
4
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
+ const LIB_DIR = path.resolve(__dirname, "../../../apps/lib");
6
+ /** Which command installs which folder. */
7
+ const KINDS = [
8
+ { dir: "hooks", command: "hook", label: "hook" },
9
+ { dir: "utils", command: "util", label: "utility" },
10
+ { dir: "layouts", command: "layout", label: "layout" },
11
+ { dir: "providers", command: "provider", label: "provider" },
12
+ ];
13
+ /**
14
+ * A name that is not a component may still be something we ship.
15
+ *
16
+ * `torch-glare add useDragDrop` answering only "Component not found" is technically correct and
17
+ * practically useless — it *is* installable, just by a different command. Look before saying no.
18
+ */
19
+ export function suggestOtherCommand(input) {
20
+ const bare = input.replace(/\.(tsx|ts)$/, "").toLowerCase();
21
+ for (const kind of KINDS) {
22
+ const dir = path.join(LIB_DIR, kind.dir);
23
+ if (!fs.existsSync(dir))
24
+ continue;
25
+ for (const entry of fs.readdirSync(dir)) {
26
+ if (entry.replace(/\.(tsx|ts)$/, "").toLowerCase() === bare) {
27
+ const name = entry.replace(/\.(tsx|ts)$/, "");
28
+ return `"${name}" is a ${kind.label} — try \`torch-glare ${kind.command} ${name}\`.`;
29
+ }
30
+ }
31
+ }
32
+ return null;
33
+ }
34
+ //# sourceMappingURL=suggestOtherCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestOtherCommand.js","sourceRoot":"","sources":["../../../cli/src/shared/suggestOtherCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAE7D,2CAA2C;AAC3C,MAAM,KAAK,GAAsD;IAC7D,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAChD,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;IACnD,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACtD,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;CAC/D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAElC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAC9C,OAAO,IAAI,IAAI,UAAU,IAAI,CAAC,KAAK,wBAAwB,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,CAAC;YACzF,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,2 +1,4 @@
1
- export declare function tailwindInit(): void;
1
+ export declare function tailwindInit(): {
2
+ isV3: boolean;
3
+ };
2
4
  //# sourceMappingURL=tailwindInit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tailwindInit.d.ts","sourceRoot":"","sources":["../../../cli/src/shared/tailwindInit.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,IAAI,IAAI,CAanC"}
1
+ {"version":3,"file":"tailwindInit.d.ts","sourceRoot":"","sources":["../../../cli/src/shared/tailwindInit.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,IAAI;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAchD"}
@@ -15,6 +15,7 @@ export function tailwindInit() {
15
15
  dependencies.push("@tailwindcss/container-queries");
16
16
  }
17
17
  installDependencies(dependencies);
18
+ return { isV3: LessThanV4 };
18
19
  }
19
20
  /**
20
21
  * Installs dependencies using the detected package manager.
@@ -71,7 +72,8 @@ function installDependencies(dependencies = []) {
71
72
  const IsTailwindLessThanV4 = () => {
72
73
  const packageJson = fs.readFileSync(path.join(process.cwd(), 'package.json'), 'utf8');
73
74
  const parsedJson = JSON.parse(packageJson);
74
- const tailwindVersion = parsedJson.devDependencies?.['tailwindcss'];
75
+ // Either section — a project with tailwindcss in `dependencies` was being misread as v4.
76
+ const tailwindVersion = parsedJson.devDependencies?.['tailwindcss'] ?? parsedJson.dependencies?.['tailwindcss'];
75
77
  if (!tailwindVersion)
76
78
  return false;
77
79
  return tailwindVersion.startsWith('^3') || tailwindVersion.startsWith('3');
@@ -1 +1 @@
1
- {"version":3,"file":"tailwindInit.js","sourceRoot":"","sources":["../../../cli/src/shared/tailwindInit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwindInit.js","sourceRoot":"","sources":["../../../cli/src/shared/tailwindInit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Where an entry stylesheet lives, in the order projects usually put it.
3
+ * Next.js app router first, then pages/Vite, then a `styles/` convention.
4
+ */
5
+ declare const CANDIDATES: string[];
6
+ /** The marker that tells us the block is already there. */
7
+ declare const MARKER = "glare-torch-mode";
8
+ /**
9
+ * Tailwind v4 registers the design system through the CSS file itself.
10
+ *
11
+ * The order matters and is not cosmetic: CSS requires every `@import` to precede other at-rules, so
12
+ * an `@import "tailwindcss"` placed *after* the `@plugin` lines is silently dropped by the bundler.
13
+ * That takes every `--color-*` registration with it and leaves every `bg-background-presentation-*`
14
+ * utility rendering as nothing — with no build error to explain it.
15
+ */
16
+ declare const V4_BLOCK = "@import \"tailwindcss\";\n@import \"mapping-color-system-v4/tailwindVars.css\";\n@plugin \"glare-torch-mode\";\n@plugin \"tailwind-scrollbar-hide\";\n@plugin \"tailwindcss-animate\";\n@plugin \"glare-typography\";\n@plugin \"mapping-color-system-v4\";\n";
17
+ export declare function findStylesheet(cwd?: string): string | null;
18
+ /**
19
+ * Put the design system into the project's stylesheet.
20
+ *
21
+ * `init` used to install the five Tailwind packages and stop, leaving the wiring as a manual step
22
+ * buried in the docs — so a project would build cleanly and render every component unstyled. This
23
+ * closes that gap, and is a no-op when the block is already present, so re-running `init` is safe.
24
+ *
25
+ * @returns what happened, so the caller can report it truthfully.
26
+ */
27
+ export declare function wireStylesheet(isV3: boolean, cwd?: string): {
28
+ status: "written" | "already" | "not-found" | "manual";
29
+ file?: string;
30
+ };
31
+ export { V4_BLOCK, MARKER, CANDIDATES };
32
+ //# sourceMappingURL=wireStylesheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wireStylesheet.d.ts","sourceRoot":"","sources":["../../../cli/src/shared/wireStylesheet.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,QAAA,MAAM,UAAU,UAQf,CAAC;AAEF,2DAA2D;AAC3D,QAAA,MAAM,MAAM,qBAAqB,CAAC;AAElC;;;;;;;GAOG;AACH,QAAA,MAAM,QAAQ,kQAOb,CAAC;AAYF,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAMzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC1B,IAAI,EAAE,OAAO,EACb,GAAG,GAAE,MAAsB,GAC5B;IAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAoC3E;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,92 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ /**
4
+ * Where an entry stylesheet lives, in the order projects usually put it.
5
+ * Next.js app router first, then pages/Vite, then a `styles/` convention.
6
+ */
7
+ const CANDIDATES = [
8
+ "app/globals.css",
9
+ "src/app/globals.css",
10
+ "src/index.css",
11
+ "styles/globals.css",
12
+ "src/styles/globals.css",
13
+ "app/global.css",
14
+ "src/styles/index.css",
15
+ ];
16
+ /** The marker that tells us the block is already there. */
17
+ const MARKER = "glare-torch-mode";
18
+ /**
19
+ * Tailwind v4 registers the design system through the CSS file itself.
20
+ *
21
+ * The order matters and is not cosmetic: CSS requires every `@import` to precede other at-rules, so
22
+ * an `@import "tailwindcss"` placed *after* the `@plugin` lines is silently dropped by the bundler.
23
+ * That takes every `--color-*` registration with it and leaves every `bg-background-presentation-*`
24
+ * utility rendering as nothing — with no build error to explain it.
25
+ */
26
+ const V4_BLOCK = `@import "tailwindcss";
27
+ @import "mapping-color-system-v4/tailwindVars.css";
28
+ @plugin "glare-torch-mode";
29
+ @plugin "tailwind-scrollbar-hide";
30
+ @plugin "tailwindcss-animate";
31
+ @plugin "glare-typography";
32
+ @plugin "mapping-color-system-v4";
33
+ `;
34
+ /** For v3 the plugins belong in `tailwind.config.*`, which is user-owned JS we do not rewrite. */
35
+ const V3_SNIPPET = `plugins: [
36
+ require("glare-torch-mode"),
37
+ require("tailwind-scrollbar-hide"),
38
+ require("tailwindcss-animate"),
39
+ require("glare-typography"),
40
+ require("mapping-color-system"),
41
+ require("@tailwindcss/container-queries"),
42
+ ]`;
43
+ export function findStylesheet(cwd = process.cwd()) {
44
+ for (const candidate of CANDIDATES) {
45
+ const full = path.join(cwd, candidate);
46
+ if (fs.existsSync(full))
47
+ return full;
48
+ }
49
+ return null;
50
+ }
51
+ /**
52
+ * Put the design system into the project's stylesheet.
53
+ *
54
+ * `init` used to install the five Tailwind packages and stop, leaving the wiring as a manual step
55
+ * buried in the docs — so a project would build cleanly and render every component unstyled. This
56
+ * closes that gap, and is a no-op when the block is already present, so re-running `init` is safe.
57
+ *
58
+ * @returns what happened, so the caller can report it truthfully.
59
+ */
60
+ export function wireStylesheet(isV3, cwd = process.cwd()) {
61
+ // v3's plugins go in tailwind.config.*, whose shape is arbitrary user JS. A wrong edit there is
62
+ // worse than a printed instruction, so print and let the developer place it.
63
+ if (isV3) {
64
+ console.log("ℹ️ Tailwind v3 detected. Add these plugins to your `tailwind.config.*`:\n");
65
+ console.log(V3_SNIPPET + "\n");
66
+ return { status: "manual" };
67
+ }
68
+ const file = findStylesheet(cwd);
69
+ if (!file) {
70
+ console.log("⚠️ No entry stylesheet found (looked for " +
71
+ CANDIDATES.slice(0, 4).join(", ") +
72
+ ").\n Add this to yours, keeping `@import \"tailwindcss\"` first:\n");
73
+ console.log(V4_BLOCK);
74
+ return { status: "not-found" };
75
+ }
76
+ const current = fs.readFileSync(file, "utf-8");
77
+ if (current.includes(MARKER)) {
78
+ console.log(`✅ ${path.relative(cwd, file)} is already wired — left alone.`);
79
+ return { status: "already", file };
80
+ }
81
+ // Replace the project's own `@import "tailwindcss"` rather than adding a second one; if there
82
+ // is none, the block goes at the very top, which is where the import has to be anyway.
83
+ const existing = /^[ \t]*@import\s+["']tailwindcss["'];?[ \t]*\r?\n/m;
84
+ const next = existing.test(current)
85
+ ? current.replace(existing, V4_BLOCK)
86
+ : V4_BLOCK + "\n" + current;
87
+ fs.writeFileSync(file, next);
88
+ console.log(`✅ Wired ${path.relative(cwd, file)} with the TORCH Glare design system.`);
89
+ return { status: "written", file };
90
+ }
91
+ export { V4_BLOCK, MARKER, CANDIDATES };
92
+ //# sourceMappingURL=wireStylesheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wireStylesheet.js","sourceRoot":"","sources":["../../../cli/src/shared/wireStylesheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;GAGG;AACH,MAAM,UAAU,GAAG;IACf,iBAAiB;IACjB,qBAAqB;IACrB,eAAe;IACf,oBAAoB;IACpB,wBAAwB;IACxB,gBAAgB;IAChB,sBAAsB;CACzB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,QAAQ,GAAG;;;;;;;CAOhB,CAAC;AAEF,kGAAkG;AAClG,MAAM,UAAU,GAAG;;;;;;;EAOjB,CAAC;AAEH,MAAM,UAAU,cAAc,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACtD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC1B,IAAa,EACb,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,gGAAgG;IAChG,6EAA6E;IAC7E,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CACP,2CAA2C;YACvC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,sEAAsE,CAC7E,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC5E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,8FAA8F;IAC9F,uFAAuF;IACvF,MAAM,QAAQ,GAAG,oDAAoD,CAAC;IACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACrC,CAAC,CAAC,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC;IAEhC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACvF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC"}
@@ -20,6 +20,12 @@ export interface RegistryItem {
20
20
  export interface Registry {
21
21
  version: string;
22
22
  generatedBy: string;
23
+ /**
24
+ * The version range the library builds each package against, e.g.
25
+ * `{"@tanstack/react-table": "^8.21.3"}`. Installing unpinned means an upstream major can
26
+ * break copied source the day it lands.
27
+ */
28
+ npmVersions?: Record<string, string>;
23
29
  items: RegistryItem[];
24
30
  }
25
31
  /** Fully resolved set of work needed to install one item. */
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../cli/src/types/main.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;CAEhB;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED,gDAAgD;AAChD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;IACjE,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,QAAQ;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IACxB,wEAAwE;IACxE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,8CAA8C;IAC9C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../cli/src/types/main.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;CAEhB;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED,gDAAgD;AAChD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;IACjE,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,QAAQ;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IACxB,wEAAwE;IACxE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,8CAA8C;IAC9C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAChC"}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: Breadcrumb
3
- version: 2.4.0
3
+ version: 2.4.5
4
4
  status: stable
5
5
  category: components/navigation
6
6
  tags: [navigation, breadcrumb, wayfinding, compound, accessible, rtl]
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ButtonGroup
3
- version: 2.4.0
3
+ version: 2.4.5
4
4
  status: stable
5
5
  category: components/buttons
6
6
  tags: [toggle-group, button-group, selection, radix-ui, accessible, compound]
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: Button
3
- version: 2.4.0
3
+ version: 2.4.5
4
4
  status: stable
5
5
  category: components/buttons
6
6
  tags: [interactive, form, action, accessible, polymorphic]
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: Card
3
- version: 2.4.0
3
+ version: 2.4.5
4
4
  status: stable
5
5
  category: components/layout
6
6
  tags: [container, layout, card, content, polymorphic]
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: Checkbox
3
- version: 2.4.0
3
+ version: 2.4.5
4
4
  status: stable
5
5
  category: components/forms
6
6
  tags: [form, checkbox, selection, radix-ui, accessible, controlled]