@bookklik/senangstart-css 0.1.8 → 0.2.0

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 (341) hide show
  1. package/README.md +38 -0
  2. package/dist/senangstart-css.js +2269 -1955
  3. package/dist/senangstart-css.min.js +141 -1479
  4. package/docs/.vitepress/config.js +2 -0
  5. package/docs/guide/responsive.md +25 -0
  6. package/docs/index.md +1 -1
  7. package/docs/ms/guide/responsive.md +25 -0
  8. package/docs/ms/index.md +1 -1
  9. package/docs/ms/reference/breakpoints.md +23 -0
  10. package/docs/ms/reference/layout/align-content.md +57 -4
  11. package/docs/ms/reference/layout/align-items.md +81 -4
  12. package/docs/ms/reference/layout/align-self.md +25 -4
  13. package/docs/ms/reference/layout/aspect-ratio.md +27 -8
  14. package/docs/ms/reference/layout/border-collapse.md +81 -4
  15. package/docs/ms/reference/layout/border-spacing.md +43 -8
  16. package/docs/ms/reference/layout/box-sizing.md +21 -4
  17. package/docs/ms/reference/layout/caption-side.md +69 -4
  18. package/docs/ms/reference/layout/columns.md +21 -4
  19. package/docs/ms/reference/layout/container.md +21 -4
  20. package/docs/ms/reference/layout/display.md +39 -7
  21. package/docs/ms/reference/layout/flex-basis.md +29 -8
  22. package/docs/ms/reference/layout/flex-direction.md +81 -4
  23. package/docs/ms/reference/layout/flex-items.md +51 -4
  24. package/docs/ms/reference/layout/flex-wrap.md +55 -4
  25. package/docs/ms/reference/layout/flex.md +54 -7
  26. package/docs/ms/reference/layout/float-clear.md +23 -4
  27. package/docs/ms/reference/layout/grid-auto-flow.md +57 -4
  28. package/docs/ms/reference/layout/grid-auto-sizing.md +25 -4
  29. package/docs/ms/reference/layout/grid-column-span.md +59 -4
  30. package/docs/ms/reference/layout/grid-columns.md +61 -4
  31. package/docs/ms/reference/layout/grid-row-span.md +29 -4
  32. package/docs/ms/reference/layout/grid-rows.md +31 -4
  33. package/docs/ms/reference/layout/inset.md +56 -7
  34. package/docs/ms/reference/layout/isolation.md +21 -4
  35. package/docs/ms/reference/layout/justify-content.md +81 -4
  36. package/docs/ms/reference/layout/justify-items.md +25 -4
  37. package/docs/ms/reference/layout/justify-self.md +25 -4
  38. package/docs/ms/reference/layout/object-fit.md +57 -4
  39. package/docs/ms/reference/layout/object-position.md +29 -8
  40. package/docs/ms/reference/layout/order.md +53 -4
  41. package/docs/ms/reference/layout/overflow.md +45 -4
  42. package/docs/ms/reference/layout/overscroll.md +21 -4
  43. package/docs/ms/reference/layout/place-content.md +23 -4
  44. package/docs/ms/reference/layout/place-items.md +25 -4
  45. package/docs/ms/reference/layout/place-self.md +25 -4
  46. package/docs/ms/reference/layout/position.md +47 -4
  47. package/docs/ms/reference/layout/shorthand-alignment.md +47 -4
  48. package/docs/ms/reference/layout/table-layout.md +69 -4
  49. package/docs/ms/reference/layout/visibility.md +25 -4
  50. package/docs/ms/reference/layout/z-index.md +27 -4
  51. package/docs/ms/reference/space/gap.md +71 -7
  52. package/docs/ms/reference/space/height.md +61 -7
  53. package/docs/ms/reference/space/margin.md +61 -7
  54. package/docs/ms/reference/space/padding.md +65 -7
  55. package/docs/ms/reference/space/width.md +61 -7
  56. package/docs/ms/reference/visual/accent-color.md +29 -8
  57. package/docs/ms/reference/visual/animation-builtin.md +29 -8
  58. package/docs/ms/reference/visual/animation-delay.md +25 -8
  59. package/docs/ms/reference/visual/animation-direction.md +25 -4
  60. package/docs/ms/reference/visual/animation-duration.md +27 -8
  61. package/docs/ms/reference/visual/animation-fill.md +25 -4
  62. package/docs/ms/reference/visual/animation-iteration.md +23 -4
  63. package/docs/ms/reference/visual/animation-play.md +23 -4
  64. package/docs/ms/reference/visual/appearance.md +23 -4
  65. package/docs/ms/reference/visual/backdrop-blur.md +29 -8
  66. package/docs/ms/reference/visual/backdrop-brightness.md +29 -8
  67. package/docs/ms/reference/visual/backdrop-contrast.md +29 -8
  68. package/docs/ms/reference/visual/backdrop-grayscale.md +27 -8
  69. package/docs/ms/reference/visual/backdrop-hue-rotate.md +29 -8
  70. package/docs/ms/reference/visual/backdrop-invert.md +27 -8
  71. package/docs/ms/reference/visual/backdrop-opacity.md +29 -8
  72. package/docs/ms/reference/visual/backdrop-saturate.md +29 -8
  73. package/docs/ms/reference/visual/backdrop-sepia.md +27 -8
  74. package/docs/ms/reference/visual/background-attachment.md +23 -4
  75. package/docs/ms/reference/visual/background-blend-mode.md +25 -4
  76. package/docs/ms/reference/visual/background-clip.md +21 -4
  77. package/docs/ms/reference/visual/background-color.md +33 -8
  78. package/docs/ms/reference/visual/background-image.md +27 -8
  79. package/docs/ms/reference/visual/background-origin.md +25 -4
  80. package/docs/ms/reference/visual/background-position.md +29 -8
  81. package/docs/ms/reference/visual/background-repeat.md +25 -4
  82. package/docs/ms/reference/visual/background-size.md +29 -8
  83. package/docs/ms/reference/visual/blend-modes.md +23 -4
  84. package/docs/ms/reference/visual/border-radius.md +36 -4
  85. package/docs/ms/reference/visual/border-style.md +25 -4
  86. package/docs/ms/reference/visual/border-width.md +29 -8
  87. package/docs/ms/reference/visual/border.md +56 -7
  88. package/docs/ms/reference/visual/box-shadow.md +34 -4
  89. package/docs/ms/reference/visual/caret-color.md +25 -8
  90. package/docs/ms/reference/visual/color-scheme.md +23 -4
  91. package/docs/ms/reference/visual/cursor.md +25 -4
  92. package/docs/ms/reference/visual/field-sizing.md +23 -4
  93. package/docs/ms/reference/visual/fill.md +29 -8
  94. package/docs/ms/reference/visual/filter-blur.md +29 -8
  95. package/docs/ms/reference/visual/filter-brightness.md +29 -8
  96. package/docs/ms/reference/visual/filter-contrast.md +29 -8
  97. package/docs/ms/reference/visual/filter-drop-shadow.md +29 -8
  98. package/docs/ms/reference/visual/filter-grayscale.md +29 -8
  99. package/docs/ms/reference/visual/filter-hue-rotate.md +29 -8
  100. package/docs/ms/reference/visual/filter-invert.md +27 -8
  101. package/docs/ms/reference/visual/filter-saturate.md +29 -8
  102. package/docs/ms/reference/visual/filter-sepia.md +29 -8
  103. package/docs/ms/reference/visual/font-family.md +25 -4
  104. package/docs/ms/reference/visual/font-smoothing.md +23 -4
  105. package/docs/ms/reference/visual/font-style.md +23 -4
  106. package/docs/ms/reference/visual/font-variant-numeric.md +23 -4
  107. package/docs/ms/reference/visual/font-weight.md +35 -4
  108. package/docs/ms/reference/visual/forced-color-adjust.md +23 -4
  109. package/docs/ms/reference/visual/hyphens.md +25 -4
  110. package/docs/ms/reference/visual/letter-spacing.md +29 -8
  111. package/docs/ms/reference/visual/line-clamp.md +29 -8
  112. package/docs/ms/reference/visual/line-height.md +29 -8
  113. package/docs/ms/reference/visual/list-style.md +25 -4
  114. package/docs/ms/reference/visual/mask.md +25 -8
  115. package/docs/ms/reference/visual/opacity.md +27 -4
  116. package/docs/ms/reference/visual/outline.md +25 -8
  117. package/docs/ms/reference/visual/pointer-events.md +23 -4
  118. package/docs/ms/reference/visual/resize.md +27 -4
  119. package/docs/ms/reference/visual/scroll-behavior.md +23 -4
  120. package/docs/ms/reference/visual/scroll-margin.md +25 -8
  121. package/docs/ms/reference/visual/scroll-padding.md +25 -8
  122. package/docs/ms/reference/visual/scroll-snap-align.md +25 -4
  123. package/docs/ms/reference/visual/scroll-snap-stop.md +23 -4
  124. package/docs/ms/reference/visual/scroll-snap-type.md +25 -4
  125. package/docs/ms/reference/visual/state-prefixes.md +21 -4
  126. package/docs/ms/reference/visual/stroke-width.md +29 -8
  127. package/docs/ms/reference/visual/stroke.md +27 -8
  128. package/docs/ms/reference/visual/text-alignment.md +25 -4
  129. package/docs/ms/reference/visual/text-color.md +31 -8
  130. package/docs/ms/reference/visual/text-decoration.md +23 -4
  131. package/docs/ms/reference/visual/text-indent.md +25 -8
  132. package/docs/ms/reference/visual/text-overflow.md +21 -4
  133. package/docs/ms/reference/visual/text-shadow.md +25 -8
  134. package/docs/ms/reference/visual/text-size.md +41 -7
  135. package/docs/ms/reference/visual/text-transform.md +25 -4
  136. package/docs/ms/reference/visual/text-wrap.md +25 -4
  137. package/docs/ms/reference/visual/touch-action.md +25 -4
  138. package/docs/ms/reference/visual/transform-backface.md +23 -4
  139. package/docs/ms/reference/visual/transform-origin.md +27 -8
  140. package/docs/ms/reference/visual/transform-perspective-origin.md +25 -8
  141. package/docs/ms/reference/visual/transform-perspective.md +25 -8
  142. package/docs/ms/reference/visual/transform-rotate.md +29 -8
  143. package/docs/ms/reference/visual/transform-scale.md +29 -8
  144. package/docs/ms/reference/visual/transform-skew.md +29 -8
  145. package/docs/ms/reference/visual/transform-style.md +23 -4
  146. package/docs/ms/reference/visual/transform-translate.md +29 -8
  147. package/docs/ms/reference/visual/transition-delay.md +25 -8
  148. package/docs/ms/reference/visual/transition-duration.md +27 -8
  149. package/docs/ms/reference/visual/transition-property.md +21 -4
  150. package/docs/ms/reference/visual/transition-timing.md +29 -8
  151. package/docs/ms/reference/visual/typography-keywords.md +27 -4
  152. package/docs/ms/reference/visual/user-select.md +23 -4
  153. package/docs/ms/reference/visual/vertical-align.md +25 -4
  154. package/docs/ms/reference/visual/whitespace.md +25 -4
  155. package/docs/ms/reference/visual/will-change.md +23 -4
  156. package/docs/ms/reference/visual/word-break.md +25 -4
  157. package/docs/public/assets/senangstart-css-logo.svg +1 -0
  158. package/docs/reference/breakpoints.md +23 -0
  159. package/docs/reference/layout/align-content.md +57 -4
  160. package/docs/reference/layout/align-items.md +81 -4
  161. package/docs/reference/layout/align-self.md +25 -4
  162. package/docs/reference/layout/aspect-ratio.md +27 -8
  163. package/docs/reference/layout/border-collapse.md +81 -4
  164. package/docs/reference/layout/border-spacing.md +43 -8
  165. package/docs/reference/layout/box-sizing.md +21 -4
  166. package/docs/reference/layout/caption-side.md +69 -4
  167. package/docs/reference/layout/columns.md +21 -4
  168. package/docs/reference/layout/container.md +21 -4
  169. package/docs/reference/layout/display.md +39 -7
  170. package/docs/reference/layout/flex-basis.md +29 -8
  171. package/docs/reference/layout/flex-direction.md +81 -4
  172. package/docs/reference/layout/flex-items.md +51 -4
  173. package/docs/reference/layout/flex-wrap.md +55 -4
  174. package/docs/reference/layout/flex.md +54 -7
  175. package/docs/reference/layout/float-clear.md +23 -4
  176. package/docs/reference/layout/grid-auto-flow.md +57 -4
  177. package/docs/reference/layout/grid-auto-sizing.md +25 -4
  178. package/docs/reference/layout/grid-column-span.md +59 -4
  179. package/docs/reference/layout/grid-columns.md +61 -4
  180. package/docs/reference/layout/grid-row-span.md +29 -4
  181. package/docs/reference/layout/grid-rows.md +31 -4
  182. package/docs/reference/layout/inset.md +56 -7
  183. package/docs/reference/layout/isolation.md +21 -4
  184. package/docs/reference/layout/justify-content.md +81 -4
  185. package/docs/reference/layout/justify-items.md +25 -4
  186. package/docs/reference/layout/justify-self.md +25 -4
  187. package/docs/reference/layout/object-fit.md +57 -4
  188. package/docs/reference/layout/object-position.md +29 -8
  189. package/docs/reference/layout/order.md +53 -4
  190. package/docs/reference/layout/overflow.md +45 -4
  191. package/docs/reference/layout/overscroll.md +21 -4
  192. package/docs/reference/layout/place-content.md +23 -4
  193. package/docs/reference/layout/place-items.md +25 -4
  194. package/docs/reference/layout/place-self.md +25 -4
  195. package/docs/reference/layout/position.md +47 -4
  196. package/docs/reference/layout/shorthand-alignment.md +47 -4
  197. package/docs/reference/layout/table-layout.md +69 -4
  198. package/docs/reference/layout/visibility.md +25 -4
  199. package/docs/reference/layout/z-index.md +27 -4
  200. package/docs/reference/space/gap.md +71 -7
  201. package/docs/reference/space/height.md +61 -7
  202. package/docs/reference/space/margin.md +61 -7
  203. package/docs/reference/space/padding.md +65 -7
  204. package/docs/reference/space/width.md +61 -7
  205. package/docs/reference/visual/accent-color.md +29 -8
  206. package/docs/reference/visual/animation-builtin.md +29 -8
  207. package/docs/reference/visual/animation-delay.md +25 -8
  208. package/docs/reference/visual/animation-direction.md +25 -4
  209. package/docs/reference/visual/animation-duration.md +27 -8
  210. package/docs/reference/visual/animation-fill.md +25 -4
  211. package/docs/reference/visual/animation-iteration.md +23 -4
  212. package/docs/reference/visual/animation-play.md +23 -4
  213. package/docs/reference/visual/appearance.md +23 -4
  214. package/docs/reference/visual/backdrop-blur.md +29 -8
  215. package/docs/reference/visual/backdrop-brightness.md +29 -8
  216. package/docs/reference/visual/backdrop-contrast.md +29 -8
  217. package/docs/reference/visual/backdrop-grayscale.md +27 -8
  218. package/docs/reference/visual/backdrop-hue-rotate.md +29 -8
  219. package/docs/reference/visual/backdrop-invert.md +27 -8
  220. package/docs/reference/visual/backdrop-opacity.md +29 -8
  221. package/docs/reference/visual/backdrop-saturate.md +29 -8
  222. package/docs/reference/visual/backdrop-sepia.md +27 -8
  223. package/docs/reference/visual/background-attachment.md +23 -4
  224. package/docs/reference/visual/background-blend-mode.md +25 -4
  225. package/docs/reference/visual/background-clip.md +21 -4
  226. package/docs/reference/visual/background-color.md +33 -8
  227. package/docs/reference/visual/background-image.md +27 -8
  228. package/docs/reference/visual/background-origin.md +25 -4
  229. package/docs/reference/visual/background-position.md +29 -8
  230. package/docs/reference/visual/background-repeat.md +25 -4
  231. package/docs/reference/visual/background-size.md +29 -8
  232. package/docs/reference/visual/blend-modes.md +23 -4
  233. package/docs/reference/visual/border-radius.md +36 -4
  234. package/docs/reference/visual/border-style.md +25 -4
  235. package/docs/reference/visual/border-width.md +29 -8
  236. package/docs/reference/visual/border.md +56 -7
  237. package/docs/reference/visual/box-shadow.md +34 -4
  238. package/docs/reference/visual/caret-color.md +25 -8
  239. package/docs/reference/visual/color-scheme.md +23 -4
  240. package/docs/reference/visual/cursor.md +25 -4
  241. package/docs/reference/visual/field-sizing.md +23 -4
  242. package/docs/reference/visual/fill.md +29 -8
  243. package/docs/reference/visual/filter-blur.md +29 -8
  244. package/docs/reference/visual/filter-brightness.md +29 -8
  245. package/docs/reference/visual/filter-contrast.md +29 -8
  246. package/docs/reference/visual/filter-drop-shadow.md +29 -8
  247. package/docs/reference/visual/filter-grayscale.md +29 -8
  248. package/docs/reference/visual/filter-hue-rotate.md +29 -8
  249. package/docs/reference/visual/filter-invert.md +27 -8
  250. package/docs/reference/visual/filter-saturate.md +29 -8
  251. package/docs/reference/visual/filter-sepia.md +29 -8
  252. package/docs/reference/visual/font-family.md +25 -4
  253. package/docs/reference/visual/font-smoothing.md +23 -4
  254. package/docs/reference/visual/font-style.md +23 -4
  255. package/docs/reference/visual/font-variant-numeric.md +23 -4
  256. package/docs/reference/visual/font-weight.md +35 -4
  257. package/docs/reference/visual/forced-color-adjust.md +23 -4
  258. package/docs/reference/visual/hyphens.md +25 -4
  259. package/docs/reference/visual/letter-spacing.md +29 -8
  260. package/docs/reference/visual/line-clamp.md +29 -8
  261. package/docs/reference/visual/line-height.md +29 -8
  262. package/docs/reference/visual/list-style.md +25 -4
  263. package/docs/reference/visual/mask.md +25 -8
  264. package/docs/reference/visual/opacity.md +27 -4
  265. package/docs/reference/visual/outline.md +25 -8
  266. package/docs/reference/visual/pointer-events.md +23 -4
  267. package/docs/reference/visual/resize.md +27 -4
  268. package/docs/reference/visual/scroll-behavior.md +23 -4
  269. package/docs/reference/visual/scroll-margin.md +25 -8
  270. package/docs/reference/visual/scroll-padding.md +25 -8
  271. package/docs/reference/visual/scroll-snap-align.md +25 -4
  272. package/docs/reference/visual/scroll-snap-stop.md +23 -4
  273. package/docs/reference/visual/scroll-snap-type.md +25 -4
  274. package/docs/reference/visual/state-prefixes.md +21 -4
  275. package/docs/reference/visual/stroke-width.md +29 -8
  276. package/docs/reference/visual/stroke.md +27 -8
  277. package/docs/reference/visual/text-alignment.md +25 -4
  278. package/docs/reference/visual/text-color.md +31 -8
  279. package/docs/reference/visual/text-decoration.md +23 -4
  280. package/docs/reference/visual/text-indent.md +25 -8
  281. package/docs/reference/visual/text-overflow.md +21 -4
  282. package/docs/reference/visual/text-shadow.md +25 -8
  283. package/docs/reference/visual/text-size.md +41 -7
  284. package/docs/reference/visual/text-transform.md +25 -4
  285. package/docs/reference/visual/text-wrap.md +25 -4
  286. package/docs/reference/visual/touch-action.md +25 -4
  287. package/docs/reference/visual/transform-backface.md +23 -4
  288. package/docs/reference/visual/transform-origin.md +27 -8
  289. package/docs/reference/visual/transform-perspective-origin.md +25 -8
  290. package/docs/reference/visual/transform-perspective.md +25 -8
  291. package/docs/reference/visual/transform-rotate.md +29 -8
  292. package/docs/reference/visual/transform-scale.md +29 -8
  293. package/docs/reference/visual/transform-skew.md +29 -8
  294. package/docs/reference/visual/transform-style.md +23 -4
  295. package/docs/reference/visual/transform-translate.md +29 -8
  296. package/docs/reference/visual/transition-delay.md +25 -8
  297. package/docs/reference/visual/transition-duration.md +27 -8
  298. package/docs/reference/visual/transition-property.md +21 -4
  299. package/docs/reference/visual/transition-timing.md +29 -8
  300. package/docs/reference/visual/typography-keywords.md +27 -4
  301. package/docs/reference/visual/user-select.md +23 -4
  302. package/docs/reference/visual/vertical-align.md +25 -4
  303. package/docs/reference/visual/whitespace.md +25 -4
  304. package/docs/reference/visual/will-change.md +23 -4
  305. package/docs/reference/visual/word-break.md +25 -4
  306. package/package.json +2 -1
  307. package/playground/jit-tw-mix-test.html +238 -0
  308. package/playground/tw-convertor.html +696 -0
  309. package/scripts/build-dist.js +34 -29
  310. package/scripts/bundle-jit.js +45 -0
  311. package/scripts/convert-tailwind.js +759 -0
  312. package/scripts/generate-docs.js +65 -16
  313. package/src/cdn/jit.js +313 -102
  314. package/src/cli/commands/build.js +14 -6
  315. package/src/cli/commands/dev.js +28 -10
  316. package/src/compiler/generators/css.js +187 -28
  317. package/src/compiler/parser.js +23 -10
  318. package/src/compiler/tokenizer.js +19 -137
  319. package/src/config/defaults.js +45 -18
  320. package/src/core/constants.js +427 -0
  321. package/src/core/tokenizer-core.js +233 -0
  322. package/src/definitions/layout-alignment.js +210 -0
  323. package/src/definitions/layout-flex.js +155 -0
  324. package/src/definitions/layout-grid.js +134 -0
  325. package/src/definitions/layout-positioning.js +64 -0
  326. package/src/definitions/layout-table.js +129 -0
  327. package/src/definitions/layout-utilities.js +164 -0
  328. package/src/definitions/space.js +172 -0
  329. package/src/definitions/visual-backgrounds.js +231 -0
  330. package/src/definitions/visual-borders.js +66 -0
  331. package/src/definitions/visual-filters.js +111 -0
  332. package/src/definitions/visual-interactivity.js +159 -0
  333. package/src/definitions/visual-svg.js +41 -0
  334. package/src/definitions/visual-transform3d.js +74 -0
  335. package/src/definitions/visual-transforms.js +69 -0
  336. package/src/definitions/visual-transitions.js +144 -0
  337. package/src/definitions/visual-typography.js +214 -0
  338. package/src/definitions/visual.js +306 -1
  339. package/tests/integration/compiler.test.js +63 -2
  340. package/tests/unit/convert-tailwind.test.js +324 -0
  341. package/tests/unit/security.test.js +206 -0
@@ -79,6 +79,44 @@ export const flexDirection = {
79
79
  examples: [
80
80
  { code: '<div layout="flex row">Row direction</div>', description: 'Flex row' },
81
81
  { code: '<div layout="flex col">Column direction</div>', description: 'Flex column' }
82
+ ],
83
+ preview: [
84
+ {
85
+ title: 'Row Direction',
86
+ titleMs: 'Arah Baris',
87
+ description: 'Items arranged horizontally from left to right',
88
+ descriptionMs: 'Item disusun secara mendatar dari kiri ke kanan',
89
+ html: `<div layout="flex row" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
90
+ <span space="p:small" visual="bg:primary text:white rounded:small">1</span>
91
+ <span space="p:small" visual="bg:primary text:white rounded:small">2</span>
92
+ <span space="p:small" visual="bg:primary text:white rounded:small">3</span>
93
+ </div>`,
94
+ highlightValue: 'row'
95
+ },
96
+ {
97
+ title: 'Column Direction',
98
+ titleMs: 'Arah Lajur',
99
+ description: 'Items stacked vertically from top to bottom',
100
+ descriptionMs: 'Item disusun secara menegak dari atas ke bawah',
101
+ html: `<div layout="flex col" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
102
+ <span space="p:small" visual="bg:primary text:white rounded:small">1</span>
103
+ <span space="p:small" visual="bg:primary text:white rounded:small">2</span>
104
+ <span space="p:small" visual="bg:primary text:white rounded:small">3</span>
105
+ </div>`,
106
+ highlightValue: 'col'
107
+ },
108
+ {
109
+ title: 'Row Reverse',
110
+ titleMs: 'Baris Terbalik',
111
+ description: 'Items arranged horizontally from right to left',
112
+ descriptionMs: 'Item disusun secara mendatar dari kanan ke kiri',
113
+ html: `<div layout="flex row-reverse" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
114
+ <span space="p:small" visual="bg:primary text:white rounded:small">1</span>
115
+ <span space="p:small" visual="bg:primary text:white rounded:small">2</span>
116
+ <span space="p:small" visual="bg:primary text:white rounded:small">3</span>
117
+ </div>`,
118
+ highlightValue: 'row-reverse'
119
+ }
82
120
  ]
83
121
  };
84
122
 
@@ -100,6 +138,33 @@ export const flexWrap = {
100
138
  ],
101
139
  examples: [
102
140
  { code: '<div layout="flex wrap">Wrapping flex</div>', description: 'Allow items to wrap' }
141
+ ],
142
+ preview: [
143
+ {
144
+ title: 'Wrap Enabled',
145
+ titleMs: 'Bungkus Diaktifkan',
146
+ description: 'Items wrap to next line when container is full',
147
+ descriptionMs: 'Item membungkus ke baris seterusnya apabila bekas penuh',
148
+ html: `<div layout="flex wrap" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium" style="max-width: 200px;">
149
+ <span space="p:small" visual="bg:primary text:white rounded:small">Item 1</span>
150
+ <span space="p:small" visual="bg:primary text:white rounded:small">Item 2</span>
151
+ <span space="p:small" visual="bg:primary text:white rounded:small">Item 3</span>
152
+ <span space="p:small" visual="bg:primary text:white rounded:small">Item 4</span>
153
+ </div>`,
154
+ highlightValue: 'wrap'
155
+ },
156
+ {
157
+ title: 'No Wrap',
158
+ titleMs: 'Tiada Bungkusan',
159
+ description: 'Items stay on single line (may overflow)',
160
+ descriptionMs: 'Item kekal pada satu baris (mungkin melimpah)',
161
+ html: `<div layout="flex nowrap" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium" style="max-width: 200px; overflow: hidden;">
162
+ <span space="p:small" visual="bg:primary text:white rounded:small">Item 1</span>
163
+ <span space="p:small" visual="bg:primary text:white rounded:small">Item 2</span>
164
+ <span space="p:small" visual="bg:primary text:white rounded:small">Item 3</span>
165
+ </div>`,
166
+ highlightValue: 'nowrap'
167
+ }
103
168
  ]
104
169
  };
105
170
 
@@ -122,6 +187,31 @@ export const flexItems = {
122
187
  ],
123
188
  examples: [
124
189
  { code: '<div layout="grow">Growing item</div>', description: 'Allow item to grow' }
190
+ ],
191
+ preview: [
192
+ {
193
+ title: 'Flex Grow',
194
+ titleMs: 'Kembang Flex',
195
+ description: 'Middle item grows to fill available space',
196
+ descriptionMs: 'Item tengah berkembang untuk mengisi ruang kosong',
197
+ html: `<div layout="flex" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
198
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small">Fixed</span>
199
+ <span layout="grow text:center" space="p:small" visual="bg:primary text:white rounded:small">Grows</span>
200
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small">Fixed</span>
201
+ </div>`,
202
+ highlightValue: 'grow'
203
+ },
204
+ {
205
+ title: 'Flex Shrink',
206
+ titleMs: 'Kecil Flex',
207
+ description: 'Item shrinks when space is limited',
208
+ descriptionMs: 'Item mengecil apabila ruang terhad',
209
+ html: `<div layout="flex" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium" style="max-width: 250px;">
210
+ <span layout="shrink-0" space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small">No Shrink</span>
211
+ <span layout="shrink" space="p:small" visual="bg:primary text:white rounded:small">Can Shrink</span>
212
+ </div>`,
213
+ highlightValue: 'shrink'
214
+ }
125
215
  ]
126
216
  };
127
217
 
@@ -146,6 +236,31 @@ export const flexShorthand = {
146
236
  ],
147
237
  examples: [
148
238
  { code: '<div layout="flex:1">Flexible item</div>', description: 'Flex grow and shrink' }
239
+ ],
240
+ preview: [
241
+ {
242
+ title: 'Flex 1',
243
+ titleMs: 'Flex 1',
244
+ description: 'Equal distribution of space among items',
245
+ descriptionMs: 'Pengagihan ruang yang sama antara item',
246
+ html: `<div layout="flex" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
247
+ <span layout="flex:1 text:center" space="p:small" visual="bg:primary text:white rounded:small">flex:1</span>
248
+ <span layout="flex:1 text:center" space="p:small" visual="bg:primary text:white rounded:small">flex:1</span>
249
+ <span layout="flex:1 text:center" space="p:small" visual="bg:primary text:white rounded:small">flex:1</span>
250
+ </div>`,
251
+ highlightValue: 'flex:1'
252
+ },
253
+ {
254
+ title: 'Flex Auto vs None',
255
+ titleMs: 'Flex Auto vs Tiada',
256
+ description: 'Different flex behaviors compared',
257
+ descriptionMs: 'Perbandingan kelakuan flex berbeza',
258
+ html: `<div layout="flex" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
259
+ <span layout="flex:auto" space="p:small" visual="bg:primary text:white rounded:small">auto</span>
260
+ <span layout="flex:none" space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small">none</span>
261
+ </div>`,
262
+ highlightValue: 'flex:auto'
263
+ }
149
264
  ]
150
265
  };
151
266
 
@@ -169,6 +284,20 @@ export const flexBasis = {
169
284
  ],
170
285
  examples: [
171
286
  { code: '<div layout="basis:[200px]">200px basis</div>', description: 'Fixed basis' }
287
+ ],
288
+ preview: [
289
+ {
290
+ title: 'Fixed Basis',
291
+ titleMs: 'Asas Tetap',
292
+ description: 'Items with different basis sizes',
293
+ descriptionMs: 'Item dengan saiz asas berbeza',
294
+ html: `<div layout="flex" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
295
+ <span layout="basis:[100px] text:center" space="p:small" visual="bg:primary text:white rounded:small">100px</span>
296
+ <span layout="basis:[150px] text:center" space="p:small" visual="bg:primary text:white rounded:small">150px</span>
297
+ <span layout="basis:auto" space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small">auto</span>
298
+ </div>`,
299
+ highlightValue: 'basis:[100px]'
300
+ }
172
301
  ]
173
302
  };
174
303
 
@@ -192,6 +321,32 @@ export const order = {
192
321
  ],
193
322
  examples: [
194
323
  { code: '<div layout="order:first">First item</div>', description: 'Move to first' }
324
+ ],
325
+ preview: [
326
+ {
327
+ title: 'Reorder Items',
328
+ titleMs: 'Susun Semula Item',
329
+ description: 'Change visual order of flex items',
330
+ descriptionMs: 'Ubah susunan visual item flex',
331
+ html: `<div layout="flex" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
332
+ <span layout="order:3" space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small">A (order:3)</span>
333
+ <span layout="order:1" space="p:small" visual="bg:primary text:white rounded:small">B (order:1)</span>
334
+ <span layout="order:2" space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small">C (order:2)</span>
335
+ </div>`,
336
+ highlightValue: 'order:1'
337
+ },
338
+ {
339
+ title: 'First and Last',
340
+ titleMs: 'Pertama dan Terakhir',
341
+ description: 'Move items to start or end',
342
+ descriptionMs: 'Pindahkan item ke permulaan atau hujung',
343
+ html: `<div layout="flex" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
344
+ <span layout="order:last" space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small">First in DOM (order:last)</span>
345
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small">Middle</span>
346
+ <span layout="order:first" space="p:small" visual="bg:primary text:white rounded:small">Last in DOM (order:first)</span>
347
+ </div>`,
348
+ highlightValue: 'order:first'
349
+ }
195
350
  ]
196
351
  };
197
352
 
@@ -23,6 +23,36 @@ export const gridColumns = {
23
23
  examples: [
24
24
  { code: '<div layout="grid grid-cols:3">3 columns</div>', description: 'Three column grid' },
25
25
  { code: '<div layout="grid grid-cols:12">12 columns</div>', description: 'Twelve column grid' }
26
+ ],
27
+ preview: [
28
+ {
29
+ title: '3 Column Grid',
30
+ titleMs: 'Grid 3 Lajur',
31
+ description: 'Equal width columns with grid-cols:3',
32
+ descriptionMs: 'Lajur lebar sama dengan grid-cols:3',
33
+ html: `<div layout="grid grid-cols:3" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
34
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">1</span>
35
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">2</span>
36
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">3</span>
37
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">4</span>
38
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">5</span>
39
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">6</span>
40
+ </div>`,
41
+ highlightValue: 'grid-cols:3'
42
+ },
43
+ {
44
+ title: '4 Column Grid',
45
+ titleMs: 'Grid 4 Lajur',
46
+ description: 'Four equal columns layout',
47
+ descriptionMs: 'Susun atur empat lajur sama',
48
+ html: `<div layout="grid grid-cols:4" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
49
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">1</span>
50
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">2</span>
51
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">3</span>
52
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">4</span>
53
+ </div>`,
54
+ highlightValue: 'grid-cols:4'
55
+ }
26
56
  ]
27
57
  };
28
58
 
@@ -45,6 +75,23 @@ export const gridRows = {
45
75
  ],
46
76
  examples: [
47
77
  { code: '<div layout="grid grid-rows:3">3 rows</div>', description: 'Three row grid' }
78
+ ],
79
+ preview: [
80
+ {
81
+ title: 'Grid Rows',
82
+ titleMs: 'Baris Grid',
83
+ description: 'Define explicit row tracks in a grid',
84
+ descriptionMs: 'Tentukan trek baris eksplisit dalam grid',
85
+ html: `<div layout="grid grid-rows:3 grid-cols:2" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
86
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">1</span>
87
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">2</span>
88
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">3</span>
89
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">4</span>
90
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">5</span>
91
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">6</span>
92
+ </div>`,
93
+ highlightValue: 'grid-rows:3'
94
+ }
48
95
  ]
49
96
  };
50
97
 
@@ -67,6 +114,35 @@ export const gridColSpan = {
67
114
  examples: [
68
115
  { code: '<div layout="col-span:2">Spans 2 columns</div>', description: 'Span two columns' },
69
116
  { code: '<div layout="col-span:full">Full width</div>', description: 'Span all columns' }
117
+ ],
118
+ preview: [
119
+ {
120
+ title: 'Column Span',
121
+ titleMs: 'Rentang Lajur',
122
+ description: 'Item spanning multiple columns',
123
+ descriptionMs: 'Item merentangi berbilang lajur',
124
+ html: `<div layout="grid grid-cols:3" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
125
+ <span layout="col-span:2 text:center" space="p:small" visual="bg:primary text:white rounded:small">col-span:2</span>
126
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">1</span>
127
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">1</span>
128
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">1</span>
129
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">1</span>
130
+ </div>`,
131
+ highlightValue: 'col-span:2'
132
+ },
133
+ {
134
+ title: 'Full Width Span',
135
+ titleMs: 'Rentang Lebar Penuh',
136
+ description: 'Item spanning all columns',
137
+ descriptionMs: 'Item merentangi semua lajur',
138
+ html: `<div layout="grid grid-cols:3" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
139
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">1</span>
140
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">2</span>
141
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">3</span>
142
+ <span layout="col-span:full text:center" space="p:small" visual="bg:primary text:white rounded:small">col-span:full</span>
143
+ </div>`,
144
+ highlightValue: 'col-span:full'
145
+ }
70
146
  ]
71
147
  };
72
148
 
@@ -88,6 +164,22 @@ export const gridRowSpan = {
88
164
  ],
89
165
  examples: [
90
166
  { code: '<div layout="row-span:2">Spans 2 rows</div>', description: 'Span two rows' }
167
+ ],
168
+ preview: [
169
+ {
170
+ title: 'Row Span',
171
+ titleMs: 'Rentang Baris',
172
+ description: 'Item spanning multiple rows',
173
+ descriptionMs: 'Item merentangi berbilang baris',
174
+ html: `<div layout="grid grid-cols:3 grid-rows:2" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
175
+ <span layout="row-span:2 flex center" space="p:small" visual="bg:primary text:white rounded:small">row-span:2</span>
176
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">1</span>
177
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">2</span>
178
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">3</span>
179
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small" layout="text:center">4</span>
180
+ </div>`,
181
+ highlightValue: 'row-span:2'
182
+ }
91
183
  ]
92
184
  };
93
185
 
@@ -111,6 +203,34 @@ export const gridAutoFlow = {
111
203
  ],
112
204
  examples: [
113
205
  { code: '<div layout="grid grid-flow:col">Column flow</div>', description: 'Column-based flow' }
206
+ ],
207
+ preview: [
208
+ {
209
+ title: 'Row Flow',
210
+ titleMs: 'Aliran Baris',
211
+ description: 'Items flow by row (default)',
212
+ descriptionMs: 'Item mengalir mengikut baris (lalai)',
213
+ html: `<div layout="grid grid-cols:3 grid-flow:row" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
214
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">1</span>
215
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">2</span>
216
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">3</span>
217
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">4</span>
218
+ </div>`,
219
+ highlightValue: 'grid-flow:row'
220
+ },
221
+ {
222
+ title: 'Column Flow',
223
+ titleMs: 'Aliran Lajur',
224
+ description: 'Items flow by column',
225
+ descriptionMs: 'Item mengalir mengikut lajur',
226
+ html: `<div layout="grid grid-rows:2 grid-flow:col" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
227
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">1</span>
228
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">2</span>
229
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">3</span>
230
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">4</span>
231
+ </div>`,
232
+ highlightValue: 'grid-flow:col'
233
+ }
114
234
  ]
115
235
  };
116
236
 
@@ -134,6 +254,20 @@ export const gridAutoSizing = {
134
254
  ],
135
255
  examples: [
136
256
  { code: '<div layout="grid auto-cols:min">Auto min columns</div>', description: 'Min-content columns' }
257
+ ],
258
+ preview: [
259
+ {
260
+ title: 'Auto Columns',
261
+ titleMs: 'Lajur Automatik',
262
+ description: 'Automatically sized column tracks',
263
+ descriptionMs: 'Trek lajur bersaiz automatik',
264
+ html: `<div layout="grid grid-flow:col auto-cols:fr" space="g:small p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
265
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">Auto 1</span>
266
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">Auto 2</span>
267
+ <span space="p:small" visual="bg:primary text:white rounded:small" layout="text:center">Auto 3</span>
268
+ </div>`,
269
+ highlightValue: 'auto-cols:fr'
270
+ }
137
271
  ]
138
272
  };
139
273
 
@@ -24,6 +24,29 @@ export const position = {
24
24
  examples: [
25
25
  { code: '<div layout="absolute">Absolute positioned</div>', description: 'Absolute position' },
26
26
  { code: '<div layout="fixed">Fixed to viewport</div>', description: 'Fixed position' }
27
+ ],
28
+ preview: [
29
+ {
30
+ title: 'Relative Position',
31
+ titleMs: 'Kedudukan Relatif',
32
+ description: 'Element positioned relative to normal flow',
33
+ descriptionMs: 'Elemen diletakkan relatif kepada aliran normal',
34
+ html: `<div layout="relative" space="p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
35
+ <span space="p:small" visual="bg:primary text:white rounded:small">Relative Container</span>
36
+ <span layout="absolute" style="top: 0; right: 0;" space="p:tiny" visual="bg:danger text:white rounded:small">Abs</span>
37
+ </div>`,
38
+ highlightValue: 'relative'
39
+ },
40
+ {
41
+ title: 'Sticky Position',
42
+ titleMs: 'Kedudukan Melekit',
43
+ description: 'Element sticks when scrolling past it',
44
+ descriptionMs: 'Elemen melekat apabila skrol melepasi',
45
+ html: `<div space="p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
46
+ <span layout="sticky" style="top: 0;" space="p:small" visual="bg:primary text:white rounded:small">Sticky Header</span>
47
+ </div>`,
48
+ highlightValue: 'sticky'
49
+ }
27
50
  ]
28
51
  };
29
52
 
@@ -52,6 +75,32 @@ export const inset = {
52
75
  examples: [
53
76
  { code: '<div layout="absolute inset:0">Full coverage</div>', description: 'Cover parent' },
54
77
  { code: '<div layout="absolute top:medium left:medium">Offset</div>', description: 'Offset positioning' }
78
+ ],
79
+ preview: [
80
+ {
81
+ title: 'Inset Zero',
82
+ titleMs: 'Inset Sifar',
83
+ description: 'Cover entire parent with inset:0',
84
+ descriptionMs: 'Tutup keseluruhan induk dengan inset:0',
85
+ html: `<div layout="relative" space="p:large" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium" style="height: 100px;">
86
+ <span space="p:small" visual="bg:neutral-300 dark:bg:neutral-700 text:neutral-800 dark:text:neutral-200 rounded:small">Parent</span>
87
+ <span layout="absolute inset:0 flex center" visual="bg:primary/50 text:white rounded:medium">inset:0</span>
88
+ </div>`,
89
+ highlightValue: 'inset:0'
90
+ },
91
+ {
92
+ title: 'Directional Insets',
93
+ titleMs: 'Inset Arah',
94
+ description: 'Position with top, right, bottom, left',
95
+ descriptionMs: 'Kedudukan dengan atas, kanan, bawah, kiri',
96
+ html: `<div layout="relative" space="p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium" style="height: 80px;">
97
+ <span layout="absolute top:0 left:0" space="p:tiny" visual="bg:primary text:white rounded:small">TL</span>
98
+ <span layout="absolute top:0 right:0" space="p:tiny" visual="bg:primary text:white rounded:small">TR</span>
99
+ <span layout="absolute bottom:0 left:0" space="p:tiny" visual="bg:primary text:white rounded:small">BL</span>
100
+ <span layout="absolute bottom:0 right:0" space="p:tiny" visual="bg:primary text:white rounded:small">BR</span>
101
+ </div>`,
102
+ highlightValue: 'top:0'
103
+ }
55
104
  ]
56
105
  };
57
106
 
@@ -76,6 +125,21 @@ export const zIndex = {
76
125
  ],
77
126
  examples: [
78
127
  { code: '<div layout="z:top">On top</div>', description: 'Highest z-index' }
128
+ ],
129
+ preview: [
130
+ {
131
+ title: 'Z-Index Layers',
132
+ titleMs: 'Lapisan Z-Index',
133
+ description: 'Control stacking order of positioned elements',
134
+ descriptionMs: 'Kawal susunan tindanan elemen yang diletakkan',
135
+ html: `<div layout="relative" space="p:medium" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium" style="height: 80px;">
136
+ <span layout="absolute z:base" style="left: 0; top: 10px;" space="p:small" visual="bg:neutral-400 text:white rounded:small">z:base</span>
137
+ <span layout="absolute z:low" style="left: 30px; top: 20px;" space="p:small" visual="bg:neutral-500 text:white rounded:small">z:low</span>
138
+ <span layout="absolute z:mid" style="left: 60px; top: 30px;" space="p:small" visual="bg:neutral-600 text:white rounded:small">z:mid</span>
139
+ <span layout="absolute z:high" style="left: 90px; top: 40px;" space="p:small" visual="bg:primary text:white rounded:small">z:high</span>
140
+ </div>`,
141
+ highlightValue: 'z:high'
142
+ }
79
143
  ]
80
144
  };
81
145
 
@@ -20,6 +20,46 @@ export const borderCollapse = {
20
20
  ],
21
21
  examples: [
22
22
  { code: '<table layout="border:collapse">Collapsed table</table>', description: 'Collapse table borders' }
23
+ ],
24
+ preview: [
25
+ {
26
+ title: 'Border Collapse',
27
+ titleMs: 'Runtuh Sempadan',
28
+ description: 'Table borders collapse into single lines',
29
+ descriptionMs: 'Sempadan jadual runtuh menjadi satu baris',
30
+ html: `<table layout="border:collapse" visual="border:1 border:neutral-300 dark:border:neutral-700" style="width: 100%;">
31
+ <tbody>
32
+ <tr>
33
+ <td space="p:small" visual="border:1 border:neutral-300 dark:border:neutral-700 bg:primary text:white">A1</td>
34
+ <td space="p:small" visual="border:1 border:neutral-300 dark:border:neutral-700 bg:primary text:white">A2</td>
35
+ </tr>
36
+ <tr>
37
+ <td space="p:small" visual="border:1 border:neutral-300 dark:border:neutral-700 bg:primary text:white">B1</td>
38
+ <td space="p:small" visual="border:1 border:neutral-300 dark:border:neutral-700 bg:primary text:white">B2</td>
39
+ </tr>
40
+ </tbody>
41
+ </table>`,
42
+ highlightValue: 'border:collapse'
43
+ },
44
+ {
45
+ title: 'Border Separate',
46
+ titleMs: 'Asingkan Sempadan',
47
+ description: 'Table borders are separate (default)',
48
+ descriptionMs: 'Sempadan jadual diasingkan (lalai)',
49
+ html: `<table layout="border:separate" visual="border:1 border:neutral-300 dark:border:neutral-700" style="width: 100%; border-spacing: 4px;">
50
+ <tbody>
51
+ <tr>
52
+ <td space="p:small" visual="border:1 border:neutral-300 dark:border:neutral-700 bg:primary text:white rounded:small">A1</td>
53
+ <td space="p:small" visual="border:1 border:neutral-300 dark:border:neutral-700 bg:primary text:white rounded:small">A2</td>
54
+ </tr>
55
+ <tr>
56
+ <td space="p:small" visual="border:1 border:neutral-300 dark:border:neutral-700 bg:primary text:white rounded:small">B1</td>
57
+ <td space="p:small" visual="border:1 border:neutral-300 dark:border:neutral-700 bg:primary text:white rounded:small">B2</td>
58
+ </tr>
59
+ </tbody>
60
+ </table>`,
61
+ highlightValue: 'border:separate'
62
+ }
23
63
  ]
24
64
  };
25
65
 
@@ -44,6 +84,27 @@ export const borderSpacing = {
44
84
  ],
45
85
  examples: [
46
86
  { code: '<table layout="border-separate border-spacing:small">Spaced</table>', description: 'Spaced table borders' }
87
+ ],
88
+ preview: [
89
+ {
90
+ title: 'Border Spacing',
91
+ titleMs: 'Jarak Sempadan',
92
+ description: 'Space between table cell borders',
93
+ descriptionMs: 'Jarak antara sempadan sel jadual',
94
+ html: `<table layout="border:separate" style="width: 100%; border-spacing: 8px;">
95
+ <tbody>
96
+ <tr>
97
+ <td space="p:small" visual="bg:primary text:white rounded:small">A1</td>
98
+ <td space="p:small" visual="bg:primary text:white rounded:small">A2</td>
99
+ </tr>
100
+ <tr>
101
+ <td space="p:small" visual="bg:primary text:white rounded:small">B1</td>
102
+ <td space="p:small" visual="bg:primary text:white rounded:small">B2</td>
103
+ </tr>
104
+ </tbody>
105
+ </table>`,
106
+ highlightValue: 'border-spacing:small'
107
+ }
47
108
  ]
48
109
  };
49
110
 
@@ -64,6 +125,40 @@ export const tableLayout = {
64
125
  ],
65
126
  examples: [
66
127
  { code: '<table layout="table:fixed">Fixed width columns</table>', description: 'Fixed column widths' }
128
+ ],
129
+ preview: [
130
+ {
131
+ title: 'Fixed Table Layout',
132
+ titleMs: 'Susun Atur Jadual Tetap',
133
+ description: 'Columns have fixed equal widths',
134
+ descriptionMs: 'Lajur mempunyai lebar tetap sama',
135
+ html: `<table layout="table:fixed" style="width: 100%;" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
136
+ <tbody>
137
+ <tr>
138
+ <td space="p:small" visual="bg:primary text:white">Fixed</td>
139
+ <td space="p:small" visual="bg:primary text:white">Column</td>
140
+ <td space="p:small" visual="bg:primary text:white">Widths</td>
141
+ </tr>
142
+ </tbody>
143
+ </table>`,
144
+ highlightValue: 'table:fixed'
145
+ },
146
+ {
147
+ title: 'Auto Table Layout',
148
+ titleMs: 'Susun Atur Jadual Auto',
149
+ description: 'Columns adjust to content width',
150
+ descriptionMs: 'Lajur menyesuaikan dengan lebar kandungan',
151
+ html: `<table layout="table:auto" style="width: 100%;" visual="bg:neutral-100 dark:bg:neutral-900 rounded:medium">
152
+ <tbody>
153
+ <tr>
154
+ <td space="p:small" visual="bg:primary text:white">Short</td>
155
+ <td space="p:small" visual="bg:primary text:white">Much Longer Content Here</td>
156
+ <td space="p:small" visual="bg:primary text:white">Med</td>
157
+ </tr>
158
+ </tbody>
159
+ </table>`,
160
+ highlightValue: 'table:auto'
161
+ }
67
162
  ]
68
163
  };
69
164
 
@@ -84,6 +179,40 @@ export const captionSide = {
84
179
  ],
85
180
  examples: [
86
181
  { code: '<caption layout="caption:bottom">Bottom caption</caption>', description: 'Bottom caption' }
182
+ ],
183
+ preview: [
184
+ {
185
+ title: 'Caption Top',
186
+ titleMs: 'Kapsyen Atas',
187
+ description: 'Table caption at the top',
188
+ descriptionMs: 'Kapsyen jadual di atas',
189
+ html: `<table style="width: 100%;">
190
+ <caption layout="caption:top" space="p:small" visual="text:neutral-600 dark:text:neutral-400">Table Caption (Top)</caption>
191
+ <tbody>
192
+ <tr>
193
+ <td space="p:small" visual="bg:primary text:white rounded:small">Data</td>
194
+ <td space="p:small" visual="bg:primary text:white rounded:small">Data</td>
195
+ </tr>
196
+ </tbody>
197
+ </table>`,
198
+ highlightValue: 'caption:top'
199
+ },
200
+ {
201
+ title: 'Caption Bottom',
202
+ titleMs: 'Kapsyen Bawah',
203
+ description: 'Table caption at the bottom',
204
+ descriptionMs: 'Kapsyen jadual di bawah',
205
+ html: `<table style="width: 100%;">
206
+ <caption layout="caption:bottom" space="p:small" visual="text:neutral-600 dark:text:neutral-400">Table Caption (Bottom)</caption>
207
+ <tbody>
208
+ <tr>
209
+ <td space="p:small" visual="bg:primary text:white rounded:small">Data</td>
210
+ <td space="p:small" visual="bg:primary text:white rounded:small">Data</td>
211
+ </tr>
212
+ </tbody>
213
+ </table>`,
214
+ highlightValue: 'caption:bottom'
215
+ }
87
216
  ]
88
217
  };
89
218