@bookklik/senangstart-css 0.1.4 → 0.1.7

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 (524) 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 +621 -15
  5. package/docs/SYNTAX-REFERENCE.md +1555 -0
  6. package/docs/guide/preflight.md +139 -0
  7. package/docs/ms/guide/preflight.md +139 -0
  8. package/docs/ms/reference/colors.md +45 -45
  9. package/docs/ms/reference/layout/align-content.md +35 -0
  10. package/docs/ms/reference/layout/align-items.md +33 -0
  11. package/docs/ms/reference/layout/align-self.md +34 -0
  12. package/docs/ms/reference/layout/aspect-ratio.md +40 -0
  13. package/docs/ms/reference/layout/border-collapse.md +30 -0
  14. package/docs/ms/reference/layout/border-spacing.md +39 -0
  15. package/docs/ms/reference/layout/box-sizing.md +30 -0
  16. package/docs/ms/reference/layout/caption-side.md +30 -0
  17. package/docs/ms/reference/layout/columns.md +30 -0
  18. package/docs/ms/reference/layout/container.md +29 -0
  19. package/docs/ms/reference/layout/display.md +60 -0
  20. package/docs/ms/reference/layout/flex-basis.md +38 -0
  21. package/docs/ms/reference/layout/flex-direction.md +33 -0
  22. package/docs/ms/reference/layout/flex-items.md +32 -0
  23. package/docs/ms/reference/layout/flex-wrap.md +31 -0
  24. package/docs/ms/reference/layout/flex.md +40 -0
  25. package/docs/ms/reference/layout/float-clear.md +32 -0
  26. package/docs/ms/reference/layout/grid-auto-flow.md +33 -0
  27. package/docs/ms/reference/layout/grid-auto-sizing.md +32 -0
  28. package/docs/ms/reference/layout/grid-column-span.md +31 -0
  29. package/docs/ms/reference/layout/grid-columns.md +32 -0
  30. package/docs/ms/reference/layout/grid-row-span.md +30 -0
  31. package/docs/ms/reference/layout/grid-rows.md +31 -0
  32. package/docs/ms/reference/layout/inset.md +44 -0
  33. package/docs/ms/reference/layout/isolation.md +30 -0
  34. package/docs/ms/reference/layout/justify-content.md +36 -0
  35. package/docs/ms/reference/layout/justify-items.md +32 -0
  36. package/docs/ms/reference/layout/justify-self.md +33 -0
  37. package/docs/ms/reference/layout/object-fit.md +33 -0
  38. package/docs/ms/reference/layout/object-position.md +45 -0
  39. package/docs/ms/reference/layout/order.md +32 -0
  40. package/docs/ms/reference/layout/overflow.md +34 -0
  41. package/docs/ms/reference/layout/overscroll.md +31 -0
  42. package/docs/ms/reference/layout/place-content.md +35 -0
  43. package/docs/ms/reference/layout/place-items.md +32 -0
  44. package/docs/ms/reference/layout/place-self.md +33 -0
  45. package/docs/ms/reference/layout/position.md +34 -0
  46. package/docs/ms/reference/layout/shorthand-alignment.md +34 -0
  47. package/docs/ms/reference/layout/table-layout.md +30 -0
  48. package/docs/ms/reference/layout/visibility.md +30 -0
  49. package/docs/ms/reference/layout/z-index.md +33 -0
  50. package/docs/ms/reference/layout.md +53 -95
  51. package/docs/ms/reference/space/arbitrary-values.md +32 -0
  52. package/docs/ms/reference/space/gap.md +44 -0
  53. package/docs/ms/reference/space/height.md +44 -0
  54. package/docs/ms/reference/space/margin.md +49 -0
  55. package/docs/ms/reference/space/padding.md +49 -0
  56. package/docs/ms/reference/space/scale-reference.md +43 -0
  57. package/docs/ms/reference/space/sizing.md +27 -0
  58. package/docs/ms/reference/space/width.md +45 -0
  59. package/docs/ms/reference/space.md +15 -99
  60. package/docs/ms/reference/spacing.md +22 -8
  61. package/docs/ms/reference/visual/accent-color.md +31 -0
  62. package/docs/ms/reference/visual/animation-builtin.md +41 -0
  63. package/docs/ms/reference/visual/animation-delay.md +41 -0
  64. package/docs/ms/reference/visual/animation-direction.md +32 -0
  65. package/docs/ms/reference/visual/animation-duration.md +43 -0
  66. package/docs/ms/reference/visual/animation-fill.md +32 -0
  67. package/docs/ms/reference/visual/animation-iteration.md +30 -0
  68. package/docs/ms/reference/visual/animation-play.md +30 -0
  69. package/docs/ms/reference/visual/appearance.md +30 -0
  70. package/docs/ms/reference/visual/backdrop-blur.md +43 -0
  71. package/docs/ms/reference/visual/backdrop-brightness.md +41 -0
  72. package/docs/ms/reference/visual/backdrop-contrast.md +41 -0
  73. package/docs/ms/reference/visual/backdrop-grayscale.md +39 -0
  74. package/docs/ms/reference/visual/backdrop-hue-rotate.md +39 -0
  75. package/docs/ms/reference/visual/backdrop-invert.md +39 -0
  76. package/docs/ms/reference/visual/backdrop-opacity.md +39 -0
  77. package/docs/ms/reference/visual/backdrop-saturate.md +41 -0
  78. package/docs/ms/reference/visual/backdrop-sepia.md +39 -0
  79. package/docs/ms/reference/visual/background-attachment.md +31 -0
  80. package/docs/ms/reference/visual/background-blend-mode.md +34 -0
  81. package/docs/ms/reference/visual/background-clip.md +32 -0
  82. package/docs/ms/reference/visual/background-color.md +33 -0
  83. package/docs/ms/reference/visual/background-image.md +41 -0
  84. package/docs/ms/reference/visual/background-origin.md +31 -0
  85. package/docs/ms/reference/visual/background-position.md +45 -0
  86. package/docs/ms/reference/visual/background-repeat.md +34 -0
  87. package/docs/ms/reference/visual/background-size.md +39 -0
  88. package/docs/ms/reference/visual/background.md +13 -0
  89. package/docs/ms/reference/visual/blend-modes.md +34 -0
  90. package/docs/ms/reference/visual/border-radius.md +34 -0
  91. package/docs/ms/reference/visual/border-style.md +33 -0
  92. package/docs/ms/reference/visual/border-width.md +44 -0
  93. package/docs/ms/reference/visual/border.md +43 -0
  94. package/docs/ms/reference/visual/box-shadow.md +33 -0
  95. package/docs/ms/reference/visual/caret-color.md +31 -0
  96. package/docs/ms/reference/visual/color-scheme.md +31 -0
  97. package/docs/ms/reference/visual/cursor.md +37 -0
  98. package/docs/ms/reference/visual/field-sizing.md +30 -0
  99. package/docs/ms/reference/visual/fill.md +38 -0
  100. package/docs/ms/reference/visual/filter-blur.md +43 -0
  101. package/docs/ms/reference/visual/filter-brightness.md +41 -0
  102. package/docs/ms/reference/visual/filter-contrast.md +41 -0
  103. package/docs/ms/reference/visual/filter-drop-shadow.md +42 -0
  104. package/docs/ms/reference/visual/filter-grayscale.md +39 -0
  105. package/docs/ms/reference/visual/filter-hue-rotate.md +39 -0
  106. package/docs/ms/reference/visual/filter-invert.md +39 -0
  107. package/docs/ms/reference/visual/filter-saturate.md +41 -0
  108. package/docs/ms/reference/visual/filter-sepia.md +39 -0
  109. package/docs/ms/reference/visual/font-family.md +31 -0
  110. package/docs/ms/reference/visual/font-smoothing.md +30 -0
  111. package/docs/ms/reference/visual/font-style.md +30 -0
  112. package/docs/ms/reference/visual/font-variant-numeric.md +35 -0
  113. package/docs/ms/reference/visual/font-weight.md +31 -0
  114. package/docs/ms/reference/visual/forced-color-adjust.md +30 -0
  115. package/docs/ms/reference/visual/hyphens.md +31 -0
  116. package/docs/ms/reference/visual/letter-spacing.md +42 -0
  117. package/docs/ms/reference/visual/line-clamp.md +40 -0
  118. package/docs/ms/reference/visual/line-height.md +42 -0
  119. package/docs/ms/reference/visual/list-style.md +34 -0
  120. package/docs/ms/reference/visual/mask.md +39 -0
  121. package/docs/ms/reference/visual/opacity.md +33 -0
  122. package/docs/ms/reference/visual/outline.md +31 -0
  123. package/docs/ms/reference/visual/pointer-events.md +30 -0
  124. package/docs/ms/reference/visual/resize.md +32 -0
  125. package/docs/ms/reference/visual/scroll-behavior.md +30 -0
  126. package/docs/ms/reference/visual/scroll-margin.md +41 -0
  127. package/docs/ms/reference/visual/scroll-padding.md +41 -0
  128. package/docs/ms/reference/visual/scroll-snap-align.md +32 -0
  129. package/docs/ms/reference/visual/scroll-snap-stop.md +30 -0
  130. package/docs/ms/reference/visual/scroll-snap-type.md +34 -0
  131. package/docs/ms/reference/visual/state-prefixes.md +37 -0
  132. package/docs/ms/reference/visual/stroke-width.md +39 -0
  133. package/docs/ms/reference/visual/stroke.md +38 -0
  134. package/docs/ms/reference/visual/text-alignment.md +32 -0
  135. package/docs/ms/reference/visual/text-color.md +41 -0
  136. package/docs/ms/reference/visual/text-decoration.md +32 -0
  137. package/docs/ms/reference/visual/text-indent.md +37 -0
  138. package/docs/ms/reference/visual/text-overflow.md +31 -0
  139. package/docs/ms/reference/visual/text-shadow.md +40 -0
  140. package/docs/ms/reference/visual/text-size.md +32 -0
  141. package/docs/ms/reference/visual/text-transform.md +32 -0
  142. package/docs/ms/reference/visual/text-wrap.md +32 -0
  143. package/docs/ms/reference/visual/touch-action.md +36 -0
  144. package/docs/ms/reference/visual/transform-backface.md +30 -0
  145. package/docs/ms/reference/visual/transform-origin.md +45 -0
  146. package/docs/ms/reference/visual/transform-perspective-origin.md +45 -0
  147. package/docs/ms/reference/visual/transform-perspective.md +43 -0
  148. package/docs/ms/reference/visual/transform-rotate.md +40 -0
  149. package/docs/ms/reference/visual/transform-scale.md +43 -0
  150. package/docs/ms/reference/visual/transform-skew.md +40 -0
  151. package/docs/ms/reference/visual/transform-style.md +30 -0
  152. package/docs/ms/reference/visual/transform-translate.md +39 -0
  153. package/docs/ms/reference/visual/transition-delay.md +41 -0
  154. package/docs/ms/reference/visual/transition-duration.md +43 -0
  155. package/docs/ms/reference/visual/transition-property.md +34 -0
  156. package/docs/ms/reference/visual/transition-timing.md +40 -0
  157. package/docs/ms/reference/visual/typography-keywords.md +81 -0
  158. package/docs/ms/reference/visual/user-select.md +32 -0
  159. package/docs/ms/reference/visual/vertical-align.md +36 -0
  160. package/docs/ms/reference/visual/whitespace.md +34 -0
  161. package/docs/ms/reference/visual/will-change.md +33 -0
  162. package/docs/ms/reference/visual/word-break.md +32 -0
  163. package/docs/ms/reference/visual.md +145 -148
  164. package/docs/public/assets/senangstart-css.min.js +1545 -0
  165. package/docs/reference/layout/align-content.md +35 -0
  166. package/docs/reference/layout/align-items.md +33 -0
  167. package/docs/reference/layout/align-self.md +34 -0
  168. package/docs/reference/layout/aspect-ratio.md +40 -0
  169. package/docs/reference/layout/border-collapse.md +30 -0
  170. package/docs/reference/layout/border-spacing.md +39 -0
  171. package/docs/reference/layout/box-sizing.md +30 -0
  172. package/docs/reference/layout/caption-side.md +30 -0
  173. package/docs/reference/layout/columns.md +30 -0
  174. package/docs/reference/layout/container.md +29 -0
  175. package/docs/reference/layout/display.md +60 -0
  176. package/docs/reference/layout/flex-basis.md +38 -0
  177. package/docs/reference/layout/flex-direction.md +33 -0
  178. package/docs/reference/layout/flex-items.md +32 -0
  179. package/docs/reference/layout/flex-wrap.md +31 -0
  180. package/docs/reference/layout/flex.md +40 -0
  181. package/docs/reference/layout/float-clear.md +32 -0
  182. package/docs/reference/layout/grid-auto-flow.md +33 -0
  183. package/docs/reference/layout/grid-auto-sizing.md +32 -0
  184. package/docs/reference/layout/grid-column-span.md +31 -0
  185. package/docs/reference/layout/grid-columns.md +32 -0
  186. package/docs/reference/layout/grid-row-span.md +30 -0
  187. package/docs/reference/layout/grid-rows.md +31 -0
  188. package/docs/reference/layout/inset.md +44 -0
  189. package/docs/reference/layout/isolation.md +30 -0
  190. package/docs/reference/layout/justify-content.md +36 -0
  191. package/docs/reference/layout/justify-items.md +32 -0
  192. package/docs/reference/layout/justify-self.md +33 -0
  193. package/docs/reference/layout/object-fit.md +33 -0
  194. package/docs/reference/layout/object-position.md +45 -0
  195. package/docs/reference/layout/order.md +32 -0
  196. package/docs/reference/layout/overflow.md +34 -0
  197. package/docs/reference/layout/overscroll.md +31 -0
  198. package/docs/reference/layout/place-content.md +35 -0
  199. package/docs/reference/layout/place-items.md +32 -0
  200. package/docs/reference/layout/place-self.md +33 -0
  201. package/docs/reference/layout/position.md +34 -0
  202. package/docs/reference/layout/shorthand-alignment.md +34 -0
  203. package/docs/reference/layout/table-layout.md +30 -0
  204. package/docs/reference/layout/visibility.md +30 -0
  205. package/docs/reference/layout/z-index.md +33 -0
  206. package/docs/reference/layout.md +60 -102
  207. package/docs/reference/space/arbitrary-values.md +39 -0
  208. package/docs/reference/space/gap.md +44 -0
  209. package/docs/reference/space/height.md +44 -0
  210. package/docs/reference/space/margin.md +49 -0
  211. package/docs/reference/space/padding.md +49 -0
  212. package/docs/reference/space/scale-reference.md +43 -0
  213. package/docs/reference/space/width.md +45 -0
  214. package/docs/reference/space.md +14 -98
  215. package/docs/reference/spacing.md +22 -8
  216. package/docs/reference/visual/accent-color.md +31 -0
  217. package/docs/reference/visual/animation-builtin.md +41 -0
  218. package/docs/reference/visual/animation-delay.md +41 -0
  219. package/docs/reference/visual/animation-direction.md +32 -0
  220. package/docs/reference/visual/animation-duration.md +43 -0
  221. package/docs/reference/visual/animation-fill.md +32 -0
  222. package/docs/reference/visual/animation-iteration.md +30 -0
  223. package/docs/reference/visual/animation-play.md +30 -0
  224. package/docs/reference/visual/appearance.md +30 -0
  225. package/docs/reference/visual/backdrop-blur.md +43 -0
  226. package/docs/reference/visual/backdrop-brightness.md +41 -0
  227. package/docs/reference/visual/backdrop-contrast.md +41 -0
  228. package/docs/reference/visual/backdrop-grayscale.md +39 -0
  229. package/docs/reference/visual/backdrop-hue-rotate.md +39 -0
  230. package/docs/reference/visual/backdrop-invert.md +39 -0
  231. package/docs/reference/visual/backdrop-opacity.md +39 -0
  232. package/docs/reference/visual/backdrop-saturate.md +41 -0
  233. package/docs/reference/visual/backdrop-sepia.md +39 -0
  234. package/docs/reference/visual/background-attachment.md +31 -0
  235. package/docs/reference/visual/background-blend-mode.md +34 -0
  236. package/docs/reference/visual/background-clip.md +32 -0
  237. package/docs/reference/visual/background-color.md +33 -0
  238. package/docs/reference/visual/background-image.md +41 -0
  239. package/docs/reference/visual/background-origin.md +31 -0
  240. package/docs/reference/visual/background-position.md +45 -0
  241. package/docs/reference/visual/background-repeat.md +34 -0
  242. package/docs/reference/visual/background-size.md +39 -0
  243. package/docs/reference/visual/blend-modes.md +34 -0
  244. package/docs/reference/visual/border-radius.md +34 -0
  245. package/docs/reference/visual/border-style.md +33 -0
  246. package/docs/reference/visual/border-width.md +44 -0
  247. package/docs/reference/visual/border.md +43 -0
  248. package/docs/reference/visual/box-shadow.md +33 -0
  249. package/docs/reference/visual/caret-color.md +31 -0
  250. package/docs/reference/visual/color-scheme.md +31 -0
  251. package/docs/reference/visual/cursor.md +37 -0
  252. package/docs/reference/visual/field-sizing.md +30 -0
  253. package/docs/reference/visual/fill.md +38 -0
  254. package/docs/reference/visual/filter-blur.md +43 -0
  255. package/docs/reference/visual/filter-brightness.md +41 -0
  256. package/docs/reference/visual/filter-contrast.md +41 -0
  257. package/docs/reference/visual/filter-drop-shadow.md +42 -0
  258. package/docs/reference/visual/filter-grayscale.md +39 -0
  259. package/docs/reference/visual/filter-hue-rotate.md +39 -0
  260. package/docs/reference/visual/filter-invert.md +39 -0
  261. package/docs/reference/visual/filter-saturate.md +41 -0
  262. package/docs/reference/visual/filter-sepia.md +39 -0
  263. package/docs/reference/visual/font-family.md +31 -0
  264. package/docs/reference/visual/font-smoothing.md +30 -0
  265. package/docs/reference/visual/font-style.md +30 -0
  266. package/docs/reference/visual/font-variant-numeric.md +35 -0
  267. package/docs/reference/visual/font-weight.md +31 -0
  268. package/docs/reference/visual/forced-color-adjust.md +30 -0
  269. package/docs/reference/visual/hyphens.md +31 -0
  270. package/docs/reference/visual/letter-spacing.md +42 -0
  271. package/docs/reference/visual/line-clamp.md +40 -0
  272. package/docs/reference/visual/line-height.md +42 -0
  273. package/docs/reference/visual/list-style.md +34 -0
  274. package/docs/reference/visual/mask.md +39 -0
  275. package/docs/reference/visual/opacity.md +33 -0
  276. package/docs/reference/visual/outline.md +31 -0
  277. package/docs/reference/visual/pointer-events.md +30 -0
  278. package/docs/reference/visual/resize.md +32 -0
  279. package/docs/reference/visual/scroll-behavior.md +30 -0
  280. package/docs/reference/visual/scroll-margin.md +41 -0
  281. package/docs/reference/visual/scroll-padding.md +41 -0
  282. package/docs/reference/visual/scroll-snap-align.md +32 -0
  283. package/docs/reference/visual/scroll-snap-stop.md +30 -0
  284. package/docs/reference/visual/scroll-snap-type.md +34 -0
  285. package/docs/reference/visual/state-prefixes.md +37 -0
  286. package/docs/reference/visual/stroke-width.md +39 -0
  287. package/docs/reference/visual/stroke.md +38 -0
  288. package/docs/reference/visual/text-alignment.md +32 -0
  289. package/docs/reference/visual/text-color.md +41 -0
  290. package/docs/reference/visual/text-decoration.md +32 -0
  291. package/docs/reference/visual/text-indent.md +37 -0
  292. package/docs/reference/visual/text-overflow.md +31 -0
  293. package/docs/reference/visual/text-shadow.md +40 -0
  294. package/docs/reference/visual/text-size.md +32 -0
  295. package/docs/reference/visual/text-transform.md +32 -0
  296. package/docs/reference/visual/text-wrap.md +32 -0
  297. package/docs/reference/visual/touch-action.md +36 -0
  298. package/docs/reference/visual/transform-backface.md +30 -0
  299. package/docs/reference/visual/transform-origin.md +45 -0
  300. package/docs/reference/visual/transform-perspective-origin.md +45 -0
  301. package/docs/reference/visual/transform-perspective.md +43 -0
  302. package/docs/reference/visual/transform-rotate.md +40 -0
  303. package/docs/reference/visual/transform-scale.md +43 -0
  304. package/docs/reference/visual/transform-skew.md +40 -0
  305. package/docs/reference/visual/transform-style.md +30 -0
  306. package/docs/reference/visual/transform-translate.md +39 -0
  307. package/docs/reference/visual/transition-delay.md +41 -0
  308. package/docs/reference/visual/transition-duration.md +43 -0
  309. package/docs/reference/visual/transition-property.md +34 -0
  310. package/docs/reference/visual/transition-timing.md +40 -0
  311. package/docs/reference/visual/typography-keywords.md +81 -0
  312. package/docs/reference/visual/user-select.md +32 -0
  313. package/docs/reference/visual/vertical-align.md +36 -0
  314. package/docs/reference/visual/whitespace.md +34 -0
  315. package/docs/reference/visual/will-change.md +33 -0
  316. package/docs/reference/visual/word-break.md +32 -0
  317. package/docs/reference/visual.md +151 -154
  318. package/docs/syntax-reference.json +1973 -0
  319. package/package.json +10 -2
  320. package/playground/index.html +78 -0
  321. package/playground/jit-test.html +384 -0
  322. package/scripts/extract-syntax.js +152 -0
  323. package/scripts/generate-docs.js +352 -0
  324. package/src/cdn/jit.js +1436 -14
  325. package/src/cli/commands/build.js +5 -0
  326. package/src/cli/index.js +2 -0
  327. package/src/compiler/generators/css.js +1537 -25
  328. package/src/compiler/generators/preflight.js +379 -0
  329. package/src/config/defaults.js +19 -1
  330. package/src/definitions/index.js +153 -0
  331. package/src/definitions/layout-alignment.js +257 -0
  332. package/src/definitions/layout-flex.js +209 -0
  333. package/src/definitions/layout-grid.js +150 -0
  334. package/src/definitions/layout-positioning.js +89 -0
  335. package/src/definitions/layout-table.js +98 -0
  336. package/src/definitions/layout-utilities.js +262 -0
  337. package/src/definitions/layout.js +195 -0
  338. package/src/definitions/space.js +164 -0
  339. package/src/definitions/visual-backgrounds.js +423 -0
  340. package/src/definitions/visual-borders.js +111 -0
  341. package/src/definitions/visual-filters.js +204 -0
  342. package/src/definitions/visual-interactivity.js +292 -0
  343. package/src/definitions/visual-svg.js +80 -0
  344. package/src/definitions/visual-transform3d.js +159 -0
  345. package/src/definitions/visual-transforms.js +142 -0
  346. package/src/definitions/visual-transitions.js +277 -0
  347. package/src/definitions/visual-typography.js +386 -0
  348. package/src/definitions/visual.js +542 -0
  349. package/tests/helpers/test-utils.js +144 -0
  350. package/tests/integration/compiler.test.js +247 -0
  351. package/tests/sync/docs-sync.test.js +364 -0
  352. package/tests/unit/compiler/generators/css.test.js +719 -0
  353. package/tests/unit/compiler/parser.test.js +244 -0
  354. package/tests/unit/compiler/tokenizer.test.js +305 -0
  355. package/tests/unit/config/defaults.test.js +168 -0
  356. package/docs/.vitepress/cache/deps/_metadata.json +0 -31
  357. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js +0 -12824
  358. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js.map +0 -7
  359. package/docs/.vitepress/cache/deps/package.json +0 -3
  360. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +0 -4505
  361. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +0 -7
  362. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +0 -9731
  363. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +0 -7
  364. package/docs/.vitepress/cache/deps/vue.js +0 -347
  365. package/docs/.vitepress/cache/deps/vue.js.map +0 -7
  366. package/docs/.vitepress/dist/404.html +0 -22
  367. package/docs/.vitepress/dist/assets/app.DBXoyO4w.js +0 -1
  368. package/docs/.vitepress/dist/assets/chunks/framework.I305HrzY.js +0 -19
  369. package/docs/.vitepress/dist/assets/chunks/theme.CaXH1t3X.js +0 -1
  370. package/docs/.vitepress/dist/assets/examples_cards.md.BCzaqSD6.js +0 -84
  371. package/docs/.vitepress/dist/assets/examples_cards.md.BCzaqSD6.lean.js +0 -1
  372. package/docs/.vitepress/dist/assets/examples_forms.md.DOjr9LrG.js +0 -169
  373. package/docs/.vitepress/dist/assets/examples_forms.md.DOjr9LrG.lean.js +0 -1
  374. package/docs/.vitepress/dist/assets/examples_hero.md.CAorji-Y.js +0 -118
  375. package/docs/.vitepress/dist/assets/examples_hero.md.CAorji-Y.lean.js +0 -1
  376. package/docs/.vitepress/dist/assets/examples_index.md.BjUNsTob.js +0 -52
  377. package/docs/.vitepress/dist/assets/examples_index.md.BjUNsTob.lean.js +0 -1
  378. package/docs/.vitepress/dist/assets/examples_navigation.md.DvL-Yv_5.js +0 -106
  379. package/docs/.vitepress/dist/assets/examples_navigation.md.DvL-Yv_5.lean.js +0 -1
  380. package/docs/.vitepress/dist/assets/guide_cdn.md.Bbb7-icp.js +0 -30
  381. package/docs/.vitepress/dist/assets/guide_cdn.md.Bbb7-icp.lean.js +0 -1
  382. package/docs/.vitepress/dist/assets/guide_cli.md.yLsOZ7NL.js +0 -44
  383. package/docs/.vitepress/dist/assets/guide_cli.md.yLsOZ7NL.lean.js +0 -1
  384. package/docs/.vitepress/dist/assets/guide_configuration.md.DN4FfKw4.js +0 -79
  385. package/docs/.vitepress/dist/assets/guide_configuration.md.DN4FfKw4.lean.js +0 -1
  386. package/docs/.vitepress/dist/assets/guide_dark-mode.md.D6UJvQtM.js +0 -69
  387. package/docs/.vitepress/dist/assets/guide_dark-mode.md.D6UJvQtM.lean.js +0 -1
  388. package/docs/.vitepress/dist/assets/guide_getting-started.md.K5nA8wXY.js +0 -47
  389. package/docs/.vitepress/dist/assets/guide_getting-started.md.K5nA8wXY.lean.js +0 -1
  390. package/docs/.vitepress/dist/assets/guide_index.md.B0lRU150.js +0 -3
  391. package/docs/.vitepress/dist/assets/guide_index.md.B0lRU150.lean.js +0 -1
  392. package/docs/.vitepress/dist/assets/guide_natural-scale.md.vvauT7U1.js +0 -22
  393. package/docs/.vitepress/dist/assets/guide_natural-scale.md.vvauT7U1.lean.js +0 -1
  394. package/docs/.vitepress/dist/assets/guide_philosophy.md.mOb9kp32.js +0 -7
  395. package/docs/.vitepress/dist/assets/guide_philosophy.md.mOb9kp32.lean.js +0 -1
  396. package/docs/.vitepress/dist/assets/guide_responsive.md.C7cF-4cR.js +0 -57
  397. package/docs/.vitepress/dist/assets/guide_responsive.md.C7cF-4cR.lean.js +0 -1
  398. package/docs/.vitepress/dist/assets/guide_states.md.CwtGEGHB.js +0 -77
  399. package/docs/.vitepress/dist/assets/guide_states.md.CwtGEGHB.lean.js +0 -1
  400. package/docs/.vitepress/dist/assets/guide_tri-attribute.md.CpjJLEMP.js +0 -45
  401. package/docs/.vitepress/dist/assets/guide_tri-attribute.md.CpjJLEMP.lean.js +0 -1
  402. package/docs/.vitepress/dist/assets/index.md.mYp6_S5X.js +0 -7
  403. package/docs/.vitepress/dist/assets/index.md.mYp6_S5X.lean.js +0 -1
  404. package/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  405. package/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  406. package/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  407. package/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  408. package/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  409. package/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  410. package/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  411. package/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  412. package/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  413. package/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  414. package/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  415. package/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  416. package/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  417. package/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  418. package/docs/.vitepress/dist/assets/ms_examples_cards.md.CaE5JNAs.js +0 -84
  419. package/docs/.vitepress/dist/assets/ms_examples_cards.md.CaE5JNAs.lean.js +0 -1
  420. package/docs/.vitepress/dist/assets/ms_examples_forms.md.VvDzMzxF.js +0 -169
  421. package/docs/.vitepress/dist/assets/ms_examples_forms.md.VvDzMzxF.lean.js +0 -1
  422. package/docs/.vitepress/dist/assets/ms_examples_hero.md.DC4c3kKW.js +0 -118
  423. package/docs/.vitepress/dist/assets/ms_examples_hero.md.DC4c3kKW.lean.js +0 -1
  424. package/docs/.vitepress/dist/assets/ms_examples_index.md.C13ShcjA.js +0 -52
  425. package/docs/.vitepress/dist/assets/ms_examples_index.md.C13ShcjA.lean.js +0 -1
  426. package/docs/.vitepress/dist/assets/ms_examples_navigation.md.BPtVjKbk.js +0 -106
  427. package/docs/.vitepress/dist/assets/ms_examples_navigation.md.BPtVjKbk.lean.js +0 -1
  428. package/docs/.vitepress/dist/assets/ms_guide_cdn.md.tZFpEjTS.js +0 -30
  429. package/docs/.vitepress/dist/assets/ms_guide_cdn.md.tZFpEjTS.lean.js +0 -1
  430. package/docs/.vitepress/dist/assets/ms_guide_cli.md.DBjxv3-o.js +0 -44
  431. package/docs/.vitepress/dist/assets/ms_guide_cli.md.DBjxv3-o.lean.js +0 -1
  432. package/docs/.vitepress/dist/assets/ms_guide_configuration.md.CyYNqREm.js +0 -79
  433. package/docs/.vitepress/dist/assets/ms_guide_configuration.md.CyYNqREm.lean.js +0 -1
  434. package/docs/.vitepress/dist/assets/ms_guide_dark-mode.md.DWDWvzzv.js +0 -69
  435. package/docs/.vitepress/dist/assets/ms_guide_dark-mode.md.DWDWvzzv.lean.js +0 -1
  436. package/docs/.vitepress/dist/assets/ms_guide_getting-started.md.WoQwRhlY.js +0 -47
  437. package/docs/.vitepress/dist/assets/ms_guide_getting-started.md.WoQwRhlY.lean.js +0 -1
  438. package/docs/.vitepress/dist/assets/ms_guide_index.md.pHpXZMmU.js +0 -3
  439. package/docs/.vitepress/dist/assets/ms_guide_index.md.pHpXZMmU.lean.js +0 -1
  440. package/docs/.vitepress/dist/assets/ms_guide_natural-scale.md.BiUfU-TH.js +0 -22
  441. package/docs/.vitepress/dist/assets/ms_guide_natural-scale.md.BiUfU-TH.lean.js +0 -1
  442. package/docs/.vitepress/dist/assets/ms_guide_philosophy.md.hf3SG2Ts.js +0 -7
  443. package/docs/.vitepress/dist/assets/ms_guide_philosophy.md.hf3SG2Ts.lean.js +0 -1
  444. package/docs/.vitepress/dist/assets/ms_guide_responsive.md.C4yS3zzM.js +0 -57
  445. package/docs/.vitepress/dist/assets/ms_guide_responsive.md.C4yS3zzM.lean.js +0 -1
  446. package/docs/.vitepress/dist/assets/ms_guide_states.md.DkDEjPdC.js +0 -77
  447. package/docs/.vitepress/dist/assets/ms_guide_states.md.DkDEjPdC.lean.js +0 -1
  448. package/docs/.vitepress/dist/assets/ms_guide_tri-attribute.md.C3Es_V5J.js +0 -45
  449. package/docs/.vitepress/dist/assets/ms_guide_tri-attribute.md.C3Es_V5J.lean.js +0 -1
  450. package/docs/.vitepress/dist/assets/ms_index.md.Bmo9il08.js +0 -7
  451. package/docs/.vitepress/dist/assets/ms_index.md.Bmo9il08.lean.js +0 -1
  452. package/docs/.vitepress/dist/assets/ms_reference_breakpoints.md.DR7i_--b.js +0 -48
  453. package/docs/.vitepress/dist/assets/ms_reference_breakpoints.md.DR7i_--b.lean.js +0 -1
  454. package/docs/.vitepress/dist/assets/ms_reference_colors.md.06ZYiMcJ.js +0 -17
  455. package/docs/.vitepress/dist/assets/ms_reference_colors.md.06ZYiMcJ.lean.js +0 -1
  456. package/docs/.vitepress/dist/assets/ms_reference_layout.md.NGL6A5SR.js +0 -13
  457. package/docs/.vitepress/dist/assets/ms_reference_layout.md.NGL6A5SR.lean.js +0 -1
  458. package/docs/.vitepress/dist/assets/ms_reference_space.md.BG5YQ-09.js +0 -24
  459. package/docs/.vitepress/dist/assets/ms_reference_space.md.BG5YQ-09.lean.js +0 -1
  460. package/docs/.vitepress/dist/assets/ms_reference_spacing.md.XmXLLPOZ.js +0 -32
  461. package/docs/.vitepress/dist/assets/ms_reference_spacing.md.XmXLLPOZ.lean.js +0 -1
  462. package/docs/.vitepress/dist/assets/ms_reference_visual.md.BVOlkEqc.js +0 -22
  463. package/docs/.vitepress/dist/assets/ms_reference_visual.md.BVOlkEqc.lean.js +0 -1
  464. package/docs/.vitepress/dist/assets/reference_breakpoints.md.BRbG8Fzi.js +0 -48
  465. package/docs/.vitepress/dist/assets/reference_breakpoints.md.BRbG8Fzi.lean.js +0 -1
  466. package/docs/.vitepress/dist/assets/reference_colors.md.C7j7dSO1.js +0 -17
  467. package/docs/.vitepress/dist/assets/reference_colors.md.C7j7dSO1.lean.js +0 -1
  468. package/docs/.vitepress/dist/assets/reference_layout.md.BWJ5NxSp.js +0 -13
  469. package/docs/.vitepress/dist/assets/reference_layout.md.BWJ5NxSp.lean.js +0 -1
  470. package/docs/.vitepress/dist/assets/reference_space.md.DCsqfTWb.js +0 -24
  471. package/docs/.vitepress/dist/assets/reference_space.md.DCsqfTWb.lean.js +0 -1
  472. package/docs/.vitepress/dist/assets/reference_spacing.md.BInFD8gd.js +0 -32
  473. package/docs/.vitepress/dist/assets/reference_spacing.md.BInFD8gd.lean.js +0 -1
  474. package/docs/.vitepress/dist/assets/reference_visual.md.BRK7S9T1.js +0 -22
  475. package/docs/.vitepress/dist/assets/reference_visual.md.BRK7S9T1.lean.js +0 -1
  476. package/docs/.vitepress/dist/assets/style.D82StYDI.css +0 -1
  477. package/docs/.vitepress/dist/examples/cards.html +0 -108
  478. package/docs/.vitepress/dist/examples/forms.html +0 -193
  479. package/docs/.vitepress/dist/examples/hero.html +0 -142
  480. package/docs/.vitepress/dist/examples/index.html +0 -76
  481. package/docs/.vitepress/dist/examples/navigation.html +0 -130
  482. package/docs/.vitepress/dist/guide/cdn.html +0 -54
  483. package/docs/.vitepress/dist/guide/cli.html +0 -68
  484. package/docs/.vitepress/dist/guide/configuration.html +0 -103
  485. package/docs/.vitepress/dist/guide/dark-mode.html +0 -93
  486. package/docs/.vitepress/dist/guide/getting-started.html +0 -71
  487. package/docs/.vitepress/dist/guide/index.html +0 -27
  488. package/docs/.vitepress/dist/guide/natural-scale.html +0 -46
  489. package/docs/.vitepress/dist/guide/philosophy.html +0 -31
  490. package/docs/.vitepress/dist/guide/responsive.html +0 -81
  491. package/docs/.vitepress/dist/guide/states.html +0 -101
  492. package/docs/.vitepress/dist/guide/tri-attribute.html +0 -69
  493. package/docs/.vitepress/dist/hashmap.json +0 -1
  494. package/docs/.vitepress/dist/index.html +0 -31
  495. package/docs/.vitepress/dist/ms/examples/cards.html +0 -108
  496. package/docs/.vitepress/dist/ms/examples/forms.html +0 -193
  497. package/docs/.vitepress/dist/ms/examples/hero.html +0 -142
  498. package/docs/.vitepress/dist/ms/examples/index.html +0 -76
  499. package/docs/.vitepress/dist/ms/examples/navigation.html +0 -130
  500. package/docs/.vitepress/dist/ms/guide/cdn.html +0 -54
  501. package/docs/.vitepress/dist/ms/guide/cli.html +0 -68
  502. package/docs/.vitepress/dist/ms/guide/configuration.html +0 -103
  503. package/docs/.vitepress/dist/ms/guide/dark-mode.html +0 -93
  504. package/docs/.vitepress/dist/ms/guide/getting-started.html +0 -71
  505. package/docs/.vitepress/dist/ms/guide/index.html +0 -27
  506. package/docs/.vitepress/dist/ms/guide/natural-scale.html +0 -46
  507. package/docs/.vitepress/dist/ms/guide/philosophy.html +0 -31
  508. package/docs/.vitepress/dist/ms/guide/responsive.html +0 -81
  509. package/docs/.vitepress/dist/ms/guide/states.html +0 -101
  510. package/docs/.vitepress/dist/ms/guide/tri-attribute.html +0 -69
  511. package/docs/.vitepress/dist/ms/index.html +0 -31
  512. package/docs/.vitepress/dist/ms/reference/breakpoints.html +0 -72
  513. package/docs/.vitepress/dist/ms/reference/colors.html +0 -41
  514. package/docs/.vitepress/dist/ms/reference/layout.html +0 -37
  515. package/docs/.vitepress/dist/ms/reference/space.html +0 -48
  516. package/docs/.vitepress/dist/ms/reference/spacing.html +0 -56
  517. package/docs/.vitepress/dist/ms/reference/visual.html +0 -46
  518. package/docs/.vitepress/dist/reference/breakpoints.html +0 -72
  519. package/docs/.vitepress/dist/reference/colors.html +0 -41
  520. package/docs/.vitepress/dist/reference/layout.html +0 -37
  521. package/docs/.vitepress/dist/reference/space.html +0 -48
  522. package/docs/.vitepress/dist/reference/spacing.html +0 -56
  523. package/docs/.vitepress/dist/reference/visual.html +0 -46
  524. package/docs/.vitepress/dist/vp-icons.css +0 -1
@@ -0,0 +1,542 @@
1
+ /**
2
+ * SenangStart CSS - Visual Utility Definitions
3
+ * Single source of truth for visual utilities (colors, typography, effects)
4
+ */
5
+
6
+ // ======================
7
+ // BACKGROUND COLOR
8
+ // ======================
9
+
10
+ export const backgroundColor = {
11
+ name: 'background-color',
12
+ property: 'visual',
13
+ syntax: 'visual="bg:[color]"',
14
+ description: 'Set background color',
15
+ descriptionMs: 'Tetapkan warna latar belakang',
16
+ category: 'visual',
17
+ usesScale: 'colors',
18
+ supportsArbitrary: true,
19
+ values: [], // Uses color scale dynamically
20
+ examples: [
21
+ { code: '<div visual="bg:primary">Primary background</div>', description: 'Theme color' },
22
+ { code: '<div visual="bg:blue-500">Blue background</div>', description: 'Palette color' },
23
+ { code: '<div visual="bg:[#FF5733]">Custom color</div>', description: 'Arbitrary color' }
24
+ ]
25
+ };
26
+
27
+ // ======================
28
+ // TEXT COLOR
29
+ // ======================
30
+
31
+ export const textColor = {
32
+ name: 'text-color',
33
+ property: 'visual',
34
+ syntax: 'visual="text:[color]"',
35
+ description: 'Set text color',
36
+ descriptionMs: 'Tetapkan warna teks',
37
+ category: 'visual',
38
+ usesScale: 'colors',
39
+ supportsArbitrary: true,
40
+ values: [
41
+ { value: 'left', css: 'text-align: left;', description: 'Align left', descriptionMs: 'Jajar kiri' },
42
+ { value: 'center', css: 'text-align: center;', description: 'Align center', descriptionMs: 'Jajar tengah' },
43
+ { value: 'right', css: 'text-align: right;', description: 'Align right', descriptionMs: 'Jajar kanan' },
44
+ { value: 'justify', css: 'text-align: justify;', description: 'Justify text', descriptionMs: 'Jajar sepenuh' }
45
+ ],
46
+ examples: [
47
+ { code: '<div visual="text:white">White text</div>', description: 'Theme color' },
48
+ { code: '<div visual="text:center">Centered text</div>', description: 'Text alignment' }
49
+ ]
50
+ };
51
+
52
+ // ======================
53
+ // FONT SIZE
54
+ // ======================
55
+
56
+ export const fontSize = {
57
+ name: 'text-size',
58
+ property: 'visual',
59
+ syntax: 'visual="text-size:[value]"',
60
+ description: 'Set font size',
61
+ descriptionMs: 'Tetapkan saiz fon',
62
+ category: 'visual',
63
+ usesScale: 'fontSize',
64
+ supportsArbitrary: true,
65
+ examples: [
66
+ { code: '<div visual="text-size:big">Large text</div>', description: 'Scale value' },
67
+ { code: '<div visual="text-size:[24px]">24px text</div>', description: 'Arbitrary' }
68
+ ]
69
+ };
70
+
71
+ // ======================
72
+ // FONT WEIGHT
73
+ // ======================
74
+
75
+ export const fontWeight = {
76
+ name: 'font-weight',
77
+ property: 'visual',
78
+ syntax: 'visual="font:[weight]"',
79
+ description: 'Set font weight',
80
+ descriptionMs: 'Tetapkan berat fon',
81
+ category: 'visual',
82
+ usesScale: 'fontWeight',
83
+ values: [
84
+ { value: 'normal', css: 'font-weight: var(--fw-normal);', description: 'Normal weight', descriptionMs: 'Berat normal' },
85
+ { value: 'medium', css: 'font-weight: var(--fw-medium);', description: 'Medium weight', descriptionMs: 'Berat sederhana' },
86
+ { value: 'bold', css: 'font-weight: var(--fw-bold);', description: 'Bold weight', descriptionMs: 'Berat tebal' }
87
+ ],
88
+ examples: [
89
+ { code: '<div visual="font:bold">Bold text</div>', description: 'Bold weight' }
90
+ ]
91
+ };
92
+
93
+ // ======================
94
+ // FONT FAMILY
95
+ // ======================
96
+
97
+ export const fontFamily = {
98
+ name: 'font-family',
99
+ property: 'visual',
100
+ syntax: 'visual="font:[family]"',
101
+ description: 'Set font family',
102
+ descriptionMs: 'Tetapkan keluarga fon',
103
+ category: 'visual',
104
+ values: [
105
+ { value: 'sans', css: 'font-family: ui-sans-serif, system-ui, sans-serif;', description: 'Sans-serif', descriptionMs: 'Sans-serif' },
106
+ { value: 'serif', css: 'font-family: ui-serif, Georgia, serif;', description: 'Serif', descriptionMs: 'Serif' },
107
+ { value: 'mono', css: 'font-family: ui-monospace, monospace;', description: 'Monospace', descriptionMs: 'Monospace' }
108
+ ],
109
+ examples: [
110
+ { code: '<div visual="font:mono">Monospace text</div>', description: 'Monospace font' }
111
+ ]
112
+ };
113
+
114
+ // ======================
115
+ // TYPOGRAPHY KEYWORDS
116
+ // ======================
117
+
118
+ export const typographyKeywords = {
119
+ name: 'typography-keywords',
120
+ property: 'visual',
121
+ syntax: 'visual="[keyword]"',
122
+ description: 'Typography utility keywords',
123
+ descriptionMs: 'Kata kunci utiliti tipografi',
124
+ category: 'visual',
125
+ values: [
126
+ // Font Style
127
+ { value: 'italic', css: 'font-style: italic;', description: 'Italic text', descriptionMs: 'Teks italic' },
128
+ { value: 'not-italic', css: 'font-style: normal;', description: 'Normal style', descriptionMs: 'Gaya normal' },
129
+
130
+ // Font Smoothing
131
+ { value: 'antialiased', css: '-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;', description: 'Antialiased text', descriptionMs: 'Teks antialias' },
132
+ { value: 'subpixel-antialiased', css: '-webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto;', description: 'Subpixel antialiasing', descriptionMs: 'Antialias subpiksel' },
133
+
134
+ // Text Transform
135
+ { value: 'uppercase', css: 'text-transform: uppercase;', description: 'Uppercase text', descriptionMs: 'Teks huruf besar' },
136
+ { value: 'lowercase', css: 'text-transform: lowercase;', description: 'Lowercase text', descriptionMs: 'Teks huruf kecil' },
137
+ { value: 'capitalize', css: 'text-transform: capitalize;', description: 'Capitalize words', descriptionMs: 'Huruf besar awal perkataan' },
138
+ { value: 'normal-case', css: 'text-transform: none;', description: 'Normal case', descriptionMs: 'Kes normal' },
139
+
140
+ // Text Decoration
141
+ { value: 'underline', css: 'text-decoration-line: underline;', description: 'Underline text', descriptionMs: 'Garis bawah teks' },
142
+ { value: 'overline', css: 'text-decoration-line: overline;', description: 'Overline text', descriptionMs: 'Garis atas teks' },
143
+ { value: 'line-through', css: 'text-decoration-line: line-through;', description: 'Strikethrough', descriptionMs: 'Garis potong' },
144
+ { value: 'no-underline', css: 'text-decoration-line: none;', description: 'No decoration', descriptionMs: 'Tiada hiasan' },
145
+
146
+ // Text Decoration Style
147
+ { value: 'decoration-solid', css: 'text-decoration-style: solid;', description: 'Solid line', descriptionMs: 'Garisan pepejal' },
148
+ { value: 'decoration-double', css: 'text-decoration-style: double;', description: 'Double line', descriptionMs: 'Garisan berganda' },
149
+ { value: 'decoration-dotted', css: 'text-decoration-style: dotted;', description: 'Dotted line', descriptionMs: 'Garisan bertitik' },
150
+ { value: 'decoration-dashed', css: 'text-decoration-style: dashed;', description: 'Dashed line', descriptionMs: 'Garisan putus-putus' },
151
+ { value: 'decoration-wavy', css: 'text-decoration-style: wavy;', description: 'Wavy line', descriptionMs: 'Garisan bergelombang' },
152
+
153
+ // Text Overflow
154
+ { value: 'truncate', css: 'overflow: hidden; text-overflow: ellipsis; white-space: nowrap;', description: 'Truncate with ellipsis', descriptionMs: 'Potong dengan elipsis' },
155
+ { value: 'text-ellipsis', css: 'text-overflow: ellipsis;', description: 'Ellipsis overflow', descriptionMs: 'Limpahan elipsis' },
156
+ { value: 'text-clip', css: 'text-overflow: clip;', description: 'Clip overflow', descriptionMs: 'Limpahan potong' },
157
+
158
+ // Text Wrap
159
+ { value: 'text-wrap', css: 'text-wrap: wrap;', description: 'Wrap text', descriptionMs: 'Bungkus teks' },
160
+ { value: 'text-nowrap', css: 'text-wrap: nowrap;', description: 'No wrap', descriptionMs: 'Tiada bungkusan' },
161
+ { value: 'text-balance', css: 'text-wrap: balance;', description: 'Balanced wrapping', descriptionMs: 'Bungkusan seimbang' },
162
+ { value: 'text-pretty', css: 'text-wrap: pretty;', description: 'Pretty wrapping', descriptionMs: 'Bungkusan cantik' },
163
+
164
+ // Whitespace
165
+ { value: 'whitespace-normal', css: 'white-space: normal;', description: 'Normal whitespace', descriptionMs: 'Ruang putih normal' },
166
+ { value: 'whitespace-nowrap', css: 'white-space: nowrap;', description: 'No wrap whitespace', descriptionMs: 'Tiada bungkusan ruang putih' },
167
+ { value: 'whitespace-pre', css: 'white-space: pre;', description: 'Preserve whitespace', descriptionMs: 'Kekalkan ruang putih' },
168
+ { value: 'whitespace-pre-line', css: 'white-space: pre-line;', description: 'Pre-line whitespace', descriptionMs: 'Ruang putih pra-baris' },
169
+ { value: 'whitespace-pre-wrap', css: 'white-space: pre-wrap;', description: 'Pre-wrap whitespace', descriptionMs: 'Ruang putih pra-bungkus' },
170
+ { value: 'whitespace-break-spaces', css: 'white-space: break-spaces;', description: 'Break spaces', descriptionMs: 'Ruang putih pecah' },
171
+
172
+ // Word Break
173
+ { value: 'break-normal', css: 'overflow-wrap: normal; word-break: normal;', description: 'Normal word break', descriptionMs: 'Pemecahan perkataan normal' },
174
+ { value: 'break-words', css: 'overflow-wrap: break-word;', description: 'Break words', descriptionMs: 'Pecahkan perkataan' },
175
+ { value: 'break-all', css: 'word-break: break-all;', description: 'Break all', descriptionMs: 'Pecahkan semua' },
176
+ { value: 'break-keep', css: 'word-break: keep-all;', description: 'Keep all', descriptionMs: 'Kekalkan semua' },
177
+
178
+ // Hyphens
179
+ { value: 'hyphens-none', css: 'hyphens: none;', description: 'No hyphens', descriptionMs: 'Tiada tanda sempang' },
180
+ { value: 'hyphens-manual', css: 'hyphens: manual;', description: 'Manual hyphens', descriptionMs: 'Tanda sempang manual' },
181
+ { value: 'hyphens-auto', css: 'hyphens: auto;', description: 'Auto hyphens', descriptionMs: 'Tanda sempang automatik' },
182
+
183
+ // Vertical Align
184
+ { value: 'align-baseline', css: 'vertical-align: baseline;', description: 'Baseline align', descriptionMs: 'Jajar garis asas' },
185
+ { value: 'align-top', css: 'vertical-align: top;', description: 'Top align', descriptionMs: 'Jajar atas' },
186
+ { value: 'align-middle', css: 'vertical-align: middle;', description: 'Middle align', descriptionMs: 'Jajar tengah' },
187
+ { value: 'align-bottom', css: 'vertical-align: bottom;', description: 'Bottom align', descriptionMs: 'Jajar bawah' },
188
+ { value: 'align-text-top', css: 'vertical-align: text-top;', description: 'Text top align', descriptionMs: 'Jajar atas teks' },
189
+ { value: 'align-text-bottom', css: 'vertical-align: text-bottom;', description: 'Text bottom align', descriptionMs: 'Jajar bawah teks' },
190
+ { value: 'align-sub', css: 'vertical-align: sub;', description: 'Subscript align', descriptionMs: 'Jajar subskrip' },
191
+ { value: 'align-super', css: 'vertical-align: super;', description: 'Superscript align', descriptionMs: 'Jajar superskrip' },
192
+
193
+ // List Style
194
+ { value: 'list-none', css: 'list-style-type: none;', description: 'No list style', descriptionMs: 'Tiada gaya senarai' },
195
+ { value: 'list-disc', css: 'list-style-type: disc;', description: 'Disc bullets', descriptionMs: 'Bullet bulat' },
196
+ { value: 'list-decimal', css: 'list-style-type: decimal;', description: 'Decimal numbers', descriptionMs: 'Nombor perpuluhan' },
197
+ { value: 'list-square', css: 'list-style-type: square;', description: 'Square bullets', descriptionMs: 'Bullet segi empat' },
198
+ { value: 'list-inside', css: 'list-style-position: inside;', description: 'Inside position', descriptionMs: 'Kedudukan dalam' },
199
+ { value: 'list-outside', css: 'list-style-position: outside;', description: 'Outside position', descriptionMs: 'Kedudukan luar' }
200
+ ],
201
+ examples: [
202
+ { code: '<span visual="italic">Italic text</span>', description: 'Italic' },
203
+ { code: '<span visual="uppercase">Uppercase</span>', description: 'Uppercase' },
204
+ { code: '<span visual="truncate">Truncated text...</span>', description: 'Truncate' }
205
+ ]
206
+ };
207
+
208
+ // ======================
209
+ // LETTER SPACING
210
+ // ======================
211
+
212
+ export const letterSpacing = {
213
+ name: 'letter-spacing',
214
+ property: 'visual',
215
+ syntax: 'visual="tracking:[value]"',
216
+ description: 'Set letter spacing',
217
+ descriptionMs: 'Tetapkan jarak huruf',
218
+ category: 'visual',
219
+ supportsArbitrary: true,
220
+ values: [
221
+ { value: 'tighter', css: 'letter-spacing: -0.05em;', description: 'Tighter spacing', descriptionMs: 'Jarak lebih ketat' },
222
+ { value: 'tight', css: 'letter-spacing: -0.025em;', description: 'Tight spacing', descriptionMs: 'Jarak ketat' },
223
+ { value: 'normal', css: 'letter-spacing: 0;', description: 'Normal spacing', descriptionMs: 'Jarak normal' },
224
+ { value: 'wide', css: 'letter-spacing: 0.025em;', description: 'Wide spacing', descriptionMs: 'Jarak luas' },
225
+ { value: 'wider', css: 'letter-spacing: 0.05em;', description: 'Wider spacing', descriptionMs: 'Jarak lebih luas' },
226
+ { value: 'widest', css: 'letter-spacing: 0.1em;', description: 'Widest spacing', descriptionMs: 'Jarak paling luas' }
227
+ ],
228
+ examples: [
229
+ { code: '<div visual="tracking:wide">Wide tracking</div>', description: 'Wide' }
230
+ ]
231
+ };
232
+
233
+ // ======================
234
+ // LINE HEIGHT
235
+ // ======================
236
+
237
+ export const lineHeight = {
238
+ name: 'line-height',
239
+ property: 'visual',
240
+ syntax: 'visual="leading:[value]"',
241
+ description: 'Set line height',
242
+ descriptionMs: 'Tetapkan ketinggian baris',
243
+ category: 'visual',
244
+ supportsArbitrary: true,
245
+ values: [
246
+ { value: 'none', css: 'line-height: 1;', description: 'No extra height', descriptionMs: 'Tiada ketinggian tambahan' },
247
+ { value: 'tight', css: 'line-height: 1.25;', description: 'Tight leading', descriptionMs: 'Peneraju ketat' },
248
+ { value: 'snug', css: 'line-height: 1.375;', description: 'Snug leading', descriptionMs: 'Peneraju ketat' },
249
+ { value: 'normal', css: 'line-height: 1.5;', description: 'Normal leading', descriptionMs: 'Peneraju normal' },
250
+ { value: 'relaxed', css: 'line-height: 1.625;', description: 'Relaxed leading', descriptionMs: 'Peneraju santai' },
251
+ { value: 'loose', css: 'line-height: 2;', description: 'Loose leading', descriptionMs: 'Peneraju longgar' }
252
+ ],
253
+ examples: [
254
+ { code: '<div visual="leading:relaxed">Relaxed line height</div>', description: 'Relaxed' }
255
+ ]
256
+ };
257
+
258
+ // ======================
259
+ // BORDER RADIUS
260
+ // ======================
261
+
262
+ export const borderRadius = {
263
+ name: 'border-radius',
264
+ property: 'visual',
265
+ syntax: 'visual="rounded:[value]"',
266
+ description: 'Set border radius',
267
+ descriptionMs: 'Tetapkan jejari sempadan',
268
+ category: 'visual',
269
+ usesScale: 'radius',
270
+ values: [
271
+ { value: 'none', css: 'border-radius: var(--r-none);', description: 'No rounding', descriptionMs: 'Tiada pembulatan' },
272
+ { value: 'small', css: 'border-radius: var(--r-small);', description: 'Small radius', descriptionMs: 'Jejari kecil' },
273
+ { value: 'medium', css: 'border-radius: var(--r-medium);', description: 'Medium radius', descriptionMs: 'Jejari sederhana' },
274
+ { value: 'big', css: 'border-radius: var(--r-big);', description: 'Large radius', descriptionMs: 'Jejari besar' },
275
+ { value: 'round', css: 'border-radius: var(--r-round);', description: 'Fully round', descriptionMs: 'Sepenuhnya bulat' }
276
+ ],
277
+ examples: [
278
+ { code: '<div visual="rounded:medium">Rounded corners</div>', description: 'Medium radius' },
279
+ { code: '<div visual="rounded:round">Pill shape</div>', description: 'Pill' }
280
+ ]
281
+ };
282
+
283
+ // ======================
284
+ // BOX SHADOW
285
+ // ======================
286
+
287
+ export const boxShadow = {
288
+ name: 'box-shadow',
289
+ property: 'visual',
290
+ syntax: 'visual="shadow:[value]"',
291
+ description: 'Add box shadow',
292
+ descriptionMs: 'Tambah bayang kotak',
293
+ category: 'visual',
294
+ usesScale: 'shadow',
295
+ values: [
296
+ { value: 'none', css: 'box-shadow: var(--shadow-none);', description: 'No shadow', descriptionMs: 'Tiada bayang' },
297
+ { value: 'small', css: 'box-shadow: var(--shadow-small);', description: 'Small shadow', descriptionMs: 'Bayang kecil' },
298
+ { value: 'medium', css: 'box-shadow: var(--shadow-medium);', description: 'Medium shadow', descriptionMs: 'Bayang sederhana' },
299
+ { value: 'big', css: 'box-shadow: var(--shadow-big);', description: 'Large shadow', descriptionMs: 'Bayang besar' },
300
+ { value: 'giant', css: 'box-shadow: var(--shadow-giant);', description: 'Giant shadow', descriptionMs: 'Bayang gergasi' }
301
+ ],
302
+ examples: [
303
+ { code: '<div visual="shadow:medium">Card with shadow</div>', description: 'Medium shadow' }
304
+ ]
305
+ };
306
+
307
+ // ======================
308
+ // OPACITY
309
+ // ======================
310
+
311
+ export const opacity = {
312
+ name: 'opacity',
313
+ property: 'visual',
314
+ syntax: 'visual="opacity:[value]"',
315
+ description: 'Set element opacity (0-100)',
316
+ descriptionMs: 'Tetapkan kelegapan elemen (0-100)',
317
+ category: 'visual',
318
+ dynamic: true,
319
+ values: [
320
+ { value: '0', css: 'opacity: 0;', description: 'Invisible', descriptionMs: 'Tidak kelihatan' },
321
+ { value: '25', css: 'opacity: 0.25;', description: '25% visible', descriptionMs: '25% kelihatan' },
322
+ { value: '50', css: 'opacity: 0.5;', description: '50% visible', descriptionMs: '50% kelihatan' },
323
+ { value: '75', css: 'opacity: 0.75;', description: '75% visible', descriptionMs: '75% kelihatan' },
324
+ { value: '100', css: 'opacity: 1;', description: 'Fully visible', descriptionMs: 'Sepenuhnya kelihatan' }
325
+ ],
326
+ examples: [
327
+ { code: '<div visual="opacity:50">Half visible</div>', description: '50% opacity' }
328
+ ]
329
+ };
330
+
331
+ // ======================
332
+ // BLUR
333
+ // ======================
334
+
335
+ export const blur = {
336
+ name: 'filter-blur',
337
+ property: 'visual',
338
+ syntax: 'visual="blur:[value]"',
339
+ description: 'Apply blur filter',
340
+ descriptionMs: 'Terapkan penapis kabur',
341
+ category: 'visual',
342
+ supportsArbitrary: true,
343
+ values: [
344
+ { value: 'none', css: 'filter: blur(0);', description: 'No blur', descriptionMs: 'Tiada kabur' },
345
+ { value: 'tiny', css: 'filter: blur(2px);', description: 'Tiny blur', descriptionMs: 'Kabur kecil' },
346
+ { value: 'small', css: 'filter: blur(4px);', description: 'Small blur', descriptionMs: 'Kabur kecil' },
347
+ { value: 'medium', css: 'filter: blur(8px);', description: 'Medium blur', descriptionMs: 'Kabur sederhana' },
348
+ { value: 'big', css: 'filter: blur(12px);', description: 'Large blur', descriptionMs: 'Kabur besar' },
349
+ { value: 'giant', css: 'filter: blur(24px);', description: 'Giant blur', descriptionMs: 'Kabur gergasi' },
350
+ { value: 'vast', css: 'filter: blur(48px);', description: 'Vast blur', descriptionMs: 'Kabur luas' }
351
+ ],
352
+ examples: [
353
+ { code: '<div visual="blur:medium">Blurred element</div>', description: 'Medium blur' }
354
+ ]
355
+ };
356
+
357
+ // ======================
358
+ // CURSOR
359
+ // ======================
360
+
361
+ export const cursor = {
362
+ name: 'cursor',
363
+ property: 'visual',
364
+ syntax: 'visual="cursor:[value]"',
365
+ description: 'Set cursor style',
366
+ descriptionMs: 'Tetapkan gaya kursor',
367
+ category: 'visual',
368
+ values: [
369
+ { value: 'auto', css: 'cursor: auto;', description: 'Auto cursor', descriptionMs: 'Kursor automatik' },
370
+ { value: 'default', css: 'cursor: default;', description: 'Default cursor', descriptionMs: 'Kursor lalai' },
371
+ { value: 'pointer', css: 'cursor: pointer;', description: 'Pointer cursor', descriptionMs: 'Kursor penunjuk' },
372
+ { value: 'wait', css: 'cursor: wait;', description: 'Wait cursor', descriptionMs: 'Kursor tunggu' },
373
+ { value: 'text', css: 'cursor: text;', description: 'Text cursor', descriptionMs: 'Kursor teks' },
374
+ { value: 'move', css: 'cursor: move;', description: 'Move cursor', descriptionMs: 'Kursor alih' },
375
+ { value: 'not-allowed', css: 'cursor: not-allowed;', description: 'Not allowed', descriptionMs: 'Tidak dibenarkan' },
376
+ { value: 'grab', css: 'cursor: grab;', description: 'Grab cursor', descriptionMs: 'Kursor genggam' },
377
+ { value: 'grabbing', css: 'cursor: grabbing;', description: 'Grabbing cursor', descriptionMs: 'Kursor menggenggam' }
378
+ ],
379
+ examples: [
380
+ { code: '<button visual="cursor:pointer">Clickable</button>', description: 'Pointer cursor' }
381
+ ]
382
+ };
383
+
384
+ // ======================
385
+ // USER SELECT
386
+ // ======================
387
+
388
+ export const userSelect = {
389
+ name: 'user-select',
390
+ property: 'visual',
391
+ syntax: 'visual="select:[value]"',
392
+ description: 'Control text selection',
393
+ descriptionMs: 'Kawal pemilihan teks',
394
+ category: 'visual',
395
+ values: [
396
+ { value: 'none', css: 'user-select: none;', description: 'Prevent selection', descriptionMs: 'Halang pemilihan' },
397
+ { value: 'text', css: 'user-select: text;', description: 'Allow text selection', descriptionMs: 'Benarkan pemilihan teks' },
398
+ { value: 'all', css: 'user-select: all;', description: 'Select all on click', descriptionMs: 'Pilih semua pada klik' },
399
+ { value: 'auto', css: 'user-select: auto;', description: 'Default behavior', descriptionMs: 'Kelakuan lalai' }
400
+ ],
401
+ examples: [
402
+ { code: '<div visual="select:none">Cannot select this text</div>', description: 'Prevent selection' }
403
+ ]
404
+ };
405
+
406
+ // ======================
407
+ // POINTER EVENTS
408
+ // ======================
409
+
410
+ export const pointerEvents = {
411
+ name: 'pointer-events',
412
+ property: 'visual',
413
+ syntax: 'visual="pointer-events:[value]"',
414
+ description: 'Control pointer events',
415
+ descriptionMs: 'Kawal peristiwa penunjuk',
416
+ category: 'visual',
417
+ values: [
418
+ { value: 'none', css: 'pointer-events: none;', description: 'Ignore pointer events', descriptionMs: 'Abaikan peristiwa penunjuk' },
419
+ { value: 'auto', css: 'pointer-events: auto;', description: 'Normal pointer events', descriptionMs: 'Peristiwa penunjuk normal' }
420
+ ],
421
+ examples: [
422
+ { code: '<div visual="pointer-events:none">Click through</div>', description: 'Click through element' }
423
+ ]
424
+ };
425
+
426
+ // ======================
427
+ // MIX BLEND MODE
428
+ // ======================
429
+
430
+ export const mixBlendMode = {
431
+ name: 'blend-modes',
432
+ property: 'visual',
433
+ syntax: 'visual="mix-blend:[value]"',
434
+ description: 'Set mix blend mode',
435
+ descriptionMs: 'Tetapkan mod campuran',
436
+ category: 'visual',
437
+ values: [
438
+ { value: 'normal', css: 'mix-blend-mode: normal;', description: 'Normal blend', descriptionMs: 'Campuran normal' },
439
+ { value: 'multiply', css: 'mix-blend-mode: multiply;', description: 'Multiply blend', descriptionMs: 'Campuran darab' },
440
+ { value: 'screen', css: 'mix-blend-mode: screen;', description: 'Screen blend', descriptionMs: 'Campuran skrin' },
441
+ { value: 'overlay', css: 'mix-blend-mode: overlay;', description: 'Overlay blend', descriptionMs: 'Campuran tindanan' },
442
+ { value: 'darken', css: 'mix-blend-mode: darken;', description: 'Darken blend', descriptionMs: 'Campuran gelap' },
443
+ { value: 'lighten', css: 'mix-blend-mode: lighten;', description: 'Lighten blend', descriptionMs: 'Campuran cerah' }
444
+ ],
445
+ examples: [
446
+ { code: '<div visual="mix-blend:multiply">Multiply blend</div>', description: 'Multiply blend mode' }
447
+ ]
448
+ };
449
+
450
+ // ======================
451
+ // ACCENT COLOR
452
+ // ======================
453
+
454
+ export const accentColor = {
455
+ name: 'accent-color',
456
+ property: 'visual',
457
+ syntax: 'visual="accent:[color]"',
458
+ description: 'Set accent color for form controls',
459
+ descriptionMs: 'Tetapkan warna aksen untuk kawalan borang',
460
+ category: 'visual',
461
+ usesScale: 'colors',
462
+ supportsArbitrary: true,
463
+ values: [],
464
+ examples: [
465
+ { code: '<input type="checkbox" visual="accent:primary">', description: 'Primary accent' }
466
+ ]
467
+ };
468
+
469
+ // ======================
470
+ // CARET COLOR
471
+ // ======================
472
+
473
+ export const caretColor = {
474
+ name: 'caret-color',
475
+ property: 'visual',
476
+ syntax: 'visual="caret:[color]"',
477
+ description: 'Set text input caret color',
478
+ descriptionMs: 'Tetapkan warna karet input teks',
479
+ category: 'visual',
480
+ usesScale: 'colors',
481
+ supportsArbitrary: true,
482
+ values: [],
483
+ examples: [
484
+ { code: '<input visual="caret:primary">', description: 'Primary caret' }
485
+ ]
486
+ };
487
+
488
+ // ======================
489
+ // APPEARANCE
490
+ // ======================
491
+
492
+ export const appearance = {
493
+ name: 'appearance',
494
+ property: 'visual',
495
+ syntax: 'visual="appearance:[value]"',
496
+ description: 'Control native appearance',
497
+ descriptionMs: 'Kawal penampilan asli',
498
+ category: 'visual',
499
+ values: [
500
+ { value: 'none', css: 'appearance: none;', description: 'Remove native styling', descriptionMs: 'Buang gaya asli' },
501
+ { value: 'auto', css: 'appearance: auto;', description: 'Default appearance', descriptionMs: 'Penampilan lalai' }
502
+ ],
503
+ examples: [
504
+ { code: '<select visual="appearance:none">Custom select</select>', description: 'Remove native styling' }
505
+ ]
506
+ };
507
+
508
+ // Export all visual definitions
509
+ export const visualDefinitions = {
510
+ backgroundColor,
511
+ textColor,
512
+ fontSize,
513
+ fontWeight,
514
+ fontFamily,
515
+ typographyKeywords,
516
+ letterSpacing,
517
+ lineHeight,
518
+ borderRadius,
519
+ boxShadow,
520
+ opacity,
521
+ blur,
522
+ cursor,
523
+ userSelect,
524
+ pointerEvents,
525
+ mixBlendMode,
526
+ accentColor,
527
+ caretColor,
528
+ appearance
529
+ };
530
+
531
+ // Build typography keywords map for CSS generator
532
+ export function buildTypographyKeywordsMap() {
533
+ const map = {};
534
+
535
+ for (const v of typographyKeywords.values) {
536
+ map[v.value] = v.css;
537
+ }
538
+
539
+ return map;
540
+ }
541
+
542
+ export default visualDefinitions;