torch-glare 2.3.0 → 2.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 (264) hide show
  1. package/README.md +8 -0
  2. package/apps/lib/components/ActionButton.tsx +7 -12
  3. package/apps/lib/components/ActionsGroup.tsx +4 -15
  4. package/apps/lib/components/AlertDialog.tsx +173 -191
  5. package/apps/lib/components/Avatar.tsx +13 -16
  6. package/apps/lib/components/Badge.tsx +7 -3
  7. package/apps/lib/components/BadgeField.tsx +76 -71
  8. package/apps/lib/components/Breadcrumb.tsx +49 -85
  9. package/apps/lib/components/Button.tsx +20 -19
  10. package/apps/lib/components/ButtonGroup.tsx +31 -41
  11. package/apps/lib/components/Calendar.tsx +51 -29
  12. package/apps/lib/components/Card.tsx +2 -13
  13. package/apps/lib/components/ChartBlockTool.ts +17 -52
  14. package/apps/lib/components/Checkbox.tsx +9 -16
  15. package/apps/lib/components/ContextMenu.tsx +110 -106
  16. package/apps/lib/components/CountBadge.tsx +4 -6
  17. package/apps/lib/components/DataTable.tsx +196 -216
  18. package/apps/lib/components/DataViews/DataViewRadio.tsx +10 -8
  19. package/apps/lib/components/DataViews/DataViewsConfigPanel.tsx +21 -55
  20. package/apps/lib/components/DataViews/DataViewsHeader.tsx +1 -3
  21. package/apps/lib/components/DataViews/DataViewsLayout.tsx +5 -12
  22. package/apps/lib/components/DataViews/FilterPanel.tsx +173 -150
  23. package/apps/lib/components/DataViews/HeaderSearch.tsx +1 -5
  24. package/apps/lib/components/DataViews/InboxView.tsx +22 -68
  25. package/apps/lib/components/DataViews/InboxViewCard.tsx +68 -77
  26. package/apps/lib/components/DataViews/KanbanView.tsx +8 -25
  27. package/apps/lib/components/DataViews/PanelControls.tsx +3 -13
  28. package/apps/lib/components/DataViews/SettingsPanel.tsx +83 -89
  29. package/apps/lib/components/DataViews/TableView.tsx +8 -28
  30. package/apps/lib/components/DataViews/TreeView.tsx +12 -40
  31. package/apps/lib/components/DataViews/badgeAdapter.ts +32 -28
  32. package/apps/lib/components/DataViews/fieldRenderers.tsx +106 -141
  33. package/apps/lib/components/DataViews/filters/DatePickerRangeFilter.tsx +87 -0
  34. package/apps/lib/components/DataViews/filters/DateRangePopover.tsx +39 -32
  35. package/apps/lib/components/DataViews/filters/PresetChips.tsx +15 -15
  36. package/apps/lib/components/DataViews/filters/RangeSliderWithInputs.tsx +69 -58
  37. package/apps/lib/components/DataViews/index.ts +26 -26
  38. package/apps/lib/components/DataViews/tree/TreeDrawer.tsx +12 -16
  39. package/apps/lib/components/DataViews/tree/TreeSidebar.tsx +28 -31
  40. package/apps/lib/components/DataViews/types.ts +111 -114
  41. package/apps/lib/components/DatePicker.tsx +198 -191
  42. package/apps/lib/components/Dialog.tsx +92 -105
  43. package/apps/lib/components/Divider.tsx +21 -24
  44. package/apps/lib/components/Drawer.tsx +79 -139
  45. package/apps/lib/components/DropdownMenu.tsx +144 -181
  46. package/apps/lib/components/FieldHint.tsx +4 -11
  47. package/apps/lib/components/Form.tsx +146 -155
  48. package/apps/lib/components/FormStepper.tsx +9 -39
  49. package/apps/lib/components/HeaderBar.tsx +119 -0
  50. package/apps/lib/components/ImageAttachment.tsx +111 -73
  51. package/apps/lib/components/InnerLabelField.tsx +20 -16
  52. package/apps/lib/components/Input.tsx +171 -172
  53. package/apps/lib/components/InputField.tsx +44 -45
  54. package/apps/lib/components/InputOTP.tsx +68 -69
  55. package/apps/lib/components/Label.tsx +31 -35
  56. package/apps/lib/components/LabelField.tsx +4 -5
  57. package/apps/lib/components/LabeledCheckBox.tsx +8 -12
  58. package/apps/lib/components/LabeledRadio.tsx +7 -5
  59. package/apps/lib/components/LinkButton.tsx +2 -9
  60. package/apps/lib/components/LoginButton.tsx +4 -9
  61. package/apps/lib/components/PasswordLevel.tsx +5 -5
  62. package/apps/lib/components/Popover.tsx +15 -33
  63. package/apps/lib/components/ProfileMenu.tsx +67 -72
  64. package/apps/lib/components/Radio.tsx +1 -5
  65. package/apps/lib/components/RadioCard.tsx +9 -28
  66. package/apps/lib/components/ScrollArea.tsx +45 -43
  67. package/apps/lib/components/SearchField.tsx +49 -39
  68. package/apps/lib/components/SearchableSelect.tsx +46 -52
  69. package/apps/lib/components/SearchableTable.tsx +199 -219
  70. package/apps/lib/components/SearchableTree.tsx +469 -0
  71. package/apps/lib/components/SearchableTreeDialog.tsx +493 -0
  72. package/apps/lib/components/SectionBlock.tsx +4 -16
  73. package/apps/lib/components/Select.tsx +53 -80
  74. package/apps/lib/components/SimpleSelect.tsx +196 -187
  75. package/apps/lib/components/Skeleton.tsx +9 -12
  76. package/apps/lib/components/SlideDatePicker.tsx +215 -166
  77. package/apps/lib/components/SpinLoading.tsx +33 -49
  78. package/apps/lib/components/Stepper.tsx +13 -56
  79. package/apps/lib/components/Switch.tsx +8 -10
  80. package/apps/lib/components/TabFormItem.tsx +3 -12
  81. package/apps/lib/components/TabSwitch.tsx +7 -34
  82. package/apps/lib/components/Table.tsx +60 -75
  83. package/apps/lib/components/TableDnDWrapper.ts +15 -48
  84. package/apps/lib/components/TextEditor.tsx +93 -104
  85. package/apps/lib/components/Textarea.tsx +8 -12
  86. package/apps/lib/components/Timeline.tsx +21 -41
  87. package/apps/lib/components/Toast.tsx +83 -83
  88. package/apps/lib/components/Toggle.tsx +112 -114
  89. package/apps/lib/components/ToggleButton.tsx +1 -1
  90. package/apps/lib/components/Tooltip.tsx +24 -19
  91. package/apps/lib/components/TransparentLabel.tsx +61 -62
  92. package/apps/lib/components/TreeDropDown.tsx +86 -52
  93. package/apps/lib/components/TreeFolder/TreeFolder.tsx +15 -48
  94. package/apps/lib/components/TreeFolder/TreeFolderBreadcrumb.tsx +16 -21
  95. package/apps/lib/components/TreeFolder/TreeFolderRow.tsx +9 -20
  96. package/apps/lib/components/TreeFolder/TreeFolderStyles.tsx +3 -3
  97. package/apps/lib/components/TreeFolder/icons.tsx +14 -17
  98. package/apps/lib/components/TreeFolder/index.ts +15 -8
  99. package/apps/lib/components/TreeFolder/treeFolderUtils.ts +47 -52
  100. package/apps/lib/components/TreeFolder/types.ts +32 -32
  101. package/apps/lib/components/TreeFolder/useTreeFolderDnD.ts +117 -123
  102. package/apps/lib/hooks/useActiveTreeItem.ts +52 -55
  103. package/apps/lib/hooks/useClickOutside.ts +21 -20
  104. package/apps/lib/hooks/useDataViewsState.ts +86 -80
  105. package/apps/lib/hooks/useIsMobile.ts +12 -12
  106. package/apps/lib/hooks/useResize.ts +54 -65
  107. package/apps/lib/hooks/useTagSelection.ts +201 -201
  108. package/apps/lib/layouts/CNLayout.tsx +181 -140
  109. package/apps/lib/layouts/DataViewCard.tsx +4 -18
  110. package/apps/lib/layouts/FieldSection.tsx +2 -6
  111. package/apps/lib/layouts/TreeSubLayout.tsx +24 -38
  112. package/apps/lib/providers/ThemeProvider.tsx +8 -23
  113. package/apps/lib/registry.json +1004 -0
  114. package/apps/lib/tsconfig.json +9 -0
  115. package/apps/lib/utils/cn.ts +1 -1
  116. package/apps/lib/utils/dataViews/columnUtils.ts +46 -44
  117. package/apps/lib/utils/dataViews/fieldUtils.ts +70 -71
  118. package/apps/lib/utils/dataViews/nestedDataUtils.tsx +129 -122
  119. package/apps/lib/utils/dataViews/pathUtils.ts +74 -67
  120. package/apps/lib/utils/dataViews/rangeUtils.ts +121 -112
  121. package/apps/lib/utils/dataViews/treeUtils.ts +204 -211
  122. package/apps/lib/utils/dateFormat.ts +64 -54
  123. package/apps/lib/utils/markdownParser.ts +2 -7
  124. package/apps/lib/utils/resize.ts +21 -25
  125. package/apps/lib/utils/types.ts +13 -13
  126. package/dist/bin/index.js +8 -2
  127. package/dist/bin/index.js.map +1 -1
  128. package/dist/src/shared/getAvailableFiles.d.ts.map +1 -1
  129. package/dist/src/shared/getAvailableFiles.js +6 -1
  130. package/dist/src/shared/getAvailableFiles.js.map +1 -1
  131. package/dist/src/shared/loadRegistry.d.ts +7 -0
  132. package/dist/src/shared/loadRegistry.d.ts.map +1 -0
  133. package/dist/src/shared/loadRegistry.js +31 -0
  134. package/dist/src/shared/loadRegistry.js.map +1 -0
  135. package/dist/src/shared/resolveInstallPlan.d.ts +12 -0
  136. package/dist/src/shared/resolveInstallPlan.d.ts.map +1 -0
  137. package/dist/src/shared/resolveInstallPlan.js +39 -0
  138. package/dist/src/shared/resolveInstallPlan.js.map +1 -0
  139. package/dist/src/types/main.d.ts +24 -0
  140. package/dist/src/types/main.d.ts.map +1 -1
  141. package/docs/README.md +10 -2
  142. package/docs/components/action-button.md +30 -24
  143. package/docs/components/actions-group.md +26 -20
  144. package/docs/components/alert-dialog.md +45 -45
  145. package/docs/components/avatar.md +6 -2
  146. package/docs/components/badge-field.md +6 -2
  147. package/docs/components/badge.md +7 -1
  148. package/docs/components/breadcrumb.md +15 -40
  149. package/docs/components/button-group.md +13 -10
  150. package/docs/components/button.md +58 -33
  151. package/docs/components/calendar.md +26 -19
  152. package/docs/components/card.md +19 -16
  153. package/docs/components/chart-block-tool.md +128 -0
  154. package/docs/components/checkbox.md +16 -8
  155. package/docs/components/cn-layout.md +7 -1
  156. package/docs/components/context-menu.md +47 -24
  157. package/docs/components/count-badge.md +7 -1
  158. package/docs/components/data-table.md +45 -33
  159. package/docs/components/data-views-config-panel.md +18 -14
  160. package/docs/components/data-views-layout.md +20 -17
  161. package/docs/components/date-picker.md +30 -23
  162. package/docs/components/dialog.md +43 -42
  163. package/docs/components/divider.md +10 -4
  164. package/docs/components/drawer.md +8 -33
  165. package/docs/components/dropdown-menu.md +51 -32
  166. package/docs/components/field-hint.md +37 -25
  167. package/docs/components/field-section.md +9 -3
  168. package/docs/components/form-stepper.md +6 -0
  169. package/docs/components/form.md +17 -20
  170. package/docs/components/header-bar.md +187 -0
  171. package/docs/components/image-attachment.md +33 -41
  172. package/docs/components/inbox-view.md +16 -5
  173. package/docs/components/inner-label-field.md +34 -24
  174. package/docs/components/input-field.md +18 -10
  175. package/docs/components/input-otp.md +14 -11
  176. package/docs/components/input.md +22 -16
  177. package/docs/components/kanban-view.md +15 -5
  178. package/docs/components/label-field.md +32 -22
  179. package/docs/components/label.md +43 -32
  180. package/docs/components/labeled-check-box.md +16 -8
  181. package/docs/components/labeled-radio.md +18 -11
  182. package/docs/components/link-button.md +7 -1
  183. package/docs/components/login-button.md +8 -2
  184. package/docs/components/password-level.md +37 -24
  185. package/docs/components/popover.md +26 -23
  186. package/docs/components/profile-menu.md +38 -27
  187. package/docs/components/radio-card.md +16 -9
  188. package/docs/components/radio.md +16 -8
  189. package/docs/components/scroll-area.md +6 -2
  190. package/docs/components/search-field.md +14 -6
  191. package/docs/components/searchable-select.md +19 -14
  192. package/docs/components/searchable-table.md +60 -41
  193. package/docs/components/searchable-tree-dialog.md +190 -0
  194. package/docs/components/searchable-tree.md +200 -0
  195. package/docs/components/section-block.md +130 -4
  196. package/docs/components/select.md +23 -18
  197. package/docs/components/simple-select.md +14 -10
  198. package/docs/components/skeleton.md +43 -33
  199. package/docs/components/slide-date-picker.md +37 -29
  200. package/docs/components/spin-loading.md +32 -23
  201. package/docs/components/stepper.md +6 -0
  202. package/docs/components/switch.md +14 -6
  203. package/docs/components/tab-form-item.md +7 -1
  204. package/docs/components/tab-switch.md +13 -6
  205. package/docs/components/table-dnd-wrapper.md +105 -0
  206. package/docs/components/table-view.md +15 -5
  207. package/docs/components/table.md +28 -28
  208. package/docs/components/text-editor.md +19 -13
  209. package/docs/components/textarea.md +15 -7
  210. package/docs/components/timeline.md +6 -0
  211. package/docs/components/toast.md +35 -26
  212. package/docs/components/toggle-button.md +24 -21
  213. package/docs/components/toggle.md +23 -15
  214. package/docs/components/tooltip.md +42 -30
  215. package/docs/components/transparent-label.md +29 -20
  216. package/docs/components/tree-drop-down.md +31 -23
  217. package/docs/components/tree-sub-layout.md +6 -2
  218. package/docs/components/tree-view.md +16 -5
  219. package/docs/explanation/architecture.md +54 -0
  220. package/docs/explanation/design-system.md +52 -0
  221. package/docs/how-to/data-views-from-backend-response.md +7 -4
  222. package/docs/how-to/guides.md +24 -18
  223. package/docs/migration/changelog.md +38 -0
  224. package/docs/reference/cli.md +87 -0
  225. package/docs/reference/components.md +11 -12
  226. package/docs/reference/hooks.md +8 -8
  227. package/docs/reference/providers.md +22 -22
  228. package/docs/reference/tailwind-plugins.md +2 -2
  229. package/docs/reference/theme.md +85 -0
  230. package/docs/reference/types.md +4 -4
  231. package/docs/reference/utilities.md +19 -26
  232. package/docs/tutorials/building-first-form.md +20 -13
  233. package/docs/tutorials/component-composition.md +34 -50
  234. package/docs/tutorials/getting-started.md +2 -2
  235. package/docs/tutorials/theming-basics.md +13 -10
  236. package/package.json +31 -3
  237. package/dist/src/commands/block.d.ts +0 -5
  238. package/dist/src/commands/block.d.ts.map +0 -1
  239. package/dist/src/commands/block.js +0 -255
  240. package/dist/src/commands/block.js.map +0 -1
  241. package/dist/src/shared/configureFonts.d.ts +0 -6
  242. package/dist/src/shared/configureFonts.d.ts.map +0 -1
  243. package/dist/src/shared/configureFonts.js +0 -106
  244. package/dist/src/shared/configureFonts.js.map +0 -1
  245. package/dist/src/shared/configureGlobalCss.d.ts +0 -6
  246. package/dist/src/shared/configureGlobalCss.d.ts.map +0 -1
  247. package/dist/src/shared/configureGlobalCss.js +0 -154
  248. package/dist/src/shared/configureGlobalCss.js.map +0 -1
  249. package/dist/src/shared/configureTailwind.d.ts +0 -7
  250. package/dist/src/shared/configureTailwind.d.ts.map +0 -1
  251. package/dist/src/shared/configureTailwind.js +0 -163
  252. package/dist/src/shared/configureTailwind.js.map +0 -1
  253. package/dist/src/shared/detectFramework.d.ts +0 -23
  254. package/dist/src/shared/detectFramework.d.ts.map +0 -1
  255. package/dist/src/shared/detectFramework.js +0 -119
  256. package/dist/src/shared/detectFramework.js.map +0 -1
  257. package/dist/src/shared/installBaseUtils.d.ts +0 -5
  258. package/dist/src/shared/installBaseUtils.d.ts.map +0 -1
  259. package/dist/src/shared/installBaseUtils.js +0 -79
  260. package/dist/src/shared/installBaseUtils.js.map +0 -1
  261. package/dist/src/shared/resolveAliases.d.ts +0 -24
  262. package/dist/src/shared/resolveAliases.d.ts.map +0 -1
  263. package/dist/src/shared/resolveAliases.js +0 -98
  264. package/dist/src/shared/resolveAliases.js.map +0 -1
@@ -11,13 +11,22 @@ keywords: [label-field, form, input, label, required, field]
11
11
 
12
12
  ## Installation
13
13
 
14
- No external dependencies required.
14
+ TORCH Glare is a copy-in library: the CLI copies this component's source into your project
15
+ (you do **not** install it from the npm package). Run `init` once, then `add`:
16
+
17
+ ```bash
18
+ npx torch-glare@latest init
19
+ npx torch-glare@latest add LabelField
20
+ ```
21
+
22
+ `add` also copies any components, hooks, and utilities that `LabelField` depends on.
15
23
 
16
24
  ## Import
17
25
 
18
- ```typescript
19
- import { LabelField } from '@torch-ui/components'
20
- import type { LabelFieldProps } from '@torch-ui/components'
26
+ Import from your project's local path — the alias configured in `glare.json` (e.g. `@/*`):
27
+
28
+ ```tsx
29
+ import { LabelField } from "@/components/LabelField";
21
30
  ```
22
31
 
23
32
  ## Quick Examples
@@ -25,7 +34,7 @@ import type { LabelFieldProps } from '@torch-ui/components'
25
34
  ### Basic Usage
26
35
 
27
36
  ```typescript
28
- import { LabelField } from '@torch-ui/components'
37
+ import { LabelField } from "@/components/LabelField";
29
38
  import { useState } from 'react'
30
39
 
31
40
  function Example() {
@@ -45,7 +54,7 @@ function Example() {
45
54
  ### With Required Indicator
46
55
 
47
56
  ```typescript
48
- import { LabelField } from '@torch-ui/components'
57
+ import { LabelField } from "@/components/LabelField";
49
58
 
50
59
  function RequiredField() {
51
60
  return (
@@ -61,7 +70,7 @@ function RequiredField() {
61
70
  ### With Secondary Label
62
71
 
63
72
  ```typescript
64
- import { LabelField } from '@torch-ui/components'
73
+ import { LabelField } from "@/components/LabelField";
65
74
 
66
75
  function WithSecondary() {
67
76
  return (
@@ -77,7 +86,7 @@ function WithSecondary() {
77
86
  ### With Error Message
78
87
 
79
88
  ```typescript
80
- import { LabelField } from '@torch-ui/components'
89
+ import { LabelField } from "@/components/LabelField";
81
90
  import { useState } from 'react'
82
91
 
83
92
  function WithValidation() {
@@ -108,7 +117,7 @@ function WithValidation() {
108
117
  ### With Icon
109
118
 
110
119
  ```typescript
111
- import { LabelField } from '@torch-ui/components'
120
+ import { LabelField } from "@/components/LabelField";
112
121
 
113
122
  function WithIcon() {
114
123
  return (
@@ -124,8 +133,8 @@ function WithIcon() {
124
133
  ### With Action Button
125
134
 
126
135
  ```typescript
127
- import { LabelField } from '@torch-ui/components'
128
- import { ActionButton } from '@torch-ui/components'
136
+ import { LabelField } from "@/components/LabelField";
137
+ import { ActionButton } from "@/components/ActionButton";
129
138
  import { useState } from 'react'
130
139
 
131
140
  function WithActionButton() {
@@ -151,7 +160,7 @@ function WithActionButton() {
151
160
  ### Horizontal Layout
152
161
 
153
162
  ```typescript
154
- import { LabelField } from '@torch-ui/components'
163
+ import { LabelField } from "@/components/LabelField";
155
164
 
156
165
  function HorizontalLayout() {
157
166
  return (
@@ -168,7 +177,7 @@ function HorizontalLayout() {
168
177
  ### Different Sizes
169
178
 
170
179
  ```typescript
171
- import { LabelField } from '@torch-ui/components'
180
+ import { LabelField } from "@/components/LabelField";
172
181
 
173
182
  function Sizes() {
174
183
  return (
@@ -192,8 +201,9 @@ function Sizes() {
192
201
  ### Registration Form
193
202
 
194
203
  ```typescript
195
- import { LabelField } from '@torch-ui/components'
196
- import { Button, PasswordLevel } from '@torch-ui/components'
204
+ import { LabelField } from "@/components/LabelField";
205
+ import { Button } from "@/components/Button";
206
+ import { PasswordLevel } from "@/components/PasswordLevel";
197
207
  import { useState } from 'react'
198
208
 
199
209
  function RegistrationForm() {
@@ -281,7 +291,7 @@ function RegistrationForm() {
281
291
  ### With Popover Dropdown
282
292
 
283
293
  ```typescript
284
- import { LabelField } from '@torch-ui/components'
294
+ import { LabelField } from "@/components/LabelField";
285
295
  import { useState } from 'react'
286
296
 
287
297
  function WithPopover() {
@@ -314,8 +324,8 @@ function WithPopover() {
314
324
  ### Profile Settings Form
315
325
 
316
326
  ```typescript
317
- import { LabelField } from '@torch-ui/components'
318
- import { Button } from '@torch-ui/components'
327
+ import { LabelField } from "@/components/LabelField";
328
+ import { Button } from "@/components/Button";
319
329
  import { useState } from 'react'
320
330
 
321
331
  function ProfileSettings() {
@@ -426,7 +436,7 @@ export const LabelField: React.ForwardRefExoticComponent<
426
436
  ### Usage with Types
427
437
 
428
438
  ```typescript
429
- import { LabelField } from '@torch-ui/components'
439
+ import { LabelField } from "@/components/LabelField";
430
440
  import { useRef, useState } from 'react'
431
441
 
432
442
  function TypedExample() {
@@ -455,7 +465,7 @@ function TypedExample() {
455
465
  ### Form Field Wrapper Hook
456
466
 
457
467
  ```typescript
458
- import { LabelField } from '@torch-ui/components'
468
+ import { LabelField } from "@/components/LabelField";
459
469
  import { useState, useCallback } from 'react'
460
470
 
461
471
  function useFormField(initialValue: string = '') {
@@ -526,7 +536,7 @@ function FormWithHook() {
526
536
  ### Reusable Form Fields
527
537
 
528
538
  ```typescript
529
- import { LabelField } from '@torch-ui/components'
539
+ import { LabelField } from "@/components/LabelField";
530
540
  import { ComponentProps } from 'react'
531
541
 
532
542
  type FieldConfig = Omit<ComponentProps<typeof LabelField>, 'value' | 'onChange'> & {
@@ -580,7 +590,7 @@ function DynamicForm() {
580
590
 
581
591
  ```typescript
582
592
  import { render, screen, fireEvent } from '@testing-library/react'
583
- import { LabelField } from '@torch-ui/components'
593
+ import { LabelField } from "@/components/LabelField";
584
594
  import userEvent from '@testing-library/user-event'
585
595
 
586
596
  describe('LabelField', () => {
@@ -11,13 +11,22 @@ keywords: [label, form, input, required, text, typography]
11
11
 
12
12
  ## Installation
13
13
 
14
- No external dependencies required.
14
+ TORCH Glare is a copy-in library: the CLI copies this component's source into your project
15
+ (you do **not** install it from the npm package). Run `init` once, then `add`:
16
+
17
+ ```bash
18
+ npx torch-glare@latest init
19
+ npx torch-glare@latest add Label
20
+ ```
21
+
22
+ `add` also copies any components, hooks, and utilities that `Label` depends on.
15
23
 
16
24
  ## Import
17
25
 
18
- ```typescript
19
- import { Label } from '@torch-ui/components'
20
- import type { LabelProps } from '@torch-ui/components'
26
+ Import from your project's local path — the alias configured in `glare.json` (e.g. `@/*`):
27
+
28
+ ```tsx
29
+ import { Label } from "@/components/Label";
21
30
  ```
22
31
 
23
32
  ## Quick Examples
@@ -25,8 +34,8 @@ import type { LabelProps } from '@torch-ui/components'
25
34
  ### Basic Usage
26
35
 
27
36
  ```typescript
28
- import { Label } from '@torch-ui/components'
29
- import { InputField } from '@torch-ui/components'
37
+ import { Label } from "@/components/Label";
38
+ import { InputField } from "@/components/InputField";
30
39
 
31
40
  function Example() {
32
41
  return (
@@ -40,8 +49,8 @@ function Example() {
40
49
  ### With Required Indicator
41
50
 
42
51
  ```typescript
43
- import { Label } from '@torch-ui/components'
44
- import { InputField } from '@torch-ui/components'
52
+ import { Label } from "@/components/Label";
53
+ import { InputField } from "@/components/InputField";
45
54
 
46
55
  function RequiredField() {
47
56
  return (
@@ -58,8 +67,8 @@ function RequiredField() {
58
67
  ### With Secondary Label
59
68
 
60
69
  ```typescript
61
- import { Label } from '@torch-ui/components'
62
- import { InputField } from '@torch-ui/components'
70
+ import { Label } from "@/components/Label";
71
+ import { InputField } from "@/components/InputField";
63
72
 
64
73
  function WithSecondary() {
65
74
  return (
@@ -76,8 +85,8 @@ function WithSecondary() {
76
85
  ### All Labels Combined
77
86
 
78
87
  ```typescript
79
- import { Label } from '@torch-ui/components'
80
- import { InputField } from '@torch-ui/components'
88
+ import { Label } from "@/components/Label";
89
+ import { InputField } from "@/components/InputField";
81
90
 
82
91
  function AllLabels() {
83
92
  return (
@@ -95,8 +104,8 @@ function AllLabels() {
95
104
  ### Horizontal Layout
96
105
 
97
106
  ```typescript
98
- import { Label } from '@torch-ui/components'
99
- import { Switch } from '@torch-ui/components'
107
+ import { Label } from "@/components/Label";
108
+ import { Switch } from "@/components/Switch";
100
109
 
101
110
  function HorizontalLabel() {
102
111
  return (
@@ -113,8 +122,8 @@ function HorizontalLabel() {
113
122
  ### Vertical Label Direction
114
123
 
115
124
  ```typescript
116
- import { Label } from '@torch-ui/components'
117
- import { InputField } from '@torch-ui/components'
125
+ import { Label } from "@/components/Label";
126
+ import { InputField } from "@/components/InputField";
118
127
 
119
128
  function VerticalLabels() {
120
129
  return (
@@ -132,8 +141,8 @@ function VerticalLabels() {
132
141
  ### Reversed Children
133
142
 
134
143
  ```typescript
135
- import { Label } from '@torch-ui/components'
136
- import { Checkbox } from '@torch-ui/components'
144
+ import { Label } from "@/components/Label";
145
+ import { Checkbox } from "@/components/Checkbox";
137
146
 
138
147
  function ReversedLayout() {
139
148
  return (
@@ -151,8 +160,8 @@ function ReversedLayout() {
151
160
  ### Different Sizes
152
161
 
153
162
  ```typescript
154
- import { Label } from '@torch-ui/components'
155
- import { InputField } from '@torch-ui/components'
163
+ import { Label } from "@/components/Label";
164
+ import { InputField } from "@/components/InputField";
156
165
 
157
166
  function Sizes() {
158
167
  return (
@@ -176,8 +185,8 @@ function Sizes() {
176
185
  ### Style Variants
177
186
 
178
187
  ```typescript
179
- import { Label } from '@torch-ui/components'
180
- import { InputField } from '@torch-ui/components'
188
+ import { Label } from "@/components/Label";
189
+ import { InputField } from "@/components/InputField";
181
190
 
182
191
  function Variants() {
183
192
  return (
@@ -203,7 +212,7 @@ function Variants() {
203
212
  ### Polymorphic Rendering
204
213
 
205
214
  ```typescript
206
- import { Label } from '@torch-ui/components'
215
+ import { Label } from "@/components/Label";
207
216
 
208
217
  function PolymorphicLabel() {
209
218
  return (
@@ -233,8 +242,9 @@ function PolymorphicLabel() {
233
242
  ### Form Example
234
243
 
235
244
  ```typescript
236
- import { Label } from '@torch-ui/components'
237
- import { InputField, Button } from '@torch-ui/components'
245
+ import { Label } from "@/components/Label";
246
+ import { Button } from "@/components/Button";
247
+ import { InputField } from "@/components/InputField";
238
248
  import { useState } from 'react'
239
249
 
240
250
  function RegistrationForm() {
@@ -359,7 +369,7 @@ export const Label: React.ForwardRefExoticComponent<
359
369
  ### Usage with Types
360
370
 
361
371
  ```typescript
362
- import { Label } from '@torch-ui/components'
372
+ import { Label } from "@/components/Label";
363
373
  import { useRef } from 'react'
364
374
 
365
375
  function TypedExample() {
@@ -387,8 +397,8 @@ function TypedExample() {
387
397
  ### Responsive Layout
388
398
 
389
399
  ```typescript
390
- import { Label } from '@torch-ui/components'
391
- import { InputField } from '@torch-ui/components'
400
+ import { Label } from "@/components/Label";
401
+ import { InputField } from "@/components/InputField";
392
402
  import { useState, useEffect } from 'react'
393
403
 
394
404
  function ResponsiveLabel() {
@@ -417,8 +427,9 @@ function ResponsiveLabel() {
417
427
  ### Dynamic Required State
418
428
 
419
429
  ```typescript
420
- import { Label } from '@torch-ui/components'
421
- import { InputField, Checkbox } from '@torch-ui/components'
430
+ import { Label } from "@/components/Label";
431
+ import { Checkbox } from "@/components/Checkbox";
432
+ import { InputField } from "@/components/InputField";
422
433
  import { useState } from 'react'
423
434
 
424
435
  function DynamicRequired() {
@@ -452,7 +463,7 @@ function DynamicRequired() {
452
463
  ### Label Group Component
453
464
 
454
465
  ```typescript
455
- import { Label } from '@torch-ui/components'
466
+ import { Label } from "@/components/Label";
456
467
  import { ReactNode } from 'react'
457
468
 
458
469
  interface LabelGroupProps {
@@ -508,7 +519,7 @@ function FormWithGroup() {
508
519
 
509
520
  ```typescript
510
521
  import { render, screen } from '@testing-library/react'
511
- import { Label } from '@torch-ui/components'
522
+ import { Label } from "@/components/Label";
512
523
 
513
524
  describe('Label', () => {
514
525
  it('renders label text', () => {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: LabeledCheckBox
3
- version: 1.1.15
3
+ version: 2.4.0
4
4
  status: stable
5
5
  category: components/forms
6
6
  tags: [form, checkbox, label, selection, accessible, compound]
@@ -17,14 +17,22 @@ dependencies:
17
17
 
18
18
  ## Installation
19
19
 
20
+ TORCH Glare is a copy-in library: the CLI copies this component's source into your project
21
+ (you do **not** install it from the npm package). Run `init` once, then `add`:
22
+
20
23
  ```bash
21
- npm install torch-glare
24
+ npx torch-glare@latest init
25
+ npx torch-glare@latest add LabeledCheckBox
22
26
  ```
23
27
 
28
+ `add` also copies any components, hooks, and utilities that `LabeledCheckBox` depends on.
29
+
24
30
  ## Import
25
31
 
26
- ```typescript
27
- import { LabeledCheckBox } from 'torch-glare/lib/components/LabeledCheckBox'
32
+ Import from your project's local path — the alias configured in `glare.json` (e.g. `@/*`):
33
+
34
+ ```tsx
35
+ import { LabeledCheckBox } from "@/components/LabeledCheckBox";
28
36
  ```
29
37
 
30
38
  ## Quick Examples
@@ -32,7 +40,7 @@ import { LabeledCheckBox } from 'torch-glare/lib/components/LabeledCheckBox'
32
40
  ### Basic Usage
33
41
 
34
42
  ```typescript
35
- import { LabeledCheckBox } from 'torch-glare/lib/components/LabeledCheckBox'
43
+ import { LabeledCheckBox } from '@/components/LabeledCheckBox'
36
44
 
37
45
  function Example() {
38
46
  const [checked, setChecked] = useState(false)
@@ -389,7 +397,7 @@ function EmailSubscriptions() {
389
397
 
390
398
  ```typescript
391
399
  import { render, screen, fireEvent } from '@testing-library/react'
392
- import { LabeledCheckBox } from 'torch-glare/lib/components/LabeledCheckBox'
400
+ import { LabeledCheckBox } from '@/components/LabeledCheckBox'
393
401
 
394
402
  describe('LabeledCheckBox', () => {
395
403
  it('renders label and checkbox together', () => {
@@ -571,10 +579,10 @@ Note: Large size uses medium checkbox for visual balance.
571
579
  ```diff
572
580
  // Import path
573
581
  - import LabeledCheckBox from 'torch-glare/LabeledCheckBox'
574
- + import { LabeledCheckBox } from 'torch-glare/lib/components/LabeledCheckBox'
582
+ + import { LabeledCheckBox } from '@/components/LabeledCheckBox'
575
583
 
576
584
  // Size prop values
577
- - <LabeledCheckBox size="small" />
585
+ - <LabeledCheckBox size="M" />
578
586
  + <LabeledCheckBox size="S" />
579
587
  ```
580
588
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: LabeledRadio
3
- version: 1.1.15
3
+ version: 2.4.0
4
4
  status: stable
5
5
  category: components/forms
6
6
  tags: [form, radio, label, selection, accessible, compound]
@@ -17,15 +17,22 @@ dependencies:
17
17
 
18
18
  ## Installation
19
19
 
20
+ TORCH Glare is a copy-in library: the CLI copies this component's source into your project
21
+ (you do **not** install it from the npm package). Run `init` once, then `add`:
22
+
20
23
  ```bash
21
- npm install torch-glare
24
+ npx torch-glare@latest init
25
+ npx torch-glare@latest add LabeledRadio
22
26
  ```
23
27
 
28
+ `add` also copies any components, hooks, and utilities that `LabeledRadio` depends on.
29
+
24
30
  ## Import
25
31
 
26
- ```typescript
27
- import { LabeledRadio } from 'torch-glare/lib/components/LabeledRadio'
28
- import { RadioGroup } from 'torch-glare/lib/components/Radio'
32
+ Import from your project's local path — the alias configured in `glare.json` (e.g. `@/*`):
33
+
34
+ ```tsx
35
+ import { LabeledRadio } from "@/components/LabeledRadio";
29
36
  ```
30
37
 
31
38
  ## Quick Examples
@@ -33,8 +40,8 @@ import { RadioGroup } from 'torch-glare/lib/components/Radio'
33
40
  ### Basic Usage
34
41
 
35
42
  ```typescript
36
- import { LabeledRadio } from 'torch-glare/lib/components/LabeledRadio'
37
- import { RadioGroup } from 'torch-glare/lib/components/Radio'
43
+ import { LabeledRadio } from '@/components/LabeledRadio'
44
+ import { RadioGroup } from '@/components/Radio'
38
45
 
39
46
  function Example() {
40
47
  const [selected, setSelected] = useState('option1')
@@ -503,8 +510,8 @@ function AccountTypeSelector() {
503
510
 
504
511
  ```typescript
505
512
  import { render, screen, fireEvent } from '@testing-library/react'
506
- import { LabeledRadio } from 'torch-glare/lib/components/LabeledRadio'
507
- import { RadioGroup } from 'torch-glare/lib/components/Radio'
513
+ import { LabeledRadio } from '@/components/LabeledRadio'
514
+ import { RadioGroup } from '@/components/Radio'
508
515
 
509
516
  describe('LabeledRadio', () => {
510
517
  it('renders label and radio together', () => {
@@ -723,10 +730,10 @@ Note: Large size uses medium radio for visual balance.
723
730
  ```diff
724
731
  // Import path
725
732
  - import LabeledRadio from 'torch-glare/LabeledRadio'
726
- + import { LabeledRadio } from 'torch-glare/lib/components/LabeledRadio'
733
+ + import { LabeledRadio } from '@/components/LabeledRadio'
727
734
 
728
735
  // Size prop values
729
- - <LabeledRadio size="small" />
736
+ - <LabeledRadio size="M" />
730
737
  + <LabeledRadio size="S" />
731
738
  ```
732
739
 
@@ -12,10 +12,16 @@ A stylized link button component featuring an animated arrow that appears on hov
12
12
 
13
13
  ## Installation
14
14
 
15
+ TORCH Glare is a copy-in library: the CLI copies this component's source into your project
16
+ (you do **not** install it from the npm package). Run `init` once, then `add`:
17
+
15
18
  ```bash
16
- npx torch-cli add link-button
19
+ npx torch-glare@latest init
20
+ npx torch-glare@latest add LinkButton
17
21
  ```
18
22
 
23
+ `add` also copies any components, hooks, and utilities that `LinkButton` depends on.
24
+
19
25
  ## Imports
20
26
 
21
27
  ```typescript
@@ -12,10 +12,16 @@ A specialized full-width button component designed specifically for authenticati
12
12
 
13
13
  ## Installation
14
14
 
15
+ TORCH Glare is a copy-in library: the CLI copies this component's source into your project
16
+ (you do **not** install it from the npm package). Run `init` once, then `add`:
17
+
15
18
  ```bash
16
- npx torch-cli add login-button
19
+ npx torch-glare@latest init
20
+ npx torch-glare@latest add LoginButton
17
21
  ```
18
22
 
23
+ `add` also copies any components, hooks, and utilities that `LoginButton` depends on.
24
+
19
25
  ## Imports
20
26
 
21
27
  ```typescript
@@ -843,7 +849,7 @@ describe('LoginButton', () => {
843
849
  // Before: Material-UI Button
844
850
  <Button
845
851
  fullWidth
846
- variant="contained"
852
+ variant="PrimeStyle"
847
853
  loading={isLoading}
848
854
  >
849
855
  Sign In