@contractspec/bundle.marketing 3.8.8 → 3.8.10
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/.turbo/turbo-build.log +73 -29
- package/CHANGELOG.md +63 -0
- package/dist/browser/components/templates/TemplateCard.js +83 -0
- package/dist/browser/components/templates/TemplateCommandDialog.js +110 -0
- package/dist/browser/components/templates/TemplatePreviewContent.js +96 -0
- package/dist/browser/components/templates/TemplatesBrowseControls.js +130 -0
- package/dist/browser/components/templates/TemplatesCatalogSection.js +307 -0
- package/dist/browser/components/templates/TemplatesClientPage.js +1020 -917
- package/dist/browser/components/templates/TemplatesHeroSection.js +87 -0
- package/dist/browser/components/templates/TemplatesNextStepsSection.js +126 -0
- package/dist/browser/components/templates/TemplatesOverlays.js +2874 -0
- package/dist/browser/components/templates/TemplatesPreviewModal.js +136 -126
- package/dist/browser/components/templates/index.js +1055 -952
- package/dist/browser/components/templates/template-catalog.js +83 -0
- package/dist/browser/components/templates/template-filters.js +99 -0
- package/dist/browser/components/templates/template-new.js +23 -0
- package/dist/browser/components/templates/template-preview.js +43 -0
- package/dist/browser/components/templates/template-source.js +19 -0
- package/dist/browser/components/templates/template-tag-visibility.js +40 -0
- package/dist/browser/components/templates/useTemplateBrowseState.js +191 -0
- package/dist/browser/index.js +1055 -952
- package/dist/components/templates/TemplateCard.d.ts +12 -0
- package/dist/components/templates/TemplateCard.js +78 -0
- package/dist/components/templates/TemplateCommandDialog.d.ts +6 -0
- package/dist/components/templates/TemplateCommandDialog.js +105 -0
- package/dist/components/templates/TemplatePreviewContent.d.ts +5 -0
- package/dist/components/templates/TemplatePreviewContent.js +91 -0
- package/dist/components/templates/TemplatesBrowseControls.d.ts +18 -0
- package/dist/components/templates/TemplatesBrowseControls.js +125 -0
- package/dist/components/templates/TemplatesCatalogSection.d.ts +17 -0
- package/dist/components/templates/TemplatesCatalogSection.js +302 -0
- package/dist/components/templates/TemplatesClientPage.js +1020 -917
- package/dist/components/templates/TemplatesHeroSection.d.ts +5 -0
- package/dist/components/templates/TemplatesHeroSection.js +82 -0
- package/dist/components/templates/TemplatesNextStepsSection.d.ts +1 -0
- package/dist/components/templates/TemplatesNextStepsSection.js +121 -0
- package/dist/components/templates/TemplatesOverlays.d.ts +10 -0
- package/dist/components/templates/TemplatesOverlays.js +2869 -0
- package/dist/components/templates/TemplatesPreviewModal.d.ts +3 -4
- package/dist/components/templates/TemplatesPreviewModal.js +136 -126
- package/dist/components/templates/index.js +1055 -952
- package/dist/components/templates/template-catalog.d.ts +28 -0
- package/dist/components/templates/template-catalog.js +78 -0
- package/dist/components/templates/template-catalog.test.d.ts +1 -0
- package/dist/components/templates/template-filters.d.ts +12 -0
- package/dist/components/templates/template-filters.js +94 -0
- package/dist/components/templates/template-new.d.ts +2 -0
- package/dist/components/templates/template-new.js +18 -0
- package/dist/components/templates/template-preview.d.ts +18 -0
- package/dist/components/templates/template-preview.js +38 -0
- package/dist/components/templates/template-source.d.ts +3 -0
- package/dist/components/templates/template-source.js +14 -0
- package/dist/components/templates/template-tag-visibility.d.ts +10 -0
- package/dist/components/templates/template-tag-visibility.js +35 -0
- package/dist/components/templates/useTemplateBrowseState.d.ts +22 -0
- package/dist/components/templates/useTemplateBrowseState.js +186 -0
- package/dist/index.js +1055 -952
- package/dist/node/components/templates/TemplateCard.js +78 -0
- package/dist/node/components/templates/TemplateCommandDialog.js +105 -0
- package/dist/node/components/templates/TemplatePreviewContent.js +91 -0
- package/dist/node/components/templates/TemplatesBrowseControls.js +125 -0
- package/dist/node/components/templates/TemplatesCatalogSection.js +302 -0
- package/dist/node/components/templates/TemplatesClientPage.js +1020 -917
- package/dist/node/components/templates/TemplatesHeroSection.js +82 -0
- package/dist/node/components/templates/TemplatesNextStepsSection.js +121 -0
- package/dist/node/components/templates/TemplatesOverlays.js +2869 -0
- package/dist/node/components/templates/TemplatesPreviewModal.js +136 -126
- package/dist/node/components/templates/index.js +1055 -952
- package/dist/node/components/templates/template-catalog.js +78 -0
- package/dist/node/components/templates/template-filters.js +94 -0
- package/dist/node/components/templates/template-new.js +18 -0
- package/dist/node/components/templates/template-preview.js +38 -0
- package/dist/node/components/templates/template-source.js +14 -0
- package/dist/node/components/templates/template-tag-visibility.js +35 -0
- package/dist/node/components/templates/useTemplateBrowseState.js +186 -0
- package/dist/node/index.js +1055 -952
- package/package.json +237 -26
- package/src/components/templates/TemplateCard.tsx +74 -0
- package/src/components/templates/TemplateCommandDialog.tsx +92 -0
- package/src/components/templates/TemplatePreviewContent.tsx +182 -0
- package/src/components/templates/TemplatesBrowseControls.tsx +144 -0
- package/src/components/templates/TemplatesCatalogSection.tsx +191 -0
- package/src/components/templates/TemplatesClientPage.tsx +85 -773
- package/src/components/templates/TemplatesHeroSection.tsx +41 -0
- package/src/components/templates/TemplatesNextStepsSection.tsx +80 -0
- package/src/components/templates/TemplatesOverlays.tsx +65 -0
- package/src/components/templates/TemplatesPreviewModal.tsx +19 -294
- package/src/components/templates/template-catalog.test.ts +162 -0
- package/src/components/templates/template-catalog.ts +140 -0
- package/src/components/templates/template-filters.ts +57 -0
- package/src/components/templates/template-new.ts +12 -0
- package/src/components/templates/template-preview.ts +57 -0
- package/src/components/templates/template-source.ts +13 -0
- package/src/components/templates/template-tag-visibility.ts +58 -0
- package/src/components/templates/useTemplateBrowseState.ts +101 -0
- package/.turbo/turbo-prebuild.log +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
$ contractspec-bun-build prebuild
|
|
2
|
-
$ bun run
|
|
3
|
-
$ contractspec-bun-build prebuild
|
|
2
|
+
$ bun run build:bundle && bun run build:types
|
|
4
3
|
$ contractspec-bun-build transpile
|
|
5
|
-
[contractspec-bun-build] transpile target=bun root=src entries=
|
|
6
|
-
Bundled
|
|
4
|
+
[contractspec-bun-build] transpile target=bun root=src entries=60 noBundle=false
|
|
5
|
+
Bundled 60 modules in 32ms
|
|
7
6
|
|
|
8
7
|
bundles/MarketingBundle.js 8.0 KB (entry point)
|
|
9
|
-
|
|
10
|
-
./index.js 229.90 KB (entry point)
|
|
8
|
+
./index.js 225.25 KB (entry point)
|
|
11
9
|
libs/email/waitlist-application.js 11.18 KB (entry point)
|
|
12
10
|
libs/email/waitlist.js 7.48 KB (entry point)
|
|
13
11
|
registry/index.js 154.47 KB (entry point)
|
|
@@ -15,14 +13,30 @@ Bundled 45 modules in 23ms
|
|
|
15
13
|
registry/utils.js 154.1 KB (entry point)
|
|
16
14
|
registry/engine.js 152.52 KB (entry point)
|
|
17
15
|
registry/registry.js 151.99 KB (entry point)
|
|
18
|
-
registry/registry-docs.js 27.11 KB (entry point)
|
|
19
16
|
registry/registry-landing.js 124.66 KB (entry point)
|
|
17
|
+
registry/registry-docs.js 27.11 KB (entry point)
|
|
20
18
|
registry/factory.js 1.35 KB (entry point)
|
|
21
|
-
components/templates/index.js 181.15 KB (entry point)
|
|
22
|
-
components/templates/TemplatesClientPage.js 174.21 KB (entry point)
|
|
23
|
-
components/templates/TemplatesPage.js 6.85 KB (entry point)
|
|
24
|
-
components/templates/TemplatesPreviewModal.js 9.86 KB (entry point)
|
|
25
19
|
libs/email/newsletter.js 6.88 KB (entry point)
|
|
20
|
+
libs/email/types.js 49 bytes (entry point)
|
|
21
|
+
components/templates/index.js 176.50 KB (entry point)
|
|
22
|
+
components/templates/TemplatesPage.js 6.85 KB (entry point)
|
|
23
|
+
components/templates/TemplatesClientPage.js 169.52 KB (entry point)
|
|
24
|
+
components/templates/useTemplateBrowseState.js 7.78 KB (entry point)
|
|
25
|
+
components/templates/template-source.js 379 bytes (entry point)
|
|
26
|
+
components/templates/template-tag-visibility.js 1.13 KB (entry point)
|
|
27
|
+
components/templates/TemplatesOverlays.js 134.37 KB (entry point)
|
|
28
|
+
components/templates/TemplatesPreviewModal.js 7.43 KB (entry point)
|
|
29
|
+
components/templates/template-filters.js 4.1 KB (entry point)
|
|
30
|
+
components/templates/TemplateCommandDialog.js 3.99 KB (entry point)
|
|
31
|
+
components/templates/TemplatePreviewContent.js 5.19 KB (entry point)
|
|
32
|
+
components/templates/TemplatesBrowseControls.js 6.0 KB (entry point)
|
|
33
|
+
components/templates/TemplatesCatalogSection.js 12.73 KB (entry point)
|
|
34
|
+
components/templates/template-catalog.js 3.20 KB (entry point)
|
|
35
|
+
components/templates/template-new.js 414 bytes (entry point)
|
|
36
|
+
components/templates/template-preview.js 1.1 KB (entry point)
|
|
37
|
+
components/templates/TemplateCard.js 2.92 KB (entry point)
|
|
38
|
+
components/templates/TemplatesHeroSection.js 3.37 KB (entry point)
|
|
39
|
+
components/templates/TemplatesNextStepsSection.js 5.90 KB (entry point)
|
|
26
40
|
components/marketing/sections/FearsSection.js 3.36 KB (entry point)
|
|
27
41
|
components/marketing/sections/HeroMarketingSection.js 3.65 KB (entry point)
|
|
28
42
|
components/marketing/sections/OutputsSection.js 3.26 KB (entry point)
|
|
@@ -51,12 +65,11 @@ Bundled 45 modules in 23ms
|
|
|
51
65
|
components/marketing/DesignPartnerPage.js 10.45 KB (entry point)
|
|
52
66
|
components/marketing/LandingPage.js 25.71 KB (entry point)
|
|
53
67
|
|
|
54
|
-
[contractspec-bun-build] transpile target=node root=src entries=
|
|
55
|
-
Bundled
|
|
68
|
+
[contractspec-bun-build] transpile target=node root=src entries=60 noBundle=false
|
|
69
|
+
Bundled 60 modules in 32ms
|
|
56
70
|
|
|
57
71
|
bundles/MarketingBundle.js 8.1 KB (entry point)
|
|
58
|
-
|
|
59
|
-
./index.js 229.85 KB (entry point)
|
|
72
|
+
./index.js 225.22 KB (entry point)
|
|
60
73
|
libs/email/waitlist-application.js 11.23 KB (entry point)
|
|
61
74
|
libs/email/waitlist.js 7.53 KB (entry point)
|
|
62
75
|
registry/index.js 154.50 KB (entry point)
|
|
@@ -64,14 +77,30 @@ Bundled 45 modules in 22ms
|
|
|
64
77
|
registry/utils.js 154.1 KB (entry point)
|
|
65
78
|
registry/engine.js 152.56 KB (entry point)
|
|
66
79
|
registry/registry.js 152.0 KB (entry point)
|
|
67
|
-
registry/registry-docs.js 27.18 KB (entry point)
|
|
68
80
|
registry/registry-landing.js 124.69 KB (entry point)
|
|
81
|
+
registry/registry-docs.js 27.18 KB (entry point)
|
|
69
82
|
registry/factory.js 1.42 KB (entry point)
|
|
70
|
-
components/templates/index.js 181.15 KB (entry point)
|
|
71
|
-
components/templates/TemplatesClientPage.js 174.21 KB (entry point)
|
|
72
|
-
components/templates/TemplatesPage.js 6.91 KB (entry point)
|
|
73
|
-
components/templates/TemplatesPreviewModal.js 9.92 KB (entry point)
|
|
74
83
|
libs/email/newsletter.js 6.93 KB (entry point)
|
|
84
|
+
libs/email/types.js 41 bytes (entry point)
|
|
85
|
+
components/templates/index.js 176.52 KB (entry point)
|
|
86
|
+
components/templates/TemplatesPage.js 6.91 KB (entry point)
|
|
87
|
+
components/templates/TemplatesClientPage.js 169.54 KB (entry point)
|
|
88
|
+
components/templates/useTemplateBrowseState.js 7.84 KB (entry point)
|
|
89
|
+
components/templates/template-source.js 443 bytes (entry point)
|
|
90
|
+
components/templates/template-tag-visibility.js 1.19 KB (entry point)
|
|
91
|
+
components/templates/TemplatesOverlays.js 134.41 KB (entry point)
|
|
92
|
+
components/templates/TemplatesPreviewModal.js 7.50 KB (entry point)
|
|
93
|
+
components/templates/template-filters.js 4.13 KB (entry point)
|
|
94
|
+
components/templates/TemplateCommandDialog.js 4.1 KB (entry point)
|
|
95
|
+
components/templates/TemplatePreviewContent.js 5.26 KB (entry point)
|
|
96
|
+
components/templates/TemplatesBrowseControls.js 6.1 KB (entry point)
|
|
97
|
+
components/templates/TemplatesCatalogSection.js 12.79 KB (entry point)
|
|
98
|
+
components/templates/template-catalog.js 3.27 KB (entry point)
|
|
99
|
+
components/templates/template-new.js 478 bytes (entry point)
|
|
100
|
+
components/templates/template-preview.js 1.15 KB (entry point)
|
|
101
|
+
components/templates/TemplateCard.js 2.98 KB (entry point)
|
|
102
|
+
components/templates/TemplatesHeroSection.js 3.43 KB (entry point)
|
|
103
|
+
components/templates/TemplatesNextStepsSection.js 5.96 KB (entry point)
|
|
75
104
|
components/marketing/sections/FearsSection.js 3.42 KB (entry point)
|
|
76
105
|
components/marketing/sections/HeroMarketingSection.js 3.71 KB (entry point)
|
|
77
106
|
components/marketing/sections/OutputsSection.js 3.32 KB (entry point)
|
|
@@ -100,12 +129,11 @@ Bundled 45 modules in 22ms
|
|
|
100
129
|
components/marketing/DesignPartnerPage.js 10.51 KB (entry point)
|
|
101
130
|
components/marketing/LandingPage.js 25.76 KB (entry point)
|
|
102
131
|
|
|
103
|
-
[contractspec-bun-build] transpile target=browser root=src entries=
|
|
104
|
-
Bundled
|
|
132
|
+
[contractspec-bun-build] transpile target=browser root=src entries=60 noBundle=false
|
|
133
|
+
Bundled 60 modules in 29ms
|
|
105
134
|
|
|
106
135
|
bundles/MarketingBundle.js 8.36 KB (entry point)
|
|
107
|
-
|
|
108
|
-
./index.js 230.11 KB (entry point)
|
|
136
|
+
./index.js 225.48 KB (entry point)
|
|
109
137
|
libs/email/waitlist-application.js 11.49 KB (entry point)
|
|
110
138
|
libs/email/waitlist.js 7.79 KB (entry point)
|
|
111
139
|
registry/index.js 154.76 KB (entry point)
|
|
@@ -113,14 +141,30 @@ Bundled 45 modules in 31ms
|
|
|
113
141
|
registry/utils.js 154.36 KB (entry point)
|
|
114
142
|
registry/engine.js 152.82 KB (entry point)
|
|
115
143
|
registry/registry.js 152.28 KB (entry point)
|
|
116
|
-
registry/registry-docs.js 27.44 KB (entry point)
|
|
117
144
|
registry/registry-landing.js 124.95 KB (entry point)
|
|
145
|
+
registry/registry-docs.js 27.44 KB (entry point)
|
|
118
146
|
registry/factory.js 1.68 KB (entry point)
|
|
119
|
-
components/templates/index.js 181.41 KB (entry point)
|
|
120
|
-
components/templates/TemplatesClientPage.js 174.47 KB (entry point)
|
|
121
|
-
components/templates/TemplatesPage.js 7.17 KB (entry point)
|
|
122
|
-
components/templates/TemplatesPreviewModal.js 10.18 KB (entry point)
|
|
123
147
|
libs/email/newsletter.js 7.19 KB (entry point)
|
|
148
|
+
libs/email/types.js 41 bytes (entry point)
|
|
149
|
+
components/templates/index.js 176.78 KB (entry point)
|
|
150
|
+
components/templates/TemplatesPage.js 7.17 KB (entry point)
|
|
151
|
+
components/templates/TemplatesClientPage.js 169.80 KB (entry point)
|
|
152
|
+
components/templates/useTemplateBrowseState.js 8.10 KB (entry point)
|
|
153
|
+
components/templates/template-source.js 0.70 KB (entry point)
|
|
154
|
+
components/templates/template-tag-visibility.js 1.45 KB (entry point)
|
|
155
|
+
components/templates/TemplatesOverlays.js 134.67 KB (entry point)
|
|
156
|
+
components/templates/TemplatesPreviewModal.js 7.76 KB (entry point)
|
|
157
|
+
components/templates/template-filters.js 4.39 KB (entry point)
|
|
158
|
+
components/templates/TemplateCommandDialog.js 4.31 KB (entry point)
|
|
159
|
+
components/templates/TemplatePreviewContent.js 5.52 KB (entry point)
|
|
160
|
+
components/templates/TemplatesBrowseControls.js 6.36 KB (entry point)
|
|
161
|
+
components/templates/TemplatesCatalogSection.js 13.0 KB (entry point)
|
|
162
|
+
components/templates/template-catalog.js 3.53 KB (entry point)
|
|
163
|
+
components/templates/template-new.js 0.74 KB (entry point)
|
|
164
|
+
components/templates/template-preview.js 1.41 KB (entry point)
|
|
165
|
+
components/templates/TemplateCard.js 3.24 KB (entry point)
|
|
166
|
+
components/templates/TemplatesHeroSection.js 3.69 KB (entry point)
|
|
167
|
+
components/templates/TemplatesNextStepsSection.js 6.22 KB (entry point)
|
|
124
168
|
components/marketing/sections/FearsSection.js 3.68 KB (entry point)
|
|
125
169
|
components/marketing/sections/HeroMarketingSection.js 3.97 KB (entry point)
|
|
126
170
|
components/marketing/sections/OutputsSection.js 3.58 KB (entry point)
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,68 @@
|
|
|
1
1
|
# @contractspec/bundle.marketing
|
|
2
2
|
|
|
3
|
+
## 3.8.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fix workflow runtime imports for sandboxed workflow execution and keep workflow authoring on safe subpaths.
|
|
8
|
+
- Migration: Keep Node-only workflow runner code out of "use workflow" entrypoints.
|
|
9
|
+
- Deprecations: Importing the broad `@contractspec/lib.contracts-spec/workflow` barrel from sandboxed workflow entrypoints is discouraged.
|
|
10
|
+
- Updated dependencies because of Fix workflow runtime imports for sandboxed workflow execution and keep workflow authoring on safe subpaths.
|
|
11
|
+
- Updated dependencies because of Add versioning-backed release capsules, generated patch notes, and guided upgrade flows.
|
|
12
|
+
- @contractspec/lib.contracts-runtime-client-react@3.8.5
|
|
13
|
+
- @contractspec/example.visualization-showcase@3.9.9
|
|
14
|
+
- @contractspec/example.analytics-dashboard@3.9.9
|
|
15
|
+
- @contractspec/example.data-grid-showcase@3.8.9
|
|
16
|
+
- @contractspec/example.ai-chat-assistant@3.8.9
|
|
17
|
+
- @contractspec/example.saas-boilerplate@3.8.9
|
|
18
|
+
- @contractspec/example.integration-hub@3.8.9
|
|
19
|
+
- @contractspec/example.workflow-system@3.8.9
|
|
20
|
+
- @contractspec/example.agent-console@3.8.9
|
|
21
|
+
- @contractspec/lib.example-shared-ui@6.0.17
|
|
22
|
+
- @contractspec/example.crm-pipeline@3.7.17
|
|
23
|
+
- @contractspec/example.marketplace@3.8.9
|
|
24
|
+
- @contractspec/lib.runtime-sandbox@2.7.14
|
|
25
|
+
- @contractspec/lib.surface-runtime@0.5.17
|
|
26
|
+
- @contractspec/lib.contracts-spec@5.1.0
|
|
27
|
+
- @contractspec/lib.design-system@3.8.10
|
|
28
|
+
- @contractspec/lib.ui-kit-core@3.7.13
|
|
29
|
+
- @contractspec/module.examples@3.8.9
|
|
30
|
+
- @contractspec/bundle.library@3.8.10
|
|
31
|
+
- @contractspec/lib.ui-kit-web@3.9.9
|
|
32
|
+
- @contractspec/lib.ui-link@3.7.13
|
|
33
|
+
- @contractspec/lib.logger@3.7.13
|
|
34
|
+
- @contractspec/lib.email@3.7.13
|
|
35
|
+
|
|
36
|
+
## 3.8.9
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- 2b59171: fix: crypto package issue due to nodejs only runtime
|
|
41
|
+
- Updated dependencies [2b59171]
|
|
42
|
+
- @contractspec/lib.contracts-runtime-client-react@3.8.4
|
|
43
|
+
- @contractspec/example.visualization-showcase@3.9.8
|
|
44
|
+
- @contractspec/example.analytics-dashboard@3.9.8
|
|
45
|
+
- @contractspec/example.data-grid-showcase@3.8.8
|
|
46
|
+
- @contractspec/example.ai-chat-assistant@3.8.8
|
|
47
|
+
- @contractspec/example.saas-boilerplate@3.8.8
|
|
48
|
+
- @contractspec/example.integration-hub@3.8.8
|
|
49
|
+
- @contractspec/example.workflow-system@3.8.8
|
|
50
|
+
- @contractspec/example.agent-console@3.8.8
|
|
51
|
+
- @contractspec/lib.example-shared-ui@6.0.16
|
|
52
|
+
- @contractspec/example.crm-pipeline@3.7.16
|
|
53
|
+
- @contractspec/example.marketplace@3.8.8
|
|
54
|
+
- @contractspec/lib.runtime-sandbox@2.7.13
|
|
55
|
+
- @contractspec/lib.surface-runtime@0.5.16
|
|
56
|
+
- @contractspec/lib.contracts-spec@5.0.4
|
|
57
|
+
- @contractspec/lib.design-system@3.8.9
|
|
58
|
+
- @contractspec/lib.ui-kit-core@3.7.12
|
|
59
|
+
- @contractspec/module.examples@3.8.8
|
|
60
|
+
- @contractspec/bundle.library@3.8.9
|
|
61
|
+
- @contractspec/lib.ui-kit-web@3.9.8
|
|
62
|
+
- @contractspec/lib.ui-link@3.7.12
|
|
63
|
+
- @contractspec/lib.logger@3.7.12
|
|
64
|
+
- @contractspec/lib.email@3.7.12
|
|
65
|
+
|
|
3
66
|
## 3.8.8
|
|
4
67
|
|
|
5
68
|
### Patch Changes
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
+
}) : x)(function(x) {
|
|
4
|
+
if (typeof require !== "undefined")
|
|
5
|
+
return require.apply(this, arguments);
|
|
6
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// src/components/templates/TemplateCard.tsx
|
|
10
|
+
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
11
|
+
"use client";
|
|
12
|
+
function TemplateCard({
|
|
13
|
+
title,
|
|
14
|
+
description,
|
|
15
|
+
metaBadges,
|
|
16
|
+
tags,
|
|
17
|
+
featureList = [],
|
|
18
|
+
isNew = false,
|
|
19
|
+
previewAction,
|
|
20
|
+
useAction
|
|
21
|
+
}) {
|
|
22
|
+
return /* @__PURE__ */ jsxDEV("div", {
|
|
23
|
+
className: "editorial-panel relative flex flex-col space-y-4 transition-colors hover:border-[color:rgb(162_79_42_/_0.55)]",
|
|
24
|
+
children: [
|
|
25
|
+
isNew ? /* @__PURE__ */ jsxDEV("span", {
|
|
26
|
+
className: "absolute top-4 right-4 rounded-full bg-[color:var(--success)] px-2.5 py-1 font-medium text-[11px] text-white uppercase",
|
|
27
|
+
children: "New"
|
|
28
|
+
}, undefined, false, undefined, this) : null,
|
|
29
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ jsxDEV("h3", {
|
|
32
|
+
className: "font-serif text-2xl tracking-[-0.03em]",
|
|
33
|
+
children: title
|
|
34
|
+
}, undefined, false, undefined, this),
|
|
35
|
+
/* @__PURE__ */ jsxDEV("p", {
|
|
36
|
+
className: "mt-1 text-muted-foreground text-sm",
|
|
37
|
+
children: description
|
|
38
|
+
}, undefined, false, undefined, this)
|
|
39
|
+
]
|
|
40
|
+
}, undefined, true, undefined, this),
|
|
41
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
42
|
+
className: "flex-1 space-y-3",
|
|
43
|
+
children: [
|
|
44
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
45
|
+
className: "flex flex-wrap gap-2",
|
|
46
|
+
children: metaBadges.map((badge) => /* @__PURE__ */ jsxDEV("span", {
|
|
47
|
+
className: "rounded-full border border-border bg-background px-3 py-1 text-[11px] text-foreground",
|
|
48
|
+
children: badge
|
|
49
|
+
}, badge, false, undefined, this))
|
|
50
|
+
}, undefined, false, undefined, this),
|
|
51
|
+
featureList.length > 0 ? /* @__PURE__ */ jsxDEV("p", {
|
|
52
|
+
className: "text-muted-foreground text-xs",
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ jsxDEV("span", {
|
|
55
|
+
className: "font-medium text-foreground",
|
|
56
|
+
children: "Features:"
|
|
57
|
+
}, undefined, false, undefined, this),
|
|
58
|
+
" ",
|
|
59
|
+
featureList.join(", ")
|
|
60
|
+
]
|
|
61
|
+
}, undefined, true, undefined, this) : null,
|
|
62
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
63
|
+
className: "flex flex-wrap gap-1",
|
|
64
|
+
children: tags.map((tag) => /* @__PURE__ */ jsxDEV("span", {
|
|
65
|
+
className: "rounded-full border border-border bg-muted px-3 py-1 text-[11px] text-muted-foreground",
|
|
66
|
+
children: tag
|
|
67
|
+
}, tag, false, undefined, this))
|
|
68
|
+
}, undefined, false, undefined, this)
|
|
69
|
+
]
|
|
70
|
+
}, undefined, true, undefined, this),
|
|
71
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
72
|
+
className: "flex gap-2 pt-4",
|
|
73
|
+
children: [
|
|
74
|
+
previewAction,
|
|
75
|
+
useAction
|
|
76
|
+
]
|
|
77
|
+
}, undefined, true, undefined, this)
|
|
78
|
+
]
|
|
79
|
+
}, undefined, true, undefined, this);
|
|
80
|
+
}
|
|
81
|
+
export {
|
|
82
|
+
TemplateCard
|
|
83
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
+
}) : x)(function(x) {
|
|
4
|
+
if (typeof require !== "undefined")
|
|
5
|
+
return require.apply(this, arguments);
|
|
6
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// src/components/templates/TemplateCommandDialog.tsx
|
|
10
|
+
import {
|
|
11
|
+
analyticsEventNames,
|
|
12
|
+
captureAnalyticsEvent
|
|
13
|
+
} from "@contractspec/bundle.library/libs/posthog/client";
|
|
14
|
+
import {
|
|
15
|
+
Dialog,
|
|
16
|
+
DialogContent,
|
|
17
|
+
DialogDescription,
|
|
18
|
+
DialogHeader,
|
|
19
|
+
DialogTitle
|
|
20
|
+
} from "@contractspec/lib.ui-kit-web/ui/dialog";
|
|
21
|
+
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
22
|
+
"use client";
|
|
23
|
+
function TemplateCommandDialog({
|
|
24
|
+
templateId,
|
|
25
|
+
onClose,
|
|
26
|
+
onDeployStudio
|
|
27
|
+
}) {
|
|
28
|
+
const command = templateId ? `npx contractspec init --template ${templateId}` : "";
|
|
29
|
+
return /* @__PURE__ */ jsxDEV(Dialog, {
|
|
30
|
+
open: !!templateId,
|
|
31
|
+
onOpenChange: (open) => !open && onClose(),
|
|
32
|
+
children: /* @__PURE__ */ jsxDEV(DialogContent, {
|
|
33
|
+
className: "max-w-md",
|
|
34
|
+
children: [
|
|
35
|
+
/* @__PURE__ */ jsxDEV(DialogHeader, {
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ jsxDEV(DialogTitle, {
|
|
38
|
+
children: "Use this template"
|
|
39
|
+
}, undefined, false, undefined, this),
|
|
40
|
+
/* @__PURE__ */ jsxDEV(DialogDescription, {
|
|
41
|
+
children: "Initialize a new project with this template using the CLI."
|
|
42
|
+
}, undefined, false, undefined, this)
|
|
43
|
+
]
|
|
44
|
+
}, undefined, true, undefined, this),
|
|
45
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
46
|
+
className: "space-y-4 pt-4",
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
49
|
+
className: "rounded-md border border-zinc-800 bg-zinc-950 p-4 font-mono text-sm text-zinc-50",
|
|
50
|
+
children: command
|
|
51
|
+
}, undefined, false, undefined, this),
|
|
52
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
53
|
+
className: "flex gap-2",
|
|
54
|
+
children: /* @__PURE__ */ jsxDEV("button", {
|
|
55
|
+
className: "btn-secondary w-full",
|
|
56
|
+
onClick: () => {
|
|
57
|
+
if (!templateId) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
navigator.clipboard.writeText(command);
|
|
61
|
+
captureAnalyticsEvent(analyticsEventNames.COPY_COMMAND_CLICK, {
|
|
62
|
+
surface: "templates",
|
|
63
|
+
templateId,
|
|
64
|
+
filename: "templates-cli"
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
children: "Copy Command"
|
|
68
|
+
}, undefined, false, undefined, this)
|
|
69
|
+
}, undefined, false, undefined, this),
|
|
70
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
71
|
+
className: "relative",
|
|
72
|
+
children: [
|
|
73
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
74
|
+
className: "absolute inset-0 flex items-center",
|
|
75
|
+
children: /* @__PURE__ */ jsxDEV("span", {
|
|
76
|
+
className: "w-full border-border border-t"
|
|
77
|
+
}, undefined, false, undefined, this)
|
|
78
|
+
}, undefined, false, undefined, this),
|
|
79
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
80
|
+
className: "relative flex justify-center text-xs uppercase",
|
|
81
|
+
children: /* @__PURE__ */ jsxDEV("span", {
|
|
82
|
+
className: "bg-background px-2 text-muted-foreground",
|
|
83
|
+
children: "Or"
|
|
84
|
+
}, undefined, false, undefined, this)
|
|
85
|
+
}, undefined, false, undefined, this)
|
|
86
|
+
]
|
|
87
|
+
}, undefined, true, undefined, this),
|
|
88
|
+
/* @__PURE__ */ jsxDEV("button", {
|
|
89
|
+
className: "btn-ghost w-full text-sm",
|
|
90
|
+
onClick: () => {
|
|
91
|
+
if (!templateId) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
captureAnalyticsEvent(analyticsEventNames.CTA_STUDIO_CLICK, {
|
|
95
|
+
surface: "templates",
|
|
96
|
+
templateId
|
|
97
|
+
});
|
|
98
|
+
onDeployStudio();
|
|
99
|
+
},
|
|
100
|
+
children: "Deploy to Studio"
|
|
101
|
+
}, undefined, false, undefined, this)
|
|
102
|
+
]
|
|
103
|
+
}, undefined, true, undefined, this)
|
|
104
|
+
]
|
|
105
|
+
}, undefined, true, undefined, this)
|
|
106
|
+
}, undefined, false, undefined, this);
|
|
107
|
+
}
|
|
108
|
+
export {
|
|
109
|
+
TemplateCommandDialog
|
|
110
|
+
};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
+
}) : x)(function(x) {
|
|
4
|
+
if (typeof require !== "undefined")
|
|
5
|
+
return require.apply(this, arguments);
|
|
6
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// src/components/templates/TemplatePreviewContent.tsx
|
|
10
|
+
import {
|
|
11
|
+
TemplateShell
|
|
12
|
+
} from "@contractspec/lib.example-shared-ui";
|
|
13
|
+
import { LoadingSpinner } from "@contractspec/lib.ui-kit-web/ui/atoms/LoadingSpinner";
|
|
14
|
+
import dynamic from "next/dynamic";
|
|
15
|
+
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
16
|
+
"use client";
|
|
17
|
+
var SaasDashboard = dynamic(() => import("@contractspec/example.saas-boilerplate").then((module) => module.SaasDashboard), { ssr: false, loading: () => /* @__PURE__ */ jsxDEV(LoadingSpinner, {}, undefined, false, undefined, this) });
|
|
18
|
+
var CrmDashboard = dynamic(() => import("@contractspec/example.crm-pipeline").then((module) => module.CrmDashboard), { ssr: false, loading: () => /* @__PURE__ */ jsxDEV(LoadingSpinner, {}, undefined, false, undefined, this) });
|
|
19
|
+
var DataGridShowcase = dynamic(() => import("@contractspec/example.data-grid-showcase/ui").then((module) => module.DataGridShowcase), { ssr: false, loading: () => /* @__PURE__ */ jsxDEV(LoadingSpinner, {}, undefined, false, undefined, this) });
|
|
20
|
+
var VisualizationShowcase = dynamic(() => import("@contractspec/example.visualization-showcase/ui").then((module) => module.VisualizationShowcase), { ssr: false, loading: () => /* @__PURE__ */ jsxDEV(LoadingSpinner, {}, undefined, false, undefined, this) });
|
|
21
|
+
var AgentDashboard = dynamic(() => import("@contractspec/example.agent-console/ui").then((module) => module.AgentDashboard), { ssr: false, loading: () => /* @__PURE__ */ jsxDEV(LoadingSpinner, {}, undefined, false, undefined, this) });
|
|
22
|
+
var AiChatAssistantDashboard = dynamic(() => import("@contractspec/example.ai-chat-assistant").then((module) => module.AiChatAssistantDashboard), { ssr: false, loading: () => /* @__PURE__ */ jsxDEV(LoadingSpinner, {}, undefined, false, undefined, this) });
|
|
23
|
+
var WorkflowDashboard = dynamic(() => import("@contractspec/example.workflow-system/ui").then((module) => module.WorkflowDashboard), { ssr: false, loading: () => /* @__PURE__ */ jsxDEV(LoadingSpinner, {}, undefined, false, undefined, this) });
|
|
24
|
+
var MarketplaceDashboard = dynamic(() => import("@contractspec/example.marketplace/ui").then((module) => module.MarketplaceDashboard), { ssr: false, loading: () => /* @__PURE__ */ jsxDEV(LoadingSpinner, {}, undefined, false, undefined, this) });
|
|
25
|
+
var IntegrationDashboard = dynamic(() => import("@contractspec/example.integration-hub/ui").then((module) => module.IntegrationDashboard), { ssr: false, loading: () => /* @__PURE__ */ jsxDEV(LoadingSpinner, {}, undefined, false, undefined, this) });
|
|
26
|
+
var AnalyticsDashboard = dynamic(() => import("@contractspec/example.analytics-dashboard").then((module) => module.AnalyticsDashboard), { ssr: false, loading: () => /* @__PURE__ */ jsxDEV(LoadingSpinner, {}, undefined, false, undefined, this) });
|
|
27
|
+
var PREVIEW_DEFINITIONS = {
|
|
28
|
+
"saas-boilerplate": {
|
|
29
|
+
title: "SaaS Boilerplate",
|
|
30
|
+
description: "Multi-tenant organizations, projects, settings, and billing usage tracking.",
|
|
31
|
+
component: SaasDashboard
|
|
32
|
+
},
|
|
33
|
+
"crm-pipeline": {
|
|
34
|
+
title: "CRM Pipeline",
|
|
35
|
+
description: "Sales CRM with contacts, companies, deals, and pipeline stages.",
|
|
36
|
+
component: CrmDashboard
|
|
37
|
+
},
|
|
38
|
+
"data-grid-showcase": {
|
|
39
|
+
title: "Data Grid Showcase",
|
|
40
|
+
description: "Shared ContractSpec table primitives with client, server, and DataView-driven lanes.",
|
|
41
|
+
component: DataGridShowcase
|
|
42
|
+
},
|
|
43
|
+
"visualization-showcase": {
|
|
44
|
+
title: "Visualization Showcase",
|
|
45
|
+
description: "ContractSpec-owned chart primitives rendered through shared visualization contracts and design-system wrappers.",
|
|
46
|
+
component: VisualizationShowcase
|
|
47
|
+
},
|
|
48
|
+
"agent-console": {
|
|
49
|
+
title: "AI Agent Console",
|
|
50
|
+
description: "AI agent orchestration with tools, agents, runs, and execution logs.",
|
|
51
|
+
component: AgentDashboard
|
|
52
|
+
},
|
|
53
|
+
"ai-chat-assistant": {
|
|
54
|
+
title: "AI Chat Assistant",
|
|
55
|
+
description: "Focused assistant surface with reasoning, sources, suggestions, and MCP-aware tools.",
|
|
56
|
+
component: AiChatAssistantDashboard
|
|
57
|
+
},
|
|
58
|
+
"workflow-system": {
|
|
59
|
+
title: "Workflow System",
|
|
60
|
+
description: "Multi-step workflows with role-based approvals.",
|
|
61
|
+
component: WorkflowDashboard
|
|
62
|
+
},
|
|
63
|
+
marketplace: {
|
|
64
|
+
title: "Marketplace",
|
|
65
|
+
description: "Two-sided marketplace with stores, products, orders, and payouts.",
|
|
66
|
+
component: MarketplaceDashboard
|
|
67
|
+
},
|
|
68
|
+
"integration-hub": {
|
|
69
|
+
title: "Integration Hub",
|
|
70
|
+
description: "Third-party integrations with connections, sync configs, and field mapping.",
|
|
71
|
+
component: IntegrationDashboard
|
|
72
|
+
},
|
|
73
|
+
"analytics-dashboard": {
|
|
74
|
+
title: "Analytics Dashboard",
|
|
75
|
+
description: "Custom dashboards with widgets and queries.",
|
|
76
|
+
component: AnalyticsDashboard
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
function TemplatePreviewContent({
|
|
80
|
+
templateId
|
|
81
|
+
}) {
|
|
82
|
+
const preview = PREVIEW_DEFINITIONS[templateId];
|
|
83
|
+
if (!preview) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
const PreviewComponent = preview.component;
|
|
87
|
+
return /* @__PURE__ */ jsxDEV(TemplateShell, {
|
|
88
|
+
title: preview.title,
|
|
89
|
+
description: preview.description,
|
|
90
|
+
showSaveAction: false,
|
|
91
|
+
children: /* @__PURE__ */ jsxDEV(PreviewComponent, {}, undefined, false, undefined, this)
|
|
92
|
+
}, undefined, false, undefined, this);
|
|
93
|
+
}
|
|
94
|
+
export {
|
|
95
|
+
TemplatePreviewContent
|
|
96
|
+
};
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
+
}) : x)(function(x) {
|
|
4
|
+
if (typeof require !== "undefined")
|
|
5
|
+
return require.apply(this, arguments);
|
|
6
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// src/components/templates/TemplatesBrowseControls.tsx
|
|
10
|
+
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
11
|
+
import { Search } from "lucide-react";
|
|
12
|
+
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
13
|
+
"use client";
|
|
14
|
+
function TemplatesBrowseControls({
|
|
15
|
+
registryConfigured,
|
|
16
|
+
availableSources,
|
|
17
|
+
source,
|
|
18
|
+
onSourceChange,
|
|
19
|
+
search,
|
|
20
|
+
onSearchChange,
|
|
21
|
+
selectedTag,
|
|
22
|
+
onTagChange,
|
|
23
|
+
showTagFilters,
|
|
24
|
+
visibleTagFacets,
|
|
25
|
+
hiddenTagFacets,
|
|
26
|
+
showAllTags,
|
|
27
|
+
onShowAllTagsChange
|
|
28
|
+
}) {
|
|
29
|
+
return /* @__PURE__ */ jsxDEV("section", {
|
|
30
|
+
className: "editorial-section",
|
|
31
|
+
children: /* @__PURE__ */ jsxDEV("div", {
|
|
32
|
+
className: "editorial-shell space-y-6",
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
35
|
+
className: "flex flex-col gap-6 lg:flex-row lg:items-end lg:justify-between",
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
38
|
+
className: "max-w-3xl space-y-3",
|
|
39
|
+
children: [
|
|
40
|
+
/* @__PURE__ */ jsxDEV("p", {
|
|
41
|
+
className: "editorial-kicker",
|
|
42
|
+
children: "Browse by source"
|
|
43
|
+
}, undefined, false, undefined, this),
|
|
44
|
+
/* @__PURE__ */ jsxDEV("h2", {
|
|
45
|
+
className: "font-serif text-4xl tracking-[-0.04em]",
|
|
46
|
+
children: "Use local scenarios for core proof, then scan the community."
|
|
47
|
+
}, undefined, false, undefined, this),
|
|
48
|
+
/* @__PURE__ */ jsxDEV("p", {
|
|
49
|
+
className: "text-muted-foreground text-sm leading-7",
|
|
50
|
+
children: registryConfigured ? "Local templates show the official adoption path. Community templates show where the ecosystem is pushing the system next." : "Local templates show the official adoption path. Community browsing appears automatically when a registry URL is configured."
|
|
51
|
+
}, undefined, false, undefined, this)
|
|
52
|
+
]
|
|
53
|
+
}, undefined, true, undefined, this),
|
|
54
|
+
registryConfigured ? /* @__PURE__ */ jsxDEV("div", {
|
|
55
|
+
className: "flex gap-2",
|
|
56
|
+
children: availableSources.map((option) => /* @__PURE__ */ jsxDEV("button", {
|
|
57
|
+
onClick: () => onSourceChange(option),
|
|
58
|
+
className: cn("rounded-full px-4 py-2 font-medium text-sm transition-colors", {
|
|
59
|
+
"bg-primary text-primary-foreground": source === option,
|
|
60
|
+
"border border-border bg-card hover:bg-card/80": source !== option
|
|
61
|
+
}),
|
|
62
|
+
"aria-pressed": source === option,
|
|
63
|
+
children: option === "local" ? "Local" : "Community"
|
|
64
|
+
}, option, false, undefined, this))
|
|
65
|
+
}, undefined, false, undefined, this) : null
|
|
66
|
+
]
|
|
67
|
+
}, undefined, true, undefined, this),
|
|
68
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
69
|
+
className: "editorial-panel space-y-5",
|
|
70
|
+
children: [
|
|
71
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
72
|
+
className: "relative",
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ jsxDEV(Search, {
|
|
75
|
+
className: "absolute top-3.5 left-4 text-muted-foreground",
|
|
76
|
+
size: 18
|
|
77
|
+
}, undefined, false, undefined, this),
|
|
78
|
+
/* @__PURE__ */ jsxDEV("input", {
|
|
79
|
+
type: "text",
|
|
80
|
+
placeholder: "Search scenarios, industries, or tags",
|
|
81
|
+
value: search,
|
|
82
|
+
onChange: (event) => onSearchChange(event.target.value),
|
|
83
|
+
className: "w-full rounded-full border border-border bg-background px-12 py-3 text-sm focus:outline-none focus:ring-2 focus:ring-ring",
|
|
84
|
+
"aria-label": "Search templates"
|
|
85
|
+
}, undefined, false, undefined, this)
|
|
86
|
+
]
|
|
87
|
+
}, undefined, true, undefined, this),
|
|
88
|
+
showTagFilters ? /* @__PURE__ */ jsxDEV("div", {
|
|
89
|
+
className: "space-y-3",
|
|
90
|
+
children: [
|
|
91
|
+
/* @__PURE__ */ jsxDEV("div", {
|
|
92
|
+
className: "flex flex-wrap gap-2",
|
|
93
|
+
children: [
|
|
94
|
+
/* @__PURE__ */ jsxDEV("button", {
|
|
95
|
+
onClick: () => onTagChange(null),
|
|
96
|
+
className: cn("rounded-full px-4 py-2 font-medium text-sm transition-colors", {
|
|
97
|
+
"bg-primary text-primary-foreground": selectedTag === null,
|
|
98
|
+
"border border-border bg-card hover:bg-card/80": selectedTag !== null
|
|
99
|
+
}),
|
|
100
|
+
"aria-pressed": selectedTag === null,
|
|
101
|
+
children: "All"
|
|
102
|
+
}, undefined, false, undefined, this),
|
|
103
|
+
visibleTagFacets.map((facet) => /* @__PURE__ */ jsxDEV("button", {
|
|
104
|
+
onClick: () => onTagChange(facet.tag),
|
|
105
|
+
className: cn("rounded-full px-4 py-2 font-medium text-sm transition-colors", {
|
|
106
|
+
"bg-primary text-primary-foreground": selectedTag === facet.tag,
|
|
107
|
+
"border border-border bg-card hover:bg-card/80": selectedTag !== facet.tag
|
|
108
|
+
}),
|
|
109
|
+
"aria-pressed": selectedTag === facet.tag,
|
|
110
|
+
children: facet.tag
|
|
111
|
+
}, facet.tag, false, undefined, this))
|
|
112
|
+
]
|
|
113
|
+
}, undefined, true, undefined, this),
|
|
114
|
+
hiddenTagFacets.length > 0 || showAllTags ? /* @__PURE__ */ jsxDEV("button", {
|
|
115
|
+
type: "button",
|
|
116
|
+
onClick: () => onShowAllTagsChange(!showAllTags),
|
|
117
|
+
className: "text-muted-foreground text-sm transition-colors hover:text-foreground",
|
|
118
|
+
children: showAllTags ? "Show fewer" : "More tags"
|
|
119
|
+
}, undefined, false, undefined, this) : null
|
|
120
|
+
]
|
|
121
|
+
}, undefined, true, undefined, this) : null
|
|
122
|
+
]
|
|
123
|
+
}, undefined, true, undefined, this)
|
|
124
|
+
]
|
|
125
|
+
}, undefined, true, undefined, this)
|
|
126
|
+
}, undefined, false, undefined, this);
|
|
127
|
+
}
|
|
128
|
+
export {
|
|
129
|
+
TemplatesBrowseControls
|
|
130
|
+
};
|