@placeholderco/placeholder-ui 1.0.12 → 2.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 (276) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +134 -130
  3. package/dist/app.css +178 -0
  4. package/dist/bootstrap.min.css +3600 -0
  5. package/dist/cards/GitCard.svelte +115 -0
  6. package/dist/cards/GitCard.svelte.d.ts +22 -0
  7. package/dist/display/Avatar.svelte +29 -17
  8. package/dist/display/Avatar.svelte.d.ts +12 -2
  9. package/dist/display/LinkCollection.svelte +40 -18
  10. package/dist/display/LinkCollection.svelte.d.ts +9 -2
  11. package/dist/display/Paper.svelte +31 -19
  12. package/dist/display/Paper.svelte.d.ts +12 -3
  13. package/dist/display/alert/Alert.svelte +129 -0
  14. package/dist/display/alert/Alert.svelte.d.ts +15 -0
  15. package/dist/display/alert/AlertVariant.d.ts +1 -0
  16. package/dist/display/alert/AlertVariant.js +1 -0
  17. package/dist/display/filetree/FileTree.svelte +259 -0
  18. package/dist/display/filetree/FileTree.svelte.d.ts +76 -0
  19. package/dist/display/filetree/FileTreeItem.svelte +396 -0
  20. package/dist/display/filetree/FileTreeItem.svelte.d.ts +40 -0
  21. package/dist/display/filetree/FileTreeNode.d.ts +46 -0
  22. package/dist/display/filetree/FileTreeNode.js +115 -0
  23. package/dist/display/filetree/index.d.ts +5 -0
  24. package/dist/display/filetree/index.js +3 -0
  25. package/dist/editors/CodeMirror.svelte +306 -0
  26. package/dist/editors/CodeMirror.svelte.d.ts +31 -0
  27. package/dist/editors/tiptap/LinkActionMenu.svelte +307 -0
  28. package/dist/editors/tiptap/LinkActionMenu.svelte.d.ts +8 -0
  29. package/dist/editors/tiptap/TipTap.svelte +856 -0
  30. package/dist/editors/tiptap/TipTap.svelte.d.ts +54 -0
  31. package/dist/editors/tiptap/TipTapBubble.svelte +790 -0
  32. package/dist/editors/tiptap/TipTapBubble.svelte.d.ts +44 -0
  33. package/dist/editors/tiptap/collaboration.d.ts +55 -0
  34. package/dist/editors/tiptap/collaboration.js +1 -0
  35. package/dist/editors/tiptap/extensions/Alert.d.ts +18 -0
  36. package/dist/editors/tiptap/extensions/Alert.js +72 -0
  37. package/dist/editors/tiptap/extensions/CodeBlockEditor.d.ts +21 -0
  38. package/dist/editors/tiptap/extensions/CodeBlockEditor.js +326 -0
  39. package/dist/editors/tiptap/extensions/Div.d.ts +19 -0
  40. package/dist/editors/tiptap/extensions/Div.js +89 -0
  41. package/dist/editors/tiptap/extensions/Span.d.ts +5 -0
  42. package/dist/editors/tiptap/extensions/Span.js +56 -0
  43. package/dist/editors/tiptap/extensions/codeBlockEditor.css +236 -0
  44. package/dist/editors/tiptap/extensions/codeBlockLanguages.d.ts +17 -0
  45. package/dist/editors/tiptap/extensions/codeBlockLanguages.js +124 -0
  46. package/dist/editors/tiptap/extensions/index.d.ts +7 -0
  47. package/dist/editors/tiptap/extensions/index.js +5 -0
  48. package/dist/editors/tiptap/toolbar/AlertButton.svelte +261 -0
  49. package/dist/editors/tiptap/toolbar/AlertButton.svelte.d.ts +7 -0
  50. package/dist/editors/tiptap/toolbar/AlignCenterButton.svelte +18 -0
  51. package/dist/editors/tiptap/toolbar/AlignCenterButton.svelte.d.ts +7 -0
  52. package/dist/editors/tiptap/toolbar/AlignJustifyButton.svelte +18 -0
  53. package/dist/editors/tiptap/toolbar/AlignJustifyButton.svelte.d.ts +7 -0
  54. package/dist/editors/tiptap/toolbar/AlignLeftButton.svelte +18 -0
  55. package/dist/editors/tiptap/toolbar/AlignLeftButton.svelte.d.ts +7 -0
  56. package/dist/editors/tiptap/toolbar/AlignRightButton.svelte +18 -0
  57. package/dist/editors/tiptap/toolbar/AlignRightButton.svelte.d.ts +7 -0
  58. package/dist/editors/tiptap/toolbar/BoldButton.svelte +18 -0
  59. package/dist/editors/tiptap/toolbar/BoldButton.svelte.d.ts +7 -0
  60. package/dist/editors/tiptap/toolbar/BulletListButton.svelte +18 -0
  61. package/dist/editors/tiptap/toolbar/BulletListButton.svelte.d.ts +7 -0
  62. package/dist/editors/tiptap/toolbar/CodeBlockButton.svelte +18 -0
  63. package/dist/editors/tiptap/toolbar/CodeBlockButton.svelte.d.ts +7 -0
  64. package/dist/editors/tiptap/toolbar/CodeButton.svelte +18 -0
  65. package/dist/editors/tiptap/toolbar/CodeButton.svelte.d.ts +7 -0
  66. package/dist/editors/tiptap/toolbar/ColorButton.svelte +299 -0
  67. package/dist/editors/tiptap/toolbar/ColorButton.svelte.d.ts +20 -0
  68. package/dist/editors/tiptap/toolbar/DocumentButton.svelte +58 -0
  69. package/dist/editors/tiptap/toolbar/DocumentButton.svelte.d.ts +9 -0
  70. package/dist/editors/tiptap/toolbar/HeadingButton.svelte +30 -0
  71. package/dist/editors/tiptap/toolbar/HeadingButton.svelte.d.ts +8 -0
  72. package/dist/editors/tiptap/toolbar/HtmlButton.svelte +68 -0
  73. package/dist/editors/tiptap/toolbar/HtmlButton.svelte.d.ts +7 -0
  74. package/dist/editors/tiptap/toolbar/ImageButton.svelte +54 -0
  75. package/dist/editors/tiptap/toolbar/ImageButton.svelte.d.ts +8 -0
  76. package/dist/editors/tiptap/toolbar/ItalicButton.svelte +18 -0
  77. package/dist/editors/tiptap/toolbar/ItalicButton.svelte.d.ts +7 -0
  78. package/dist/editors/tiptap/toolbar/LinkButton.svelte +257 -0
  79. package/dist/editors/tiptap/toolbar/LinkButton.svelte.d.ts +7 -0
  80. package/dist/editors/tiptap/toolbar/OrderedListButton.svelte +18 -0
  81. package/dist/editors/tiptap/toolbar/OrderedListButton.svelte.d.ts +7 -0
  82. package/dist/editors/tiptap/toolbar/RedoButton.svelte +18 -0
  83. package/dist/editors/tiptap/toolbar/RedoButton.svelte.d.ts +7 -0
  84. package/dist/editors/tiptap/toolbar/StrikethroughButton.svelte +18 -0
  85. package/dist/editors/tiptap/toolbar/StrikethroughButton.svelte.d.ts +7 -0
  86. package/dist/editors/tiptap/toolbar/SubscriptButton.svelte +18 -0
  87. package/dist/editors/tiptap/toolbar/SubscriptButton.svelte.d.ts +7 -0
  88. package/dist/editors/tiptap/toolbar/SuperscriptButton.svelte +18 -0
  89. package/dist/editors/tiptap/toolbar/SuperscriptButton.svelte.d.ts +7 -0
  90. package/dist/editors/tiptap/toolbar/TableButton.svelte +258 -0
  91. package/dist/editors/tiptap/toolbar/TableButton.svelte.d.ts +7 -0
  92. package/dist/editors/tiptap/toolbar/ToolbarButton.svelte +84 -0
  93. package/dist/editors/tiptap/toolbar/ToolbarButton.svelte.d.ts +10 -0
  94. package/dist/editors/tiptap/toolbar/UnderlineButton.svelte +18 -0
  95. package/dist/editors/tiptap/toolbar/UnderlineButton.svelte.d.ts +7 -0
  96. package/dist/editors/tiptap/toolbar/UndoButton.svelte +18 -0
  97. package/dist/editors/tiptap/toolbar/UndoButton.svelte.d.ts +7 -0
  98. package/dist/form/Autocomplete.svelte +86 -135
  99. package/dist/form/Autocomplete.svelte.d.ts +6 -8
  100. package/dist/form/AutocompleteMulti.svelte +385 -227
  101. package/dist/form/AutocompleteMulti.svelte.d.ts +59 -10
  102. package/dist/form/Checkbox.svelte +59 -54
  103. package/dist/form/Checkbox.svelte.d.ts +14 -5
  104. package/dist/form/Chips.svelte +29 -13
  105. package/dist/form/Chips.svelte.d.ts +16 -2
  106. package/dist/form/ComboBox.svelte +30 -20
  107. package/dist/form/ComboBox.svelte.d.ts +1 -1
  108. package/dist/form/ComboBoxItemBuilder.svelte +161 -188
  109. package/dist/form/ComboBoxItemBuilder.svelte.d.ts +19 -2
  110. package/dist/form/ComboBoxMulti.svelte +38 -24
  111. package/dist/form/ComboBoxMulti.svelte.d.ts +1 -1
  112. package/dist/form/CronBuilder.svelte +84 -67
  113. package/dist/form/CronBuilder.svelte.d.ts +16 -3
  114. package/dist/form/DatePicker.svelte +148 -195
  115. package/dist/form/DateRangePicker.svelte +101 -98
  116. package/dist/form/DateTimePicker.svelte +167 -208
  117. package/dist/form/DateTimePicker.svelte.d.ts +10 -2
  118. package/dist/form/FormGroup.svelte +33 -10
  119. package/dist/form/FormGroup.svelte.d.ts +12 -2
  120. package/dist/form/Number.svelte +70 -47
  121. package/dist/form/Number.svelte.d.ts +36 -6
  122. package/dist/form/Radio.svelte +18 -18
  123. package/dist/form/RadioGroup.svelte +23 -12
  124. package/dist/form/RadioGroup.svelte.d.ts +13 -2
  125. package/dist/form/SegmentedControl.svelte +76 -56
  126. package/dist/form/SegmentedControl.svelte.d.ts +9 -4
  127. package/dist/form/Select.svelte +150 -233
  128. package/dist/form/Select.svelte.d.ts +29 -5
  129. package/dist/form/SelectMulti.svelte +163 -277
  130. package/dist/form/SelectMulti.svelte.d.ts +36 -7
  131. package/dist/form/Slider.svelte +183 -269
  132. package/dist/form/Slider.svelte.d.ts +32 -17
  133. package/dist/form/StringArrayBuilder.svelte +249 -0
  134. package/dist/form/StringArrayBuilder.svelte.d.ts +15 -0
  135. package/dist/form/Switch.svelte +164 -106
  136. package/dist/form/Switch.svelte.d.ts +22 -3
  137. package/dist/form/TextArea.svelte +49 -29
  138. package/dist/form/TextArea.svelte.d.ts +23 -3
  139. package/dist/form/Textbox.svelte +69 -68
  140. package/dist/form/Textbox.svelte.d.ts +32 -4
  141. package/dist/form/TimePicker.svelte +42 -47
  142. package/dist/form/TimePicker.svelte.d.ts +12 -2
  143. package/dist/form/comboBoxCore.svelte.d.ts +99 -0
  144. package/dist/form/comboBoxCore.svelte.js +243 -0
  145. package/dist/icon/Icon.svelte +8 -3
  146. package/dist/icon/Icon.svelte.d.ts +8 -3
  147. package/dist/icon/file-type-bmp.svg +1 -0
  148. package/dist/icon/file-type-csv.svg +1 -0
  149. package/dist/icon/file-type-doc.svg +1 -0
  150. package/dist/icon/file-type-docx.svg +1 -0
  151. package/dist/icon/file-type-jpg.svg +1 -0
  152. package/dist/icon/file-type-pdf.svg +1 -0
  153. package/dist/icon/file-type-png.svg +1 -0
  154. package/dist/icon/file-type-ppt.svg +1 -0
  155. package/dist/icon/file-type-svg.svg +1 -0
  156. package/dist/icon/file-type-txt.svg +1 -0
  157. package/dist/icon/file-type-xls.svg +1 -0
  158. package/dist/icon/file-type-zip.svg +1 -0
  159. package/dist/icon/index.d.ts +166 -151
  160. package/dist/icon/index.js +166 -152
  161. package/dist/icon/logo-placeholder.svg +6 -0
  162. package/dist/icon/source-code.svg +1 -0
  163. package/dist/icon/sun-moon.svg +1 -0
  164. package/dist/icon/table.svg +6 -0
  165. package/dist/index.d.ts +87 -26
  166. package/dist/index.js +25 -28
  167. package/dist/layout/AppShell.svelte +12 -162
  168. package/dist/layout/AppShell.svelte.d.ts +6 -27
  169. package/dist/layout/CustomNavbar.svelte +9 -7
  170. package/dist/layout/CustomNavbar.svelte.d.ts +4 -2
  171. package/dist/layout/Navbar.svelte +161 -129
  172. package/dist/layout/Navbar.svelte.d.ts +29 -15
  173. package/dist/layout/NavbarItemDisplay.svelte +2 -2
  174. package/dist/layout/NavbarItemView.svelte +182 -0
  175. package/dist/layout/NavbarItemView.svelte.d.ts +10 -0
  176. package/dist/layout/Sidenav.svelte +280 -341
  177. package/dist/layout/Sidenav.svelte.d.ts +36 -4
  178. package/dist/models/ComboBoxItem.d.ts +2 -0
  179. package/dist/models/Employee.d.ts +53 -0
  180. package/dist/models/Employee.js +23 -0
  181. package/dist/models/Hyperlink.d.ts +3 -1
  182. package/dist/models/LinkCollectionItem.d.ts +3 -1
  183. package/dist/models/NavbarItem.d.ts +6 -2
  184. package/dist/theme.svelte.d.ts +0 -1
  185. package/dist/theme.svelte.js +46 -58
  186. package/dist/ui/Accordion.svelte +81 -242
  187. package/dist/ui/Accordion.svelte.d.ts +37 -14
  188. package/dist/ui/AccordionItem.svelte +303 -0
  189. package/dist/ui/AccordionItem.svelte.d.ts +21 -0
  190. package/dist/ui/ActionIcon.svelte +25 -21
  191. package/dist/ui/ActionIcon.svelte.d.ts +15 -2
  192. package/dist/ui/Badge.svelte +163 -171
  193. package/dist/ui/Badge.svelte.d.ts +13 -5
  194. package/dist/ui/Button.svelte +178 -205
  195. package/dist/ui/Button.svelte.d.ts +19 -2
  196. package/dist/ui/ButtonVariant.d.ts +15 -1
  197. package/dist/ui/ContextMenu.svelte +146 -0
  198. package/dist/ui/ContextMenu.svelte.d.ts +37 -0
  199. package/dist/ui/ContextMenuList.svelte +188 -0
  200. package/dist/ui/ContextMenuList.svelte.d.ts +12 -0
  201. package/dist/ui/Dialog.svelte +183 -111
  202. package/dist/ui/Dialog.svelte.d.ts +21 -4
  203. package/dist/ui/Drawer.svelte +237 -184
  204. package/dist/ui/Drawer.svelte.d.ts +20 -2
  205. package/dist/ui/Dropdown.svelte +24 -14
  206. package/dist/ui/Dropdown.svelte.d.ts +11 -2
  207. package/dist/ui/Dropzone.svelte +159 -57
  208. package/dist/ui/Dropzone.svelte.d.ts +29 -2
  209. package/dist/ui/Link.svelte +12 -4
  210. package/dist/ui/Link.svelte.d.ts +8 -2
  211. package/dist/ui/Loader.svelte +23 -18
  212. package/dist/ui/Loader.svelte.d.ts +5 -2
  213. package/dist/ui/Logo.svelte +37 -0
  214. package/dist/ui/Logo.svelte.d.ts +16 -0
  215. package/dist/ui/MultiSortable.svelte +287 -0
  216. package/dist/ui/MultiSortable.svelte.d.ts +50 -0
  217. package/dist/ui/Pagination.svelte +15 -9
  218. package/dist/ui/Pagination.svelte.d.ts +6 -2
  219. package/dist/ui/Popover.svelte +43 -65
  220. package/dist/ui/Popover.svelte.d.ts +14 -5
  221. package/dist/ui/ProgressBar.svelte +28 -30
  222. package/dist/ui/ProgressBarVariant.d.ts +7 -1
  223. package/dist/ui/SegmentedControl.svelte +0 -0
  224. package/dist/ui/SegmentedControl.svelte.d.ts +26 -0
  225. package/dist/ui/Sortable.svelte +163 -0
  226. package/dist/ui/Sortable.svelte.d.ts +47 -0
  227. package/dist/ui/Table.svelte +383 -80
  228. package/dist/ui/Table.svelte.d.ts +43 -2
  229. package/dist/ui/Tabs.svelte +22 -18
  230. package/dist/ui/Tabs.svelte.d.ts +6 -2
  231. package/dist/ui/ThemeSwitcher.svelte +26 -7
  232. package/dist/ui/ThemeSwitcher.svelte.d.ts +4 -2
  233. package/dist/ui/Tooltip.svelte +312 -180
  234. package/dist/ui/Tooltip.svelte.d.ts +4 -3
  235. package/dist/uiTheme.svelte.d.ts +86 -0
  236. package/dist/uiTheme.svelte.js +214 -0
  237. package/dist/util/DateFunctions.js +1 -1
  238. package/dist/util/DragDrop.d.ts +50 -0
  239. package/dist/util/DragDrop.js +154 -0
  240. package/dist/util/NavigateTo.js +2 -2
  241. package/dist/util/dayjs.d.ts +4 -0
  242. package/dist/util/dayjs.js +15 -0
  243. package/package.json +66 -26
  244. package/dist/display/Alert.svelte +0 -179
  245. package/dist/display/Alert.svelte.d.ts +0 -13
  246. package/dist/form/FileInput.svelte +0 -235
  247. package/dist/form/FileInput.svelte.d.ts +0 -23
  248. package/dist/form/PasswordInput.svelte +0 -253
  249. package/dist/form/PasswordInput.svelte.d.ts +0 -34
  250. package/dist/form/Rating.svelte +0 -235
  251. package/dist/form/Rating.svelte.d.ts +0 -21
  252. package/dist/styles/components.css +0 -199
  253. package/dist/styles/dark.css +0 -146
  254. package/dist/styles/index.css +0 -116
  255. package/dist/styles/reset.css +0 -110
  256. package/dist/styles/semantic.css +0 -86
  257. package/dist/styles/tokens.css +0 -203
  258. package/dist/styles/utilities.css +0 -523
  259. package/dist/ui/Breadcrumbs.svelte +0 -131
  260. package/dist/ui/Breadcrumbs.svelte.d.ts +0 -16
  261. package/dist/ui/LoadingOverlay.svelte +0 -53
  262. package/dist/ui/LoadingOverlay.svelte.d.ts +0 -11
  263. package/dist/ui/Progress.svelte +0 -191
  264. package/dist/ui/Progress.svelte.d.ts +0 -15
  265. package/dist/ui/RingProgress.svelte +0 -141
  266. package/dist/ui/RingProgress.svelte.d.ts +0 -18
  267. package/dist/ui/Skeleton.svelte +0 -85
  268. package/dist/ui/Skeleton.svelte.d.ts +0 -12
  269. package/dist/ui/Stepper.svelte +0 -355
  270. package/dist/ui/Stepper.svelte.d.ts +0 -24
  271. package/dist/ui/Timeline.svelte +0 -225
  272. package/dist/ui/Timeline.svelte.d.ts +0 -23
  273. /package/dist/{actions → util}/ClickOutside.d.ts +0 -0
  274. /package/dist/{actions → util}/ClickOutside.js +0 -0
  275. /package/dist/{transitions → util}/Transitions.d.ts +0 -0
  276. /package/dist/{transitions → util}/Transitions.js +0 -0
@@ -1,523 +0,0 @@
1
- /**
2
- * Utility Classes
3
- * Minimal utility classes for common styling patterns.
4
- * Uses logical properties (start/end) for RTL support.
5
- */
6
-
7
- /* Display */
8
- .block { display: block; }
9
- .inline-block { display: inline-block; }
10
- .flex { display: flex; }
11
- .inline-flex { display: inline-flex; }
12
- .grid { display: grid; }
13
- .hidden { display: none; }
14
-
15
- /* Flex Direction */
16
- .flex-row { flex-direction: row; }
17
- .flex-col { flex-direction: column; }
18
- .flex-wrap { flex-wrap: wrap; }
19
-
20
- /* Flex Alignment */
21
- .items-start { align-items: flex-start; }
22
- .items-center { align-items: center; }
23
- .items-end { align-items: flex-end; }
24
- .items-stretch { align-items: stretch; }
25
-
26
- .justify-start { justify-content: flex-start; }
27
- .justify-center { justify-content: center; }
28
- .justify-end { justify-content: flex-end; }
29
- .justify-between { justify-content: space-between; }
30
-
31
- /* Flex Properties */
32
- .flex-1 { flex: 1 1 0%; }
33
- .flex-grow { flex-grow: 1; }
34
- .flex-shrink-0 { flex-shrink: 0; }
35
-
36
- /* Gap */
37
- .gap-1 { gap: var(--pui-spacing-1); }
38
- .gap-2 { gap: var(--pui-spacing-2); }
39
- .gap-3 { gap: var(--pui-spacing-3); }
40
- .gap-4 { gap: var(--pui-spacing-4); }
41
- .gap-6 { gap: var(--pui-spacing-6); }
42
-
43
- /* Position */
44
- .relative { position: relative; }
45
- .absolute { position: absolute; }
46
- .fixed { position: fixed; }
47
- .sticky { position: sticky; }
48
-
49
- /* Overflow */
50
- .overflow-hidden { overflow: hidden; }
51
- .overflow-auto { overflow: auto; }
52
- .overflow-y-auto { overflow-y: auto; }
53
-
54
- /* Width/Height */
55
- .w-full { width: 100%; }
56
- .h-full { height: 100%; }
57
- .min-h-screen { min-height: 100vh; }
58
-
59
- /* Text */
60
- .text-start { text-align: start; }
61
- .text-center { text-align: center; }
62
- .text-end { text-align: end; }
63
-
64
- /* ============================================
65
- * FONT SIZES
66
- * ============================================ */
67
- .text-xs { font-size: var(--pui-font-size-xs); }
68
- .text-sm { font-size: var(--pui-font-size-sm); }
69
- .text-md { font-size: var(--pui-font-size-md); }
70
- .text-lg { font-size: var(--pui-font-size-lg); }
71
- .text-xl { font-size: var(--pui-font-size-xl); }
72
- .text-2xl { font-size: var(--pui-font-size-2xl); }
73
- .text-3xl { font-size: var(--pui-font-size-3xl); }
74
- .text-4xl { font-size: var(--pui-font-size-4xl); }
75
-
76
- /* ============================================
77
- * FONT WEIGHTS
78
- * ============================================ */
79
- .font-thin { font-weight: var(--pui-font-weight-thin); }
80
- .font-light { font-weight: var(--pui-font-weight-light); }
81
- .font-normal { font-weight: var(--pui-font-weight-normal); }
82
- .font-medium { font-weight: var(--pui-font-weight-medium); }
83
- .font-semibold { font-weight: var(--pui-font-weight-semibold); }
84
- .font-bold { font-weight: var(--pui-font-weight-bold); }
85
- .font-extrabold { font-weight: var(--pui-font-weight-extrabold); }
86
- .font-black { font-weight: var(--pui-font-weight-black); }
87
-
88
- /* ============================================
89
- * LINE HEIGHTS
90
- * ============================================ */
91
- .leading-none { line-height: var(--pui-line-height-none); }
92
- .leading-xs { line-height: var(--pui-line-height-tight); }
93
- .leading-sm { line-height: var(--pui-line-height-snug); }
94
- .leading-md { line-height: var(--pui-line-height-normal); }
95
- .leading-lg { line-height: var(--pui-line-height-relaxed); }
96
- .leading-xl { line-height: var(--pui-line-height-loose); }
97
-
98
- /* ============================================
99
- * LETTER SPACING
100
- * ============================================ */
101
- .tracking-xs { letter-spacing: var(--pui-letter-spacing-tighter); }
102
- .tracking-sm { letter-spacing: var(--pui-letter-spacing-tight); }
103
- .tracking-md { letter-spacing: var(--pui-letter-spacing-normal); }
104
- .tracking-lg { letter-spacing: var(--pui-letter-spacing-wide); }
105
- .tracking-xl { letter-spacing: var(--pui-letter-spacing-wider); }
106
- .tracking-2xl { letter-spacing: var(--pui-letter-spacing-widest); }
107
-
108
- /* ============================================
109
- * FONT FAMILIES
110
- * ============================================ */
111
- .font-sans { font-family: var(--pui-font-family-sans); }
112
- .font-mono { font-family: var(--pui-font-family-mono); }
113
-
114
- /* ============================================
115
- * TEXT COLORS
116
- * ============================================ */
117
-
118
- /* Semantic text colors */
119
- .text-body { color: var(--pui-text-primary); }
120
- .text-subtle { color: var(--pui-text-secondary); }
121
- .text-muted { color: var(--pui-text-muted); }
122
-
123
- /* Brand text colors */
124
- .text-primary { color: var(--pui-color-primary); }
125
- .text-secondary { color: var(--pui-color-secondary); }
126
- .text-accent { color: var(--pui-color-accent); }
127
-
128
- /* Status text colors */
129
- .text-danger { color: var(--pui-color-danger); }
130
- .text-warning { color: var(--pui-color-warning); }
131
- .text-success { color: var(--pui-color-success); }
132
- .text-info { color: var(--pui-color-info); }
133
-
134
- /* Neutral text colors */
135
- .text-white { color: var(--pui-color-white); }
136
- .text-black { color: var(--pui-color-black); }
137
- .text-gray-50 { color: var(--pui-color-gray-50); }
138
- .text-gray-100 { color: var(--pui-color-gray-100); }
139
- .text-gray-200 { color: var(--pui-color-gray-200); }
140
- .text-gray-300 { color: var(--pui-color-gray-300); }
141
- .text-gray-400 { color: var(--pui-color-gray-400); }
142
- .text-gray-500 { color: var(--pui-color-gray-500); }
143
- .text-gray-600 { color: var(--pui-color-gray-600); }
144
- .text-gray-700 { color: var(--pui-color-gray-700); }
145
- .text-gray-800 { color: var(--pui-color-gray-800); }
146
- .text-gray-900 { color: var(--pui-color-gray-900); }
147
-
148
- /* Inherit/current */
149
- .text-inherit { color: inherit; }
150
- .text-current { color: currentColor; }
151
-
152
- /* ============================================
153
- * BACKGROUND COLORS
154
- * ============================================ */
155
-
156
- /* Brand backgrounds */
157
- .bg-primary { background-color: var(--pui-color-primary); }
158
- .bg-primary-hover { background-color: var(--pui-color-primary-light); }
159
- .bg-primary-dark { background-color: var(--pui-color-primary-dark); }
160
- .bg-secondary { background-color: var(--pui-color-secondary); }
161
- .bg-secondary-hover { background-color: var(--pui-color-secondary-hover); }
162
- .bg-accent { background-color: var(--pui-color-accent); }
163
- .bg-accent-hover { background-color: var(--pui-color-accent-hover); }
164
- .bg-accent-light { background-color: var(--pui-color-accent-light); }
165
-
166
- /* Status backgrounds */
167
- .bg-danger { background-color: var(--pui-color-danger); }
168
- .bg-danger-subtle { background-color: var(--pui-color-danger-subtle); }
169
- .bg-warning { background-color: var(--pui-color-warning); }
170
- .bg-success { background-color: var(--pui-color-success); }
171
- .bg-info { background-color: var(--pui-color-info); }
172
-
173
- /* Neutral backgrounds */
174
- .bg-white { background-color: var(--pui-color-white); }
175
- .bg-black { background-color: var(--pui-color-black); }
176
- .bg-gray-50 { background-color: var(--pui-color-gray-50); }
177
- .bg-gray-100 { background-color: var(--pui-color-gray-100); }
178
- .bg-gray-200 { background-color: var(--pui-color-gray-200); }
179
- .bg-gray-300 { background-color: var(--pui-color-gray-300); }
180
- .bg-gray-400 { background-color: var(--pui-color-gray-400); }
181
- .bg-gray-500 { background-color: var(--pui-color-gray-500); }
182
- .bg-gray-600 { background-color: var(--pui-color-gray-600); }
183
- .bg-gray-700 { background-color: var(--pui-color-gray-700); }
184
- .bg-gray-800 { background-color: var(--pui-color-gray-800); }
185
- .bg-gray-900 { background-color: var(--pui-color-gray-900); }
186
-
187
- /* Dark mode backgrounds */
188
- .bg-dark-100 { background-color: var(--pui-color-dark-100); }
189
- .bg-dark-200 { background-color: var(--pui-color-dark-200); }
190
- .bg-dark-300 { background-color: var(--pui-color-dark-300); }
191
- .bg-dark-400 { background-color: var(--pui-color-dark-400); }
192
- .bg-dark-500 { background-color: var(--pui-color-dark-500); }
193
-
194
- /* Special backgrounds */
195
- .bg-transparent { background-color: transparent; }
196
- .bg-inherit { background-color: inherit; }
197
-
198
- /* ============================================
199
- * BORDER COLORS
200
- * ============================================ */
201
-
202
- /* Brand borders */
203
- .border-primary { border-color: var(--pui-color-primary); }
204
- .border-secondary { border-color: var(--pui-color-secondary); }
205
- .border-accent { border-color: var(--pui-color-accent); }
206
-
207
- /* Status borders */
208
- .border-danger { border-color: var(--pui-color-danger); }
209
- .border-warning { border-color: var(--pui-color-warning); }
210
- .border-success { border-color: var(--pui-color-success); }
211
- .border-info { border-color: var(--pui-color-info); }
212
-
213
- /* Neutral borders */
214
- .border-white { border-color: var(--pui-color-white); }
215
- .border-black { border-color: var(--pui-color-black); }
216
- .border-gray-50 { border-color: var(--pui-color-gray-50); }
217
- .border-gray-100 { border-color: var(--pui-color-gray-100); }
218
- .border-gray-200 { border-color: var(--pui-color-gray-200); }
219
- .border-gray-300 { border-color: var(--pui-color-gray-300); }
220
- .border-gray-400 { border-color: var(--pui-color-gray-400); }
221
- .border-gray-500 { border-color: var(--pui-color-gray-500); }
222
- .border-gray-600 { border-color: var(--pui-color-gray-600); }
223
- .border-gray-700 { border-color: var(--pui-color-gray-700); }
224
- .border-gray-800 { border-color: var(--pui-color-gray-800); }
225
- .border-gray-900 { border-color: var(--pui-color-gray-900); }
226
-
227
- /* Dark mode borders */
228
- .border-dark { border-color: var(--pui-color-dark-border); }
229
- .border-dark-subtle { border-color: var(--pui-color-dark-border-subtle); }
230
-
231
- /* Default/semantic borders */
232
- .border-default { border-color: var(--pui-border-default); }
233
- .border-transparent { border-color: transparent; }
234
- .border-inherit { border-color: inherit; }
235
-
236
- /* Border width utilities */
237
- .border-0 { border-width: 0; }
238
- .border { border-width: 1px; border-style: solid; }
239
- .border-2 { border-width: 2px; border-style: solid; }
240
- .border-4 { border-width: 4px; border-style: solid; }
241
- .border-t { border-top-width: 1px; border-top-style: solid; }
242
- .border-r { border-right-width: 1px; border-right-style: solid; }
243
- .border-b { border-bottom-width: 1px; border-bottom-style: solid; }
244
- .border-l { border-left-width: 1px; border-left-style: solid; }
245
-
246
- /* User Select */
247
- .select-none { user-select: none; }
248
-
249
- /* Cursor */
250
- .cursor-pointer { cursor: pointer; }
251
- .cursor-not-allowed { cursor: not-allowed; }
252
-
253
- /* Truncation */
254
- .truncate {
255
- overflow: hidden;
256
- text-overflow: ellipsis;
257
- white-space: nowrap;
258
- }
259
-
260
- /* Border Radius */
261
- .rounded { border-radius: var(--pui-radius-base); }
262
- .rounded-md { border-radius: var(--pui-radius-md); }
263
- .rounded-lg { border-radius: var(--pui-radius-lg); }
264
- .rounded-full { border-radius: var(--pui-radius-full); }
265
-
266
- /* Shadow */
267
- .shadow-sm { box-shadow: var(--pui-shadow-sm); }
268
- .shadow { box-shadow: var(--pui-shadow-base); }
269
- .shadow-md { box-shadow: var(--pui-shadow-md); }
270
-
271
- /* Screen Reader Only */
272
- .sr-only {
273
- position: absolute;
274
- width: 1px;
275
- height: 1px;
276
- padding: 0;
277
- margin: -1px;
278
- overflow: hidden;
279
- clip: rect(0, 0, 0, 0);
280
- white-space: nowrap;
281
- border-width: 0;
282
- }
283
-
284
- /* Stack Utilities */
285
- .vstack {
286
- display: flex;
287
- flex-direction: column;
288
- gap: var(--pui-spacing-4);
289
- }
290
-
291
- .hstack {
292
- display: flex;
293
- flex-direction: row;
294
- align-items: center;
295
- gap: var(--pui-spacing-4);
296
- }
297
-
298
- .center {
299
- display: flex;
300
- align-items: center;
301
- justify-content: center;
302
- }
303
-
304
- /* Container */
305
- .container {
306
- width: 100%;
307
- margin-inline: auto;
308
- padding-inline: var(--pui-spacing-4);
309
- }
310
-
311
- @media (min-width: 640px) {
312
- .container { max-width: 640px; }
313
- }
314
- @media (min-width: 768px) {
315
- .container { max-width: 768px; }
316
- }
317
- @media (min-width: 1024px) {
318
- .container { max-width: 1024px; }
319
- }
320
- @media (min-width: 1280px) {
321
- .container { max-width: 1280px; }
322
- }
323
-
324
- /* ============================================
325
- * Padding
326
- * ============================================ */
327
- .p-0 { padding: var(--pui-spacing-0); }
328
- .p-1 { padding: var(--pui-spacing-1); }
329
- .p-2 { padding: var(--pui-spacing-2); }
330
- .p-3 { padding: var(--pui-spacing-3); }
331
- .p-4 { padding: var(--pui-spacing-4); }
332
- .p-5 { padding: var(--pui-spacing-5); }
333
- .p-6 { padding: var(--pui-spacing-6); }
334
- .p-7 { padding: var(--pui-spacing-7); }
335
- .p-8 { padding: var(--pui-spacing-8); }
336
- .p-9 { padding: var(--pui-spacing-9); }
337
- .p-10 { padding: var(--pui-spacing-10); }
338
- .p-11 { padding: var(--pui-spacing-11); }
339
- .p-12 { padding: var(--pui-spacing-12); }
340
- .p-14 { padding: var(--pui-spacing-14); }
341
- .p-16 { padding: var(--pui-spacing-16); }
342
- .p-20 { padding: var(--pui-spacing-20); }
343
- .p-24 { padding: var(--pui-spacing-24); }
344
-
345
- .px-0 { padding-inline: var(--pui-spacing-0); }
346
- .px-1 { padding-inline: var(--pui-spacing-1); }
347
- .px-2 { padding-inline: var(--pui-spacing-2); }
348
- .px-3 { padding-inline: var(--pui-spacing-3); }
349
- .px-4 { padding-inline: var(--pui-spacing-4); }
350
- .px-5 { padding-inline: var(--pui-spacing-5); }
351
- .px-6 { padding-inline: var(--pui-spacing-6); }
352
- .px-7 { padding-inline: var(--pui-spacing-7); }
353
- .px-8 { padding-inline: var(--pui-spacing-8); }
354
- .px-9 { padding-inline: var(--pui-spacing-9); }
355
- .px-10 { padding-inline: var(--pui-spacing-10); }
356
- .px-11 { padding-inline: var(--pui-spacing-11); }
357
- .px-12 { padding-inline: var(--pui-spacing-12); }
358
- .px-14 { padding-inline: var(--pui-spacing-14); }
359
- .px-16 { padding-inline: var(--pui-spacing-16); }
360
- .px-20 { padding-inline: var(--pui-spacing-20); }
361
- .px-24 { padding-inline: var(--pui-spacing-24); }
362
-
363
- .py-0 { padding-block: var(--pui-spacing-0); }
364
- .py-1 { padding-block: var(--pui-spacing-1); }
365
- .py-2 { padding-block: var(--pui-spacing-2); }
366
- .py-3 { padding-block: var(--pui-spacing-3); }
367
- .py-4 { padding-block: var(--pui-spacing-4); }
368
- .py-5 { padding-block: var(--pui-spacing-5); }
369
- .py-6 { padding-block: var(--pui-spacing-6); }
370
- .py-7 { padding-block: var(--pui-spacing-7); }
371
- .py-8 { padding-block: var(--pui-spacing-8); }
372
- .py-9 { padding-block: var(--pui-spacing-9); }
373
- .py-10 { padding-block: var(--pui-spacing-10); }
374
- .py-11 { padding-block: var(--pui-spacing-11); }
375
- .py-12 { padding-block: var(--pui-spacing-12); }
376
- .py-14 { padding-block: var(--pui-spacing-14); }
377
- .py-16 { padding-block: var(--pui-spacing-16); }
378
- .py-20 { padding-block: var(--pui-spacing-20); }
379
- .py-24 { padding-block: var(--pui-spacing-24); }
380
-
381
- .pt-0 { padding-top: var(--pui-spacing-0); }
382
- .pt-1 { padding-top: var(--pui-spacing-1); }
383
- .pt-2 { padding-top: var(--pui-spacing-2); }
384
- .pt-3 { padding-top: var(--pui-spacing-3); }
385
- .pt-4 { padding-top: var(--pui-spacing-4); }
386
- .pt-5 { padding-top: var(--pui-spacing-5); }
387
- .pt-6 { padding-top: var(--pui-spacing-6); }
388
- .pt-7 { padding-top: var(--pui-spacing-7); }
389
- .pt-8 { padding-top: var(--pui-spacing-8); }
390
-
391
- .pe-0 { padding-inline-end: var(--pui-spacing-0); }
392
- .pe-1 { padding-inline-end: var(--pui-spacing-1); }
393
- .pe-2 { padding-inline-end: var(--pui-spacing-2); }
394
- .pe-3 { padding-inline-end: var(--pui-spacing-3); }
395
- .pe-4 { padding-inline-end: var(--pui-spacing-4); }
396
- .pe-5 { padding-inline-end: var(--pui-spacing-5); }
397
- .pe-6 { padding-inline-end: var(--pui-spacing-6); }
398
- .pe-7 { padding-inline-end: var(--pui-spacing-7); }
399
- .pe-8 { padding-inline-end: var(--pui-spacing-8); }
400
-
401
- .pb-0 { padding-bottom: var(--pui-spacing-0); }
402
- .pb-1 { padding-bottom: var(--pui-spacing-1); }
403
- .pb-2 { padding-bottom: var(--pui-spacing-2); }
404
- .pb-3 { padding-bottom: var(--pui-spacing-3); }
405
- .pb-4 { padding-bottom: var(--pui-spacing-4); }
406
- .pb-5 { padding-bottom: var(--pui-spacing-5); }
407
- .pb-6 { padding-bottom: var(--pui-spacing-6); }
408
- .pb-7 { padding-bottom: var(--pui-spacing-7); }
409
- .pb-8 { padding-bottom: var(--pui-spacing-8); }
410
-
411
- .ps-0 { padding-inline-start: var(--pui-spacing-0); }
412
- .ps-1 { padding-inline-start: var(--pui-spacing-1); }
413
- .ps-2 { padding-inline-start: var(--pui-spacing-2); }
414
- .ps-3 { padding-inline-start: var(--pui-spacing-3); }
415
- .ps-4 { padding-inline-start: var(--pui-spacing-4); }
416
- .ps-5 { padding-inline-start: var(--pui-spacing-5); }
417
- .ps-6 { padding-inline-start: var(--pui-spacing-6); }
418
- .ps-7 { padding-inline-start: var(--pui-spacing-7); }
419
- .ps-8 { padding-inline-start: var(--pui-spacing-8); }
420
-
421
- /* ============================================
422
- * Margin
423
- * ============================================ */
424
- .m-0 { margin: var(--pui-spacing-0); }
425
- .m-1 { margin: var(--pui-spacing-1); }
426
- .m-2 { margin: var(--pui-spacing-2); }
427
- .m-3 { margin: var(--pui-spacing-3); }
428
- .m-4 { margin: var(--pui-spacing-4); }
429
- .m-5 { margin: var(--pui-spacing-5); }
430
- .m-6 { margin: var(--pui-spacing-6); }
431
- .m-7 { margin: var(--pui-spacing-7); }
432
- .m-8 { margin: var(--pui-spacing-8); }
433
- .m-9 { margin: var(--pui-spacing-9); }
434
- .m-10 { margin: var(--pui-spacing-10); }
435
- .m-11 { margin: var(--pui-spacing-11); }
436
- .m-12 { margin: var(--pui-spacing-12); }
437
- .m-14 { margin: var(--pui-spacing-14); }
438
- .m-16 { margin: var(--pui-spacing-16); }
439
- .m-20 { margin: var(--pui-spacing-20); }
440
- .m-24 { margin: var(--pui-spacing-24); }
441
- .m-auto { margin: auto; }
442
-
443
- .mx-0 { margin-inline: var(--pui-spacing-0); }
444
- .mx-1 { margin-inline: var(--pui-spacing-1); }
445
- .mx-2 { margin-inline: var(--pui-spacing-2); }
446
- .mx-3 { margin-inline: var(--pui-spacing-3); }
447
- .mx-4 { margin-inline: var(--pui-spacing-4); }
448
- .mx-5 { margin-inline: var(--pui-spacing-5); }
449
- .mx-6 { margin-inline: var(--pui-spacing-6); }
450
- .mx-7 { margin-inline: var(--pui-spacing-7); }
451
- .mx-8 { margin-inline: var(--pui-spacing-8); }
452
- .mx-9 { margin-inline: var(--pui-spacing-9); }
453
- .mx-10 { margin-inline: var(--pui-spacing-10); }
454
- .mx-11 { margin-inline: var(--pui-spacing-11); }
455
- .mx-12 { margin-inline: var(--pui-spacing-12); }
456
- .mx-14 { margin-inline: var(--pui-spacing-14); }
457
- .mx-16 { margin-inline: var(--pui-spacing-16); }
458
- .mx-20 { margin-inline: var(--pui-spacing-20); }
459
- .mx-24 { margin-inline: var(--pui-spacing-24); }
460
- .mx-auto { margin-inline: auto; }
461
-
462
- .my-0 { margin-block: var(--pui-spacing-0); }
463
- .my-1 { margin-block: var(--pui-spacing-1); }
464
- .my-2 { margin-block: var(--pui-spacing-2); }
465
- .my-3 { margin-block: var(--pui-spacing-3); }
466
- .my-4 { margin-block: var(--pui-spacing-4); }
467
- .my-5 { margin-block: var(--pui-spacing-5); }
468
- .my-6 { margin-block: var(--pui-spacing-6); }
469
- .my-7 { margin-block: var(--pui-spacing-7); }
470
- .my-8 { margin-block: var(--pui-spacing-8); }
471
- .my-9 { margin-block: var(--pui-spacing-9); }
472
- .my-10 { margin-block: var(--pui-spacing-10); }
473
- .my-11 { margin-block: var(--pui-spacing-11); }
474
- .my-12 { margin-block: var(--pui-spacing-12); }
475
- .my-14 { margin-block: var(--pui-spacing-14); }
476
- .my-16 { margin-block: var(--pui-spacing-16); }
477
- .my-20 { margin-block: var(--pui-spacing-20); }
478
- .my-24 { margin-block: var(--pui-spacing-24); }
479
- .my-auto { margin-block: auto; }
480
-
481
- .mt-0 { margin-top: var(--pui-spacing-0); }
482
- .mt-1 { margin-top: var(--pui-spacing-1); }
483
- .mt-2 { margin-top: var(--pui-spacing-2); }
484
- .mt-3 { margin-top: var(--pui-spacing-3); }
485
- .mt-4 { margin-top: var(--pui-spacing-4); }
486
- .mt-5 { margin-top: var(--pui-spacing-5); }
487
- .mt-6 { margin-top: var(--pui-spacing-6); }
488
- .mt-7 { margin-top: var(--pui-spacing-7); }
489
- .mt-8 { margin-top: var(--pui-spacing-8); }
490
- .mt-auto { margin-top: auto; }
491
-
492
- .me-0 { margin-inline-end: var(--pui-spacing-0); }
493
- .me-1 { margin-inline-end: var(--pui-spacing-1); }
494
- .me-2 { margin-inline-end: var(--pui-spacing-2); }
495
- .me-3 { margin-inline-end: var(--pui-spacing-3); }
496
- .me-4 { margin-inline-end: var(--pui-spacing-4); }
497
- .me-5 { margin-inline-end: var(--pui-spacing-5); }
498
- .me-6 { margin-inline-end: var(--pui-spacing-6); }
499
- .me-7 { margin-inline-end: var(--pui-spacing-7); }
500
- .me-8 { margin-inline-end: var(--pui-spacing-8); }
501
- .me-auto { margin-inline-end: auto; }
502
-
503
- .mb-0 { margin-bottom: var(--pui-spacing-0); }
504
- .mb-1 { margin-bottom: var(--pui-spacing-1); }
505
- .mb-2 { margin-bottom: var(--pui-spacing-2); }
506
- .mb-3 { margin-bottom: var(--pui-spacing-3); }
507
- .mb-4 { margin-bottom: var(--pui-spacing-4); }
508
- .mb-5 { margin-bottom: var(--pui-spacing-5); }
509
- .mb-6 { margin-bottom: var(--pui-spacing-6); }
510
- .mb-7 { margin-bottom: var(--pui-spacing-7); }
511
- .mb-8 { margin-bottom: var(--pui-spacing-8); }
512
- .mb-auto { margin-bottom: auto; }
513
-
514
- .ms-0 { margin-inline-start: var(--pui-spacing-0); }
515
- .ms-1 { margin-inline-start: var(--pui-spacing-1); }
516
- .ms-2 { margin-inline-start: var(--pui-spacing-2); }
517
- .ms-3 { margin-inline-start: var(--pui-spacing-3); }
518
- .ms-4 { margin-inline-start: var(--pui-spacing-4); }
519
- .ms-5 { margin-inline-start: var(--pui-spacing-5); }
520
- .ms-6 { margin-inline-start: var(--pui-spacing-6); }
521
- .ms-7 { margin-inline-start: var(--pui-spacing-7); }
522
- .ms-8 { margin-inline-start: var(--pui-spacing-8); }
523
- .ms-auto { margin-inline-start: auto; }
@@ -1,131 +0,0 @@
1
- <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
- import Icon from '../icon/Icon.svelte';
4
- import { iconChevronRight } from '../icon/index.js';
5
-
6
- interface BreadcrumbItem {
7
- label: string;
8
- href?: string;
9
- icon?: string;
10
- }
11
-
12
- interface Props {
13
- items?: BreadcrumbItem[];
14
- separator?: string | Snippet;
15
- separatorMargin?: string;
16
- class?: string;
17
- children?: Snippet;
18
- }
19
-
20
- let {
21
- items = [],
22
- separator = undefined,
23
- separatorMargin = '0.5rem',
24
- class: classes = '',
25
- children
26
- }: Props = $props();
27
- </script>
28
-
29
- <nav aria-label="Breadcrumb" class="breadcrumbs {classes}">
30
- <ol class="breadcrumb-list">
31
- {#if children}
32
- {@render children()}
33
- {:else}
34
- {#each items as item, index (index)}
35
- {#if index > 0}
36
- <li class="breadcrumb-separator" style="margin: 0 {separatorMargin};" aria-hidden="true">
37
- {#if typeof separator === 'function'}
38
- {@render separator()}
39
- {:else if separator}
40
- {separator}
41
- {:else}
42
- <Icon svg={iconChevronRight} size="14px" />
43
- {/if}
44
- </li>
45
- {/if}
46
- <li class="breadcrumb-item">
47
- {#if item.href && index < items.length - 1}
48
- <a href={item.href} class="breadcrumb-link">
49
- {#if item.icon}
50
- <Icon svg={item.icon} size="16px" />
51
- {/if}
52
- <span>{item.label}</span>
53
- </a>
54
- {:else}
55
- <span class="breadcrumb-current" aria-current={index === items.length - 1 ? 'page' : undefined}>
56
- {#if item.icon}
57
- <Icon svg={item.icon} size="16px" />
58
- {/if}
59
- <span>{item.label}</span>
60
- </span>
61
- {/if}
62
- </li>
63
- {/each}
64
- {/if}
65
- </ol>
66
- </nav>
67
-
68
- <style>
69
- .breadcrumbs {
70
- width: 100%;
71
- }
72
-
73
- .breadcrumb-list {
74
- display: flex;
75
- align-items: center;
76
- flex-wrap: wrap;
77
- list-style: none;
78
- margin: 0;
79
- padding: 0;
80
- font-size: var(--pui-font-size-sm);
81
- }
82
-
83
- .breadcrumb-item {
84
- display: flex;
85
- align-items: center;
86
- }
87
-
88
- .breadcrumb-link {
89
- display: flex;
90
- align-items: center;
91
- gap: var(--pui-spacing-1);
92
- color: var(--pui-color-gray-600);
93
- text-decoration: none;
94
- transition: color var(--pui-transition-fast) var(--pui-ease-in-out);
95
- }
96
-
97
- :global(.dark) .breadcrumb-link {
98
- color: var(--pui-color-gray-400);
99
- }
100
-
101
- .breadcrumb-link:hover {
102
- color: var(--pui-color-primary);
103
- text-decoration: underline;
104
- }
105
-
106
- :global(.dark) .breadcrumb-link:hover {
107
- color: var(--pui-color-secondary);
108
- }
109
-
110
- .breadcrumb-current {
111
- display: flex;
112
- align-items: center;
113
- gap: var(--pui-spacing-1);
114
- color: var(--pui-color-gray-900);
115
- font-weight: var(--pui-font-weight-medium);
116
- }
117
-
118
- :global(.dark) .breadcrumb-current {
119
- color: var(--pui-color-gray-100);
120
- }
121
-
122
- .breadcrumb-separator {
123
- display: flex;
124
- align-items: center;
125
- color: var(--pui-color-gray-400);
126
- }
127
-
128
- :global(.dark) .breadcrumb-separator {
129
- color: var(--pui-color-gray-600);
130
- }
131
- </style>
@@ -1,16 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- interface BreadcrumbItem {
3
- label: string;
4
- href?: string;
5
- icon?: string;
6
- }
7
- interface Props {
8
- items?: BreadcrumbItem[];
9
- separator?: string | Snippet;
10
- separatorMargin?: string;
11
- class?: string;
12
- children?: Snippet;
13
- }
14
- declare const Breadcrumbs: import("svelte").Component<Props, {}, "">;
15
- type Breadcrumbs = ReturnType<typeof Breadcrumbs>;
16
- export default Breadcrumbs;