@ttdk-design-system/library-svelte 0.0.0-stage → 1.0.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 (270) hide show
  1. package/AI_GUIDE.md +6518 -0
  2. package/dist/core/index.d.ts +2 -0
  3. package/dist/core/index.js +2 -0
  4. package/dist/core/tailwind-preset.cjs +62 -0
  5. package/dist/core/tailwind-preset.d.cts +63 -0
  6. package/dist/core/tailwind-preset.d.ts +74 -0
  7. package/dist/core/tailwind-preset.js +79 -0
  8. package/dist/core/theme/tokens.css +663 -0
  9. package/dist/core/types.d.ts +152 -0
  10. package/dist/core/types.js +735 -0
  11. package/dist/index.d.ts +14 -0
  12. package/dist/index.js +15 -0
  13. package/dist/tailwind-preset.cjs +62 -0
  14. package/dist/tailwind-preset.d.cts +63 -0
  15. package/dist/tailwind-preset.d.ts +74 -0
  16. package/dist/tailwind-preset.js +79 -0
  17. package/dist/types.d.ts +1 -0
  18. package/dist/types.js +1 -0
  19. package/dist/web/accordion/AI_GUIDE.md +149 -0
  20. package/dist/web/accordion/accordion.css +1 -0
  21. package/dist/web/accordion/accordion.svelte +217 -0
  22. package/dist/web/accordion/accordion.svelte.d.ts +224 -0
  23. package/dist/web/accordion/index.d.ts +2 -0
  24. package/dist/web/accordion/index.js +2 -0
  25. package/dist/web/accordion/manifest.json +351 -0
  26. package/dist/web/alert/AI_GUIDE.md +139 -0
  27. package/dist/web/alert/alert.css +1 -0
  28. package/dist/web/alert/alert.svelte +175 -0
  29. package/dist/web/alert/alert.svelte.d.ts +165 -0
  30. package/dist/web/alert/index.d.ts +2 -0
  31. package/dist/web/alert/index.js +2 -0
  32. package/dist/web/alert/manifest.json +240 -0
  33. package/dist/web/avatar/AI_GUIDE.md +118 -0
  34. package/dist/web/avatar/avatar.css +1 -0
  35. package/dist/web/avatar/avatar.svelte +108 -0
  36. package/dist/web/avatar/avatar.svelte.d.ts +147 -0
  37. package/dist/web/avatar/index.d.ts +2 -0
  38. package/dist/web/avatar/index.js +2 -0
  39. package/dist/web/avatar/manifest.json +195 -0
  40. package/dist/web/badge/AI_GUIDE.md +94 -0
  41. package/dist/web/badge/badge.css +1 -0
  42. package/dist/web/badge/badge.svelte +50 -0
  43. package/dist/web/badge/badge.svelte.d.ts +111 -0
  44. package/dist/web/badge/index.d.ts +2 -0
  45. package/dist/web/badge/index.js +2 -0
  46. package/dist/web/badge/manifest.json +141 -0
  47. package/dist/web/banner/AI_GUIDE.md +130 -0
  48. package/dist/web/banner/banner.css +1 -0
  49. package/dist/web/banner/banner.svelte +180 -0
  50. package/dist/web/banner/banner.svelte.d.ts +172 -0
  51. package/dist/web/banner/index.d.ts +2 -0
  52. package/dist/web/banner/index.js +2 -0
  53. package/dist/web/banner/manifest.json +240 -0
  54. package/dist/web/breadcrumb/AI_GUIDE.md +120 -0
  55. package/dist/web/breadcrumb/breadcrumb.css +1 -0
  56. package/dist/web/breadcrumb/breadcrumb.svelte +168 -0
  57. package/dist/web/breadcrumb/breadcrumb.svelte.d.ts +141 -0
  58. package/dist/web/breadcrumb/index.d.ts +2 -0
  59. package/dist/web/breadcrumb/index.js +2 -0
  60. package/dist/web/breadcrumb/manifest.json +225 -0
  61. package/dist/web/button/AI_GUIDE.md +121 -0
  62. package/dist/web/button/button.css +1 -0
  63. package/dist/web/button/button.svelte +154 -0
  64. package/dist/web/button/button.svelte.d.ts +159 -0
  65. package/dist/web/button/index.d.ts +2 -0
  66. package/dist/web/button/index.js +2 -0
  67. package/dist/web/button/manifest.json +177 -0
  68. package/dist/web/calendar/AI_GUIDE.md +151 -0
  69. package/dist/web/calendar/calendar.css +1 -0
  70. package/dist/web/calendar/calendar.svelte +1091 -0
  71. package/dist/web/calendar/calendar.svelte.d.ts +268 -0
  72. package/dist/web/calendar/index.d.ts +2 -0
  73. package/dist/web/calendar/index.js +2 -0
  74. package/dist/web/calendar/manifest.json +470 -0
  75. package/dist/web/card/AI_GUIDE.md +133 -0
  76. package/dist/web/card/card.css +1 -0
  77. package/dist/web/card/card.svelte +217 -0
  78. package/dist/web/card/card.svelte.d.ts +242 -0
  79. package/dist/web/card/index.d.ts +2 -0
  80. package/dist/web/card/index.js +2 -0
  81. package/dist/web/card/manifest.json +357 -0
  82. package/dist/web/checkbox/AI_GUIDE.md +146 -0
  83. package/dist/web/checkbox/checkbox.css +1 -0
  84. package/dist/web/checkbox/checkbox.svelte +131 -0
  85. package/dist/web/checkbox/checkbox.svelte.d.ts +199 -0
  86. package/dist/web/checkbox/index.d.ts +2 -0
  87. package/dist/web/checkbox/index.js +2 -0
  88. package/dist/web/checkbox/manifest.json +294 -0
  89. package/dist/web/chip/AI_GUIDE.md +186 -0
  90. package/dist/web/chip/chip.css +1 -0
  91. package/dist/web/chip/chip.svelte +113 -0
  92. package/dist/web/chip/chip.svelte.d.ts +145 -0
  93. package/dist/web/chip/index.d.ts +2 -0
  94. package/dist/web/chip/index.js +2 -0
  95. package/dist/web/chip/manifest.json +186 -0
  96. package/dist/web/dropdown/AI_GUIDE.md +167 -0
  97. package/dist/web/dropdown/dropdown.css +1 -0
  98. package/dist/web/dropdown/dropdown.svelte +844 -0
  99. package/dist/web/dropdown/dropdown.svelte.d.ts +361 -0
  100. package/dist/web/dropdown/index.d.ts +2 -0
  101. package/dist/web/dropdown/index.js +2 -0
  102. package/dist/web/dropdown/manifest.json +576 -0
  103. package/dist/web/flex/AI_GUIDE.md +113 -0
  104. package/dist/web/flex/flex-item.svelte +37 -0
  105. package/dist/web/flex/flex-item.svelte.d.ts +96 -0
  106. package/dist/web/flex/flex.css +1 -0
  107. package/dist/web/flex/flex.svelte +39 -0
  108. package/dist/web/flex/flex.svelte.d.ts +104 -0
  109. package/dist/web/flex/index.d.ts +3 -0
  110. package/dist/web/flex/index.js +3 -0
  111. package/dist/web/flex/manifest.json +162 -0
  112. package/dist/web/form/index.d.ts +1 -0
  113. package/dist/web/form/index.js +2 -0
  114. package/dist/web/grid/AI_GUIDE.md +112 -0
  115. package/dist/web/grid/grid-item.svelte +41 -0
  116. package/dist/web/grid/grid-item.svelte.d.ts +112 -0
  117. package/dist/web/grid/grid.css +1 -0
  118. package/dist/web/grid/grid.svelte +37 -0
  119. package/dist/web/grid/grid.svelte.d.ts +96 -0
  120. package/dist/web/grid/index.d.ts +3 -0
  121. package/dist/web/grid/index.js +3 -0
  122. package/dist/web/grid/manifest.json +153 -0
  123. package/dist/web/index.d.ts +58 -0
  124. package/dist/web/index.js +57 -0
  125. package/dist/web/input/AI_GUIDE.md +159 -0
  126. package/dist/web/input/index.d.ts +2 -0
  127. package/dist/web/input/index.js +2 -0
  128. package/dist/web/input/input.css +1 -0
  129. package/dist/web/input/input.svelte +283 -0
  130. package/dist/web/input/input.svelte.d.ts +283 -0
  131. package/dist/web/input/manifest.json +465 -0
  132. package/dist/web/input-number/AI_GUIDE.md +164 -0
  133. package/dist/web/input-number/index.d.ts +2 -0
  134. package/dist/web/input-number/index.js +2 -0
  135. package/dist/web/input-number/input-number.css +1 -0
  136. package/dist/web/input-number/input-number.svelte +783 -0
  137. package/dist/web/input-number/input-number.svelte.d.ts +352 -0
  138. package/dist/web/input-number/manifest.json +575 -0
  139. package/dist/web/modal/AI_GUIDE.md +171 -0
  140. package/dist/web/modal/index.d.ts +2 -0
  141. package/dist/web/modal/index.js +2 -0
  142. package/dist/web/modal/manifest.json +375 -0
  143. package/dist/web/modal/modal.css +1 -0
  144. package/dist/web/modal/modal.svelte +333 -0
  145. package/dist/web/modal/modal.svelte.d.ts +231 -0
  146. package/dist/web/pagination/AI_GUIDE.md +148 -0
  147. package/dist/web/pagination/index.d.ts +19 -0
  148. package/dist/web/pagination/index.js +19 -0
  149. package/dist/web/pagination/manifest.json +432 -0
  150. package/dist/web/pagination/pagination-content.svelte +25 -0
  151. package/dist/web/pagination/pagination-content.svelte.d.ts +36 -0
  152. package/dist/web/pagination/pagination-ellipsis.svelte +38 -0
  153. package/dist/web/pagination/pagination-ellipsis.svelte.d.ts +35 -0
  154. package/dist/web/pagination/pagination-first.svelte +105 -0
  155. package/dist/web/pagination/pagination-first.svelte.d.ts +74 -0
  156. package/dist/web/pagination/pagination-item.svelte +25 -0
  157. package/dist/web/pagination/pagination-item.svelte.d.ts +36 -0
  158. package/dist/web/pagination/pagination-last.svelte +105 -0
  159. package/dist/web/pagination/pagination-last.svelte.d.ts +74 -0
  160. package/dist/web/pagination/pagination-link.svelte +67 -0
  161. package/dist/web/pagination/pagination-link.svelte.d.ts +69 -0
  162. package/dist/web/pagination/pagination-next.svelte +99 -0
  163. package/dist/web/pagination/pagination-next.svelte.d.ts +75 -0
  164. package/dist/web/pagination/pagination-previous.svelte +99 -0
  165. package/dist/web/pagination/pagination-previous.svelte.d.ts +75 -0
  166. package/dist/web/pagination/pagination.css +1 -0
  167. package/dist/web/pagination/pagination.svelte +471 -0
  168. package/dist/web/pagination/pagination.svelte.d.ts +256 -0
  169. package/dist/web/popover/AI_GUIDE.md +163 -0
  170. package/dist/web/popover/index.d.ts +3 -0
  171. package/dist/web/popover/index.js +3 -0
  172. package/dist/web/popover/manifest.json +396 -0
  173. package/dist/web/popover/popover.css +1 -0
  174. package/dist/web/popover/popover.svelte +497 -0
  175. package/dist/web/popover/popover.svelte.d.ts +116 -0
  176. package/dist/web/radio/AI_GUIDE.md +155 -0
  177. package/dist/web/radio/index.d.ts +2 -0
  178. package/dist/web/radio/index.js +2 -0
  179. package/dist/web/radio/manifest.json +294 -0
  180. package/dist/web/radio/radio.css +1 -0
  181. package/dist/web/radio/radio.svelte +123 -0
  182. package/dist/web/radio/radio.svelte.d.ts +192 -0
  183. package/dist/web/selectbox/AI_GUIDE.md +216 -0
  184. package/dist/web/selectbox/index.d.ts +2 -0
  185. package/dist/web/selectbox/index.js +2 -0
  186. package/dist/web/selectbox/manifest.json +477 -0
  187. package/dist/web/selectbox/selectbox.css +1 -0
  188. package/dist/web/selectbox/selectbox.svelte +704 -0
  189. package/dist/web/selectbox/selectbox.svelte.d.ts +296 -0
  190. package/dist/web/sonner/AI_GUIDE.md +98 -0
  191. package/dist/web/sonner/index.d.ts +46 -0
  192. package/dist/web/sonner/index.js +64 -0
  193. package/dist/web/sonner/manifest.json +132 -0
  194. package/dist/web/sonner/sonner.css +1 -0
  195. package/dist/web/sonner/sonner.svelte +85 -0
  196. package/dist/web/sonner/sonner.svelte.d.ts +105 -0
  197. package/dist/web/table/AI_GUIDE.md +145 -0
  198. package/dist/web/table/index.d.ts +21 -0
  199. package/dist/web/table/index.js +22 -0
  200. package/dist/web/table/manifest.json +168 -0
  201. package/dist/web/table/table-body.svelte +23 -0
  202. package/dist/web/table/table-body.svelte.d.ts +36 -0
  203. package/dist/web/table/table-caption.svelte +23 -0
  204. package/dist/web/table/table-caption.svelte.d.ts +36 -0
  205. package/dist/web/table/table-cell.svelte +35 -0
  206. package/dist/web/table/table-cell.svelte.d.ts +57 -0
  207. package/dist/web/table/table-empty.svelte +56 -0
  208. package/dist/web/table/table-empty.svelte.d.ts +65 -0
  209. package/dist/web/table/table-footer.svelte +23 -0
  210. package/dist/web/table/table-footer.svelte.d.ts +36 -0
  211. package/dist/web/table/table-head.svelte +39 -0
  212. package/dist/web/table/table-head.svelte.d.ts +58 -0
  213. package/dist/web/table/table-header.svelte +23 -0
  214. package/dist/web/table/table-header.svelte.d.ts +36 -0
  215. package/dist/web/table/table-row.svelte +33 -0
  216. package/dist/web/table/table-row.svelte.d.ts +52 -0
  217. package/dist/web/table/table.css +1 -0
  218. package/dist/web/table/table.svelte +178 -0
  219. package/dist/web/table/table.svelte.d.ts +120 -0
  220. package/dist/web/tabs/AI_GUIDE.md +150 -0
  221. package/dist/web/tabs/index.d.ts +2 -0
  222. package/dist/web/tabs/index.js +2 -0
  223. package/dist/web/tabs/manifest.json +315 -0
  224. package/dist/web/tabs/tabs.css +1 -0
  225. package/dist/web/tabs/tabs.svelte +138 -0
  226. package/dist/web/tabs/tabs.svelte.d.ts +204 -0
  227. package/dist/web/text/AI_GUIDE.md +129 -0
  228. package/dist/web/text/index.d.ts +2 -0
  229. package/dist/web/text/index.js +2 -0
  230. package/dist/web/text/manifest.json +195 -0
  231. package/dist/web/text/text.css +1 -0
  232. package/dist/web/text/text.svelte +515 -0
  233. package/dist/web/text/text.svelte.d.ts +168 -0
  234. package/dist/web/textarea/AI_GUIDE.md +141 -0
  235. package/dist/web/textarea/index.d.ts +2 -0
  236. package/dist/web/textarea/index.js +2 -0
  237. package/dist/web/textarea/manifest.json +438 -0
  238. package/dist/web/textarea/textarea.css +1 -0
  239. package/dist/web/textarea/textarea.svelte +224 -0
  240. package/dist/web/textarea/textarea.svelte.d.ts +274 -0
  241. package/dist/web/tooltip/AI_GUIDE.md +110 -0
  242. package/dist/web/tooltip/index.d.ts +2 -0
  243. package/dist/web/tooltip/index.js +2 -0
  244. package/dist/web/tooltip/manifest.json +222 -0
  245. package/dist/web/tooltip/tooltip.css +1 -0
  246. package/dist/web/tooltip/tooltip.svelte +292 -0
  247. package/dist/web/tooltip/tooltip.svelte.d.ts +140 -0
  248. package/dist/webview/bottomsheet/AI_GUIDE.md +141 -0
  249. package/dist/webview/bottomsheet/bottomsheet.css +1 -0
  250. package/dist/webview/bottomsheet/bottomsheet.svelte +462 -0
  251. package/dist/webview/bottomsheet/bottomsheet.svelte.d.ts +200 -0
  252. package/dist/webview/bottomsheet/index.d.ts +4 -0
  253. package/dist/webview/bottomsheet/index.js +3 -0
  254. package/dist/webview/bottomsheet/manifest.json +377 -0
  255. package/dist/webview/button/AI_GUIDE.md +79 -0
  256. package/dist/webview/button/button-ios.css +1 -0
  257. package/dist/webview/button/button-ios.svelte +58 -0
  258. package/dist/webview/button/button-ios.svelte.d.ts +114 -0
  259. package/dist/webview/button/button-material.css +1 -0
  260. package/dist/webview/button/button-material.svelte +58 -0
  261. package/dist/webview/button/button-material.svelte.d.ts +114 -0
  262. package/dist/webview/button/index.d.ts +6 -0
  263. package/dist/webview/button/index.js +4 -0
  264. package/dist/webview/button/manifest.json +148 -0
  265. package/dist/webview/index.d.ts +6 -0
  266. package/dist/webview/index.js +6 -0
  267. package/llms.txt +6518 -0
  268. package/package.json +709 -4
  269. package/ttdk-manifest.json +10188 -0
  270. package/README.md +0 -3
@@ -0,0 +1,112 @@
1
+ import { SvelteComponent } from "svelte";
2
+ export interface GridItemBreakpointProps {
3
+ /**
4
+ * Jumlah kolom yang ditempati item ini (grid-column).
5
+ * Nilai angka N (misal: 6 atau 12) otomatis dikonversi ke 'span N / span N'.
6
+ * Nilai string (misal: "span 4", "1 / -1", "auto").
7
+ */
8
+ col?: number | string;
9
+ /**
10
+ * Posisi awal garis kolom (grid-column-start).
11
+ */
12
+ colStart?: number | string;
13
+ /**
14
+ * Posisi akhir garis kolom (grid-column-end).
15
+ */
16
+ colEnd?: number | string;
17
+ /**
18
+ * Jumlah baris yang ditempati item ini (grid-row).
19
+ * Nilai angka N otomatis dikonversi ke 'span N / span N'.
20
+ */
21
+ row?: number | string;
22
+ /**
23
+ * Posisi awal garis baris (grid-row-start).
24
+ */
25
+ rowStart?: number | string;
26
+ /**
27
+ * Posisi akhir garis baris (grid-row-end).
28
+ */
29
+ rowEnd?: number | string;
30
+ /**
31
+ * Perataan horizontal item di dalam sel grid (justify-self).
32
+ */
33
+ justifySelf?: "auto" | "start" | "center" | "end" | "stretch";
34
+ /**
35
+ * Urutan tampilan item di dalam grid (order).
36
+ */
37
+ order?: number | string;
38
+ }
39
+ export interface GridItemProps extends GridItemBreakpointProps {
40
+ /**
41
+ * Override pada breakpoint sm (min-width: 640px).
42
+ */
43
+ sm?: GridItemBreakpointProps;
44
+ /**
45
+ * Override pada breakpoint md (min-width: 768px).
46
+ */
47
+ md?: GridItemBreakpointProps;
48
+ /**
49
+ * Override pada breakpoint lg (min-width: 1024px).
50
+ */
51
+ lg?: GridItemBreakpointProps;
52
+ /**
53
+ * Override pada breakpoint xl (min-width: 1280px).
54
+ */
55
+ xl?: GridItemBreakpointProps;
56
+ /**
57
+ * Override pada breakpoint xxl / 2xl (min-width: 1536px).
58
+ */
59
+ xxl?: GridItemBreakpointProps;
60
+ /**
61
+ * Kustomisasi visual granular root kontainer (UiProps).
62
+ */
63
+ ui?: UiProps;
64
+ /**
65
+ * Class CSS kustom.
66
+ */
67
+ className?: string;
68
+ /**
69
+ * Style kustom inline.
70
+ */
71
+ style?: any;
72
+ /**
73
+ * Konten di dalam item grid.
74
+ */
75
+ children?: any;
76
+ }
77
+ import { UiProps } from "../../core/types";
78
+ declare const __propDef: {
79
+ props: {
80
+ col?: GridItemProps["col"];
81
+ colStart?: GridItemProps["colStart"];
82
+ colEnd?: GridItemProps["colEnd"];
83
+ row?: GridItemProps["row"];
84
+ rowStart?: GridItemProps["rowStart"];
85
+ rowEnd?: GridItemProps["rowEnd"];
86
+ justifySelf?: GridItemProps["justifySelf"];
87
+ alignSelf?: GridItemProps["alignSelf"];
88
+ order?: GridItemProps["order"];
89
+ sm?: GridItemProps["sm"];
90
+ md?: GridItemProps["md"];
91
+ lg?: GridItemProps["lg"];
92
+ xl?: GridItemProps["xl"];
93
+ xxl?: GridItemProps["xxl"];
94
+ className?: GridItemProps["className"];
95
+ style?: GridItemProps["style"];
96
+ ui?: GridItemProps["ui"];
97
+ };
98
+ events: {
99
+ [evt: string]: CustomEvent<any>;
100
+ };
101
+ slots: {
102
+ default: {};
103
+ };
104
+ exports?: {} | undefined;
105
+ bindings?: string | undefined;
106
+ };
107
+ type GridItemProps_ = typeof __propDef.props;
108
+ export type GridItemEvents = typeof __propDef.events;
109
+ export type GridItemSlots = typeof __propDef.slots;
110
+ export default class GridItem extends SvelteComponent<GridItemProps_, GridItemEvents, GridItemSlots> {
111
+ }
112
+ export {};
@@ -0,0 +1 @@
1
+ .ttdk-grid{box-sizing:border-box;grid-template-columns:var(--ttdk-grid-template-columns,repeat(1, minmax(0, 1fr)));grid-template-rows:var(--ttdk-grid-template-rows,auto);gap:var(--ttdk-grid-gap,0);justify-content:var(--ttdk-grid-justify-content,normal);align-content:var(--ttdk-grid-align-content,normal);display:grid}.ttdk-grid-item{box-sizing:border-box;grid-column:var(--ttdk-grid-item-col,auto);grid-row:var(--ttdk-grid-item-row,auto);justify-self:var(--ttdk-grid-item-justify-self,auto);order:var(--ttdk-grid-item-order,0);min-width:0}@media (width>=640px){.ttdk-grid{grid-template-columns:var(--ttdk-grid-template-columns-sm,var(--ttdk-grid-template-columns,repeat(1, minmax(0, 1fr))));grid-template-rows:var(--ttdk-grid-template-rows-sm,var(--ttdk-grid-template-rows,auto));gap:var(--ttdk-grid-gap-sm,var(--ttdk-grid-gap,0));justify-content:var(--ttdk-grid-justify-content-sm,var(--ttdk-grid-justify-content,normal));align-content:var(--ttdk-grid-align-content-sm,var(--ttdk-grid-align-content,normal))}.ttdk-grid-item{grid-column:var(--ttdk-grid-item-col-sm,var(--ttdk-grid-item-col,auto));grid-row:var(--ttdk-grid-item-row-sm,var(--ttdk-grid-item-row,auto));justify-self:var(--ttdk-grid-item-justify-self-sm,var(--ttdk-grid-item-justify-self,auto));order:var(--ttdk-grid-item-order-sm,var(--ttdk-grid-item-order,0))}}@media (width>=768px){.ttdk-grid{grid-template-columns:var(--ttdk-grid-template-columns-md,var(--ttdk-grid-template-columns-sm,var(--ttdk-grid-template-columns,repeat(1, minmax(0, 1fr)))));grid-template-rows:var(--ttdk-grid-template-rows-md,var(--ttdk-grid-template-rows-sm,var(--ttdk-grid-template-rows,auto)));gap:var(--ttdk-grid-gap-md,var(--ttdk-grid-gap-sm,var(--ttdk-grid-gap,0)));justify-content:var(--ttdk-grid-justify-content-md,var(--ttdk-grid-justify-content-sm,var(--ttdk-grid-justify-content,normal)));align-content:var(--ttdk-grid-align-content-md,var(--ttdk-grid-align-content-sm,var(--ttdk-grid-align-content,normal)))}.ttdk-grid-item{grid-column:var(--ttdk-grid-item-col-md,var(--ttdk-grid-item-col-sm,var(--ttdk-grid-item-col,auto)));grid-row:var(--ttdk-grid-item-row-md,var(--ttdk-grid-item-row-sm,var(--ttdk-grid-item-row,auto)));justify-self:var(--ttdk-grid-item-justify-self-md,var(--ttdk-grid-item-justify-self-sm,var(--ttdk-grid-item-justify-self,auto)));order:var(--ttdk-grid-item-order-md,var(--ttdk-grid-item-order-sm,var(--ttdk-grid-item-order,0)))}}@media (width>=1024px){.ttdk-grid{grid-template-columns:var(--ttdk-grid-template-columns-lg,var(--ttdk-grid-template-columns-md,var(--ttdk-grid-template-columns-sm,var(--ttdk-grid-template-columns,repeat(1, minmax(0, 1fr))))));grid-template-rows:var(--ttdk-grid-template-rows-lg,var(--ttdk-grid-template-rows-md,var(--ttdk-grid-template-rows-sm,var(--ttdk-grid-template-rows,auto))));gap:var(--ttdk-grid-gap-lg,var(--ttdk-grid-gap-md,var(--ttdk-grid-gap-sm,var(--ttdk-grid-gap,0))));justify-content:var(--ttdk-grid-justify-content-lg,var(--ttdk-grid-justify-content-md,var(--ttdk-grid-justify-content-sm,var(--ttdk-grid-justify-content,normal))));align-content:var(--ttdk-grid-align-content-lg,var(--ttdk-grid-align-content-md,var(--ttdk-grid-align-content-sm,var(--ttdk-grid-align-content,normal))))}.ttdk-grid-item{grid-column:var(--ttdk-grid-item-col-lg,var(--ttdk-grid-item-col-md,var(--ttdk-grid-item-col-sm,var(--ttdk-grid-item-col,auto))));grid-row:var(--ttdk-grid-item-row-lg,var(--ttdk-grid-item-row-md,var(--ttdk-grid-item-row-sm,var(--ttdk-grid-item-row,auto))));justify-self:var(--ttdk-grid-item-justify-self-lg,var(--ttdk-grid-item-justify-self-md,var(--ttdk-grid-item-justify-self-sm,var(--ttdk-grid-item-justify-self,auto))));order:var(--ttdk-grid-item-order-lg,var(--ttdk-grid-item-order-md,var(--ttdk-grid-item-order-sm,var(--ttdk-grid-item-order,0))))}}@media (width>=1280px){.ttdk-grid{grid-template-columns:var(--ttdk-grid-template-columns-xl,var(--ttdk-grid-template-columns-lg,var(--ttdk-grid-template-columns-md,var(--ttdk-grid-template-columns-sm,var(--ttdk-grid-template-columns,repeat(1, minmax(0, 1fr)))))));grid-template-rows:var(--ttdk-grid-template-rows-xl,var(--ttdk-grid-template-rows-lg,var(--ttdk-grid-template-rows-md,var(--ttdk-grid-template-rows-sm,var(--ttdk-grid-template-rows,auto)))));gap:var(--ttdk-grid-gap-xl,var(--ttdk-grid-gap-lg,var(--ttdk-grid-gap-md,var(--ttdk-grid-gap-sm,var(--ttdk-grid-gap,0)))));justify-content:var(--ttdk-grid-justify-content-xl,var(--ttdk-grid-justify-content-lg,var(--ttdk-grid-justify-content-md,var(--ttdk-grid-justify-content-sm,var(--ttdk-grid-justify-content,normal)))));align-content:var(--ttdk-grid-align-content-xl,var(--ttdk-grid-align-content-lg,var(--ttdk-grid-align-content-md,var(--ttdk-grid-align-content-sm,var(--ttdk-grid-align-content,normal)))))}.ttdk-grid-item{grid-column:var(--ttdk-grid-item-col-xl,var(--ttdk-grid-item-col-lg,var(--ttdk-grid-item-col-md,var(--ttdk-grid-item-col-sm,var(--ttdk-grid-item-col,auto)))));grid-row:var(--ttdk-grid-item-row-xl,var(--ttdk-grid-item-row-lg,var(--ttdk-grid-item-row-md,var(--ttdk-grid-item-row-sm,var(--ttdk-grid-item-row,auto)))));justify-self:var(--ttdk-grid-item-justify-self-xl,var(--ttdk-grid-item-justify-self-lg,var(--ttdk-grid-item-justify-self-md,var(--ttdk-grid-item-justify-self-sm,var(--ttdk-grid-item-justify-self,auto)))));order:var(--ttdk-grid-item-order-xl,var(--ttdk-grid-item-order-lg,var(--ttdk-grid-item-order-md,var(--ttdk-grid-item-order-sm,var(--ttdk-grid-item-order,0)))))}}@media (width>=1536px){.ttdk-grid{grid-template-columns:var(--ttdk-grid-template-columns-2xl,var(--ttdk-grid-template-columns-xl,var(--ttdk-grid-template-columns-lg,var(--ttdk-grid-template-columns-md,var(--ttdk-grid-template-columns-sm,var(--ttdk-grid-template-columns,repeat(1, minmax(0, 1fr))))))));grid-template-rows:var(--ttdk-grid-template-rows-2xl,var(--ttdk-grid-template-rows-xl,var(--ttdk-grid-template-rows-lg,var(--ttdk-grid-template-rows-md,var(--ttdk-grid-template-rows-sm,var(--ttdk-grid-template-rows,auto))))));gap:var(--ttdk-grid-gap-2xl,var(--ttdk-grid-gap-xl,var(--ttdk-grid-gap-lg,var(--ttdk-grid-gap-md,var(--ttdk-grid-gap-sm,var(--ttdk-grid-gap,0))))));justify-content:var(--ttdk-grid-justify-content-2xl,var(--ttdk-grid-justify-content-xl,var(--ttdk-grid-justify-content-lg,var(--ttdk-grid-justify-content-md,var(--ttdk-grid-justify-content-sm,var(--ttdk-grid-justify-content,normal))))));align-content:var(--ttdk-grid-align-content-2xl,var(--ttdk-grid-align-content-xl,var(--ttdk-grid-align-content-lg,var(--ttdk-grid-align-content-md,var(--ttdk-grid-align-content-sm,var(--ttdk-grid-align-content,normal))))))}.ttdk-grid-item{grid-column:var(--ttdk-grid-item-col-2xl,var(--ttdk-grid-item-col-xl,var(--ttdk-grid-item-col-lg,var(--ttdk-grid-item-col-md,var(--ttdk-grid-item-col-sm,var(--ttdk-grid-item-col,auto))))));grid-row:var(--ttdk-grid-item-row-2xl,var(--ttdk-grid-item-row-xl,var(--ttdk-grid-item-row-lg,var(--ttdk-grid-item-row-md,var(--ttdk-grid-item-row-sm,var(--ttdk-grid-item-row,auto))))));justify-self:var(--ttdk-grid-item-justify-self-2xl,var(--ttdk-grid-item-justify-self-xl,var(--ttdk-grid-item-justify-self-lg,var(--ttdk-grid-item-justify-self-md,var(--ttdk-grid-item-justify-self-sm,var(--ttdk-grid-item-justify-self,auto))))));order:var(--ttdk-grid-item-order-2xl,var(--ttdk-grid-item-order-xl,var(--ttdk-grid-item-order-lg,var(--ttdk-grid-item-order-md,var(--ttdk-grid-item-order-sm,var(--ttdk-grid-item-order,0))))))}}
@@ -0,0 +1,37 @@
1
+ <script context="module"></script>
2
+
3
+ <script>import { buildGridVars, buildUiVars, UiProps } from "../../core/types";
4
+ export let templateColumns = void 0;
5
+ export let templateRows = void 0;
6
+ export let gap = void 0;
7
+ export let justifyContent = void 0;
8
+ export let alignContent = void 0;
9
+ export let sm = void 0;
10
+ export let md = void 0;
11
+ export let lg = void 0;
12
+ export let xl = void 0;
13
+ export let xxl = void 0;
14
+ export let className = void 0;
15
+ export let style = void 0;
16
+ export let ui = void 0;
17
+ function stringifyStyles(stylesObj) {
18
+ let styles = "";
19
+ for (let key in stylesObj) {
20
+ const dashedKey = key.replace(/[A-Z]/g, function(match) {
21
+ return "-" + match.toLowerCase();
22
+ });
23
+ styles += dashedKey + ":" + stylesObj[key] + ";";
24
+ }
25
+ return styles;
26
+ }
27
+ </script>
28
+
29
+ <div
30
+ style={stringifyStyles({
31
+ ...buildGridVars({ templateColumns, templateRows, gap, justifyContent, alignContent, sm, md, lg, xl, xxl }),
32
+ ...buildUiVars(ui),
33
+ })}
34
+ class={`ttdk-grid ${className || ""}`.trim()}
35
+ >
36
+ <slot />
37
+ </div>
@@ -0,0 +1,96 @@
1
+ import { SvelteComponent } from "svelte";
2
+ export interface GridBreakpointProps {
3
+ /**
4
+ * Jumlah atau pola template kolom pada grid (grid-template-columns).
5
+ * Nilai angka (misal: 3 atau 12) otomatis dikonversi ke repeat(N, minmax(0, 1fr)).
6
+ * Nilai string (misal: "200px 1fr 2fr", "repeat(4, 1fr)").
7
+ */
8
+ templateColumns?: string | number;
9
+ /**
10
+ * Jumlah atau pola template baris pada grid (grid-template-rows).
11
+ */
12
+ templateRows?: string | number;
13
+ /**
14
+ * Jarak celah antar baris dan kolom (gap).
15
+ * Nilai angka (misal: 16) atau string (misal: "16px", "1rem", "var(--ttdk-spacing-16)").
16
+ */
17
+ gap?: string | number;
18
+ /**
19
+ * Distribusi horizontal keseluruhan grid container (justify-content).
20
+ */
21
+ justifyContent?: "start" | "center" | "end" | "around" | "between" | "evenly";
22
+ /**
23
+ * Distribusi vertikal baris di dalam grid container (align-content).
24
+ */
25
+ alignContent?: "evenly" | "around" | "between" | "center" | "start" | "end";
26
+ }
27
+ export interface GridProps extends GridBreakpointProps {
28
+ /**
29
+ * Override pada breakpoint sm (min-width: 640px).
30
+ */
31
+ sm?: GridBreakpointProps;
32
+ /**
33
+ * Override pada breakpoint md (min-width: 768px).
34
+ */
35
+ md?: GridBreakpointProps;
36
+ /**
37
+ * Override pada breakpoint lg (min-width: 1024px).
38
+ */
39
+ lg?: GridBreakpointProps;
40
+ /**
41
+ * Override pada breakpoint xl (min-width: 1280px).
42
+ */
43
+ xl?: GridBreakpointProps;
44
+ /**
45
+ * Override pada breakpoint xxl / 2xl (min-width: 1536px).
46
+ */
47
+ xxl?: GridBreakpointProps;
48
+ /**
49
+ * Kustomisasi visual granular root kontainer (UiProps).
50
+ */
51
+ ui?: UiProps;
52
+ /**
53
+ * Class CSS kustom.
54
+ */
55
+ className?: string;
56
+ /**
57
+ * Style kustom inline.
58
+ */
59
+ style?: any;
60
+ /**
61
+ * Konten anak di dalam Grid (<GridItem>).
62
+ */
63
+ children?: any;
64
+ }
65
+ import { UiProps } from "../../core/types";
66
+ declare const __propDef: {
67
+ props: {
68
+ templateColumns?: GridProps["templateColumns"];
69
+ templateRows?: GridProps["templateRows"];
70
+ gap?: GridProps["gap"];
71
+ justifyContent?: GridProps["justifyContent"];
72
+ alignContent?: GridProps["alignContent"];
73
+ sm?: GridProps["sm"];
74
+ md?: GridProps["md"];
75
+ lg?: GridProps["lg"];
76
+ xl?: GridProps["xl"];
77
+ xxl?: GridProps["xxl"];
78
+ className?: GridProps["className"];
79
+ style?: GridProps["style"];
80
+ ui?: GridProps["ui"];
81
+ };
82
+ events: {
83
+ [evt: string]: CustomEvent<any>;
84
+ };
85
+ slots: {
86
+ default: {};
87
+ };
88
+ exports?: {} | undefined;
89
+ bindings?: string | undefined;
90
+ };
91
+ type GridProps_ = typeof __propDef.props;
92
+ export type GridEvents = typeof __propDef.events;
93
+ export type GridSlots = typeof __propDef.slots;
94
+ export default class Grid extends SvelteComponent<GridProps_, GridEvents, GridSlots> {
95
+ }
96
+ export {};
@@ -0,0 +1,3 @@
1
+ export { default } from './grid.svelte';
2
+ export { default as Grid } from './grid.svelte';
3
+ export { default as GridItem } from './grid-item.svelte';
@@ -0,0 +1,3 @@
1
+ export { default } from './grid.svelte';
2
+ export { default as Grid } from './grid.svelte';
3
+ export { default as GridItem } from './grid-item.svelte';
@@ -0,0 +1,153 @@
1
+ {
2
+ "name": "@ttdk-design-system/grid",
3
+ "component": "Grid",
4
+ "folder": "grid",
5
+ "description": "TTDK Grid component with multi-theme support.",
6
+ "stylesheets": [
7
+ {
8
+ "theme": "common",
9
+ "file": "grid.css",
10
+ "importPath": "web/grid/grid.css"
11
+ }
12
+ ],
13
+ "props": {
14
+ "sm": {
15
+ "name": "sm",
16
+ "type": "GridBreakpointProps",
17
+ "optional": true,
18
+ "default": null,
19
+ "description": "Override pada breakpoint sm (min-width: 640px).",
20
+ "example": null,
21
+ "param": null
22
+ },
23
+ "md": {
24
+ "name": "md",
25
+ "type": "GridBreakpointProps",
26
+ "optional": true,
27
+ "default": null,
28
+ "description": "Override pada breakpoint md (min-width: 768px).",
29
+ "example": null,
30
+ "param": null
31
+ },
32
+ "lg": {
33
+ "name": "lg",
34
+ "type": "GridBreakpointProps",
35
+ "optional": true,
36
+ "default": null,
37
+ "description": "Override pada breakpoint lg (min-width: 1024px).",
38
+ "example": null,
39
+ "param": null
40
+ },
41
+ "xl": {
42
+ "name": "xl",
43
+ "type": "GridBreakpointProps",
44
+ "optional": true,
45
+ "default": null,
46
+ "description": "Override pada breakpoint xl (min-width: 1280px).",
47
+ "example": null,
48
+ "param": null
49
+ },
50
+ "xxl": {
51
+ "name": "xxl",
52
+ "type": "GridBreakpointProps",
53
+ "optional": true,
54
+ "default": null,
55
+ "description": "Override pada breakpoint xxl / 2xl (min-width: 1536px).",
56
+ "example": null,
57
+ "param": null
58
+ },
59
+ "ui": {
60
+ "name": "ui",
61
+ "type": "UiProps",
62
+ "optional": true,
63
+ "default": null,
64
+ "description": "Kustomisasi visual granular root kontainer (UiProps).",
65
+ "example": null,
66
+ "param": null
67
+ },
68
+ "className": {
69
+ "name": "className",
70
+ "type": "string",
71
+ "optional": true,
72
+ "default": null,
73
+ "description": "Class CSS kustom.",
74
+ "example": null,
75
+ "param": null
76
+ },
77
+ "style": {
78
+ "name": "style",
79
+ "type": "any",
80
+ "optional": true,
81
+ "default": null,
82
+ "description": "Style kustom inline.",
83
+ "example": null,
84
+ "param": null
85
+ },
86
+ "children": {
87
+ "name": "children",
88
+ "type": "any",
89
+ "optional": true,
90
+ "default": null,
91
+ "description": "Konten anak di dalam Grid (<GridItem>).",
92
+ "example": null,
93
+ "param": null
94
+ }
95
+ },
96
+ "subInterfaces": {
97
+ "GridBreakpointProps": {
98
+ "templateColumns": {
99
+ "name": "templateColumns",
100
+ "type": "string | number",
101
+ "optional": true,
102
+ "default": null,
103
+ "description": "Jumlah atau pola template kolom pada grid (grid-template-columns). Nilai angka (misal: 3 atau 12) otomatis dikonversi ke repeat(N, minmax(0, 1fr)). Nilai string (misal: \"200px 1fr 2fr\", \"repeat(4, 1fr)\").",
104
+ "example": null,
105
+ "param": null
106
+ },
107
+ "templateRows": {
108
+ "name": "templateRows",
109
+ "type": "string | number",
110
+ "optional": true,
111
+ "default": null,
112
+ "description": "Jumlah atau pola template baris pada grid (grid-template-rows).",
113
+ "example": null,
114
+ "param": null
115
+ },
116
+ "gap": {
117
+ "name": "gap",
118
+ "type": "string | number",
119
+ "optional": true,
120
+ "default": null,
121
+ "description": "Jarak celah antar baris dan kolom (gap). Nilai angka (misal: 16) atau string (misal: \"16px\", \"1rem\", \"var(--ttdk-spacing-16)\").",
122
+ "example": null,
123
+ "param": null
124
+ },
125
+ "justifyContent": {
126
+ "name": "justifyContent",
127
+ "type": "'start' | 'center' | 'end' | 'around' | 'between' | 'evenly'",
128
+ "optional": true,
129
+ "default": null,
130
+ "description": "Distribusi horizontal keseluruhan grid container (justify-content).",
131
+ "example": null,
132
+ "param": null
133
+ },
134
+ "alignContent": {
135
+ "name": "alignContent",
136
+ "type": "'evenly' | 'around' | 'between' | 'center' | 'start' | 'end'",
137
+ "optional": true,
138
+ "default": null,
139
+ "description": "Distribusi vertikal baris di dalam grid container (align-content).",
140
+ "example": null,
141
+ "param": null
142
+ }
143
+ }
144
+ },
145
+ "supportedFrameworks": [
146
+ "react",
147
+ "vue",
148
+ "svelte"
149
+ ],
150
+ "themes": [
151
+ "tw"
152
+ ]
153
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * TTDK Design System — Web Module (SVELTE)
3
+ */
4
+ export { default as Accordion } from './accordion/accordion.svelte';
5
+ export * from './accordion';
6
+ export { default as Alert } from './alert/alert.svelte';
7
+ export * from './alert';
8
+ export { default as Avatar } from './avatar/avatar.svelte';
9
+ export * from './avatar';
10
+ export { default as Badge } from './badge/badge.svelte';
11
+ export * from './badge';
12
+ export { default as Banner } from './banner/banner.svelte';
13
+ export * from './banner';
14
+ export { default as Breadcrumb } from './breadcrumb/breadcrumb.svelte';
15
+ export * from './breadcrumb';
16
+ export { default as Button } from './button/button.svelte';
17
+ export * from './button';
18
+ export { default as Calendar } from './calendar/calendar.svelte';
19
+ export * from './calendar';
20
+ export { default as Card } from './card/card.svelte';
21
+ export * from './card';
22
+ export { default as Checkbox } from './checkbox/checkbox.svelte';
23
+ export * from './checkbox';
24
+ export { default as Chip } from './chip/chip.svelte';
25
+ export * from './chip';
26
+ export { default as Dropdown } from './dropdown/dropdown.svelte';
27
+ export * from './dropdown';
28
+ export { default as Flex } from './flex/flex.svelte';
29
+ export * from './flex';
30
+ export { default as Grid } from './grid/grid.svelte';
31
+ export * from './grid';
32
+ export { default as Input } from './input/input.svelte';
33
+ export * from './input';
34
+ export { default as InputNumber } from './input-number/input-number.svelte';
35
+ export * from './input-number';
36
+ export { default as Modal } from './modal/modal.svelte';
37
+ export * from './modal';
38
+ export { default as Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationPrevious, PaginationNext, PaginationFirst, PaginationLast, PaginationEllipsis } from './pagination';
39
+ export * from './pagination';
40
+ export { default as Popover } from './popover/popover.svelte';
41
+ export * from './popover';
42
+ export { default as Radio } from './radio/radio.svelte';
43
+ export * from './radio';
44
+ export { default as Selectbox } from './selectbox/selectbox.svelte';
45
+ export * from './selectbox';
46
+ export { default as Sonner, default as Toaster, toast } from './sonner';
47
+ export * from './sonner';
48
+ export { default as Table, default as DataTable, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell, TableCaption, TableEmpty } from './table';
49
+ export type { TableProps, TableUiProps } from './table/table.svelte';
50
+ export * from './table';
51
+ export { default as Tabs } from './tabs/tabs.svelte';
52
+ export * from './tabs';
53
+ export { default as Text } from './text/text.svelte';
54
+ export * from './text';
55
+ export { default as Textarea } from './textarea/textarea.svelte';
56
+ export * from './textarea';
57
+ export { default as Tooltip } from './tooltip/tooltip.svelte';
58
+ export * from './tooltip';
@@ -0,0 +1,57 @@
1
+ /**
2
+ * TTDK Design System — Web Module (SVELTE)
3
+ */
4
+ export { default as Accordion } from './accordion/accordion.svelte';
5
+ export * from './accordion';
6
+ export { default as Alert } from './alert/alert.svelte';
7
+ export * from './alert';
8
+ export { default as Avatar } from './avatar/avatar.svelte';
9
+ export * from './avatar';
10
+ export { default as Badge } from './badge/badge.svelte';
11
+ export * from './badge';
12
+ export { default as Banner } from './banner/banner.svelte';
13
+ export * from './banner';
14
+ export { default as Breadcrumb } from './breadcrumb/breadcrumb.svelte';
15
+ export * from './breadcrumb';
16
+ export { default as Button } from './button/button.svelte';
17
+ export * from './button';
18
+ export { default as Calendar } from './calendar/calendar.svelte';
19
+ export * from './calendar';
20
+ export { default as Card } from './card/card.svelte';
21
+ export * from './card';
22
+ export { default as Checkbox } from './checkbox/checkbox.svelte';
23
+ export * from './checkbox';
24
+ export { default as Chip } from './chip/chip.svelte';
25
+ export * from './chip';
26
+ export { default as Dropdown } from './dropdown/dropdown.svelte';
27
+ export * from './dropdown';
28
+ export { default as Flex } from './flex/flex.svelte';
29
+ export * from './flex';
30
+ export { default as Grid } from './grid/grid.svelte';
31
+ export * from './grid';
32
+ export { default as Input } from './input/input.svelte';
33
+ export * from './input';
34
+ export { default as InputNumber } from './input-number/input-number.svelte';
35
+ export * from './input-number';
36
+ export { default as Modal } from './modal/modal.svelte';
37
+ export * from './modal';
38
+ export { default as Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationPrevious, PaginationNext, PaginationFirst, PaginationLast, PaginationEllipsis } from './pagination';
39
+ export * from './pagination';
40
+ export { default as Popover } from './popover/popover.svelte';
41
+ export * from './popover';
42
+ export { default as Radio } from './radio/radio.svelte';
43
+ export * from './radio';
44
+ export { default as Selectbox } from './selectbox/selectbox.svelte';
45
+ export * from './selectbox';
46
+ export { default as Sonner, default as Toaster, toast } from './sonner';
47
+ export * from './sonner';
48
+ export { default as Table, default as DataTable, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell, TableCaption, TableEmpty } from './table';
49
+ export * from './table';
50
+ export { default as Tabs } from './tabs/tabs.svelte';
51
+ export * from './tabs';
52
+ export { default as Text } from './text/text.svelte';
53
+ export * from './text';
54
+ export { default as Textarea } from './textarea/textarea.svelte';
55
+ export * from './textarea';
56
+ export { default as Tooltip } from './tooltip/tooltip.svelte';
57
+ export * from './tooltip';