@finsweet/webflow-apps-utils 1.0.2 → 1.0.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 (293) hide show
  1. package/README.md +162 -1
  2. package/dist/index.d.ts +2 -1
  3. package/dist/index.js +2 -1
  4. package/dist/providers/GlobalProvider.mdx +322 -0
  5. package/dist/providers/GlobalProvider.svelte +58 -0
  6. package/dist/providers/GlobalProvider.svelte.d.ts +4 -0
  7. package/dist/providers/configuratorUtils.d.ts +37 -0
  8. package/dist/providers/configuratorUtils.js +219 -0
  9. package/dist/providers/globalContext.svelte.d.ts +18 -0
  10. package/dist/providers/globalContext.svelte.js +439 -0
  11. package/dist/providers/index.d.ts +5 -0
  12. package/dist/providers/index.js +7 -0
  13. package/dist/providers/types.d.ts +103 -0
  14. package/dist/providers/types.js +6 -0
  15. package/dist/router/Router.mdx +958 -0
  16. package/dist/router/Router.stories.d.ts +6 -0
  17. package/dist/router/Router.stories.js +47 -0
  18. package/dist/router/examples/RouterExample.svelte +271 -0
  19. package/dist/{ui/components/NoSettingsNeeded.svelte.d.ts → router/examples/RouterExample.svelte.d.ts} +3 -3
  20. package/dist/router/examples/index.d.ts +4 -0
  21. package/dist/router/examples/index.js +4 -0
  22. package/dist/router/examples/pages/AboutPage.svelte +568 -0
  23. package/dist/router/examples/pages/AboutPage.svelte.d.ts +13 -0
  24. package/dist/router/examples/pages/HomePage.svelte +200 -0
  25. package/dist/router/examples/pages/HomePage.svelte.d.ts +14 -0
  26. package/dist/router/examples/pages/NotFoundPage.svelte +307 -0
  27. package/dist/router/examples/pages/NotFoundPage.svelte.d.ts +17 -0
  28. package/dist/router/hooks.svelte.d.ts +2 -2
  29. package/dist/router/index.d.ts +3 -0
  30. package/dist/router/index.js +3 -0
  31. package/dist/router/{Link.svelte → providers/Link.svelte} +1 -1
  32. package/dist/router/{Route.svelte → providers/Route.svelte} +1 -1
  33. package/dist/router/{Route.svelte.d.ts → providers/Route.svelte.d.ts} +1 -1
  34. package/dist/router/{Router.svelte → providers/RouterProvider.svelte} +22 -5
  35. package/dist/router/{Router.svelte.d.ts → providers/RouterProvider.svelte.d.ts} +8 -4
  36. package/dist/router/providers/index.d.ts +3 -0
  37. package/dist/router/providers/index.js +3 -0
  38. package/dist/router/{index.svelte.d.ts → router.svelte.d.ts} +1 -3
  39. package/dist/router/{index.svelte.js → router.svelte.js} +1 -4
  40. package/dist/stores/docs/Form.mdx +542 -0
  41. package/dist/stores/forms.d.ts +41 -4
  42. package/dist/stores/forms.js +86 -32
  43. package/dist/stores/index.d.ts +0 -1
  44. package/dist/stores/index.js +0 -1
  45. package/dist/types/customCode.d.ts +1 -1
  46. package/dist/types/webflow.d.ts +31 -47
  47. package/dist/types/window.d.ts +1 -0
  48. package/dist/ui/components/LoadingScreen.svelte +2 -1
  49. package/dist/ui/components/button/Button.svelte +1 -1
  50. package/dist/ui/components/button-group/ButtonGroup.stories.js +112 -0
  51. package/dist/ui/components/{ButtonGroup.svelte → button-group/ButtonGroup.svelte} +20 -33
  52. package/dist/ui/components/button-group/ButtonGroup.svelte.d.ts +13 -0
  53. package/dist/ui/components/button-group/index.d.ts +2 -0
  54. package/dist/ui/components/button-group/index.js +1 -0
  55. package/dist/ui/components/button-group/types.d.ts +32 -0
  56. package/dist/ui/components/checkbox/Checkbox.stories.d.ts +55 -0
  57. package/dist/ui/components/checkbox/Checkbox.stories.js +162 -0
  58. package/dist/ui/components/checkbox/Checkbox.svelte +141 -0
  59. package/dist/ui/components/checkbox/Checkbox.svelte.d.ts +4 -0
  60. package/dist/ui/components/checkbox/index.d.ts +2 -0
  61. package/dist/ui/components/checkbox/index.js +1 -0
  62. package/dist/ui/components/checkbox/types.d.ts +32 -0
  63. package/dist/ui/components/controlled-buttons/ControlledButtons.stories.d.ts +32 -0
  64. package/dist/ui/components/controlled-buttons/ControlledButtons.stories.js +152 -0
  65. package/dist/ui/components/{buttons/FooterButton.svelte → controlled-buttons/ControlledButtons.svelte} +18 -67
  66. package/dist/ui/components/controlled-buttons/ControlledButtons.svelte.d.ts +4 -0
  67. package/dist/ui/components/controlled-buttons/index.d.ts +2 -0
  68. package/dist/ui/components/controlled-buttons/index.js +1 -0
  69. package/dist/ui/components/{buttons → controlled-buttons}/types.d.ts +11 -4
  70. package/dist/ui/components/copy-text/CopyText.stories.d.ts +70 -0
  71. package/dist/ui/components/copy-text/CopyText.stories.js +241 -0
  72. package/dist/ui/components/copy-text/CopyText.svelte +249 -0
  73. package/dist/ui/components/copy-text/CopyText.svelte.d.ts +4 -0
  74. package/dist/ui/components/copy-text/index.d.ts +2 -0
  75. package/dist/ui/components/copy-text/index.js +1 -0
  76. package/dist/ui/components/copy-text/types.d.ts +52 -0
  77. package/dist/ui/components/copy-text/types.js +1 -0
  78. package/dist/ui/components/divider/Divider.stories.svelte +134 -0
  79. package/dist/ui/components/{clickable/Clickable.stories.svelte.d.ts → divider/Divider.stories.svelte.d.ts} +4 -4
  80. package/dist/ui/components/divider/Divider.svelte +30 -0
  81. package/dist/ui/components/divider/Divider.svelte.d.ts +4 -0
  82. package/dist/ui/components/divider/index.d.ts +2 -0
  83. package/dist/ui/components/divider/index.js +1 -0
  84. package/dist/ui/components/divider/types.d.ts +23 -0
  85. package/dist/ui/components/divider/types.js +1 -0
  86. package/dist/ui/components/iframe/Iframe.stories.svelte +122 -0
  87. package/dist/ui/components/{ToggleItem.svelte.d.ts → iframe/Iframe.stories.svelte.d.ts} +7 -8
  88. package/dist/ui/components/iframe/Iframe.svelte +75 -0
  89. package/dist/ui/components/iframe/Iframe.svelte.d.ts +4 -0
  90. package/dist/ui/components/iframe/index.d.ts +2 -0
  91. package/dist/ui/components/iframe/index.js +1 -0
  92. package/dist/ui/components/iframe/types.d.ts +38 -0
  93. package/dist/ui/components/iframe/types.js +1 -0
  94. package/dist/ui/components/index.d.ts +13 -39
  95. package/dist/ui/components/index.js +13 -39
  96. package/dist/ui/components/input/Input.stories.d.ts +33 -0
  97. package/dist/ui/components/input/Input.stories.js +176 -0
  98. package/dist/ui/components/input/Input.svelte +358 -81
  99. package/dist/ui/components/input/types.d.ts +33 -1
  100. package/dist/ui/components/layout/Layout.stories.svelte +3 -3
  101. package/dist/ui/components/layout/Layout.svelte +10 -64
  102. package/dist/ui/components/layout/Layout.svelte.d.ts +2 -2
  103. package/dist/ui/components/layout/common/EditModeMessage.svelte +24 -12
  104. package/dist/ui/components/layout/{ExampleLayout.svelte → examples/ExampleLayout.svelte} +56 -39
  105. package/dist/ui/components/layout/examples/Wrapper.svelte +9 -0
  106. package/dist/ui/components/{Header.svelte.d.ts → layout/examples/Wrapper.svelte.d.ts} +4 -6
  107. package/dist/ui/components/layout/examples/index.d.ts +2 -0
  108. package/dist/ui/components/layout/examples/index.js +2 -0
  109. package/dist/ui/components/layout/index.d.ts +3 -2
  110. package/dist/ui/components/layout/index.js +2 -1
  111. package/dist/ui/components/layout/test-helpers/TestLayoutWithFooter.svelte +20 -0
  112. package/dist/ui/components/layout/test-helpers/TestLayoutWithFooter.svelte.d.ts +7 -0
  113. package/dist/ui/components/layout/types.d.ts +1 -10
  114. package/dist/ui/components/modal/Example.svelte +320 -0
  115. package/dist/ui/components/modal/Example.svelte.d.ts +3 -0
  116. package/dist/ui/components/modal/Modal.stories.svelte +18 -0
  117. package/dist/ui/components/modal/Modal.stories.svelte.d.ts +26 -0
  118. package/dist/ui/components/modal/Modal.svelte +490 -0
  119. package/dist/ui/components/modal/Modal.svelte.d.ts +130 -0
  120. package/dist/ui/components/modal/index.d.ts +2 -0
  121. package/dist/ui/components/modal/index.js +1 -0
  122. package/dist/ui/components/modal/types.d.ts +75 -0
  123. package/dist/ui/components/modal/types.js +1 -0
  124. package/dist/ui/components/notification/Notification.stories.svelte +239 -0
  125. package/dist/ui/components/{ToggleList.svelte.d.ts → notification/Notification.stories.svelte.d.ts} +9 -21
  126. package/dist/ui/components/notification/Notification.svelte +294 -0
  127. package/dist/ui/components/notification/Notification.svelte.d.ts +67 -0
  128. package/dist/ui/components/notification/index.d.ts +2 -0
  129. package/dist/ui/components/notification/index.js +1 -0
  130. package/dist/ui/components/notification/types.d.ts +68 -0
  131. package/dist/ui/components/notification/types.js +1 -0
  132. package/dist/ui/components/section/Section.stories.svelte +263 -0
  133. package/dist/ui/components/section/Section.stories.svelte.d.ts +27 -0
  134. package/dist/ui/components/section/Section.svelte +326 -0
  135. package/dist/ui/components/section/Section.svelte.d.ts +5 -0
  136. package/dist/ui/components/section/index.d.ts +2 -0
  137. package/dist/ui/components/section/index.js +1 -0
  138. package/dist/ui/components/section/types.d.ts +114 -0
  139. package/dist/ui/components/section/types.js +1 -0
  140. package/dist/ui/components/{ImageUpload.svelte → shared/ImageUpload.svelte} +3 -3
  141. package/dist/ui/components/{SelectBodyOrDivBlock.svelte → shared/SelectBodyOrDivBlock.svelte} +1 -1
  142. package/dist/ui/components/shared/index.d.ts +2 -0
  143. package/dist/ui/components/shared/index.js +2 -0
  144. package/dist/ui/components/text/Text.stories.svelte +67 -1
  145. package/dist/ui/components/text/Text.svelte +209 -8
  146. package/dist/ui/components/text/types.d.ts +4 -0
  147. package/dist/ui/index.css +33 -5
  148. package/dist/utils/animations/factory.d.ts +7 -0
  149. package/dist/utils/animations/factory.js +101 -0
  150. package/dist/utils/animations/index.d.ts +7 -0
  151. package/dist/utils/animations/index.js +62 -0
  152. package/dist/utils/animations/types.d.ts +39 -0
  153. package/dist/utils/animations/types.js +1 -0
  154. package/dist/utils/api/checkIfAppModeIsDesign.d.ts +1 -2
  155. package/dist/utils/api/checkIfAppModeIsDesign.js +1 -2
  156. package/dist/utils/api/clipboard/handlePaste.d.ts +6 -37
  157. package/dist/utils/api/clipboard/handlePaste.js +2 -6
  158. package/dist/utils/api/getAllAssets.d.ts +1 -2
  159. package/dist/utils/api/getAllAssets.js +1 -2
  160. package/dist/utils/api/getFinsweetComponentsEnvironment.d.ts +1 -2
  161. package/dist/utils/api/getFinsweetComponentsEnvironment.js +3 -6
  162. package/dist/utils/api/index.d.ts +0 -1
  163. package/dist/utils/api/index.js +0 -1
  164. package/dist/utils/api/insertWithXSCP.d.ts +1 -2
  165. package/dist/utils/api/insertWithXSCP.js +1 -2
  166. package/dist/utils/auth/crossWindowLogin.d.ts +3 -0
  167. package/dist/utils/auth/crossWindowLogin.js +3 -0
  168. package/dist/utils/auth/index.d.ts +9 -25
  169. package/dist/utils/auth/index.js +9 -25
  170. package/dist/utils/browser-storage/localStorage.d.ts +4 -12
  171. package/dist/utils/browser-storage/localStorage.js +4 -12
  172. package/dist/utils/browser-storage/sessionStorage.d.ts +4 -12
  173. package/dist/utils/browser-storage/sessionStorage.js +4 -12
  174. package/dist/utils/custom-code/api.d.ts +3 -7
  175. package/dist/utils/custom-code/api.js +3 -7
  176. package/dist/utils/custom-code/configs.d.ts +22 -0
  177. package/dist/utils/custom-code/configs.js +40 -0
  178. package/dist/utils/custom-code/index.d.ts +1 -0
  179. package/dist/utils/custom-code/index.js +1 -0
  180. package/dist/utils/helpers/capitalizeFirstLetter.d.ts +4 -0
  181. package/dist/utils/helpers/capitalizeFirstLetter.js +9 -0
  182. package/dist/utils/helpers/cleanupTooltipMessage.d.ts +1 -2
  183. package/dist/utils/helpers/cleanupTooltipMessage.js +1 -2
  184. package/dist/utils/helpers/getTimeNow.d.ts +4 -0
  185. package/dist/utils/helpers/getTimeNow.js +8 -0
  186. package/dist/utils/helpers/goto.d.ts +1 -4
  187. package/dist/utils/helpers/goto.js +2 -7
  188. package/dist/utils/helpers/index.d.ts +5 -0
  189. package/dist/utils/helpers/index.js +5 -0
  190. package/dist/utils/helpers/minifyCode.d.ts +10 -0
  191. package/dist/utils/helpers/minifyCode.js +73 -0
  192. package/dist/utils/helpers/noop.d.ts +1 -1
  193. package/dist/utils/helpers/noop.js +1 -1
  194. package/dist/utils/helpers/numbers.d.ts +4 -14
  195. package/dist/utils/helpers/numbers.js +4 -14
  196. package/dist/utils/helpers/objectsToModuleExports.d.ts +2 -4
  197. package/dist/utils/helpers/objectsToModuleExports.js +2 -3
  198. package/dist/utils/helpers/toHumanReadableList.d.ts +4 -0
  199. package/dist/utils/helpers/toHumanReadableList.js +11 -0
  200. package/dist/utils/helpers/trimText.d.ts +1 -8
  201. package/dist/utils/helpers/trimText.js +1 -8
  202. package/dist/utils/index.d.ts +5 -0
  203. package/dist/utils/index.js +5 -0
  204. package/dist/utils/logger/index.d.ts +0 -2
  205. package/dist/utils/logger/index.js +0 -2
  206. package/dist/utils/webflow-canvas/attributes/getAllWebflowElementAttributes.d.ts +1 -3
  207. package/dist/utils/webflow-canvas/attributes/getAllWebflowElementAttributes.js +1 -3
  208. package/dist/utils/webflow-canvas/attributes/getInstanceNamesFromObject.d.ts +1 -5
  209. package/dist/utils/webflow-canvas/attributes/getInstanceNamesFromObject.js +1 -5
  210. package/dist/utils/webflow-canvas/attributes/getWebflowElementAttribute.d.ts +1 -4
  211. package/dist/utils/webflow-canvas/attributes/getWebflowElementAttribute.js +1 -4
  212. package/dist/utils/webflow-canvas/attributes/getWebflowElementTextContent.d.ts +1 -3
  213. package/dist/utils/webflow-canvas/attributes/getWebflowElementTextContent.js +1 -3
  214. package/dist/utils/webflow-canvas/attributes/removeWebflowElementAttribute.d.ts +1 -4
  215. package/dist/utils/webflow-canvas/attributes/removeWebflowElementAttribute.js +1 -4
  216. package/dist/utils/webflow-canvas/attributes/setStyles.d.ts +1 -3
  217. package/dist/utils/webflow-canvas/attributes/setStyles.js +1 -3
  218. package/dist/utils/webflow-canvas/attributes/setWebflowElementAttribute.d.ts +1 -8
  219. package/dist/utils/webflow-canvas/attributes/setWebflowElementAttribute.js +1 -13
  220. package/dist/utils/webflow-canvas/findInstanceElement.d.ts +0 -6
  221. package/dist/utils/webflow-canvas/findInstanceElement.js +1 -7
  222. package/dist/utils/webflow-canvas/getAllChildren.d.ts +16 -0
  223. package/dist/utils/webflow-canvas/getAllChildren.js +65 -0
  224. package/dist/utils/webflow-canvas/getAllPages.d.ts +3 -10
  225. package/dist/utils/webflow-canvas/getAllPages.js +3 -10
  226. package/dist/utils/webflow-canvas/getElementClassList.d.ts +9 -0
  227. package/dist/utils/webflow-canvas/getElementClassList.js +19 -0
  228. package/dist/utils/webflow-canvas/getSiteStagingUrl.d.ts +1 -4
  229. package/dist/utils/webflow-canvas/getSiteStagingUrl.js +1 -4
  230. package/dist/utils/webflow-canvas/index.d.ts +3 -0
  231. package/dist/utils/webflow-canvas/index.js +3 -0
  232. package/package.json +14 -2
  233. package/dist/router/README.md +0 -397
  234. package/dist/stores/globalStore.d.ts +0 -10
  235. package/dist/stores/globalStore.js +0 -10
  236. package/dist/ui/components/ButtonGroup.svelte.d.ts +0 -28
  237. package/dist/ui/components/Checkbox.svelte +0 -94
  238. package/dist/ui/components/Checkbox.svelte.d.ts +0 -36
  239. package/dist/ui/components/Copy.svelte +0 -329
  240. package/dist/ui/components/Copy.svelte.d.ts +0 -35
  241. package/dist/ui/components/CustomModal.svelte +0 -192
  242. package/dist/ui/components/CustomModal.svelte.d.ts +0 -45
  243. package/dist/ui/components/DisableInEditMode.svelte +0 -66
  244. package/dist/ui/components/DisableInEditMode.svelte.d.ts +0 -33
  245. package/dist/ui/components/Divider.svelte +0 -31
  246. package/dist/ui/components/Divider.svelte.d.ts +0 -31
  247. package/dist/ui/components/Header.svelte +0 -30
  248. package/dist/ui/components/Iframe.svelte +0 -89
  249. package/dist/ui/components/Iframe.svelte.d.ts +0 -40
  250. package/dist/ui/components/InjectComponent.svelte +0 -297
  251. package/dist/ui/components/InjectComponent.svelte.d.ts +0 -27
  252. package/dist/ui/components/Modal.svelte +0 -139
  253. package/dist/ui/components/Modal.svelte.d.ts +0 -42
  254. package/dist/ui/components/Navbar.svelte +0 -132
  255. package/dist/ui/components/Navbar.svelte.d.ts +0 -29
  256. package/dist/ui/components/NoSettingsNeeded.svelte +0 -31
  257. package/dist/ui/components/Notification.svelte +0 -193
  258. package/dist/ui/components/Notification.svelte.d.ts +0 -64
  259. package/dist/ui/components/PlusMinusButton.svelte +0 -91
  260. package/dist/ui/components/PlusMinusButton.svelte.d.ts +0 -22
  261. package/dist/ui/components/PreviewBar.svelte +0 -40
  262. package/dist/ui/components/PreviewBar.svelte.d.ts +0 -20
  263. package/dist/ui/components/ScrollableContent.svelte +0 -18
  264. package/dist/ui/components/ScrollableContent.svelte.d.ts +0 -31
  265. package/dist/ui/components/Section.svelte +0 -97
  266. package/dist/ui/components/Section.svelte.d.ts +0 -50
  267. package/dist/ui/components/Spacer.svelte +0 -9
  268. package/dist/ui/components/Spacer.svelte.d.ts +0 -22
  269. package/dist/ui/components/SpinnerPlusMinus.svelte +0 -75
  270. package/dist/ui/components/SpinnerPlusMinus.svelte.d.ts +0 -23
  271. package/dist/ui/components/SpinnerUpDown.svelte +0 -194
  272. package/dist/ui/components/SpinnerUpDown.svelte.d.ts +0 -31
  273. package/dist/ui/components/Tabs.svelte +0 -71
  274. package/dist/ui/components/Tabs.svelte.d.ts +0 -26
  275. package/dist/ui/components/ToggleItem.svelte +0 -29
  276. package/dist/ui/components/ToggleList.svelte +0 -57
  277. package/dist/ui/components/buttons/FooterButton.svelte.d.ts +0 -10
  278. package/dist/ui/components/buttons/index.d.ts +0 -5
  279. package/dist/ui/components/buttons/index.js +0 -5
  280. package/dist/ui/components/clickable/Clickable.stories.svelte +0 -213
  281. package/dist/ui/components/clickable/Clickable.svelte +0 -93
  282. package/dist/ui/components/clickable/Clickable.svelte.d.ts +0 -4
  283. package/dist/ui/components/clickable/index.d.ts +0 -2
  284. package/dist/ui/components/clickable/index.js +0 -1
  285. package/dist/ui/components/clickable/types.d.ts +0 -17
  286. package/dist/utils/api/copyPaste/index.d.ts +0 -18
  287. /package/dist/router/{Link.svelte.d.ts → providers/Link.svelte.d.ts} +0 -0
  288. /package/dist/ui/components/{buttons → button-group}/types.js +0 -0
  289. /package/dist/ui/components/{clickable → checkbox}/types.js +0 -0
  290. /package/dist/{utils/api/copyPaste/index.js → ui/components/controlled-buttons/types.js} +0 -0
  291. /package/dist/ui/components/layout/{ExampleLayout.svelte.d.ts → examples/ExampleLayout.svelte.d.ts} +0 -0
  292. /package/dist/ui/components/{ImageUpload.svelte.d.ts → shared/ImageUpload.svelte.d.ts} +0 -0
  293. /package/dist/ui/components/{SelectBodyOrDivBlock.svelte.d.ts → shared/SelectBodyOrDivBlock.svelte.d.ts} +0 -0
@@ -1,329 +0,0 @@
1
- <script lang="ts">
2
- import ClipboardJS from 'clipboard';
3
- import { onDestroy } from 'svelte';
4
- import { writable } from 'svelte/store';
5
- import { v4 as uuidv4 } from 'uuid';
6
-
7
- import { trimExtraSpaces } from '../../utils/helpers';
8
-
9
- import {
10
- ArrowIcon,
11
- CheckCircleOutlinedIcon,
12
- CodeIcon,
13
- CopyIcon,
14
- EyeIcon,
15
- WarningCircleOutlineIcon
16
- } from '../icons';
17
-
18
- export let heading;
19
- export let upToDate = false;
20
- export let hidden = false;
21
- export let disabled = false;
22
- export let raw = false;
23
- export let scriptUpdated = false;
24
- export let showHeader = true;
25
- export let comment = '';
26
- export let shortName = '';
27
- export let leftSpacing = '0px';
28
- export let title = 'Click to copy snippet';
29
- export let showLink = false;
30
- let snippetElement: HTMLElement;
31
- let copied = writable<boolean>();
32
- let notified = writable<boolean>(false);
33
-
34
- export let content: string;
35
- const id: string = uuidv4();
36
- let isCooldown: boolean = false;
37
-
38
- /**
39
- * Notify the user with a cooldown
40
- * @param type
41
- * @param message
42
- */
43
- const notifyWithCooldown = (type: 'Success' | 'Error', message: string) => {
44
- if (!isCooldown) {
45
- webflow.notify({ type, message });
46
- notified.set(true);
47
- isCooldown = true;
48
- setTimeout(() => {
49
- isCooldown = false;
50
- }, 1000);
51
- }
52
- };
53
-
54
- let clipboard: ClipboardJS | null = null;
55
-
56
- $: {
57
- clipboard?.destroy();
58
- if (snippetElement && !disabled) {
59
- clipboard = new ClipboardJS(snippetElement, {
60
- text: () => {
61
- if (disabled) {
62
- webflow?.notify({
63
- type: 'Error',
64
- message: 'Select a category before updating the script.'
65
- });
66
- return '';
67
- }
68
-
69
- if (raw) {
70
- if (comment) return `<!-- ${comment} -->\n${content}`;
71
-
72
- return content;
73
- }
74
-
75
- const target = snippetElement?.querySelector<HTMLElement>('#text-content');
76
-
77
- if (target) {
78
- return target.innerText;
79
- }
80
-
81
- webflow?.notify({
82
- type: 'Error',
83
- message: 'Failed to copy. Try again or contact Finsweet support.'
84
- });
85
- return '';
86
- }
87
- });
88
-
89
- clipboard.on('success', (e: ClipboardJS.Event) => {
90
- copied.set(true);
91
- notifyWithCooldown('Success', 'Copied to clipboard!');
92
- e.clearSelection();
93
- });
94
- }
95
- }
96
-
97
- $: if ($notified) {
98
- setTimeout(() => notified.set(false), 2000);
99
- }
100
-
101
- onDestroy(() => {
102
- clipboard?.destroy();
103
- });
104
- </script>
105
-
106
- {#if !hidden}
107
- <div class="scripts scan-result" style={hidden ? 'display:none;' : ''}>
108
- {#if showHeader}
109
- <div class="info">
110
- <div class="header {upToDate ? 'completed' : 'pending'}">
111
- {#if upToDate}
112
- <CheckCircleOutlinedIcon />
113
- {:else}
114
- <WarningCircleOutlineIcon />
115
- {/if}
116
- <div class="text-wrapper">
117
- {#if raw}
118
- <div class="instruction text">{heading}</div>
119
- {:else}
120
- <div class="instruction script">{@html heading}</div>
121
- {/if}
122
- <slot name="content" />
123
- </div>
124
- <!-- <div class="state">
125
- <span class="status {upToDate || $copied ? 'success' : 'pending'}"
126
- >{$copied ? 'Copied' : upToDate ? '' : 'Pending'}</span
127
- >
128
- </div> -->
129
- </div>
130
- </div>
131
- {/if}
132
- <div
133
- class="copy {disabled ? 'disabled' : ''} {scriptUpdated ? 'script-snippet' : ''}"
134
- bind:this={snippetElement}
135
- on:keydown={() => {}}
136
- tabindex="0"
137
- role="button"
138
- aria-label="Copy snippet"
139
- {title}
140
- style="{upToDate ? 'display:none' : ''} margin-left:{leftSpacing};"
141
- >
142
- <div class="content {disabled ? 'disabled' : ''} {id}" data-target="snippet">
143
- <span id="text-content">
144
- {raw ? content : (trimExtraSpaces(content) ?? '')}
145
- </span>
146
- </div>
147
- <span class="icon">
148
- {#if disabled}
149
- <EyeIcon />
150
- {:else}
151
- <CopyIcon size={16} />
152
- {/if}
153
- </span>
154
- </div>
155
-
156
- <slot name="customCodeLinks" />
157
-
158
- {#if (showLink || !upToDate) && !$$slots?.customCodeLinks}
159
- <div class="settings-link" style="margin-left:{leftSpacing};">
160
- <a
161
- href={`https://webflow.com/dashboard/sites/${shortName}/code`}
162
- target="_blank"
163
- class="new-tab-link"><CodeIcon />Open Custom code in a new tab <ArrowIcon /></a
164
- >
165
- </div>
166
- {/if}
167
- </div>
168
- {/if}
169
-
170
- <style>
171
- .settings-link {
172
- display: flex;
173
- align-self: stretch;
174
- justify-content: start;
175
- width: 100%;
176
- }
177
- .text-wrapper {
178
- display: flex;
179
- flex-direction: column;
180
- gap: 4px;
181
- }
182
- .new-tab-link {
183
- display: flex;
184
- padding: 4px;
185
- justify-content: center;
186
- align-items: center;
187
- gap: 2px;
188
- text-decoration: none;
189
- color: var(--blueText);
190
- text-align: center;
191
- font-family: Inter;
192
- font-size: 11.5px;
193
- font-style: normal;
194
- font-weight: 400;
195
- line-height: 16px;
196
- letter-spacing: -0.115px;
197
- }
198
- .header {
199
- display: flex;
200
- gap: 10px;
201
- align-items: start;
202
- height: max-content;
203
- }
204
- .header.completed :global(svg) {
205
- color: var(--green-green-text, #63d489);
206
- }
207
- .header.pending :global(svg) {
208
- color: var(--yellow-yellow-text, #ffc700);
209
- }
210
- .status.pending {
211
- color: var(--yellow-yellow-text, #ffc700);
212
- }
213
- .status.success {
214
- color: var(--green-green-text, #63d489);
215
- }
216
- .status {
217
- text-align: right;
218
- }
219
- .status,
220
- .info {
221
- font-family: Inter;
222
- font-size: 11px;
223
- font-style: normal;
224
- font-weight: 400;
225
- line-height: 16px;
226
- }
227
- .info {
228
- display: flex;
229
- justify-content: space-between;
230
- width: 100%;
231
- min-width: 290px;
232
- align-items: center;
233
- gap: 4px;
234
- }
235
- .info .instruction {
236
- flex-grow: 1;
237
- align-items: center;
238
- display: flex;
239
- height: 100%;
240
- color: #fff;
241
- font-family: Inter;
242
- font-size: 12px;
243
- font-style: normal;
244
- font-weight: 500;
245
- line-height: 16px;
246
- }
247
- /* .info .state {
248
- flex-grow: 0;
249
- flex-shrink: 0;
250
- width: 45px;
251
- } */
252
-
253
- .copy.script-snippet {
254
- margin-left: 25px;
255
- }
256
- .copy .content span {
257
- display: flex;
258
- }
259
-
260
- .copy .content {
261
- color: var(--text-text-1, #d9d9d9);
262
- font-family: Inter;
263
- font-size: 11px;
264
- font-style: normal;
265
- font-weight: 500;
266
- line-height: 16px;
267
- display: flex;
268
- align-items: start;
269
- align-self: stretch;
270
- overflow: auto;
271
- width: 100%;
272
- white-space: pre-wrap;
273
- word-wrap: break-word;
274
- max-width: 600px;
275
- min-height: max-content;
276
- }
277
- .copy .content.disabled {
278
- cursor: not-allowed;
279
- color: var(--text2);
280
- flex: 1 0 0;
281
- }
282
- .scripts {
283
- display: flex;
284
- padding: var(--spacing-16, 16px);
285
- flex-direction: column;
286
- align-items: flex-start;
287
- gap: 12px;
288
- align-self: stretch;
289
- }
290
-
291
- .copy {
292
- border-radius: 4px;
293
- background: var(
294
- --actionSecondaryBackground,
295
- linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.1) 100%),
296
- rgba(255, 255, 255, 0.08)
297
- );
298
- box-shadow:
299
- 0px 0.5px 0.5px 0px rgba(255, 255, 255, 0.12) inset,
300
- 0px 0.5px 1px 0px #000;
301
- display: flex;
302
- padding: 6px var(--Spacing-8, 8px);
303
- align-items: flex-start;
304
- gap: var(--Spacing-8, 8px);
305
- align-self: stretch;
306
- flex: 1 0 0;
307
- color: var(--text2);
308
- font-family: Inter;
309
- font-size: 12px;
310
- font-style: normal;
311
- font-weight: 500;
312
- line-height: 16px;
313
- cursor: pointer;
314
- justify-content: space-between;
315
- flex-direction: row;
316
- }
317
- .copy span.icon {
318
- height: 16px;
319
- }
320
- .copy.disabled {
321
- background: none;
322
- cursor: not-allowed;
323
- color: var(--text2);
324
- border-radius: var(--border-radius, 4px);
325
- border: 1px solid var(--actionSecondaryBorder);
326
- opacity: 0.75;
327
- box-shadow: none;
328
- }
329
- </style>
@@ -1,35 +0,0 @@
1
- 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> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const Copy: $$__sveltets_2_IsomorphicComponent<{
15
- heading: any;
16
- upToDate?: boolean;
17
- hidden?: boolean;
18
- disabled?: boolean;
19
- raw?: boolean;
20
- scriptUpdated?: boolean;
21
- showHeader?: boolean;
22
- comment?: string;
23
- shortName?: string;
24
- leftSpacing?: string;
25
- title?: string;
26
- showLink?: boolean;
27
- content: string;
28
- }, {
29
- [evt: string]: CustomEvent<any>;
30
- }, {
31
- content: {};
32
- customCodeLinks: {};
33
- }, {}, string>;
34
- type Copy = InstanceType<typeof Copy>;
35
- export default Copy;
@@ -1,192 +0,0 @@
1
- <script lang="ts">
2
- import { createEventDispatcher, onMount, tick } from 'svelte';
3
-
4
- const dispatch = createEventDispatcher<{
5
- closemodal: boolean;
6
- }>();
7
-
8
- import { LoadingScreen } from '../components';
9
- import { CloseIcon } from '../icons';
10
-
11
- export let showModal: boolean;
12
- export let disableClose: boolean = false;
13
- export let showHeader: boolean = true;
14
- export let padding: string = 'var(--padding-regular)';
15
- export let width: string = '42em';
16
- export let height: string = '100%';
17
- export let preventOverlayClose: boolean = false;
18
- export let closeIcon: boolean = true;
19
- export let loading: boolean = false;
20
- export let className: string = '';
21
- let modalElement: HTMLElement;
22
- let closeButton: HTMLButtonElement;
23
-
24
- onMount(async () => {
25
- await tick(); // Ensure DOM is updated
26
- if (showModal) {
27
- closeButton?.focus();
28
- }
29
- });
30
-
31
- $: {
32
- if (modalElement) {
33
- if (showModal) {
34
- document.body.style.overflow = 'hidden'; // Prevent scrolling
35
- } else {
36
- document.body.style.overflow = '';
37
- }
38
- }
39
- }
40
-
41
- /**
42
- * Close the modal
43
- */
44
- const handleClose = () => {
45
- if (disableClose) return;
46
-
47
- showModal = false;
48
- dispatch('closemodal', true);
49
- };
50
-
51
- /**
52
- * Handle keydown event
53
- * @param e
54
- */
55
- const handleKeyDown = (e: KeyboardEvent) => {
56
- if (e.key === 'Escape') {
57
- if (!preventOverlayClose) {
58
- handleClose();
59
- }
60
- }
61
- };
62
- </script>
63
-
64
- {#if showModal}
65
- <!-- svelte-ignore a11y-no-static-element-interactions -->
66
- <div
67
- class="modal-overlay {preventOverlayClose ? 'prevent-overlay-close' : ''} {className}"
68
- on:click={() => {
69
- if (!preventOverlayClose) {
70
- handleClose();
71
- }
72
- }}
73
- on:keydown={handleKeyDown}
74
- tabindex="-1"
75
- >
76
- <!-- svelte-ignore a11y-click-events-have-key-events -->
77
- <!-- svelte-ignore a11y-no-static-element-interactions -->
78
- <div
79
- class="modal-content"
80
- bind:this={modalElement}
81
- on:click|stopPropagation
82
- style="padding: {padding}; width: {width}; height: {height};"
83
- >
84
- {#if loading}
85
- <LoadingScreen message="Please wait..." active spinnerSize={20} position="absolute" />
86
- {/if}
87
- {#if showHeader}
88
- <div class="header-bar">
89
- <slot name="header" />
90
- {#if closeIcon}
91
- <button
92
- on:click={() => {
93
- handleClose();
94
- dispatch('closemodal', true);
95
- }}
96
- bind:this={closeButton}><CloseIcon /></button
97
- >
98
- {/if}
99
- </div>
100
- {/if}
101
-
102
- {#if $$slots?.customModalContent}
103
- {#if loading}
104
- <LoadingScreen message="Please wait..." spinnerSize={20} position="absolute" />
105
- {/if}
106
- <slot name="customModalContent" />
107
- {:else}
108
- <slot />
109
- {/if}
110
- </div>
111
- </div>
112
- {/if}
113
-
114
- <style>
115
- .modal-overlay {
116
- position: fixed;
117
- top: 0;
118
- left: 0;
119
- width: 100vw;
120
- height: 100vh;
121
- display: flex;
122
- align-items: center;
123
- justify-content: center;
124
- background: rgba(0, 0, 0, 0.4);
125
- z-index: 99999999997;
126
- }
127
-
128
- .modal-content {
129
- border-radius: var(--border-radius);
130
- background: var(--background1);
131
- color: var(--text1);
132
- animation: zoom 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
133
- position: relative;
134
- }
135
-
136
- @keyframes zoom {
137
- from {
138
- transform: scale(0.95);
139
- }
140
- to {
141
- transform: scale(1);
142
- }
143
- }
144
-
145
- @keyframes fade {
146
- from {
147
- opacity: 0;
148
- }
149
- to {
150
- opacity: 1;
151
- }
152
- }
153
- button {
154
- border: none;
155
- user-select: none;
156
- width: 24px;
157
- padding: 0px 4px;
158
- font-family: inherit;
159
- font-size: inherit;
160
- position: relative;
161
- display: flex;
162
- align-items: center;
163
- justify-content: center;
164
- height: 24px;
165
- border-radius: 4px;
166
- color: rgb(171, 171, 171);
167
- background: transparent;
168
- box-sizing: border-box;
169
- box-shadow: none;
170
- align-self: center;
171
- cursor: pointer;
172
- }
173
-
174
- button:hover {
175
- filter: brightness(1.1);
176
- }
177
-
178
- .header-bar {
179
- display: flex;
180
- align-items: center;
181
- justify-content: space-between;
182
- padding-bottom: var(--padding-small);
183
- border-bottom: 1px solid var(--border1);
184
- gap: 4px;
185
- width: 100%;
186
- margin-bottom: var(--padding-regular);
187
- }
188
-
189
- .prevent-overlay-close {
190
- cursor: progress;
191
- }
192
- </style>
@@ -1,45 +0,0 @@
1
- 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> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
15
- default: any;
16
- } ? Props extends Record<string, never> ? any : {
17
- children?: any;
18
- } : {});
19
- declare const CustomModal: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
- showModal: boolean;
21
- disableClose?: boolean;
22
- showHeader?: boolean;
23
- padding?: string;
24
- width?: string;
25
- height?: string;
26
- preventOverlayClose?: boolean;
27
- closeIcon?: boolean;
28
- loading?: boolean;
29
- className?: string;
30
- }, {
31
- header: {};
32
- customModalContent: {};
33
- default: {};
34
- }>, {
35
- click: MouseEvent;
36
- closemodal: CustomEvent<boolean>;
37
- } & {
38
- [evt: string]: CustomEvent<any>;
39
- }, {
40
- header: {};
41
- customModalContent: {};
42
- default: {};
43
- }, {}, string>;
44
- type CustomModal = InstanceType<typeof CustomModal>;
45
- export default CustomModal;
@@ -1,66 +0,0 @@
1
- <script lang="ts">
2
- import { BRAND } from '../../utils';
3
-
4
- import { Tooltip, WarningCircleOutlineIcon } from '..';
5
- /**
6
- * Disable the component in edit mode
7
- */
8
- export let disabled = false;
9
- export let width = '249px';
10
- export let disabledMessage = `This option is disabled in edit mode. If you want to change it, please generate a new ${BRAND.COMPONENT}.`;
11
- </script>
12
-
13
- <div class="wrap">
14
- {#if disabled}
15
- <Tooltip
16
- tooltipIcon={WarningCircleOutlineIcon}
17
- tooltipIconColor="var(--yellowText)"
18
- message={disabledMessage}
19
- {width}
20
- >
21
- {#snippet target()}
22
- <div class="categories-disabled wrapper">
23
- <slot />
24
- </div>
25
- {/snippet}
26
- </Tooltip>
27
- {:else}
28
- <slot />
29
- {/if}
30
- </div>
31
-
32
- <style>
33
- .wrap :global(.dropdown-list) {
34
- max-height: 300px !important;
35
- }
36
-
37
- .categories-disabled :global(.label-popup .labels span) {
38
- opacity: 1;
39
- pointer-events: none;
40
- }
41
- .wrap :global(.dropdown-wrapper) {
42
- width: max-content;
43
- }
44
-
45
- .wrap > :global(.target:first-child) {
46
- width: 100%;
47
- }
48
-
49
- .wrap {
50
- display: flex;
51
- align-items: center;
52
- gap: 4px;
53
- align-self: stretch;
54
- justify-content: space-between;
55
- width: 100%;
56
- }
57
-
58
- .wrap :global([slot='target']:has(.wrapper)) {
59
- display: flex;
60
- width: 100%;
61
- align-items: center;
62
- gap: 4px;
63
- align-self: stretch;
64
- justify-content: space-between;
65
- }
66
- </style>
@@ -1,33 +0,0 @@
1
- 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> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
15
- default: any;
16
- } ? Props extends Record<string, never> ? any : {
17
- children?: any;
18
- } : {});
19
- declare const DisableInEditMode: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
- /**
21
- * Disable the component in edit mode
22
- */ disabled?: boolean;
23
- width?: string;
24
- disabledMessage?: string;
25
- }, {
26
- default: {};
27
- }>, {
28
- [evt: string]: CustomEvent<any>;
29
- }, {
30
- default: {};
31
- }, {}, string>;
32
- type DisableInEditMode = InstanceType<typeof DisableInEditMode>;
33
- export default DisableInEditMode;