@ims360/svelte-ivory 0.0.22 → 0.0.25

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 (84) hide show
  1. package/dist/components/basic/checkbox/Checkbox.svelte +20 -18
  2. package/dist/components/basic/checkbox/Checkbox.svelte.d.ts +5 -4
  3. package/dist/components/basic/checkbox/Checkbox.svelte.d.ts.map +1 -1
  4. package/dist/components/basic/index.d.ts +2 -0
  5. package/dist/components/basic/index.d.ts.map +1 -1
  6. package/dist/components/basic/index.js +2 -0
  7. package/dist/components/basic/toggle/Toggle.svelte +11 -11
  8. package/dist/components/basic/toggle/Toggle.svelte.d.ts +4 -5
  9. package/dist/components/basic/toggle/Toggle.svelte.d.ts.map +1 -1
  10. package/dist/components/buttons/CopyToClipboardButton.svelte +6 -8
  11. package/dist/components/buttons/CopyToClipboardButton.svelte.d.ts +3 -2
  12. package/dist/components/buttons/CopyToClipboardButton.svelte.d.ts.map +1 -1
  13. package/dist/components/layout/drawer/Drawer.svelte +13 -8
  14. package/dist/components/layout/drawer/Drawer.svelte.d.ts +4 -3
  15. package/dist/components/layout/drawer/Drawer.svelte.d.ts.map +1 -1
  16. package/dist/components/layout/heading/Heading.svelte +8 -6
  17. package/dist/components/layout/heading/Heading.svelte.d.ts +3 -4
  18. package/dist/components/layout/heading/Heading.svelte.d.ts.map +1 -1
  19. package/dist/components/layout/heading/index.d.ts +1 -1
  20. package/dist/components/layout/hiddenBackground/HiddenBackground.svelte +13 -7
  21. package/dist/components/layout/hiddenBackground/HiddenBackground.svelte.d.ts +4 -5
  22. package/dist/components/layout/hiddenBackground/HiddenBackground.svelte.d.ts.map +1 -1
  23. package/dist/components/layout/hiddenBackground/index.d.ts +1 -1
  24. package/dist/components/layout/index.d.ts +11 -6
  25. package/dist/components/layout/index.d.ts.map +1 -1
  26. package/dist/components/layout/index.js +9 -4
  27. package/dist/components/layout/modal/Modal.svelte +13 -17
  28. package/dist/components/layout/modal/Modal.svelte.d.ts +2 -4
  29. package/dist/components/layout/modal/Modal.svelte.d.ts.map +1 -1
  30. package/dist/components/layout/modal/ModalTest.svelte +3 -10
  31. package/dist/components/layout/modal/ModalTest.svelte.d.ts +4 -6
  32. package/dist/components/layout/modal/ModalTest.svelte.d.ts.map +1 -1
  33. package/dist/components/layout/popover/Popover.svelte +10 -12
  34. package/dist/components/layout/popover/Popover.svelte.d.ts +4 -8
  35. package/dist/components/layout/popover/Popover.svelte.d.ts.map +1 -1
  36. package/dist/components/layout/portal/Portal.svelte +10 -9
  37. package/dist/components/layout/portal/Portal.svelte.d.ts +7 -6
  38. package/dist/components/layout/portal/Portal.svelte.d.ts.map +1 -1
  39. package/dist/components/layout/tabs/Tab.svelte +7 -7
  40. package/dist/components/layout/tabs/Tab.svelte.d.ts +4 -4
  41. package/dist/components/layout/tabs/Tab.svelte.d.ts.map +1 -1
  42. package/dist/components/layout/tabs/TabPanel.svelte +6 -4
  43. package/dist/components/layout/tabs/TabPanel.svelte.d.ts +3 -3
  44. package/dist/components/layout/tabs/TabPanel.svelte.d.ts.map +1 -1
  45. package/dist/components/layout/tabs/Tabs.svelte +13 -16
  46. package/dist/components/layout/tabs/Tabs.svelte.d.ts +6 -9
  47. package/dist/components/layout/tabs/Tabs.svelte.d.ts.map +1 -1
  48. package/dist/components/layout/tabs/index.d.ts +6 -21
  49. package/dist/components/layout/tabs/index.d.ts.map +1 -1
  50. package/dist/components/layout/tabs/index.js +3 -0
  51. package/dist/components/layout/tooltip/Tooltip.svelte +0 -1
  52. package/dist/components/layout/tooltip/Tooltip.svelte.d.ts.map +1 -1
  53. package/dist/components/table/plugins/search.svelte.d.ts +1 -1
  54. package/dist/components/table/plugins/search.svelte.d.ts.map +1 -1
  55. package/dist/components/table/plugins/search.svelte.js +0 -1
  56. package/dist/components/toast/Toast.svelte +22 -15
  57. package/dist/components/toast/Toast.svelte.d.ts +6 -5
  58. package/dist/components/toast/Toast.svelte.d.ts.map +1 -1
  59. package/dist/components/toast/index.d.ts +2 -2
  60. package/dist/components/toast/index.d.ts.map +1 -1
  61. package/dist/components/toast/toasts.svelte.d.ts +4 -4
  62. package/dist/components/toast/toasts.svelte.d.ts.map +1 -1
  63. package/package.json +1 -1
  64. package/src/lib/components/basic/checkbox/Checkbox.svelte +20 -18
  65. package/src/lib/components/basic/index.ts +2 -0
  66. package/src/lib/components/basic/toggle/Toggle.svelte +11 -11
  67. package/src/lib/components/buttons/CopyToClipboardButton.svelte +6 -8
  68. package/src/lib/components/layout/drawer/Drawer.svelte +13 -8
  69. package/src/lib/components/layout/heading/Heading.svelte +8 -6
  70. package/src/lib/components/layout/hiddenBackground/HiddenBackground.svelte +13 -7
  71. package/src/lib/components/layout/index.ts +17 -6
  72. package/src/lib/components/layout/modal/Modal.svelte +13 -17
  73. package/src/lib/components/layout/modal/ModalTest.svelte +3 -10
  74. package/src/lib/components/layout/popover/Popover.svelte +10 -12
  75. package/src/lib/components/layout/portal/Portal.svelte +10 -9
  76. package/src/lib/components/layout/tabs/Tab.svelte +7 -7
  77. package/src/lib/components/layout/tabs/TabPanel.svelte +6 -4
  78. package/src/lib/components/layout/tabs/Tabs.svelte +13 -16
  79. package/src/lib/components/layout/tabs/index.ts +3 -0
  80. package/src/lib/components/layout/tooltip/Tooltip.svelte +0 -1
  81. package/src/lib/components/table/plugins/search.svelte.ts +1 -3
  82. package/src/lib/components/toast/Toast.svelte +22 -15
  83. package/src/lib/components/toast/index.ts +2 -2
  84. package/src/lib/components/toast/toasts.svelte.ts +4 -4
@@ -1,14 +1,16 @@
1
- <script lang="ts">
1
+ <script lang="ts" module>
2
2
  import { pseudoRandomId } from '$lib/utils/functions/index';
3
3
  import { type Snippet } from 'svelte';
4
4
  import { getTabContext } from './Tabs.svelte';
5
5
 
6
- type Props = {
6
+ export interface TabPanelProps {
7
7
  keepMounted?: boolean;
8
8
  children: Snippet<[{ visible: boolean }]>;
9
- };
9
+ }
10
+ </script>
10
11
 
11
- let { keepMounted = false, children }: Props = $props();
12
+ <script lang="ts">
13
+ let { keepMounted = false, children }: TabPanelProps = $props();
12
14
 
13
15
  const panel = pseudoRandomId('tab-panel-');
14
16
  const tabs = getTabContext();
@@ -1,33 +1,30 @@
1
1
  <script lang="ts" module>
2
- import { getContext, onDestroy, setContext, type Snippet } from 'svelte';
3
- import type { ClassValue } from 'svelte/elements';
2
+ import type { IvoryComponent } from '$lib/types';
3
+ import { getContext, onDestroy, setContext } from 'svelte';
4
4
 
5
- interface TabContext {
5
+ export interface TabsProps extends IvoryComponent<HTMLDivElement> {
6
+ b_index?: number;
7
+ }
8
+
9
+ export interface TabContext {
6
10
  registerTab: (tab: string) => void;
7
11
  registerPanel: (panel: string) => void;
8
12
  selectedTab: string | undefined;
9
13
  tabs: string[];
10
14
  selectedPanel: string | undefined;
11
15
  }
12
- const TABS = {};
13
16
 
17
+ const CONTEXT = {};
14
18
  function setTabContext(context: TabContext) {
15
- setContext<TabContext>(TABS, context);
19
+ setContext<TabContext>(CONTEXT, context);
16
20
  }
17
-
18
21
  export function getTabContext() {
19
- return getContext<TabContext>(TABS);
22
+ return getContext<TabContext>(CONTEXT);
20
23
  }
21
24
  </script>
22
25
 
23
26
  <script lang="ts">
24
- type Props = {
25
- class?: ClassValue;
26
- children: Snippet;
27
- b_index?: number;
28
- };
29
-
30
- let { class: clazz = '', children, b_index = $bindable(0) }: Props = $props();
27
+ let { children, b_index = $bindable(0), ...rest }: TabsProps = $props();
31
28
 
32
29
  let allTabs: string[] = $state([]);
33
30
  let panels: string[] = $state([]);
@@ -81,6 +78,6 @@
81
78
  });
82
79
  </script>
83
80
 
84
- <div class={[clazz]}>
85
- {@render children()}
81
+ <div {...rest}>
82
+ {@render children?.()}
86
83
  </div>
@@ -8,3 +8,6 @@ const Tabs = Object.assign(TabsComponent, {
8
8
  });
9
9
 
10
10
  export default Tabs;
11
+ export { type TabProps } from './Tab.svelte';
12
+ export { type TabPanelProps } from './TabPanel.svelte';
13
+ export { getTabContext, type TabContext, type TabsProps } from './Tabs.svelte';
@@ -67,7 +67,6 @@
67
67
  @component
68
68
  Shows additional information when hovering over an element.
69
69
  -->
70
-
71
70
  <!-- Ignoring this error is fine since it's a false positive -->
72
71
  <!-- svelte-ignore a11y_no_static_element_interactions -->
73
72
  <svelte:element
@@ -1,5 +1,5 @@
1
1
  import { SvelteSet } from 'svelte/reactivity';
2
- import type { TablePlugin, TableRow } from '../table.svelte';
2
+ import type { TablePlugin, TableRow } from '../';
3
3
 
4
4
  interface SearchConfig<T extends TableRow<T>> {
5
5
  search: string;
@@ -56,8 +56,6 @@ export const search = <T extends TableRow<T>>(
56
56
  node.children?.some((c) => recursor(c, matches || childOfMatch)) ?? false;
57
57
 
58
58
  if (intermediateNode) {
59
- console.log('intermediateNode', node);
60
-
61
59
  expanded.add(node.id);
62
60
  } else if (!childOfMatch) {
63
61
  hidden.add(node.id);
@@ -1,3 +1,11 @@
1
+ <script lang="ts" module>
2
+ export interface Props {
3
+ class?: ClassValue;
4
+ children?: Snippet<[toast: ToastSettings & { close: () => void }]>;
5
+ duration?: number;
6
+ }
7
+ </script>
8
+
1
9
  <!--
2
10
  @component
3
11
  Renders the toasts that have been triggered by the `Toasts` store.
@@ -12,12 +20,7 @@
12
20
  import { fly, scale } from 'svelte/transition';
13
21
  import { Toasts, type ToastSettings } from './toasts.svelte';
14
22
 
15
- type Props = {
16
- class?: ClassValue;
17
- children?: Snippet<[toast: ToastSettings & { close: () => void }]>;
18
- };
19
-
20
- let { class: clazz = 'px-2 pb-2', children }: Props = $props();
23
+ let { class: clazz = 'px-2 pb-2', children, duration = 200 }: Props = $props();
21
24
 
22
25
  function getIcon(
23
26
  variant: 'info' | 'success' | 'warning' | 'error',
@@ -51,9 +54,9 @@
51
54
 
52
55
  <!-- svelte-ignore a11y_no_static_element_interactions -->
53
56
  <div
54
- in:fly={{ y: '-100%', duration: 300 }}
55
- out:scale={{ duration: 300 }}
56
- animate:flip={{ duration: 300 }}
57
+ in:fly={{ y: '-100%', duration }}
58
+ out:scale={{ duration }}
59
+ animate:flip={{ duration }}
57
60
  onpointerenter={() => {
58
61
  Toasts.freeze(toast.id);
59
62
  }}
@@ -71,10 +74,14 @@
71
74
  <div
72
75
  class={[
73
76
  'bg-opacity-85 flex flex-row items-center gap-4 rounded px-4 py-2 shadow-lg group-last:rounded-t-none',
74
- toast.variant === 'info' && 'preset-filled-primary-500',
75
- toast.variant === 'success' && 'preset-filled-success-500',
76
- toast.variant === 'warning' && 'preset-filled-warning-500',
77
- toast.variant === 'error' && 'preset-filled-error-500'
77
+ toast.variant === 'info' &&
78
+ 'bg-primary-200-800 text-primary-contrast-50-950',
79
+ toast.variant === 'success' &&
80
+ 'bg-success-200-800 text-success-contrast-50-950',
81
+ toast.variant === 'warning' &&
82
+ 'bg-warning-200-800 text-warning-contrast-50-950',
83
+ toast.variant === 'error' &&
84
+ 'bg-error-200-800 text-error-contrast-50-950'
78
85
  ]}
79
86
  >
80
87
  <VariantIcon />
@@ -87,9 +94,9 @@
87
94
  onclick={() => {
88
95
  Toasts.close(toast.id);
89
96
  }}
90
- class="transition-transform hover:rotate-90"
97
+ class="group"
91
98
  >
92
- <X />
99
+ <X size={20} class="stroke-1 transition-all group-hover:stroke-2" />
93
100
  </button>
94
101
  {/if}
95
102
  </div>
@@ -1,2 +1,2 @@
1
- export { default as ToastUI } from './Toast.svelte';
2
- export { Toasts } from './toasts.svelte';
1
+ export { default as ToastUI, type Props as ToastUIProps } from './Toast.svelte';
2
+ export { Toasts, type ToastSettings } from './toasts.svelte';
@@ -1,18 +1,18 @@
1
1
  import type { Icon } from '@lucide/svelte';
2
2
 
3
- export type ToastSettings = {
3
+ export interface ToastSettings {
4
4
  message: string;
5
5
  autohide?: boolean;
6
6
  timeout?: number;
7
7
  hideDismiss?: boolean;
8
8
  icon?: typeof Icon;
9
9
  variant: 'info' | 'success' | 'warning' | 'error';
10
- };
10
+ }
11
11
 
12
- type Toast = ToastSettings & {
12
+ interface Toast extends ToastSettings {
13
13
  id: string;
14
14
  timeoutId?: ReturnType<typeof setTimeout>;
15
- };
15
+ }
16
16
 
17
17
  const TOAST_DEFAULTS: ToastSettings = {
18
18
  message: 'Missing Toast Message',