create-microact-app 1.0.1

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 (213) hide show
  1. package/index.js +95 -0
  2. package/package.json +21 -0
  3. package/templates/vanilla/.github/workflows/deploy.yml +38 -0
  4. package/templates/vanilla/index.html +13 -0
  5. package/templates/vanilla/node_modules/.package-lock.json +207 -0
  6. package/templates/vanilla/node_modules/@esbuild/darwin-x64/README.md +3 -0
  7. package/templates/vanilla/node_modules/@esbuild/darwin-x64/bin/esbuild +0 -0
  8. package/templates/vanilla/node_modules/@esbuild/darwin-x64/package.json +17 -0
  9. package/templates/vanilla/node_modules/@monygroupcorp/microact/README.md +154 -0
  10. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.cjs.js +1749 -0
  11. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.cjs.js.map +1 -0
  12. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.esm.js +1743 -0
  13. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.esm.js.map +1 -0
  14. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.umd.js +2 -0
  15. package/templates/vanilla/node_modules/@monygroupcorp/microact/dist/microact.umd.js.map +1 -0
  16. package/templates/vanilla/node_modules/@monygroupcorp/microact/example/index.html +13 -0
  17. package/templates/vanilla/node_modules/@monygroupcorp/microact/example/index.js +63 -0
  18. package/templates/vanilla/node_modules/@monygroupcorp/microact/package.json +38 -0
  19. package/templates/vanilla/node_modules/@monygroupcorp/microact/rollup.config.cjs +30 -0
  20. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/Component.js +831 -0
  21. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/DOMUpdater.js +320 -0
  22. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/EventBus.js +123 -0
  23. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/Router.js +253 -0
  24. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/UpdateScheduler.js +218 -0
  25. package/templates/vanilla/node_modules/@monygroupcorp/microact/src/index.js +6 -0
  26. package/templates/vanilla/node_modules/esbuild/LICENSE.md +21 -0
  27. package/templates/vanilla/node_modules/esbuild/README.md +3 -0
  28. package/templates/vanilla/node_modules/esbuild/bin/esbuild +0 -0
  29. package/templates/vanilla/node_modules/esbuild/install.js +287 -0
  30. package/templates/vanilla/node_modules/esbuild/lib/main.d.ts +660 -0
  31. package/templates/vanilla/node_modules/esbuild/lib/main.js +2393 -0
  32. package/templates/vanilla/node_modules/esbuild/package.json +42 -0
  33. package/templates/vanilla/node_modules/nanoid/LICENSE +20 -0
  34. package/templates/vanilla/node_modules/nanoid/README.md +39 -0
  35. package/templates/vanilla/node_modules/nanoid/async/index.browser.cjs +69 -0
  36. package/templates/vanilla/node_modules/nanoid/async/index.browser.js +34 -0
  37. package/templates/vanilla/node_modules/nanoid/async/index.cjs +71 -0
  38. package/templates/vanilla/node_modules/nanoid/async/index.d.ts +56 -0
  39. package/templates/vanilla/node_modules/nanoid/async/index.js +35 -0
  40. package/templates/vanilla/node_modules/nanoid/async/index.native.js +26 -0
  41. package/templates/vanilla/node_modules/nanoid/async/package.json +12 -0
  42. package/templates/vanilla/node_modules/nanoid/bin/nanoid.cjs +55 -0
  43. package/templates/vanilla/node_modules/nanoid/index.browser.cjs +72 -0
  44. package/templates/vanilla/node_modules/nanoid/index.browser.js +34 -0
  45. package/templates/vanilla/node_modules/nanoid/index.cjs +85 -0
  46. package/templates/vanilla/node_modules/nanoid/index.d.cts +91 -0
  47. package/templates/vanilla/node_modules/nanoid/index.d.ts +91 -0
  48. package/templates/vanilla/node_modules/nanoid/index.js +45 -0
  49. package/templates/vanilla/node_modules/nanoid/nanoid.js +1 -0
  50. package/templates/vanilla/node_modules/nanoid/non-secure/index.cjs +34 -0
  51. package/templates/vanilla/node_modules/nanoid/non-secure/index.d.ts +33 -0
  52. package/templates/vanilla/node_modules/nanoid/non-secure/index.js +21 -0
  53. package/templates/vanilla/node_modules/nanoid/non-secure/package.json +6 -0
  54. package/templates/vanilla/node_modules/nanoid/package.json +89 -0
  55. package/templates/vanilla/node_modules/nanoid/url-alphabet/index.cjs +7 -0
  56. package/templates/vanilla/node_modules/nanoid/url-alphabet/index.js +3 -0
  57. package/templates/vanilla/node_modules/nanoid/url-alphabet/package.json +6 -0
  58. package/templates/vanilla/node_modules/picocolors/LICENSE +15 -0
  59. package/templates/vanilla/node_modules/picocolors/README.md +21 -0
  60. package/templates/vanilla/node_modules/picocolors/package.json +25 -0
  61. package/templates/vanilla/node_modules/picocolors/picocolors.browser.js +4 -0
  62. package/templates/vanilla/node_modules/picocolors/picocolors.d.ts +5 -0
  63. package/templates/vanilla/node_modules/picocolors/picocolors.js +75 -0
  64. package/templates/vanilla/node_modules/picocolors/types.d.ts +51 -0
  65. package/templates/vanilla/node_modules/postcss/LICENSE +20 -0
  66. package/templates/vanilla/node_modules/postcss/README.md +29 -0
  67. package/templates/vanilla/node_modules/postcss/lib/at-rule.d.ts +140 -0
  68. package/templates/vanilla/node_modules/postcss/lib/at-rule.js +25 -0
  69. package/templates/vanilla/node_modules/postcss/lib/comment.d.ts +68 -0
  70. package/templates/vanilla/node_modules/postcss/lib/comment.js +13 -0
  71. package/templates/vanilla/node_modules/postcss/lib/container.d.ts +483 -0
  72. package/templates/vanilla/node_modules/postcss/lib/container.js +447 -0
  73. package/templates/vanilla/node_modules/postcss/lib/css-syntax-error.d.ts +248 -0
  74. package/templates/vanilla/node_modules/postcss/lib/css-syntax-error.js +133 -0
  75. package/templates/vanilla/node_modules/postcss/lib/declaration.d.ts +151 -0
  76. package/templates/vanilla/node_modules/postcss/lib/declaration.js +24 -0
  77. package/templates/vanilla/node_modules/postcss/lib/document.d.ts +69 -0
  78. package/templates/vanilla/node_modules/postcss/lib/document.js +33 -0
  79. package/templates/vanilla/node_modules/postcss/lib/fromJSON.d.ts +9 -0
  80. package/templates/vanilla/node_modules/postcss/lib/fromJSON.js +54 -0
  81. package/templates/vanilla/node_modules/postcss/lib/input.d.ts +227 -0
  82. package/templates/vanilla/node_modules/postcss/lib/input.js +265 -0
  83. package/templates/vanilla/node_modules/postcss/lib/lazy-result.d.ts +190 -0
  84. package/templates/vanilla/node_modules/postcss/lib/lazy-result.js +550 -0
  85. package/templates/vanilla/node_modules/postcss/lib/list.d.ts +60 -0
  86. package/templates/vanilla/node_modules/postcss/lib/list.js +58 -0
  87. package/templates/vanilla/node_modules/postcss/lib/map-generator.js +368 -0
  88. package/templates/vanilla/node_modules/postcss/lib/no-work-result.d.ts +46 -0
  89. package/templates/vanilla/node_modules/postcss/lib/no-work-result.js +138 -0
  90. package/templates/vanilla/node_modules/postcss/lib/node.d.ts +556 -0
  91. package/templates/vanilla/node_modules/postcss/lib/node.js +449 -0
  92. package/templates/vanilla/node_modules/postcss/lib/parse.d.ts +9 -0
  93. package/templates/vanilla/node_modules/postcss/lib/parse.js +42 -0
  94. package/templates/vanilla/node_modules/postcss/lib/parser.js +611 -0
  95. package/templates/vanilla/node_modules/postcss/lib/postcss.d.mts +69 -0
  96. package/templates/vanilla/node_modules/postcss/lib/postcss.d.ts +458 -0
  97. package/templates/vanilla/node_modules/postcss/lib/postcss.js +101 -0
  98. package/templates/vanilla/node_modules/postcss/lib/postcss.mjs +30 -0
  99. package/templates/vanilla/node_modules/postcss/lib/previous-map.d.ts +81 -0
  100. package/templates/vanilla/node_modules/postcss/lib/previous-map.js +144 -0
  101. package/templates/vanilla/node_modules/postcss/lib/processor.d.ts +115 -0
  102. package/templates/vanilla/node_modules/postcss/lib/processor.js +67 -0
  103. package/templates/vanilla/node_modules/postcss/lib/result.d.ts +205 -0
  104. package/templates/vanilla/node_modules/postcss/lib/result.js +42 -0
  105. package/templates/vanilla/node_modules/postcss/lib/root.d.ts +87 -0
  106. package/templates/vanilla/node_modules/postcss/lib/root.js +61 -0
  107. package/templates/vanilla/node_modules/postcss/lib/rule.d.ts +126 -0
  108. package/templates/vanilla/node_modules/postcss/lib/rule.js +27 -0
  109. package/templates/vanilla/node_modules/postcss/lib/stringifier.d.ts +46 -0
  110. package/templates/vanilla/node_modules/postcss/lib/stringifier.js +353 -0
  111. package/templates/vanilla/node_modules/postcss/lib/stringify.d.ts +9 -0
  112. package/templates/vanilla/node_modules/postcss/lib/stringify.js +11 -0
  113. package/templates/vanilla/node_modules/postcss/lib/symbols.js +5 -0
  114. package/templates/vanilla/node_modules/postcss/lib/terminal-highlight.js +70 -0
  115. package/templates/vanilla/node_modules/postcss/lib/tokenize.js +266 -0
  116. package/templates/vanilla/node_modules/postcss/lib/warn-once.js +13 -0
  117. package/templates/vanilla/node_modules/postcss/lib/warning.d.ts +147 -0
  118. package/templates/vanilla/node_modules/postcss/lib/warning.js +37 -0
  119. package/templates/vanilla/node_modules/postcss/package.json +88 -0
  120. package/templates/vanilla/node_modules/rollup/LICENSE.md +695 -0
  121. package/templates/vanilla/node_modules/rollup/README.md +125 -0
  122. package/templates/vanilla/node_modules/rollup/dist/bin/rollup +1715 -0
  123. package/templates/vanilla/node_modules/rollup/dist/es/getLogFilter.js +64 -0
  124. package/templates/vanilla/node_modules/rollup/dist/es/package.json +1 -0
  125. package/templates/vanilla/node_modules/rollup/dist/es/rollup.js +17 -0
  126. package/templates/vanilla/node_modules/rollup/dist/es/shared/node-entry.js +27273 -0
  127. package/templates/vanilla/node_modules/rollup/dist/es/shared/watch.js +4857 -0
  128. package/templates/vanilla/node_modules/rollup/dist/getLogFilter.d.ts +5 -0
  129. package/templates/vanilla/node_modules/rollup/dist/getLogFilter.js +69 -0
  130. package/templates/vanilla/node_modules/rollup/dist/loadConfigFile.d.ts +20 -0
  131. package/templates/vanilla/node_modules/rollup/dist/loadConfigFile.js +29 -0
  132. package/templates/vanilla/node_modules/rollup/dist/rollup.d.ts +1012 -0
  133. package/templates/vanilla/node_modules/rollup/dist/rollup.js +31 -0
  134. package/templates/vanilla/node_modules/rollup/dist/shared/fsevents-importer.js +37 -0
  135. package/templates/vanilla/node_modules/rollup/dist/shared/index.js +4571 -0
  136. package/templates/vanilla/node_modules/rollup/dist/shared/loadConfigFile.js +546 -0
  137. package/templates/vanilla/node_modules/rollup/dist/shared/rollup.js +27351 -0
  138. package/templates/vanilla/node_modules/rollup/dist/shared/watch-cli.js +561 -0
  139. package/templates/vanilla/node_modules/rollup/dist/shared/watch-proxy.js +87 -0
  140. package/templates/vanilla/node_modules/rollup/dist/shared/watch.js +316 -0
  141. package/templates/vanilla/node_modules/rollup/package.json +181 -0
  142. package/templates/vanilla/node_modules/source-map-js/LICENSE +28 -0
  143. package/templates/vanilla/node_modules/source-map-js/README.md +765 -0
  144. package/templates/vanilla/node_modules/source-map-js/lib/array-set.js +121 -0
  145. package/templates/vanilla/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  146. package/templates/vanilla/node_modules/source-map-js/lib/base64.js +67 -0
  147. package/templates/vanilla/node_modules/source-map-js/lib/binary-search.js +111 -0
  148. package/templates/vanilla/node_modules/source-map-js/lib/mapping-list.js +79 -0
  149. package/templates/vanilla/node_modules/source-map-js/lib/quick-sort.js +132 -0
  150. package/templates/vanilla/node_modules/source-map-js/lib/source-map-consumer.d.ts +1 -0
  151. package/templates/vanilla/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  152. package/templates/vanilla/node_modules/source-map-js/lib/source-map-generator.d.ts +1 -0
  153. package/templates/vanilla/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  154. package/templates/vanilla/node_modules/source-map-js/lib/source-node.d.ts +1 -0
  155. package/templates/vanilla/node_modules/source-map-js/lib/source-node.js +413 -0
  156. package/templates/vanilla/node_modules/source-map-js/lib/util.js +594 -0
  157. package/templates/vanilla/node_modules/source-map-js/package.json +71 -0
  158. package/templates/vanilla/node_modules/source-map-js/source-map.d.ts +104 -0
  159. package/templates/vanilla/node_modules/source-map-js/source-map.js +8 -0
  160. package/templates/vanilla/node_modules/vite/LICENSE.md +3396 -0
  161. package/templates/vanilla/node_modules/vite/README.md +20 -0
  162. package/templates/vanilla/node_modules/vite/bin/openChrome.applescript +95 -0
  163. package/templates/vanilla/node_modules/vite/bin/vite.js +61 -0
  164. package/templates/vanilla/node_modules/vite/client.d.ts +281 -0
  165. package/templates/vanilla/node_modules/vite/dist/client/client.mjs +725 -0
  166. package/templates/vanilla/node_modules/vite/dist/client/client.mjs.map +1 -0
  167. package/templates/vanilla/node_modules/vite/dist/client/env.mjs +30 -0
  168. package/templates/vanilla/node_modules/vite/dist/client/env.mjs.map +1 -0
  169. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-7ec6f216.js +914 -0
  170. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-827b23df.js +66713 -0
  171. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-c423598f.js +561 -0
  172. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-f0c7dae0.js +7930 -0
  173. package/templates/vanilla/node_modules/vite/dist/node/chunks/dep-f1e8587f.js +7646 -0
  174. package/templates/vanilla/node_modules/vite/dist/node/cli.js +929 -0
  175. package/templates/vanilla/node_modules/vite/dist/node/constants.js +130 -0
  176. package/templates/vanilla/node_modules/vite/dist/node/index.d.ts +3548 -0
  177. package/templates/vanilla/node_modules/vite/dist/node/index.js +158 -0
  178. package/templates/vanilla/node_modules/vite/dist/node-cjs/publicUtils.cjs +4555 -0
  179. package/templates/vanilla/node_modules/vite/index.cjs +34 -0
  180. package/templates/vanilla/node_modules/vite/package.json +173 -0
  181. package/templates/vanilla/node_modules/vite/types/customEvent.d.ts +35 -0
  182. package/templates/vanilla/node_modules/vite/types/hmrPayload.d.ts +61 -0
  183. package/templates/vanilla/node_modules/vite/types/hot.d.ts +32 -0
  184. package/templates/vanilla/node_modules/vite/types/importGlob.d.ts +97 -0
  185. package/templates/vanilla/node_modules/vite/types/importMeta.d.ts +26 -0
  186. package/templates/vanilla/node_modules/vite/types/metadata.d.ts +10 -0
  187. package/templates/vanilla/node_modules/vite/types/package.json +4 -0
  188. package/templates/vanilla/package-lock.json +589 -0
  189. package/templates/vanilla/package.json +17 -0
  190. package/templates/vanilla/src/components/App.js +60 -0
  191. package/templates/vanilla/src/components/Card.js +21 -0
  192. package/templates/vanilla/src/components/Hero.js +15 -0
  193. package/templates/vanilla/src/components/InteractiveDemo.js +59 -0
  194. package/templates/vanilla/src/main.js +9 -0
  195. package/templates/vanilla/src/style/main.css +172 -0
  196. package/templates/vanilla/vite.config.js +8 -0
  197. package/templates/web3/.env.example +15 -0
  198. package/templates/web3/.github/workflows/deploy.yml +38 -0
  199. package/templates/web3/README.md +33 -0
  200. package/templates/web3/contracts/foundry.toml +11 -0
  201. package/templates/web3/contracts/script/Deploy.s.sol +13 -0
  202. package/templates/web3/contracts/src/Counter.sol +21 -0
  203. package/templates/web3/index.html +13 -0
  204. package/templates/web3/package.json +25 -0
  205. package/templates/web3/scripts/chain-start.mjs +305 -0
  206. package/templates/web3/scripts/chain-stop.mjs +34 -0
  207. package/templates/web3/scripts/deploy.mjs +155 -0
  208. package/templates/web3/scripts/setup.mjs +42 -0
  209. package/templates/web3/src/components/App.js +49 -0
  210. package/templates/web3/src/components/CounterCard.js +111 -0
  211. package/templates/web3/src/main.js +54 -0
  212. package/templates/web3/src/style/main.css +345 -0
  213. package/templates/web3/vite.config.js +29 -0
@@ -0,0 +1,561 @@
1
+ import { fileURLToPath as __cjs_fileURLToPath } from 'node:url';
2
+ import { dirname as __cjs_dirname } from 'node:path';
3
+ import { createRequire as __cjs_createRequire } from 'node:module';
4
+
5
+ const __filename = __cjs_fileURLToPath(import.meta.url);
6
+ const __dirname = __cjs_dirname(__filename);
7
+ const require = __cjs_createRequire(import.meta.url);
8
+ const __require = require;
9
+ var openParentheses = "(".charCodeAt(0);
10
+ var closeParentheses = ")".charCodeAt(0);
11
+ var singleQuote = "'".charCodeAt(0);
12
+ var doubleQuote = '"'.charCodeAt(0);
13
+ var backslash = "\\".charCodeAt(0);
14
+ var slash = "/".charCodeAt(0);
15
+ var comma = ",".charCodeAt(0);
16
+ var colon = ":".charCodeAt(0);
17
+ var star = "*".charCodeAt(0);
18
+ var uLower = "u".charCodeAt(0);
19
+ var uUpper = "U".charCodeAt(0);
20
+ var plus = "+".charCodeAt(0);
21
+ var isUnicodeRange = /^[a-f0-9?-]+$/i;
22
+
23
+ var parse$1 = function(input) {
24
+ var tokens = [];
25
+ var value = input;
26
+
27
+ var next,
28
+ quote,
29
+ prev,
30
+ token,
31
+ escape,
32
+ escapePos,
33
+ whitespacePos,
34
+ parenthesesOpenPos;
35
+ var pos = 0;
36
+ var code = value.charCodeAt(pos);
37
+ var max = value.length;
38
+ var stack = [{ nodes: tokens }];
39
+ var balanced = 0;
40
+ var parent;
41
+
42
+ var name = "";
43
+ var before = "";
44
+ var after = "";
45
+
46
+ while (pos < max) {
47
+ // Whitespaces
48
+ if (code <= 32) {
49
+ next = pos;
50
+ do {
51
+ next += 1;
52
+ code = value.charCodeAt(next);
53
+ } while (code <= 32);
54
+ token = value.slice(pos, next);
55
+
56
+ prev = tokens[tokens.length - 1];
57
+ if (code === closeParentheses && balanced) {
58
+ after = token;
59
+ } else if (prev && prev.type === "div") {
60
+ prev.after = token;
61
+ prev.sourceEndIndex += token.length;
62
+ } else if (
63
+ code === comma ||
64
+ code === colon ||
65
+ (code === slash &&
66
+ value.charCodeAt(next + 1) !== star &&
67
+ (!parent ||
68
+ (parent && parent.type === "function" && parent.value !== "calc")))
69
+ ) {
70
+ before = token;
71
+ } else {
72
+ tokens.push({
73
+ type: "space",
74
+ sourceIndex: pos,
75
+ sourceEndIndex: next,
76
+ value: token
77
+ });
78
+ }
79
+
80
+ pos = next;
81
+
82
+ // Quotes
83
+ } else if (code === singleQuote || code === doubleQuote) {
84
+ next = pos;
85
+ quote = code === singleQuote ? "'" : '"';
86
+ token = {
87
+ type: "string",
88
+ sourceIndex: pos,
89
+ quote: quote
90
+ };
91
+ do {
92
+ escape = false;
93
+ next = value.indexOf(quote, next + 1);
94
+ if (~next) {
95
+ escapePos = next;
96
+ while (value.charCodeAt(escapePos - 1) === backslash) {
97
+ escapePos -= 1;
98
+ escape = !escape;
99
+ }
100
+ } else {
101
+ value += quote;
102
+ next = value.length - 1;
103
+ token.unclosed = true;
104
+ }
105
+ } while (escape);
106
+ token.value = value.slice(pos + 1, next);
107
+ token.sourceEndIndex = token.unclosed ? next : next + 1;
108
+ tokens.push(token);
109
+ pos = next + 1;
110
+ code = value.charCodeAt(pos);
111
+
112
+ // Comments
113
+ } else if (code === slash && value.charCodeAt(pos + 1) === star) {
114
+ next = value.indexOf("*/", pos);
115
+
116
+ token = {
117
+ type: "comment",
118
+ sourceIndex: pos,
119
+ sourceEndIndex: next + 2
120
+ };
121
+
122
+ if (next === -1) {
123
+ token.unclosed = true;
124
+ next = value.length;
125
+ token.sourceEndIndex = next;
126
+ }
127
+
128
+ token.value = value.slice(pos + 2, next);
129
+ tokens.push(token);
130
+
131
+ pos = next + 2;
132
+ code = value.charCodeAt(pos);
133
+
134
+ // Operation within calc
135
+ } else if (
136
+ (code === slash || code === star) &&
137
+ parent &&
138
+ parent.type === "function" &&
139
+ parent.value === "calc"
140
+ ) {
141
+ token = value[pos];
142
+ tokens.push({
143
+ type: "word",
144
+ sourceIndex: pos - before.length,
145
+ sourceEndIndex: pos + token.length,
146
+ value: token
147
+ });
148
+ pos += 1;
149
+ code = value.charCodeAt(pos);
150
+
151
+ // Dividers
152
+ } else if (code === slash || code === comma || code === colon) {
153
+ token = value[pos];
154
+
155
+ tokens.push({
156
+ type: "div",
157
+ sourceIndex: pos - before.length,
158
+ sourceEndIndex: pos + token.length,
159
+ value: token,
160
+ before: before,
161
+ after: ""
162
+ });
163
+ before = "";
164
+
165
+ pos += 1;
166
+ code = value.charCodeAt(pos);
167
+
168
+ // Open parentheses
169
+ } else if (openParentheses === code) {
170
+ // Whitespaces after open parentheses
171
+ next = pos;
172
+ do {
173
+ next += 1;
174
+ code = value.charCodeAt(next);
175
+ } while (code <= 32);
176
+ parenthesesOpenPos = pos;
177
+ token = {
178
+ type: "function",
179
+ sourceIndex: pos - name.length,
180
+ value: name,
181
+ before: value.slice(parenthesesOpenPos + 1, next)
182
+ };
183
+ pos = next;
184
+
185
+ if (name === "url" && code !== singleQuote && code !== doubleQuote) {
186
+ next -= 1;
187
+ do {
188
+ escape = false;
189
+ next = value.indexOf(")", next + 1);
190
+ if (~next) {
191
+ escapePos = next;
192
+ while (value.charCodeAt(escapePos - 1) === backslash) {
193
+ escapePos -= 1;
194
+ escape = !escape;
195
+ }
196
+ } else {
197
+ value += ")";
198
+ next = value.length - 1;
199
+ token.unclosed = true;
200
+ }
201
+ } while (escape);
202
+ // Whitespaces before closed
203
+ whitespacePos = next;
204
+ do {
205
+ whitespacePos -= 1;
206
+ code = value.charCodeAt(whitespacePos);
207
+ } while (code <= 32);
208
+ if (parenthesesOpenPos < whitespacePos) {
209
+ if (pos !== whitespacePos + 1) {
210
+ token.nodes = [
211
+ {
212
+ type: "word",
213
+ sourceIndex: pos,
214
+ sourceEndIndex: whitespacePos + 1,
215
+ value: value.slice(pos, whitespacePos + 1)
216
+ }
217
+ ];
218
+ } else {
219
+ token.nodes = [];
220
+ }
221
+ if (token.unclosed && whitespacePos + 1 !== next) {
222
+ token.after = "";
223
+ token.nodes.push({
224
+ type: "space",
225
+ sourceIndex: whitespacePos + 1,
226
+ sourceEndIndex: next,
227
+ value: value.slice(whitespacePos + 1, next)
228
+ });
229
+ } else {
230
+ token.after = value.slice(whitespacePos + 1, next);
231
+ token.sourceEndIndex = next;
232
+ }
233
+ } else {
234
+ token.after = "";
235
+ token.nodes = [];
236
+ }
237
+ pos = next + 1;
238
+ token.sourceEndIndex = token.unclosed ? next : pos;
239
+ code = value.charCodeAt(pos);
240
+ tokens.push(token);
241
+ } else {
242
+ balanced += 1;
243
+ token.after = "";
244
+ token.sourceEndIndex = pos + 1;
245
+ tokens.push(token);
246
+ stack.push(token);
247
+ tokens = token.nodes = [];
248
+ parent = token;
249
+ }
250
+ name = "";
251
+
252
+ // Close parentheses
253
+ } else if (closeParentheses === code && balanced) {
254
+ pos += 1;
255
+ code = value.charCodeAt(pos);
256
+
257
+ parent.after = after;
258
+ parent.sourceEndIndex += after.length;
259
+ after = "";
260
+ balanced -= 1;
261
+ stack[stack.length - 1].sourceEndIndex = pos;
262
+ stack.pop();
263
+ parent = stack[balanced];
264
+ tokens = parent.nodes;
265
+
266
+ // Words
267
+ } else {
268
+ next = pos;
269
+ do {
270
+ if (code === backslash) {
271
+ next += 1;
272
+ }
273
+ next += 1;
274
+ code = value.charCodeAt(next);
275
+ } while (
276
+ next < max &&
277
+ !(
278
+ code <= 32 ||
279
+ code === singleQuote ||
280
+ code === doubleQuote ||
281
+ code === comma ||
282
+ code === colon ||
283
+ code === slash ||
284
+ code === openParentheses ||
285
+ (code === star &&
286
+ parent &&
287
+ parent.type === "function" &&
288
+ parent.value === "calc") ||
289
+ (code === slash &&
290
+ parent.type === "function" &&
291
+ parent.value === "calc") ||
292
+ (code === closeParentheses && balanced)
293
+ )
294
+ );
295
+ token = value.slice(pos, next);
296
+
297
+ if (openParentheses === code) {
298
+ name = token;
299
+ } else if (
300
+ (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) &&
301
+ plus === token.charCodeAt(1) &&
302
+ isUnicodeRange.test(token.slice(2))
303
+ ) {
304
+ tokens.push({
305
+ type: "unicode-range",
306
+ sourceIndex: pos,
307
+ sourceEndIndex: next,
308
+ value: token
309
+ });
310
+ } else {
311
+ tokens.push({
312
+ type: "word",
313
+ sourceIndex: pos,
314
+ sourceEndIndex: next,
315
+ value: token
316
+ });
317
+ }
318
+
319
+ pos = next;
320
+ }
321
+ }
322
+
323
+ for (pos = stack.length - 1; pos; pos -= 1) {
324
+ stack[pos].unclosed = true;
325
+ stack[pos].sourceEndIndex = value.length;
326
+ }
327
+
328
+ return stack[0].nodes;
329
+ };
330
+
331
+ var walk$1 = function walk(nodes, cb, bubble) {
332
+ var i, max, node, result;
333
+
334
+ for (i = 0, max = nodes.length; i < max; i += 1) {
335
+ node = nodes[i];
336
+ if (!bubble) {
337
+ result = cb(node, i, nodes);
338
+ }
339
+
340
+ if (
341
+ result !== false &&
342
+ node.type === "function" &&
343
+ Array.isArray(node.nodes)
344
+ ) {
345
+ walk(node.nodes, cb, bubble);
346
+ }
347
+
348
+ if (bubble) {
349
+ cb(node, i, nodes);
350
+ }
351
+ }
352
+ };
353
+
354
+ function stringifyNode(node, custom) {
355
+ var type = node.type;
356
+ var value = node.value;
357
+ var buf;
358
+ var customResult;
359
+
360
+ if (custom && (customResult = custom(node)) !== undefined) {
361
+ return customResult;
362
+ } else if (type === "word" || type === "space") {
363
+ return value;
364
+ } else if (type === "string") {
365
+ buf = node.quote || "";
366
+ return buf + value + (node.unclosed ? "" : buf);
367
+ } else if (type === "comment") {
368
+ return "/*" + value + (node.unclosed ? "" : "*/");
369
+ } else if (type === "div") {
370
+ return (node.before || "") + value + (node.after || "");
371
+ } else if (Array.isArray(node.nodes)) {
372
+ buf = stringify$1(node.nodes, custom);
373
+ if (type !== "function") {
374
+ return buf;
375
+ }
376
+ return (
377
+ value +
378
+ "(" +
379
+ (node.before || "") +
380
+ buf +
381
+ (node.after || "") +
382
+ (node.unclosed ? "" : ")")
383
+ );
384
+ }
385
+ return value;
386
+ }
387
+
388
+ function stringify$1(nodes, custom) {
389
+ var result, i;
390
+
391
+ if (Array.isArray(nodes)) {
392
+ result = "";
393
+ for (i = nodes.length - 1; ~i; i -= 1) {
394
+ result = stringifyNode(nodes[i], custom) + result;
395
+ }
396
+ return result;
397
+ }
398
+ return stringifyNode(nodes, custom);
399
+ }
400
+
401
+ var stringify_1 = stringify$1;
402
+
403
+ var unit;
404
+ var hasRequiredUnit;
405
+
406
+ function requireUnit () {
407
+ if (hasRequiredUnit) return unit;
408
+ hasRequiredUnit = 1;
409
+ var minus = "-".charCodeAt(0);
410
+ var plus = "+".charCodeAt(0);
411
+ var dot = ".".charCodeAt(0);
412
+ var exp = "e".charCodeAt(0);
413
+ var EXP = "E".charCodeAt(0);
414
+
415
+ // Check if three code points would start a number
416
+ // https://www.w3.org/TR/css-syntax-3/#starts-with-a-number
417
+ function likeNumber(value) {
418
+ var code = value.charCodeAt(0);
419
+ var nextCode;
420
+
421
+ if (code === plus || code === minus) {
422
+ nextCode = value.charCodeAt(1);
423
+
424
+ if (nextCode >= 48 && nextCode <= 57) {
425
+ return true;
426
+ }
427
+
428
+ var nextNextCode = value.charCodeAt(2);
429
+
430
+ if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) {
431
+ return true;
432
+ }
433
+
434
+ return false;
435
+ }
436
+
437
+ if (code === dot) {
438
+ nextCode = value.charCodeAt(1);
439
+
440
+ if (nextCode >= 48 && nextCode <= 57) {
441
+ return true;
442
+ }
443
+
444
+ return false;
445
+ }
446
+
447
+ if (code >= 48 && code <= 57) {
448
+ return true;
449
+ }
450
+
451
+ return false;
452
+ }
453
+
454
+ // Consume a number
455
+ // https://www.w3.org/TR/css-syntax-3/#consume-number
456
+ unit = function(value) {
457
+ var pos = 0;
458
+ var length = value.length;
459
+ var code;
460
+ var nextCode;
461
+ var nextNextCode;
462
+
463
+ if (length === 0 || !likeNumber(value)) {
464
+ return false;
465
+ }
466
+
467
+ code = value.charCodeAt(pos);
468
+
469
+ if (code === plus || code === minus) {
470
+ pos++;
471
+ }
472
+
473
+ while (pos < length) {
474
+ code = value.charCodeAt(pos);
475
+
476
+ if (code < 48 || code > 57) {
477
+ break;
478
+ }
479
+
480
+ pos += 1;
481
+ }
482
+
483
+ code = value.charCodeAt(pos);
484
+ nextCode = value.charCodeAt(pos + 1);
485
+
486
+ if (code === dot && nextCode >= 48 && nextCode <= 57) {
487
+ pos += 2;
488
+
489
+ while (pos < length) {
490
+ code = value.charCodeAt(pos);
491
+
492
+ if (code < 48 || code > 57) {
493
+ break;
494
+ }
495
+
496
+ pos += 1;
497
+ }
498
+ }
499
+
500
+ code = value.charCodeAt(pos);
501
+ nextCode = value.charCodeAt(pos + 1);
502
+ nextNextCode = value.charCodeAt(pos + 2);
503
+
504
+ if (
505
+ (code === exp || code === EXP) &&
506
+ ((nextCode >= 48 && nextCode <= 57) ||
507
+ ((nextCode === plus || nextCode === minus) &&
508
+ nextNextCode >= 48 &&
509
+ nextNextCode <= 57))
510
+ ) {
511
+ pos += nextCode === plus || nextCode === minus ? 3 : 2;
512
+
513
+ while (pos < length) {
514
+ code = value.charCodeAt(pos);
515
+
516
+ if (code < 48 || code > 57) {
517
+ break;
518
+ }
519
+
520
+ pos += 1;
521
+ }
522
+ }
523
+
524
+ return {
525
+ number: value.slice(0, pos),
526
+ unit: value.slice(pos)
527
+ };
528
+ };
529
+ return unit;
530
+ }
531
+
532
+ var parse = parse$1;
533
+ var walk = walk$1;
534
+ var stringify = stringify_1;
535
+
536
+ function ValueParser(value) {
537
+ if (this instanceof ValueParser) {
538
+ this.nodes = parse(value);
539
+ return this;
540
+ }
541
+ return new ValueParser(value);
542
+ }
543
+
544
+ ValueParser.prototype.toString = function() {
545
+ return Array.isArray(this.nodes) ? stringify(this.nodes) : "";
546
+ };
547
+
548
+ ValueParser.prototype.walk = function(cb, bubble) {
549
+ walk(this.nodes, cb, bubble);
550
+ return this;
551
+ };
552
+
553
+ ValueParser.unit = requireUnit();
554
+
555
+ ValueParser.walk = walk;
556
+
557
+ ValueParser.stringify = stringify;
558
+
559
+ var lib = ValueParser;
560
+
561
+ export { lib as l };