@finsweet/webflow-apps-utils 1.0.8 → 1.0.9
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.
- package/dist/types/customCode.d.ts +1 -1
- package/dist/ui/components/Loader.svelte +0 -2
- package/dist/ui/components/button/Button.stories.svelte +0 -8
- package/dist/ui/components/button/Button.svelte +68 -76
- package/dist/ui/components/button/index.d.ts +1 -1
- package/dist/ui/components/button/index.js +1 -0
- package/dist/ui/components/controlled-buttons/ControlledButtons.svelte +17 -7
- package/dist/ui/components/copy-text/CopyText.svelte +48 -39
- package/dist/ui/components/divider/Divider.stories.svelte +0 -4
- package/dist/ui/components/input/index.d.ts +1 -1
- package/dist/ui/components/input/index.js +1 -0
- package/dist/ui/components/layout/Layout.svelte +0 -5
- package/dist/ui/components/layout/examples/ExampleLayout.svelte +1 -8
- package/dist/ui/components/modal/Example.svelte +0 -7
- package/dist/ui/components/modal/Modal.stories.svelte +0 -2
- package/dist/ui/components/modal/Modal.svelte +1 -1
- package/dist/ui/components/notification/Notification.stories.svelte +0 -8
- package/dist/ui/components/section/Section.stories.svelte +0 -1
- package/dist/ui/components/text/README.md +0 -2
- package/dist/ui/components/text/Text.stories.svelte +0 -6
- package/dist/ui/components/text/Text.svelte +0 -19
- package/dist/ui/components/tooltip/Tooltip.svelte +9 -4
- package/dist/ui/icons/FinsweetLogoOutlineIcon.svelte +17 -0
- package/dist/ui/icons/FinsweetLogoOutlineIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/TriangleDownIconToggle.svelte +0 -1
- package/dist/ui/icons/index.d.ts +2 -1
- package/dist/ui/icons/index.js +2 -1
- package/dist/ui/index.css +1 -1
- package/dist/ui/providers/GlobalProviderDemo.svelte +0 -2
- package/dist/ui/router/Router.stories.js +7 -7
- package/dist/ui/router/examples/RouterExample.svelte +0 -9
- package/dist/ui/router/examples/pages/AboutPage.svelte +0 -4
- package/dist/ui/router/providers/Link.svelte +0 -2
- package/dist/ui/router/providers/Route.svelte +0 -3
- package/dist/ui/stores/form.d.ts +136 -3
- package/dist/ui/stores/form.js +310 -2
- package/package.json +1 -1
|
@@ -69,7 +69,6 @@
|
|
|
69
69
|
});
|
|
70
70
|
</script>
|
|
71
71
|
|
|
72
|
-
<!-- Basic Variants -->
|
|
73
72
|
<Story
|
|
74
73
|
name="Warning"
|
|
75
74
|
args={{
|
|
@@ -109,7 +108,6 @@
|
|
|
109
108
|
}}
|
|
110
109
|
/>
|
|
111
110
|
|
|
112
|
-
<!-- Content Variations -->
|
|
113
111
|
<Story
|
|
114
112
|
name="Message Only"
|
|
115
113
|
args={{
|
|
@@ -126,7 +124,6 @@
|
|
|
126
124
|
}}
|
|
127
125
|
/>
|
|
128
126
|
|
|
129
|
-
<!-- Interactive Features -->
|
|
130
127
|
<Story
|
|
131
128
|
name="With Link"
|
|
132
129
|
args={{
|
|
@@ -148,7 +145,6 @@
|
|
|
148
145
|
}}
|
|
149
146
|
/>
|
|
150
147
|
|
|
151
|
-
<!-- Customization -->
|
|
152
148
|
<Story
|
|
153
149
|
name="Custom Color"
|
|
154
150
|
args={{
|
|
@@ -179,7 +175,6 @@
|
|
|
179
175
|
}}
|
|
180
176
|
/>
|
|
181
177
|
|
|
182
|
-
<!-- Rich Text Support -->
|
|
183
178
|
<Story
|
|
184
179
|
name="Rich Text Content"
|
|
185
180
|
args={{
|
|
@@ -191,7 +186,6 @@
|
|
|
191
186
|
}}
|
|
192
187
|
/>
|
|
193
188
|
|
|
194
|
-
<!-- Complex Content -->
|
|
195
189
|
<Story
|
|
196
190
|
name="Long Content"
|
|
197
191
|
args={{
|
|
@@ -204,7 +198,6 @@
|
|
|
204
198
|
}}
|
|
205
199
|
/>
|
|
206
200
|
|
|
207
|
-
<!-- Accessibility Test -->
|
|
208
201
|
<Story
|
|
209
202
|
name="Accessibility Test"
|
|
210
203
|
args={{
|
|
@@ -227,7 +220,6 @@
|
|
|
227
220
|
}}
|
|
228
221
|
/>
|
|
229
222
|
|
|
230
|
-
<!-- Custom Actions Info -->
|
|
231
223
|
<Story
|
|
232
224
|
name="Custom Actions Support"
|
|
233
225
|
args={{
|
|
@@ -19,10 +19,8 @@ A versatile and modern text component built with Svelte 5 that provides comprehe
|
|
|
19
19
|
The popup system uses the exact same design and layout as the original popup component:
|
|
20
20
|
|
|
21
21
|
```svelte
|
|
22
|
-
<!-- Default popup (matches original exactly) -->
|
|
23
22
|
<Text label="Remove item" popup={{}} on:popupAction={handleRemove} />
|
|
24
23
|
|
|
25
|
-
<!-- Custom popup -->
|
|
26
24
|
<Text
|
|
27
25
|
label="Delete item"
|
|
28
26
|
popup={{
|
|
@@ -80,7 +80,6 @@
|
|
|
80
80
|
});
|
|
81
81
|
</script>
|
|
82
82
|
|
|
83
|
-
<!-- Basic Examples -->
|
|
84
83
|
<Story
|
|
85
84
|
name="Default"
|
|
86
85
|
args={{
|
|
@@ -112,7 +111,6 @@
|
|
|
112
111
|
}}
|
|
113
112
|
/>
|
|
114
113
|
|
|
115
|
-
<!-- Alignment and Ellipsis -->
|
|
116
114
|
<Story name="Text Alignment & Ellipsis">
|
|
117
115
|
<div
|
|
118
116
|
style="width: 300px; border: 1px solid #ddd; padding: 16px; display: flex; flex-direction: column; gap: 12px;"
|
|
@@ -149,7 +147,6 @@
|
|
|
149
147
|
</div>
|
|
150
148
|
</Story>
|
|
151
149
|
|
|
152
|
-
<!-- Tooltip Examples -->
|
|
153
150
|
<Story
|
|
154
151
|
name="With Tooltip"
|
|
155
152
|
args={{
|
|
@@ -222,7 +219,6 @@
|
|
|
222
219
|
</div>
|
|
223
220
|
</Story>
|
|
224
221
|
|
|
225
|
-
<!-- Popup Example -->
|
|
226
222
|
<Story
|
|
227
223
|
name="With Popup Action"
|
|
228
224
|
args={{
|
|
@@ -236,7 +232,6 @@
|
|
|
236
232
|
}}
|
|
237
233
|
/>
|
|
238
234
|
|
|
239
|
-
<!-- Styling Examples -->
|
|
240
235
|
<Story name="Styling Options">
|
|
241
236
|
<div style="display: flex; flex-direction: column; gap: 8px;">
|
|
242
237
|
<Text label="Large bold text" fontSize="large" fontWeight="bold" />
|
|
@@ -246,7 +241,6 @@
|
|
|
246
241
|
</div>
|
|
247
242
|
</Story>
|
|
248
243
|
|
|
249
|
-
<!-- Complex Example -->
|
|
250
244
|
<Story
|
|
251
245
|
name="Complex Example"
|
|
252
246
|
args={{
|
|
@@ -305,7 +305,6 @@
|
|
|
305
305
|
|
|
306
306
|
{#if label || tooltip || icon || children}
|
|
307
307
|
{#if !hasPopup && shouldShowTooltipOnText}
|
|
308
|
-
<!-- Simple text with tooltip on text -->
|
|
309
308
|
<Tooltip {...tooltip}>
|
|
310
309
|
{#snippet target()}
|
|
311
310
|
<div
|
|
@@ -320,7 +319,6 @@
|
|
|
320
319
|
>
|
|
321
320
|
{#if label?.trim() || icon || children}
|
|
322
321
|
{#if ellipsisOnWidth && (icon || loading)}
|
|
323
|
-
<!-- handling ellipsis with icons -->
|
|
324
322
|
<div
|
|
325
323
|
class="text-with-icon"
|
|
326
324
|
style="display: flex; align-items: center; gap: 4px; width: {ellipsisOnWidth}; justify-content: {textAlign ===
|
|
@@ -356,7 +354,6 @@
|
|
|
356
354
|
</div>
|
|
357
355
|
</div>
|
|
358
356
|
{:else}
|
|
359
|
-
<!-- Normal text handling -->
|
|
360
357
|
<div class={textClasses()} style={textStyles()}>
|
|
361
358
|
{#if icon || loading}
|
|
362
359
|
{#if loading}
|
|
@@ -392,7 +389,6 @@
|
|
|
392
389
|
{/snippet}
|
|
393
390
|
</Tooltip>
|
|
394
391
|
{:else if !hasPopup && shouldShowTooltipOnIcon}
|
|
395
|
-
<!-- Simple text with tooltip on icon -->
|
|
396
392
|
<div
|
|
397
393
|
class={labelClasses()}
|
|
398
394
|
data-component="Text"
|
|
@@ -405,7 +401,6 @@
|
|
|
405
401
|
>
|
|
406
402
|
{#if label?.trim() || icon || children}
|
|
407
403
|
{#if ellipsisOnWidth && (icon || loading)}
|
|
408
|
-
<!-- handling ellipsis with icons -->
|
|
409
404
|
<div
|
|
410
405
|
class="text-with-icon"
|
|
411
406
|
style="display: flex; align-items: center; gap: 4px; width: {ellipsisOnWidth}; justify-content: {textAlign ===
|
|
@@ -439,7 +434,6 @@
|
|
|
439
434
|
</div>
|
|
440
435
|
</div>
|
|
441
436
|
{:else}
|
|
442
|
-
<!-- Normal text handling -->
|
|
443
437
|
<div class={textClasses()} style={textStyles()}>
|
|
444
438
|
{#if icon || loading}
|
|
445
439
|
{#if loading}
|
|
@@ -471,7 +465,6 @@
|
|
|
471
465
|
{/if}
|
|
472
466
|
</div>
|
|
473
467
|
{:else if !hasPopup}
|
|
474
|
-
<!-- Simple text without tooltip -->
|
|
475
468
|
<div
|
|
476
469
|
class={labelClasses()}
|
|
477
470
|
data-component="Text"
|
|
@@ -484,7 +477,6 @@
|
|
|
484
477
|
>
|
|
485
478
|
{#if label?.trim() || icon || children}
|
|
486
479
|
{#if ellipsisOnWidth && (icon || loading)}
|
|
487
|
-
<!-- handling ellipsis with icons -->
|
|
488
480
|
<div
|
|
489
481
|
class="text-with-icon"
|
|
490
482
|
style="display: flex; align-items: center; gap: 4px; width: {ellipsisOnWidth}; justify-content: {textAlign ===
|
|
@@ -514,7 +506,6 @@
|
|
|
514
506
|
</div>
|
|
515
507
|
</div>
|
|
516
508
|
{:else}
|
|
517
|
-
<!-- Normal text handling -->
|
|
518
509
|
<div class={textClasses()} style={textStyles()}>
|
|
519
510
|
{#if icon || loading}
|
|
520
511
|
{#if loading}
|
|
@@ -542,7 +533,6 @@
|
|
|
542
533
|
{/if}
|
|
543
534
|
</div>
|
|
544
535
|
{:else}
|
|
545
|
-
<!-- Text with popup functionality -->
|
|
546
536
|
<div
|
|
547
537
|
class="label-popup {disabled ? 'disabled' : ''}"
|
|
548
538
|
onclick={handlePopupToggle}
|
|
@@ -564,7 +554,6 @@
|
|
|
564
554
|
{#snippet target()}
|
|
565
555
|
<span class="dropdown-label item {popupConfig.active ? 'active' : ''}">
|
|
566
556
|
{#if shouldShowTooltipOnText}
|
|
567
|
-
<!-- Text with popup and tooltip on text -->
|
|
568
557
|
<Tooltip {...tooltip}>
|
|
569
558
|
{#snippet target()}
|
|
570
559
|
<div
|
|
@@ -579,7 +568,6 @@
|
|
|
579
568
|
>
|
|
580
569
|
{#if label?.trim() || icon || children}
|
|
581
570
|
{#if ellipsisOnWidth && (icon || loading)}
|
|
582
|
-
<!-- handling ellipsis with icons -->
|
|
583
571
|
<div
|
|
584
572
|
class="text-with-icon"
|
|
585
573
|
style="display: flex; align-items: center; gap: 4px; width: {ellipsisOnWidth}; justify-content: {textAlign ===
|
|
@@ -615,7 +603,6 @@
|
|
|
615
603
|
</div>
|
|
616
604
|
</div>
|
|
617
605
|
{:else}
|
|
618
|
-
<!-- Normal text handling -->
|
|
619
606
|
<div class={textClasses()} style={textStyles()}>
|
|
620
607
|
{#if icon || loading}
|
|
621
608
|
{#if loading}
|
|
@@ -651,7 +638,6 @@
|
|
|
651
638
|
{/snippet}
|
|
652
639
|
</Tooltip>
|
|
653
640
|
{:else if shouldShowTooltipOnIcon}
|
|
654
|
-
<!-- Text with popup and tooltip on icon -->
|
|
655
641
|
<div
|
|
656
642
|
class={labelClasses()}
|
|
657
643
|
data-component="Text"
|
|
@@ -664,7 +650,6 @@
|
|
|
664
650
|
>
|
|
665
651
|
{#if label?.trim() || icon || children}
|
|
666
652
|
{#if ellipsisOnWidth && (icon || loading)}
|
|
667
|
-
<!-- handling ellipsis with icons -->
|
|
668
653
|
<div
|
|
669
654
|
class="text-with-icon"
|
|
670
655
|
style="display: flex; align-items: center; gap: 4px; width: {ellipsisOnWidth}; justify-content: {textAlign ===
|
|
@@ -698,7 +683,6 @@
|
|
|
698
683
|
</div>
|
|
699
684
|
</div>
|
|
700
685
|
{:else}
|
|
701
|
-
<!-- Normal text handling -->
|
|
702
686
|
<div class={textClasses()} style={textStyles()}>
|
|
703
687
|
{#if icon || loading}
|
|
704
688
|
{#if loading}
|
|
@@ -730,7 +714,6 @@
|
|
|
730
714
|
{/if}
|
|
731
715
|
</div>
|
|
732
716
|
{:else}
|
|
733
|
-
<!-- Text with popup without tooltip -->
|
|
734
717
|
<div
|
|
735
718
|
class={labelClasses()}
|
|
736
719
|
data-component="Text"
|
|
@@ -743,7 +726,6 @@
|
|
|
743
726
|
>
|
|
744
727
|
{#if label?.trim() || icon || children}
|
|
745
728
|
{#if ellipsisOnWidth && (icon || loading)}
|
|
746
|
-
<!-- handling ellipsis with icons -->
|
|
747
729
|
<div
|
|
748
730
|
class="text-with-icon"
|
|
749
731
|
style="display: flex; align-items: center; gap: 4px; width: {ellipsisOnWidth}; justify-content: {textAlign ===
|
|
@@ -773,7 +755,6 @@
|
|
|
773
755
|
</div>
|
|
774
756
|
</div>
|
|
775
757
|
{:else}
|
|
776
|
-
<!-- Normal text handling -->
|
|
777
758
|
<div class={textClasses()} style={textStyles()}>
|
|
778
759
|
{#if icon || loading}
|
|
779
760
|
{#if loading}
|
|
@@ -356,7 +356,6 @@
|
|
|
356
356
|
{#if target}
|
|
357
357
|
{@render target()}
|
|
358
358
|
{:else}
|
|
359
|
-
<!-- Default target for Storybook compatibility -->
|
|
360
359
|
<button
|
|
361
360
|
style="
|
|
362
361
|
padding: 4px 8px;
|
|
@@ -411,12 +410,17 @@
|
|
|
411
410
|
display: none;
|
|
412
411
|
top: 0;
|
|
413
412
|
left: 0;
|
|
414
|
-
z-index: 99999999999;
|
|
415
413
|
border-radius: 4px;
|
|
414
|
+
z-index: 99999999999;
|
|
415
|
+
border-radius: var(--border-radius, 4px);
|
|
416
416
|
background: var(--background3);
|
|
417
417
|
box-shadow:
|
|
418
|
-
|
|
419
|
-
|
|
418
|
+
0 12px 24px 8px #0000004d,
|
|
419
|
+
0 8px 16px 4px #0000004d,
|
|
420
|
+
0 4px 8px 2px #0000,
|
|
421
|
+
0 2px 6px #00000014,
|
|
422
|
+
0 -0.5px 0.5px #0000 inset,
|
|
423
|
+
0 0.5px 0.5px #ffffff57 inset;
|
|
420
424
|
color: var(--text2);
|
|
421
425
|
font-family: Inter;
|
|
422
426
|
line-height: 120%;
|
|
@@ -431,6 +435,7 @@
|
|
|
431
435
|
.content-wrapper {
|
|
432
436
|
flex: 1;
|
|
433
437
|
min-width: 0;
|
|
438
|
+
border-radius: var(--border-radius, 4px);
|
|
434
439
|
z-index: 3;
|
|
435
440
|
background: inherit;
|
|
436
441
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="17" viewBox="0 0 16 17" fill="none">
|
|
2
|
+
<g clip-path="url(#clip0_5665_3736)">
|
|
3
|
+
<path
|
|
4
|
+
d="M12.7839 6.16037V4.88037H8.15991V12.0924H9.79591V9.30037H12.1599V8.06837H9.79591V6.16037H12.7839Z"
|
|
5
|
+
fill="currentColor"
|
|
6
|
+
/>
|
|
7
|
+
<path
|
|
8
|
+
d="M3.89982 5.37971V7.52371C3.90035 7.58096 3.88959 7.63776 3.86817 7.69086C3.84674 7.74396 3.81507 7.79232 3.77495 7.83318C3.73484 7.87404 3.68707 7.9066 3.63437 7.92899C3.58167 7.95139 3.52508 7.96318 3.46782 7.96371H3.21582V9.01171H3.46382C3.52108 9.01171 3.57777 9.02298 3.63067 9.0449C3.68357 9.06681 3.73163 9.09892 3.77212 9.13941C3.8126 9.17989 3.84472 9.22796 3.86663 9.28086C3.88854 9.33376 3.89982 9.39045 3.89982 9.44771V11.5677C3.89982 12.6677 4.47982 13.2677 5.53582 13.2677H6.51981V12.0677H5.92382C5.86826 12.0679 5.81299 12.0598 5.75982 12.0437C5.51182 11.9917 5.35982 11.7917 5.35982 11.4437V9.65171C5.35982 9.17171 5.35982 8.69571 4.73582 8.47571C5.35982 8.25171 5.35982 7.69971 5.35982 7.24771V5.49971C5.34084 5.36798 5.37117 5.23389 5.44499 5.12316C5.51881 5.01242 5.63092 4.93285 5.75982 4.89971C5.81592 4.88498 5.87383 4.87824 5.93182 4.87971H6.53181V3.69971H5.53582C4.46782 3.69971 3.89982 4.29971 3.89982 5.37971Z"
|
|
9
|
+
fill="currentColor"
|
|
10
|
+
/>
|
|
11
|
+
</g>
|
|
12
|
+
<defs>
|
|
13
|
+
<clipPath id="clip0_5665_3736">
|
|
14
|
+
<rect y="0.5" width="16" height="16" rx="1.33333" fill="currentColor" />
|
|
15
|
+
</clipPath>
|
|
16
|
+
</defs>
|
|
17
|
+
</svg>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export default FinsweetLogoOutlineIcon;
|
|
2
|
+
type FinsweetLogoOutlineIcon = SvelteComponent<{
|
|
3
|
+
[x: string]: never;
|
|
4
|
+
}, {
|
|
5
|
+
[evt: string]: CustomEvent<any>;
|
|
6
|
+
}, {}> & {
|
|
7
|
+
$$bindings?: string | undefined;
|
|
8
|
+
};
|
|
9
|
+
declare const FinsweetLogoOutlineIcon: $$__sveltets_2_IsomorphicComponent<{
|
|
10
|
+
[x: string]: never;
|
|
11
|
+
}, {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
}, {}, {}, string>;
|
|
14
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
15
|
+
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
16
|
+
$$bindings?: Bindings;
|
|
17
|
+
} & Exports;
|
|
18
|
+
(internal: unknown, props: {
|
|
19
|
+
$$events?: Events;
|
|
20
|
+
$$slots?: Slots;
|
|
21
|
+
}): Exports & {
|
|
22
|
+
$set?: any;
|
|
23
|
+
$on?: any;
|
|
24
|
+
};
|
|
25
|
+
z_$$bindings?: Bindings;
|
|
26
|
+
}
|
package/dist/ui/icons/index.d.ts
CHANGED
|
@@ -46,6 +46,7 @@ import FileUploadIcon from './FileUploadIcon.svelte';
|
|
|
46
46
|
import FilterIcon from './FilterIcon.svelte';
|
|
47
47
|
import FinsweetLibraryIcon from './FinsweetLibraryIcon.svelte';
|
|
48
48
|
import FinsweetLogoIcon from './FinsweetLogoIcon.svelte';
|
|
49
|
+
import FinsweetLogoOutlineIcon from './FinsweetLogoOutlineIcon.svelte';
|
|
49
50
|
import FolderIcon from './FolderIcon.svelte';
|
|
50
51
|
import FolderOutlinedIcon from './FolderOutlinedIcon.svelte';
|
|
51
52
|
import FolderPlusIcon from './FolderPlusIcon.svelte';
|
|
@@ -118,4 +119,4 @@ import WizedLogoIcon from './WizedLogoIcon.svelte';
|
|
|
118
119
|
import XL from './XL.svelte';
|
|
119
120
|
import XXL from './XXL.svelte';
|
|
120
121
|
import XXXL from './XXXL.svelte';
|
|
121
|
-
export { AccordionDownArrow, AccordionUpArrow, AccountIcon, ArrowIcon, BackIcon, BodyIcon, BookmarkIcon, BoxAddIcon, BrushIcon, BuilderEditIcon, BuilderIcon, CheckboxCheckedIcon, CheckCircleIcon, CheckCircleOutlinedIcon, CheckIcon, ChevronIcon, ChevronRightIcon, CircleIcon, CloseCircleIcon, CloseIcon, CMSIcon, CodeIcon, ComponentsIcon, CookieIcon, CopyIcon, CrossIcon, DeleteIcon, DeleteOutlinedIcon, Desktop, DesktopWithStar, DivBlock, DOMElement, EditIcon, ExpertIcon, EyeCancelIcon, EyeIcon, FavouriteIcon, FileUploadIcon, FilterIcon, FinsweetLibraryIcon, FinsweetLogoIcon, FolderIcon, FolderOutlinedIcon, FolderPlusIcon, FreeComponentIcon, GlobeIcon, HandPointUpIcon, HeartIcon, HeartIconOutlined, HelpAltIcon, HelpIcon, HomeIcon, InfoIcon, LineChartIcon, ListIcon, LockIcon, MessageIcon, MobileLandscape, MobilePortrait, NavigatorIcon, OpenBookIcon, PageDraftIcon, PageIcon, PageLockedIcon, PageOutlinedIcon, PageSectionIcon, Pencil, PencilOutlinedIcon, PinIcon, PlayIcon, PlusIcon, PreviewEyeIcon, ProfileIcon, PublishCancelIcon, PublishIcon, RefreshIcon, RepairIcon, SaveIcon, SearchIcon, SelectIcon, SettingsIcon, SidebarToggleIcon, SliderAppIcon, SquareCheckIcon, StarIcon, StarOutlinedIcon, StaticContentIcon, SubtractIcon, TableAppIcon, Tablet, TabletPreview, TabNewIcon, TabsIcon, ThreeDotsIcon, TimesIcon, TooltipInfoCircleFilled, ToolTipInfoCircleIcon, TooltipInfoSquaredIcon, TriangleDownIcon, TriangleDownIconToggle, UndoIcon, UploadFileIcon, WarningCircleIcon, WarningCircleOutlineIcon, WarningTriangleIcon, WarningTriangleOutlineIcon, WebflowComponentIcon, WebflowComponentOutlinedIcon, WebflowInsightsIcon, WizedLogoIcon, XL, XXL, XXXL };
|
|
122
|
+
export { AccordionDownArrow, AccordionUpArrow, AccountIcon, ArrowIcon, BackIcon, BodyIcon, BookmarkIcon, BoxAddIcon, BrushIcon, BuilderEditIcon, BuilderIcon, CheckboxCheckedIcon, CheckCircleIcon, CheckCircleOutlinedIcon, CheckIcon, ChevronIcon, ChevronRightIcon, CircleIcon, CloseCircleIcon, CloseIcon, CMSIcon, CodeIcon, ComponentsIcon, CookieIcon, CopyIcon, CrossIcon, DeleteIcon, DeleteOutlinedIcon, Desktop, DesktopWithStar, DivBlock, DOMElement, EditIcon, ExpertIcon, EyeCancelIcon, EyeIcon, FavouriteIcon, FileUploadIcon, FilterIcon, FinsweetLibraryIcon, FinsweetLogoIcon, FinsweetLogoOutlineIcon, FolderIcon, FolderOutlinedIcon, FolderPlusIcon, FreeComponentIcon, GlobeIcon, HandPointUpIcon, HeartIcon, HeartIconOutlined, HelpAltIcon, HelpIcon, HomeIcon, InfoIcon, LineChartIcon, ListIcon, LockIcon, MessageIcon, MobileLandscape, MobilePortrait, NavigatorIcon, OpenBookIcon, PageDraftIcon, PageIcon, PageLockedIcon, PageOutlinedIcon, PageSectionIcon, Pencil, PencilOutlinedIcon, PinIcon, PlayIcon, PlusIcon, PreviewEyeIcon, ProfileIcon, PublishCancelIcon, PublishIcon, RefreshIcon, RepairIcon, SaveIcon, SearchIcon, SelectIcon, SettingsIcon, SidebarToggleIcon, SliderAppIcon, SquareCheckIcon, StarIcon, StarOutlinedIcon, StaticContentIcon, SubtractIcon, TableAppIcon, Tablet, TabletPreview, TabNewIcon, TabsIcon, ThreeDotsIcon, TimesIcon, TooltipInfoCircleFilled, ToolTipInfoCircleIcon, TooltipInfoSquaredIcon, TriangleDownIcon, TriangleDownIconToggle, UndoIcon, UploadFileIcon, WarningCircleIcon, WarningCircleOutlineIcon, WarningTriangleIcon, WarningTriangleOutlineIcon, WebflowComponentIcon, WebflowComponentOutlinedIcon, WebflowInsightsIcon, WizedLogoIcon, XL, XXL, XXXL };
|
package/dist/ui/icons/index.js
CHANGED
|
@@ -46,6 +46,7 @@ import FileUploadIcon from './FileUploadIcon.svelte';
|
|
|
46
46
|
import FilterIcon from './FilterIcon.svelte';
|
|
47
47
|
import FinsweetLibraryIcon from './FinsweetLibraryIcon.svelte';
|
|
48
48
|
import FinsweetLogoIcon from './FinsweetLogoIcon.svelte';
|
|
49
|
+
import FinsweetLogoOutlineIcon from './FinsweetLogoOutlineIcon.svelte';
|
|
49
50
|
import FolderIcon from './FolderIcon.svelte';
|
|
50
51
|
import FolderOutlinedIcon from './FolderOutlinedIcon.svelte';
|
|
51
52
|
import FolderPlusIcon from './FolderPlusIcon.svelte';
|
|
@@ -118,4 +119,4 @@ import WizedLogoIcon from './WizedLogoIcon.svelte';
|
|
|
118
119
|
import XL from './XL.svelte';
|
|
119
120
|
import XXL from './XXL.svelte';
|
|
120
121
|
import XXXL from './XXXL.svelte';
|
|
121
|
-
export { AccordionDownArrow, AccordionUpArrow, AccountIcon, ArrowIcon, BackIcon, BodyIcon, BookmarkIcon, BoxAddIcon, BrushIcon, BuilderEditIcon, BuilderIcon, CheckboxCheckedIcon, CheckCircleIcon, CheckCircleOutlinedIcon, CheckIcon, ChevronIcon, ChevronRightIcon, CircleIcon, CloseCircleIcon, CloseIcon, CMSIcon, CodeIcon, ComponentsIcon, CookieIcon, CopyIcon, CrossIcon, DeleteIcon, DeleteOutlinedIcon, Desktop, DesktopWithStar, DivBlock, DOMElement, EditIcon, ExpertIcon, EyeCancelIcon, EyeIcon, FavouriteIcon, FileUploadIcon, FilterIcon, FinsweetLibraryIcon, FinsweetLogoIcon, FolderIcon, FolderOutlinedIcon, FolderPlusIcon, FreeComponentIcon, GlobeIcon, HandPointUpIcon, HeartIcon, HeartIconOutlined, HelpAltIcon, HelpIcon, HomeIcon, InfoIcon, LineChartIcon, ListIcon, LockIcon, MessageIcon, MobileLandscape, MobilePortrait, NavigatorIcon, OpenBookIcon, PageDraftIcon, PageIcon, PageLockedIcon, PageOutlinedIcon, PageSectionIcon, Pencil, PencilOutlinedIcon, PinIcon, PlayIcon, PlusIcon, PreviewEyeIcon, ProfileIcon, PublishCancelIcon, PublishIcon, RefreshIcon, RepairIcon, SaveIcon, SearchIcon, SelectIcon, SettingsIcon, SidebarToggleIcon, SliderAppIcon, SquareCheckIcon, StarIcon, StarOutlinedIcon, StaticContentIcon, SubtractIcon, TableAppIcon, Tablet, TabletPreview, TabNewIcon, TabsIcon, ThreeDotsIcon, TimesIcon, TooltipInfoCircleFilled, ToolTipInfoCircleIcon, TooltipInfoSquaredIcon, TriangleDownIcon, TriangleDownIconToggle, UndoIcon, UploadFileIcon, WarningCircleIcon, WarningCircleOutlineIcon, WarningTriangleIcon, WarningTriangleOutlineIcon, WebflowComponentIcon, WebflowComponentOutlinedIcon, WebflowInsightsIcon, WizedLogoIcon, XL, XXL, XXXL };
|
|
122
|
+
export { AccordionDownArrow, AccordionUpArrow, AccountIcon, ArrowIcon, BackIcon, BodyIcon, BookmarkIcon, BoxAddIcon, BrushIcon, BuilderEditIcon, BuilderIcon, CheckboxCheckedIcon, CheckCircleIcon, CheckCircleOutlinedIcon, CheckIcon, ChevronIcon, ChevronRightIcon, CircleIcon, CloseCircleIcon, CloseIcon, CMSIcon, CodeIcon, ComponentsIcon, CookieIcon, CopyIcon, CrossIcon, DeleteIcon, DeleteOutlinedIcon, Desktop, DesktopWithStar, DivBlock, DOMElement, EditIcon, ExpertIcon, EyeCancelIcon, EyeIcon, FavouriteIcon, FileUploadIcon, FilterIcon, FinsweetLibraryIcon, FinsweetLogoIcon, FinsweetLogoOutlineIcon, FolderIcon, FolderOutlinedIcon, FolderPlusIcon, FreeComponentIcon, GlobeIcon, HandPointUpIcon, HeartIcon, HeartIconOutlined, HelpAltIcon, HelpIcon, HomeIcon, InfoIcon, LineChartIcon, ListIcon, LockIcon, MessageIcon, MobileLandscape, MobilePortrait, NavigatorIcon, OpenBookIcon, PageDraftIcon, PageIcon, PageLockedIcon, PageOutlinedIcon, PageSectionIcon, Pencil, PencilOutlinedIcon, PinIcon, PlayIcon, PlusIcon, PreviewEyeIcon, ProfileIcon, PublishCancelIcon, PublishIcon, RefreshIcon, RepairIcon, SaveIcon, SearchIcon, SelectIcon, SettingsIcon, SidebarToggleIcon, SliderAppIcon, SquareCheckIcon, StarIcon, StarOutlinedIcon, StaticContentIcon, SubtractIcon, TableAppIcon, Tablet, TabletPreview, TabNewIcon, TabsIcon, ThreeDotsIcon, TimesIcon, TooltipInfoCircleFilled, ToolTipInfoCircleIcon, TooltipInfoSquaredIcon, TriangleDownIcon, TriangleDownIconToggle, UndoIcon, UploadFileIcon, WarningCircleIcon, WarningCircleOutlineIcon, WarningTriangleIcon, WarningTriangleOutlineIcon, WebflowComponentIcon, WebflowComponentOutlinedIcon, WebflowInsightsIcon, WizedLogoIcon, XL, XXL, XXXL };
|
package/dist/ui/index.css
CHANGED
|
@@ -57,12 +57,10 @@
|
|
|
57
57
|
</div>
|
|
58
58
|
|
|
59
59
|
{#snippet DemoContent()}
|
|
60
|
-
<!-- Get contexts and data reactively -->
|
|
61
60
|
{@const appContext = useAppContext<DemoConfigType>()}
|
|
62
61
|
{@const formContext = useFormContext()}
|
|
63
62
|
{@const configuratorContext = useConfiguratorContext<DemoConfigType>()}
|
|
64
63
|
|
|
65
|
-
<!-- Force reactive updates with trigger -->
|
|
66
64
|
{#key refreshTrigger}
|
|
67
65
|
{@const appData = appContext.get()}
|
|
68
66
|
{@const formData = formContext.get()}
|
|
@@ -345,7 +345,7 @@ interface HistoryEntry {
|
|
|
345
345
|
### Complete Application Setup
|
|
346
346
|
|
|
347
347
|
\`\`\`typescript
|
|
348
|
-
|
|
348
|
+
|
|
349
349
|
<script lang="ts">
|
|
350
350
|
import { onMount } from 'svelte';
|
|
351
351
|
import { createRouter, RouterProvider, Route, Link } from '@finsweet/webflow-apps-utils';
|
|
@@ -379,7 +379,7 @@ interface HistoryEntry {
|
|
|
379
379
|
<RouterProvider {router}>
|
|
380
380
|
{#snippet children({ router, currentRoute, isNavigating })}
|
|
381
381
|
<div class="app">
|
|
382
|
-
|
|
382
|
+
|
|
383
383
|
<nav class="navbar">
|
|
384
384
|
<div class="nav-brand">
|
|
385
385
|
<Link to="/">My App</Link>
|
|
@@ -391,17 +391,17 @@ interface HistoryEntry {
|
|
|
391
391
|
</ul>
|
|
392
392
|
</nav>
|
|
393
393
|
|
|
394
|
-
|
|
394
|
+
|
|
395
395
|
{#if isNavigating}
|
|
396
396
|
<div class="loading-bar"></div>
|
|
397
397
|
{/if}
|
|
398
398
|
|
|
399
|
-
|
|
399
|
+
|
|
400
400
|
<title>{currentRoute?.meta?.title || 'My App'}</title>
|
|
401
401
|
|
|
402
|
-
|
|
402
|
+
|
|
403
403
|
<main class="main-content">
|
|
404
|
-
|
|
404
|
+
|
|
405
405
|
<Route path="/" component={HomePage} />
|
|
406
406
|
<Route path="/about" component={AboutPage} />
|
|
407
407
|
<Route path="/users/:id">
|
|
@@ -421,7 +421,7 @@ interface HistoryEntry {
|
|
|
421
421
|
### Using Hooks in Components
|
|
422
422
|
|
|
423
423
|
\`\`\`typescript
|
|
424
|
-
|
|
424
|
+
|
|
425
425
|
<script lang="ts">
|
|
426
426
|
import { useParams, useNavigate, useSearchParams } from '@finsweet/webflow-apps-utils';
|
|
427
427
|
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
<RouterProvider {router}>
|
|
37
37
|
{#snippet children({ router, currentRoute, currentLocation, isNavigating })}
|
|
38
38
|
<div class="app-layout">
|
|
39
|
-
<!-- Navigation -->
|
|
40
39
|
<nav class="navigation">
|
|
41
40
|
<div class="nav-brand">
|
|
42
41
|
<h3>My App</h3>
|
|
@@ -57,7 +56,6 @@
|
|
|
57
56
|
</ul>
|
|
58
57
|
</nav>
|
|
59
58
|
|
|
60
|
-
<!-- Loading indicator -->
|
|
61
59
|
{#if isNavigating}
|
|
62
60
|
<div class="loading-indicator">
|
|
63
61
|
<div class="spinner"></div>
|
|
@@ -65,7 +63,6 @@
|
|
|
65
63
|
</div>
|
|
66
64
|
{/if}
|
|
67
65
|
|
|
68
|
-
<!-- Route information display -->
|
|
69
66
|
<div class="route-info">
|
|
70
67
|
<strong>Current Route:</strong>
|
|
71
68
|
{currentLocation?.pathname || 'None'}<br />
|
|
@@ -77,9 +74,7 @@
|
|
|
77
74
|
{currentLocation?.search || 'None'}
|
|
78
75
|
</div>
|
|
79
76
|
|
|
80
|
-
<!-- Main content area -->
|
|
81
77
|
<main class="main-content">
|
|
82
|
-
<!-- Home Route -->
|
|
83
78
|
<Route path="/">
|
|
84
79
|
{#snippet children({ params, location, router, isActive })}
|
|
85
80
|
{#if isActive}
|
|
@@ -88,7 +83,6 @@
|
|
|
88
83
|
{/snippet}
|
|
89
84
|
</Route>
|
|
90
85
|
|
|
91
|
-
<!-- About Route (with optional section parameter) -->
|
|
92
86
|
<Route path="/about">
|
|
93
87
|
{#snippet children({ params, location, router, isActive })}
|
|
94
88
|
{#if isActive}
|
|
@@ -97,7 +91,6 @@
|
|
|
97
91
|
{/snippet}
|
|
98
92
|
</Route>
|
|
99
93
|
|
|
100
|
-
<!-- About with section parameter -->
|
|
101
94
|
<Route path="/about/:section">
|
|
102
95
|
{#snippet children({ params, location, router, isActive })}
|
|
103
96
|
{#if isActive}
|
|
@@ -106,7 +99,6 @@
|
|
|
106
99
|
{/snippet}
|
|
107
100
|
</Route>
|
|
108
101
|
|
|
109
|
-
<!-- Fallback route (404) -->
|
|
110
102
|
<Route path="*" exact={false}>
|
|
111
103
|
{#snippet children({ params, location, router, isActive })}
|
|
112
104
|
{#if isActive && !router.isActive('/') && !router.isActive('/about')}
|
|
@@ -116,7 +108,6 @@
|
|
|
116
108
|
</Route>
|
|
117
109
|
</main>
|
|
118
110
|
|
|
119
|
-
<!-- Router controls -->
|
|
120
111
|
<div class="router-controls">
|
|
121
112
|
<h4>Router Controls</h4>
|
|
122
113
|
<div class="controls-grid">
|
|
@@ -74,7 +74,6 @@
|
|
|
74
74
|
|
|
75
75
|
<div class="about-page">
|
|
76
76
|
{#if section && currentSection}
|
|
77
|
-
<!-- Section-specific content -->
|
|
78
77
|
<div class="section-header">
|
|
79
78
|
<button class="back-button" onclick={() => router.navigate('/about')}>
|
|
80
79
|
← Back to About
|
|
@@ -158,7 +157,6 @@
|
|
|
158
157
|
{/if}
|
|
159
158
|
</div>
|
|
160
159
|
|
|
161
|
-
<!-- Navigation to other sections -->
|
|
162
160
|
<div class="section-navigation">
|
|
163
161
|
<h3>Explore More</h3>
|
|
164
162
|
<div class="nav-buttons">
|
|
@@ -172,7 +170,6 @@
|
|
|
172
170
|
</div>
|
|
173
171
|
</div>
|
|
174
172
|
{:else}
|
|
175
|
-
<!-- Main about page -->
|
|
176
173
|
<div class="main-about">
|
|
177
174
|
<header class="about-header">
|
|
178
175
|
<h1>About Our Company</h1>
|
|
@@ -232,7 +229,6 @@
|
|
|
232
229
|
</div>
|
|
233
230
|
{/if}
|
|
234
231
|
|
|
235
|
-
<!-- Debug information -->
|
|
236
232
|
<div class="debug-section">
|
|
237
233
|
<h3>Route Debug Information</h3>
|
|
238
234
|
<div class="debug-info">
|
|
@@ -106,7 +106,6 @@
|
|
|
106
106
|
});
|
|
107
107
|
</script>
|
|
108
108
|
|
|
109
|
-
<!-- Render as anchor tag by default -->
|
|
110
109
|
{#if element === 'a'}
|
|
111
110
|
<a
|
|
112
111
|
{href}
|
|
@@ -122,7 +121,6 @@
|
|
|
122
121
|
{/if}
|
|
123
122
|
</a>
|
|
124
123
|
{:else if element === 'button'}
|
|
125
|
-
<!-- Render as button -->
|
|
126
124
|
<button
|
|
127
125
|
type="button"
|
|
128
126
|
class={className}
|
|
@@ -64,14 +64,11 @@
|
|
|
64
64
|
});
|
|
65
65
|
</script>
|
|
66
66
|
|
|
67
|
-
<!-- Render content only if route is active -->
|
|
68
67
|
{#if isActive}
|
|
69
68
|
{#if component}
|
|
70
|
-
<!-- Render provided component with route props -->
|
|
71
69
|
{@const Component = component}
|
|
72
70
|
<Component params={routeParams} location={currentLocation} {router} />
|
|
73
71
|
{:else if children}
|
|
74
|
-
<!-- Render children snippet with route data -->
|
|
75
72
|
{@render children({
|
|
76
73
|
params: routeParams,
|
|
77
74
|
location: currentLocation,
|