@invopop/popui 0.0.108 → 0.1.2

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 (248) hide show
  1. package/dist/AlertDialog.svelte +84 -59
  2. package/dist/AlertDialog.svelte.d.ts +5 -29
  3. package/dist/BaseButton.svelte +106 -101
  4. package/dist/BaseButton.svelte.d.ts +4 -34
  5. package/dist/BaseCard.svelte +20 -12
  6. package/dist/BaseCard.svelte.d.ts +4 -26
  7. package/dist/BaseCounter.svelte +13 -9
  8. package/dist/BaseCounter.svelte.d.ts +4 -17
  9. package/dist/BaseDropdown.svelte +54 -38
  10. package/dist/BaseDropdown.svelte.d.ts +6 -26
  11. package/dist/BaseFlag.svelte +6 -4
  12. package/dist/BaseFlag.svelte.d.ts +4 -17
  13. package/dist/BaseTable.svelte +226 -188
  14. package/dist/BaseTable.svelte.d.ts +4 -39
  15. package/dist/BaseTableActions.svelte +43 -33
  16. package/dist/BaseTableActions.svelte.d.ts +6 -21
  17. package/dist/BaseTableCellContent.svelte +19 -13
  18. package/dist/BaseTableCellContent.svelte.d.ts +4 -24
  19. package/dist/BaseTableCheckbox.svelte +19 -12
  20. package/dist/BaseTableCheckbox.svelte.d.ts +4 -21
  21. package/dist/BaseTableHeaderContent.svelte +30 -22
  22. package/dist/BaseTableHeaderContent.svelte.d.ts +4 -21
  23. package/dist/BaseTableHeaderOrderBy.svelte +24 -0
  24. package/dist/BaseTableHeaderOrderBy.svelte.d.ts +4 -0
  25. package/dist/BaseTableRow.svelte +78 -60
  26. package/dist/BaseTableRow.svelte.d.ts +4 -32
  27. package/dist/Breadcrumbs.svelte +14 -10
  28. package/dist/Breadcrumbs.svelte.d.ts +4 -19
  29. package/dist/ButtonFile.svelte +40 -29
  30. package/dist/ButtonFile.svelte.d.ts +4 -25
  31. package/dist/ButtonUuidCopy.svelte +27 -20
  32. package/dist/ButtonUuidCopy.svelte.d.ts +4 -22
  33. package/dist/CardCheckbox.svelte +28 -19
  34. package/dist/CardCheckbox.svelte.d.ts +4 -28
  35. package/dist/CardRelation.svelte +9 -8
  36. package/dist/CardRelation.svelte.d.ts +4 -22
  37. package/dist/CompanySelector.svelte +49 -43
  38. package/dist/CompanySelector.svelte.d.ts +4 -22
  39. package/dist/CounterWorkflow.svelte +12 -8
  40. package/dist/CounterWorkflow.svelte.d.ts +4 -17
  41. package/dist/DataListItem.svelte +24 -14
  42. package/dist/DataListItem.svelte.d.ts +4 -22
  43. package/dist/DatePicker.svelte +186 -386
  44. package/dist/DatePicker.svelte.d.ts +4 -22
  45. package/dist/DrawerContext.svelte +33 -22
  46. package/dist/DrawerContext.svelte.d.ts +4 -24
  47. package/dist/DrawerContextItem.svelte +69 -56
  48. package/dist/DrawerContextItem.svelte.d.ts +4 -23
  49. package/dist/DrawerContextSeparator.svelte +1 -1
  50. package/dist/DrawerContextSeparator.svelte.d.ts +22 -19
  51. package/dist/DrawerContextWorkspace.svelte +31 -32
  52. package/dist/DrawerContextWorkspace.svelte.d.ts +4 -20
  53. package/dist/DropdownSelect.svelte +93 -81
  54. package/dist/DropdownSelect.svelte.d.ts +4 -27
  55. package/dist/EmptyStateIcon.svelte +13 -7
  56. package/dist/EmptyStateIcon.svelte.d.ts +4 -22
  57. package/dist/EmptyStateIllustration.svelte +41 -33
  58. package/dist/EmptyStateIllustration.svelte.d.ts +4 -21
  59. package/dist/FeedEvents.svelte +5 -2
  60. package/dist/FeedEvents.svelte.d.ts +4 -17
  61. package/dist/FeedIconEvent.svelte +5 -3
  62. package/dist/FeedIconEvent.svelte.d.ts +4 -19
  63. package/dist/FeedIconStatus.svelte +23 -18
  64. package/dist/FeedIconStatus.svelte.d.ts +4 -17
  65. package/dist/FeedItem.svelte +33 -28
  66. package/dist/FeedItem.svelte.d.ts +4 -30
  67. package/dist/FeedItemDetail.svelte +21 -13
  68. package/dist/FeedItemDetail.svelte.d.ts +4 -23
  69. package/dist/FeedViewer.svelte +6 -13
  70. package/dist/FeedViewer.svelte.d.ts +4 -21
  71. package/dist/FormLayoutModal.svelte +9 -3
  72. package/dist/FormLayoutModal.svelte.d.ts +4 -29
  73. package/dist/GlobalSearch.svelte +38 -31
  74. package/dist/GlobalSearch.svelte.d.ts +4 -18
  75. package/dist/InputCheckbox.svelte +23 -14
  76. package/dist/InputCheckbox.svelte.d.ts +4 -23
  77. package/dist/InputError.svelte +4 -1
  78. package/dist/InputError.svelte.d.ts +4 -16
  79. package/dist/InputLabel.svelte +5 -3
  80. package/dist/InputLabel.svelte.d.ts +4 -18
  81. package/dist/InputRadio.svelte +25 -19
  82. package/dist/InputRadio.svelte.d.ts +4 -21
  83. package/dist/InputSearch.svelte +66 -46
  84. package/dist/InputSearch.svelte.d.ts +9 -32
  85. package/dist/InputSelect.svelte +36 -33
  86. package/dist/InputSelect.svelte.d.ts +4 -31
  87. package/dist/InputText.svelte +64 -48
  88. package/dist/InputText.svelte.d.ts +4 -28
  89. package/dist/InputTextarea.svelte +38 -29
  90. package/dist/InputTextarea.svelte.d.ts +4 -25
  91. package/dist/InputToggle.svelte +29 -22
  92. package/dist/InputToggle.svelte.d.ts +4 -20
  93. package/dist/MenuItem.svelte +99 -87
  94. package/dist/MenuItem.svelte.d.ts +5 -29
  95. package/dist/MenuItemCollapsible.svelte +26 -18
  96. package/dist/MenuItemCollapsible.svelte.d.ts +4 -24
  97. package/dist/Notification.svelte +35 -31
  98. package/dist/Notification.svelte.d.ts +4 -20
  99. package/dist/ProfileAvatar.svelte +26 -19
  100. package/dist/ProfileAvatar.svelte.d.ts +4 -21
  101. package/dist/ProfileSelector.svelte +25 -17
  102. package/dist/ProfileSelector.svelte.d.ts +4 -22
  103. package/dist/SectionLayout.svelte +6 -3
  104. package/dist/SectionLayout.svelte.d.ts +4 -18
  105. package/dist/SeparatorHorizontal.svelte +1 -1
  106. package/dist/SeparatorHorizontal.svelte.d.ts +22 -19
  107. package/dist/ShortcutWrapper.svelte +7 -1
  108. package/dist/ShortcutWrapper.svelte.d.ts +4 -27
  109. package/dist/StatusLabel.svelte +16 -12
  110. package/dist/StatusLabel.svelte.d.ts +4 -18
  111. package/dist/StepIconList.svelte +44 -41
  112. package/dist/StepIconList.svelte.d.ts +4 -17
  113. package/dist/TagBeta.svelte.d.ts +22 -19
  114. package/dist/TagSearch.svelte +19 -20
  115. package/dist/TagSearch.svelte.d.ts +4 -22
  116. package/dist/TagStatus.svelte +42 -37
  117. package/dist/TagStatus.svelte.d.ts +4 -19
  118. package/dist/TitleMain.svelte +9 -2
  119. package/dist/TitleMain.svelte.d.ts +4 -18
  120. package/dist/TitleSection.svelte +9 -2
  121. package/dist/TitleSection.svelte.d.ts +4 -18
  122. package/dist/UuidCopy.svelte +61 -48
  123. package/dist/UuidCopy.svelte.d.ts +4 -26
  124. package/dist/alert-dialog/alert-dialog-action.svelte +15 -15
  125. package/dist/alert-dialog/alert-dialog-action.svelte.d.ts +5 -26
  126. package/dist/alert-dialog/alert-dialog-cancel.svelte +13 -10
  127. package/dist/alert-dialog/alert-dialog-cancel.svelte.d.ts +3 -22
  128. package/dist/alert-dialog/alert-dialog-content.svelte +19 -15
  129. package/dist/alert-dialog/alert-dialog-content.svelte.d.ts +6 -15
  130. package/dist/alert-dialog/alert-dialog-description.svelte +11 -6
  131. package/dist/alert-dialog/alert-dialog-description.svelte.d.ts +3 -16
  132. package/dist/alert-dialog/alert-dialog-footer.svelte +11 -5
  133. package/dist/alert-dialog/alert-dialog-footer.svelte.d.ts +4 -16
  134. package/dist/alert-dialog/alert-dialog-header.svelte +14 -5
  135. package/dist/alert-dialog/alert-dialog-header.svelte.d.ts +4 -16
  136. package/dist/alert-dialog/alert-dialog-overlay.svelte +10 -13
  137. package/dist/alert-dialog/alert-dialog-overlay.svelte.d.ts +3 -14
  138. package/dist/alert-dialog/alert-dialog-title.svelte +11 -8
  139. package/dist/alert-dialog/alert-dialog-title.svelte.d.ts +3 -16
  140. package/dist/alert-dialog/alert-dialog-trigger.svelte +6 -0
  141. package/dist/alert-dialog/alert-dialog-trigger.svelte.d.ts +4 -0
  142. package/dist/alert-dialog/index.d.ts +3 -4
  143. package/dist/alert-dialog/index.js +2 -2
  144. package/dist/button/button.svelte +76 -18
  145. package/dist/button/button.svelte.d.ts +62 -14
  146. package/dist/button/index.d.ts +2 -60
  147. package/dist/button/index.js +1 -26
  148. package/dist/helpers.d.ts +4 -1
  149. package/dist/helpers.js +35 -0
  150. package/dist/index.d.ts +1 -3
  151. package/dist/index.js +0 -4
  152. package/dist/range-calendar/index.d.ts +20 -0
  153. package/dist/range-calendar/index.js +22 -0
  154. package/dist/range-calendar/range-calendar-caption.svelte +71 -0
  155. package/dist/range-calendar/range-calendar-caption.svelte.d.ts +19 -0
  156. package/dist/range-calendar/range-calendar-cell.svelte +18 -0
  157. package/dist/range-calendar/range-calendar-cell.svelte.d.ts +4 -0
  158. package/dist/range-calendar/range-calendar-day.svelte +41 -0
  159. package/dist/range-calendar/range-calendar-day.svelte.d.ts +4 -0
  160. package/dist/range-calendar/range-calendar-grid-row.svelte +11 -0
  161. package/dist/range-calendar/range-calendar-grid-row.svelte.d.ts +4 -0
  162. package/dist/range-calendar/range-calendar-grid.svelte +15 -0
  163. package/dist/range-calendar/range-calendar-grid.svelte.d.ts +4 -0
  164. package/dist/range-calendar/range-calendar-head-cell.svelte +18 -0
  165. package/dist/range-calendar/range-calendar-head-cell.svelte.d.ts +4 -0
  166. package/dist/range-calendar/range-calendar-header.svelte +18 -0
  167. package/dist/range-calendar/range-calendar-header.svelte.d.ts +4 -0
  168. package/dist/range-calendar/range-calendar-heading.svelte +15 -0
  169. package/dist/range-calendar/range-calendar-heading.svelte.d.ts +4 -0
  170. package/dist/range-calendar/range-calendar-month-select.svelte +44 -0
  171. package/dist/range-calendar/range-calendar-month-select.svelte.d.ts +4 -0
  172. package/dist/range-calendar/range-calendar-month.svelte +14 -0
  173. package/dist/range-calendar/range-calendar-month.svelte.d.ts +5 -0
  174. package/dist/range-calendar/range-calendar-months.svelte +18 -0
  175. package/dist/range-calendar/range-calendar-months.svelte.d.ts +5 -0
  176. package/dist/range-calendar/range-calendar-nav.svelte +18 -0
  177. package/dist/range-calendar/range-calendar-nav.svelte.d.ts +5 -0
  178. package/dist/range-calendar/range-calendar-next-button.svelte +30 -0
  179. package/dist/range-calendar/range-calendar-next-button.svelte.d.ts +8 -0
  180. package/dist/range-calendar/range-calendar-prev-button.svelte +30 -0
  181. package/dist/range-calendar/range-calendar-prev-button.svelte.d.ts +8 -0
  182. package/dist/range-calendar/range-calendar-year-select.svelte +43 -0
  183. package/dist/range-calendar/range-calendar-year-select.svelte.d.ts +4 -0
  184. package/dist/range-calendar/range-calendar.svelte +109 -0
  185. package/dist/range-calendar/range-calendar.svelte.d.ts +21 -0
  186. package/dist/svg/BgPattern.svelte.d.ts +22 -19
  187. package/dist/svg/IconContact.svelte +6 -1
  188. package/dist/svg/IconContact.svelte.d.ts +5 -15
  189. package/dist/svg/IconEmpty.svelte.d.ts +22 -19
  190. package/dist/svg/IconFile.svelte +6 -1
  191. package/dist/svg/IconFile.svelte.d.ts +5 -15
  192. package/dist/svg/IconInvoice.svelte +6 -1
  193. package/dist/svg/IconInvoice.svelte.d.ts +5 -15
  194. package/dist/svg/IconNoResults.svelte +6 -1
  195. package/dist/svg/IconNoResults.svelte.d.ts +5 -15
  196. package/dist/svg/IconPdf.svelte +6 -1
  197. package/dist/svg/IconPdf.svelte.d.ts +5 -15
  198. package/dist/svg/IconProduct.svelte +6 -1
  199. package/dist/svg/IconProduct.svelte.d.ts +5 -15
  200. package/dist/table/table-body.svelte +10 -5
  201. package/dist/table/table-body.svelte.d.ts +4 -16
  202. package/dist/table/table-caption.svelte +14 -5
  203. package/dist/table/table-caption.svelte.d.ts +4 -16
  204. package/dist/table/table-cell.svelte +16 -7
  205. package/dist/table/table-cell.svelte.d.ts +4 -19
  206. package/dist/table/table-footer.svelte +14 -5
  207. package/dist/table/table-footer.svelte.d.ts +4 -16
  208. package/dist/table/table-head.svelte +11 -5
  209. package/dist/table/table-head.svelte.d.ts +4 -16
  210. package/dist/table/table-header.svelte +17 -8
  211. package/dist/table/table-header.svelte.d.ts +4 -19
  212. package/dist/table/table-row.svelte +22 -8
  213. package/dist/table/table-row.svelte.d.ts +4 -22
  214. package/dist/table/table.svelte +11 -6
  215. package/dist/table/table.svelte.d.ts +4 -16
  216. package/dist/tabs/tabs-content.svelte +13 -8
  217. package/dist/tabs/tabs-content.svelte.d.ts +3 -16
  218. package/dist/tabs/tabs-list.svelte +7 -6
  219. package/dist/tabs/tabs-list.svelte.d.ts +3 -16
  220. package/dist/tabs/tabs-trigger.svelte +13 -9
  221. package/dist/tabs/tabs-trigger.svelte.d.ts +3 -14
  222. package/dist/tabs/tabs.svelte +12 -7
  223. package/dist/tabs/tabs.svelte.d.ts +3 -16
  224. package/dist/tooltip/index.d.ts +5 -3
  225. package/dist/tooltip/index.js +5 -3
  226. package/dist/tooltip/tooltip-content.svelte +42 -23
  227. package/dist/tooltip/tooltip-content.svelte.d.ts +5 -15
  228. package/dist/tooltip/tooltip-trigger.svelte +8 -0
  229. package/dist/tooltip/tooltip-trigger.svelte.d.ts +4 -0
  230. package/dist/tw.theme.d.ts +2 -9
  231. package/dist/tw.theme.js +0 -5
  232. package/dist/types.d.ts +484 -25
  233. package/dist/utils.d.ts +10 -1
  234. package/package.json +32 -41
  235. package/README.md +0 -234
  236. package/dist/BaseTableHeaderSortBy.svelte +0 -22
  237. package/dist/BaseTableHeaderSortBy.svelte.d.ts +0 -20
  238. package/dist/ComboBox.svelte +0 -12
  239. package/dist/ComboBox.svelte.d.ts +0 -21
  240. package/dist/ComboBoxContent.svelte +0 -33
  241. package/dist/ComboBoxContent.svelte.d.ts +0 -20
  242. package/dist/ProgressBar.svelte +0 -6
  243. package/dist/ProgressBar.svelte.d.ts +0 -16
  244. package/dist/alert-dialog/alert-dialog-portal.svelte +0 -6
  245. package/dist/alert-dialog/alert-dialog-portal.svelte.d.ts +0 -17
  246. package/dist/popui.css +0 -1
  247. package/dist/wcdispatch.d.ts +0 -1
  248. package/dist/wcdispatch.js +0 -9
@@ -1,29 +1,4 @@
1
- /** @typedef {typeof __propDef.props} FormLayoutModalProps */
2
- /** @typedef {typeof __propDef.events} FormLayoutModalEvents */
3
- /** @typedef {typeof __propDef.slots} FormLayoutModalSlots */
4
- export default class FormLayoutModal extends SvelteComponent<{
5
- [x: string]: never;
6
- }, {
7
- [evt: string]: CustomEvent<any>;
8
- }, {
9
- default: {};
10
- footer: {};
11
- }> {
12
- }
13
- export type FormLayoutModalProps = typeof __propDef.props;
14
- export type FormLayoutModalEvents = typeof __propDef.events;
15
- export type FormLayoutModalSlots = typeof __propDef.slots;
16
- import { SvelteComponent } from "svelte";
17
- declare const __propDef: {
18
- props: {
19
- [x: string]: never;
20
- };
21
- events: {
22
- [evt: string]: CustomEvent<any>;
23
- };
24
- slots: {
25
- default: {};
26
- footer: {};
27
- };
28
- };
29
- export {};
1
+ import type { FormLayoutModalProps } from './types';
2
+ declare const FormLayoutModal: import("svelte").Component<FormLayoutModalProps, {}, "">;
3
+ type FormLayoutModal = ReturnType<typeof FormLayoutModal>;
4
+ export default FormLayoutModal;
@@ -1,39 +1,46 @@
1
- <script>import { Icon } from "@steeze-ui/svelte-icon";
2
- import { Search, Slash } from "@invopop/ui-icons";
3
- import { createEventDispatcher, onDestroy, onMount } from "svelte";
4
- import clsx from "clsx";
5
- import ShortcutWrapper from "./ShortcutWrapper.svelte";
6
- import { GLOBAL_SEARCH_KEY } from "./constants.js";
7
- import { isInputFocused } from "./helpers.js";
8
- const dispatch = createEventDispatcher();
9
- export let collapsed = false;
10
- $:
11
- styles = clsx({
12
- "space-x-1 w-full": !collapsed
13
- });
14
- function onKeyDown(event) {
15
- if (event.key !== GLOBAL_SEARCH_KEY) {
16
- return;
17
- }
18
- if (isInputFocused()) {
19
- return;
1
+ <script lang="ts">
2
+ import { Icon } from '@steeze-ui/svelte-icon'
3
+ import { Search, Slash } from '@invopop/ui-icons'
4
+ import { onDestroy, onMount } from 'svelte'
5
+ import clsx from 'clsx'
6
+ import ShortcutWrapper from './ShortcutWrapper.svelte'
7
+ import { GLOBAL_SEARCH_KEY } from './constants.js'
8
+ import { isInputFocused } from './helpers.js'
9
+ import type { GlobalSearchProps } from './types'
10
+
11
+ let { collapsed = false, onOpen }: GlobalSearchProps = $props()
12
+
13
+ let styles = $derived(
14
+ clsx({
15
+ 'space-x-1 w-full': !collapsed
16
+ })
17
+ )
18
+
19
+ function onKeyDown(event: KeyboardEvent) {
20
+ if (event.key !== GLOBAL_SEARCH_KEY) {
21
+ return
22
+ }
23
+
24
+ // We allow to type the GLOBAL SEARCH KEY on text fields
25
+ if (isInputFocused()) {
26
+ return
27
+ }
28
+
29
+ onOpen?.()
20
30
  }
21
- open();
22
- }
23
- function open() {
24
- dispatch("open");
25
- }
26
- onMount(() => {
27
- window.addEventListener("keydown", onKeyDown);
28
- });
29
- onDestroy(() => {
30
- window.removeEventListener("keydown", onKeyDown);
31
- });
31
+
32
+ onMount(() => {
33
+ window.addEventListener('keydown', onKeyDown)
34
+ })
35
+
36
+ onDestroy(() => {
37
+ window.removeEventListener('keydown', onKeyDown)
38
+ })
32
39
  </script>
33
40
 
34
41
  <button
35
42
  class="{styles} flex items-center border pl-1.5 py-1.5 pr-2 border-white-10 bg-neutral-800/10 rounded-md"
36
- on:click={() => open()}
43
+ onclick={() => onOpen?.()}
37
44
  >
38
45
  <Icon src={Search} class="w-4 h-4 text-white-70" />
39
46
  {#if !collapsed}
@@ -1,18 +1,4 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- collapsed?: boolean | undefined;
5
- };
6
- events: {
7
- open: CustomEvent<any>;
8
- } & {
9
- [evt: string]: CustomEvent<any>;
10
- };
11
- slots: {};
12
- };
13
- export type GlobalSearchProps = typeof __propDef.props;
14
- export type GlobalSearchEvents = typeof __propDef.events;
15
- export type GlobalSearchSlots = typeof __propDef.slots;
16
- export default class GlobalSearch extends SvelteComponent<GlobalSearchProps, GlobalSearchEvents, GlobalSearchSlots> {
17
- }
18
- export {};
1
+ import type { GlobalSearchProps } from './types';
2
+ declare const GlobalSearch: import("svelte").Component<GlobalSearchProps, {}, "">;
3
+ type GlobalSearch = ReturnType<typeof GlobalSearch>;
4
+ export default GlobalSearch;
@@ -1,14 +1,23 @@
1
- <script>import { createEventDispatcher } from "svelte";
2
- export let id = Math.random().toString(36).slice(2, 7);
3
- export let checked = false;
4
- export let indeterminate = false;
5
- export let label = "";
6
- const dispatch = createEventDispatcher();
7
- function updateInput(event) {
8
- const target = event.target;
9
- checked = target.checked;
10
- dispatch("change", checked);
11
- }
1
+ <script lang="ts">
2
+ import type { InputCheckboxProps } from './types'
3
+
4
+ let {
5
+ id = Math.random().toString(36).slice(2, 7),
6
+ checked = $bindable(false),
7
+ indeterminate = false,
8
+ label = '',
9
+ onchange,
10
+ onclick,
11
+ ...rest
12
+ }: InputCheckboxProps = $props()
13
+
14
+ function updateInput(event: Event) {
15
+ const target = event.target as HTMLInputElement
16
+
17
+ checked = target.checked
18
+
19
+ onchange?.(checked)
20
+ }
12
21
  </script>
13
22
 
14
23
  <label
@@ -21,9 +30,9 @@ function updateInput(event) {
21
30
  {checked}
22
31
  {indeterminate}
23
32
  class="form-checkbox w-4 h-4 text-workspace-accent focus:text-workspace-accent rounded border border-neutral-200 hover:border-neutral-300 group-hover:border-neutral-300 focus:ring-0 focus:ring-offset-0"
24
- {...$$restProps}
25
- on:change={updateInput}
26
- on:click|stopPropagation
33
+ {...rest}
34
+ onchange={updateInput}
35
+ {onclick}
27
36
  />
28
37
  {#if label}
29
38
  <span>{label}</span>
@@ -1,23 +1,4 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- [x: string]: any;
5
- id?: string | undefined;
6
- checked?: boolean | undefined;
7
- indeterminate?: boolean | undefined;
8
- label?: string | undefined;
9
- };
10
- events: {
11
- click: MouseEvent;
12
- change: CustomEvent<any>;
13
- } & {
14
- [evt: string]: CustomEvent<any>;
15
- };
16
- slots: {};
17
- };
18
- export type InputCheckboxProps = typeof __propDef.props;
19
- export type InputCheckboxEvents = typeof __propDef.events;
20
- export type InputCheckboxSlots = typeof __propDef.slots;
21
- export default class InputCheckbox extends SvelteComponent<InputCheckboxProps, InputCheckboxEvents, InputCheckboxSlots> {
22
- }
23
- export {};
1
+ import type { InputCheckboxProps } from './types';
2
+ declare const InputCheckbox: import("svelte").Component<InputCheckboxProps, {}, "checked">;
3
+ type InputCheckbox = ReturnType<typeof InputCheckbox>;
4
+ export default InputCheckbox;
@@ -1,4 +1,7 @@
1
- <script>export let errorText = "";
1
+ <script lang="ts">
2
+ import type { InputErrorProps } from './types'
3
+
4
+ let { errorText = '' }: InputErrorProps = $props()
2
5
  </script>
3
6
 
4
7
  <p class="mt-2 text-sm text-danger-500 flex items-center space-x-1">
@@ -1,16 +1,4 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- errorText?: string | undefined;
5
- };
6
- events: {
7
- [evt: string]: CustomEvent<any>;
8
- };
9
- slots: {};
10
- };
11
- export type InputErrorProps = typeof __propDef.props;
12
- export type InputErrorEvents = typeof __propDef.events;
13
- export type InputErrorSlots = typeof __propDef.slots;
14
- export default class InputError extends SvelteComponent<InputErrorProps, InputErrorEvents, InputErrorSlots> {
15
- }
16
- export {};
1
+ import type { InputErrorProps } from './types';
2
+ declare const InputError: import("svelte").Component<InputErrorProps, {}, "">;
3
+ type InputError = ReturnType<typeof InputError>;
4
+ export default InputError;
@@ -1,5 +1,7 @@
1
- <script>export let id = "";
2
- export let label = "";
1
+ <script lang="ts">
2
+ import type { InputLabelProps } from './types'
3
+
4
+ let { id = '', label = '', ...rest }: InputLabelProps = $props()
3
5
  </script>
4
6
 
5
- <label for={id} class="text-sm font-medium text-neutral-500 mb-2" {...$$restProps}>{label}</label>
7
+ <label for={id} class="text-sm font-medium text-neutral-500 mb-2" {...rest}>{label}</label>
@@ -1,18 +1,4 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- [x: string]: any;
5
- id?: string | undefined;
6
- label?: string | undefined;
7
- };
8
- events: {
9
- [evt: string]: CustomEvent<any>;
10
- };
11
- slots: {};
12
- };
13
- export type InputLabelProps = typeof __propDef.props;
14
- export type InputLabelEvents = typeof __propDef.events;
15
- export type InputLabelSlots = typeof __propDef.slots;
16
- export default class InputLabel extends SvelteComponent<InputLabelProps, InputLabelEvents, InputLabelSlots> {
17
- }
18
- export {};
1
+ import type { InputLabelProps } from './types';
2
+ declare const InputLabel: import("svelte").Component<InputLabelProps, {}, "">;
3
+ type InputLabel = ReturnType<typeof InputLabel>;
4
+ export default InputLabel;
@@ -1,21 +1,27 @@
1
- <script>import { createEventDispatcher } from "svelte";
2
- import { dispatchWcEvent } from "./wcdispatch.js";
3
- export let checked = false;
4
- export let id = Math.random().toString(36).slice(2, 7);
5
- export let name = "";
6
- let el;
7
- const dispatch = createEventDispatcher();
8
- $:
9
- if (el && checked) {
10
- el.focus();
1
+ <script lang="ts">
2
+ import type { InputRadioProps } from './types'
3
+
4
+ let {
5
+ checked = false,
6
+ id = Math.random().toString(36).slice(2, 7),
7
+ name = '',
8
+ onchange,
9
+ ...rest
10
+ }: InputRadioProps = $props()
11
+
12
+ let el: HTMLInputElement | undefined = $state()
13
+
14
+ $effect(() => {
15
+ if (el && checked) {
16
+ el.focus()
17
+ }
18
+ })
19
+
20
+ function updateInput(event: Event) {
21
+ const target = event.target as HTMLInputElement
22
+
23
+ onchange?.(target.checked)
11
24
  }
12
- function updateInput(event) {
13
- if (event instanceof CustomEvent)
14
- return;
15
- const target = event.target;
16
- dispatch("change", target.checked);
17
- dispatchWcEvent(target, "change", target.checked);
18
- }
19
25
  </script>
20
26
 
21
27
  <input
@@ -25,6 +31,6 @@ function updateInput(event) {
25
31
  {name}
26
32
  {checked}
27
33
  class="form-radio h-5 w-5 border-neutral-200 text-workspace-accent focus:ring-0 focus:ring-offset-0 cursor-pointer"
28
- {...$$restProps}
29
- on:change={updateInput}
34
+ {...rest}
35
+ onchange={updateInput}
30
36
  />
@@ -1,21 +1,4 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- [x: string]: any;
5
- checked?: boolean | undefined;
6
- id?: string | undefined;
7
- name?: string | undefined;
8
- };
9
- events: {
10
- change: CustomEvent<any>;
11
- } & {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {};
15
- };
16
- export type InputRadioProps = typeof __propDef.props;
17
- export type InputRadioEvents = typeof __propDef.events;
18
- export type InputRadioSlots = typeof __propDef.slots;
19
- export default class InputRadio extends SvelteComponent<InputRadioProps, InputRadioEvents, InputRadioSlots> {
20
- }
21
- export {};
1
+ import type { InputRadioProps } from './types';
2
+ declare const InputRadio: import("svelte").Component<InputRadioProps, {}, "">;
3
+ type InputRadio = ReturnType<typeof InputRadio>;
4
+ export default InputRadio;
@@ -1,44 +1,64 @@
1
- <script>import { createEventDispatcher, onMount } from "svelte";
2
- import { dispatchWcEvent } from "./wcdispatch.js";
3
- import { Icon } from "@steeze-ui/svelte-icon";
4
- import { Search } from "@invopop/ui-icons";
5
- const dispatch = createEventDispatcher();
6
- const debounce = (target) => {
7
- clearTimeout(timer);
8
- timer = setTimeout(() => {
9
- dispatch("input", target.value);
10
- dispatchWcEvent(target, "input", target.value);
11
- }, 750);
12
- };
13
- export let value = "";
14
- export let shortcut = "";
15
- export let placeholder = "";
16
- export let icon = Search;
17
- export let focusOnLoad = false;
18
- let input;
19
- let timer;
20
- export const focus = () => {
21
- input.focus();
22
- };
23
- export const toggle = () => {
24
- input === document.activeElement ? input.blur() : input.focus();
25
- };
26
- export const clear = () => {
27
- value = "";
28
- };
29
- $:
30
- shortcutKeys = shortcut.split("");
31
- function handleInput(event) {
32
- if (event instanceof CustomEvent)
33
- return;
34
- const target = event.target;
35
- debounce(target);
36
- }
37
- onMount(() => {
38
- if (!focusOnLoad)
39
- return;
40
- input.focus();
41
- });
1
+ <script lang="ts">
2
+ import { onMount } from 'svelte'
3
+ import { Icon } from '@steeze-ui/svelte-icon'
4
+ import { Search } from '@invopop/ui-icons'
5
+ import type { InputSearchProps } from './types.js'
6
+
7
+ const debounce = (target: HTMLInputElement) => {
8
+ clearTimeout(timer)
9
+ timer = setTimeout(() => {
10
+ oninput?.(target.value)
11
+ }, 750)
12
+ }
13
+
14
+ let {
15
+ value = $bindable(''),
16
+ shortcut = '',
17
+ placeholder = '',
18
+ icon = Search,
19
+ focusOnLoad = false,
20
+ oninput,
21
+ onclick,
22
+ onfocus,
23
+ onblur,
24
+ ...rest
25
+ }: InputSearchProps = $props()
26
+
27
+ let input: HTMLInputElement | undefined = $state()
28
+ let timer: ReturnType<typeof setTimeout>
29
+
30
+ export const focus = () => {
31
+ input?.focus()
32
+ }
33
+
34
+ export const blur = () => {
35
+ input?.blur()
36
+ }
37
+
38
+ export const toggle = () => {
39
+ input === document.activeElement ? blur() : focus()
40
+ }
41
+
42
+ export const clear = () => {
43
+ value = ''
44
+ }
45
+
46
+ let shortcutKeys = $derived(shortcut.split(''))
47
+
48
+ function handleInput(event: unknown) {
49
+ // If event is not a native event we skip the dispatch to avoid infinite loop
50
+ if (event instanceof CustomEvent) return
51
+
52
+ const target = (event as PointerEvent).target as HTMLInputElement
53
+
54
+ debounce(target)
55
+ }
56
+
57
+ onMount(() => {
58
+ if (!focusOnLoad) return
59
+
60
+ focus()
61
+ })
42
62
  </script>
43
63
 
44
64
  <div class="relative flex items-center">
@@ -49,11 +69,11 @@ onMount(() => {
49
69
  class="py-[5px] pl-7 border border-neutral-200 hover:border-neutral-300 w-full rounded-md text-neutral-800 placeholder-neutral-500 text-base outline-none tracking-tight caret-workspace-accent focus:border-workspace-accent focus:shadow-active"
50
70
  style:padding-right={`${shortcutKeys.length * 15 + 12}px`}
51
71
  {placeholder}
52
- {...$$restProps}
53
- on:input={handleInput}
54
- on:focus={() => dispatch('focus')}
55
- on:blur={(e) => dispatch('blur', e)}
56
- on:click
72
+ {...rest}
73
+ oninput={handleInput}
74
+ {onfocus}
75
+ {onblur}
76
+ {onclick}
57
77
  />
58
78
  <Icon src={icon} class="absolute text-neutral-500 w-4 h-4 left-2" />
59
79
 
@@ -1,32 +1,9 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- [x: string]: any;
5
- value?: string | undefined;
6
- shortcut?: string | undefined;
7
- placeholder?: string | undefined;
8
- icon?: any;
9
- focusOnLoad?: boolean | undefined;
10
- focus?: (() => void) | undefined;
11
- toggle?: (() => void) | undefined;
12
- clear?: (() => void) | undefined;
13
- };
14
- events: {
15
- click: MouseEvent;
16
- focus: CustomEvent<any>;
17
- blur: CustomEvent<any>;
18
- input: CustomEvent<any>;
19
- } & {
20
- [evt: string]: CustomEvent<any>;
21
- };
22
- slots: {};
23
- };
24
- export type InputSearchProps = typeof __propDef.props;
25
- export type InputSearchEvents = typeof __propDef.events;
26
- export type InputSearchSlots = typeof __propDef.slots;
27
- export default class InputSearch extends SvelteComponent<InputSearchProps, InputSearchEvents, InputSearchSlots> {
28
- get focus(): () => void;
29
- get toggle(): () => void;
30
- get clear(): () => void;
31
- }
32
- export {};
1
+ import type { InputSearchProps } from './types.js';
2
+ declare const InputSearch: import("svelte").Component<InputSearchProps, {
3
+ focus: () => void;
4
+ blur: () => void;
5
+ toggle: () => void;
6
+ clear: () => void;
7
+ }, "value">;
8
+ type InputSearch = ReturnType<typeof InputSearch>;
9
+ export default InputSearch;
@@ -1,34 +1,37 @@
1
- <script>import { Icon } from "@steeze-ui/svelte-icon";
2
- import InputLabel from "./InputLabel.svelte";
3
- import { createEventDispatcher } from "svelte";
4
- import { resolveIcon } from "./helpers.js";
5
- import { dispatchWcEvent } from "./wcdispatch.js";
6
- import InputError from "./InputError.svelte";
7
- const dispatch = createEventDispatcher();
8
- export let id = Math.random().toString(36).slice(2, 7);
9
- export let name = "";
10
- export let label = "";
11
- export let disabled = false;
12
- export let value = "";
13
- export let icon = void 0;
14
- export let iconTheme = "default";
15
- export let options = [];
16
- export let placeholder = "Select one...";
17
- export let disablePlaceholder = true;
18
- export let errorText = "";
19
- let resolvedIcon;
20
- $: {
21
- resolveIcon(icon).then((icon2) => {
22
- resolvedIcon = icon2;
23
- });
24
- }
25
- function handleChange(event) {
26
- if (event instanceof CustomEvent)
27
- return;
28
- const target = event.target;
29
- dispatch("change", target.value);
30
- dispatchWcEvent(target, "change", target.value);
31
- }
1
+ <script lang="ts">
2
+ import type { InputSelectProps } from './types.ts'
3
+ import { Icon, type IconSource } from '@steeze-ui/svelte-icon'
4
+ import InputLabel from './InputLabel.svelte'
5
+ import { resolveIcon } from './helpers.js'
6
+ import InputError from './InputError.svelte'
7
+
8
+ let {
9
+ id = Math.random().toString(36).slice(2, 7),
10
+ name = '',
11
+ label = '',
12
+ disabled = false,
13
+ value = $bindable(''),
14
+ icon = undefined,
15
+ iconTheme = 'default',
16
+ options = [],
17
+ placeholder = 'Select one...',
18
+ disablePlaceholder = true,
19
+ errorText = '',
20
+ onchange,
21
+ ...rest
22
+ }: InputSelectProps = $props()
23
+
24
+ let resolvedIcon: IconSource | undefined = $state()
25
+
26
+ $effect(() => {
27
+ resolveIcon(icon).then((res) => (resolvedIcon = res))
28
+ })
29
+
30
+ function handleChange(event: Event) {
31
+ const target = (event as PointerEvent).target as HTMLSelectElement
32
+
33
+ onchange?.(target.value)
34
+ }
32
35
  </script>
33
36
 
34
37
  {#if label}
@@ -43,8 +46,8 @@ function handleChange(event) {
43
46
  class:pl-7={icon}
44
47
  class:pl-2={!icon}
45
48
  class="py-1.5 border border-neutral-200 hover:border-neutral-300 w-full rounded-md text-neutral-800 text-base pr-9 outline-none tracking-tight ui-select focus:border-workspace-accent focus:shadow-active"
46
- {...$$restProps}
47
- on:change={handleChange}
49
+ {...rest}
50
+ onchange={handleChange}
48
51
  >
49
52
  <option value="" disabled={disablePlaceholder}>{placeholder}</option>
50
53
  {#each options as option}
@@ -1,31 +1,4 @@
1
- import { SvelteComponent } from "svelte";
2
- import type { IconTheme, SelectOption } from './types.ts';
3
- import { type IconSource } from '@steeze-ui/svelte-icon';
4
- declare const __propDef: {
5
- props: {
6
- [x: string]: any;
7
- id?: string | undefined;
8
- name?: string | undefined;
9
- label?: string | undefined;
10
- disabled?: boolean | undefined;
11
- value?: string | undefined;
12
- icon?: IconSource | string | undefined;
13
- iconTheme?: IconTheme | undefined;
14
- options?: SelectOption[] | undefined;
15
- placeholder?: string | undefined;
16
- disablePlaceholder?: boolean | undefined;
17
- errorText?: string | undefined;
18
- };
19
- events: {
20
- change: CustomEvent<any>;
21
- } & {
22
- [evt: string]: CustomEvent<any>;
23
- };
24
- slots: {};
25
- };
26
- export type InputSelectProps = typeof __propDef.props;
27
- export type InputSelectEvents = typeof __propDef.events;
28
- export type InputSelectSlots = typeof __propDef.slots;
29
- export default class InputSelect extends SvelteComponent<InputSelectProps, InputSelectEvents, InputSelectSlots> {
30
- }
31
- export {};
1
+ import type { InputSelectProps } from './types.ts';
2
+ declare const InputSelect: import("svelte").Component<InputSelectProps, {}, "value">;
3
+ type InputSelect = ReturnType<typeof InputSelect>;
4
+ export default InputSelect;