@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,240 @@
1
+ {
2
+ "name": "@ttdk-design-system/banner",
3
+ "component": "Banner",
4
+ "folder": "banner",
5
+ "description": "Komponen Banner untuk header halaman portal, pengumuman penting, atau judul kategori katalog data dengan desain visual bersih dan elegan.",
6
+ "stylesheets": [
7
+ {
8
+ "theme": "common",
9
+ "file": "banner.css",
10
+ "importPath": "web/banner/banner.css"
11
+ }
12
+ ],
13
+ "props": {
14
+ "title": {
15
+ "name": "title",
16
+ "type": "string",
17
+ "optional": true,
18
+ "default": null,
19
+ "description": "Judul utama banner yang ditampilkan dengan tipografi tegas (misal: \"Katalog Dataset Publik\").",
20
+ "example": null,
21
+ "param": null
22
+ },
23
+ "description": {
24
+ "name": "description",
25
+ "type": "string",
26
+ "optional": true,
27
+ "default": null,
28
+ "description": "Deskripsi atau pesan teks penjelasan tambahan di bawah judul.",
29
+ "example": null,
30
+ "param": null
31
+ },
32
+ "variant": {
33
+ "name": "variant",
34
+ "type": "| 'primary'\n | 'success'\n | 'info'\n | 'warning'\n | 'danger'",
35
+ "optional": true,
36
+ "default": "primary",
37
+ "description": "Varian warna semantik tema banner: - `'primary'`: Brand Teal utama (#16B3AC). - `'success'`: Hijau konfirmasi keberhasilan. - `'info'`: Biru informasi. - `'warning'`: Kuning / amber peringatan. - `'danger'`: Merah kesalahan / bahaya.",
38
+ "example": null,
39
+ "param": null
40
+ },
41
+ "appearance": {
42
+ "name": "appearance",
43
+ "type": "'gradient' | 'subtle' | 'solid' | 'outline' | 'flat'",
44
+ "optional": true,
45
+ "default": "gradient",
46
+ "description": "Gaya tampilan visual latar belakang banner. - `'gradient'`: Latar belakang gradasi halus elegan (standar sesuai desain katalog). - `'subtle'`: Latar belakang warna lembut transparan. - `'solid'`: Latar belakang warna pekat penuh dengan teks kontras tinggi. - `'outline'`: Garis tepi minimalis tanpa latar belakang gradasi. - `'flat'`: Latar polos solid netral.",
47
+ "example": null,
48
+ "param": null
49
+ },
50
+ "size": {
51
+ "name": "size",
52
+ "type": "'sm' | 'md' | 'lg' | 'xl'",
53
+ "optional": true,
54
+ "default": "md",
55
+ "description": "Skala ukuran tinggi dan padding ruang dalam banner. - `'sm'`: Kompak (padding 10px 16px, judul 14px). - `'md'`: Standar (padding 14px 20px, judul 16px). - `'lg'`: Besar / Page Header (padding 18px 24px, judul 18px). - `'xl'`: Ekstra Besar / Hero Banner (padding 24px 32px, judul 22px).",
56
+ "example": null,
57
+ "param": null
58
+ },
59
+ "rounded": {
60
+ "name": "rounded",
61
+ "type": "'none' | 'sm' | 'md' | 'lg' | 'full'",
62
+ "optional": true,
63
+ "default": "md",
64
+ "description": "Bentuk sudut kelengkungan container banner. - `'none'`: Sudut siku 0px. - `'sm'`: Sudut 4px. - `'md'`: Sudut 8px (standar). - `'lg'`: Sudut 12px. - `'full'`: Sudut kapsul 9999px.",
65
+ "example": null,
66
+ "param": null
67
+ },
68
+ "icon": {
69
+ "name": "icon",
70
+ "type": "boolean | any",
71
+ "optional": true,
72
+ "default": "false",
73
+ "description": "Menampilkan ikon indikator status semantik (boolean) atau elemen ikon kustom.",
74
+ "example": null,
75
+ "param": null
76
+ },
77
+ "customIcon": {
78
+ "name": "customIcon",
79
+ "type": "any",
80
+ "optional": true,
81
+ "default": null,
82
+ "description": "Elemen ikon SVG kustom untuk menggantikan ikon bawaan banner.",
83
+ "example": null,
84
+ "param": null
85
+ },
86
+ "iconColor": {
87
+ "name": "iconColor",
88
+ "type": "string",
89
+ "optional": true,
90
+ "default": null,
91
+ "description": "Warna kustom untuk ikon banner secara langsung.",
92
+ "example": null,
93
+ "param": null
94
+ },
95
+ "iconSize": {
96
+ "name": "iconSize",
97
+ "type": "string",
98
+ "optional": true,
99
+ "default": null,
100
+ "description": "Ukuran kustom untuk ikon banner secara langsung.",
101
+ "example": null,
102
+ "param": null
103
+ },
104
+ "iconStyle": {
105
+ "name": "iconStyle",
106
+ "type": "UiProps",
107
+ "optional": true,
108
+ "default": null,
109
+ "description": "Style kustom untuk ikon banner (UiProps).",
110
+ "example": null,
111
+ "param": null
112
+ },
113
+ "iconClass": {
114
+ "name": "iconClass",
115
+ "type": "string",
116
+ "optional": true,
117
+ "default": null,
118
+ "description": "Class CSS kustom untuk ikon banner.",
119
+ "example": null,
120
+ "param": null
121
+ },
122
+ "titleStyle": {
123
+ "name": "titleStyle",
124
+ "type": "UiProps",
125
+ "optional": true,
126
+ "default": null,
127
+ "description": "Style kustom untuk judul banner (UiProps).",
128
+ "example": null,
129
+ "param": null
130
+ },
131
+ "titleClass": {
132
+ "name": "titleClass",
133
+ "type": "string",
134
+ "optional": true,
135
+ "default": null,
136
+ "description": "Class CSS kustom untuk judul banner.",
137
+ "example": null,
138
+ "param": null
139
+ },
140
+ "descStyle": {
141
+ "name": "descStyle",
142
+ "type": "UiProps",
143
+ "optional": true,
144
+ "default": null,
145
+ "description": "Style kustom untuk deskripsi banner (UiProps).",
146
+ "example": null,
147
+ "param": null
148
+ },
149
+ "descClass": {
150
+ "name": "descClass",
151
+ "type": "string",
152
+ "optional": true,
153
+ "default": null,
154
+ "description": "Class CSS kustom untuk deskripsi banner.",
155
+ "example": null,
156
+ "param": null
157
+ },
158
+ "closable": {
159
+ "name": "closable",
160
+ "type": "boolean",
161
+ "optional": true,
162
+ "default": "false",
163
+ "description": "Menampilkan tombol silang (x) untuk menutup atau menyembunyikan banner.",
164
+ "example": null,
165
+ "param": null
166
+ },
167
+ "closableStyle": {
168
+ "name": "closableStyle",
169
+ "type": "UiProps",
170
+ "optional": true,
171
+ "default": null,
172
+ "description": "Style kustom untuk tombol tutup banner (UiProps).",
173
+ "example": null,
174
+ "param": null
175
+ },
176
+ "closableClass": {
177
+ "name": "closableClass",
178
+ "type": "string",
179
+ "optional": true,
180
+ "default": null,
181
+ "description": "Class CSS kustom untuk tombol tutup banner.",
182
+ "example": null,
183
+ "param": null
184
+ },
185
+ "ui": {
186
+ "name": "ui",
187
+ "type": "UiProps",
188
+ "optional": true,
189
+ "default": null,
190
+ "description": "Kustomisasi visual granular melalui style-like object (+ support pseudo-class: hover, active).",
191
+ "example": null,
192
+ "param": null
193
+ },
194
+ "style": {
195
+ "name": "style",
196
+ "type": "any",
197
+ "optional": true,
198
+ "default": null,
199
+ "description": "Inline CSS style object native.",
200
+ "example": null,
201
+ "param": null
202
+ },
203
+ "children": {
204
+ "name": "children",
205
+ "type": "any",
206
+ "optional": true,
207
+ "default": null,
208
+ "description": "Konten kustom tambahan / isi banner (children slot).",
209
+ "example": null,
210
+ "param": null
211
+ },
212
+ "className": {
213
+ "name": "className",
214
+ "type": "string",
215
+ "optional": true,
216
+ "default": null,
217
+ "description": "Class CSS kustom.",
218
+ "example": null,
219
+ "param": null
220
+ },
221
+ "onClose": {
222
+ "name": "onClose",
223
+ "type": "(event?: any) => void",
224
+ "optional": true,
225
+ "default": null,
226
+ "description": "Event callback saat tombol tutup diklik.",
227
+ "example": null,
228
+ "param": null
229
+ }
230
+ },
231
+ "subInterfaces": {},
232
+ "supportedFrameworks": [
233
+ "react",
234
+ "vue",
235
+ "svelte"
236
+ ],
237
+ "themes": [
238
+ "tw"
239
+ ]
240
+ }
@@ -0,0 +1,120 @@
1
+ # <Breadcrumb /> — TTDK Component Reference
2
+
3
+ Komponen Breadcrumb untuk menampilkan hierarki navigasi lokasi halaman saat ini dengan dukungan penyingkatan (collapse ellipsis).
4
+
5
+ ## 1. Stylesheets & Theming (Pure CSS)
6
+ Import the corresponding stylesheet for the theme you wish to use:
7
+ - **COMMON Theme**: `import "@ttdk-design-system/library-<react|vue|svelte>/web/breadcrumb/breadcrumb.css";`
8
+
9
+ ## 2. Subpath Component Import
10
+ ```ts
11
+ // React
12
+ import Breadcrumb from "@ttdk-design-system/library-react/web/breadcrumb";
13
+
14
+ // Vue 3
15
+ import Breadcrumb from "@ttdk-design-system/library-vue/web/breadcrumb";
16
+
17
+ // Svelte
18
+ import Breadcrumb from "@ttdk-design-system/library-svelte/web/breadcrumb";
19
+ ```
20
+
21
+ ## 3. Props & API Reference
22
+
23
+ | Prop | Type | Default | Description |
24
+ | :--- | :--- | :--- | :--- |
25
+ | `items` | `BreadcrumbItem[]` | `-` | Daftar item navigasi breadcrumb dari tingkat teratas hingga halaman saat ini. |
26
+ | `separator?` | `BreadcrumbSeparator` | `arrow` | Jenis karakter atau ikon pemisah antar item: - `'arrow'`: Ikon panah kanan `→`. |
27
+ | `customSeparator?` | `string` | `-` | Karakter atau string teks khusus untuk pemisah antarelemen. |
28
+ | `size?` | `'sm' | 'md' | 'lg'` | `md` | Skala ukuran tampilan breadcrumb: - `'sm'`: Kompak (12px, gap 6px). - `'md'`: Standar (14px, gap 8px). - `'lg'`: Besar (16px, gap 12px). |
29
+ | `maxLabelLength?` | `number` | `20` | Batas maksimum panjang karakter label sebelum dipotong (truncate). |
30
+ | `ui?` | `UiProps` | `-` | Kustomisasi visual granular melalui style-like object (+ support pseudo-class: hover, active). |
31
+ | `style?` | `any` | `-` | Inline CSS style object native. |
32
+ | `textLinkStyle?` | `UiProps` | `-` | Style kustom untuk teks tautan breadcrumb / item non-aktif (UiProps). |
33
+ | `textLinkClass?` | `string` | `-` | Class CSS kustom untuk teks tautan breadcrumb / item non-aktif (Tailwind / class kustom). |
34
+ | `textActiveStyle?` | `UiProps` | `-` | Style kustom untuk teks item aktif / halaman saat ini (UiProps). |
35
+ | `textActiveClass?` | `string` | `-` | Class CSS kustom untuk teks item aktif / halaman saat ini (Tailwind / class kustom). |
36
+ | `separatorStyle?` | `UiProps` | `-` | Style kustom untuk karakter atau ikon pemisah (UiProps). |
37
+ | `separatorClass?` | `string` | `-` | Class CSS kustom untuk karakter atau ikon pemisah (Tailwind / class kustom). |
38
+ | `onItemClick?` | `(item: BreadcrumbItem, index: number, event: any) => void` | `-` | Handler event klik yang dipanggil saat suatu item breadcrumb diklik. |
39
+ | `className?` | `string` | `-` | Class CSS kustom. |
40
+ | `children?` | `any` | `-` | Slot konten tambahan di ujung kanan breadcrumb. |
41
+
42
+ ### Sub-interface: `BreadcrumbItem`
43
+
44
+ | Field | Type | Default | Description |
45
+ | :--- | :--- | :--- | :--- |
46
+ | `label` | `string` | `-` | Label teks yang ditampilkan pada breadcrumb item. |
47
+ | `href?` | `string` | `-` | URL tautan navigasi tujuan (href / path). |
48
+ | `icon?` | `any` | `-` | Ikon atau emoji opsional di samping label teks. |
49
+ | `current?` | `boolean` | `-` | Menandai item ini secara eksplisit sebagai halaman saat ini (current page). |
50
+ | `disabled?` | `boolean` | `false` | Menonaktifkan interaksi klik pada item ini. |
51
+ | `isEllipsis?` | `boolean` | `-` | Menandai item sebagai representasi ellipsis penyingkat item yang tersembunyi. |
52
+
53
+ ## 4. Usage Examples
54
+
55
+ ### React Example
56
+ ```tsx
57
+ import Breadcrumb from "@ttdk-design-system/library-react/web/breadcrumb";
58
+ import "@ttdk-design-system/library-react/web/breadcrumb/breadcrumb.css";
59
+
60
+ export function Example() {
61
+ const items = [
62
+ { label: "Beranda", href: "/" },
63
+ { label: "Dataset", href: "/dataset" },
64
+ { label: "Fasilitas Kesehatan", href: "/dataset/faskes" },
65
+ { label: "Detail Puskesmas", current: true }
66
+ ];
67
+
68
+ return (
69
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>
70
+ <Breadcrumb items={items} separator="slash" />
71
+ <Breadcrumb items={items} separator="chevron" size="sm" />
72
+ <Breadcrumb items={items} maxItems={3} />
73
+ </div>
74
+ );
75
+ }
76
+ ```
77
+
78
+ ### Vue 3 Example
79
+ ```vue
80
+ <script setup lang="ts">
81
+ import Breadcrumb from "@ttdk-design-system/library-vue/web/breadcrumb";
82
+ import "@ttdk-design-system/library-vue/web/breadcrumb/breadcrumb.css";
83
+
84
+ const items = [
85
+ { label: "Beranda", href: "/" },
86
+ { label: "Dataset", href: "/dataset" },
87
+ { label: "Fasilitas Kesehatan", href: "/dataset/faskes" },
88
+ { label: "Detail Puskesmas", current: true }
89
+ ];
90
+ </script>
91
+
92
+ <template>
93
+ <div style="display: flex; flex-direction: column; gap: 16px;">
94
+ <Breadcrumb :items="items" separator="slash" />
95
+ <Breadcrumb :items="items" separator="chevron" size="sm" />
96
+ <Breadcrumb :items="items" :max-items="3" />
97
+ </div>
98
+ </template>
99
+ ```
100
+
101
+ ### Svelte Example
102
+ ```svelte
103
+ <script lang="ts">
104
+ import Breadcrumb from "@ttdk-design-system/library-svelte/web/breadcrumb";
105
+ import "@ttdk-design-system/library-svelte/web/breadcrumb/breadcrumb.css";
106
+
107
+ const items = [
108
+ { label: "Beranda", href: "/" },
109
+ { label: "Dataset", href: "/dataset" },
110
+ { label: "Fasilitas Kesehatan", href: "/dataset/faskes" },
111
+ { label: "Detail Puskesmas", current: true }
112
+ ];
113
+ </script>
114
+
115
+ <div style="display: flex; flex-direction: column; gap: 16px;">
116
+ <Breadcrumb {items} separator="slash" />
117
+ <Breadcrumb {items} separator="chevron" size="sm" />
118
+ <Breadcrumb {items} maxItems={3} />
119
+ </div>
120
+ ```
@@ -0,0 +1 @@
1
+ .ttdk-breadcrumb{box-sizing:border-box;font-family:var(--ttdk-font-sans);align-items:center;max-width:100%;line-height:1.5;display:flex}.ttdk-breadcrumb[data-size=sm]{font-size:var(--custom-text-size,12px)}.ttdk-breadcrumb[data-size=sm] .ttdk-breadcrumb-list,.ttdk-breadcrumb[data-size=sm] .ttdk-breadcrumb-item{gap:var(--custom-gap,6px)}.ttdk-breadcrumb[data-size=sm] .ttdk-separator-icon{width:12px;height:12px}.ttdk-breadcrumb[data-size=sm] .ttdk-breadcrumb-icon{font-size:13px}.ttdk-breadcrumb[data-size=md]{font-size:var(--custom-text-size,14px)}.ttdk-breadcrumb[data-size=md] .ttdk-breadcrumb-list,.ttdk-breadcrumb[data-size=md] .ttdk-breadcrumb-item{gap:var(--custom-gap,8px)}.ttdk-breadcrumb[data-size=md] .ttdk-separator-icon{width:14px;height:14px}.ttdk-breadcrumb[data-size=md] .ttdk-breadcrumb-icon{font-size:15px}.ttdk-breadcrumb[data-size=lg]{font-size:var(--custom-text-size,16px)}.ttdk-breadcrumb[data-size=lg] .ttdk-breadcrumb-list,.ttdk-breadcrumb[data-size=lg] .ttdk-breadcrumb-item{gap:var(--custom-gap,10px)}.ttdk-breadcrumb[data-size=lg] .ttdk-separator-icon{width:16px;height:16px}.ttdk-breadcrumb[data-size=lg] .ttdk-breadcrumb-icon{font-size:17px}.ttdk-breadcrumb[data-size=lg] .ttdk-breadcrumb-ellipsis{height:24px;padding:0 8px;font-size:15px}.ttdk-breadcrumb-list{flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.ttdk-breadcrumb-item{align-items:center;display:inline-flex}.ttdk-breadcrumb-link{color:var(--custom-link-color,var(--ttdk-ui-color,var(--ttdk-text-icon-secondary)));cursor:pointer;font-family:inherit;font-weight:400;font-size:inherit;line-height:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;text-decoration:none;transition:color .15s,opacity .15s;display:inline-flex}.ttdk-breadcrumb-link:hover:not(:disabled){color:var(--ttdk-text-icon-primary);text-underline-offset:2px;text-decoration:underline}.ttdk-breadcrumb-link:focus-visible{box-shadow:0 0 0 2px var(--ttdk-stroke-border-focus);border-radius:2px;outline:none}.ttdk-breadcrumb-link:disabled,.ttdk-breadcrumb-link[data-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.ttdk-breadcrumb-btn{user-select:none}.ttdk-breadcrumb-current{color:var(--custom-current-color,var(--ttdk-ui-color,var(--ttdk-text-icon-primary)));user-select:text;align-items:center;gap:4px;font-weight:600;display:inline-flex}.ttdk-breadcrumb-current[data-disabled=true]{opacity:.45}.ttdk-breadcrumb-separator{color:var(--ttdk-stroke-divider);user-select:none;justify-content:center;align-items:center;font-weight:400;display:inline-flex}.ttdk-separator-char{line-height:1}.ttdk-separator-icon{fill:currentColor;display:block;transform:rotate(270deg)}.ttdk-breadcrumb-label{vertical-align:middle;display:inline-block}.ttdk-breadcrumb-ellipsis{color:var(--ttdk-text-icon-primary);letter-spacing:1.5px;user-select:none;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.ttdk-breadcrumb-slot{margin-left:12px}.dark .ttdk-breadcrumb-link,html.dark .ttdk-breadcrumb-link,[data-mode=dark] .ttdk-breadcrumb-link,[data-theme=dark] .ttdk-breadcrumb-link{color:var(--ttdk-text-icon-secondary)}.dark .ttdk-breadcrumb-link:hover:not(:disabled),html.dark .ttdk-breadcrumb-link:hover:not(:disabled),[data-mode=dark] .ttdk-breadcrumb-link:hover:not(:disabled),[data-theme=dark] .ttdk-breadcrumb-link:hover:not(:disabled),.dark .ttdk-breadcrumb-current,html.dark .ttdk-breadcrumb-current,[data-mode=dark] .ttdk-breadcrumb-current,[data-theme=dark] .ttdk-breadcrumb-current{color:var(--ttdk-text-icon-primary)}.dark .ttdk-breadcrumb-separator,html.dark .ttdk-breadcrumb-separator,[data-mode=dark] .ttdk-breadcrumb-separator,[data-theme=dark] .ttdk-breadcrumb-separator{color:var(--ttdk-stroke-divider)}.dark .ttdk-breadcrumb-ellipsis,html.dark .ttdk-breadcrumb-ellipsis,[data-mode=dark] .ttdk-breadcrumb-ellipsis,[data-theme=dark] .ttdk-breadcrumb-ellipsis{color:var(--ttdk-text-icon-primary)}
@@ -0,0 +1,168 @@
1
+ <script context="module"></script>
2
+
3
+ <script>import { buildUiVars, UiProps } from "../../core/types";
4
+ export let maxLabelLength = void 0;
5
+ export let items;
6
+ export let className = void 0;
7
+ export let size = void 0;
8
+ export let ui = void 0;
9
+ export let textActiveClass = void 0;
10
+ export let textActiveStyle = void 0;
11
+ export let textLinkClass = void 0;
12
+ export let textLinkStyle = void 0;
13
+ export let onItemClick = void 0;
14
+ export let separatorClass = void 0;
15
+ export let separatorStyle = void 0;
16
+ export let customSeparator = 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
+ function formatLabel(label) {
28
+ if (!label && label !== 0)
29
+ return "";
30
+ const str = String(label);
31
+ const max = maxLabelLength !== void 0 ? maxLabelLength : 20;
32
+ if (max > 0 && str.length > max) {
33
+ return `${str.slice(0, max)}...`;
34
+ }
35
+ return str;
36
+ }
37
+ function getVisibleItems() {
38
+ if (!items || items.length === 0)
39
+ return [];
40
+ const total = items.length;
41
+ if (total <= 3) {
42
+ return items;
43
+ }
44
+ const before = Math.max(1, Math.min(3, total - 2));
45
+ const startItems = items.slice(0, before);
46
+ const endItems = items.slice(total - 1);
47
+ const ellipsisItem = {
48
+ label: "...",
49
+ isEllipsis: true
50
+ };
51
+ return [...startItems, ellipsisItem, ...endItems];
52
+ }
53
+ </script>
54
+
55
+ <nav
56
+ style={stringifyStyles({
57
+ ...buildUiVars(ui),
58
+ })}
59
+ aria-label="Breadcrumb"
60
+ class={`ttdk-breadcrumb ${className || ""}`.trim()}
61
+ data-size={size || "md"}
62
+ >
63
+ <ol class="ttdk-breadcrumb-list">
64
+ {#each getVisibleItems() as item, index (index)}
65
+ <li class="ttdk-breadcrumb-item">
66
+ {#if item.isEllipsis}
67
+ <span class="ttdk-breadcrumb-ellipsis" aria-hidden="true"> ··· </span>
68
+ {/if}
69
+ {#if !item.isEllipsis && (item.current || index === getVisibleItems().length - 1)}
70
+ <span
71
+ style={stringifyStyles({
72
+ ...buildUiVars(textActiveStyle),
73
+ })}
74
+ aria-current="page"
75
+ class={`ttdk-breadcrumb-current ${textActiveClass || ""}`.trim()}
76
+ data-disabled={item.disabled ? "true" : "false"}
77
+ >
78
+ {#if item.icon}
79
+ <span class="ttdk-breadcrumb-icon">{item.icon}</span>
80
+ {/if}<span class="ttdk-breadcrumb-label" title={item.label}
81
+ >{formatLabel(item.label)}</span
82
+ ></span
83
+ >
84
+ {/if}
85
+ {#if !item.isEllipsis && !item.current && index !== getVisibleItems().length - 1}
86
+ {#if item.href}
87
+ <a
88
+ style={stringifyStyles({
89
+ ...buildUiVars(textLinkStyle),
90
+ })}
91
+ href={item.href}
92
+ class={`ttdk-breadcrumb-link ${textLinkClass || ""}`.trim()}
93
+ data-disabled={item.disabled ? "true" : "false"}
94
+ title={item.label}
95
+ on:click={(e) => {
96
+ if (item.disabled) {
97
+ e.preventDefault();
98
+ return;
99
+ }
100
+ if (onItemClick) {
101
+ onItemClick(item, index, e);
102
+ }
103
+ }}
104
+ >
105
+ {#if item.icon}
106
+ <span class="ttdk-breadcrumb-icon">{item.icon}</span>
107
+ {/if}<span class="ttdk-breadcrumb-label"
108
+ >{formatLabel(item.label)}</span
109
+ ></a
110
+ >
111
+ {/if}
112
+
113
+ {#if !item.href}
114
+ <button
115
+ style={stringifyStyles({
116
+ ...buildUiVars(textLinkStyle),
117
+ })}
118
+ type="button"
119
+ class={`ttdk-breadcrumb-link ttdk-breadcrumb-btn ${
120
+ textLinkClass || ""
121
+ }`.trim()}
122
+ data-disabled={item.disabled ? "true" : "false"}
123
+ disabled={item.disabled}
124
+ title={item.label}
125
+ on:click={(e) => {
126
+ if (onItemClick) {
127
+ onItemClick(item, index, e);
128
+ }
129
+ }}
130
+ >
131
+ {#if item.icon}
132
+ <span class="ttdk-breadcrumb-icon">{item.icon}</span>
133
+ {/if}<span class="ttdk-breadcrumb-label"
134
+ >{formatLabel(item.label)}</span
135
+ ></button
136
+ >
137
+ {/if}
138
+ {/if}
139
+ {#if index !== getVisibleItems().length - 1}
140
+ <span
141
+ style={stringifyStyles({
142
+ ...buildUiVars(separatorStyle),
143
+ })}
144
+ aria-hidden="true"
145
+ class={`ttdk-breadcrumb-separator ${separatorClass || ""}`.trim()}
146
+ >
147
+ {#if customSeparator}
148
+ <span class="ttdk-separator-char">{customSeparator}</span>
149
+ {/if}
150
+ {#if !customSeparator}
151
+ <svg
152
+ class="ttdk-separator-icon"
153
+ xmlns="http://www.w3.org/2000/svg"
154
+ viewBox="0 0 640 640"
155
+ ><path
156
+ d="M297.4 470.6C309.9 483.1 330.2 483.1 342.7 470.6L534.7 278.6C547.2 266.1 547.2 245.8 534.7 233.3C522.2 220.8 501.9 220.8 489.4 233.3L320 402.7L150.6 233.4C138.1 220.9 117.8 220.9 105.3 233.4C92.8 245.9 92.8 266.2 105.3 278.7L297.3 470.7z"
157
+ /></svg
158
+ >
159
+ {/if}</span
160
+ >
161
+ {/if}
162
+ </li>
163
+ {/each}
164
+ </ol>
165
+ {#if $$slots.default}
166
+ <div class="ttdk-breadcrumb-slot"><slot /></div>
167
+ {/if}
168
+ </nav>
@@ -0,0 +1,141 @@
1
+ import { SvelteComponent } from "svelte";
2
+ export interface BreadcrumbItem {
3
+ /**
4
+ * Label teks yang ditampilkan pada breadcrumb item.
5
+ */
6
+ label: string;
7
+ /**
8
+ * URL tautan navigasi tujuan (href / path).
9
+ */
10
+ href?: string;
11
+ /**
12
+ * Ikon atau emoji opsional di samping label teks.
13
+ */
14
+ icon?: any;
15
+ /**
16
+ * Menandai item ini secara eksplisit sebagai halaman saat ini (current page).
17
+ */
18
+ current?: boolean;
19
+ /**
20
+ * Menonaktifkan interaksi klik pada item ini.
21
+ * @default false
22
+ */
23
+ disabled?: boolean;
24
+ /**
25
+ * Menandai item sebagai representasi ellipsis penyingkat item yang tersembunyi.
26
+ */
27
+ isEllipsis?: boolean;
28
+ }
29
+ export type BreadcrumbUiProps = UiProps;
30
+ export type BreadcrumbSeparator = "chevron";
31
+ export interface BreadcrumbProps {
32
+ /**
33
+ * Daftar item navigasi breadcrumb dari tingkat teratas hingga halaman saat ini.
34
+ */
35
+ items: BreadcrumbItem[];
36
+ /**
37
+ * Jenis karakter atau ikon pemisah antar item:
38
+ * - `'arrow'`: Ikon panah kanan `→`.
39
+ *
40
+ * @default 'arrow'
41
+ */
42
+ separator?: BreadcrumbSeparator;
43
+ /**
44
+ * Karakter atau string teks khusus untuk pemisah antarelemen.
45
+ */
46
+ customSeparator?: string;
47
+ /**
48
+ * Skala ukuran tampilan breadcrumb:
49
+ * - `'sm'`: Kompak (12px, gap 6px).
50
+ * - `'md'`: Standar (14px, gap 8px).
51
+ * - `'lg'`: Besar (16px, gap 12px).
52
+ *
53
+ * @default 'md'
54
+ */
55
+ size?: "sm" | "md" | "lg";
56
+ /**
57
+ * Batas maksimum panjang karakter label sebelum dipotong (truncate).
58
+ * @default 20
59
+ */
60
+ maxLabelLength?: number;
61
+ /**
62
+ * Kustomisasi visual granular melalui style-like object (+ support pseudo-class: hover, active).
63
+ */
64
+ ui?: UiProps;
65
+ /**
66
+ * Inline CSS style object native.
67
+ */
68
+ style?: any;
69
+ /**
70
+ * Style kustom untuk teks tautan breadcrumb / item non-aktif (UiProps).
71
+ */
72
+ textLinkStyle?: UiProps;
73
+ /**
74
+ * Class CSS kustom untuk teks tautan breadcrumb / item non-aktif (Tailwind / class kustom).
75
+ */
76
+ textLinkClass?: string;
77
+ /**
78
+ * Style kustom untuk teks item aktif / halaman saat ini (UiProps).
79
+ */
80
+ textActiveStyle?: UiProps;
81
+ /**
82
+ * Class CSS kustom untuk teks item aktif / halaman saat ini (Tailwind / class kustom).
83
+ */
84
+ textActiveClass?: string;
85
+ /**
86
+ * Style kustom untuk karakter atau ikon pemisah (UiProps).
87
+ */
88
+ separatorStyle?: UiProps;
89
+ /**
90
+ * Class CSS kustom untuk karakter atau ikon pemisah (Tailwind / class kustom).
91
+ */
92
+ separatorClass?: string;
93
+ /**
94
+ * Handler event klik yang dipanggil saat suatu item breadcrumb diklik.
95
+ *
96
+ * @param item Data item yang diklik.
97
+ * @param index Indeks urutan item dalam array.
98
+ * @param event Objek synthetic DOM event.
99
+ */
100
+ onItemClick?: (item: BreadcrumbItem, index: number, event: any) => void;
101
+ /**
102
+ * Class CSS kustom.
103
+ */
104
+ className?: string;
105
+ /**
106
+ * Slot konten tambahan di ujung kanan breadcrumb.
107
+ */
108
+ children?: any;
109
+ }
110
+ import { UiProps } from "../../core/types";
111
+ declare const __propDef: {
112
+ props: {
113
+ maxLabelLength?: BreadcrumbProps["maxLabelLength"];
114
+ items: BreadcrumbProps["items"];
115
+ className?: BreadcrumbProps["className"];
116
+ size?: BreadcrumbProps["size"];
117
+ ui?: BreadcrumbProps["ui"];
118
+ textActiveClass?: BreadcrumbProps["textActiveClass"];
119
+ textActiveStyle?: BreadcrumbProps["textActiveStyle"];
120
+ textLinkClass?: BreadcrumbProps["textLinkClass"];
121
+ textLinkStyle?: BreadcrumbProps["textLinkStyle"];
122
+ onItemClick?: BreadcrumbProps["onItemClick"];
123
+ separatorClass?: BreadcrumbProps["separatorClass"];
124
+ separatorStyle?: BreadcrumbProps["separatorStyle"];
125
+ customSeparator?: BreadcrumbProps["customSeparator"];
126
+ };
127
+ events: {
128
+ [evt: string]: CustomEvent<any>;
129
+ };
130
+ slots: {
131
+ default: {};
132
+ };
133
+ exports?: {} | undefined;
134
+ bindings?: string | undefined;
135
+ };
136
+ type BreadcrumbProps_ = typeof __propDef.props;
137
+ export type BreadcrumbEvents = typeof __propDef.events;
138
+ export type BreadcrumbSlots = typeof __propDef.slots;
139
+ export default class Breadcrumb extends SvelteComponent<BreadcrumbProps_, BreadcrumbEvents, BreadcrumbSlots> {
140
+ }
141
+ export {};
@@ -0,0 +1,2 @@
1
+ export { default } from './breadcrumb.svelte';
2
+ export { default as Breadcrumb } from './breadcrumb.svelte';
@@ -0,0 +1,2 @@
1
+ export { default } from './breadcrumb.svelte';
2
+ export { default as Breadcrumb } from './breadcrumb.svelte';