@makolabs/ripple 1.2.2 → 1.2.4

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 (107) hide show
  1. package/README.md +77 -0
  2. package/dist/adapters/ai/OpenAIAdapter.js +16 -11
  3. package/dist/adapters/ai/types.d.ts +3 -3
  4. package/dist/adapters/storage/BaseAdapter.d.ts +1 -1
  5. package/dist/adapters/storage/BaseAdapter.js +1 -1
  6. package/dist/adapters/storage/S3Adapter.js +2 -2
  7. package/dist/ai/AIChatInterface.svelte +32 -34
  8. package/dist/ai/AIChatInterface.svelte.d.ts +0 -1
  9. package/dist/ai/AIChatInterfaceTestWrapper.svelte +26 -0
  10. package/dist/ai/AIChatInterfaceTestWrapper.svelte.d.ts +17 -0
  11. package/dist/ai/ChatInput.svelte +7 -15
  12. package/dist/ai/ChatInput.svelte.d.ts +0 -2
  13. package/dist/ai/CodeRenderer.svelte +25 -12
  14. package/dist/ai/ComposeDropdown.svelte +17 -14
  15. package/dist/ai/MermaidRenderer.svelte +21 -17
  16. package/dist/ai/MermaidRenderer.svelte.d.ts +0 -1
  17. package/dist/ai/MessageBox.svelte +10 -7
  18. package/dist/ai/ThinkingDisplay.svelte +67 -43
  19. package/dist/ai/ai-chat-interface.d.ts +22 -21
  20. package/dist/ai/ai-chat-interface.js +8 -7
  21. package/dist/ai/content-detector.js +2 -2
  22. package/dist/button/ButtonTestWrapper.svelte +10 -0
  23. package/dist/button/ButtonTestWrapper.svelte.d.ts +7 -0
  24. package/dist/charts/Chart.svelte +6 -1
  25. package/dist/config/ai.js +1 -0
  26. package/dist/drawer/DrawerTestWrapper.svelte +19 -0
  27. package/dist/drawer/DrawerTestWrapper.svelte.d.ts +9 -0
  28. package/dist/drawer/drawer.d.ts +19 -18
  29. package/dist/drawer/drawer.js +7 -6
  30. package/dist/elements/accordion/Accordion.svelte +1 -1
  31. package/dist/elements/accordion/Accordion.svelte.d.ts +1 -1
  32. package/dist/elements/accordion/AccordionTestWrapper.svelte +21 -0
  33. package/dist/elements/accordion/AccordionTestWrapper.svelte.d.ts +10 -0
  34. package/dist/elements/badge/Badge.svelte +5 -4
  35. package/dist/elements/badge/BadgeTestWrapper.svelte +14 -0
  36. package/dist/elements/badge/BadgeTestWrapper.svelte.d.ts +9 -0
  37. package/dist/elements/badge/badge.d.ts +40 -39
  38. package/dist/elements/badge/badge.js +14 -13
  39. package/dist/elements/dropdown/Dropdown.svelte +0 -1
  40. package/dist/elements/pagination/Pagination.svelte +458 -0
  41. package/dist/elements/pagination/Pagination.svelte.d.ts +57 -0
  42. package/dist/elements/progress/Progress.svelte +3 -3
  43. package/dist/elements/timeline/Timeline.svelte +1 -1
  44. package/dist/file-browser/FileBrowser.svelte +7 -10
  45. package/dist/filters/CompactFilters.svelte +3 -3
  46. package/dist/forms/Checkbox.svelte +0 -1
  47. package/dist/forms/CheckboxTestWrapper.svelte +8 -0
  48. package/dist/forms/CheckboxTestWrapper.svelte.d.ts +4 -0
  49. package/dist/forms/DateRange.svelte +186 -198
  50. package/dist/forms/Form.svelte +1 -0
  51. package/dist/forms/Input.svelte +14 -5
  52. package/dist/forms/InputTestWrapper.svelte +8 -0
  53. package/dist/forms/InputTestWrapper.svelte.d.ts +4 -0
  54. package/dist/forms/NumberInput.svelte +2 -2
  55. package/dist/forms/RadioInputs.svelte +1 -1
  56. package/dist/forms/RadioPill.svelte +1 -1
  57. package/dist/forms/Slider.svelte +2 -2
  58. package/dist/forms/Tags.svelte +3 -3
  59. package/dist/forms/ToggleTestWrapper.svelte +8 -0
  60. package/dist/forms/ToggleTestWrapper.svelte.d.ts +7 -0
  61. package/dist/forms/slider.js +1 -1
  62. package/dist/header/PageHeader.svelte +2 -1
  63. package/dist/header/breadcrumbs.d.ts +47 -33
  64. package/dist/header/breadcrumbs.js +12 -11
  65. package/dist/index.d.ts +8 -2
  66. package/dist/index.js +3 -0
  67. package/dist/layout/activity-list/ActivityList.svelte +9 -11
  68. package/dist/layout/card/CardTestWrapper.svelte +15 -0
  69. package/dist/layout/card/CardTestWrapper.svelte.d.ts +7 -0
  70. package/dist/layout/card/RankedCard.svelte +2 -3
  71. package/dist/layout/navbar/navbar.d.ts +19 -18
  72. package/dist/layout/navbar/navbar.js +7 -6
  73. package/dist/layout/sidebar/NavGroup.svelte +1 -0
  74. package/dist/layout/table/Cells.svelte +5 -5
  75. package/dist/layout/table/Table.svelte +477 -594
  76. package/dist/layout/table/table.d.ts +28 -24
  77. package/dist/layout/table/table.js +9 -8
  78. package/dist/modal/Modal.svelte +1 -1
  79. package/dist/modal/ModalTestWrapper.svelte +20 -0
  80. package/dist/modal/ModalTestWrapper.svelte.d.ts +8 -0
  81. package/dist/modal/modal.d.ts +1 -20
  82. package/dist/pipeline/Pipeline.svelte +29 -17
  83. package/dist/user-management/README.md +417 -0
  84. package/dist/user-management/UserManagement.svelte +184 -0
  85. package/dist/user-management/UserManagement.svelte.d.ts +4 -0
  86. package/dist/user-management/UserManagementTestWrapper.svelte +47 -0
  87. package/dist/user-management/UserManagementTestWrapper.svelte.d.ts +7 -0
  88. package/dist/user-management/UserModal.svelte +303 -0
  89. package/dist/user-management/UserModal.svelte.d.ts +4 -0
  90. package/dist/user-management/UserModalTestWrapper.svelte +22 -0
  91. package/dist/user-management/UserModalTestWrapper.svelte.d.ts +7 -0
  92. package/dist/user-management/UserTable.svelte +219 -0
  93. package/dist/user-management/UserTable.svelte.d.ts +4 -0
  94. package/dist/user-management/UserTableTestWrapper.svelte +41 -0
  95. package/dist/user-management/UserTableTestWrapper.svelte.d.ts +7 -0
  96. package/dist/user-management/UserViewModal.svelte +282 -0
  97. package/dist/user-management/UserViewModal.svelte.d.ts +4 -0
  98. package/dist/user-management/UserViewModalTestWrapper.svelte +22 -0
  99. package/dist/user-management/UserViewModalTestWrapper.svelte.d.ts +7 -0
  100. package/dist/user-management/index.d.ts +10 -0
  101. package/dist/user-management/index.js +11 -0
  102. package/dist/user-management/user-management.d.ts +99 -0
  103. package/dist/user-management/user-management.js +42 -0
  104. package/package.json +3 -1
  105. package/dist/types/markdown.d.ts +0 -14
  106. package/dist/types/variants.d.ts +0 -1
  107. package/dist/types/variants.js +0 -1
@@ -1,3 +1,4 @@
1
+ import { Color } from '../../variants.js';
1
2
  export declare const table: import("tailwind-variants").TVReturnType<{
2
3
  size: {
3
4
  xs: {
@@ -26,32 +27,32 @@ export declare const table: import("tailwind-variants").TVReturnType<{
26
27
  };
27
28
  };
28
29
  color: {
29
- default: {
30
+ [Color.PRIMARY]: {
30
31
  th: string;
32
+ tr: string;
31
33
  };
32
- primary: {
34
+ [Color.SECONDARY]: {
33
35
  th: string;
34
36
  tr: string;
35
37
  };
36
- secondary: {
38
+ [Color.INFO]: {
37
39
  th: string;
38
40
  tr: string;
39
41
  };
40
- info: {
42
+ [Color.SUCCESS]: {
41
43
  th: string;
42
44
  tr: string;
43
45
  };
44
- success: {
46
+ [Color.WARNING]: {
45
47
  th: string;
46
48
  tr: string;
47
49
  };
48
- warning: {
50
+ [Color.DANGER]: {
49
51
  th: string;
50
52
  tr: string;
51
53
  };
52
- danger: {
54
+ default: {
53
55
  th: string;
54
- tr: string;
55
56
  };
56
57
  };
57
58
  bordered: {
@@ -111,32 +112,32 @@ export declare const table: import("tailwind-variants").TVReturnType<{
111
112
  };
112
113
  };
113
114
  color: {
114
- default: {
115
+ [Color.PRIMARY]: {
115
116
  th: string;
117
+ tr: string;
116
118
  };
117
- primary: {
119
+ [Color.SECONDARY]: {
118
120
  th: string;
119
121
  tr: string;
120
122
  };
121
- secondary: {
123
+ [Color.INFO]: {
122
124
  th: string;
123
125
  tr: string;
124
126
  };
125
- info: {
127
+ [Color.SUCCESS]: {
126
128
  th: string;
127
129
  tr: string;
128
130
  };
129
- success: {
131
+ [Color.WARNING]: {
130
132
  th: string;
131
133
  tr: string;
132
134
  };
133
- warning: {
135
+ [Color.DANGER]: {
134
136
  th: string;
135
137
  tr: string;
136
138
  };
137
- danger: {
139
+ default: {
138
140
  th: string;
139
- tr: string;
140
141
  };
141
142
  };
142
143
  bordered: {
@@ -196,32 +197,32 @@ export declare const table: import("tailwind-variants").TVReturnType<{
196
197
  };
197
198
  };
198
199
  color: {
199
- default: {
200
+ [Color.PRIMARY]: {
200
201
  th: string;
202
+ tr: string;
201
203
  };
202
- primary: {
204
+ [Color.SECONDARY]: {
203
205
  th: string;
204
206
  tr: string;
205
207
  };
206
- secondary: {
208
+ [Color.INFO]: {
207
209
  th: string;
208
210
  tr: string;
209
211
  };
210
- info: {
212
+ [Color.SUCCESS]: {
211
213
  th: string;
212
214
  tr: string;
213
215
  };
214
- success: {
216
+ [Color.WARNING]: {
215
217
  th: string;
216
218
  tr: string;
217
219
  };
218
- warning: {
220
+ [Color.DANGER]: {
219
221
  th: string;
220
222
  tr: string;
221
223
  };
222
- danger: {
224
+ default: {
223
225
  th: string;
224
- tr: string;
225
226
  };
226
227
  };
227
228
  bordered: {
@@ -254,3 +255,6 @@ export declare const table: import("tailwind-variants").TVReturnType<{
254
255
  sortButton: string;
255
256
  sortIcon: string;
256
257
  }, undefined, unknown, unknown, undefined>>;
258
+ export type StatusType = 'active' | 'inactive' | 'pending' | 'error' | 'default';
259
+ export type KeyType = string;
260
+ export type DataRow = Record<string, unknown>;
@@ -1,4 +1,5 @@
1
1
  import { tv } from 'tailwind-variants';
2
+ import { Color } from '../../variants.js';
2
3
  export const table = tv({
3
4
  slots: {
4
5
  base: 'w-full',
@@ -7,7 +8,7 @@ export const table = tv({
7
8
  thead: '',
8
9
  tbody: 'divide-y divide-default-200',
9
10
  tr: 'transition-colors hover:bg-default-50',
10
- th: 'font-semibold whitespace-nowrap',
11
+ th: 'text-xs font-medium tracking-wider text-gray-500 uppercase whitespace-nowrap',
11
12
  td: 'whitespace-nowrap',
12
13
  footer: 'p-4',
13
14
  pagination: 'flex items-center justify-between',
@@ -46,27 +47,27 @@ export const table = tv({
46
47
  default: {
47
48
  th: 'text-default-700 bg-default-50'
48
49
  },
49
- primary: {
50
+ [Color.PRIMARY]: {
50
51
  th: 'text-primary-700 bg-primary-50',
51
52
  tr: 'hover:bg-primary-50'
52
53
  },
53
- secondary: {
54
+ [Color.SECONDARY]: {
54
55
  th: 'text-secondary-700 bg-secondary-50',
55
56
  tr: 'hover:bg-secondary-50'
56
57
  },
57
- info: {
58
+ [Color.INFO]: {
58
59
  th: 'text-info-700 bg-info-50',
59
60
  tr: 'hover:bg-info-50'
60
61
  },
61
- success: {
62
+ [Color.SUCCESS]: {
62
63
  th: 'text-success-700 bg-success-50',
63
64
  tr: 'hover:bg-success-50'
64
65
  },
65
- warning: {
66
+ [Color.WARNING]: {
66
67
  th: 'text-warning-700 bg-warning-50',
67
68
  tr: 'hover:bg-warning-50'
68
69
  },
69
- danger: {
70
+ [Color.DANGER]: {
70
71
  th: 'text-danger-700 bg-danger-50',
71
72
  tr: 'hover:bg-danger-50'
72
73
  }
@@ -135,7 +136,7 @@ export const table = tv({
135
136
  defaultVariants: {
136
137
  size: 'base',
137
138
  color: 'default',
138
- bordered: true,
139
+ bordered: false,
139
140
  striped: false
140
141
  }
141
142
  });
@@ -40,6 +40,7 @@
40
40
  );
41
41
  const footerClass = $derived(cn(styles.footer(), ''));
42
42
  const closeClass = $derived(cn(styles.close(), ''));
43
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
43
44
  const descriptionClass = $derived(cn(styles.description(), ''));
44
45
 
45
46
  function handleBackdropClick() {
@@ -89,7 +90,6 @@
89
90
  </button>
90
91
  {/if}
91
92
  </header>
92
-
93
93
  {/if}
94
94
 
95
95
  <!-- Close button only (positioned absolutely when no header) -->
@@ -0,0 +1,20 @@
1
+ <script lang="ts">
2
+ import Modal from './Modal.svelte';
3
+ import type { ModalProps } from '../index.js';
4
+
5
+ let {
6
+ bodyText = '',
7
+ footerText = '',
8
+ ...modalProps
9
+ }: ModalProps & { bodyText?: string; footerText?: string } = $props();
10
+ </script>
11
+
12
+ <Modal {...modalProps}>
13
+ <div>{bodyText}</div>
14
+ {#if footerText}
15
+ <!-- eslint-disable-next-line @typescript-eslint/no-unused-vars -->
16
+ {#snippet footer()}
17
+ <div>{footerText}</div>
18
+ {/snippet}
19
+ {/if}
20
+ </Modal>
@@ -0,0 +1,8 @@
1
+ import type { ModalProps } from '../index.js';
2
+ type $$ComponentProps = ModalProps & {
3
+ bodyText?: string;
4
+ footerText?: string;
5
+ };
6
+ declare const ModalTestWrapper: import("svelte").Component<$$ComponentProps, {}, "">;
7
+ type ModalTestWrapper = ReturnType<typeof ModalTestWrapper>;
8
+ export default ModalTestWrapper;
@@ -1,5 +1,4 @@
1
- import { Size, type VariantSizes } from '../index.js';
2
- import type { Snippet } from 'svelte';
1
+ import { Size } from '../index.js';
3
2
  export declare const modal: import("tailwind-variants").TVReturnType<{
4
3
  size: {
5
4
  [Size.XS]: {
@@ -94,21 +93,3 @@ export declare const modal: import("tailwind-variants").TVReturnType<{
94
93
  description: string;
95
94
  close: string;
96
95
  }, undefined, unknown, unknown, undefined>>;
97
- export type ModalProps = {
98
- open?: boolean;
99
- onclose?: () => void;
100
- title?: string;
101
- description?: string;
102
- size?: VariantSizes;
103
- hideCloseButton?: boolean;
104
- class?: string;
105
- contentclass?: string;
106
- bodyclass?: string;
107
- titleclass?: string;
108
- headerclass?: string;
109
- backdropclass?: string;
110
- footerclass?: string;
111
- children?: Snippet;
112
- footer?: Snippet;
113
- header?: Snippet;
114
- };
@@ -1,14 +1,14 @@
1
1
  <script lang="ts">
2
2
  import { tv } from 'tailwind-variants';
3
3
  import type { Snippet } from 'svelte';
4
-
4
+
5
5
  export type PipelineStage = {
6
6
  label: string;
7
7
  count?: number | string;
8
8
  color?: 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info';
9
9
  active?: boolean;
10
10
  };
11
-
11
+
12
12
  interface Props {
13
13
  stages: PipelineStage[];
14
14
  class?: string;
@@ -17,7 +17,7 @@
17
17
  children?: Snippet<[PipelineStage, number]>;
18
18
  beneathChildren?: Snippet<[PipelineStage, number]>;
19
19
  }
20
-
20
+
21
21
  let {
22
22
  stages = [],
23
23
  class: className = '',
@@ -26,7 +26,7 @@
26
26
  children,
27
27
  beneathChildren
28
28
  }: Props = $props();
29
-
29
+
30
30
  const pipeline = tv({
31
31
  slots: {
32
32
  container: 'flex items-center gap-0 w-full',
@@ -109,9 +109,9 @@
109
109
  }
110
110
  }
111
111
  });
112
-
112
+
113
113
  const styles = $derived(pipeline({ size, equalWidth }));
114
-
114
+
115
115
  function getStageStyles(stage: PipelineStage) {
116
116
  return pipeline({
117
117
  size,
@@ -123,22 +123,34 @@
123
123
  </script>
124
124
 
125
125
  <div class="{styles.container()} {className}">
126
- {#each stages as stage, index}
126
+ {#each stages as stage, index (stage.label + index)}
127
127
  {@const isFirst = index === 0}
128
- {@const isLast = index === stages.length - 1}
129
128
  {@const chevronWidth = 20}
130
-
131
- <div class="flex flex-col {getStageStyles(stage).stage()}" style="{!isFirst ? `margin-left: -${chevronWidth}px; z-index: ${stages.length - index}` : `z-index: ${stages.length - index}`}">
129
+
130
+ <div
131
+ class="flex flex-col {getStageStyles(stage).stage()}"
132
+ style={!isFirst
133
+ ? `margin-left: -${chevronWidth}px; z-index: ${stages.length - index}`
134
+ : `z-index: ${stages.length - index}`}
135
+ >
132
136
  <!-- BACKGROUND LAYER (Border color - larger) -->
133
- <div
134
- class="{getStageStyles(stage).borderLayer()}"
135
- style="clip-path: polygon({isFirst ? '0' : '0'} 0%, calc(100% - {chevronWidth}px) 0%, 100% 50%, calc(100% - {chevronWidth}px) 100%, {isFirst ? '0' : '0'} 100%, {isFirst ? '0' : `${chevronWidth}px`} 50%);"
137
+ <div
138
+ class={getStageStyles(stage).borderLayer()}
139
+ style="clip-path: polygon({isFirst
140
+ ? '0'
141
+ : '0'} 0%, calc(100% - {chevronWidth}px) 0%, 100% 50%, calc(100% - {chevronWidth}px) 100%, {isFirst
142
+ ? '0'
143
+ : '0'} 100%, {isFirst ? '0' : `${chevronWidth}px`} 50%);"
136
144
  ></div>
137
-
145
+
138
146
  <!-- FOREGROUND LAYER (White - smaller, creates border effect) -->
139
- <div
140
- class="{getStageStyles(stage).innerLayer()}"
141
- style="clip-path: polygon({isFirst ? '2px' : '2px'} 2px, calc(100% - {chevronWidth}px - 2px) 2px, calc(100% - 2px) 50%, calc(100% - {chevronWidth}px - 2px) calc(100% - 2px), {isFirst ? '2px' : '2px'} calc(100% - 2px), {isFirst ? '2px' : `${chevronWidth + 2}px`} 50%);"
147
+ <div
148
+ class={getStageStyles(stage).innerLayer()}
149
+ style="clip-path: polygon({isFirst
150
+ ? '2px'
151
+ : '2px'} 2px, calc(100% - {chevronWidth}px - 2px) 2px, calc(100% - 2px) 50%, calc(100% - {chevronWidth}px - 2px) calc(100% - 2px), {isFirst
152
+ ? '2px'
153
+ : '2px'} calc(100% - 2px), {isFirst ? '2px' : `${chevronWidth + 2}px`} 50%);"
142
154
  >
143
155
  <div class={getStageStyles(stage).content()}>
144
156
  {#if children}