@uselets/ui 0.5.0 → 0.6.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 (202) hide show
  1. package/README.md +73 -6
  2. package/dist/chunk-CHh1Zzun.js +1 -0
  3. package/dist/cli/uselets.mjs +7 -0
  4. package/dist/cli/uselets.mjs.map +1 -0
  5. package/dist/components/accordion.d.ts +6 -6
  6. package/dist/components/accordion.js +1 -1
  7. package/dist/components/accordion.js.map +1 -1
  8. package/dist/components/alert-dialog.d.ts +14 -14
  9. package/dist/components/alert-dialog.js +1 -1
  10. package/dist/components/alert.d.ts +8 -8
  11. package/dist/components/alert.js +1 -1
  12. package/dist/components/anchor.d.ts +5 -5
  13. package/dist/components/anchor.js +1 -1
  14. package/dist/components/avatar.d.ts +8 -8
  15. package/dist/components/avatar.js +1 -1
  16. package/dist/components/badge.d.ts +5 -5
  17. package/dist/components/badge.js +1 -1
  18. package/dist/components/breadcrumb.d.ts +9 -9
  19. package/dist/components/breadcrumb.js +1 -1
  20. package/dist/components/breadcrumb.js.map +1 -1
  21. package/dist/components/button-group.d.ts +7 -7
  22. package/dist/components/button-group.js +1 -1
  23. package/dist/components/button.d.ts +5 -5
  24. package/dist/components/button.js +1 -1
  25. package/dist/components/calendar.d.ts +6 -5
  26. package/dist/components/calendar.js +1 -1
  27. package/dist/components/calendar.js.map +1 -1
  28. package/dist/components/card.d.ts +9 -9
  29. package/dist/components/card.js +1 -1
  30. package/dist/components/carousel.d.ts +7 -7
  31. package/dist/components/carousel.js +1 -1
  32. package/dist/components/center.d.ts +5 -5
  33. package/dist/components/center.js +1 -1
  34. package/dist/components/chart.d.ts +90 -90
  35. package/dist/components/chart.js +1 -1
  36. package/dist/components/chart.js.map +1 -1
  37. package/dist/components/checkbox.d.ts +5 -5
  38. package/dist/components/checkbox.js +1 -1
  39. package/dist/components/code.d.ts +3 -3
  40. package/dist/components/code.js +1 -1
  41. package/dist/components/collapsible.d.ts +5 -5
  42. package/dist/components/collapsible.js +1 -1
  43. package/dist/components/collapsible.js.map +1 -1
  44. package/dist/components/combobox.d.ts +17 -17
  45. package/dist/components/combobox.js +1 -1
  46. package/dist/components/command.d.ts +11 -11
  47. package/dist/components/command.js +1 -1
  48. package/dist/components/command.js.map +1 -1
  49. package/dist/components/container.d.ts +5 -5
  50. package/dist/components/container.js +1 -1
  51. package/dist/components/dialog.d.ts +14 -14
  52. package/dist/components/dialog.js +1 -1
  53. package/dist/components/drawer.d.ts +14 -14
  54. package/dist/components/drawer.js +1 -1
  55. package/dist/components/dropdown-menu.d.ts +17 -17
  56. package/dist/components/dropdown-menu.js +1 -1
  57. package/dist/components/dropzone.d.ts +3 -3
  58. package/dist/components/dropzone.js +1 -1
  59. package/dist/components/dropzone.js.map +1 -1
  60. package/dist/components/empty.d.ts +10 -10
  61. package/dist/components/empty.js +1 -1
  62. package/dist/components/field.d.ts +14 -14
  63. package/dist/components/field.js +1 -1
  64. package/dist/components/group.d.ts +5 -5
  65. package/dist/components/group.js +1 -1
  66. package/dist/components/heading.d.ts +5 -5
  67. package/dist/components/heading.js +1 -1
  68. package/dist/components/hover-card.d.ts +5 -5
  69. package/dist/components/hover-card.js +1 -1
  70. package/dist/components/hover-card.js.map +1 -1
  71. package/dist/components/input-group.d.ts +11 -11
  72. package/dist/components/input-group.js +1 -1
  73. package/dist/components/input-otp.d.ts +6 -6
  74. package/dist/components/input-otp.js +1 -1
  75. package/dist/components/input-otp.js.map +1 -1
  76. package/dist/components/input.d.ts +3 -3
  77. package/dist/components/input.js +1 -1
  78. package/dist/components/kbd.d.ts +4 -4
  79. package/dist/components/kbd.js +1 -1
  80. package/dist/components/label.d.ts +3 -3
  81. package/dist/components/label.js +1 -1
  82. package/dist/components/list.d.ts +7 -7
  83. package/dist/components/list.js +1 -1
  84. package/dist/components/list.js.map +1 -1
  85. package/dist/components/native-select.d.ts +5 -5
  86. package/dist/components/native-select.js +1 -1
  87. package/dist/components/navigation-menu.d.ts +12 -12
  88. package/dist/components/navigation-menu.js +1 -1
  89. package/dist/components/navigation-menu.js.map +1 -1
  90. package/dist/components/pagination.d.ts +9 -9
  91. package/dist/components/pagination.js +1 -1
  92. package/dist/components/popover.d.ts +9 -9
  93. package/dist/components/popover.js +1 -1
  94. package/dist/components/progress.d.ts +3 -3
  95. package/dist/components/progress.js +1 -1
  96. package/dist/components/radio-group.d.ts +4 -4
  97. package/dist/components/radio-group.js +1 -1
  98. package/dist/components/resizable.d.ts +5 -5
  99. package/dist/components/resizable.js +1 -1
  100. package/dist/components/scroll-area.d.ts +4 -4
  101. package/dist/components/scroll-area.js +1 -1
  102. package/dist/components/select.d.ts +12 -12
  103. package/dist/components/select.js +1 -1
  104. package/dist/components/separator.d.ts +3 -3
  105. package/dist/components/separator.js +1 -1
  106. package/dist/components/sheet.d.ts +12 -12
  107. package/dist/components/sheet.js +1 -1
  108. package/dist/components/sheet.js.map +1 -1
  109. package/dist/components/sidebar.d.ts +27 -27
  110. package/dist/components/sidebar.js +1 -1
  111. package/dist/components/skeleton.d.ts +3 -3
  112. package/dist/components/skeleton.js +1 -1
  113. package/dist/components/slider.d.ts +3 -3
  114. package/dist/components/slider.js +1 -1
  115. package/dist/components/sonner.d.ts +3 -3
  116. package/dist/components/sonner.js +1 -1
  117. package/dist/components/sonner.js.map +1 -1
  118. package/dist/components/spinner.d.ts +5 -5
  119. package/dist/components/spinner.js +1 -1
  120. package/dist/components/stack.d.ts +5 -5
  121. package/dist/components/stack.js +1 -1
  122. package/dist/components/switch.d.ts +3 -3
  123. package/dist/components/switch.js +1 -1
  124. package/dist/components/table.d.ts +10 -10
  125. package/dist/components/table.js +1 -1
  126. package/dist/components/table.js.map +1 -1
  127. package/dist/components/tabs.d.ts +8 -8
  128. package/dist/components/tabs.js +1 -1
  129. package/dist/components/tabs.js.map +1 -1
  130. package/dist/components/text.d.ts +5 -5
  131. package/dist/components/text.js +1 -1
  132. package/dist/components/textarea.d.ts +3 -3
  133. package/dist/components/textarea.js +1 -1
  134. package/dist/components/theme.d.ts +4 -4
  135. package/dist/components/theme.js +1 -1
  136. package/dist/components/timeline.d.ts +5 -5
  137. package/dist/components/timeline.js +1 -1
  138. package/dist/components/timeline.js.map +1 -1
  139. package/dist/components/toggle-group.d.ts +4 -4
  140. package/dist/components/toggle-group.js +1 -1
  141. package/dist/components/toggle.d.ts +5 -5
  142. package/dist/components/toggle.js +1 -1
  143. package/dist/components/tooltip.d.ts +6 -6
  144. package/dist/components/tooltip.js +1 -1
  145. package/dist/hooks/use-disclosure.d.ts +23 -0
  146. package/dist/hooks/use-disclosure.js +2 -0
  147. package/dist/hooks/use-disclosure.js.map +1 -0
  148. package/dist/hooks/use-disclosure.spec.d.ts +1 -0
  149. package/dist/hooks/use-disclosure.spec.js +2 -0
  150. package/dist/hooks/use-disclosure.spec.js.map +1 -0
  151. package/dist/hooks/use-document-visibility.d.ts +7 -0
  152. package/dist/hooks/use-document-visibility.js +2 -0
  153. package/dist/hooks/use-document-visibility.js.map +1 -0
  154. package/dist/hooks/use-document-visibility.spec.d.ts +1 -0
  155. package/dist/hooks/use-document-visibility.spec.js +2 -0
  156. package/dist/hooks/use-document-visibility.spec.js.map +1 -0
  157. package/dist/hooks/use-idle.d.ts +14 -0
  158. package/dist/hooks/use-idle.js +2 -0
  159. package/dist/hooks/use-idle.js.map +1 -0
  160. package/dist/hooks/use-idle.spec.d.ts +1 -0
  161. package/dist/hooks/use-idle.spec.js +2 -0
  162. package/dist/hooks/use-idle.spec.js.map +1 -0
  163. package/dist/hooks/use-interval.d.ts +22 -0
  164. package/dist/hooks/use-interval.js +2 -0
  165. package/dist/hooks/use-interval.js.map +1 -0
  166. package/dist/hooks/use-interval.spec.d.ts +1 -0
  167. package/dist/hooks/use-interval.spec.js +2 -0
  168. package/dist/hooks/use-interval.spec.js.map +1 -0
  169. package/dist/hooks/use-local-storage.d.ts +17 -0
  170. package/dist/hooks/use-local-storage.js +2 -0
  171. package/dist/hooks/use-local-storage.js.map +1 -0
  172. package/dist/hooks/use-local-storage.spec.d.ts +1 -0
  173. package/dist/hooks/use-local-storage.spec.js +2 -0
  174. package/dist/hooks/use-local-storage.spec.js.map +1 -0
  175. package/dist/hooks/use-mobile.d.ts +1 -1
  176. package/dist/hooks/use-mobile.js +1 -1
  177. package/dist/hooks/use-mobile.spec.d.ts +1 -0
  178. package/dist/hooks/use-mobile.spec.js +2 -0
  179. package/dist/hooks/use-mobile.spec.js.map +1 -0
  180. package/dist/index.d.ts +8 -3
  181. package/dist/index.js +1 -1
  182. package/dist/lib/button.d.ts +1 -1
  183. package/dist/lib/utils.d.ts +3 -2
  184. package/dist/lib/utils.js +1 -1
  185. package/dist/lib/utils.js.map +1 -1
  186. package/dist/react.esm-BuxkFT_p.js +59 -0
  187. package/dist/react.esm-BuxkFT_p.js.map +1 -0
  188. package/dist/skills/uselets-ui/SKILL.md +72 -0
  189. package/dist/skills/uselets-ui/agents/openai.yaml +4 -0
  190. package/dist/skills/uselets-ui/references/component-catalog.md +202 -0
  191. package/dist/skills/uselets-ui/references/package-guide.md +264 -0
  192. package/dist/skills/uselets-ui/scripts/print-public-api.mjs +174 -0
  193. package/dist/styles.css +2 -1437
  194. package/dist/themes/gomax.css +2 -0
  195. package/dist/themes/max.css +2 -0
  196. package/package.json +42 -27
  197. package/skills/uselets-ui/SKILL.md +72 -0
  198. package/skills/uselets-ui/agents/openai.yaml +4 -0
  199. package/skills/uselets-ui/references/component-catalog.md +202 -0
  200. package/skills/uselets-ui/references/package-guide.md +264 -0
  201. package/skills/uselets-ui/scripts/print-public-api.mjs +174 -0
  202. package/dist/chunk-IpJEthwI.js +0 -1
@@ -0,0 +1,174 @@
1
+ #!/usr/bin/env node
2
+
3
+ import fs from 'node:fs'
4
+ import path from 'node:path'
5
+
6
+ function exists(targetPath) {
7
+ return fs.existsSync(targetPath)
8
+ }
9
+
10
+ function read(filePath) {
11
+ return fs.readFileSync(filePath, 'utf8')
12
+ }
13
+
14
+ function listFiles(dirPath, extension) {
15
+ return fs
16
+ .readdirSync(dirPath)
17
+ .filter((file) => file.endsWith(extension))
18
+ .sort((left, right) => left.localeCompare(right))
19
+ }
20
+
21
+ function uniqueSorted(values) {
22
+ return [...new Set(values)].sort((left, right) => left.localeCompare(right))
23
+ }
24
+
25
+ function findInstalledPackageJson(startDir) {
26
+ let currentDir = path.resolve(startDir)
27
+
28
+ while (true) {
29
+ const candidate = path.join(currentDir, 'node_modules/@uselets/ui/package.json')
30
+
31
+ if (exists(candidate)) {
32
+ return candidate
33
+ }
34
+
35
+ const parentDir = path.dirname(currentDir)
36
+
37
+ if (parentDir === currentDir) {
38
+ return null
39
+ }
40
+
41
+ currentDir = parentDir
42
+ }
43
+ }
44
+
45
+ function parseNamedPart(part) {
46
+ const trimmed = part.trim()
47
+
48
+ if (!trimmed) {
49
+ return null
50
+ }
51
+
52
+ const isType = trimmed.startsWith('type ')
53
+ const withoutType = isType ? trimmed.slice(5).trim() : trimmed
54
+ const segments = withoutType.split(/\s+as\s+/i)
55
+ const name = segments[segments.length - 1].trim()
56
+
57
+ if (!name) {
58
+ return null
59
+ }
60
+
61
+ return { isType, name }
62
+ }
63
+
64
+ function collectExports(source) {
65
+ const runtime = []
66
+ const types = []
67
+
68
+ for (const match of source.matchAll(/export\s+(const|function|class|declare\s+const|declare\s+function|declare\s+class)\s+([A-Za-z0-9_]+)/g)) {
69
+ runtime.push(match[2])
70
+ }
71
+
72
+ for (const match of source.matchAll(/export\s+(type|interface)\s+([A-Za-z0-9_]+)/g)) {
73
+ types.push(match[2])
74
+ }
75
+
76
+ for (const match of source.matchAll(/export\s+(type\s+)?\{([\s\S]*?)\}\s*(?:from\s+['"][^'"]+['"])?/g)) {
77
+ const blockIsTypeOnly = Boolean(match[1])
78
+ const parts = match[2].split(',').map((part) => parseNamedPart(part)).filter(Boolean)
79
+
80
+ for (const part of parts) {
81
+ if (blockIsTypeOnly || part.isType) {
82
+ types.push(part.name)
83
+ } else {
84
+ runtime.push(part.name)
85
+ }
86
+ }
87
+ }
88
+
89
+ return {
90
+ runtime: uniqueSorted(runtime),
91
+ types: uniqueSorted(types)
92
+ }
93
+ }
94
+
95
+ function buildModuleList(dirPath, extension, kind, packageRoot) {
96
+ if (!exists(dirPath)) {
97
+ return []
98
+ }
99
+
100
+ return listFiles(dirPath, extension).map((fileName) => {
101
+ const source = read(path.join(dirPath, fileName))
102
+ const moduleName = fileName.replace(new RegExp(`${extension}$`), '')
103
+
104
+ return {
105
+ kind,
106
+ module: moduleName,
107
+ source: path.relative(packageRoot, path.join(dirPath, fileName)),
108
+ subpath: getPublicSubpath(kind, moduleName),
109
+ ...collectExports(source)
110
+ }
111
+ })
112
+ }
113
+
114
+ function getPublicSubpath(kind, moduleName) {
115
+ if (kind === 'hooks') {
116
+ return `@uselets/ui/hooks/${moduleName}`
117
+ }
118
+
119
+ if (kind === 'lib') {
120
+ return moduleName === 'utils' ? '@uselets/ui/utils' : `@uselets/ui/lib/${moduleName}`
121
+ }
122
+
123
+ return `@uselets/ui/${moduleName}`
124
+ }
125
+
126
+ function printModuleSection(title, modules) {
127
+ console.log(`\n## ${title}\n`)
128
+
129
+ for (const moduleInfo of modules) {
130
+ console.log(`### ${moduleInfo.module}`)
131
+ console.log(`- source: \`${moduleInfo.source}\``)
132
+ console.log(`- subpath: \`${moduleInfo.subpath}\``)
133
+ console.log(`- runtime exports: ${moduleInfo.runtime.length > 0 ? `\`${moduleInfo.runtime.join('`, `')}\`` : '_none_'}`)
134
+ console.log(`- type exports: ${moduleInfo.types.length > 0 ? `\`${moduleInfo.types.join('`, `')}\`` : '_none_'}`)
135
+ console.log('')
136
+ }
137
+ }
138
+
139
+ const packageJsonPath = findInstalledPackageJson(process.cwd())
140
+
141
+ if (!packageJsonPath) {
142
+ console.log('# @uselets/ui public API\n')
143
+ console.log('No installed `@uselets/ui` package was found from the current working directory.')
144
+ console.log('Install the package first or use the bundled references in this skill as a snapshot.')
145
+ process.exit(0)
146
+ }
147
+
148
+ const packageRoot = path.dirname(packageJsonPath)
149
+ const packageJson = JSON.parse(read(packageJsonPath))
150
+ const distRoot = path.join(packageRoot, 'dist')
151
+
152
+ const componentModules = buildModuleList(path.join(distRoot, 'components'), '.d.ts', 'components', packageRoot)
153
+ const hookModules = buildModuleList(path.join(distRoot, 'hooks'), '.d.ts', 'hooks', packageRoot)
154
+ const libModules = buildModuleList(path.join(distRoot, 'lib'), '.d.ts', 'lib', packageRoot)
155
+
156
+ console.log('# @uselets/ui public API\n')
157
+ console.log(`- package root: \`${packageRoot}\``)
158
+ console.log(`- package version: \`${packageJson.version ?? 'unknown'}\``)
159
+ console.log('- barrel: `@uselets/ui`')
160
+ console.log('- component subpaths: `@uselets/ui/*`')
161
+ console.log('- hook subpaths: `@uselets/ui/hooks/*`')
162
+ console.log('- utility helpers: `@uselets/ui/utils`')
163
+ console.log('- styles: `@uselets/ui/styles.css` (legacy Max theme alias)')
164
+ console.log('- Max theme: `@uselets/ui/themes/max.css`')
165
+ console.log('- Gomax theme: `@uselets/ui/themes/gomax.css`')
166
+ console.log('- PostCSS preset: `@uselets/ui/postcss.config`')
167
+ console.log('')
168
+ console.log(`- components: ${componentModules.length}`)
169
+ console.log(`- hooks: ${hookModules.length}`)
170
+ console.log(`- lib modules: ${libModules.length}`)
171
+
172
+ printModuleSection('Components', componentModules)
173
+ printModuleSection('Hooks', hookModules)
174
+ printModuleSection('Lib', libModules)
@@ -1 +0,0 @@
1
- var e=Object.defineProperty,__name=(t,n)=>e(t,`name`,{value:n,configurable:!0});export{__name as t};