@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
@@ -10,7 +10,7 @@
10
10
  groupedOptions: ComboBoxGroup[];
11
11
  loading: boolean;
12
12
  open: boolean;
13
- showNoResultsMessage: boolean;
13
+ hideNoResults: boolean;
14
14
  loadingText: string;
15
15
  onSelection: (value: ComboBoxItem) => void;
16
16
  htmlElement?: HTMLElement;
@@ -23,7 +23,7 @@
23
23
  groupedOptions = [],
24
24
  loading = false,
25
25
  open = $bindable(false),
26
- showNoResultsMessage = true,
26
+ hideNoResults = false,
27
27
  loadingText = '',
28
28
  onSelection,
29
29
  htmlElement = $bindable(undefined),
@@ -90,7 +90,7 @@
90
90
  {:else if error}
91
91
  <div class="p-2">{error}</div>
92
92
  {:else if filterString && flattenedOptions?.length === 0}
93
- {#if showNoResultsMessage}
93
+ {#if !hideNoResults}
94
94
  <div class="p-2 no-results">No results found</div>
95
95
  {/if}
96
96
  {:else}
@@ -132,21 +132,32 @@
132
132
  {/if}
133
133
 
134
134
  <style>
135
+ /* .item {
136
+ &:hover,
137
+ &.selected {
138
+ @apply bg-main-border;
139
+ @apply text-accent;
140
+ }
141
+ } */
142
+
135
143
  .combobox-multi {
136
144
  position: absolute;
137
145
  width: 100%;
138
- z-index: var(--pui-z-dropdown);
139
- border-radius: var(--pui-radius-base);
146
+ z-index: 50;
147
+ border-radius: 0.25rem;
140
148
  overflow: hidden;
141
- border: 1px solid var(--pui-border-default);
142
- background-color: var(--pui-input-bg);
149
+ border: 1px solid var(--main-border-color);
150
+ background-color: var(--input-bg-color);
151
+ /* absolute w-full z-50 rounded overflow-hidden
152
+ border border-main-border bg-input */
143
153
  }
144
154
 
145
155
  .combobox-multi-panel {
146
156
  overflow: auto;
147
157
  max-height: 20rem;
148
- border: 1px solid var(--pui-border-default);
158
+ border: 1px solid var(--border-color);
149
159
  border-top: none;
160
+ /* max-h-80 overflow-auto */
150
161
  }
151
162
 
152
163
  .combobox-item {
@@ -155,43 +166,46 @@
155
166
  align-items: center;
156
167
  text-align: left;
157
168
  background-color: transparent;
158
- color: var(--pui-text-primary);
169
+ color: var(--text-color);
159
170
  border: none;
160
- font-size: var(--pui-font-size-md);
171
+ font-size: 1rem;
161
172
  cursor: pointer;
162
- gap: var(--pui-spacing-2);
173
+ gap: 0.5rem;
174
+ /* item w-full flex items-center text-left */
163
175
  }
164
176
 
165
177
  .p-2 {
166
- padding: var(--pui-spacing-2);
178
+ padding: 0.5rem;
167
179
  }
168
180
 
169
181
  .combobox-item.selected,
170
182
  .combobox-item:hover {
171
- background-color: var(--pui-bg-hover);
172
- color: var(--pui-accent-color);
183
+ background-color: var(--border-color);
184
+ color: rgb(var(--accent-color-rgb));
173
185
  }
174
186
 
175
187
  .seperator {
176
188
  height: 1px;
177
- background-color: var(--pui-border-default);
178
- margin: var(--pui-spacing-2) 0;
189
+ background-color: var(--border-color);
190
+ margin: 0.5rem 0;
179
191
  }
180
192
 
181
193
  .group-label {
182
- font-weight: var(--pui-font-weight-bold);
183
- padding: var(--pui-spacing-2);
184
- background-color: var(--pui-bg-surface-raised);
185
- color: var(--pui-accent-color);
194
+ font-weight: bold;
195
+ padding: 0.5rem;
196
+ background-color: #f6f6f6;
197
+ color: rgb(var(--accent-color-rgb));
186
198
  }
187
199
 
188
200
  .no-results {
189
- color: var(--pui-text-primary);
190
- border: 1px solid var(--pui-border-default);
201
+ color: var(--text-color);
202
+ border: 1px solid var(--border-color);
191
203
  border-top: none;
192
204
  }
193
205
 
194
- :global(.dark) .group-label {
195
- background: var(--pui-color-black);
206
+ :global(.dark) {
207
+ .group-label {
208
+ background: black;
209
+ }
196
210
  }
197
211
  </style>
@@ -5,7 +5,7 @@ interface Props {
5
5
  groupedOptions: ComboBoxGroup[];
6
6
  loading: boolean;
7
7
  open: boolean;
8
- showNoResultsMessage: boolean;
8
+ hideNoResults: boolean;
9
9
  loadingText: string;
10
10
  onSelection: (value: ComboBoxItem) => void;
11
11
  htmlElement?: HTMLElement;
@@ -1,27 +1,44 @@
1
- <script lang="ts">
2
- import FormGroup from './FormGroup.svelte';
3
- import Select from './Select.svelte';
4
- import Number from './Number.svelte';
5
- import Checkbox from './Checkbox.svelte';
6
- import type { ComboBoxItem } from '../models/ComboBoxItem.js';
7
- import { type Snippet, onMount, untrack } from 'svelte';
8
- import { CronParser } from '../util/CronParser.js';
1
+ <script module lang="ts">
2
+ import type { Snippet } from 'svelte';
9
3
 
10
- interface Props {
4
+ export interface CronBuilderProps {
5
+ /** Label text displayed above the builder */
11
6
  label?: string;
7
+ /** Cron expression value (bindable) */
12
8
  value?: string;
9
+ /** Placeholder text */
13
10
  placeholder?: string;
11
+ /** Additional CSS classes */
14
12
  class?: string;
13
+ /** CSS classes for the container element */
15
14
  containerClass?: string;
15
+ /** Disable the cron builder */
16
16
  disabled?: boolean;
17
+ /** Mark field as required (shows asterisk) */
17
18
  required?: boolean;
19
+ /** Show error state styling */
18
20
  showError?: boolean;
21
+ /** Error message to display */
19
22
  errorText?: string;
23
+ /** Rich tooltip content using a Svelte snippet */
20
24
  tooltipContent?: Snippet;
25
+ /** Simple tooltip text */
21
26
  tooltipText?: string;
27
+ /** Position of the tooltip */
22
28
  tooltipLocation?: 'top' | 'bottom' | 'left' | 'right';
29
+ /** Callback when cron expression changes */
23
30
  onchange?: (expression: string) => void;
24
31
  }
32
+ </script>
33
+
34
+ <script lang="ts">
35
+ import FormGroup from './FormGroup.svelte';
36
+ import Select from './Select.svelte';
37
+ import Number from './Number.svelte';
38
+ import Checkbox from './Checkbox.svelte';
39
+ import type { ComboBoxItem } from '../models/ComboBoxItem.js';
40
+ import { onMount, untrack } from 'svelte';
41
+ import { CronParser } from '../util/CronParser.js';
25
42
 
26
43
  let {
27
44
  label = 'Schedule',
@@ -37,7 +54,7 @@
37
54
  tooltipText,
38
55
  tooltipLocation = 'top',
39
56
  onchange
40
- }: Props = $props();
57
+ }: CronBuilderProps = $props();
41
58
 
42
59
  type FrequencyType = 'minute' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'custom';
43
60
 
@@ -520,7 +537,7 @@
520
537
  .cron-builder {
521
538
  display: flex;
522
539
  flex-direction: column;
523
- gap: var(--pui-spacing-4);
540
+ gap: 1rem;
524
541
  }
525
542
 
526
543
  .cron-builder.disabled {
@@ -535,7 +552,7 @@
535
552
  .cron-settings {
536
553
  display: grid;
537
554
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
538
- gap: var(--pui-spacing-4);
555
+ gap: 1rem;
539
556
  }
540
557
 
541
558
  .weekday-selector {
@@ -544,39 +561,39 @@
544
561
 
545
562
  .weekday-label {
546
563
  display: block;
547
- font-size: var(--pui-font-size-sm);
548
- font-weight: var(--pui-font-weight-semibold);
549
- color: var(--pui-text-primary);
550
- margin-bottom: var(--pui-spacing-2);
564
+ font-size: 0.875rem;
565
+ font-weight: 600;
566
+ color: var(--text-color);
567
+ margin-bottom: 0.5rem;
551
568
  }
552
569
 
553
570
  .weekday-buttons {
554
571
  display: flex;
555
- gap: var(--pui-spacing-2);
572
+ gap: 0.5rem;
556
573
  flex-wrap: wrap;
557
574
  }
558
575
 
559
576
  .weekday-btn {
560
- padding: var(--pui-spacing-2) var(--pui-spacing-4);
561
- border: 1px solid var(--pui-border-default);
562
- background: var(--pui-input-bg);
563
- color: var(--pui-text-primary);
564
- border-radius: var(--pui-radius-md);
577
+ padding: 0.5rem 1rem;
578
+ border: 1px solid var(--border-color);
579
+ background: var(--input-bg);
580
+ color: var(--text-color);
581
+ border-radius: 0.375rem;
565
582
  cursor: pointer;
566
- font-size: var(--pui-font-size-sm);
567
- font-weight: var(--pui-font-weight-medium);
568
- transition: all var(--pui-transition-fast) var(--pui-ease-in-out);
583
+ font-size: 0.875rem;
584
+ font-weight: 500;
585
+ transition: all 0.2s;
569
586
  }
570
587
 
571
588
  .weekday-btn:hover:not(:disabled) {
572
- background: var(--pui-bg-hover);
573
- border-color: var(--pui-color-primary);
589
+ background: rgba(var(--ui-primary-rgbc), 0.05);
590
+ border-color: var(--ui-primary);
574
591
  }
575
592
 
576
593
  .weekday-btn.selected {
577
- background: var(--pui-color-primary);
578
- color: var(--pui-color-white);
579
- border-color: var(--pui-color-primary);
594
+ background: var(--ui-primary);
595
+ color: white;
596
+ border-color: var(--ui-primary);
580
597
  }
581
598
 
582
599
  .weekday-btn:disabled {
@@ -586,23 +603,23 @@
586
603
  .custom-inputs {
587
604
  display: grid;
588
605
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
589
- gap: var(--pui-spacing-4);
606
+ gap: 1rem;
590
607
  grid-column: 1 / -1;
591
608
  }
592
609
 
593
610
  .form-control {
594
611
  width: 100%;
595
- padding: var(--pui-spacing-2);
596
- border: 1px solid var(--pui-border-default);
597
- border-radius: var(--pui-radius-md);
598
- background: var(--pui-input-bg);
599
- color: var(--pui-text-primary);
600
- font-size: var(--pui-font-size-sm);
612
+ padding: 0.5rem;
613
+ border: 1px solid var(--border-color);
614
+ border-radius: 0.375rem;
615
+ background: var(--input-bg);
616
+ color: var(--text-color);
617
+ font-size: 0.875rem;
601
618
  }
602
619
 
603
620
  .form-control:focus {
604
621
  outline: none;
605
- border-color: var(--pui-color-primary);
622
+ border-color: var(--ui-primary);
606
623
  }
607
624
 
608
625
  .form-control:disabled {
@@ -613,11 +630,11 @@
613
630
  .cron-output {
614
631
  display: grid;
615
632
  grid-template-columns: 1fr 1fr 1fr;
616
- gap: var(--pui-spacing-4);
617
- padding: var(--pui-spacing-4);
618
- background: var(--pui-bg-subtle);
619
- border-radius: var(--pui-radius-md);
620
- border: 1px solid var(--pui-border-default);
633
+ gap: 1rem;
634
+ padding: 1rem;
635
+ background: rgba(var(--ui-primary-rgbc), 0.05);
636
+ border-radius: 0.375rem;
637
+ border: 1px solid var(--border-color);
621
638
  }
622
639
 
623
640
  .cron-expression,
@@ -625,55 +642,55 @@
625
642
  .cron-next-run {
626
643
  display: flex;
627
644
  flex-direction: column;
628
- gap: var(--pui-spacing-2);
645
+ gap: 0.5rem;
629
646
  }
630
647
 
631
648
  .cron-output .cron-label {
632
- font-size: var(--pui-font-size-xs);
633
- font-weight: var(--pui-font-weight-semibold);
634
- color: var(--pui-text-muted);
649
+ font-size: 0.75rem;
650
+ font-weight: 600;
651
+ color: var(--text-muted);
635
652
  text-transform: uppercase;
636
653
  letter-spacing: 0.05em;
637
654
  }
638
655
 
639
656
  .cron-expression code {
640
657
  font-family: 'Courier New', monospace;
641
- font-size: var(--pui-font-size-sm);
642
- padding: var(--pui-spacing-2);
643
- background: var(--pui-input-bg);
644
- border: 1px solid var(--pui-border-default);
645
- border-radius: var(--pui-radius-sm);
646
- color: var(--pui-color-primary);
647
- font-weight: var(--pui-font-weight-semibold);
658
+ font-size: 0.875rem;
659
+ padding: 0.5rem;
660
+ background: var(--input-bg);
661
+ border: 1px solid var(--border-color);
662
+ border-radius: 0.25rem;
663
+ color: var(--ui-primary);
664
+ font-weight: 600;
648
665
  }
649
666
 
650
667
  .readable-text,
651
668
  .next-run-text {
652
- font-size: var(--pui-font-size-sm);
653
- color: var(--pui-text-primary);
654
- padding: var(--pui-spacing-2);
655
- background: var(--pui-input-bg);
656
- border: 1px solid var(--pui-border-default);
657
- border-radius: var(--pui-radius-sm);
669
+ font-size: 0.875rem;
670
+ color: var(--text-color);
671
+ padding: 0.5rem;
672
+ background: var(--input-bg);
673
+ border: 1px solid var(--border-color);
674
+ border-radius: 0.25rem;
658
675
  }
659
676
 
660
677
  :global(.dark) .weekday-btn:hover:not(:disabled) {
661
- background: var(--pui-bg-hover);
662
- border-color: var(--pui-color-secondary);
678
+ background: rgba(var(--ui-accent-rgbc), 0.1);
679
+ border-color: var(--ui-accent);
663
680
  }
664
681
 
665
682
  :global(.dark) .weekday-btn.selected {
666
- background: var(--pui-color-secondary);
667
- color: var(--pui-color-primary);
668
- border-color: var(--pui-color-secondary);
683
+ background: var(--ui-accent);
684
+ color: var(--ui-primary);
685
+ border-color: var(--ui-accent);
669
686
  }
670
687
 
671
688
  :global(.dark) .cron-output {
672
- background: var(--pui-bg-subtle);
689
+ background: rgba(var(--ui-accent-rgbc), 0.05);
673
690
  }
674
691
 
675
692
  :global(.dark) .cron-expression code {
676
- color: var(--pui-color-secondary);
693
+ color: var(--ui-accent);
677
694
  }
678
695
 
679
696
  @media (max-width: 1024px) {
@@ -1,19 +1,32 @@
1
- import { type Snippet } from 'svelte';
2
- interface Props {
1
+ import type { Snippet } from 'svelte';
2
+ export interface CronBuilderProps {
3
+ /** Label text displayed above the builder */
3
4
  label?: string;
5
+ /** Cron expression value (bindable) */
4
6
  value?: string;
7
+ /** Placeholder text */
5
8
  placeholder?: string;
9
+ /** Additional CSS classes */
6
10
  class?: string;
11
+ /** CSS classes for the container element */
7
12
  containerClass?: string;
13
+ /** Disable the cron builder */
8
14
  disabled?: boolean;
15
+ /** Mark field as required (shows asterisk) */
9
16
  required?: boolean;
17
+ /** Show error state styling */
10
18
  showError?: boolean;
19
+ /** Error message to display */
11
20
  errorText?: string;
21
+ /** Rich tooltip content using a Svelte snippet */
12
22
  tooltipContent?: Snippet;
23
+ /** Simple tooltip text */
13
24
  tooltipText?: string;
25
+ /** Position of the tooltip */
14
26
  tooltipLocation?: 'top' | 'bottom' | 'left' | 'right';
27
+ /** Callback when cron expression changes */
15
28
  onchange?: (expression: string) => void;
16
29
  }
17
- declare const CronBuilder: import("svelte").Component<Props, {}, "value">;
30
+ declare const CronBuilder: import("svelte").Component<CronBuilderProps, {}, "value">;
18
31
  type CronBuilder = ReturnType<typeof CronBuilder>;
19
32
  export default CronBuilder;