@placeholderco/placeholder-ui 1.0.3 → 1.0.6

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 (136) hide show
  1. package/LICENSE +26 -26
  2. package/README.md +179 -179
  3. package/dist/display/Alert.svelte +179 -179
  4. package/dist/display/Avatar.svelte +166 -166
  5. package/dist/display/LinkCollection.svelte +161 -161
  6. package/dist/display/Paper.svelte +118 -118
  7. package/dist/form/Autocomplete.svelte +223 -191
  8. package/dist/form/Autocomplete.svelte.d.ts +3 -1
  9. package/dist/form/AutocompleteMulti.svelte +356 -0
  10. package/dist/form/AutocompleteMulti.svelte.d.ts +28 -0
  11. package/dist/form/Checkbox.svelte +201 -201
  12. package/dist/form/Chips.svelte +128 -128
  13. package/dist/form/ComboBox.svelte +158 -158
  14. package/dist/form/ComboBox.svelte.d.ts +1 -1
  15. package/dist/form/ComboBoxItemBuilder.svelte +460 -460
  16. package/dist/form/ComboBoxMulti.svelte +197 -197
  17. package/dist/form/ComboBoxMulti.svelte.d.ts +1 -1
  18. package/dist/form/CronBuilder.svelte +693 -693
  19. package/dist/form/DatePicker.svelte +672 -672
  20. package/dist/form/DateTimePicker.svelte +712 -712
  21. package/dist/form/FileInput.svelte +235 -235
  22. package/dist/form/FormGroup.svelte +68 -68
  23. package/dist/form/Number.svelte +238 -238
  24. package/dist/form/PasswordInput.svelte +252 -252
  25. package/dist/form/RadioGroup.svelte +210 -210
  26. package/dist/form/Rating.svelte +235 -235
  27. package/dist/form/SegmentedControl.svelte +149 -149
  28. package/dist/form/Select.svelte +590 -590
  29. package/dist/form/Select.svelte.d.ts +1 -1
  30. package/dist/form/SelectMulti.svelte +613 -613
  31. package/dist/form/SelectMulti.svelte.d.ts +1 -1
  32. package/dist/form/Slider.svelte +358 -358
  33. package/dist/form/Switch.svelte +147 -147
  34. package/dist/form/TextArea.svelte +148 -148
  35. package/dist/form/Textbox.svelte +228 -228
  36. package/dist/form/TimePicker.svelte +267 -267
  37. package/dist/icon/Icon.svelte +52 -52
  38. package/dist/icon/alert-octagon.svg +5 -5
  39. package/dist/icon/alert-triangle.svg +5 -5
  40. package/dist/icon/archive.svg +1 -1
  41. package/dist/icon/arrow-down.svg +1 -1
  42. package/dist/icon/arrow-left.svg +1 -1
  43. package/dist/icon/arrow-right.svg +1 -1
  44. package/dist/icon/arrow-up.svg +1 -1
  45. package/dist/icon/at.svg +1 -1
  46. package/dist/icon/bell.svg +1 -1
  47. package/dist/icon/bookmark.svg +1 -1
  48. package/dist/icon/calendar.svg +1 -1
  49. package/dist/icon/camera.svg +1 -1
  50. package/dist/icon/chart-bar.svg +1 -1
  51. package/dist/icon/chart-line.svg +1 -1
  52. package/dist/icon/chart-pie.svg +1 -1
  53. package/dist/icon/checkbox.svg +1 -1
  54. package/dist/icon/checklist.svg +1 -1
  55. package/dist/icon/circle-check.svg +1 -1
  56. package/dist/icon/circle-x.svg +1 -1
  57. package/dist/icon/clock.svg +1 -1
  58. package/dist/icon/credit-card.svg +1 -1
  59. package/dist/icon/dots-vertical.svg +1 -1
  60. package/dist/icon/dots.svg +1 -1
  61. package/dist/icon/external-link.svg +1 -1
  62. package/dist/icon/eye-off.svg +1 -1
  63. package/dist/icon/eye.svg +1 -1
  64. package/dist/icon/filter.svg +1 -1
  65. package/dist/icon/fingerprint.svg +1 -1
  66. package/dist/icon/flag.svg +1 -1
  67. package/dist/icon/heart.svg +1 -1
  68. package/dist/icon/home.svg +1 -1
  69. package/dist/icon/key.svg +1 -1
  70. package/dist/icon/list-check.svg +1 -1
  71. package/dist/icon/login.svg +1 -1
  72. package/dist/icon/logout.svg +1 -1
  73. package/dist/icon/map-pin.svg +1 -1
  74. package/dist/icon/maximize.svg +1 -1
  75. package/dist/icon/microphone.svg +1 -1
  76. package/dist/icon/minimize.svg +1 -1
  77. package/dist/icon/note.svg +1 -1
  78. package/dist/icon/player-pause.svg +1 -1
  79. package/dist/icon/printer.svg +1 -1
  80. package/dist/icon/qrcode.svg +1 -1
  81. package/dist/icon/send.svg +1 -1
  82. package/dist/icon/settings.svg +1 -1
  83. package/dist/icon/share.svg +1 -1
  84. package/dist/icon/shopping-cart.svg +1 -1
  85. package/dist/icon/sort-ascending.svg +1 -1
  86. package/dist/icon/sort-descending.svg +1 -1
  87. package/dist/icon/star.svg +1 -1
  88. package/dist/icon/tag.svg +1 -1
  89. package/dist/icon/trending-down.svg +1 -1
  90. package/dist/icon/trending-up.svg +1 -1
  91. package/dist/icon/upload.svg +1 -1
  92. package/dist/icon/volume-off.svg +1 -1
  93. package/dist/icon/volume.svg +1 -1
  94. package/dist/icon/world.svg +1 -1
  95. package/dist/icon/zoom-in.svg +1 -1
  96. package/dist/icon/zoom-out.svg +1 -1
  97. package/dist/index.d.ts +1 -0
  98. package/dist/index.js +1 -0
  99. package/dist/layout/AppShell.svelte +169 -169
  100. package/dist/layout/CustomNavbar.svelte +61 -61
  101. package/dist/layout/Navbar.svelte +206 -206
  102. package/dist/layout/NavbarItemDisplay.svelte +29 -29
  103. package/dist/layout/Sidenav.svelte +712 -712
  104. package/dist/styles/components.css +199 -199
  105. package/dist/styles/dark.css +146 -146
  106. package/dist/styles/index.css +116 -116
  107. package/dist/styles/reset.css +110 -110
  108. package/dist/styles/semantic.css +86 -86
  109. package/dist/styles/tokens.css +203 -197
  110. package/dist/styles/utilities.css +523 -523
  111. package/dist/ui/Accordion.svelte +289 -289
  112. package/dist/ui/ActionIcon.svelte +76 -76
  113. package/dist/ui/Badge.svelte +329 -279
  114. package/dist/ui/Breadcrumbs.svelte +131 -131
  115. package/dist/ui/Button.svelte +432 -370
  116. package/dist/ui/ButtonVariant.d.ts +1 -1
  117. package/dist/ui/Dialog.svelte +307 -307
  118. package/dist/ui/Drawer.svelte +524 -524
  119. package/dist/ui/Dropdown.svelte +97 -97
  120. package/dist/ui/Dropzone.svelte +122 -122
  121. package/dist/ui/Link.svelte +32 -32
  122. package/dist/ui/Loader.svelte +70 -70
  123. package/dist/ui/LoadingOverlay.svelte +53 -53
  124. package/dist/ui/Pagination.svelte +135 -135
  125. package/dist/ui/Popover.svelte +225 -225
  126. package/dist/ui/Progress.svelte +191 -191
  127. package/dist/ui/RingProgress.svelte +141 -141
  128. package/dist/ui/Skeleton.svelte +85 -85
  129. package/dist/ui/Stepper.svelte +355 -355
  130. package/dist/ui/Table.svelte +345 -345
  131. package/dist/ui/Tabs.svelte +146 -146
  132. package/dist/ui/ThemeSwitcher.svelte +39 -39
  133. package/dist/ui/Timeline.svelte +225 -225
  134. package/dist/ui/Toaster.svelte +6 -6
  135. package/dist/ui/Tooltip.svelte +434 -434
  136. package/package.json +14 -14
@@ -1,131 +1,131 @@
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
+ <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>