@bookklik/senangstart-css 0.1.3 → 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 (482) hide show
  1. package/.github/workflows/deploy-docs.yml +7 -1
  2. package/dist/senangstart-css.js +1473 -21
  3. package/dist/senangstart-css.min.js +1182 -12
  4. package/docs/.vitepress/config.js +769 -71
  5. package/docs/SYNTAX-REFERENCE.md +1555 -0
  6. package/docs/guide/dark-mode.md +152 -0
  7. package/docs/guide/preflight.md +139 -0
  8. package/docs/ms/examples/cards.md +116 -0
  9. package/docs/ms/examples/forms.md +207 -0
  10. package/docs/ms/examples/hero.md +150 -0
  11. package/docs/ms/examples/index.md +87 -0
  12. package/docs/ms/examples/navigation.md +144 -0
  13. package/docs/ms/guide/cdn.md +110 -0
  14. package/docs/ms/guide/cli.md +174 -0
  15. package/docs/ms/guide/configuration.md +152 -0
  16. package/docs/ms/guide/dark-mode.md +152 -0
  17. package/docs/ms/guide/getting-started.md +130 -0
  18. package/docs/ms/guide/index.md +64 -0
  19. package/docs/ms/guide/natural-scale.md +123 -0
  20. package/docs/ms/guide/philosophy.md +103 -0
  21. package/docs/ms/guide/preflight.md +139 -0
  22. package/docs/ms/guide/responsive.md +129 -0
  23. package/docs/ms/guide/states.md +162 -0
  24. package/docs/ms/guide/tri-attribute.md +187 -0
  25. package/docs/ms/index.md +64 -0
  26. package/docs/ms/reference/breakpoints.md +131 -0
  27. package/docs/ms/reference/colors.md +126 -0
  28. package/docs/ms/reference/layout/align-content.md +35 -0
  29. package/docs/ms/reference/layout/align-items.md +33 -0
  30. package/docs/ms/reference/layout/align-self.md +34 -0
  31. package/docs/ms/reference/layout/aspect-ratio.md +40 -0
  32. package/docs/ms/reference/layout/border-collapse.md +30 -0
  33. package/docs/ms/reference/layout/border-spacing.md +39 -0
  34. package/docs/ms/reference/layout/box-sizing.md +30 -0
  35. package/docs/ms/reference/layout/caption-side.md +30 -0
  36. package/docs/ms/reference/layout/columns.md +30 -0
  37. package/docs/ms/reference/layout/container.md +29 -0
  38. package/docs/ms/reference/layout/display.md +60 -0
  39. package/docs/ms/reference/layout/flex-basis.md +38 -0
  40. package/docs/ms/reference/layout/flex-direction.md +33 -0
  41. package/docs/ms/reference/layout/flex-items.md +32 -0
  42. package/docs/ms/reference/layout/flex-wrap.md +31 -0
  43. package/docs/ms/reference/layout/flex.md +40 -0
  44. package/docs/ms/reference/layout/float-clear.md +32 -0
  45. package/docs/ms/reference/layout/grid-auto-flow.md +33 -0
  46. package/docs/ms/reference/layout/grid-auto-sizing.md +32 -0
  47. package/docs/ms/reference/layout/grid-column-span.md +31 -0
  48. package/docs/ms/reference/layout/grid-columns.md +32 -0
  49. package/docs/ms/reference/layout/grid-row-span.md +30 -0
  50. package/docs/ms/reference/layout/grid-rows.md +31 -0
  51. package/docs/ms/reference/layout/inset.md +44 -0
  52. package/docs/ms/reference/layout/isolation.md +30 -0
  53. package/docs/ms/reference/layout/justify-content.md +36 -0
  54. package/docs/ms/reference/layout/justify-items.md +32 -0
  55. package/docs/ms/reference/layout/justify-self.md +33 -0
  56. package/docs/ms/reference/layout/object-fit.md +33 -0
  57. package/docs/ms/reference/layout/object-position.md +45 -0
  58. package/docs/ms/reference/layout/order.md +32 -0
  59. package/docs/ms/reference/layout/overflow.md +34 -0
  60. package/docs/ms/reference/layout/overscroll.md +31 -0
  61. package/docs/ms/reference/layout/place-content.md +35 -0
  62. package/docs/ms/reference/layout/place-items.md +32 -0
  63. package/docs/ms/reference/layout/place-self.md +33 -0
  64. package/docs/ms/reference/layout/position.md +34 -0
  65. package/docs/ms/reference/layout/shorthand-alignment.md +34 -0
  66. package/docs/ms/reference/layout/table-layout.md +30 -0
  67. package/docs/ms/reference/layout/visibility.md +30 -0
  68. package/docs/ms/reference/layout/z-index.md +33 -0
  69. package/docs/ms/reference/layout.md +73 -0
  70. package/docs/ms/reference/space/arbitrary-values.md +32 -0
  71. package/docs/ms/reference/space/gap.md +44 -0
  72. package/docs/ms/reference/space/height.md +44 -0
  73. package/docs/ms/reference/space/margin.md +49 -0
  74. package/docs/ms/reference/space/padding.md +49 -0
  75. package/docs/ms/reference/space/scale-reference.md +43 -0
  76. package/docs/ms/reference/space/sizing.md +27 -0
  77. package/docs/ms/reference/space/width.md +45 -0
  78. package/docs/ms/reference/space.md +37 -0
  79. package/docs/ms/reference/spacing.md +88 -0
  80. package/docs/ms/reference/visual/accent-color.md +31 -0
  81. package/docs/ms/reference/visual/animation-builtin.md +41 -0
  82. package/docs/ms/reference/visual/animation-delay.md +41 -0
  83. package/docs/ms/reference/visual/animation-direction.md +32 -0
  84. package/docs/ms/reference/visual/animation-duration.md +43 -0
  85. package/docs/ms/reference/visual/animation-fill.md +32 -0
  86. package/docs/ms/reference/visual/animation-iteration.md +30 -0
  87. package/docs/ms/reference/visual/animation-play.md +30 -0
  88. package/docs/ms/reference/visual/appearance.md +30 -0
  89. package/docs/ms/reference/visual/backdrop-blur.md +43 -0
  90. package/docs/ms/reference/visual/backdrop-brightness.md +41 -0
  91. package/docs/ms/reference/visual/backdrop-contrast.md +41 -0
  92. package/docs/ms/reference/visual/backdrop-grayscale.md +39 -0
  93. package/docs/ms/reference/visual/backdrop-hue-rotate.md +39 -0
  94. package/docs/ms/reference/visual/backdrop-invert.md +39 -0
  95. package/docs/ms/reference/visual/backdrop-opacity.md +39 -0
  96. package/docs/ms/reference/visual/backdrop-saturate.md +41 -0
  97. package/docs/ms/reference/visual/backdrop-sepia.md +39 -0
  98. package/docs/ms/reference/visual/background-attachment.md +31 -0
  99. package/docs/ms/reference/visual/background-blend-mode.md +34 -0
  100. package/docs/ms/reference/visual/background-clip.md +32 -0
  101. package/docs/ms/reference/visual/background-color.md +33 -0
  102. package/docs/ms/reference/visual/background-image.md +41 -0
  103. package/docs/ms/reference/visual/background-origin.md +31 -0
  104. package/docs/ms/reference/visual/background-position.md +45 -0
  105. package/docs/ms/reference/visual/background-repeat.md +34 -0
  106. package/docs/ms/reference/visual/background-size.md +39 -0
  107. package/docs/ms/reference/visual/background.md +13 -0
  108. package/docs/ms/reference/visual/blend-modes.md +34 -0
  109. package/docs/ms/reference/visual/border-radius.md +34 -0
  110. package/docs/ms/reference/visual/border-style.md +33 -0
  111. package/docs/ms/reference/visual/border-width.md +44 -0
  112. package/docs/ms/reference/visual/border.md +43 -0
  113. package/docs/ms/reference/visual/box-shadow.md +33 -0
  114. package/docs/ms/reference/visual/caret-color.md +31 -0
  115. package/docs/ms/reference/visual/color-scheme.md +31 -0
  116. package/docs/ms/reference/visual/cursor.md +37 -0
  117. package/docs/ms/reference/visual/field-sizing.md +30 -0
  118. package/docs/ms/reference/visual/fill.md +38 -0
  119. package/docs/ms/reference/visual/filter-blur.md +43 -0
  120. package/docs/ms/reference/visual/filter-brightness.md +41 -0
  121. package/docs/ms/reference/visual/filter-contrast.md +41 -0
  122. package/docs/ms/reference/visual/filter-drop-shadow.md +42 -0
  123. package/docs/ms/reference/visual/filter-grayscale.md +39 -0
  124. package/docs/ms/reference/visual/filter-hue-rotate.md +39 -0
  125. package/docs/ms/reference/visual/filter-invert.md +39 -0
  126. package/docs/ms/reference/visual/filter-saturate.md +41 -0
  127. package/docs/ms/reference/visual/filter-sepia.md +39 -0
  128. package/docs/ms/reference/visual/font-family.md +31 -0
  129. package/docs/ms/reference/visual/font-smoothing.md +30 -0
  130. package/docs/ms/reference/visual/font-style.md +30 -0
  131. package/docs/ms/reference/visual/font-variant-numeric.md +35 -0
  132. package/docs/ms/reference/visual/font-weight.md +31 -0
  133. package/docs/ms/reference/visual/forced-color-adjust.md +30 -0
  134. package/docs/ms/reference/visual/hyphens.md +31 -0
  135. package/docs/ms/reference/visual/letter-spacing.md +42 -0
  136. package/docs/ms/reference/visual/line-clamp.md +40 -0
  137. package/docs/ms/reference/visual/line-height.md +42 -0
  138. package/docs/ms/reference/visual/list-style.md +34 -0
  139. package/docs/ms/reference/visual/mask.md +39 -0
  140. package/docs/ms/reference/visual/opacity.md +33 -0
  141. package/docs/ms/reference/visual/outline.md +31 -0
  142. package/docs/ms/reference/visual/pointer-events.md +30 -0
  143. package/docs/ms/reference/visual/resize.md +32 -0
  144. package/docs/ms/reference/visual/scroll-behavior.md +30 -0
  145. package/docs/ms/reference/visual/scroll-margin.md +41 -0
  146. package/docs/ms/reference/visual/scroll-padding.md +41 -0
  147. package/docs/ms/reference/visual/scroll-snap-align.md +32 -0
  148. package/docs/ms/reference/visual/scroll-snap-stop.md +30 -0
  149. package/docs/ms/reference/visual/scroll-snap-type.md +34 -0
  150. package/docs/ms/reference/visual/state-prefixes.md +37 -0
  151. package/docs/ms/reference/visual/stroke-width.md +39 -0
  152. package/docs/ms/reference/visual/stroke.md +38 -0
  153. package/docs/ms/reference/visual/text-alignment.md +32 -0
  154. package/docs/ms/reference/visual/text-color.md +41 -0
  155. package/docs/ms/reference/visual/text-decoration.md +32 -0
  156. package/docs/ms/reference/visual/text-indent.md +37 -0
  157. package/docs/ms/reference/visual/text-overflow.md +31 -0
  158. package/docs/ms/reference/visual/text-shadow.md +40 -0
  159. package/docs/ms/reference/visual/text-size.md +32 -0
  160. package/docs/ms/reference/visual/text-transform.md +32 -0
  161. package/docs/ms/reference/visual/text-wrap.md +32 -0
  162. package/docs/ms/reference/visual/touch-action.md +36 -0
  163. package/docs/ms/reference/visual/transform-backface.md +30 -0
  164. package/docs/ms/reference/visual/transform-origin.md +45 -0
  165. package/docs/ms/reference/visual/transform-perspective-origin.md +45 -0
  166. package/docs/ms/reference/visual/transform-perspective.md +43 -0
  167. package/docs/ms/reference/visual/transform-rotate.md +40 -0
  168. package/docs/ms/reference/visual/transform-scale.md +43 -0
  169. package/docs/ms/reference/visual/transform-skew.md +40 -0
  170. package/docs/ms/reference/visual/transform-style.md +30 -0
  171. package/docs/ms/reference/visual/transform-translate.md +39 -0
  172. package/docs/ms/reference/visual/transition-delay.md +41 -0
  173. package/docs/ms/reference/visual/transition-duration.md +43 -0
  174. package/docs/ms/reference/visual/transition-property.md +34 -0
  175. package/docs/ms/reference/visual/transition-timing.md +40 -0
  176. package/docs/ms/reference/visual/typography-keywords.md +81 -0
  177. package/docs/ms/reference/visual/user-select.md +32 -0
  178. package/docs/ms/reference/visual/vertical-align.md +36 -0
  179. package/docs/ms/reference/visual/whitespace.md +34 -0
  180. package/docs/ms/reference/visual/will-change.md +33 -0
  181. package/docs/ms/reference/visual/word-break.md +32 -0
  182. package/docs/ms/reference/visual.md +157 -0
  183. package/docs/public/assets/senangstart-css.min.js +1545 -0
  184. package/docs/reference/layout/align-content.md +35 -0
  185. package/docs/reference/layout/align-items.md +33 -0
  186. package/docs/reference/layout/align-self.md +34 -0
  187. package/docs/reference/layout/aspect-ratio.md +40 -0
  188. package/docs/reference/layout/border-collapse.md +30 -0
  189. package/docs/reference/layout/border-spacing.md +39 -0
  190. package/docs/reference/layout/box-sizing.md +30 -0
  191. package/docs/reference/layout/caption-side.md +30 -0
  192. package/docs/reference/layout/columns.md +30 -0
  193. package/docs/reference/layout/container.md +29 -0
  194. package/docs/reference/layout/display.md +60 -0
  195. package/docs/reference/layout/flex-basis.md +38 -0
  196. package/docs/reference/layout/flex-direction.md +33 -0
  197. package/docs/reference/layout/flex-items.md +32 -0
  198. package/docs/reference/layout/flex-wrap.md +31 -0
  199. package/docs/reference/layout/flex.md +40 -0
  200. package/docs/reference/layout/float-clear.md +32 -0
  201. package/docs/reference/layout/grid-auto-flow.md +33 -0
  202. package/docs/reference/layout/grid-auto-sizing.md +32 -0
  203. package/docs/reference/layout/grid-column-span.md +31 -0
  204. package/docs/reference/layout/grid-columns.md +32 -0
  205. package/docs/reference/layout/grid-row-span.md +30 -0
  206. package/docs/reference/layout/grid-rows.md +31 -0
  207. package/docs/reference/layout/inset.md +44 -0
  208. package/docs/reference/layout/isolation.md +30 -0
  209. package/docs/reference/layout/justify-content.md +36 -0
  210. package/docs/reference/layout/justify-items.md +32 -0
  211. package/docs/reference/layout/justify-self.md +33 -0
  212. package/docs/reference/layout/object-fit.md +33 -0
  213. package/docs/reference/layout/object-position.md +45 -0
  214. package/docs/reference/layout/order.md +32 -0
  215. package/docs/reference/layout/overflow.md +34 -0
  216. package/docs/reference/layout/overscroll.md +31 -0
  217. package/docs/reference/layout/place-content.md +35 -0
  218. package/docs/reference/layout/place-items.md +32 -0
  219. package/docs/reference/layout/place-self.md +33 -0
  220. package/docs/reference/layout/position.md +34 -0
  221. package/docs/reference/layout/shorthand-alignment.md +34 -0
  222. package/docs/reference/layout/table-layout.md +30 -0
  223. package/docs/reference/layout/visibility.md +30 -0
  224. package/docs/reference/layout/z-index.md +33 -0
  225. package/docs/reference/layout.md +60 -102
  226. package/docs/reference/space/arbitrary-values.md +39 -0
  227. package/docs/reference/space/gap.md +44 -0
  228. package/docs/reference/space/height.md +44 -0
  229. package/docs/reference/space/margin.md +49 -0
  230. package/docs/reference/space/padding.md +49 -0
  231. package/docs/reference/space/scale-reference.md +43 -0
  232. package/docs/reference/space/width.md +45 -0
  233. package/docs/reference/space.md +14 -98
  234. package/docs/reference/spacing.md +22 -8
  235. package/docs/reference/visual/accent-color.md +31 -0
  236. package/docs/reference/visual/animation-builtin.md +41 -0
  237. package/docs/reference/visual/animation-delay.md +41 -0
  238. package/docs/reference/visual/animation-direction.md +32 -0
  239. package/docs/reference/visual/animation-duration.md +43 -0
  240. package/docs/reference/visual/animation-fill.md +32 -0
  241. package/docs/reference/visual/animation-iteration.md +30 -0
  242. package/docs/reference/visual/animation-play.md +30 -0
  243. package/docs/reference/visual/appearance.md +30 -0
  244. package/docs/reference/visual/backdrop-blur.md +43 -0
  245. package/docs/reference/visual/backdrop-brightness.md +41 -0
  246. package/docs/reference/visual/backdrop-contrast.md +41 -0
  247. package/docs/reference/visual/backdrop-grayscale.md +39 -0
  248. package/docs/reference/visual/backdrop-hue-rotate.md +39 -0
  249. package/docs/reference/visual/backdrop-invert.md +39 -0
  250. package/docs/reference/visual/backdrop-opacity.md +39 -0
  251. package/docs/reference/visual/backdrop-saturate.md +41 -0
  252. package/docs/reference/visual/backdrop-sepia.md +39 -0
  253. package/docs/reference/visual/background-attachment.md +31 -0
  254. package/docs/reference/visual/background-blend-mode.md +34 -0
  255. package/docs/reference/visual/background-clip.md +32 -0
  256. package/docs/reference/visual/background-color.md +33 -0
  257. package/docs/reference/visual/background-image.md +41 -0
  258. package/docs/reference/visual/background-origin.md +31 -0
  259. package/docs/reference/visual/background-position.md +45 -0
  260. package/docs/reference/visual/background-repeat.md +34 -0
  261. package/docs/reference/visual/background-size.md +39 -0
  262. package/docs/reference/visual/blend-modes.md +34 -0
  263. package/docs/reference/visual/border-radius.md +34 -0
  264. package/docs/reference/visual/border-style.md +33 -0
  265. package/docs/reference/visual/border-width.md +44 -0
  266. package/docs/reference/visual/border.md +43 -0
  267. package/docs/reference/visual/box-shadow.md +33 -0
  268. package/docs/reference/visual/caret-color.md +31 -0
  269. package/docs/reference/visual/color-scheme.md +31 -0
  270. package/docs/reference/visual/cursor.md +37 -0
  271. package/docs/reference/visual/field-sizing.md +30 -0
  272. package/docs/reference/visual/fill.md +38 -0
  273. package/docs/reference/visual/filter-blur.md +43 -0
  274. package/docs/reference/visual/filter-brightness.md +41 -0
  275. package/docs/reference/visual/filter-contrast.md +41 -0
  276. package/docs/reference/visual/filter-drop-shadow.md +42 -0
  277. package/docs/reference/visual/filter-grayscale.md +39 -0
  278. package/docs/reference/visual/filter-hue-rotate.md +39 -0
  279. package/docs/reference/visual/filter-invert.md +39 -0
  280. package/docs/reference/visual/filter-saturate.md +41 -0
  281. package/docs/reference/visual/filter-sepia.md +39 -0
  282. package/docs/reference/visual/font-family.md +31 -0
  283. package/docs/reference/visual/font-smoothing.md +30 -0
  284. package/docs/reference/visual/font-style.md +30 -0
  285. package/docs/reference/visual/font-variant-numeric.md +35 -0
  286. package/docs/reference/visual/font-weight.md +31 -0
  287. package/docs/reference/visual/forced-color-adjust.md +30 -0
  288. package/docs/reference/visual/hyphens.md +31 -0
  289. package/docs/reference/visual/letter-spacing.md +42 -0
  290. package/docs/reference/visual/line-clamp.md +40 -0
  291. package/docs/reference/visual/line-height.md +42 -0
  292. package/docs/reference/visual/list-style.md +34 -0
  293. package/docs/reference/visual/mask.md +39 -0
  294. package/docs/reference/visual/opacity.md +33 -0
  295. package/docs/reference/visual/outline.md +31 -0
  296. package/docs/reference/visual/pointer-events.md +30 -0
  297. package/docs/reference/visual/resize.md +32 -0
  298. package/docs/reference/visual/scroll-behavior.md +30 -0
  299. package/docs/reference/visual/scroll-margin.md +41 -0
  300. package/docs/reference/visual/scroll-padding.md +41 -0
  301. package/docs/reference/visual/scroll-snap-align.md +32 -0
  302. package/docs/reference/visual/scroll-snap-stop.md +30 -0
  303. package/docs/reference/visual/scroll-snap-type.md +34 -0
  304. package/docs/reference/visual/state-prefixes.md +37 -0
  305. package/docs/reference/visual/stroke-width.md +39 -0
  306. package/docs/reference/visual/stroke.md +38 -0
  307. package/docs/reference/visual/text-alignment.md +32 -0
  308. package/docs/reference/visual/text-color.md +41 -0
  309. package/docs/reference/visual/text-decoration.md +32 -0
  310. package/docs/reference/visual/text-indent.md +37 -0
  311. package/docs/reference/visual/text-overflow.md +31 -0
  312. package/docs/reference/visual/text-shadow.md +40 -0
  313. package/docs/reference/visual/text-size.md +32 -0
  314. package/docs/reference/visual/text-transform.md +32 -0
  315. package/docs/reference/visual/text-wrap.md +32 -0
  316. package/docs/reference/visual/touch-action.md +36 -0
  317. package/docs/reference/visual/transform-backface.md +30 -0
  318. package/docs/reference/visual/transform-origin.md +45 -0
  319. package/docs/reference/visual/transform-perspective-origin.md +45 -0
  320. package/docs/reference/visual/transform-perspective.md +43 -0
  321. package/docs/reference/visual/transform-rotate.md +40 -0
  322. package/docs/reference/visual/transform-scale.md +43 -0
  323. package/docs/reference/visual/transform-skew.md +40 -0
  324. package/docs/reference/visual/transform-style.md +30 -0
  325. package/docs/reference/visual/transform-translate.md +39 -0
  326. package/docs/reference/visual/transition-delay.md +41 -0
  327. package/docs/reference/visual/transition-duration.md +43 -0
  328. package/docs/reference/visual/transition-property.md +34 -0
  329. package/docs/reference/visual/transition-timing.md +40 -0
  330. package/docs/reference/visual/typography-keywords.md +81 -0
  331. package/docs/reference/visual/user-select.md +32 -0
  332. package/docs/reference/visual/vertical-align.md +36 -0
  333. package/docs/reference/visual/whitespace.md +34 -0
  334. package/docs/reference/visual/will-change.md +33 -0
  335. package/docs/reference/visual/word-break.md +32 -0
  336. package/docs/reference/visual.md +151 -154
  337. package/docs/syntax-reference.json +1973 -0
  338. package/package.json +10 -2
  339. package/playground/index.html +78 -0
  340. package/playground/jit-test.html +384 -0
  341. package/scripts/extract-syntax.js +152 -0
  342. package/scripts/generate-docs.js +352 -0
  343. package/src/cdn/jit.js +1473 -21
  344. package/src/cli/commands/build.js +5 -0
  345. package/src/cli/index.js +2 -0
  346. package/src/compiler/generators/css.js +1594 -30
  347. package/src/compiler/generators/preflight.js +379 -0
  348. package/src/compiler/tokenizer.js +1 -1
  349. package/src/config/defaults.js +25 -1
  350. package/src/definitions/index.js +153 -0
  351. package/src/definitions/layout-alignment.js +257 -0
  352. package/src/definitions/layout-flex.js +209 -0
  353. package/src/definitions/layout-grid.js +150 -0
  354. package/src/definitions/layout-positioning.js +89 -0
  355. package/src/definitions/layout-table.js +98 -0
  356. package/src/definitions/layout-utilities.js +262 -0
  357. package/src/definitions/layout.js +195 -0
  358. package/src/definitions/space.js +164 -0
  359. package/src/definitions/visual-backgrounds.js +423 -0
  360. package/src/definitions/visual-borders.js +111 -0
  361. package/src/definitions/visual-filters.js +204 -0
  362. package/src/definitions/visual-interactivity.js +292 -0
  363. package/src/definitions/visual-svg.js +80 -0
  364. package/src/definitions/visual-transform3d.js +159 -0
  365. package/src/definitions/visual-transforms.js +142 -0
  366. package/src/definitions/visual-transitions.js +277 -0
  367. package/src/definitions/visual-typography.js +386 -0
  368. package/src/definitions/visual.js +542 -0
  369. package/tests/helpers/test-utils.js +144 -0
  370. package/tests/integration/compiler.test.js +247 -0
  371. package/tests/sync/docs-sync.test.js +364 -0
  372. package/tests/unit/compiler/generators/css.test.js +719 -0
  373. package/tests/unit/compiler/parser.test.js +244 -0
  374. package/tests/unit/compiler/tokenizer.test.js +305 -0
  375. package/tests/unit/config/defaults.test.js +168 -0
  376. package/docs/.vitepress/cache/deps/_metadata.json +0 -52
  377. package/docs/.vitepress/cache/deps/chunk-2CLQ7TTZ.js +0 -9719
  378. package/docs/.vitepress/cache/deps/chunk-2CLQ7TTZ.js.map +0 -7
  379. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js +0 -12824
  380. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js.map +0 -7
  381. package/docs/.vitepress/cache/deps/package.json +0 -3
  382. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +0 -4505
  383. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +0 -7
  384. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +0 -583
  385. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +0 -7
  386. package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +0 -1333
  387. package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map +0 -7
  388. package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +0 -1665
  389. package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map +0 -7
  390. package/docs/.vitepress/cache/deps/vitepress___minisearch.js +0 -1813
  391. package/docs/.vitepress/cache/deps/vitepress___minisearch.js.map +0 -7
  392. package/docs/.vitepress/cache/deps/vue.js +0 -347
  393. package/docs/.vitepress/cache/deps/vue.js.map +0 -7
  394. package/docs/.vitepress/dist/404.html +0 -22
  395. package/docs/.vitepress/dist/assets/app.CwVZm472.js +0 -1
  396. package/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.BTWwOmXN.js +0 -1
  397. package/docs/.vitepress/dist/assets/chunks/VPLocalSearchBox.B-RMQ_ux.js +0 -9
  398. package/docs/.vitepress/dist/assets/chunks/framework.qISVh_QZ.js +0 -19
  399. package/docs/.vitepress/dist/assets/chunks/theme.B37_rtT6.js +0 -2
  400. package/docs/.vitepress/dist/assets/examples_cards.md.D4i0phvj.js +0 -84
  401. package/docs/.vitepress/dist/assets/examples_cards.md.D4i0phvj.lean.js +0 -1
  402. package/docs/.vitepress/dist/assets/examples_forms.md.BnsjqHST.js +0 -169
  403. package/docs/.vitepress/dist/assets/examples_forms.md.BnsjqHST.lean.js +0 -1
  404. package/docs/.vitepress/dist/assets/examples_hero.md.CCcb2x8Y.js +0 -118
  405. package/docs/.vitepress/dist/assets/examples_hero.md.CCcb2x8Y.lean.js +0 -1
  406. package/docs/.vitepress/dist/assets/examples_index.md.Dj7lqhZt.js +0 -52
  407. package/docs/.vitepress/dist/assets/examples_index.md.Dj7lqhZt.lean.js +0 -1
  408. package/docs/.vitepress/dist/assets/examples_navigation.md.CppyHbnP.js +0 -106
  409. package/docs/.vitepress/dist/assets/examples_navigation.md.CppyHbnP.lean.js +0 -1
  410. package/docs/.vitepress/dist/assets/guide_cdn.md.BzsOep2E.js +0 -30
  411. package/docs/.vitepress/dist/assets/guide_cdn.md.BzsOep2E.lean.js +0 -1
  412. package/docs/.vitepress/dist/assets/guide_cli.md.zXEKk-bu.js +0 -44
  413. package/docs/.vitepress/dist/assets/guide_cli.md.zXEKk-bu.lean.js +0 -1
  414. package/docs/.vitepress/dist/assets/guide_configuration.md.D2JZzhKm.js +0 -79
  415. package/docs/.vitepress/dist/assets/guide_configuration.md.D2JZzhKm.lean.js +0 -1
  416. package/docs/.vitepress/dist/assets/guide_getting-started.md.to1dkMR9.js +0 -47
  417. package/docs/.vitepress/dist/assets/guide_getting-started.md.to1dkMR9.lean.js +0 -1
  418. package/docs/.vitepress/dist/assets/guide_index.md.C1xk2lBl.js +0 -3
  419. package/docs/.vitepress/dist/assets/guide_index.md.C1xk2lBl.lean.js +0 -1
  420. package/docs/.vitepress/dist/assets/guide_natural-scale.md.D1oVRN5V.js +0 -22
  421. package/docs/.vitepress/dist/assets/guide_natural-scale.md.D1oVRN5V.lean.js +0 -1
  422. package/docs/.vitepress/dist/assets/guide_philosophy.md.DPyyMH8d.js +0 -7
  423. package/docs/.vitepress/dist/assets/guide_philosophy.md.DPyyMH8d.lean.js +0 -1
  424. package/docs/.vitepress/dist/assets/guide_responsive.md.wksOAMT5.js +0 -57
  425. package/docs/.vitepress/dist/assets/guide_responsive.md.wksOAMT5.lean.js +0 -1
  426. package/docs/.vitepress/dist/assets/guide_states.md.DRjYOZDJ.js +0 -77
  427. package/docs/.vitepress/dist/assets/guide_states.md.DRjYOZDJ.lean.js +0 -1
  428. package/docs/.vitepress/dist/assets/guide_tri-attribute.md.CoFqfmPZ.js +0 -45
  429. package/docs/.vitepress/dist/assets/guide_tri-attribute.md.CoFqfmPZ.lean.js +0 -1
  430. package/docs/.vitepress/dist/assets/index.md.CUZJzNzP.js +0 -7
  431. package/docs/.vitepress/dist/assets/index.md.CUZJzNzP.lean.js +0 -1
  432. package/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  433. package/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  434. package/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  435. package/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  436. package/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  437. package/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  438. package/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  439. package/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  440. package/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  441. package/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  442. package/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  443. package/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  444. package/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  445. package/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  446. package/docs/.vitepress/dist/assets/reference_breakpoints.md.BEhuwXBS.js +0 -48
  447. package/docs/.vitepress/dist/assets/reference_breakpoints.md.BEhuwXBS.lean.js +0 -1
  448. package/docs/.vitepress/dist/assets/reference_colors.md.o5ltImYJ.js +0 -17
  449. package/docs/.vitepress/dist/assets/reference_colors.md.o5ltImYJ.lean.js +0 -1
  450. package/docs/.vitepress/dist/assets/reference_layout.md.DqSoofMZ.js +0 -13
  451. package/docs/.vitepress/dist/assets/reference_layout.md.DqSoofMZ.lean.js +0 -1
  452. package/docs/.vitepress/dist/assets/reference_space.md.luOYAfQg.js +0 -24
  453. package/docs/.vitepress/dist/assets/reference_space.md.luOYAfQg.lean.js +0 -1
  454. package/docs/.vitepress/dist/assets/reference_spacing.md.DdsDhDhS.js +0 -32
  455. package/docs/.vitepress/dist/assets/reference_spacing.md.DdsDhDhS.lean.js +0 -1
  456. package/docs/.vitepress/dist/assets/reference_visual.md.DZFvxgPk.js +0 -22
  457. package/docs/.vitepress/dist/assets/reference_visual.md.DZFvxgPk.lean.js +0 -1
  458. package/docs/.vitepress/dist/assets/style.BuMqNgkb.css +0 -1
  459. package/docs/.vitepress/dist/examples/cards.html +0 -108
  460. package/docs/.vitepress/dist/examples/forms.html +0 -193
  461. package/docs/.vitepress/dist/examples/hero.html +0 -142
  462. package/docs/.vitepress/dist/examples/index.html +0 -76
  463. package/docs/.vitepress/dist/examples/navigation.html +0 -130
  464. package/docs/.vitepress/dist/guide/cdn.html +0 -54
  465. package/docs/.vitepress/dist/guide/cli.html +0 -68
  466. package/docs/.vitepress/dist/guide/configuration.html +0 -103
  467. package/docs/.vitepress/dist/guide/getting-started.html +0 -71
  468. package/docs/.vitepress/dist/guide/index.html +0 -27
  469. package/docs/.vitepress/dist/guide/natural-scale.html +0 -46
  470. package/docs/.vitepress/dist/guide/philosophy.html +0 -31
  471. package/docs/.vitepress/dist/guide/responsive.html +0 -81
  472. package/docs/.vitepress/dist/guide/states.html +0 -101
  473. package/docs/.vitepress/dist/guide/tri-attribute.html +0 -69
  474. package/docs/.vitepress/dist/hashmap.json +0 -1
  475. package/docs/.vitepress/dist/index.html +0 -31
  476. package/docs/.vitepress/dist/reference/breakpoints.html +0 -72
  477. package/docs/.vitepress/dist/reference/colors.html +0 -41
  478. package/docs/.vitepress/dist/reference/layout.html +0 -37
  479. package/docs/.vitepress/dist/reference/space.html +0 -48
  480. package/docs/.vitepress/dist/reference/spacing.html +0 -56
  481. package/docs/.vitepress/dist/reference/visual.html +0 -46
  482. package/docs/.vitepress/dist/vp-icons.css +0 -1
@@ -0,0 +1,89 @@
1
+ /**
2
+ * SenangStart CSS - Layout Positioning Definitions
3
+ * Position, inset, and z-index utility definitions
4
+ */
5
+
6
+ // ======================
7
+ // POSITION
8
+ // ======================
9
+
10
+ export const position = {
11
+ name: 'position',
12
+ property: 'layout',
13
+ syntax: 'layout="[position-value]"',
14
+ description: 'Set the positioning method',
15
+ descriptionMs: 'Tetapkan kaedah kedudukan',
16
+ category: 'layout',
17
+ values: [
18
+ { value: 'static', css: 'position: static;', description: 'Default positioning', descriptionMs: 'Kedudukan lalai' },
19
+ { value: 'relative', css: 'position: relative;', description: 'Relative to normal position', descriptionMs: 'Relatif kepada kedudukan normal' },
20
+ { value: 'absolute', css: 'position: absolute;', description: 'Absolute within container', descriptionMs: 'Mutlak dalam bekas' },
21
+ { value: 'fixed', css: 'position: fixed;', description: 'Fixed to viewport', descriptionMs: 'Tetap pada port pandangan' },
22
+ { value: 'sticky', css: 'position: sticky;', description: 'Sticky positioning', descriptionMs: 'Kedudukan melekit' }
23
+ ],
24
+ examples: [
25
+ { code: '<div layout="absolute">Absolute positioned</div>', description: 'Absolute position' },
26
+ { code: '<div layout="fixed">Fixed to viewport</div>', description: 'Fixed position' }
27
+ ]
28
+ };
29
+
30
+ // ======================
31
+ // INSET (POSITIONING)
32
+ // ======================
33
+
34
+ export const inset = {
35
+ name: 'inset',
36
+ property: 'layout',
37
+ syntax: 'layout="inset:[value]" or layout="top:[value]"',
38
+ description: 'Control positioning offsets',
39
+ descriptionMs: 'Kawal ofset kedudukan',
40
+ category: 'layout',
41
+ usesScale: 'spacing',
42
+ supportsArbitrary: true,
43
+ values: [
44
+ { value: 'inset', css: 'inset: {value};', description: 'All sides', descriptionMs: 'Semua sisi' },
45
+ { value: 'inset-x', css: 'left: {value}; right: {value};', description: 'Left and right', descriptionMs: 'Kiri dan kanan' },
46
+ { value: 'inset-y', css: 'top: {value}; bottom: {value};', description: 'Top and bottom', descriptionMs: 'Atas dan bawah' },
47
+ { value: 'top', css: 'top: {value};', description: 'Top offset', descriptionMs: 'Ofset atas' },
48
+ { value: 'right', css: 'right: {value};', description: 'Right offset', descriptionMs: 'Ofset kanan' },
49
+ { value: 'bottom', css: 'bottom: {value};', description: 'Bottom offset', descriptionMs: 'Ofset bawah' },
50
+ { value: 'left', css: 'left: {value};', description: 'Left offset', descriptionMs: 'Ofset kiri' }
51
+ ],
52
+ examples: [
53
+ { code: '<div layout="absolute inset:0">Full coverage</div>', description: 'Cover parent' },
54
+ { code: '<div layout="absolute top:medium left:medium">Offset</div>', description: 'Offset positioning' }
55
+ ]
56
+ };
57
+
58
+ // ======================
59
+ // Z-INDEX
60
+ // ======================
61
+
62
+ export const zIndex = {
63
+ name: 'z-index',
64
+ property: 'layout',
65
+ syntax: 'layout="z:[value]"',
66
+ description: 'Control stacking order',
67
+ descriptionMs: 'Kawal susunan tindanan',
68
+ category: 'layout',
69
+ usesScale: 'zIndex',
70
+ values: [
71
+ { value: 'base', css: 'z-index: var(--z-base);', description: 'Base layer (0)', descriptionMs: 'Lapisan asas (0)' },
72
+ { value: 'low', css: 'z-index: var(--z-low);', description: 'Low layer (10)', descriptionMs: 'Lapisan rendah (10)' },
73
+ { value: 'mid', css: 'z-index: var(--z-mid);', description: 'Middle layer (50)', descriptionMs: 'Lapisan tengah (50)' },
74
+ { value: 'high', css: 'z-index: var(--z-high);', description: 'High layer (100)', descriptionMs: 'Lapisan tinggi (100)' },
75
+ { value: 'top', css: 'z-index: var(--z-top);', description: 'Top layer (9999)', descriptionMs: 'Lapisan teratas (9999)' }
76
+ ],
77
+ examples: [
78
+ { code: '<div layout="z:top">On top</div>', description: 'Highest z-index' }
79
+ ]
80
+ };
81
+
82
+ // Export positioning definitions
83
+ export const positioningDefinitions = {
84
+ position,
85
+ inset,
86
+ zIndex
87
+ };
88
+
89
+ export default positioningDefinitions;
@@ -0,0 +1,98 @@
1
+ /**
2
+ * SenangStart CSS - Layout Table Definitions
3
+ * Table-related layout utility definitions
4
+ */
5
+
6
+ // ======================
7
+ // BORDER COLLAPSE
8
+ // ======================
9
+
10
+ export const borderCollapse = {
11
+ name: 'border-collapse',
12
+ property: 'layout',
13
+ syntax: 'layout="border:[value]"',
14
+ description: 'Control table border collapse',
15
+ descriptionMs: 'Kawal runtuhan sempadan jadual',
16
+ category: 'layout',
17
+ values: [
18
+ { value: 'collapse', css: 'border-collapse: collapse;', description: 'Collapse borders', descriptionMs: 'Runtuhkan sempadan' },
19
+ { value: 'separate', css: 'border-collapse: separate;', description: 'Separate borders', descriptionMs: 'Asingkan sempadan' }
20
+ ],
21
+ examples: [
22
+ { code: '<table layout="border:collapse">Collapsed table</table>', description: 'Collapse table borders' }
23
+ ]
24
+ };
25
+
26
+ // ======================
27
+ // BORDER SPACING
28
+ // ======================
29
+
30
+ export const borderSpacing = {
31
+ name: 'border-spacing',
32
+ property: 'layout',
33
+ syntax: 'layout="border-spacing:[value]"',
34
+ description: 'Control spacing between table borders',
35
+ descriptionMs: 'Kawal jarak antara sempadan jadual',
36
+ category: 'layout',
37
+ usesScale: 'spacing',
38
+ supportsArbitrary: true,
39
+ dynamic: true,
40
+ values: [
41
+ { value: 'border-spacing', css: 'border-spacing: {value};', description: 'All spacing', descriptionMs: 'Semua jarak' },
42
+ { value: 'border-spacing-x', css: 'border-spacing: {value} 0;', description: 'Horizontal spacing', descriptionMs: 'Jarak mendatar' },
43
+ { value: 'border-spacing-y', css: 'border-spacing: 0 {value};', description: 'Vertical spacing', descriptionMs: 'Jarak menegak' }
44
+ ],
45
+ examples: [
46
+ { code: '<table layout="border-separate border-spacing:small">Spaced</table>', description: 'Spaced table borders' }
47
+ ]
48
+ };
49
+
50
+ // ======================
51
+ // TABLE LAYOUT
52
+ // ======================
53
+
54
+ export const tableLayout = {
55
+ name: 'table-layout',
56
+ property: 'layout',
57
+ syntax: 'layout="table:[value]"',
58
+ description: 'Control table layout algorithm',
59
+ descriptionMs: 'Kawal algoritma susun atur jadual',
60
+ category: 'layout',
61
+ values: [
62
+ { value: 'auto', css: 'table-layout: auto;', description: 'Auto layout', descriptionMs: 'Susun atur automatik' },
63
+ { value: 'fixed', css: 'table-layout: fixed;', description: 'Fixed layout', descriptionMs: 'Susun atur tetap' }
64
+ ],
65
+ examples: [
66
+ { code: '<table layout="table:fixed">Fixed width columns</table>', description: 'Fixed column widths' }
67
+ ]
68
+ };
69
+
70
+ // ======================
71
+ // CAPTION SIDE
72
+ // ======================
73
+
74
+ export const captionSide = {
75
+ name: 'caption-side',
76
+ property: 'layout',
77
+ syntax: 'layout="caption:[value]"',
78
+ description: 'Control table caption position',
79
+ descriptionMs: 'Kawal kedudukan kapsyen jadual',
80
+ category: 'layout',
81
+ values: [
82
+ { value: 'top', css: 'caption-side: top;', description: 'Caption on top', descriptionMs: 'Kapsyen di atas' },
83
+ { value: 'bottom', css: 'caption-side: bottom;', description: 'Caption on bottom', descriptionMs: 'Kapsyen di bawah' }
84
+ ],
85
+ examples: [
86
+ { code: '<caption layout="caption:bottom">Bottom caption</caption>', description: 'Bottom caption' }
87
+ ]
88
+ };
89
+
90
+ // Export table definitions
91
+ export const tableDefinitions = {
92
+ borderCollapse,
93
+ borderSpacing,
94
+ tableLayout,
95
+ captionSide
96
+ };
97
+
98
+ export default tableDefinitions;
@@ -0,0 +1,262 @@
1
+ /**
2
+ * SenangStart CSS - Layout Utilities Definitions
3
+ * Miscellaneous layout utility definitions
4
+ */
5
+
6
+ // ======================
7
+ // VISIBILITY
8
+ // ======================
9
+
10
+ export const visibility = {
11
+ name: 'visibility',
12
+ property: 'layout',
13
+ syntax: 'layout="[visibility-value]"',
14
+ description: 'Control element visibility',
15
+ descriptionMs: 'Kawal ketampakan elemen',
16
+ category: 'layout',
17
+ values: [
18
+ { value: 'visible', css: 'visibility: visible;', description: 'Element is visible', descriptionMs: 'Elemen kelihatan' },
19
+ { value: 'invisible', css: 'visibility: hidden;', description: 'Element is invisible but takes space', descriptionMs: 'Elemen tidak kelihatan tetapi mengambil ruang' }
20
+ ],
21
+ examples: [
22
+ { code: '<div layout="invisible">Invisible but present</div>', description: 'Hide visually' }
23
+ ]
24
+ };
25
+
26
+ // ======================
27
+ // OVERFLOW
28
+ // ======================
29
+
30
+ export const overflow = {
31
+ name: 'overflow',
32
+ property: 'layout',
33
+ syntax: 'layout="overflow:[value]"',
34
+ description: 'Control content overflow behavior',
35
+ descriptionMs: 'Kawal kelakuan limpahan kandungan',
36
+ category: 'layout',
37
+ values: [
38
+ { value: 'auto', css: 'overflow: auto;', description: 'Scrollbar when needed', descriptionMs: 'Bar skrol bila perlu' },
39
+ { value: 'hidden', css: 'overflow: hidden;', description: 'Hide overflow', descriptionMs: 'Sembunyikan limpahan' },
40
+ { value: 'visible', css: 'overflow: visible;', description: 'Show overflow', descriptionMs: 'Tunjukkan limpahan' },
41
+ { value: 'scroll', css: 'overflow: scroll;', description: 'Always show scrollbar', descriptionMs: 'Sentiasa tunjuk bar skrol' },
42
+ { value: 'clip', css: 'overflow: clip;', description: 'Clip overflow', descriptionMs: 'Potong limpahan' }
43
+ ],
44
+ examples: [
45
+ { code: '<div layout="overflow:hidden">Clipped content</div>', description: 'Hide overflow' },
46
+ { code: '<div layout="overflow:auto">Scrollable</div>', description: 'Auto scrollbar' }
47
+ ]
48
+ };
49
+
50
+ // ======================
51
+ // BOX SIZING
52
+ // ======================
53
+
54
+ export const boxSizing = {
55
+ name: 'box-sizing',
56
+ property: 'layout',
57
+ syntax: 'layout="box:[value]"',
58
+ description: 'Control how width and height are calculated',
59
+ descriptionMs: 'Kawal cara lebar dan tinggi dikira',
60
+ category: 'layout',
61
+ values: [
62
+ { value: 'border', css: 'box-sizing: border-box;', description: 'Include padding and border in size', descriptionMs: 'Termasuk padding dan sempadan dalam saiz' },
63
+ { value: 'content', css: 'box-sizing: content-box;', description: 'Exclude padding and border', descriptionMs: 'Tidak termasuk padding dan sempadan' }
64
+ ],
65
+ examples: [
66
+ { code: '<div layout="box:border">Border box</div>', description: 'Include border in width' }
67
+ ]
68
+ };
69
+
70
+ // ======================
71
+ // FLOAT & CLEAR
72
+ // ======================
73
+
74
+ export const floatClear = {
75
+ name: 'float-clear',
76
+ property: 'layout',
77
+ syntax: 'layout="float:[value]" or layout="clear:[value]"',
78
+ description: 'Control element floating and clearing',
79
+ descriptionMs: 'Kawal pengapungan dan pembersihan elemen',
80
+ category: 'layout',
81
+ values: [
82
+ { value: 'left', css: 'float: left;', description: 'Float left', descriptionMs: 'Apung kiri' },
83
+ { value: 'right', css: 'float: right;', description: 'Float right', descriptionMs: 'Apung kanan' },
84
+ { value: 'none', css: 'float: none;', description: 'No float', descriptionMs: 'Tiada pengapungan' }
85
+ ],
86
+ examples: [
87
+ { code: '<img layout="float:left">Float left</img>', description: 'Float image left' },
88
+ { code: '<div layout="clear:both">Clear floats</div>', description: 'Clear all floats' }
89
+ ]
90
+ };
91
+
92
+ // ======================
93
+ // ASPECT RATIO
94
+ // ======================
95
+
96
+ export const aspectRatio = {
97
+ name: 'aspect-ratio',
98
+ property: 'layout',
99
+ syntax: 'layout="aspect:[value]"',
100
+ description: 'Set element aspect ratio',
101
+ descriptionMs: 'Tetapkan nisbah aspek elemen',
102
+ category: 'layout',
103
+ supportsArbitrary: true,
104
+ values: [
105
+ { value: 'auto', css: 'aspect-ratio: auto;', description: 'Natural aspect ratio', descriptionMs: 'Nisbah aspek semula jadi' },
106
+ { value: 'square', css: 'aspect-ratio: 1 / 1;', description: '1:1 square', descriptionMs: 'Segi empat sama 1:1' },
107
+ { value: 'video', css: 'aspect-ratio: 16 / 9;', description: '16:9 video', descriptionMs: 'Video 16:9' }
108
+ ],
109
+ examples: [
110
+ { code: '<div layout="aspect:square">Square</div>', description: 'Square aspect ratio' },
111
+ { code: '<div layout="aspect:[4/3]">4:3</div>', description: 'Custom ratio' }
112
+ ]
113
+ };
114
+
115
+ // ======================
116
+ // OBJECT FIT
117
+ // ======================
118
+
119
+ export const objectFit = {
120
+ name: 'object-fit',
121
+ property: 'layout',
122
+ syntax: 'layout="object:[value]"',
123
+ description: 'Control how media content fits its container',
124
+ descriptionMs: 'Kawal bagaimana kandungan media muat dalam bekasnya',
125
+ category: 'layout',
126
+ values: [
127
+ { value: 'contain', css: 'object-fit: contain;', description: 'Scale to fit, preserve ratio', descriptionMs: 'Skala untuk muat, kekalkan nisbah' },
128
+ { value: 'cover', css: 'object-fit: cover;', description: 'Cover container, may crop', descriptionMs: 'Tutup bekas, mungkin dipotong' },
129
+ { value: 'fill', css: 'object-fit: fill;', description: 'Stretch to fill', descriptionMs: 'Regang untuk mengisi' },
130
+ { value: 'none', css: 'object-fit: none;', description: 'No scaling', descriptionMs: 'Tiada penskalaan' },
131
+ { value: 'scale-down', css: 'object-fit: scale-down;', description: 'Smaller of none or contain', descriptionMs: 'Lebih kecil antara tiada atau kandung' }
132
+ ],
133
+ examples: [
134
+ { code: '<img layout="object:cover">Cover image</img>', description: 'Cover fit' }
135
+ ]
136
+ };
137
+
138
+ // ======================
139
+ // OBJECT POSITION
140
+ // ======================
141
+
142
+ export const objectPosition = {
143
+ name: 'object-position',
144
+ property: 'layout',
145
+ syntax: 'layout="object-pos:[value]"',
146
+ description: 'Position replaced element content within container',
147
+ descriptionMs: 'Letakkan kandungan elemen diganti dalam bekas',
148
+ category: 'layout',
149
+ supportsArbitrary: true,
150
+ values: [
151
+ { value: 'center', css: 'object-position: center;', description: 'Center position', descriptionMs: 'Kedudukan tengah' },
152
+ { value: 'top', css: 'object-position: top;', description: 'Top position', descriptionMs: 'Kedudukan atas' },
153
+ { value: 'bottom', css: 'object-position: bottom;', description: 'Bottom position', descriptionMs: 'Kedudukan bawah' },
154
+ { value: 'left', css: 'object-position: left;', description: 'Left position', descriptionMs: 'Kedudukan kiri' },
155
+ { value: 'right', css: 'object-position: right;', description: 'Right position', descriptionMs: 'Kedudukan kanan' },
156
+ { value: 'top-left', css: 'object-position: top left;', description: 'Top left', descriptionMs: 'Atas kiri' },
157
+ { value: 'top-right', css: 'object-position: top right;', description: 'Top right', descriptionMs: 'Atas kanan' },
158
+ { value: 'bottom-left', css: 'object-position: bottom left;', description: 'Bottom left', descriptionMs: 'Bawah kiri' },
159
+ { value: 'bottom-right', css: 'object-position: bottom right;', description: 'Bottom right', descriptionMs: 'Bawah kanan' }
160
+ ],
161
+ examples: [
162
+ { code: '<img layout="object:cover object-pos:top">Top positioned</img>', description: 'Top position' }
163
+ ]
164
+ };
165
+
166
+ // ======================
167
+ // CONTAINER
168
+ // ======================
169
+
170
+ export const container = {
171
+ name: 'container',
172
+ property: 'layout',
173
+ syntax: 'layout="container"',
174
+ description: 'Create a centered container with max-width',
175
+ descriptionMs: 'Cipta bekas berpusat dengan lebar maksimum',
176
+ category: 'layout',
177
+ values: [
178
+ { value: 'container', css: 'width: 100%; margin-left: auto; margin-right: auto;', description: 'Centered container', descriptionMs: 'Bekas berpusat' }
179
+ ],
180
+ examples: [
181
+ { code: '<div layout="container">Centered content</div>', description: 'Container' }
182
+ ]
183
+ };
184
+
185
+ // ======================
186
+ // ISOLATION
187
+ // ======================
188
+
189
+ export const isolation = {
190
+ name: 'isolation',
191
+ property: 'layout',
192
+ syntax: 'layout="isolation:[value]"',
193
+ description: 'Create new stacking context',
194
+ descriptionMs: 'Cipta konteks tindanan baharu',
195
+ category: 'layout',
196
+ values: [
197
+ { value: 'isolate', css: 'isolation: isolate;', description: 'Create stacking context', descriptionMs: 'Cipta konteks tindanan' },
198
+ { value: 'auto', css: 'isolation: auto;', description: 'Auto isolation', descriptionMs: 'Pengasingan automatik' }
199
+ ],
200
+ examples: [
201
+ { code: '<div layout="isolation:isolate">Isolated</div>', description: 'Create stacking context' }
202
+ ]
203
+ };
204
+
205
+ // ======================
206
+ // OVERSCROLL
207
+ // ======================
208
+
209
+ export const overscroll = {
210
+ name: 'overscroll',
211
+ property: 'layout',
212
+ syntax: 'layout="overscroll:[value]"',
213
+ description: 'Control scroll chaining behavior',
214
+ descriptionMs: 'Kawal kelakuan rantaian skrol',
215
+ category: 'layout',
216
+ values: [
217
+ { value: 'auto', css: 'overscroll-behavior: auto;', description: 'Default behavior', descriptionMs: 'Kelakuan lalai' },
218
+ { value: 'contain', css: 'overscroll-behavior: contain;', description: 'Contain scroll', descriptionMs: 'Kandung skrol' },
219
+ { value: 'none', css: 'overscroll-behavior: none;', description: 'No scroll chaining', descriptionMs: 'Tiada rantaian skrol' }
220
+ ],
221
+ examples: [
222
+ { code: '<div layout="overscroll:contain">Contained scroll</div>', description: 'Prevent scroll chaining' }
223
+ ]
224
+ };
225
+
226
+ // ======================
227
+ // COLUMNS
228
+ // ======================
229
+
230
+ export const columns = {
231
+ name: 'columns',
232
+ property: 'layout',
233
+ syntax: 'layout="cols:[value]"',
234
+ description: 'Create multi-column layouts',
235
+ descriptionMs: 'Cipta susun atur berbilang lajur',
236
+ category: 'layout',
237
+ dynamic: true,
238
+ values: [
239
+ { value: '1-12', css: 'columns: {n};', description: 'N columns', descriptionMs: 'N lajur' },
240
+ { value: 'auto', css: 'columns: auto;', description: 'Auto columns', descriptionMs: 'Lajur automatik' }
241
+ ],
242
+ examples: [
243
+ { code: '<div layout="cols:3">Three columns</div>', description: 'Three column text' }
244
+ ]
245
+ };
246
+
247
+ // Export utilities definitions
248
+ export const utilitiesDefinitions = {
249
+ visibility,
250
+ overflow,
251
+ boxSizing,
252
+ floatClear,
253
+ aspectRatio,
254
+ objectFit,
255
+ objectPosition,
256
+ container,
257
+ isolation,
258
+ overscroll,
259
+ columns
260
+ };
261
+
262
+ export default utilitiesDefinitions;
@@ -0,0 +1,195 @@
1
+ /**
2
+ * SenangStart CSS - Layout Utility Definitions
3
+ * Main entry point that re-exports from split files
4
+ */
5
+
6
+ // Import from split files
7
+ import flexDefinitions, {
8
+ display,
9
+ flexDirection,
10
+ flexWrap,
11
+ flexItems,
12
+ flexShorthand,
13
+ flexBasis,
14
+ order
15
+ } from './layout-flex.js';
16
+
17
+ import alignmentDefinitions, {
18
+ justifyContent,
19
+ alignItems,
20
+ alignSelf,
21
+ alignContent,
22
+ shorthandAlignment,
23
+ justifyItems,
24
+ justifySelf,
25
+ placeContent,
26
+ placeItems,
27
+ placeSelf
28
+ } from './layout-alignment.js';
29
+
30
+ import gridDefinitions, {
31
+ gridColumns,
32
+ gridRows,
33
+ gridColSpan,
34
+ gridRowSpan,
35
+ gridAutoFlow,
36
+ gridAutoSizing
37
+ } from './layout-grid.js';
38
+
39
+ import positioningDefinitions, {
40
+ position,
41
+ inset,
42
+ zIndex
43
+ } from './layout-positioning.js';
44
+
45
+ import utilitiesDefinitions, {
46
+ visibility,
47
+ overflow,
48
+ boxSizing,
49
+ floatClear,
50
+ aspectRatio,
51
+ objectFit,
52
+ objectPosition,
53
+ container,
54
+ isolation,
55
+ overscroll,
56
+ columns
57
+ } from './layout-utilities.js';
58
+
59
+ import tableDefinitions, {
60
+ borderCollapse,
61
+ borderSpacing,
62
+ tableLayout,
63
+ captionSide
64
+ } from './layout-table.js';
65
+
66
+ // Re-export all individual definitions for backwards compatibility
67
+ export {
68
+ // Flex
69
+ display,
70
+ flexDirection,
71
+ flexWrap,
72
+ flexItems,
73
+ flexShorthand,
74
+ flexBasis,
75
+ order,
76
+ // Alignment
77
+ justifyContent,
78
+ alignItems,
79
+ alignSelf,
80
+ alignContent,
81
+ shorthandAlignment,
82
+ justifyItems,
83
+ justifySelf,
84
+ placeContent,
85
+ placeItems,
86
+ placeSelf,
87
+ // Grid
88
+ gridColumns,
89
+ gridRows,
90
+ gridColSpan,
91
+ gridRowSpan,
92
+ gridAutoFlow,
93
+ gridAutoSizing,
94
+ // Positioning
95
+ position,
96
+ inset,
97
+ zIndex,
98
+ // Utilities
99
+ visibility,
100
+ overflow,
101
+ boxSizing,
102
+ floatClear,
103
+ aspectRatio,
104
+ objectFit,
105
+ objectPosition,
106
+ container,
107
+ isolation,
108
+ overscroll,
109
+ columns,
110
+ // Table
111
+ borderCollapse,
112
+ borderSpacing,
113
+ tableLayout,
114
+ captionSide
115
+ };
116
+
117
+ // Re-export grouped definitions
118
+ export { flexDefinitions } from './layout-flex.js';
119
+ export { alignmentDefinitions } from './layout-alignment.js';
120
+ export { gridDefinitions } from './layout-grid.js';
121
+ export { positioningDefinitions } from './layout-positioning.js';
122
+ export { utilitiesDefinitions } from './layout-utilities.js';
123
+ export { tableDefinitions } from './layout-table.js';
124
+
125
+ // Export all layout definitions combined
126
+ export const layoutDefinitions = {
127
+ // Flex
128
+ display,
129
+ flexDirection,
130
+ flexWrap,
131
+ flexItems,
132
+ flexShorthand,
133
+ flexBasis,
134
+ order,
135
+ // Alignment
136
+ justifyContent,
137
+ alignItems,
138
+ alignSelf,
139
+ alignContent,
140
+ shorthandAlignment,
141
+ justifyItems,
142
+ justifySelf,
143
+ placeContent,
144
+ placeItems,
145
+ placeSelf,
146
+ // Grid
147
+ gridColumns,
148
+ gridRows,
149
+ gridColSpan,
150
+ gridRowSpan,
151
+ gridAutoFlow,
152
+ gridAutoSizing,
153
+ // Positioning
154
+ position,
155
+ inset,
156
+ zIndex,
157
+ // Utilities
158
+ visibility,
159
+ overflow,
160
+ boxSizing,
161
+ floatClear,
162
+ aspectRatio,
163
+ objectFit,
164
+ objectPosition,
165
+ container,
166
+ isolation,
167
+ overscroll,
168
+ columns,
169
+ // Table
170
+ borderCollapse,
171
+ borderSpacing,
172
+ tableLayout,
173
+ captionSide
174
+ };
175
+
176
+ // Build flat value map for CSS generator
177
+ export function buildLayoutMap() {
178
+ const map = {};
179
+
180
+ // Add all simple keyword values from definitions
181
+ for (const def of Object.values(layoutDefinitions)) {
182
+ if (def.dynamic) continue; // Skip dynamic properties that need special handling
183
+
184
+ for (const v of def.values) {
185
+ // Skip range values like '1-12' that need special handling
186
+ if (v.value.match(/^\d+-\d+$/)) continue;
187
+
188
+ map[v.value] = v.css;
189
+ }
190
+ }
191
+
192
+ return map;
193
+ }
194
+
195
+ export default layoutDefinitions;