@madebywild/wvk 0.0.1 → 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.
- package/AGENTS.md +81 -0
- package/README.md +70 -3
- package/bin/wvk.mjs +198 -0
- package/dist/index.cjs +1308 -713
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +288 -71
- package/dist/index.d.ts +288 -71
- package/dist/index.js +1290 -717
- package/dist/index.js.map +1 -1
- package/dist/styles.css +103 -7
- package/package.json +10 -3
package/dist/styles.css
CHANGED
|
@@ -51,6 +51,14 @@
|
|
|
51
51
|
--color-wvk-transparency-light-40: var(--wvk-transparency-light-40);
|
|
52
52
|
--color-wvk-transparency-light-20: var(--wvk-transparency-light-20);
|
|
53
53
|
|
|
54
|
+
/* Deprecated: use --color-wvk-transparency-* instead. Kept for backwards compatibility. */
|
|
55
|
+
--color-wvk-alpha-dark-80: var(--wvk-transparency-dark-80);
|
|
56
|
+
--color-wvk-alpha-dark-40: var(--wvk-transparency-dark-40);
|
|
57
|
+
--color-wvk-alpha-dark-20: var(--wvk-transparency-dark-20);
|
|
58
|
+
--color-wvk-alpha-light-80: var(--wvk-transparency-light-80);
|
|
59
|
+
--color-wvk-alpha-light-40: var(--wvk-transparency-light-40);
|
|
60
|
+
--color-wvk-alpha-light-20: var(--wvk-transparency-light-20);
|
|
61
|
+
|
|
54
62
|
|
|
55
63
|
/* Primitives — opaque Color collection (Figma layer names: Dark, Medium, …) */
|
|
56
64
|
--color-wvk-primitive-dark: var(--wvk-primitive-dark);
|
|
@@ -112,6 +120,14 @@
|
|
|
112
120
|
--wvk-transparency-light-40: var(--wvk-primitive-light-40);
|
|
113
121
|
--wvk-transparency-light-20: var(--wvk-primitive-light-20);
|
|
114
122
|
|
|
123
|
+
/* Deprecated alpha aliases — use --wvk-transparency-* instead. */
|
|
124
|
+
--wvk-alpha-dark-80: var(--wvk-transparency-dark-80);
|
|
125
|
+
--wvk-alpha-dark-40: var(--wvk-transparency-dark-40);
|
|
126
|
+
--wvk-alpha-dark-20: var(--wvk-transparency-dark-20);
|
|
127
|
+
--wvk-alpha-light-80: var(--wvk-transparency-light-80);
|
|
128
|
+
--wvk-alpha-light-40: var(--wvk-transparency-light-40);
|
|
129
|
+
--wvk-alpha-light-20: var(--wvk-transparency-light-20);
|
|
130
|
+
|
|
115
131
|
/* App semantic (shadcn compatibility) — driven by wvk semantic tokens */
|
|
116
132
|
--background: var(--wvk-surface-primary);
|
|
117
133
|
--foreground: var(--wvk-foreground-primary);
|
|
@@ -156,13 +172,25 @@
|
|
|
156
172
|
--wvk-gap-lg: 8px;
|
|
157
173
|
|
|
158
174
|
/*
|
|
159
|
-
* Custom cursors —
|
|
160
|
-
* Hotspot coords are
|
|
175
|
+
* Custom cursors — embedded SVG data URLs so consumers do not need public assets.
|
|
176
|
+
* Hotspot coords are the click point inside the artwork (top-left = 0,0).
|
|
161
177
|
* Always end with a keyword fallback (accessibility + engines without SVG cursors).
|
|
162
178
|
*/
|
|
163
|
-
--wvk-cursor-default: url("/
|
|
164
|
-
--wvk-cursor-
|
|
165
|
-
--wvk-cursor-
|
|
179
|
+
--wvk-cursor-default: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8ZGVmcz4KICAgIDxmaWx0ZXIKICAgICAgaWQ9Ind2ay1jdXJzb3Itc2hhZG93IgogICAgICBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgIHg9Ii00IgogICAgICB5PSItNCIKICAgICAgd2lkdGg9IjQwIgogICAgICBoZWlnaHQ9IjQwIgogICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiCiAgICA+CiAgICAgIDxmZURyb3BTaGFkb3cgZHg9IjAiIGR5PSIxLjI1IiBzdGREZXZpYXRpb249IjEiIGZsb29kLWNvbG9yPSIjMDAwMDAwIiBmbG9vZC1vcGFjaXR5PSIwLjM4IiAvPgogICAgPC9maWx0ZXI+CiAgPC9kZWZzPgogIDxnIGZpbHRlcj0idXJsKCN3dmstY3Vyc29yLXNoYWRvdykiPgogICAgPHBhdGggZmlsbD0iIzAwNTVGRiIgZD0iTTEwIDYuMDI4djE0LjYzN2EuNS41IDAgMCAwIC44Ni4zNDhsMi40MjQtMi41MDNhLjUuNSAwIDAgMSAuODA4LjEyN2wyLjIyNSA0LjUyM2ExIDEgMCAwIDAgMS4zNzkuNDM1bDIuMjM0LTEuMjI5YTEgMSAwIDAgMCAuNDEtMS4zM2wtMi4xOTItNC4zMWEuNS41IDAgMCAxIC40NDYtLjcyNmgzLjk2YS41LjUgMCAwIDAgLjMxLS44OTNMMTAuODA4IDUuNjM1YS41LjUgMCAwIDAtLjgwOS4zOTNaIi8+CiAgICA8cGF0aCBzdHJva2U9IndoaXRlIiBzdHJva2Utb3BhY2l0eT0iLjgiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTkuNDIgNC45ODVhMS41MDIgMS41MDIgMCAwIDEgMS44ODItLjIyNWwuMTI1LjA4OUwyMy40OCAxNC4zMmExLjUwMSAxLjUwMSAwIDAgMS0uOTI2IDIuNjhoLTMuMTQ3bDEuODIzIDMuNTgzYTIgMiAwIDAgMS0uODE5IDIuNjZsLTIuMjM0IDEuMjI5YTIgMiAwIDAgMS0yLjc1OS0uODdsLTEuOTExLTMuODg2LTEuOTMgMS45OTNBMS41IDEuNSAwIDAgMSA5IDIwLjY2NVY2LjAyOGExLjUgMS41IDAgMCAxIC4zMi0uOTI2bC4xLS4xMTdaIi8+CiAgPC9nPgo8L3N2Zz4K") 9 5, default;
|
|
180
|
+
--wvk-cursor-default-arrow: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMyIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDMyIDMzIj4KICA8ZyBmaWx0ZXI9InVybCgjYSkiPgogICAgPHBhdGggZmlsbD0iIzAwNTVGRiIgZD0iTTEwIDI0VjcuMjE2YzAtLjg2MSAxLjAxNi0xLjMyIDEuNjYyLS43NWwxMy4wNDYgMTEuNTExYy43MjUuNjQuMjEgMS44MzQtLjc1MiAxLjc0NmwtNy40LS42NzJhMSAxIDAgMCAwLS44OS4zOTVMMTEuOCAyNC42Yy0uNTc3Ljc2OS0xLjguMzYxLTEuOC0uNloiLz4KICAgIDxwYXRoIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTkgNy4yMTZjMC0xLjcyMiAyLjAzMi0yLjY0IDMuMzIzLTEuNUwyNS4zNyAxNy4yMjdjMS40NSAxLjI4LjQyMiAzLjY2Ny0xLjUwNCAzLjQ5MmwtNy40LS42NzJMMTIuNiAyNS4yQzExLjQ0NiAyNi43MzcgOSAyNS45MjIgOSAyNFY3LjIxNloiLz4KICA8L2c+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIGlkPSJhIiB3aWR0aD0iMjcuMDU1IiBoZWlnaHQ9IjMwLjc5NiIgeD0iNCIgeT0iMi4yMSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgogICAgICA8ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0iaGFyZEFscGhhIiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+CiAgICAgIDxmZU9mZnNldCBkeT0iMiIvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIyIi8+CiAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4xNiAwIi8+CiAgICAgIDxmZUJsZW5kIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvd180ODA5XzY2OSIvPgogICAgICA8ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfNDgwOV82NjkiIHJlc3VsdD0ic2hhcGUiLz4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KPC9zdmc+Cg==") 10 7, default;
|
|
181
|
+
--wvk-cursor-pointer: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8ZGVmcz4KICAgIDxmaWx0ZXIKICAgICAgaWQ9Ind2ay1jdXJzb3Itc2hhZG93IgogICAgICBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgIHg9Ii00IgogICAgICB5PSItNCIKICAgICAgd2lkdGg9IjQwIgogICAgICBoZWlnaHQ9IjQwIgogICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiCiAgICA+CiAgICAgIDxmZURyb3BTaGFkb3cgZHg9IjAiIGR5PSIxLjI1IiBzdGREZXZpYXRpb249IjEiIGZsb29kLWNvbG9yPSIjMDAwMDAwIiBmbG9vZC1vcGFjaXR5PSIwLjM4IiAvPgogICAgPC9maWx0ZXI+CiAgPC9kZWZzPgogIDxnIGZpbHRlcj0idXJsKCN3dmstY3Vyc29yLXNoYWRvdykiPgogICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0xOC41IDMwSDEzYy01LjQ0IDAtOS4wODMtNC45NjQtMTEuNDEtMTQuMjcyQy42NTkgMTIuMDAzIDMuOTE3IDguOTEzIDcgOS42NVY2YTUgNSAwIDAgMSAxMCAwdjIuMWE0Ljk5IDQuOTkgMCAwIDEgMi4xMDUuOThBNSA1IDAgMCAxIDI0LjAwMSAxMWE1IDUgMCAwIDEgNSA1djRjMCAuMTktLjAxOS4zOC0uMDU0LjU2NUMyOC40MDkgMjUuODk3IDIzLjkwNyAzMCAxOC41IDMwWiIvPgogICAgPHBhdGggZmlsbD0iIzAwNTVGRiIgZD0iTTI1IDE5LjVWMTZhMSAxIDAgMSAwLTIgMCAxIDEgMCAxIDEtMiAwdi0yYTEgMSAwIDEgMC0yIDAgMSAxIDAgMSAxLTIgMCAzIDMgMCAwIDEgNS44OTUtLjc5QTMgMyAwIDAgMSAyNyAxNnY0YTEgMSAwIDAgMS0uMDMzLjI1NkE4LjUgOC41IDAgMCAxIDE4LjUgMjhIMTNjLTQuMjg0IDAtNy4zNy00LjM1Ny05LjQ3LTEyLjc1OC0uNjk4LTIuNzkyIDIuMzIxLTQuODA1IDQuMTc3LTIuOTVMOSAxMy41ODdWNmEzIDMgMCAxIDEgNiAwdjdhMSAxIDAgMSAxLTIgMFY2YTEgMSAwIDEgMC0yIDB2MTBhMSAxIDAgMCAxLTEuNzA3LjcwN2wtMy0zYy0uMzQ0LS4zNDQtMS4wNTMuMTI5LS44MjMgMS4wNUM3LjM3IDIyLjM1OCA5Ljk1IDI2IDEzIDI2aDUuNWE2LjUgNi41IDAgMCAwIDYuNS02LjVaTTE2IDEwYTMgMyAwIDAgMSAzIDN2MWExIDEgMCAxIDEtMiAwdi0xYTEgMSAwIDEgMC0yIDAgMSAxIDAgMSAxLTIgMCAzIDMgMCAwIDEgMy0zWm0tMSA3YTEgMSAwIDAgMSAxIDF2M2ExIDEgMCAxIDEtMiAwdi0zYTEgMSAwIDAgMSAxLTFabTQgMGExIDEgMCAwIDEgMSAxdjNhMSAxIDAgMSAxLTIgMHYtM2ExIDEgMCAwIDEgMS0xWiIvPgogIDwvZz4KPC9zdmc+Cg==") 12 8, pointer;
|
|
182
|
+
--wvk-cursor-move: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8ZGVmcz4KICAgIDxmaWx0ZXIKICAgICAgaWQ9Ind2ay1jdXJzb3Itc2hhZG93IgogICAgICBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgIHg9Ii00IgogICAgICB5PSItNCIKICAgICAgd2lkdGg9IjQwIgogICAgICBoZWlnaHQ9IjQwIgogICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiCiAgICA+CiAgICAgIDxmZURyb3BTaGFkb3cgZHg9IjAiIGR5PSIxLjI1IiBzdGREZXZpYXRpb249IjEiIGZsb29kLWNvbG9yPSIjMDAwMDAwIiBmbG9vZC1vcGFjaXR5PSIwLjM4IiAvPgogICAgPC9maWx0ZXI+CiAgPC9kZWZzPgogIDxnIGZpbHRlcj0idXJsKCN3dmstY3Vyc29yLXNoYWRvdykiPgogICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Im0xNiAyLjAzIDE0LjE0MiAxNC4xNEwxNiAzMC4zMTQgMS44NTggMTYuMTcgMTYgMi4wM1oiLz4KICAgIDxwYXRoIGZpbGw9IiMwMDU1RkYiIGQ9Ik0xMCAxOC45NmEuNS41IDAgMCAxLS44MTMuMzlsLTMuNy0yLjk2YS41LjUgMCAwIDEgMC0uNzhsMy43LTIuOTZhLjUuNSAwIDAgMSAuODEzLjM5VjE1bDQuOTk5LS4wMDF2LTVoLTEuOTZhLjUuNSAwIDAgMS0uMzktLjgxMmwyLjk2LTMuN2EuNS41IDAgMCAxIC43ODEgMGwyLjk2IDMuN2EuNS41IDAgMCAxLS4zOS44MTJIMTdsLS4wMDEgNWg1di0xLjk2YS41LjUgMCAwIDEgLjgxMy0uMzlsMy43IDIuOTZhLjUuNSAwIDAgMSAwIC43OGwtMy43IDIuOTZhLjUuNSAwIDAgMS0uODEyLS4zOVYxN2gtNS4wMDF2NWgxLjk2YS41LjUgMCAwIDEgLjM5LjgxM2wtMi45NTkgMy43YS41LjUgMCAwIDEtLjc4IDBsLTIuOTYtMy43YS41LjUgMCAwIDEgLjM5LS44MTNIMTVsLS4wMDEtNWgtNXYxLjk2WiIvPgogIDwvZz4KPC9zdmc+Cg==") 16 16, move;
|
|
183
|
+
--wvk-cursor-grabbing: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNSIgaGVpZ2h0PSIzNiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDM1IDM2Ij4KICA8ZyBmaWx0ZXI9InVybCgjYSkiPgogICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0zMC4xNzYgMTguNjY3QzMwLjE3NiAyNC45MjYgMjUuMTAyIDMwIDE4Ljg0MyAzMGgtMy4xODhhMTAgMTAgMCAwIDEtOS4wOC01LjgxTDQuNjUgMjAuMDE4Yy0xLjY4NS0zLjY1LjA1Ni03LjgyNCAzLjU0LTkuMzQ1YTUgNSAwIDAgMSA4LjA5LTMuNTkxIDQuOTc3IDQuOTc3IDAgMCAxIDQgMSA0Ljk3NyA0Ljk3NyAwIDAgMSAzLjk3Ny45ODFBNC45IDQuOSAwIDAgMSAyNS4wNDQgOWE1LjEzNCA1LjEzNCAwIDAgMSA1LjEzMyA1LjEzNHY0LjUzM1oiLz4KICA8L2c+CiAgPHBhdGggZmlsbD0iIzAwNTVGRiIgZD0iTTEzLjE3NyA4YzEuMDYyIDAgMS45OTQuNTU0IDIuNTI3IDEuMzg4YTIuOTk2IDIuOTk2IDAgMCAxIDQgMSAyLjk5NyAyLjk5NyAwIDAgMSAzLjk3NC45NTdBMi44NSAyLjg1IDAgMCAxIDI1LjA0MyAxMWEzLjEzNCAzLjEzNCAwIDAgMSAzLjEzNCAzLjEzNHY0LjUzM0E5LjMzNCA5LjMzNCAwIDAgMSAxOC44NDQgMjhoLTMuMTg5YTggOCAwIDAgMS03LjI2NC00LjY0OEw2LjQ2NiAxOS4xOGMtMS4zODItMi45OTMuNDYtNi40OCAzLjcxLTcuMDI3VjExYTMgMyAwIDAgMSAzLTNabTAgMmExIDEgMCAwIDAtMSAxdjVhMSAxIDAgMCAxLTIgMHYtMS44YTMgMyAwIDAgMC0xLjg5NiA0LjE0bDEuOTI3IDQuMTc1QTYgNiAwIDAgMCAxNS42NTUgMjZoMy4xODlhNy4zMzQgNy4zMzQgMCAwIDAgNy4zMzMtNy4zMzN2LTQuNTMzYzAtLjYyNi0uNTA4LTEuMTM0LTEuMTM0LTEuMTM0YS44NjcuODY3IDAgMCAwLS44NjYuODY2VjE0YTEgMSAwIDAgMS0yIDB2LTFhMSAxIDAgMCAwLTEuOTk1LS4xMDJsLS4wMS4yMDRBMSAxIDAgMCAxIDE4LjE3NyAxM3YtMWExIDEgMCAwIDAtMS45OTUtLjEwMmwtLjAxLjIwNEExIDEgMCAwIDEgMTQuMTc3IDEydi0xYTEgMSAwIDAgMC0xLTFabTMgN2ExIDEgMCAwIDEgMSAxdjNhMSAxIDAgMCAxLTIgMHYtM2ExIDEgMCAwIDEgMS0xWm00IDBhMSAxIDAgMCAxIDEgMXYzYTEgMSAwIDAgMS0yIDB2LTNhMSAxIDAgMCAxIDEtMVoiLz4KICA8ZGVmcz4KICAgIDxmaWx0ZXIgaWQ9ImEiIHdpZHRoPSIzNC4xNzYiIGhlaWdodD0iMzIiIHg9IjAiIHk9IjQiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KICAgICAgPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9ImhhcmRBbHBoYSIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIvPgogICAgICA8ZmVPZmZzZXQgZHk9IjIiLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIvPgogICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMTYgMCIvPgogICAgICA8ZmVCbGVuZCBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNDgxMF83MzAiLz4KICAgICAgPGZlQmxlbmQgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9kcm9wU2hhZG93XzQ4MTBfNzMwIiByZXN1bHQ9InNoYXBlIi8+CiAgICA8L2ZpbHRlcj4KICA8L2RlZnM+Cjwvc3ZnPgo=") 17 18, grabbing;
|
|
184
|
+
--wvk-cursor-text: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDMyIDM0Ij4KICA8ZyBmaWx0ZXI9InVybCgjYSkiPgogICAgPHBhdGggZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iLjgiIGQ9Ik0xNC41ODYgNGMuNDg4IDAgLjk2Ni4wOSAxLjQxNC4yNi40NDgtLjE3LjkyNi0uMjYgMS40MTQtLjI2SDIwYTMgMyAwIDEgMSAwIDZoLTF2MTJoMWEzIDMgMCAxIDEgMCA2aC0yLjU4NmMtLjQ4OCAwLS45NjYtLjA5LTEuNDE0LS4yNi0uNDQ4LjE3LS45MjYuMjYtMS40MTQuMjZIMTJhMyAzIDAgMSAxIDAtNmgxVjEwaC0xYTMgMyAwIDEgMSAwLTZoMi41ODZaIi8+CiAgPC9nPgogIDxwYXRoIHN0cm9rZT0iIzAwNTVGRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0xMiA3aDIuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZMMTYgOG0wIDB2MTZtMC0xNiAuNDE0LS40MTRBMiAyIDAgMCAxIDE3LjgyOCA3SDIwbS00IDE3IC40MTQuNDE0YTIgMiAwIDAgMCAxLjQxNC41ODZIMjBtLTQtMS0uNDE0LjQxNGEyIDIgMCAwIDEtMS40MTQuNTg2SDEyIi8+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIGlkPSJhIiB3aWR0aD0iMjIiIGhlaWdodD0iMzIiIHg9IjUiIHk9IjIiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KICAgICAgPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9ImhhcmRBbHBoYSIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIvPgogICAgICA8ZmVPZmZzZXQgZHk9IjIiLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIvPgogICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMTYgMCIvPgogICAgICA8ZmVCbGVuZCBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNDgxMF82ODUiLz4KICAgICAgPGZlQmxlbmQgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9kcm9wU2hhZG93XzQ4MTBfNjg1IiByZXN1bHQ9InNoYXBlIi8+CiAgICA8L2ZpbHRlcj4KICA8L2RlZnM+Cjwvc3ZnPgo=") 16 17, text;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/*
|
|
188
|
+
* Cursor style variant — opt in to the slim-arrow default by adding
|
|
189
|
+
* `class="wvk-cursor-style-arrow"` on <html>. ThemeProvider's `cursorStyle`
|
|
190
|
+
* prop / setCursorStyle handle this for you; this rule is the underlying knob.
|
|
191
|
+
*/
|
|
192
|
+
html.wvk-cursor-style-arrow {
|
|
193
|
+
--wvk-cursor-default: var(--wvk-cursor-default-arrow);
|
|
166
194
|
}
|
|
167
195
|
|
|
168
196
|
/* ---- Dark theme ---- */
|
|
@@ -192,6 +220,14 @@
|
|
|
192
220
|
--wvk-transparency-light-40: rgba(0, 85, 255, 0.4);
|
|
193
221
|
--wvk-transparency-light-20: rgba(0, 85, 255, 0.2);
|
|
194
222
|
|
|
223
|
+
/* Deprecated alpha aliases — use --wvk-transparency-* instead. */
|
|
224
|
+
--wvk-alpha-dark-80: var(--wvk-transparency-dark-80);
|
|
225
|
+
--wvk-alpha-dark-40: var(--wvk-transparency-dark-40);
|
|
226
|
+
--wvk-alpha-dark-20: var(--wvk-transparency-dark-20);
|
|
227
|
+
--wvk-alpha-light-80: var(--wvk-transparency-light-80);
|
|
228
|
+
--wvk-alpha-light-40: var(--wvk-transparency-light-40);
|
|
229
|
+
--wvk-alpha-light-20: var(--wvk-transparency-light-20);
|
|
230
|
+
|
|
195
231
|
/* Primitives stay the fixed palette for one-off use */
|
|
196
232
|
/* (--wvk-primitive-* unchanged from :root) */
|
|
197
233
|
|
|
@@ -249,7 +285,7 @@
|
|
|
249
285
|
input[type="number"],
|
|
250
286
|
textarea,
|
|
251
287
|
[contenteditable="true"] {
|
|
252
|
-
cursor: text;
|
|
288
|
+
cursor: var(--wvk-cursor-text);
|
|
253
289
|
}
|
|
254
290
|
|
|
255
291
|
/* Common interactive controls (class-based utilities still layered below) */
|
|
@@ -327,7 +363,11 @@
|
|
|
327
363
|
}
|
|
328
364
|
|
|
329
365
|
.cursor-grabbing {
|
|
330
|
-
cursor: var(--wvk-cursor-
|
|
366
|
+
cursor: var(--wvk-cursor-grabbing);
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.cursor-text {
|
|
370
|
+
cursor: var(--wvk-cursor-text);
|
|
331
371
|
}
|
|
332
372
|
|
|
333
373
|
/* {@link LoadingSpinner} — clip-path ring + rotate (ring color = currentColor → --wvk-foreground-primary) */
|
|
@@ -390,3 +430,59 @@
|
|
|
390
430
|
--wvk-loading-spinner-border: 5px;
|
|
391
431
|
}
|
|
392
432
|
}
|
|
433
|
+
|
|
434
|
+
@layer components {
|
|
435
|
+
/*
|
|
436
|
+
* Inline code: subtle tonal chip that adapts to light/dark via the
|
|
437
|
+
* dark-transparency token (dark overlay on light bg, light overlay on blue bg).
|
|
438
|
+
*/
|
|
439
|
+
.wvk-code {
|
|
440
|
+
display: inline;
|
|
441
|
+
padding: 0.125rem 0.375rem;
|
|
442
|
+
border-radius: var(--radius-sm, 0.25rem);
|
|
443
|
+
background-color: var(--wvk-transparency-dark-20);
|
|
444
|
+
color: var(--wvk-foreground-primary);
|
|
445
|
+
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
|
|
446
|
+
"Liberation Mono", monospace;
|
|
447
|
+
font-size: 0.875em;
|
|
448
|
+
line-height: 1.4;
|
|
449
|
+
white-space: break-spaces;
|
|
450
|
+
word-break: break-word;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
/*
|
|
454
|
+
* Block code container: same tonal surface as inline, but with padding,
|
|
455
|
+
* a faint border, and pre-wrap behavior. Use on a <pre> or wrap a <code>.
|
|
456
|
+
*/
|
|
457
|
+
.wvk-code-block {
|
|
458
|
+
display: block;
|
|
459
|
+
padding: 0.75rem 1rem;
|
|
460
|
+
border-radius: var(--radius-md, 0.375rem);
|
|
461
|
+
background-color: var(--wvk-transparency-dark-20);
|
|
462
|
+
border: 1px solid var(--wvk-transparency-dark-40);
|
|
463
|
+
color: var(--wvk-foreground-primary);
|
|
464
|
+
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
|
|
465
|
+
"Liberation Mono", monospace;
|
|
466
|
+
font-size: 0.8125rem;
|
|
467
|
+
line-height: 1.5;
|
|
468
|
+
white-space: pre-wrap;
|
|
469
|
+
overflow-wrap: anywhere;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
.wvk-code-block code {
|
|
473
|
+
background: transparent;
|
|
474
|
+
padding: 0;
|
|
475
|
+
border-radius: 0;
|
|
476
|
+
font-size: inherit;
|
|
477
|
+
color: inherit;
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
/* Unlayered — wins over all @layer blocks including utilities */
|
|
482
|
+
[data-wvk-input="shell"] {
|
|
483
|
+
cursor: var(--wvk-cursor-text);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
[data-wvk-input="shell"]:has(:disabled) {
|
|
487
|
+
cursor: not-allowed;
|
|
488
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@madebywild/wvk",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Wireframe kit — components, icons, and design tokens",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
"main": "./dist/index.cjs",
|
|
14
14
|
"module": "./dist/index.js",
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
|
+
"bin": {
|
|
17
|
+
"wvk": "./bin/wvk.mjs"
|
|
18
|
+
},
|
|
16
19
|
"exports": {
|
|
17
20
|
".": {
|
|
18
21
|
"types": "./dist/index.d.ts",
|
|
@@ -31,6 +34,8 @@
|
|
|
31
34
|
],
|
|
32
35
|
"files": [
|
|
33
36
|
"dist",
|
|
37
|
+
"bin",
|
|
38
|
+
"AGENTS.md",
|
|
34
39
|
"README.md"
|
|
35
40
|
],
|
|
36
41
|
"peerDependencies": {
|
|
@@ -38,9 +43,10 @@
|
|
|
38
43
|
"react-dom": "^19"
|
|
39
44
|
},
|
|
40
45
|
"dependencies": {
|
|
41
|
-
"@
|
|
46
|
+
"@base-ui-components/react": "1.0.0-rc.0",
|
|
42
47
|
"class-variance-authority": "^0.7.1",
|
|
43
48
|
"clsx": "^2.1.1",
|
|
49
|
+
"framer-motion": "12.38.0",
|
|
44
50
|
"tailwind-merge": "^3.5.0"
|
|
45
51
|
},
|
|
46
52
|
"devDependencies": {
|
|
@@ -61,6 +67,7 @@
|
|
|
61
67
|
"build": "tsup",
|
|
62
68
|
"clean": "rm -rf dist",
|
|
63
69
|
"dev": "node src/scripts/build-icons.mjs && tsup --watch",
|
|
64
|
-
"typecheck": "tsc --noEmit"
|
|
70
|
+
"typecheck": "tsc --noEmit",
|
|
71
|
+
"test": "node --test 'test/**/*.test.mjs'"
|
|
65
72
|
}
|
|
66
73
|
}
|