@motion-proto/live-tokens 0.1.0

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 (68) hide show
  1. package/README.md +41 -0
  2. package/dist-plugin/index.cjs +444 -0
  3. package/dist-plugin/index.d.cts +12 -0
  4. package/dist-plugin/index.d.ts +12 -0
  5. package/dist-plugin/index.js +407 -0
  6. package/package.json +86 -0
  7. package/src/components/Badge.svelte +82 -0
  8. package/src/components/Button.svelte +333 -0
  9. package/src/components/Card.svelte +83 -0
  10. package/src/components/CollapsibleSection.svelte +82 -0
  11. package/src/components/DetailNav.svelte +78 -0
  12. package/src/components/Dialog.svelte +269 -0
  13. package/src/components/InlineEditActions.svelte +73 -0
  14. package/src/components/Notification.svelte +308 -0
  15. package/src/components/ProgressBar.svelte +99 -0
  16. package/src/components/RadioButton.svelte +87 -0
  17. package/src/components/SectionDivider.svelte +121 -0
  18. package/src/components/TabBar.svelte +92 -0
  19. package/src/components/Toggle.svelte +86 -0
  20. package/src/components/Tooltip.svelte +64 -0
  21. package/src/lib/ColumnsOverlay.svelte +120 -0
  22. package/src/lib/LiveEditorOverlay.svelte +467 -0
  23. package/src/lib/columnsOverlay.ts +26 -0
  24. package/src/lib/cssVarSync.ts +72 -0
  25. package/src/lib/editorConfig.ts +9 -0
  26. package/src/lib/editorConfigStore.ts +14 -0
  27. package/src/lib/index.ts +51 -0
  28. package/src/lib/oklch.ts +129 -0
  29. package/src/lib/pageSource.ts +6 -0
  30. package/src/lib/tokenInit.ts +29 -0
  31. package/src/lib/tokenService.ts +144 -0
  32. package/src/lib/tokenTypes.ts +45 -0
  33. package/src/pages/Admin.svelte +100 -0
  34. package/src/pages/ShowcasePage.svelte +146 -0
  35. package/src/showcase/BackupBrowser.svelte +617 -0
  36. package/src/showcase/BezierCurveEditor.svelte +648 -0
  37. package/src/showcase/ColorEditPanel.svelte +498 -0
  38. package/src/showcase/ComponentsTab.svelte +107 -0
  39. package/src/showcase/EditorDialog.svelte +137 -0
  40. package/src/showcase/PaletteEditor.svelte +2579 -0
  41. package/src/showcase/PaletteSelector.svelte +627 -0
  42. package/src/showcase/SurfacesTab.svelte +409 -0
  43. package/src/showcase/TextTab.svelte +205 -0
  44. package/src/showcase/TokenFileManager.svelte +683 -0
  45. package/src/showcase/TokenMap.svelte +54 -0
  46. package/src/showcase/VariablesTab.svelte +2657 -0
  47. package/src/showcase/VisualsTab.svelte +233 -0
  48. package/src/showcase/curveEngine.ts +190 -0
  49. package/src/showcase/demos/BadgeDemo.svelte +58 -0
  50. package/src/showcase/demos/CardDemo.svelte +52 -0
  51. package/src/showcase/demos/ChoiceButtonsDemo.svelte +194 -0
  52. package/src/showcase/demos/CollapsibleSectionDemo.svelte +56 -0
  53. package/src/showcase/demos/DialogDemo.svelte +42 -0
  54. package/src/showcase/demos/InlineEditActionsDemo.svelte +27 -0
  55. package/src/showcase/demos/NotificationDemo.svelte +149 -0
  56. package/src/showcase/demos/ProgressBarDemo.svelte +56 -0
  57. package/src/showcase/demos/RadioButtonDemo.svelte +58 -0
  58. package/src/showcase/demos/SectionDividerDemo.svelte +79 -0
  59. package/src/showcase/demos/StandardButtonsDemo.svelte +457 -0
  60. package/src/showcase/demos/TabBarDemo.svelte +60 -0
  61. package/src/showcase/demos/TooltipDemo.svelte +54 -0
  62. package/src/showcase/editor.css +93 -0
  63. package/src/showcase/index.ts +17 -0
  64. package/src/styles/fonts/Domine/Domine-VariableFont_wght.ttf +0 -0
  65. package/src/styles/fonts/Domine/OFL.txt +97 -0
  66. package/src/styles/fonts/Domine/README.txt +66 -0
  67. package/src/styles/fonts.css +18 -0
  68. package/src/styles/form-controls.css +190 -0
@@ -0,0 +1,137 @@
1
+ <script lang="ts">
2
+ import { tick } from 'svelte';
3
+
4
+ export let show: boolean = false;
5
+ export let title: string = '';
6
+ export let cancelLabel: string = 'Cancel';
7
+ export let showCancel: boolean = true;
8
+ export let width: string = '500px';
9
+
10
+ let closeButtonRef: HTMLButtonElement;
11
+ let cancelButtonRef: HTMLButtonElement;
12
+
13
+ $: if (show) {
14
+ tick().then(() => {
15
+ if (showCancel && cancelButtonRef) cancelButtonRef.focus();
16
+ else if (closeButtonRef) closeButtonRef.focus();
17
+ });
18
+ }
19
+
20
+ function handleClose() {
21
+ show = false;
22
+ }
23
+ </script>
24
+
25
+ {#if show}
26
+ <!-- svelte-ignore a11y-click-events-have-key-events a11y-no-noninteractive-element-interactions -->
27
+ <div class="ed-backdrop" on:click|self={handleClose}>
28
+ <div class="ed-dialog" style="width: {width}; max-width: {width};">
29
+ {#if title}
30
+ <div class="ed-header">
31
+ <h3 class="ed-title">{title}</h3>
32
+ <button bind:this={closeButtonRef} class="ed-close" on:click={handleClose} aria-label="Close">
33
+ <i class="fas fa-times"></i>
34
+ </button>
35
+ </div>
36
+ {/if}
37
+
38
+ <div class="ed-body">
39
+ <slot />
40
+ </div>
41
+
42
+ {#if showCancel}
43
+ <div class="ed-footer">
44
+ <button bind:this={cancelButtonRef} class="ed-btn" on:click={handleClose}>
45
+ {cancelLabel}
46
+ </button>
47
+ </div>
48
+ {/if}
49
+ </div>
50
+ </div>
51
+ {/if}
52
+
53
+ <style>
54
+ .ed-backdrop {
55
+ position: fixed;
56
+ top: 0; left: 0; width: 100%; height: 100%;
57
+ background: rgba(0, 0, 0, 0.65);
58
+ display: flex;
59
+ justify-content: center;
60
+ align-items: center;
61
+ z-index: 9999;
62
+ }
63
+
64
+ .ed-dialog {
65
+ background: #1a1a1a;
66
+ border: 1px solid #444;
67
+ border-radius: 6px;
68
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
69
+ animation: edSlideIn 0.15s ease-out;
70
+ }
71
+
72
+ @keyframes edSlideIn {
73
+ from { opacity: 0; transform: translateY(-10px); }
74
+ to { opacity: 1; transform: translateY(0); }
75
+ }
76
+
77
+ .ed-header {
78
+ padding: 10px 16px;
79
+ border-bottom: 1px solid #333;
80
+ display: flex;
81
+ justify-content: space-between;
82
+ align-items: center;
83
+ }
84
+
85
+ .ed-title {
86
+ margin: 0;
87
+ font-size: 16px;
88
+ font-weight: 600;
89
+ color: #e0e0e0;
90
+ }
91
+
92
+ .ed-close {
93
+ background: none;
94
+ border: none;
95
+ color: #888;
96
+ font-size: 14px;
97
+ cursor: pointer;
98
+ width: 28px;
99
+ height: 28px;
100
+ display: flex;
101
+ align-items: center;
102
+ justify-content: center;
103
+ border-radius: 4px;
104
+ }
105
+
106
+ .ed-close:hover {
107
+ background: rgba(255, 255, 255, 0.08);
108
+ color: #ccc;
109
+ }
110
+
111
+ .ed-body {
112
+ padding: 12px 16px;
113
+ }
114
+
115
+ .ed-footer {
116
+ padding: 10px 16px;
117
+ border-top: 1px solid #333;
118
+ display: flex;
119
+ justify-content: flex-end;
120
+ }
121
+
122
+ .ed-btn {
123
+ padding: 6px 14px;
124
+ background: transparent;
125
+ border: 1px solid #555;
126
+ border-radius: 4px;
127
+ color: #ccc;
128
+ font-size: 14px;
129
+ cursor: pointer;
130
+ }
131
+
132
+ .ed-btn:hover {
133
+ background: rgba(255, 255, 255, 0.06);
134
+ border-color: #777;
135
+ color: #e0e0e0;
136
+ }
137
+ </style>