@bookklik/senangstart-css 0.1.4 → 0.1.8

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 (527) hide show
  1. package/.github/workflows/deploy-docs.yml +7 -1
  2. package/dist/senangstart-css.js +1436 -14
  3. package/dist/senangstart-css.min.js +1159 -10
  4. package/docs/.vitepress/config.js +624 -18
  5. package/docs/.vitepress/theme/custom.css +0 -1
  6. package/docs/SYNTAX-REFERENCE.md +1555 -0
  7. package/docs/guide/preflight.md +139 -0
  8. package/docs/index.md +8 -20
  9. package/docs/ms/guide/preflight.md +139 -0
  10. package/docs/ms/index.md +8 -20
  11. package/docs/ms/reference/colors.md +45 -45
  12. package/docs/ms/reference/layout/align-content.md +35 -0
  13. package/docs/ms/reference/layout/align-items.md +33 -0
  14. package/docs/ms/reference/layout/align-self.md +34 -0
  15. package/docs/ms/reference/layout/aspect-ratio.md +40 -0
  16. package/docs/ms/reference/layout/border-collapse.md +30 -0
  17. package/docs/ms/reference/layout/border-spacing.md +39 -0
  18. package/docs/ms/reference/layout/box-sizing.md +30 -0
  19. package/docs/ms/reference/layout/caption-side.md +30 -0
  20. package/docs/ms/reference/layout/columns.md +30 -0
  21. package/docs/ms/reference/layout/container.md +29 -0
  22. package/docs/ms/reference/layout/display.md +60 -0
  23. package/docs/ms/reference/layout/flex-basis.md +38 -0
  24. package/docs/ms/reference/layout/flex-direction.md +33 -0
  25. package/docs/ms/reference/layout/flex-items.md +32 -0
  26. package/docs/ms/reference/layout/flex-wrap.md +31 -0
  27. package/docs/ms/reference/layout/flex.md +40 -0
  28. package/docs/ms/reference/layout/float-clear.md +32 -0
  29. package/docs/ms/reference/layout/grid-auto-flow.md +33 -0
  30. package/docs/ms/reference/layout/grid-auto-sizing.md +32 -0
  31. package/docs/ms/reference/layout/grid-column-span.md +31 -0
  32. package/docs/ms/reference/layout/grid-columns.md +32 -0
  33. package/docs/ms/reference/layout/grid-row-span.md +30 -0
  34. package/docs/ms/reference/layout/grid-rows.md +31 -0
  35. package/docs/ms/reference/layout/inset.md +44 -0
  36. package/docs/ms/reference/layout/isolation.md +30 -0
  37. package/docs/ms/reference/layout/justify-content.md +36 -0
  38. package/docs/ms/reference/layout/justify-items.md +32 -0
  39. package/docs/ms/reference/layout/justify-self.md +33 -0
  40. package/docs/ms/reference/layout/object-fit.md +33 -0
  41. package/docs/ms/reference/layout/object-position.md +45 -0
  42. package/docs/ms/reference/layout/order.md +32 -0
  43. package/docs/ms/reference/layout/overflow.md +34 -0
  44. package/docs/ms/reference/layout/overscroll.md +31 -0
  45. package/docs/ms/reference/layout/place-content.md +35 -0
  46. package/docs/ms/reference/layout/place-items.md +32 -0
  47. package/docs/ms/reference/layout/place-self.md +33 -0
  48. package/docs/ms/reference/layout/position.md +34 -0
  49. package/docs/ms/reference/layout/shorthand-alignment.md +34 -0
  50. package/docs/ms/reference/layout/table-layout.md +30 -0
  51. package/docs/ms/reference/layout/visibility.md +30 -0
  52. package/docs/ms/reference/layout/z-index.md +33 -0
  53. package/docs/ms/reference/layout.md +53 -95
  54. package/docs/ms/reference/space/arbitrary-values.md +32 -0
  55. package/docs/ms/reference/space/gap.md +44 -0
  56. package/docs/ms/reference/space/height.md +44 -0
  57. package/docs/ms/reference/space/margin.md +49 -0
  58. package/docs/ms/reference/space/padding.md +49 -0
  59. package/docs/ms/reference/space/scale-reference.md +43 -0
  60. package/docs/ms/reference/space/sizing.md +27 -0
  61. package/docs/ms/reference/space/width.md +45 -0
  62. package/docs/ms/reference/space.md +15 -99
  63. package/docs/ms/reference/spacing.md +22 -8
  64. package/docs/ms/reference/visual/accent-color.md +31 -0
  65. package/docs/ms/reference/visual/animation-builtin.md +41 -0
  66. package/docs/ms/reference/visual/animation-delay.md +41 -0
  67. package/docs/ms/reference/visual/animation-direction.md +32 -0
  68. package/docs/ms/reference/visual/animation-duration.md +43 -0
  69. package/docs/ms/reference/visual/animation-fill.md +32 -0
  70. package/docs/ms/reference/visual/animation-iteration.md +30 -0
  71. package/docs/ms/reference/visual/animation-play.md +30 -0
  72. package/docs/ms/reference/visual/appearance.md +30 -0
  73. package/docs/ms/reference/visual/backdrop-blur.md +43 -0
  74. package/docs/ms/reference/visual/backdrop-brightness.md +41 -0
  75. package/docs/ms/reference/visual/backdrop-contrast.md +41 -0
  76. package/docs/ms/reference/visual/backdrop-grayscale.md +39 -0
  77. package/docs/ms/reference/visual/backdrop-hue-rotate.md +39 -0
  78. package/docs/ms/reference/visual/backdrop-invert.md +39 -0
  79. package/docs/ms/reference/visual/backdrop-opacity.md +39 -0
  80. package/docs/ms/reference/visual/backdrop-saturate.md +41 -0
  81. package/docs/ms/reference/visual/backdrop-sepia.md +39 -0
  82. package/docs/ms/reference/visual/background-attachment.md +31 -0
  83. package/docs/ms/reference/visual/background-blend-mode.md +34 -0
  84. package/docs/ms/reference/visual/background-clip.md +32 -0
  85. package/docs/ms/reference/visual/background-color.md +33 -0
  86. package/docs/ms/reference/visual/background-image.md +41 -0
  87. package/docs/ms/reference/visual/background-origin.md +31 -0
  88. package/docs/ms/reference/visual/background-position.md +45 -0
  89. package/docs/ms/reference/visual/background-repeat.md +34 -0
  90. package/docs/ms/reference/visual/background-size.md +39 -0
  91. package/docs/ms/reference/visual/background.md +13 -0
  92. package/docs/ms/reference/visual/blend-modes.md +34 -0
  93. package/docs/ms/reference/visual/border-radius.md +34 -0
  94. package/docs/ms/reference/visual/border-style.md +33 -0
  95. package/docs/ms/reference/visual/border-width.md +44 -0
  96. package/docs/ms/reference/visual/border.md +43 -0
  97. package/docs/ms/reference/visual/box-shadow.md +33 -0
  98. package/docs/ms/reference/visual/caret-color.md +31 -0
  99. package/docs/ms/reference/visual/color-scheme.md +31 -0
  100. package/docs/ms/reference/visual/cursor.md +37 -0
  101. package/docs/ms/reference/visual/field-sizing.md +30 -0
  102. package/docs/ms/reference/visual/fill.md +38 -0
  103. package/docs/ms/reference/visual/filter-blur.md +43 -0
  104. package/docs/ms/reference/visual/filter-brightness.md +41 -0
  105. package/docs/ms/reference/visual/filter-contrast.md +41 -0
  106. package/docs/ms/reference/visual/filter-drop-shadow.md +42 -0
  107. package/docs/ms/reference/visual/filter-grayscale.md +39 -0
  108. package/docs/ms/reference/visual/filter-hue-rotate.md +39 -0
  109. package/docs/ms/reference/visual/filter-invert.md +39 -0
  110. package/docs/ms/reference/visual/filter-saturate.md +41 -0
  111. package/docs/ms/reference/visual/filter-sepia.md +39 -0
  112. package/docs/ms/reference/visual/font-family.md +31 -0
  113. package/docs/ms/reference/visual/font-smoothing.md +30 -0
  114. package/docs/ms/reference/visual/font-style.md +30 -0
  115. package/docs/ms/reference/visual/font-variant-numeric.md +35 -0
  116. package/docs/ms/reference/visual/font-weight.md +31 -0
  117. package/docs/ms/reference/visual/forced-color-adjust.md +30 -0
  118. package/docs/ms/reference/visual/hyphens.md +31 -0
  119. package/docs/ms/reference/visual/letter-spacing.md +42 -0
  120. package/docs/ms/reference/visual/line-clamp.md +40 -0
  121. package/docs/ms/reference/visual/line-height.md +42 -0
  122. package/docs/ms/reference/visual/list-style.md +34 -0
  123. package/docs/ms/reference/visual/mask.md +39 -0
  124. package/docs/ms/reference/visual/opacity.md +33 -0
  125. package/docs/ms/reference/visual/outline.md +31 -0
  126. package/docs/ms/reference/visual/pointer-events.md +30 -0
  127. package/docs/ms/reference/visual/resize.md +32 -0
  128. package/docs/ms/reference/visual/scroll-behavior.md +30 -0
  129. package/docs/ms/reference/visual/scroll-margin.md +41 -0
  130. package/docs/ms/reference/visual/scroll-padding.md +41 -0
  131. package/docs/ms/reference/visual/scroll-snap-align.md +32 -0
  132. package/docs/ms/reference/visual/scroll-snap-stop.md +30 -0
  133. package/docs/ms/reference/visual/scroll-snap-type.md +34 -0
  134. package/docs/ms/reference/visual/state-prefixes.md +37 -0
  135. package/docs/ms/reference/visual/stroke-width.md +39 -0
  136. package/docs/ms/reference/visual/stroke.md +38 -0
  137. package/docs/ms/reference/visual/text-alignment.md +32 -0
  138. package/docs/ms/reference/visual/text-color.md +41 -0
  139. package/docs/ms/reference/visual/text-decoration.md +32 -0
  140. package/docs/ms/reference/visual/text-indent.md +37 -0
  141. package/docs/ms/reference/visual/text-overflow.md +31 -0
  142. package/docs/ms/reference/visual/text-shadow.md +40 -0
  143. package/docs/ms/reference/visual/text-size.md +32 -0
  144. package/docs/ms/reference/visual/text-transform.md +32 -0
  145. package/docs/ms/reference/visual/text-wrap.md +32 -0
  146. package/docs/ms/reference/visual/touch-action.md +36 -0
  147. package/docs/ms/reference/visual/transform-backface.md +30 -0
  148. package/docs/ms/reference/visual/transform-origin.md +45 -0
  149. package/docs/ms/reference/visual/transform-perspective-origin.md +45 -0
  150. package/docs/ms/reference/visual/transform-perspective.md +43 -0
  151. package/docs/ms/reference/visual/transform-rotate.md +40 -0
  152. package/docs/ms/reference/visual/transform-scale.md +43 -0
  153. package/docs/ms/reference/visual/transform-skew.md +40 -0
  154. package/docs/ms/reference/visual/transform-style.md +30 -0
  155. package/docs/ms/reference/visual/transform-translate.md +39 -0
  156. package/docs/ms/reference/visual/transition-delay.md +41 -0
  157. package/docs/ms/reference/visual/transition-duration.md +43 -0
  158. package/docs/ms/reference/visual/transition-property.md +34 -0
  159. package/docs/ms/reference/visual/transition-timing.md +40 -0
  160. package/docs/ms/reference/visual/typography-keywords.md +81 -0
  161. package/docs/ms/reference/visual/user-select.md +32 -0
  162. package/docs/ms/reference/visual/vertical-align.md +36 -0
  163. package/docs/ms/reference/visual/whitespace.md +34 -0
  164. package/docs/ms/reference/visual/will-change.md +33 -0
  165. package/docs/ms/reference/visual/word-break.md +32 -0
  166. package/docs/ms/reference/visual.md +145 -148
  167. package/docs/public/assets/senangstart-css.min.js +1545 -0
  168. package/docs/reference/layout/align-content.md +35 -0
  169. package/docs/reference/layout/align-items.md +33 -0
  170. package/docs/reference/layout/align-self.md +34 -0
  171. package/docs/reference/layout/aspect-ratio.md +40 -0
  172. package/docs/reference/layout/border-collapse.md +30 -0
  173. package/docs/reference/layout/border-spacing.md +39 -0
  174. package/docs/reference/layout/box-sizing.md +30 -0
  175. package/docs/reference/layout/caption-side.md +30 -0
  176. package/docs/reference/layout/columns.md +30 -0
  177. package/docs/reference/layout/container.md +29 -0
  178. package/docs/reference/layout/display.md +60 -0
  179. package/docs/reference/layout/flex-basis.md +38 -0
  180. package/docs/reference/layout/flex-direction.md +33 -0
  181. package/docs/reference/layout/flex-items.md +32 -0
  182. package/docs/reference/layout/flex-wrap.md +31 -0
  183. package/docs/reference/layout/flex.md +40 -0
  184. package/docs/reference/layout/float-clear.md +32 -0
  185. package/docs/reference/layout/grid-auto-flow.md +33 -0
  186. package/docs/reference/layout/grid-auto-sizing.md +32 -0
  187. package/docs/reference/layout/grid-column-span.md +31 -0
  188. package/docs/reference/layout/grid-columns.md +32 -0
  189. package/docs/reference/layout/grid-row-span.md +30 -0
  190. package/docs/reference/layout/grid-rows.md +31 -0
  191. package/docs/reference/layout/inset.md +44 -0
  192. package/docs/reference/layout/isolation.md +30 -0
  193. package/docs/reference/layout/justify-content.md +36 -0
  194. package/docs/reference/layout/justify-items.md +32 -0
  195. package/docs/reference/layout/justify-self.md +33 -0
  196. package/docs/reference/layout/object-fit.md +33 -0
  197. package/docs/reference/layout/object-position.md +45 -0
  198. package/docs/reference/layout/order.md +32 -0
  199. package/docs/reference/layout/overflow.md +34 -0
  200. package/docs/reference/layout/overscroll.md +31 -0
  201. package/docs/reference/layout/place-content.md +35 -0
  202. package/docs/reference/layout/place-items.md +32 -0
  203. package/docs/reference/layout/place-self.md +33 -0
  204. package/docs/reference/layout/position.md +34 -0
  205. package/docs/reference/layout/shorthand-alignment.md +34 -0
  206. package/docs/reference/layout/table-layout.md +30 -0
  207. package/docs/reference/layout/visibility.md +30 -0
  208. package/docs/reference/layout/z-index.md +33 -0
  209. package/docs/reference/layout.md +60 -102
  210. package/docs/reference/space/arbitrary-values.md +39 -0
  211. package/docs/reference/space/gap.md +44 -0
  212. package/docs/reference/space/height.md +44 -0
  213. package/docs/reference/space/margin.md +49 -0
  214. package/docs/reference/space/padding.md +49 -0
  215. package/docs/reference/space/scale-reference.md +43 -0
  216. package/docs/reference/space/width.md +45 -0
  217. package/docs/reference/space.md +14 -98
  218. package/docs/reference/spacing.md +22 -8
  219. package/docs/reference/visual/accent-color.md +31 -0
  220. package/docs/reference/visual/animation-builtin.md +41 -0
  221. package/docs/reference/visual/animation-delay.md +41 -0
  222. package/docs/reference/visual/animation-direction.md +32 -0
  223. package/docs/reference/visual/animation-duration.md +43 -0
  224. package/docs/reference/visual/animation-fill.md +32 -0
  225. package/docs/reference/visual/animation-iteration.md +30 -0
  226. package/docs/reference/visual/animation-play.md +30 -0
  227. package/docs/reference/visual/appearance.md +30 -0
  228. package/docs/reference/visual/backdrop-blur.md +43 -0
  229. package/docs/reference/visual/backdrop-brightness.md +41 -0
  230. package/docs/reference/visual/backdrop-contrast.md +41 -0
  231. package/docs/reference/visual/backdrop-grayscale.md +39 -0
  232. package/docs/reference/visual/backdrop-hue-rotate.md +39 -0
  233. package/docs/reference/visual/backdrop-invert.md +39 -0
  234. package/docs/reference/visual/backdrop-opacity.md +39 -0
  235. package/docs/reference/visual/backdrop-saturate.md +41 -0
  236. package/docs/reference/visual/backdrop-sepia.md +39 -0
  237. package/docs/reference/visual/background-attachment.md +31 -0
  238. package/docs/reference/visual/background-blend-mode.md +34 -0
  239. package/docs/reference/visual/background-clip.md +32 -0
  240. package/docs/reference/visual/background-color.md +33 -0
  241. package/docs/reference/visual/background-image.md +41 -0
  242. package/docs/reference/visual/background-origin.md +31 -0
  243. package/docs/reference/visual/background-position.md +45 -0
  244. package/docs/reference/visual/background-repeat.md +34 -0
  245. package/docs/reference/visual/background-size.md +39 -0
  246. package/docs/reference/visual/blend-modes.md +34 -0
  247. package/docs/reference/visual/border-radius.md +34 -0
  248. package/docs/reference/visual/border-style.md +33 -0
  249. package/docs/reference/visual/border-width.md +44 -0
  250. package/docs/reference/visual/border.md +43 -0
  251. package/docs/reference/visual/box-shadow.md +33 -0
  252. package/docs/reference/visual/caret-color.md +31 -0
  253. package/docs/reference/visual/color-scheme.md +31 -0
  254. package/docs/reference/visual/cursor.md +37 -0
  255. package/docs/reference/visual/field-sizing.md +30 -0
  256. package/docs/reference/visual/fill.md +38 -0
  257. package/docs/reference/visual/filter-blur.md +43 -0
  258. package/docs/reference/visual/filter-brightness.md +41 -0
  259. package/docs/reference/visual/filter-contrast.md +41 -0
  260. package/docs/reference/visual/filter-drop-shadow.md +42 -0
  261. package/docs/reference/visual/filter-grayscale.md +39 -0
  262. package/docs/reference/visual/filter-hue-rotate.md +39 -0
  263. package/docs/reference/visual/filter-invert.md +39 -0
  264. package/docs/reference/visual/filter-saturate.md +41 -0
  265. package/docs/reference/visual/filter-sepia.md +39 -0
  266. package/docs/reference/visual/font-family.md +31 -0
  267. package/docs/reference/visual/font-smoothing.md +30 -0
  268. package/docs/reference/visual/font-style.md +30 -0
  269. package/docs/reference/visual/font-variant-numeric.md +35 -0
  270. package/docs/reference/visual/font-weight.md +31 -0
  271. package/docs/reference/visual/forced-color-adjust.md +30 -0
  272. package/docs/reference/visual/hyphens.md +31 -0
  273. package/docs/reference/visual/letter-spacing.md +42 -0
  274. package/docs/reference/visual/line-clamp.md +40 -0
  275. package/docs/reference/visual/line-height.md +42 -0
  276. package/docs/reference/visual/list-style.md +34 -0
  277. package/docs/reference/visual/mask.md +39 -0
  278. package/docs/reference/visual/opacity.md +33 -0
  279. package/docs/reference/visual/outline.md +31 -0
  280. package/docs/reference/visual/pointer-events.md +30 -0
  281. package/docs/reference/visual/resize.md +32 -0
  282. package/docs/reference/visual/scroll-behavior.md +30 -0
  283. package/docs/reference/visual/scroll-margin.md +41 -0
  284. package/docs/reference/visual/scroll-padding.md +41 -0
  285. package/docs/reference/visual/scroll-snap-align.md +32 -0
  286. package/docs/reference/visual/scroll-snap-stop.md +30 -0
  287. package/docs/reference/visual/scroll-snap-type.md +34 -0
  288. package/docs/reference/visual/state-prefixes.md +37 -0
  289. package/docs/reference/visual/stroke-width.md +39 -0
  290. package/docs/reference/visual/stroke.md +38 -0
  291. package/docs/reference/visual/text-alignment.md +32 -0
  292. package/docs/reference/visual/text-color.md +41 -0
  293. package/docs/reference/visual/text-decoration.md +32 -0
  294. package/docs/reference/visual/text-indent.md +37 -0
  295. package/docs/reference/visual/text-overflow.md +31 -0
  296. package/docs/reference/visual/text-shadow.md +40 -0
  297. package/docs/reference/visual/text-size.md +32 -0
  298. package/docs/reference/visual/text-transform.md +32 -0
  299. package/docs/reference/visual/text-wrap.md +32 -0
  300. package/docs/reference/visual/touch-action.md +36 -0
  301. package/docs/reference/visual/transform-backface.md +30 -0
  302. package/docs/reference/visual/transform-origin.md +45 -0
  303. package/docs/reference/visual/transform-perspective-origin.md +45 -0
  304. package/docs/reference/visual/transform-perspective.md +43 -0
  305. package/docs/reference/visual/transform-rotate.md +40 -0
  306. package/docs/reference/visual/transform-scale.md +43 -0
  307. package/docs/reference/visual/transform-skew.md +40 -0
  308. package/docs/reference/visual/transform-style.md +30 -0
  309. package/docs/reference/visual/transform-translate.md +39 -0
  310. package/docs/reference/visual/transition-delay.md +41 -0
  311. package/docs/reference/visual/transition-duration.md +43 -0
  312. package/docs/reference/visual/transition-property.md +34 -0
  313. package/docs/reference/visual/transition-timing.md +40 -0
  314. package/docs/reference/visual/typography-keywords.md +81 -0
  315. package/docs/reference/visual/user-select.md +32 -0
  316. package/docs/reference/visual/vertical-align.md +36 -0
  317. package/docs/reference/visual/whitespace.md +34 -0
  318. package/docs/reference/visual/will-change.md +33 -0
  319. package/docs/reference/visual/word-break.md +32 -0
  320. package/docs/reference/visual.md +151 -154
  321. package/docs/syntax-reference.json +1973 -0
  322. package/package.json +12 -4
  323. package/playground/index.html +78 -0
  324. package/playground/jit-test.html +384 -0
  325. package/scripts/extract-syntax.js +152 -0
  326. package/scripts/generate-docs.js +352 -0
  327. package/src/cdn/jit.js +1436 -14
  328. package/src/cli/commands/build.js +5 -0
  329. package/src/cli/index.js +2 -0
  330. package/src/compiler/generators/css.js +1537 -25
  331. package/src/compiler/generators/preflight.js +379 -0
  332. package/src/config/defaults.js +19 -1
  333. package/src/definitions/index.js +153 -0
  334. package/src/definitions/layout-alignment.js +257 -0
  335. package/src/definitions/layout-flex.js +209 -0
  336. package/src/definitions/layout-grid.js +150 -0
  337. package/src/definitions/layout-positioning.js +89 -0
  338. package/src/definitions/layout-table.js +98 -0
  339. package/src/definitions/layout-utilities.js +262 -0
  340. package/src/definitions/layout.js +195 -0
  341. package/src/definitions/space.js +164 -0
  342. package/src/definitions/visual-backgrounds.js +423 -0
  343. package/src/definitions/visual-borders.js +111 -0
  344. package/src/definitions/visual-filters.js +204 -0
  345. package/src/definitions/visual-interactivity.js +292 -0
  346. package/src/definitions/visual-svg.js +80 -0
  347. package/src/definitions/visual-transform3d.js +159 -0
  348. package/src/definitions/visual-transforms.js +142 -0
  349. package/src/definitions/visual-transitions.js +277 -0
  350. package/src/definitions/visual-typography.js +386 -0
  351. package/src/definitions/visual.js +542 -0
  352. package/tests/helpers/test-utils.js +144 -0
  353. package/tests/integration/compiler.test.js +247 -0
  354. package/tests/sync/docs-sync.test.js +364 -0
  355. package/tests/unit/compiler/generators/css.test.js +719 -0
  356. package/tests/unit/compiler/parser.test.js +244 -0
  357. package/tests/unit/compiler/tokenizer.test.js +305 -0
  358. package/tests/unit/config/defaults.test.js +168 -0
  359. package/docs/.vitepress/cache/deps/_metadata.json +0 -31
  360. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js +0 -12824
  361. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js.map +0 -7
  362. package/docs/.vitepress/cache/deps/package.json +0 -3
  363. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +0 -4505
  364. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +0 -7
  365. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +0 -9731
  366. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +0 -7
  367. package/docs/.vitepress/cache/deps/vue.js +0 -347
  368. package/docs/.vitepress/cache/deps/vue.js.map +0 -7
  369. package/docs/.vitepress/dist/404.html +0 -22
  370. package/docs/.vitepress/dist/assets/app.DBXoyO4w.js +0 -1
  371. package/docs/.vitepress/dist/assets/chunks/framework.I305HrzY.js +0 -19
  372. package/docs/.vitepress/dist/assets/chunks/theme.CaXH1t3X.js +0 -1
  373. package/docs/.vitepress/dist/assets/examples_cards.md.BCzaqSD6.js +0 -84
  374. package/docs/.vitepress/dist/assets/examples_cards.md.BCzaqSD6.lean.js +0 -1
  375. package/docs/.vitepress/dist/assets/examples_forms.md.DOjr9LrG.js +0 -169
  376. package/docs/.vitepress/dist/assets/examples_forms.md.DOjr9LrG.lean.js +0 -1
  377. package/docs/.vitepress/dist/assets/examples_hero.md.CAorji-Y.js +0 -118
  378. package/docs/.vitepress/dist/assets/examples_hero.md.CAorji-Y.lean.js +0 -1
  379. package/docs/.vitepress/dist/assets/examples_index.md.BjUNsTob.js +0 -52
  380. package/docs/.vitepress/dist/assets/examples_index.md.BjUNsTob.lean.js +0 -1
  381. package/docs/.vitepress/dist/assets/examples_navigation.md.DvL-Yv_5.js +0 -106
  382. package/docs/.vitepress/dist/assets/examples_navigation.md.DvL-Yv_5.lean.js +0 -1
  383. package/docs/.vitepress/dist/assets/guide_cdn.md.Bbb7-icp.js +0 -30
  384. package/docs/.vitepress/dist/assets/guide_cdn.md.Bbb7-icp.lean.js +0 -1
  385. package/docs/.vitepress/dist/assets/guide_cli.md.yLsOZ7NL.js +0 -44
  386. package/docs/.vitepress/dist/assets/guide_cli.md.yLsOZ7NL.lean.js +0 -1
  387. package/docs/.vitepress/dist/assets/guide_configuration.md.DN4FfKw4.js +0 -79
  388. package/docs/.vitepress/dist/assets/guide_configuration.md.DN4FfKw4.lean.js +0 -1
  389. package/docs/.vitepress/dist/assets/guide_dark-mode.md.D6UJvQtM.js +0 -69
  390. package/docs/.vitepress/dist/assets/guide_dark-mode.md.D6UJvQtM.lean.js +0 -1
  391. package/docs/.vitepress/dist/assets/guide_getting-started.md.K5nA8wXY.js +0 -47
  392. package/docs/.vitepress/dist/assets/guide_getting-started.md.K5nA8wXY.lean.js +0 -1
  393. package/docs/.vitepress/dist/assets/guide_index.md.B0lRU150.js +0 -3
  394. package/docs/.vitepress/dist/assets/guide_index.md.B0lRU150.lean.js +0 -1
  395. package/docs/.vitepress/dist/assets/guide_natural-scale.md.vvauT7U1.js +0 -22
  396. package/docs/.vitepress/dist/assets/guide_natural-scale.md.vvauT7U1.lean.js +0 -1
  397. package/docs/.vitepress/dist/assets/guide_philosophy.md.mOb9kp32.js +0 -7
  398. package/docs/.vitepress/dist/assets/guide_philosophy.md.mOb9kp32.lean.js +0 -1
  399. package/docs/.vitepress/dist/assets/guide_responsive.md.C7cF-4cR.js +0 -57
  400. package/docs/.vitepress/dist/assets/guide_responsive.md.C7cF-4cR.lean.js +0 -1
  401. package/docs/.vitepress/dist/assets/guide_states.md.CwtGEGHB.js +0 -77
  402. package/docs/.vitepress/dist/assets/guide_states.md.CwtGEGHB.lean.js +0 -1
  403. package/docs/.vitepress/dist/assets/guide_tri-attribute.md.CpjJLEMP.js +0 -45
  404. package/docs/.vitepress/dist/assets/guide_tri-attribute.md.CpjJLEMP.lean.js +0 -1
  405. package/docs/.vitepress/dist/assets/index.md.mYp6_S5X.js +0 -7
  406. package/docs/.vitepress/dist/assets/index.md.mYp6_S5X.lean.js +0 -1
  407. package/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  408. package/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  409. package/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  410. package/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  411. package/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  412. package/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  413. package/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  414. package/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  415. package/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  416. package/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  417. package/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  418. package/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  419. package/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  420. package/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  421. package/docs/.vitepress/dist/assets/ms_examples_cards.md.CaE5JNAs.js +0 -84
  422. package/docs/.vitepress/dist/assets/ms_examples_cards.md.CaE5JNAs.lean.js +0 -1
  423. package/docs/.vitepress/dist/assets/ms_examples_forms.md.VvDzMzxF.js +0 -169
  424. package/docs/.vitepress/dist/assets/ms_examples_forms.md.VvDzMzxF.lean.js +0 -1
  425. package/docs/.vitepress/dist/assets/ms_examples_hero.md.DC4c3kKW.js +0 -118
  426. package/docs/.vitepress/dist/assets/ms_examples_hero.md.DC4c3kKW.lean.js +0 -1
  427. package/docs/.vitepress/dist/assets/ms_examples_index.md.C13ShcjA.js +0 -52
  428. package/docs/.vitepress/dist/assets/ms_examples_index.md.C13ShcjA.lean.js +0 -1
  429. package/docs/.vitepress/dist/assets/ms_examples_navigation.md.BPtVjKbk.js +0 -106
  430. package/docs/.vitepress/dist/assets/ms_examples_navigation.md.BPtVjKbk.lean.js +0 -1
  431. package/docs/.vitepress/dist/assets/ms_guide_cdn.md.tZFpEjTS.js +0 -30
  432. package/docs/.vitepress/dist/assets/ms_guide_cdn.md.tZFpEjTS.lean.js +0 -1
  433. package/docs/.vitepress/dist/assets/ms_guide_cli.md.DBjxv3-o.js +0 -44
  434. package/docs/.vitepress/dist/assets/ms_guide_cli.md.DBjxv3-o.lean.js +0 -1
  435. package/docs/.vitepress/dist/assets/ms_guide_configuration.md.CyYNqREm.js +0 -79
  436. package/docs/.vitepress/dist/assets/ms_guide_configuration.md.CyYNqREm.lean.js +0 -1
  437. package/docs/.vitepress/dist/assets/ms_guide_dark-mode.md.DWDWvzzv.js +0 -69
  438. package/docs/.vitepress/dist/assets/ms_guide_dark-mode.md.DWDWvzzv.lean.js +0 -1
  439. package/docs/.vitepress/dist/assets/ms_guide_getting-started.md.WoQwRhlY.js +0 -47
  440. package/docs/.vitepress/dist/assets/ms_guide_getting-started.md.WoQwRhlY.lean.js +0 -1
  441. package/docs/.vitepress/dist/assets/ms_guide_index.md.pHpXZMmU.js +0 -3
  442. package/docs/.vitepress/dist/assets/ms_guide_index.md.pHpXZMmU.lean.js +0 -1
  443. package/docs/.vitepress/dist/assets/ms_guide_natural-scale.md.BiUfU-TH.js +0 -22
  444. package/docs/.vitepress/dist/assets/ms_guide_natural-scale.md.BiUfU-TH.lean.js +0 -1
  445. package/docs/.vitepress/dist/assets/ms_guide_philosophy.md.hf3SG2Ts.js +0 -7
  446. package/docs/.vitepress/dist/assets/ms_guide_philosophy.md.hf3SG2Ts.lean.js +0 -1
  447. package/docs/.vitepress/dist/assets/ms_guide_responsive.md.C4yS3zzM.js +0 -57
  448. package/docs/.vitepress/dist/assets/ms_guide_responsive.md.C4yS3zzM.lean.js +0 -1
  449. package/docs/.vitepress/dist/assets/ms_guide_states.md.DkDEjPdC.js +0 -77
  450. package/docs/.vitepress/dist/assets/ms_guide_states.md.DkDEjPdC.lean.js +0 -1
  451. package/docs/.vitepress/dist/assets/ms_guide_tri-attribute.md.C3Es_V5J.js +0 -45
  452. package/docs/.vitepress/dist/assets/ms_guide_tri-attribute.md.C3Es_V5J.lean.js +0 -1
  453. package/docs/.vitepress/dist/assets/ms_index.md.Bmo9il08.js +0 -7
  454. package/docs/.vitepress/dist/assets/ms_index.md.Bmo9il08.lean.js +0 -1
  455. package/docs/.vitepress/dist/assets/ms_reference_breakpoints.md.DR7i_--b.js +0 -48
  456. package/docs/.vitepress/dist/assets/ms_reference_breakpoints.md.DR7i_--b.lean.js +0 -1
  457. package/docs/.vitepress/dist/assets/ms_reference_colors.md.06ZYiMcJ.js +0 -17
  458. package/docs/.vitepress/dist/assets/ms_reference_colors.md.06ZYiMcJ.lean.js +0 -1
  459. package/docs/.vitepress/dist/assets/ms_reference_layout.md.NGL6A5SR.js +0 -13
  460. package/docs/.vitepress/dist/assets/ms_reference_layout.md.NGL6A5SR.lean.js +0 -1
  461. package/docs/.vitepress/dist/assets/ms_reference_space.md.BG5YQ-09.js +0 -24
  462. package/docs/.vitepress/dist/assets/ms_reference_space.md.BG5YQ-09.lean.js +0 -1
  463. package/docs/.vitepress/dist/assets/ms_reference_spacing.md.XmXLLPOZ.js +0 -32
  464. package/docs/.vitepress/dist/assets/ms_reference_spacing.md.XmXLLPOZ.lean.js +0 -1
  465. package/docs/.vitepress/dist/assets/ms_reference_visual.md.BVOlkEqc.js +0 -22
  466. package/docs/.vitepress/dist/assets/ms_reference_visual.md.BVOlkEqc.lean.js +0 -1
  467. package/docs/.vitepress/dist/assets/reference_breakpoints.md.BRbG8Fzi.js +0 -48
  468. package/docs/.vitepress/dist/assets/reference_breakpoints.md.BRbG8Fzi.lean.js +0 -1
  469. package/docs/.vitepress/dist/assets/reference_colors.md.C7j7dSO1.js +0 -17
  470. package/docs/.vitepress/dist/assets/reference_colors.md.C7j7dSO1.lean.js +0 -1
  471. package/docs/.vitepress/dist/assets/reference_layout.md.BWJ5NxSp.js +0 -13
  472. package/docs/.vitepress/dist/assets/reference_layout.md.BWJ5NxSp.lean.js +0 -1
  473. package/docs/.vitepress/dist/assets/reference_space.md.DCsqfTWb.js +0 -24
  474. package/docs/.vitepress/dist/assets/reference_space.md.DCsqfTWb.lean.js +0 -1
  475. package/docs/.vitepress/dist/assets/reference_spacing.md.BInFD8gd.js +0 -32
  476. package/docs/.vitepress/dist/assets/reference_spacing.md.BInFD8gd.lean.js +0 -1
  477. package/docs/.vitepress/dist/assets/reference_visual.md.BRK7S9T1.js +0 -22
  478. package/docs/.vitepress/dist/assets/reference_visual.md.BRK7S9T1.lean.js +0 -1
  479. package/docs/.vitepress/dist/assets/style.D82StYDI.css +0 -1
  480. package/docs/.vitepress/dist/examples/cards.html +0 -108
  481. package/docs/.vitepress/dist/examples/forms.html +0 -193
  482. package/docs/.vitepress/dist/examples/hero.html +0 -142
  483. package/docs/.vitepress/dist/examples/index.html +0 -76
  484. package/docs/.vitepress/dist/examples/navigation.html +0 -130
  485. package/docs/.vitepress/dist/guide/cdn.html +0 -54
  486. package/docs/.vitepress/dist/guide/cli.html +0 -68
  487. package/docs/.vitepress/dist/guide/configuration.html +0 -103
  488. package/docs/.vitepress/dist/guide/dark-mode.html +0 -93
  489. package/docs/.vitepress/dist/guide/getting-started.html +0 -71
  490. package/docs/.vitepress/dist/guide/index.html +0 -27
  491. package/docs/.vitepress/dist/guide/natural-scale.html +0 -46
  492. package/docs/.vitepress/dist/guide/philosophy.html +0 -31
  493. package/docs/.vitepress/dist/guide/responsive.html +0 -81
  494. package/docs/.vitepress/dist/guide/states.html +0 -101
  495. package/docs/.vitepress/dist/guide/tri-attribute.html +0 -69
  496. package/docs/.vitepress/dist/hashmap.json +0 -1
  497. package/docs/.vitepress/dist/index.html +0 -31
  498. package/docs/.vitepress/dist/ms/examples/cards.html +0 -108
  499. package/docs/.vitepress/dist/ms/examples/forms.html +0 -193
  500. package/docs/.vitepress/dist/ms/examples/hero.html +0 -142
  501. package/docs/.vitepress/dist/ms/examples/index.html +0 -76
  502. package/docs/.vitepress/dist/ms/examples/navigation.html +0 -130
  503. package/docs/.vitepress/dist/ms/guide/cdn.html +0 -54
  504. package/docs/.vitepress/dist/ms/guide/cli.html +0 -68
  505. package/docs/.vitepress/dist/ms/guide/configuration.html +0 -103
  506. package/docs/.vitepress/dist/ms/guide/dark-mode.html +0 -93
  507. package/docs/.vitepress/dist/ms/guide/getting-started.html +0 -71
  508. package/docs/.vitepress/dist/ms/guide/index.html +0 -27
  509. package/docs/.vitepress/dist/ms/guide/natural-scale.html +0 -46
  510. package/docs/.vitepress/dist/ms/guide/philosophy.html +0 -31
  511. package/docs/.vitepress/dist/ms/guide/responsive.html +0 -81
  512. package/docs/.vitepress/dist/ms/guide/states.html +0 -101
  513. package/docs/.vitepress/dist/ms/guide/tri-attribute.html +0 -69
  514. package/docs/.vitepress/dist/ms/index.html +0 -31
  515. package/docs/.vitepress/dist/ms/reference/breakpoints.html +0 -72
  516. package/docs/.vitepress/dist/ms/reference/colors.html +0 -41
  517. package/docs/.vitepress/dist/ms/reference/layout.html +0 -37
  518. package/docs/.vitepress/dist/ms/reference/space.html +0 -48
  519. package/docs/.vitepress/dist/ms/reference/spacing.html +0 -56
  520. package/docs/.vitepress/dist/ms/reference/visual.html +0 -46
  521. package/docs/.vitepress/dist/reference/breakpoints.html +0 -72
  522. package/docs/.vitepress/dist/reference/colors.html +0 -41
  523. package/docs/.vitepress/dist/reference/layout.html +0 -37
  524. package/docs/.vitepress/dist/reference/space.html +0 -48
  525. package/docs/.vitepress/dist/reference/spacing.html +0 -56
  526. package/docs/.vitepress/dist/reference/visual.html +0 -46
  527. package/docs/.vitepress/dist/vp-icons.css +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bookklik/senangstart-css",
3
- "version": "0.1.4",
4
- "description": "The Intent-First CSS Engine - Speak Human, Compile to Logic",
3
+ "version": "0.1.8",
4
+ "description": "Fluent Style Utilities for Humans and AI",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
7
7
  "bin": {
@@ -14,7 +14,15 @@
14
14
  "build:dist": "node scripts/build-dist.js",
15
15
  "prepublishOnly": "npm run build:dist",
16
16
  "docs": "vitepress dev docs",
17
- "test": "node --test tests/"
17
+ "docs:generate": "node scripts/generate-docs.js",
18
+ "docs:sync-check": "node scripts/generate-docs.js --compare",
19
+ "docs:syntax": "node scripts/extract-syntax.js",
20
+ "test": "node --test tests/",
21
+ "test:unit": "node --test tests/unit/",
22
+ "test:integration": "node --test tests/integration/",
23
+ "test:sync": "node --test tests/sync/",
24
+ "test:watch": "node --test --watch tests/",
25
+ "test:coverage": "npx c8 --reporter=text --reporter=html node --test tests/"
18
26
  },
19
27
  "keywords": [
20
28
  "css",
@@ -23,7 +31,7 @@
23
31
  "natural-language",
24
32
  "intent-first"
25
33
  ],
26
- "author": "",
34
+ "author": "a-hakim",
27
35
  "license": "MIT",
28
36
  "dependencies": {
29
37
  "chokidar": "^3.5.3",
@@ -0,0 +1,78 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <title>SenangStart CSS Playground</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <meta name="description" content="SenangStart CSS Playground" />
8
+ <meta name="author" content="Bookklik Technologies" />
9
+ <meta name="keywords" content="SenangStart CSS, CSS, SenangStart" />
10
+
11
+ <link rel="apple-touch-icon" sizes="180x180" href="https://senangstart.com/img/ss_icon_accent.svg">
12
+ <link rel="shortcut icon" href="https://senangstart.com/img/ss_icon_accent.svg" type="image/x-icon">
13
+ <link
14
+ rel="stylesheet"
15
+ href="https://unpkg.com/senangwebs-one@latest/dist/swo.css"
16
+ />
17
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
18
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
19
+ <link
20
+ href="https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap"
21
+ rel="stylesheet"
22
+ />
23
+
24
+ <style>
25
+ html,
26
+ body {
27
+ height: 100%;
28
+ margin: 0;
29
+ overflow: hidden;
30
+ }
31
+ #ss-css-playground {
32
+ width: 100%;
33
+ height: 100vh;
34
+ }
35
+ </style>
36
+
37
+ <!-- Monaco Editor ESM Loader -->
38
+ <script type="module">
39
+ import * as monaco from "https://cdn.jsdelivr.net/npm/monaco-editor@0.54.0/+esm";
40
+ window.monaco = monaco;
41
+ </script>
42
+ </head>
43
+ <body>
44
+ <div id="ss-css-playground" style="height: 100vh"></div>
45
+
46
+ <script src="https://unpkg.com/senangwebs-one@latest/dist/swo.js"></script>
47
+
48
+ <script>
49
+ document.addEventListener("DOMContentLoaded", function () {
50
+ if (typeof SWO !== "undefined") {
51
+ const customCode = `<!DOCTYPE html>
52
+ <html>
53
+ <head>
54
+ <title>SenangStart CSS Playground\x3c/title>
55
+ <script src="https://unpkg.com/@bookklik/senangstart-css/dist/senangstart-css.min.js">\x3c/script>
56
+ \x3c/head>
57
+
58
+ <body>
59
+ <div
60
+ layout="flex col center"
61
+ space="p:small"
62
+ visual="bg:primary text:white rounded:big"
63
+ >
64
+ Hello SenangStart!
65
+ \x3c/div>
66
+ \x3c/body>
67
+ \x3c/html>`;
68
+ new SWO("#ss-css-playground", {
69
+ code: customCode,
70
+ storageKey: "custom-editor-project-xyz",
71
+ });
72
+ } else {
73
+ console.error("SWO library not loaded.");
74
+ }
75
+ });
76
+ </script>
77
+ </body>
78
+ </html>
@@ -0,0 +1,384 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>SenangStart CSS - JIT Engine Test</title>
7
+ <!-- Load the JIT engine from local dist -->
8
+ <script src="../dist/senangstart-css.min.js"></script>
9
+ </head>
10
+ <body visual="bg:slate-100">
11
+ <div space="p:big m:medium max-w:[1200px] m-x:auto">
12
+ <h1 visual="text-size:vast font:bold text:slate-800">SenangStart CSS - JIT Engine Test</h1>
13
+ <p visual="text:slate-500 text-size:medium" space="m-b:big">This page tests all utilities supported by the JIT engine using pure Tri-Attribute Syntax.</p>
14
+
15
+ <!-- ============================================ -->
16
+ <!-- LAYOUT - FLEXBOX -->
17
+ <!-- ============================================ -->
18
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:indigo-50 border:indigo-200 border-w:[1px] rounded:medium">
19
+ <h2 visual="text-size:big font:bold text:indigo-900">Layout - Flexbox</h2>
20
+ <div layout="flex wrap" space="m-t:medium g:small">
21
+ <div layout="flex center" space="p:small w:[120px] h:[60px]" visual="bg:indigo-500 text:white rounded:small">
22
+ flex center
23
+ </div>
24
+ <div layout="flex col center" space="p:small w:[120px] h:[60px]" visual="bg:indigo-600 text:white rounded:small">
25
+ flex col
26
+ </div>
27
+ <div layout="flex row-reverse between" space="p:small w:[180px]" visual="bg:indigo-400 text:white rounded:small">
28
+ <span>1</span><span>2</span><span>3</span>
29
+ </div>
30
+ <div layout="flex wrap" space="p:small g:tiny w:[150px]" visual="bg:indigo-100 rounded:small">
31
+ <span visual="bg:indigo-500 text:white rounded:small" space="p:tiny">A</span>
32
+ <span visual="bg:indigo-500 text:white rounded:small" space="p:tiny">B</span>
33
+ <span visual="bg:indigo-500 text:white rounded:small" space="p:tiny">C</span>
34
+ <span visual="bg:indigo-500 text:white rounded:small" space="p:tiny">D</span>
35
+ </div>
36
+ </div>
37
+ </div>
38
+
39
+ <!-- ============================================ -->
40
+ <!-- LAYOUT - GRID -->
41
+ <!-- ============================================ -->
42
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:violet-50 border:violet-200 border-w:[1px] rounded:medium">
43
+ <h2 visual="text-size:big font:bold text:violet-900">Layout - Grid</h2>
44
+ <div layout="flex wrap" space="m-t:medium g:medium">
45
+ <div>
46
+ <div layout="grid grid-cols:3" space="g:tiny w:[200px]">
47
+ <div visual="bg:violet-500 text:white text:center rounded:small" space="p:tiny">1</div>
48
+ <div visual="bg:violet-500 text:white text:center rounded:small" space="p:tiny">2</div>
49
+ <div visual="bg:violet-500 text:white text:center rounded:small" space="p:tiny">3</div>
50
+ <div visual="bg:violet-400 text:white text:center rounded:small" space="p:tiny">4</div>
51
+ <div visual="bg:violet-400 text:white text:center rounded:small" space="p:tiny">5</div>
52
+ <div visual="bg:violet-400 text:white text:center rounded:small" space="p:tiny">6</div>
53
+ </div>
54
+ <div visual="text-size:tiny text:violet-600" space="m-t:tiny">grid-cols:3</div>
55
+ </div>
56
+ <div>
57
+ <div layout="grid grid-cols:2" space="g:tiny w:[150px]">
58
+ <div layout="col-span:2" visual="bg:violet-600 text:white text:center rounded:small" space="p:tiny">Span 2</div>
59
+ <div visual="bg:violet-300 text:center rounded:small" space="p:tiny">A</div>
60
+ <div visual="bg:violet-300 text:center rounded:small" space="p:tiny">B</div>
61
+ </div>
62
+ <div visual="text-size:tiny text:violet-600" space="m-t:tiny">col-span:2</div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+
67
+ <!-- ============================================ -->
68
+ <!-- SPACING -->
69
+ <!-- ============================================ -->
70
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:emerald-50 border:emerald-200 border-w:[1px] rounded:medium">
71
+ <h2 visual="text-size:big font:bold text:emerald-900">Spacing - Padding & Margin</h2>
72
+ <div layout="flex wrap" space="m-t:medium g:small">
73
+ <div space="p:none" visual="bg:emerald-500 text:white rounded:small">p:none</div>
74
+ <div space="p:tiny" visual="bg:emerald-500 text:white rounded:small">p:tiny</div>
75
+ <div space="p:small" visual="bg:emerald-500 text:white rounded:small">p:small</div>
76
+ <div space="p:medium" visual="bg:emerald-500 text:white rounded:small">p:medium</div>
77
+ <div space="p:big" visual="bg:emerald-500 text:white rounded:small">p:big</div>
78
+ </div>
79
+ <div layout="flex wrap" space="m-t:medium g:small">
80
+ <div space="p-x:big p-y:tiny" visual="bg:emerald-600 text:white rounded:small">p-x:big p-y:tiny</div>
81
+ <div space="m-l:big p:small" visual="bg:emerald-400 rounded:small">m-l:big</div>
82
+ </div>
83
+ </div>
84
+
85
+ <!-- ============================================ -->
86
+ <!-- SIZING -->
87
+ <!-- ============================================ -->
88
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:teal-50 border:teal-200 border-w:[1px] rounded:medium">
89
+ <h2 visual="text-size:big font:bold text:teal-900">Sizing - Width & Height</h2>
90
+ <div layout="flex wrap" space="m-t:medium g:small">
91
+ <div layout="flex center" space="w:[100px] h:[50px]" visual="bg:teal-500 text:white rounded:small">100Ɨ50</div>
92
+ <div layout="flex center" space="w:[150px] h:[80px]" visual="bg:teal-600 text:white rounded:small">150Ɨ80</div>
93
+ <div space="min-w:[200px] p:small" visual="bg:teal-400 rounded:small">min-w:[200px]</div>
94
+ </div>
95
+ </div>
96
+
97
+ <!-- ============================================ -->
98
+ <!-- COLORS -->
99
+ <!-- ============================================ -->
100
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:sky-50 border:sky-200 border-w:[1px] rounded:medium">
101
+ <h2 visual="text-size:big font:bold text:sky-900">Visual - Colors</h2>
102
+ <div layout="flex wrap" space="m-t:medium g:small">
103
+ <div space="p:small" visual="bg:primary text:white rounded:small">primary</div>
104
+ <div space="p:small" visual="bg:secondary text:dark rounded:small">secondary</div>
105
+ <div space="p:small" visual="bg:success text:white rounded:small">success</div>
106
+ <div space="p:small" visual="bg:warning text:dark rounded:small">warning</div>
107
+ <div space="p:small" visual="bg:danger text:white rounded:small">danger</div>
108
+ <div space="p:small" visual="bg:dark text:white rounded:small">dark</div>
109
+ <div space="p:small" visual="bg:light text:dark rounded:small">light</div>
110
+ <div space="p:small" visual="bg:grey text:white rounded:small">grey</div>
111
+ </div>
112
+ <h3 visual="text-size:medium font:bold text:sky-800" space="m-t:medium">Tailwind-style Color Shades</h3>
113
+ <div layout="flex wrap" space="m-t:small g:tiny">
114
+ <div space="p:tiny" visual="bg:blue-100 text:blue-900 rounded:small">blue-100</div>
115
+ <div space="p:tiny" visual="bg:blue-300 text:white rounded:small">blue-300</div>
116
+ <div space="p:tiny" visual="bg:blue-500 text:white rounded:small">blue-500</div>
117
+ <div space="p:tiny" visual="bg:blue-700 text:white rounded:small">blue-700</div>
118
+ <div space="p:tiny" visual="bg:blue-900 text:white rounded:small">blue-900</div>
119
+ </div>
120
+ <div layout="flex wrap" space="m-t:small g:tiny">
121
+ <div space="p:tiny" visual="bg:red-500 text:white rounded:small">red-500</div>
122
+ <div space="p:tiny" visual="bg:green-500 text:white rounded:small">green-500</div>
123
+ <div space="p:tiny" visual="bg:purple-500 text:white rounded:small">purple-500</div>
124
+ <div space="p:tiny" visual="bg:orange-500 text:white rounded:small">orange-500</div>
125
+ </div>
126
+ </div>
127
+
128
+ <!-- ============================================ -->
129
+ <!-- BORDERS & RADIUS -->
130
+ <!-- ============================================ -->
131
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:blue-50 border:blue-200 border-w:[1px] rounded:medium">
132
+ <h2 visual="text-size:big font:bold text:blue-900">Visual - Borders & Radius</h2>
133
+ <div layout="flex wrap" space="m-t:medium g:small">
134
+ <div space="p:small" visual="border:blue-500 border-w:[1px] rounded:none">rounded:none</div>
135
+ <div space="p:small" visual="border:blue-500 border-w:[1px] rounded:small">rounded:small</div>
136
+ <div space="p:small" visual="border:blue-500 border-w:[1px] rounded:medium">rounded:medium</div>
137
+ <div space="p:small" visual="border:blue-500 border-w:[1px] rounded:big">rounded:big</div>
138
+ <div layout="flex center" space="p:small w:[80px]" visual="border:blue-500 border-w:[1px] rounded:round">round</div>
139
+ </div>
140
+ <div layout="flex wrap" space="m-t:medium g:small">
141
+ <div space="p:small" visual="border:danger border-w:[2px]">border:danger</div>
142
+ <div space="p:small" visual="border:success border-w:[2px]">border:success</div>
143
+ <div space="p:small" visual="border-t:primary border-t-w:[2px]">border-t</div>
144
+ <div space="p:small" visual="border-b:warning border-b-w:[2px]">border-b</div>
145
+ <div space="p:small" visual="border-x:secondary border-x-w:[2px]">border-x</div>
146
+ <div space="p:small" visual="border-y:success border-y-w:[2px]">border-y</div>
147
+ </div>
148
+ </div>
149
+
150
+ <!-- ============================================ -->
151
+ <!-- SHADOWS -->
152
+ <!-- ============================================ -->
153
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:gray-100 border:gray-200 border-w:[1px] rounded:medium">
154
+ <h2 visual="text-size:big font:bold text:gray-900">Visual - Shadows</h2>
155
+ <div layout="flex wrap" space="m-t:medium g:medium">
156
+ <div space="p:medium" visual="bg:white shadow:none rounded:medium">shadow:none</div>
157
+ <div space="p:medium" visual="bg:white shadow:small rounded:medium">shadow:small</div>
158
+ <div space="p:medium" visual="bg:white shadow:medium rounded:medium">shadow:medium</div>
159
+ <div space="p:medium" visual="bg:white shadow:big rounded:medium">shadow:big</div>
160
+ <div space="p:medium" visual="bg:white shadow:giant rounded:medium">shadow:giant</div>
161
+ </div>
162
+ </div>
163
+
164
+ <!-- ============================================ -->
165
+ <!-- OPACITY -->
166
+ <!-- ============================================ -->
167
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:pink-50 border:pink-200 border-w:[1px] rounded:medium">
168
+ <h2 visual="text-size:big font:bold text:pink-900">Visual - Opacity</h2>
169
+ <div layout="flex wrap" space="m-t:medium g:small">
170
+ <div space="p:small" visual="bg:pink-500 text:white rounded:small opacity:100">100%</div>
171
+ <div space="p:small" visual="bg:pink-500 text:white rounded:small opacity:75">75%</div>
172
+ <div space="p:small" visual="bg:pink-500 text:white rounded:small opacity:50">50%</div>
173
+ <div space="p:small" visual="bg:pink-500 text:white rounded:small opacity:25">25%</div>
174
+ </div>
175
+ </div>
176
+
177
+ <!-- ============================================ -->
178
+ <!-- TYPOGRAPHY -->
179
+ <!-- ============================================ -->
180
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:amber-50 border:amber-200 border-w:[1px] rounded:medium">
181
+ <h2 visual="text-size:big font:bold text:amber-900">Typography</h2>
182
+ <div layout="flex col" space="m-t:medium g:small">
183
+ <div visual="text-size:tiny text:amber-800">text-size:tiny (12px)</div>
184
+ <div visual="text-size:small text:amber-800">text-size:small (14px)</div>
185
+ <div visual="text-size:medium text:amber-800">text-size:medium (16px)</div>
186
+ <div visual="text-size:big text:amber-800">text-size:big (20px)</div>
187
+ <div visual="text-size:giant text:amber-800">text-size:giant (32px)</div>
188
+ </div>
189
+ <div layout="flex wrap" space="m-t:medium g:small">
190
+ <div visual="font:normal text:amber-700">font:normal (400)</div>
191
+ <div visual="font:medium text:amber-700">font:medium (500)</div>
192
+ <div visual="font:bold text:amber-700">font:bold (700)</div>
193
+ </div>
194
+ <div layout="flex wrap" space="m-t:medium g:small">
195
+ <div visual="text:left bg:amber-100" space="p:small w:[150px]">text:left</div>
196
+ <div visual="text:center bg:amber-100" space="p:small w:[150px]">text:center</div>
197
+ <div visual="text:right bg:amber-100" space="p:small w:[150px]">text:right</div>
198
+ </div>
199
+ <div layout="flex wrap" space="m-t:medium g:small">
200
+ <div visual="italic text:amber-700">italic</div>
201
+ <div visual="underline text:amber-700">underline</div>
202
+ <div visual="line-through text:amber-700">line-through</div>
203
+ <div visual="uppercase text:amber-700">uppercase</div>
204
+ <div visual="lowercase text:amber-700">LOWERCASE</div>
205
+ <div visual="capitalize text:amber-700">capitalize text</div>
206
+ </div>
207
+ </div>
208
+
209
+ <!-- ============================================ -->
210
+ <!-- STATES -->
211
+ <!-- ============================================ -->
212
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:rose-50 border:rose-200 border-w:[1px] rounded:medium">
213
+ <h2 visual="text-size:big font:bold text:rose-900">States - Hover & Focus</h2>
214
+ <div layout="flex wrap" space="m-t:medium g:small">
215
+ <button space="p:small p-x:medium" visual="bg:rose-500 text:white rounded:medium border:none hover:bg:rose-700">
216
+ Hover me
217
+ </button>
218
+ <button space="p:small p-x:medium" visual="bg:amber-400 text:dark rounded:medium border:none hover:bg:rose-500 hover:text:white">
219
+ Hover (yellow → red)
220
+ </button>
221
+ <input
222
+ type="text"
223
+ placeholder="Focus me"
224
+ space="p:small"
225
+ visual="border:rose-300 border-w:[1px] rounded:small focus:border:rose-500 focus:shadow:medium">
226
+ </div>
227
+ </div>
228
+
229
+ <!-- ============================================ -->
230
+ <!-- TRANSFORMS -->
231
+ <!-- ============================================ -->
232
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:cyan-50 border:cyan-200 border-w:[1px] rounded:medium">
233
+ <h2 visual="text-size:big font:bold text:cyan-900">Transforms</h2>
234
+ <div layout="flex wrap" space="m-t:medium g:medium p:medium">
235
+ <div space="p:small" visual="bg:cyan-500 text:white rounded:small rotate:45">rotate:45</div>
236
+ <div space="p:small" visual="bg:cyan-600 text:white rounded:small scale:110">scale:110</div>
237
+ <div space="p:small" visual="bg:cyan-400 rounded:small translate-x:[10px]">translate-x</div>
238
+ <div space="p:small" visual="bg:cyan-700 text:white rounded:small skew-x:6">skew-x:6</div>
239
+ </div>
240
+ <div layout="flex wrap" space="m-t:medium g:medium p:medium">
241
+ <div space="p:small" visual="bg:cyan-500 text:white rounded:small origin:top-left rotate:45">origin:top-left</div>
242
+ <div space="p:small" visual="bg:cyan-600 text:white rounded:small translate-y:small">translate-y:small</div>
243
+ </div>
244
+ </div>
245
+
246
+ <!-- ============================================ -->
247
+ <!-- TRANSITIONS -->
248
+ <!-- ============================================ -->
249
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:lime-50 border:lime-200 border-w:[1px] rounded:medium">
250
+ <h2 visual="text-size:big font:bold text:lime-900">Transitions & Animations</h2>
251
+ <div layout="flex wrap" space="m-t:medium g:small">
252
+ <button space="p:small p-x:medium" visual="bg:lime-500 text:white rounded:medium border:none transition:all duration:slow hover:bg:lime-700 hover:shadow:big">
253
+ Smooth Hover (300ms)
254
+ </button>
255
+ <button space="p:small p-x:medium" visual="bg:lime-600 text:white rounded:medium border:none transition:transform duration:fast hover:scale:110">
256
+ Scale on Hover
257
+ </button>
258
+ <button space="p:small p-x:medium" visual="bg:lime-400 text:dark rounded:medium border:none transition:all ease:out hover:bg:lime-700 hover:text:white">
259
+ Ease Out
260
+ </button>
261
+ </div>
262
+ <div layout="flex wrap items:center" space="m-t:medium g:small">
263
+ <div layout="flex center" space="p:small w:[60px] h:[60px]" visual="animate:spin bg:lime-500 text:white rounded:small">⟳</div>
264
+ <div space="p:small" visual="animate:pulse bg:lime-600 text:white rounded:small">Pulsing</div>
265
+ <div space="p:small" visual="animate:bounce bg:lime-400 rounded:small">Bouncing</div>
266
+ </div>
267
+ </div>
268
+
269
+ <!-- ============================================ -->
270
+ <!-- POSITION -->
271
+ <!-- ============================================ -->
272
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:fuchsia-50 border:fuchsia-200 border-w:[1px] rounded:medium">
273
+ <h2 visual="text-size:big font:bold text:fuchsia-900">Position</h2>
274
+ <div layout="relative" space="h:[120px] m-t:medium" visual="bg:fuchsia-100 rounded:medium">
275
+ <div layout="absolute top:small left:small" space="p:tiny" visual="bg:fuchsia-500 text:white rounded:small">top-left</div>
276
+ <div layout="absolute top:small right:small" space="p:tiny" visual="bg:fuchsia-600 text:white rounded:small">top-right</div>
277
+ <div layout="absolute bottom:small left:small" space="p:tiny" visual="bg:fuchsia-400 rounded:small">bottom-left</div>
278
+ <div layout="absolute bottom:small right:small" space="p:tiny" visual="bg:fuchsia-700 text:white rounded:small">bottom-right</div>
279
+ </div>
280
+ </div>
281
+
282
+ <!-- ============================================ -->
283
+ <!-- ARBITRARY VALUES -->
284
+ <!-- ============================================ -->
285
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:purple-50 border:purple-200 border-w:[1px] rounded:medium">
286
+ <h2 visual="text-size:big font:bold text:purple-900">Arbitrary Values</h2>
287
+ <div layout="flex wrap" space="m-t:medium g:medium">
288
+ <div>
289
+ <div space="p:[20px] m:[10px]" visual="bg:[#8B5CF6] text:white rounded:[12px]">
290
+ Custom Values
291
+ </div>
292
+ <div visual="text-size:tiny text:purple-600" space="m-t:tiny">bg:[#8B5CF6] p:[20px]</div>
293
+ </div>
294
+ <div>
295
+ <div layout="flex center" space="w:[200px] h:[100px]" visual="bg:[linear-gradient(135deg,#667eea,#764ba2)] text:white rounded:medium">
296
+ Gradient BG
297
+ </div>
298
+ <div visual="text-size:tiny text:purple-600" space="m-t:tiny">bg:[linear-gradient(...)]</div>
299
+ </div>
300
+ </div>
301
+ </div>
302
+
303
+ <!-- ============================================ -->
304
+ <!-- RESPONSIVE -->
305
+ <!-- ============================================ -->
306
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:orange-50 border:orange-200 border-w:[1px] rounded:medium">
307
+ <h2 visual="text-size:big font:bold text:orange-900">Responsive (resize browser)</h2>
308
+ <div
309
+ layout="flex center"
310
+ space="p:medium m-t:medium"
311
+ visual="bg:blue-500 tab:bg:green-500 lap:bg:amber-500 desk:bg:red-500 text:white rounded:medium">
312
+ <span>Resize! Blue → Green (≄768px) → Yellow (≄1024px) → Red (≄1280px)</span>
313
+ </div>
314
+ <div visual="text-size:tiny text:orange-600 bg:orange-100 rounded:small" space="p:small m-t:small">
315
+ visual="bg:blue-500 tab:bg:green-500 lap:bg:amber-500 desk:bg:red-500"
316
+ </div>
317
+ </div>
318
+
319
+ <!-- ============================================ -->
320
+ <!-- Z-INDEX -->
321
+ <!-- ============================================ -->
322
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:red-50 border:red-200 border-w:[1px] rounded:medium">
323
+ <h2 visual="text-size:big font:bold text:red-900">Z-Index</h2>
324
+ <div layout="relative" space="h:[100px] m-t:medium">
325
+ <div layout="absolute z:base top:0 left:0" space="p:medium" visual="bg:red-400 text:white rounded:medium">z:base (0)</div>
326
+ <div layout="absolute z:low top:[20px] left:[20px]" space="p:medium" visual="bg:red-500 text:white rounded:medium">z:low (10)</div>
327
+ <div layout="absolute z:mid top:[40px] left:[40px]" space="p:medium" visual="bg:red-600 text:white rounded:medium">z:mid (50)</div>
328
+ </div>
329
+ </div>
330
+
331
+ <!-- ============================================ -->
332
+ <!-- CARD EXAMPLE -->
333
+ <!-- ============================================ -->
334
+ <div layout="flex col" space="p:medium m-b:medium" visual="bg:slate-50 border:slate-200 border-w:[1px] rounded:medium">
335
+ <h2 visual="text-size:big font:bold text:slate-900">Combined Example - Card</h2>
336
+ <div
337
+ layout="flex col"
338
+ space="p:medium g:small w:[300px] m-t:medium"
339
+ visual="bg:white shadow:medium rounded:big border:slate-200 border-w:[1px] transition:shadow hover:shadow:big">
340
+ <div layout="flex items:center" space="g:small">
341
+ <div
342
+ layout="flex center"
343
+ space="w:[48px] h:[48px]"
344
+ visual="bg:blue-500 text:white rounded:round font:bold text-size:big">
345
+ JD
346
+ </div>
347
+ <div>
348
+ <div visual="font:bold text:slate-900">John Doe</div>
349
+ <div visual="text-size:small text:slate-500">Software Engineer</div>
350
+ </div>
351
+ </div>
352
+ <div visual="text:slate-600 text-size:small">
353
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
354
+ </div>
355
+ <div layout="flex" space="g:small">
356
+ <button space="p:tiny p-x:small" visual="bg:blue-500 text:white rounded:small border:none transition:all hover:bg:blue-700">
357
+ Follow
358
+ </button>
359
+ <button space="p:tiny p-x:small" visual="bg:white border:blue-500 border-w:[1px] text:blue-500 rounded:small transition:all hover:bg:blue-500 hover:text:white">
360
+ Message
361
+ </button>
362
+ </div>
363
+ </div>
364
+ </div>
365
+
366
+ <!-- ============================================ -->
367
+ <!-- DEBUG -->
368
+ <!-- ============================================ -->
369
+ <div layout="flex col" space="p:medium" visual="bg:zinc-100 border:zinc-300 border-w:[1px] rounded:medium">
370
+ <h2 visual="text-size:big font:bold text:zinc-900">Debug Information</h2>
371
+ <div visual="text:zinc-700" space="m-t:small">
372
+ <p>Open DevTools (F12) and check:</p>
373
+ <ul space="m-l:medium">
374
+ <li><strong>Console</strong> - Look for [SenangStart CSS] messages</li>
375
+ <li><strong>Elements</strong> - Find &lt;style id="senangstart-jit"&gt; in &lt;head&gt;</li>
376
+ <li><strong>Computed Styles</strong> - Verify CSS properties</li>
377
+ </ul>
378
+ <p space="m-t:small"><strong>CSS Variables:</strong> Check :root for --s-*, --r-*, --c-* custom properties.</p>
379
+ </div>
380
+ </div>
381
+
382
+ </div>
383
+ </body>
384
+ </html>
@@ -0,0 +1,152 @@
1
+ /**
2
+ * SenangStart CSS - Syntax Extractor
3
+ * Extracts all syntax patterns from definitions for audit purposes
4
+ *
5
+ * Usage: node scripts/extract-syntax.js
6
+ * Output: docs/SYNTAX-REFERENCE.md
7
+ */
8
+
9
+ import { getAllDefinitions } from '../src/definitions/index.js';
10
+ import { writeFileSync } from 'fs';
11
+ import { join, dirname } from 'path';
12
+ import { fileURLToPath } from 'url';
13
+
14
+ const __filename = fileURLToPath(import.meta.url);
15
+ const __dirname = dirname(__filename);
16
+
17
+ function extractSyntax() {
18
+ const definitions = getAllDefinitions();
19
+
20
+ // Group definitions by category
21
+ const grouped = {
22
+ layout: [],
23
+ space: [],
24
+ visual: []
25
+ };
26
+
27
+ for (const def of definitions) {
28
+ const category = def.category || 'visual';
29
+ if (grouped[category]) {
30
+ grouped[category].push(def);
31
+ } else {
32
+ grouped.visual.push(def);
33
+ }
34
+ }
35
+
36
+ // Build markdown output
37
+ let output = `# SenangStart CSS - Syntax Reference
38
+
39
+ > Auto-generated on ${new Date().toISOString().split('T')[0]}
40
+ > Total definitions: ${definitions.length}
41
+
42
+ This document provides a complete reference of all utility syntax patterns in SenangStart CSS.
43
+
44
+ ---
45
+
46
+ ## Summary
47
+
48
+ | Category | Count |
49
+ |----------|-------|
50
+ | Layout | ${grouped.layout.length} |
51
+ | Space | ${grouped.space.length} |
52
+ | Visual | ${grouped.visual.length} |
53
+ | **Total** | **${definitions.length}** |
54
+
55
+ ---
56
+
57
+ ## Layout Utilities
58
+
59
+ | Name | Syntax | Description |
60
+ |------|--------|-------------|
61
+ `;
62
+
63
+ for (const def of grouped.layout.sort((a, b) => a.name.localeCompare(b.name))) {
64
+ const syntax = def.syntax.replace(/"/g, '`').replace(/layout=/g, '');
65
+ output += `| ${def.name} | ${syntax} | ${def.description} |\n`;
66
+ }
67
+
68
+ output += `
69
+ ---
70
+
71
+ ## Space Utilities
72
+
73
+ | Name | Syntax | Description |
74
+ |------|--------|-------------|
75
+ `;
76
+
77
+ for (const def of grouped.space.sort((a, b) => a.name.localeCompare(b.name))) {
78
+ const syntax = def.syntax.replace(/"/g, '`').replace(/space=/g, '');
79
+ output += `| ${def.name} | ${syntax} | ${def.description} |\n`;
80
+ }
81
+
82
+ output += `
83
+ ---
84
+
85
+ ## Visual Utilities
86
+
87
+ | Name | Syntax | Description |
88
+ |------|--------|-------------|
89
+ `;
90
+
91
+ for (const def of grouped.visual.sort((a, b) => a.name.localeCompare(b.name))) {
92
+ const syntax = def.syntax.replace(/"/g, '`').replace(/visual=/g, '');
93
+ output += `| ${def.name} | ${syntax} | ${def.description} |\n`;
94
+ }
95
+
96
+ output += `
97
+ ---
98
+
99
+ ## Detailed Values
100
+
101
+ `;
102
+
103
+ // Add detailed value tables for each definition
104
+ for (const category of ['layout', 'space', 'visual']) {
105
+ output += `### ${category.charAt(0).toUpperCase() + category.slice(1)} Values\n\n`;
106
+
107
+ for (const def of grouped[category].sort((a, b) => a.name.localeCompare(b.name))) {
108
+ if (def.values && def.values.length > 0) {
109
+ output += `#### ${def.name}\n\n`;
110
+ output += `| Value | CSS Output |\n|-------|------------|\n`;
111
+
112
+ for (const v of def.values) {
113
+ const css = v.css.replace(/\|/g, '\\|');
114
+ output += `| \`${v.value}\` | \`${css}\` |\n`;
115
+ }
116
+ output += '\n';
117
+ }
118
+ }
119
+ }
120
+
121
+ return output;
122
+ }
123
+
124
+ // Main execution
125
+ console.log('\nšŸ“‹ SenangStart CSS Syntax Extractor\n');
126
+
127
+ try {
128
+ const markdown = extractSyntax();
129
+ const outputPath = join(__dirname, '..', 'docs', 'SYNTAX-REFERENCE.md');
130
+
131
+ writeFileSync(outputPath, markdown);
132
+ console.log(`āœ… Extracted syntax to: ${outputPath}`);
133
+
134
+ // Also output a JSON version for programmatic access
135
+ const definitions = getAllDefinitions();
136
+ const jsonData = definitions.map(def => ({
137
+ name: def.name,
138
+ property: def.property,
139
+ syntax: def.syntax,
140
+ category: def.category,
141
+ values: (def.values || []).map(v => v.value),
142
+ supportsArbitrary: def.supportsArbitrary || false
143
+ }));
144
+
145
+ const jsonPath = join(__dirname, '..', 'docs', 'syntax-reference.json');
146
+ writeFileSync(jsonPath, JSON.stringify(jsonData, null, 2));
147
+ console.log(`āœ… Extracted JSON to: ${jsonPath}`);
148
+
149
+ } catch (error) {
150
+ console.error('āŒ Error:', error.message);
151
+ process.exit(1);
152
+ }