@ims360/svelte-ivory 0.0.57 → 0.0.60

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.
@@ -3,7 +3,7 @@
3
3
  import { getContext, onDestroy, setContext } from 'svelte';
4
4
 
5
5
  export interface TabsProps extends IvoryComponent<HTMLDivElement> {
6
- b_index?: number;
6
+ initialTab?: number;
7
7
  }
8
8
 
9
9
  export interface TabContext {
@@ -24,27 +24,30 @@
24
24
  </script>
25
25
 
26
26
  <script lang="ts">
27
- let { children, b_index = $bindable(0), ...rest }: TabsProps = $props();
27
+ let { children, initialTab = 0, ...rest }: TabsProps = $props();
28
28
 
29
29
  let allTabs: string[] = $state([]);
30
30
  let panels: string[] = $state([]);
31
+ let index: number = $state(initialTab);
31
32
 
32
33
  export const forward = () => {
33
- if (b_index >= panels.length - 1) {
34
- b_index = 0;
34
+ if (index >= panels.length - 1) {
35
+ index = 0;
35
36
  } else {
36
- b_index++;
37
+ index++;
37
38
  }
38
39
  };
39
40
 
40
41
  export const back = () => {
41
- if (b_index === 0) {
42
- b_index = panels.length - 1;
42
+ if (index === 0) {
43
+ index = panels.length - 1;
43
44
  } else {
44
- b_index--;
45
+ index--;
45
46
  }
46
47
  };
47
48
 
49
+ export const currentTab = () => index;
50
+
48
51
  setTabContext({
49
52
  registerTab: (tab: string) => {
50
53
  allTabs.push(tab);
@@ -56,23 +59,23 @@
56
59
 
57
60
  registerPanel: (panel: string) => {
58
61
  panels.push(panel);
59
- b_index = b_index;
62
+ index = index;
60
63
  onDestroy(() => {
61
64
  panels.filter((p) => p !== panel);
62
65
  });
63
66
  },
64
67
 
65
68
  get selectedTab() {
66
- return allTabs[b_index];
69
+ return allTabs[index];
67
70
  },
68
71
  set selectedTab(tab: string) {
69
- b_index = allTabs.indexOf(tab);
72
+ index = allTabs.indexOf(tab);
70
73
  },
71
74
  get selectedPanel() {
72
- return panels[b_index];
75
+ return panels[index];
73
76
  },
74
77
  set selectedPanel(panel: string) {
75
- b_index = panels.indexOf(panel);
78
+ index = panels.indexOf(panel);
76
79
  },
77
80
  tabs: allTabs
78
81
  });
@@ -1,6 +1,6 @@
1
1
  import type { IvoryComponent } from '../../../types';
2
2
  export interface TabsProps extends IvoryComponent<HTMLDivElement> {
3
- b_index?: number;
3
+ initialTab?: number;
4
4
  }
5
5
  export interface TabContext {
6
6
  registerTab: (tab: string) => void;
@@ -13,7 +13,8 @@ export declare function getTabContext(): TabContext;
13
13
  declare const Tabs: import("svelte").Component<TabsProps, {
14
14
  forward: () => void;
15
15
  back: () => void;
16
- }, "b_index">;
16
+ currentTab: () => number;
17
+ }, "">;
17
18
  type Tabs = ReturnType<typeof Tabs>;
18
19
  export default Tabs;
19
20
  //# sourceMappingURL=Tabs.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/layout/tabs/Tabs.svelte.ts"],"names":[],"mappings":"AAGI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACvB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAMD,wBAAgB,aAAa,eAE5B;AAiEL,QAAA,MAAM,IAAI;;;aAAwC,CAAC;AACnD,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AACpC,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Tabs.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/layout/tabs/Tabs.svelte.ts"],"names":[],"mappings":"AAGI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACvB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAMD,wBAAgB,aAAa,eAE5B;AAoEL,QAAA,MAAM,IAAI;;;;MAAwC,CAAC;AACnD,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AACpC,eAAe,IAAI,CAAC"}
@@ -2,7 +2,8 @@ import { setDefaultClass } from './Tab.svelte';
2
2
  declare const Tabs: import("svelte").Component<import("./Tabs.svelte").TabsProps, {
3
3
  forward: () => void;
4
4
  back: () => void;
5
- }, "b_index"> & {
5
+ currentTab: () => number;
6
+ }, ""> & {
6
7
  Tab: import("svelte").Component<import("./Tab.svelte").TabProps, {}, "">;
7
8
  Panel: import("svelte").Component<import("./TabPanel.svelte").TabPanelProps, {}, "">;
8
9
  setDefaultTabClass: typeof setDefaultClass;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/layout/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,QAAA,MAAM,IAAI;;;;;;;CAIR,CAAC;AAEH,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/layout/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,QAAA,MAAM,IAAI;;;;;;;;CAIR,CAAC;AAEH,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ims360/svelte-ivory",
3
- "version": "0.0.57",
3
+ "version": "0.0.60",
4
4
  "keywords": [
5
5
  "svelte"
6
6
  ],
@@ -74,45 +74,45 @@
74
74
  "@floating-ui/dom": "^1.7.4",
75
75
  "@lucide/svelte": "^0.503.0",
76
76
  "@tailwindcss/forms": "^0.5.10",
77
- "@tailwindcss/typography": "^0.5.18",
78
- "@tailwindcss/vite": "^4.1.13",
77
+ "@tailwindcss/typography": "^0.5.19",
78
+ "@tailwindcss/vite": "^4.1.16",
79
79
  "clsx": "^2.1.1",
80
- "dompurify": "^3.2.7",
80
+ "dompurify": "^3.3.0",
81
81
  "jsdom": "^26.1.0",
82
82
  "marked": "^15.0.12",
83
83
  "tailwind-merge": "^3.3.1",
84
- "tailwindcss": "^4.1.13"
84
+ "tailwindcss": "^4.1.16"
85
85
  },
86
86
  "devDependencies": {
87
- "@eslint/compat": "^1.3.2",
88
- "@eslint/js": "^9.36.0",
87
+ "@eslint/compat": "^1.4.1",
88
+ "@eslint/js": "^9.39.1",
89
89
  "@sveltejs/adapter-auto": "^4.0.0",
90
- "@sveltejs/package": "^2.5.3",
91
- "@sveltejs/vite-plugin-svelte": "^5.1.1",
92
- "@testing-library/jest-dom": "^6.8.0",
90
+ "@sveltejs/package": "^2.5.4",
91
+ "@sveltejs/vite-plugin-svelte": "^6.2.1",
92
+ "@testing-library/jest-dom": "^6.9.1",
93
93
  "@testing-library/svelte": "^5.2.8",
94
94
  "@testing-library/user-event": "^14.6.1",
95
- "@vitest/browser": "^3.2.4",
96
- "@vitest/coverage-v8": "^3.2.4",
97
- "@vitest/spy": "^3.2.4",
98
- "eslint": "^9.36.0",
95
+ "@vitest/browser": "^4.0.0",
96
+ "@vitest/coverage-v8": "^4.0.0",
97
+ "@vitest/spy": "^4.0.0",
98
+ "eslint": "^9.39.1",
99
99
  "eslint-config-prettier": "^10.1.8",
100
- "eslint-plugin-svelte": "^3.12.4",
101
- "globals": "^16.4.0",
102
- "playwright": "^1.55.0",
100
+ "eslint-plugin-svelte": "^3.13.0",
101
+ "globals": "^16.5.0",
102
+ "playwright": "^1.56.1",
103
103
  "prettier": "^3.6.2",
104
104
  "prettier-plugin-svelte": "^3.4.0",
105
- "prettier-plugin-tailwindcss": "^0.6.14",
106
- "publint": "^0.3.13",
107
- "svelte-check": "^4.3.1",
108
- "typescript": "^5.9.2",
109
- "typescript-eslint": "^8.44.0",
110
- "vite": "^6.3.6",
111
- "vitest": "^3.2.4"
105
+ "prettier-plugin-tailwindcss": "^0.7.1",
106
+ "publint": "^0.3.15",
107
+ "svelte-check": "^4.3.3",
108
+ "typescript": "^5.9.3",
109
+ "typescript-eslint": "^8.46.3",
110
+ "vite": "^7.1.1",
111
+ "vitest": "^4.0.0"
112
112
  },
113
113
  "peerDependencies": {
114
114
  "@skeletonlabs/skeleton": "^3.1.1",
115
- "@sveltejs/kit": "^2.16.0",
116
- "svelte": "^5.0.0"
115
+ "@sveltejs/kit": "^2.48.0",
116
+ "svelte": "^5.43.0"
117
117
  }
118
118
  }
@@ -3,7 +3,7 @@
3
3
  import { getContext, onDestroy, setContext } from 'svelte';
4
4
 
5
5
  export interface TabsProps extends IvoryComponent<HTMLDivElement> {
6
- b_index?: number;
6
+ initialTab?: number;
7
7
  }
8
8
 
9
9
  export interface TabContext {
@@ -24,27 +24,30 @@
24
24
  </script>
25
25
 
26
26
  <script lang="ts">
27
- let { children, b_index = $bindable(0), ...rest }: TabsProps = $props();
27
+ let { children, initialTab = 0, ...rest }: TabsProps = $props();
28
28
 
29
29
  let allTabs: string[] = $state([]);
30
30
  let panels: string[] = $state([]);
31
+ let index: number = $state(initialTab);
31
32
 
32
33
  export const forward = () => {
33
- if (b_index >= panels.length - 1) {
34
- b_index = 0;
34
+ if (index >= panels.length - 1) {
35
+ index = 0;
35
36
  } else {
36
- b_index++;
37
+ index++;
37
38
  }
38
39
  };
39
40
 
40
41
  export const back = () => {
41
- if (b_index === 0) {
42
- b_index = panels.length - 1;
42
+ if (index === 0) {
43
+ index = panels.length - 1;
43
44
  } else {
44
- b_index--;
45
+ index--;
45
46
  }
46
47
  };
47
48
 
49
+ export const currentTab = () => index;
50
+
48
51
  setTabContext({
49
52
  registerTab: (tab: string) => {
50
53
  allTabs.push(tab);
@@ -56,23 +59,23 @@
56
59
 
57
60
  registerPanel: (panel: string) => {
58
61
  panels.push(panel);
59
- b_index = b_index;
62
+ index = index;
60
63
  onDestroy(() => {
61
64
  panels.filter((p) => p !== panel);
62
65
  });
63
66
  },
64
67
 
65
68
  get selectedTab() {
66
- return allTabs[b_index];
69
+ return allTabs[index];
67
70
  },
68
71
  set selectedTab(tab: string) {
69
- b_index = allTabs.indexOf(tab);
72
+ index = allTabs.indexOf(tab);
70
73
  },
71
74
  get selectedPanel() {
72
- return panels[b_index];
75
+ return panels[index];
73
76
  },
74
77
  set selectedPanel(panel: string) {
75
- b_index = panels.indexOf(panel);
78
+ index = panels.indexOf(panel);
76
79
  },
77
80
  tabs: allTabs
78
81
  });