@universityofmaryland/web-model-library 1.0.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 (252) hide show
  1. package/README.md +138 -0
  2. package/dist/_types.d.ts +77 -0
  3. package/dist/_types.d.ts.map +1 -0
  4. package/dist/_virtual/___vite-browser-external.js +8 -0
  5. package/dist/_virtual/___vite-browser-external.js.map +1 -0
  6. package/dist/_virtual/___vite-browser-external.mjs +7 -0
  7. package/dist/_virtual/___vite-browser-external.mjs.map +1 -0
  8. package/dist/_virtual/__vite-browser-external.js +4 -0
  9. package/dist/_virtual/__vite-browser-external.js.map +1 -0
  10. package/dist/_virtual/__vite-browser-external.mjs +5 -0
  11. package/dist/_virtual/__vite-browser-external.mjs.map +1 -0
  12. package/dist/_virtual/_commonjsHelpers.js +37 -0
  13. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  14. package/dist/_virtual/_commonjsHelpers.mjs +37 -0
  15. package/dist/_virtual/_commonjsHelpers.mjs.map +1 -0
  16. package/dist/_virtual/index.js +7 -0
  17. package/dist/_virtual/index.js.map +1 -0
  18. package/dist/_virtual/index.mjs +8 -0
  19. package/dist/_virtual/index.mjs.map +1 -0
  20. package/dist/_virtual/picocolors.browser.js +5 -0
  21. package/dist/_virtual/picocolors.browser.js.map +1 -0
  22. package/dist/_virtual/picocolors.browser.mjs +5 -0
  23. package/dist/_virtual/picocolors.browser.mjs.map +1 -0
  24. package/dist/_virtual/postcss.js +7 -0
  25. package/dist/_virtual/postcss.js.map +1 -0
  26. package/dist/_virtual/postcss.mjs +8 -0
  27. package/dist/_virtual/postcss.mjs.map +1 -0
  28. package/dist/_virtual/symbols.js +5 -0
  29. package/dist/_virtual/symbols.js.map +1 -0
  30. package/dist/_virtual/symbols.mjs +5 -0
  31. package/dist/_virtual/symbols.mjs.map +1 -0
  32. package/dist/attributes/checks.d.ts +133 -0
  33. package/dist/attributes/checks.d.ts.map +1 -0
  34. package/dist/attributes/checks.js +757 -0
  35. package/dist/attributes/checks.js.map +1 -0
  36. package/dist/attributes/checks.mjs +740 -0
  37. package/dist/attributes/checks.mjs.map +1 -0
  38. package/dist/attributes/handler.d.ts +52 -0
  39. package/dist/attributes/handler.d.ts.map +1 -0
  40. package/dist/attributes/handler.js +205 -0
  41. package/dist/attributes/handler.js.map +1 -0
  42. package/dist/attributes/handler.mjs +206 -0
  43. package/dist/attributes/handler.mjs.map +1 -0
  44. package/dist/attributes/index.d.ts +7 -0
  45. package/dist/attributes/index.d.ts.map +1 -0
  46. package/dist/attributes/names.d.ts +132 -0
  47. package/dist/attributes/names.d.ts.map +1 -0
  48. package/dist/attributes/names.js +145 -0
  49. package/dist/attributes/names.js.map +1 -0
  50. package/dist/attributes/names.mjs +146 -0
  51. package/dist/attributes/names.mjs.map +1 -0
  52. package/dist/attributes/values.d.ts +70 -0
  53. package/dist/attributes/values.d.ts.map +1 -0
  54. package/dist/attributes/values.js +80 -0
  55. package/dist/attributes/values.js.map +1 -0
  56. package/dist/attributes/values.mjs +81 -0
  57. package/dist/attributes/values.mjs.map +1 -0
  58. package/dist/attributes.d.ts +2 -0
  59. package/dist/attributes.js +23 -0
  60. package/dist/attributes.js.map +1 -0
  61. package/dist/attributes.mjs +23 -0
  62. package/dist/attributes.mjs.map +1 -0
  63. package/dist/index.d.ts +10 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +13 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/index.mjs +13 -0
  68. package/dist/index.mjs.map +1 -0
  69. package/dist/model/index.d.ts +43 -0
  70. package/dist/model/index.d.ts.map +1 -0
  71. package/dist/model.d.ts +2 -0
  72. package/dist/model.js +259 -0
  73. package/dist/model.js.map +1 -0
  74. package/dist/model.mjs +259 -0
  75. package/dist/model.mjs.map +1 -0
  76. package/dist/node_modules/nanoid/non-secure/index.js +31 -0
  77. package/dist/node_modules/nanoid/non-secure/index.js.map +1 -0
  78. package/dist/node_modules/nanoid/non-secure/index.mjs +31 -0
  79. package/dist/node_modules/nanoid/non-secure/index.mjs.map +1 -0
  80. package/dist/node_modules/picocolors/picocolors.browser.js +17 -0
  81. package/dist/node_modules/picocolors/picocolors.browser.js.map +1 -0
  82. package/dist/node_modules/picocolors/picocolors.browser.mjs +17 -0
  83. package/dist/node_modules/picocolors/picocolors.browser.mjs.map +1 -0
  84. package/dist/node_modules/postcss/lib/at-rule.js +30 -0
  85. package/dist/node_modules/postcss/lib/at-rule.js.map +1 -0
  86. package/dist/node_modules/postcss/lib/at-rule.mjs +30 -0
  87. package/dist/node_modules/postcss/lib/at-rule.mjs.map +1 -0
  88. package/dist/node_modules/postcss/lib/comment.js +21 -0
  89. package/dist/node_modules/postcss/lib/comment.js.map +1 -0
  90. package/dist/node_modules/postcss/lib/comment.mjs +21 -0
  91. package/dist/node_modules/postcss/lib/comment.mjs.map +1 -0
  92. package/dist/node_modules/postcss/lib/container.js +383 -0
  93. package/dist/node_modules/postcss/lib/container.js.map +1 -0
  94. package/dist/node_modules/postcss/lib/container.mjs +383 -0
  95. package/dist/node_modules/postcss/lib/container.mjs.map +1 -0
  96. package/dist/node_modules/postcss/lib/css-syntax-error.js +92 -0
  97. package/dist/node_modules/postcss/lib/css-syntax-error.js.map +1 -0
  98. package/dist/node_modules/postcss/lib/css-syntax-error.mjs +92 -0
  99. package/dist/node_modules/postcss/lib/css-syntax-error.mjs.map +1 -0
  100. package/dist/node_modules/postcss/lib/declaration.js +27 -0
  101. package/dist/node_modules/postcss/lib/declaration.js.map +1 -0
  102. package/dist/node_modules/postcss/lib/declaration.mjs +27 -0
  103. package/dist/node_modules/postcss/lib/declaration.mjs.map +1 -0
  104. package/dist/node_modules/postcss/lib/document.js +34 -0
  105. package/dist/node_modules/postcss/lib/document.js.map +1 -0
  106. package/dist/node_modules/postcss/lib/document.mjs +34 -0
  107. package/dist/node_modules/postcss/lib/document.mjs.map +1 -0
  108. package/dist/node_modules/postcss/lib/fromJSON.js +67 -0
  109. package/dist/node_modules/postcss/lib/fromJSON.js.map +1 -0
  110. package/dist/node_modules/postcss/lib/fromJSON.mjs +67 -0
  111. package/dist/node_modules/postcss/lib/fromJSON.mjs.map +1 -0
  112. package/dist/node_modules/postcss/lib/input.js +216 -0
  113. package/dist/node_modules/postcss/lib/input.js.map +1 -0
  114. package/dist/node_modules/postcss/lib/input.mjs +216 -0
  115. package/dist/node_modules/postcss/lib/input.mjs.map +1 -0
  116. package/dist/node_modules/postcss/lib/lazy-result.js +467 -0
  117. package/dist/node_modules/postcss/lib/lazy-result.js.map +1 -0
  118. package/dist/node_modules/postcss/lib/lazy-result.mjs +467 -0
  119. package/dist/node_modules/postcss/lib/lazy-result.mjs.map +1 -0
  120. package/dist/node_modules/postcss/lib/list.js +60 -0
  121. package/dist/node_modules/postcss/lib/list.js.map +1 -0
  122. package/dist/node_modules/postcss/lib/list.mjs +60 -0
  123. package/dist/node_modules/postcss/lib/list.mjs.map +1 -0
  124. package/dist/node_modules/postcss/lib/map-generator.js +314 -0
  125. package/dist/node_modules/postcss/lib/map-generator.js.map +1 -0
  126. package/dist/node_modules/postcss/lib/map-generator.mjs +314 -0
  127. package/dist/node_modules/postcss/lib/map-generator.mjs.map +1 -0
  128. package/dist/node_modules/postcss/lib/no-work-result.js +113 -0
  129. package/dist/node_modules/postcss/lib/no-work-result.js.map +1 -0
  130. package/dist/node_modules/postcss/lib/no-work-result.mjs +113 -0
  131. package/dist/node_modules/postcss/lib/no-work-result.mjs.map +1 -0
  132. package/dist/node_modules/postcss/lib/node.js +335 -0
  133. package/dist/node_modules/postcss/lib/node.js.map +1 -0
  134. package/dist/node_modules/postcss/lib/node.mjs +335 -0
  135. package/dist/node_modules/postcss/lib/node.mjs.map +1 -0
  136. package/dist/node_modules/postcss/lib/parse.js +30 -0
  137. package/dist/node_modules/postcss/lib/parse.js.map +1 -0
  138. package/dist/node_modules/postcss/lib/parse.mjs +30 -0
  139. package/dist/node_modules/postcss/lib/parse.mjs.map +1 -0
  140. package/dist/node_modules/postcss/lib/parser.js +543 -0
  141. package/dist/node_modules/postcss/lib/parser.js.map +1 -0
  142. package/dist/node_modules/postcss/lib/parser.mjs +543 -0
  143. package/dist/node_modules/postcss/lib/parser.mjs.map +1 -0
  144. package/dist/node_modules/postcss/lib/postcss.js +28 -0
  145. package/dist/node_modules/postcss/lib/postcss.js.map +1 -0
  146. package/dist/node_modules/postcss/lib/postcss.mjs +29 -0
  147. package/dist/node_modules/postcss/lib/postcss.mjs.map +1 -0
  148. package/dist/node_modules/postcss/lib/postcss2.js +110 -0
  149. package/dist/node_modules/postcss/lib/postcss2.js.map +1 -0
  150. package/dist/node_modules/postcss/lib/postcss2.mjs +110 -0
  151. package/dist/node_modules/postcss/lib/postcss2.mjs.map +1 -0
  152. package/dist/node_modules/postcss/lib/previous-map.js +123 -0
  153. package/dist/node_modules/postcss/lib/previous-map.js.map +1 -0
  154. package/dist/node_modules/postcss/lib/previous-map.mjs +123 -0
  155. package/dist/node_modules/postcss/lib/previous-map.mjs.map +1 -0
  156. package/dist/node_modules/postcss/lib/processor.js +61 -0
  157. package/dist/node_modules/postcss/lib/processor.js.map +1 -0
  158. package/dist/node_modules/postcss/lib/processor.mjs +61 -0
  159. package/dist/node_modules/postcss/lib/processor.mjs.map +1 -0
  160. package/dist/node_modules/postcss/lib/result.js +44 -0
  161. package/dist/node_modules/postcss/lib/result.js.map +1 -0
  162. package/dist/node_modules/postcss/lib/result.mjs +44 -0
  163. package/dist/node_modules/postcss/lib/result.mjs.map +1 -0
  164. package/dist/node_modules/postcss/lib/root.js +58 -0
  165. package/dist/node_modules/postcss/lib/root.js.map +1 -0
  166. package/dist/node_modules/postcss/lib/root.mjs +58 -0
  167. package/dist/node_modules/postcss/lib/root.mjs.map +1 -0
  168. package/dist/node_modules/postcss/lib/rule.js +33 -0
  169. package/dist/node_modules/postcss/lib/rule.js.map +1 -0
  170. package/dist/node_modules/postcss/lib/rule.mjs +33 -0
  171. package/dist/node_modules/postcss/lib/rule.mjs.map +1 -0
  172. package/dist/node_modules/postcss/lib/stringifier.js +308 -0
  173. package/dist/node_modules/postcss/lib/stringifier.js.map +1 -0
  174. package/dist/node_modules/postcss/lib/stringifier.mjs +308 -0
  175. package/dist/node_modules/postcss/lib/stringifier.mjs.map +1 -0
  176. package/dist/node_modules/postcss/lib/stringify.js +19 -0
  177. package/dist/node_modules/postcss/lib/stringify.js.map +1 -0
  178. package/dist/node_modules/postcss/lib/stringify.mjs +19 -0
  179. package/dist/node_modules/postcss/lib/stringify.mjs.map +1 -0
  180. package/dist/node_modules/postcss/lib/symbols.js +13 -0
  181. package/dist/node_modules/postcss/lib/symbols.js.map +1 -0
  182. package/dist/node_modules/postcss/lib/symbols.mjs +13 -0
  183. package/dist/node_modules/postcss/lib/symbols.mjs.map +1 -0
  184. package/dist/node_modules/postcss/lib/tokenize.js +219 -0
  185. package/dist/node_modules/postcss/lib/tokenize.js.map +1 -0
  186. package/dist/node_modules/postcss/lib/tokenize.mjs +219 -0
  187. package/dist/node_modules/postcss/lib/tokenize.mjs.map +1 -0
  188. package/dist/node_modules/postcss/lib/warning.js +40 -0
  189. package/dist/node_modules/postcss/lib/warning.js.map +1 -0
  190. package/dist/node_modules/postcss/lib/warning.mjs +40 -0
  191. package/dist/node_modules/postcss/lib/warning.mjs.map +1 -0
  192. package/dist/packages/model/node_modules/postcss-discard-duplicates/src/index.js +130 -0
  193. package/dist/packages/model/node_modules/postcss-discard-duplicates/src/index.js.map +1 -0
  194. package/dist/packages/model/node_modules/postcss-discard-duplicates/src/index.mjs +130 -0
  195. package/dist/packages/model/node_modules/postcss-discard-duplicates/src/index.mjs.map +1 -0
  196. package/dist/slots/create.d.ts +15 -0
  197. package/dist/slots/create.d.ts.map +1 -0
  198. package/dist/slots/create.js +50 -0
  199. package/dist/slots/create.js.map +1 -0
  200. package/dist/slots/create.mjs +50 -0
  201. package/dist/slots/create.mjs.map +1 -0
  202. package/dist/slots/element.d.ts +3 -0
  203. package/dist/slots/element.d.ts.map +1 -0
  204. package/dist/slots/element.js +42 -0
  205. package/dist/slots/element.js.map +1 -0
  206. package/dist/slots/element.mjs +42 -0
  207. package/dist/slots/element.mjs.map +1 -0
  208. package/dist/slots/extract.d.ts +6 -0
  209. package/dist/slots/extract.d.ts.map +1 -0
  210. package/dist/slots/index.d.ts +140 -0
  211. package/dist/slots/index.d.ts.map +1 -0
  212. package/dist/slots/mapping.d.ts +82 -0
  213. package/dist/slots/mapping.d.ts.map +1 -0
  214. package/dist/slots/mapping.js +97 -0
  215. package/dist/slots/mapping.js.map +1 -0
  216. package/dist/slots/mapping.mjs +97 -0
  217. package/dist/slots/mapping.mjs.map +1 -0
  218. package/dist/slots/query.d.ts +9 -0
  219. package/dist/slots/query.d.ts.map +1 -0
  220. package/dist/slots/validate.d.ts +22 -0
  221. package/dist/slots/validate.d.ts.map +1 -0
  222. package/dist/slots.d.ts +6 -0
  223. package/dist/slots.js +73 -0
  224. package/dist/slots.js.map +1 -0
  225. package/dist/slots.mjs +74 -0
  226. package/dist/slots.mjs.map +1 -0
  227. package/dist/utilities/index.d.ts +4 -0
  228. package/dist/utilities/index.d.ts.map +1 -0
  229. package/dist/utilities/lifecycle.d.ts +12 -0
  230. package/dist/utilities/lifecycle.d.ts.map +1 -0
  231. package/dist/utilities/lifecycle.js +21 -0
  232. package/dist/utilities/lifecycle.js.map +1 -0
  233. package/dist/utilities/lifecycle.mjs +21 -0
  234. package/dist/utilities/lifecycle.mjs.map +1 -0
  235. package/dist/utilities/register.d.ts +17 -0
  236. package/dist/utilities/register.d.ts.map +1 -0
  237. package/dist/utilities/register.js +32 -0
  238. package/dist/utilities/register.js.map +1 -0
  239. package/dist/utilities/register.mjs +32 -0
  240. package/dist/utilities/register.mjs.map +1 -0
  241. package/dist/utilities/styles.d.ts +5 -0
  242. package/dist/utilities/styles.d.ts.map +1 -0
  243. package/dist/utilities/styles.js +79 -0
  244. package/dist/utilities/styles.js.map +1 -0
  245. package/dist/utilities/styles.mjs +80 -0
  246. package/dist/utilities/styles.mjs.map +1 -0
  247. package/dist/utilities.d.ts +2 -0
  248. package/dist/utilities.js +11 -0
  249. package/dist/utilities.js.map +1 -0
  250. package/dist/utilities.mjs +11 -0
  251. package/dist/utilities.mjs.map +1 -0
  252. package/package.json +69 -0
@@ -0,0 +1,383 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const symbols = require("./symbols.js");
4
+ const declaration = require("./declaration.js");
5
+ const comment = require("./comment.js");
6
+ const node = require("./node.js");
7
+ var container;
8
+ var hasRequiredContainer;
9
+ function requireContainer() {
10
+ if (hasRequiredContainer) return container;
11
+ hasRequiredContainer = 1;
12
+ let { isClean, my } = symbols.__require();
13
+ let Declaration = declaration.__require();
14
+ let Comment = comment.__require();
15
+ let Node = node.__require();
16
+ let parse, Rule, AtRule, Root;
17
+ function cleanSource(nodes) {
18
+ return nodes.map((i) => {
19
+ if (i.nodes) i.nodes = cleanSource(i.nodes);
20
+ delete i.source;
21
+ return i;
22
+ });
23
+ }
24
+ function markDirtyUp(node2) {
25
+ node2[isClean] = false;
26
+ if (node2.proxyOf.nodes) {
27
+ for (let i of node2.proxyOf.nodes) {
28
+ markDirtyUp(i);
29
+ }
30
+ }
31
+ }
32
+ class Container extends Node {
33
+ append(...children) {
34
+ for (let child of children) {
35
+ let nodes = this.normalize(child, this.last);
36
+ for (let node2 of nodes) this.proxyOf.nodes.push(node2);
37
+ }
38
+ this.markDirty();
39
+ return this;
40
+ }
41
+ cleanRaws(keepBetween) {
42
+ super.cleanRaws(keepBetween);
43
+ if (this.nodes) {
44
+ for (let node2 of this.nodes) node2.cleanRaws(keepBetween);
45
+ }
46
+ }
47
+ each(callback) {
48
+ if (!this.proxyOf.nodes) return void 0;
49
+ let iterator = this.getIterator();
50
+ let index, result;
51
+ while (this.indexes[iterator] < this.proxyOf.nodes.length) {
52
+ index = this.indexes[iterator];
53
+ result = callback(this.proxyOf.nodes[index], index);
54
+ if (result === false) break;
55
+ this.indexes[iterator] += 1;
56
+ }
57
+ delete this.indexes[iterator];
58
+ return result;
59
+ }
60
+ every(condition) {
61
+ return this.nodes.every(condition);
62
+ }
63
+ getIterator() {
64
+ if (!this.lastEach) this.lastEach = 0;
65
+ if (!this.indexes) this.indexes = {};
66
+ this.lastEach += 1;
67
+ let iterator = this.lastEach;
68
+ this.indexes[iterator] = 0;
69
+ return iterator;
70
+ }
71
+ getProxyProcessor() {
72
+ return {
73
+ get(node2, prop) {
74
+ if (prop === "proxyOf") {
75
+ return node2;
76
+ } else if (!node2[prop]) {
77
+ return node2[prop];
78
+ } else if (prop === "each" || typeof prop === "string" && prop.startsWith("walk")) {
79
+ return (...args) => {
80
+ return node2[prop](
81
+ ...args.map((i) => {
82
+ if (typeof i === "function") {
83
+ return (child, index) => i(child.toProxy(), index);
84
+ } else {
85
+ return i;
86
+ }
87
+ })
88
+ );
89
+ };
90
+ } else if (prop === "every" || prop === "some") {
91
+ return (cb) => {
92
+ return node2[prop](
93
+ (child, ...other) => cb(child.toProxy(), ...other)
94
+ );
95
+ };
96
+ } else if (prop === "root") {
97
+ return () => node2.root().toProxy();
98
+ } else if (prop === "nodes") {
99
+ return node2.nodes.map((i) => i.toProxy());
100
+ } else if (prop === "first" || prop === "last") {
101
+ return node2[prop].toProxy();
102
+ } else {
103
+ return node2[prop];
104
+ }
105
+ },
106
+ set(node2, prop, value) {
107
+ if (node2[prop] === value) return true;
108
+ node2[prop] = value;
109
+ if (prop === "name" || prop === "params" || prop === "selector") {
110
+ node2.markDirty();
111
+ }
112
+ return true;
113
+ }
114
+ };
115
+ }
116
+ index(child) {
117
+ if (typeof child === "number") return child;
118
+ if (child.proxyOf) child = child.proxyOf;
119
+ return this.proxyOf.nodes.indexOf(child);
120
+ }
121
+ insertAfter(exist, add) {
122
+ let existIndex = this.index(exist);
123
+ let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();
124
+ existIndex = this.index(exist);
125
+ for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node2);
126
+ let index;
127
+ for (let id in this.indexes) {
128
+ index = this.indexes[id];
129
+ if (existIndex < index) {
130
+ this.indexes[id] = index + nodes.length;
131
+ }
132
+ }
133
+ this.markDirty();
134
+ return this;
135
+ }
136
+ insertBefore(exist, add) {
137
+ let existIndex = this.index(exist);
138
+ let type = existIndex === 0 ? "prepend" : false;
139
+ let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();
140
+ existIndex = this.index(exist);
141
+ for (let node2 of nodes) this.proxyOf.nodes.splice(existIndex, 0, node2);
142
+ let index;
143
+ for (let id in this.indexes) {
144
+ index = this.indexes[id];
145
+ if (existIndex <= index) {
146
+ this.indexes[id] = index + nodes.length;
147
+ }
148
+ }
149
+ this.markDirty();
150
+ return this;
151
+ }
152
+ normalize(nodes, sample) {
153
+ if (typeof nodes === "string") {
154
+ nodes = cleanSource(parse(nodes).nodes);
155
+ } else if (Array.isArray(nodes)) {
156
+ nodes = nodes.slice(0);
157
+ for (let i of nodes) {
158
+ if (i.parent) i.parent.removeChild(i, "ignore");
159
+ }
160
+ } else if (nodes.type === "root" && this.type !== "document") {
161
+ nodes = nodes.nodes.slice(0);
162
+ for (let i of nodes) {
163
+ if (i.parent) i.parent.removeChild(i, "ignore");
164
+ }
165
+ } else if (nodes.type) {
166
+ nodes = [nodes];
167
+ } else if (nodes.prop) {
168
+ if (typeof nodes.value === "undefined") {
169
+ throw new Error("Value field is missed in node creation");
170
+ } else if (typeof nodes.value !== "string") {
171
+ nodes.value = String(nodes.value);
172
+ }
173
+ nodes = [new Declaration(nodes)];
174
+ } else if (nodes.selector) {
175
+ nodes = [new Rule(nodes)];
176
+ } else if (nodes.name) {
177
+ nodes = [new AtRule(nodes)];
178
+ } else if (nodes.text) {
179
+ nodes = [new Comment(nodes)];
180
+ } else {
181
+ throw new Error("Unknown node type in node creation");
182
+ }
183
+ let processed = nodes.map((i) => {
184
+ if (!i[my]) Container.rebuild(i);
185
+ i = i.proxyOf;
186
+ if (i.parent) i.parent.removeChild(i);
187
+ if (i[isClean]) markDirtyUp(i);
188
+ if (typeof i.raws.before === "undefined") {
189
+ if (sample && typeof sample.raws.before !== "undefined") {
190
+ i.raws.before = sample.raws.before.replace(/\S/g, "");
191
+ }
192
+ }
193
+ i.parent = this.proxyOf;
194
+ return i;
195
+ });
196
+ return processed;
197
+ }
198
+ prepend(...children) {
199
+ children = children.reverse();
200
+ for (let child of children) {
201
+ let nodes = this.normalize(child, this.first, "prepend").reverse();
202
+ for (let node2 of nodes) this.proxyOf.nodes.unshift(node2);
203
+ for (let id in this.indexes) {
204
+ this.indexes[id] = this.indexes[id] + nodes.length;
205
+ }
206
+ }
207
+ this.markDirty();
208
+ return this;
209
+ }
210
+ push(child) {
211
+ child.parent = this;
212
+ this.proxyOf.nodes.push(child);
213
+ return this;
214
+ }
215
+ removeAll() {
216
+ for (let node2 of this.proxyOf.nodes) node2.parent = void 0;
217
+ this.proxyOf.nodes = [];
218
+ this.markDirty();
219
+ return this;
220
+ }
221
+ removeChild(child) {
222
+ child = this.index(child);
223
+ this.proxyOf.nodes[child].parent = void 0;
224
+ this.proxyOf.nodes.splice(child, 1);
225
+ let index;
226
+ for (let id in this.indexes) {
227
+ index = this.indexes[id];
228
+ if (index >= child) {
229
+ this.indexes[id] = index - 1;
230
+ }
231
+ }
232
+ this.markDirty();
233
+ return this;
234
+ }
235
+ replaceValues(pattern, opts, callback) {
236
+ if (!callback) {
237
+ callback = opts;
238
+ opts = {};
239
+ }
240
+ this.walkDecls((decl) => {
241
+ if (opts.props && !opts.props.includes(decl.prop)) return;
242
+ if (opts.fast && !decl.value.includes(opts.fast)) return;
243
+ decl.value = decl.value.replace(pattern, callback);
244
+ });
245
+ this.markDirty();
246
+ return this;
247
+ }
248
+ some(condition) {
249
+ return this.nodes.some(condition);
250
+ }
251
+ walk(callback) {
252
+ return this.each((child, i) => {
253
+ let result;
254
+ try {
255
+ result = callback(child, i);
256
+ } catch (e) {
257
+ throw child.addToError(e);
258
+ }
259
+ if (result !== false && child.walk) {
260
+ result = child.walk(callback);
261
+ }
262
+ return result;
263
+ });
264
+ }
265
+ walkAtRules(name, callback) {
266
+ if (!callback) {
267
+ callback = name;
268
+ return this.walk((child, i) => {
269
+ if (child.type === "atrule") {
270
+ return callback(child, i);
271
+ }
272
+ });
273
+ }
274
+ if (name instanceof RegExp) {
275
+ return this.walk((child, i) => {
276
+ if (child.type === "atrule" && name.test(child.name)) {
277
+ return callback(child, i);
278
+ }
279
+ });
280
+ }
281
+ return this.walk((child, i) => {
282
+ if (child.type === "atrule" && child.name === name) {
283
+ return callback(child, i);
284
+ }
285
+ });
286
+ }
287
+ walkComments(callback) {
288
+ return this.walk((child, i) => {
289
+ if (child.type === "comment") {
290
+ return callback(child, i);
291
+ }
292
+ });
293
+ }
294
+ walkDecls(prop, callback) {
295
+ if (!callback) {
296
+ callback = prop;
297
+ return this.walk((child, i) => {
298
+ if (child.type === "decl") {
299
+ return callback(child, i);
300
+ }
301
+ });
302
+ }
303
+ if (prop instanceof RegExp) {
304
+ return this.walk((child, i) => {
305
+ if (child.type === "decl" && prop.test(child.prop)) {
306
+ return callback(child, i);
307
+ }
308
+ });
309
+ }
310
+ return this.walk((child, i) => {
311
+ if (child.type === "decl" && child.prop === prop) {
312
+ return callback(child, i);
313
+ }
314
+ });
315
+ }
316
+ walkRules(selector, callback) {
317
+ if (!callback) {
318
+ callback = selector;
319
+ return this.walk((child, i) => {
320
+ if (child.type === "rule") {
321
+ return callback(child, i);
322
+ }
323
+ });
324
+ }
325
+ if (selector instanceof RegExp) {
326
+ return this.walk((child, i) => {
327
+ if (child.type === "rule" && selector.test(child.selector)) {
328
+ return callback(child, i);
329
+ }
330
+ });
331
+ }
332
+ return this.walk((child, i) => {
333
+ if (child.type === "rule" && child.selector === selector) {
334
+ return callback(child, i);
335
+ }
336
+ });
337
+ }
338
+ get first() {
339
+ if (!this.proxyOf.nodes) return void 0;
340
+ return this.proxyOf.nodes[0];
341
+ }
342
+ get last() {
343
+ if (!this.proxyOf.nodes) return void 0;
344
+ return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];
345
+ }
346
+ }
347
+ Container.registerParse = (dependant) => {
348
+ parse = dependant;
349
+ };
350
+ Container.registerRule = (dependant) => {
351
+ Rule = dependant;
352
+ };
353
+ Container.registerAtRule = (dependant) => {
354
+ AtRule = dependant;
355
+ };
356
+ Container.registerRoot = (dependant) => {
357
+ Root = dependant;
358
+ };
359
+ container = Container;
360
+ Container.default = Container;
361
+ Container.rebuild = (node2) => {
362
+ if (node2.type === "atrule") {
363
+ Object.setPrototypeOf(node2, AtRule.prototype);
364
+ } else if (node2.type === "rule") {
365
+ Object.setPrototypeOf(node2, Rule.prototype);
366
+ } else if (node2.type === "decl") {
367
+ Object.setPrototypeOf(node2, Declaration.prototype);
368
+ } else if (node2.type === "comment") {
369
+ Object.setPrototypeOf(node2, Comment.prototype);
370
+ } else if (node2.type === "root") {
371
+ Object.setPrototypeOf(node2, Root.prototype);
372
+ }
373
+ node2[my] = true;
374
+ if (node2.nodes) {
375
+ node2.nodes.forEach((child) => {
376
+ Container.rebuild(child);
377
+ });
378
+ }
379
+ };
380
+ return container;
381
+ }
382
+ exports.__require = requireContainer;
383
+ //# sourceMappingURL=container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","sources":["../../../../../../node_modules/postcss/lib/container.js"],"sourcesContent":["'use strict'\n\nlet { isClean, my } = require('./symbols')\nlet Declaration = require('./declaration')\nlet Comment = require('./comment')\nlet Node = require('./node')\n\nlet parse, Rule, AtRule, Root\n\nfunction cleanSource(nodes) {\n return nodes.map(i => {\n if (i.nodes) i.nodes = cleanSource(i.nodes)\n delete i.source\n return i\n })\n}\n\nfunction markDirtyUp(node) {\n node[isClean] = false\n if (node.proxyOf.nodes) {\n for (let i of node.proxyOf.nodes) {\n markDirtyUp(i)\n }\n }\n}\n\nclass Container extends Node {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last)\n for (let node of nodes) this.proxyOf.nodes.push(node)\n }\n\n this.markDirty()\n\n return this\n }\n\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween)\n if (this.nodes) {\n for (let node of this.nodes) node.cleanRaws(keepBetween)\n }\n }\n\n each(callback) {\n if (!this.proxyOf.nodes) return undefined\n let iterator = this.getIterator()\n\n let index, result\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index = this.indexes[iterator]\n result = callback(this.proxyOf.nodes[index], index)\n if (result === false) break\n\n this.indexes[iterator] += 1\n }\n\n delete this.indexes[iterator]\n return result\n }\n\n every(condition) {\n return this.nodes.every(condition)\n }\n\n getIterator() {\n if (!this.lastEach) this.lastEach = 0\n if (!this.indexes) this.indexes = {}\n\n this.lastEach += 1\n let iterator = this.lastEach\n this.indexes[iterator] = 0\n\n return iterator\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (!node[prop]) {\n return node[prop]\n } else if (\n prop === 'each' ||\n (typeof prop === 'string' && prop.startsWith('walk'))\n ) {\n return (...args) => {\n return node[prop](\n ...args.map(i => {\n if (typeof i === 'function') {\n return (child, index) => i(child.toProxy(), index)\n } else {\n return i\n }\n })\n )\n }\n } else if (prop === 'every' || prop === 'some') {\n return cb => {\n return node[prop]((child, ...other) =>\n cb(child.toProxy(), ...other)\n )\n }\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else if (prop === 'nodes') {\n return node.nodes.map(i => i.toProxy())\n } else if (prop === 'first' || prop === 'last') {\n return node[prop].toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (prop === 'name' || prop === 'params' || prop === 'selector') {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n index(child) {\n if (typeof child === 'number') return child\n if (child.proxyOf) child = child.proxyOf\n return this.proxyOf.nodes.indexOf(child)\n }\n\n insertAfter(exist, add) {\n let existIndex = this.index(exist)\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex < index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n insertBefore(exist, add) {\n let existIndex = this.index(exist)\n let type = existIndex === 0 ? 'prepend' : false\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex <= index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n normalize(nodes, sample) {\n if (typeof nodes === 'string') {\n nodes = cleanSource(parse(nodes).nodes)\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type === 'root' && this.type !== 'document') {\n nodes = nodes.nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type) {\n nodes = [nodes]\n } else if (nodes.prop) {\n if (typeof nodes.value === 'undefined') {\n throw new Error('Value field is missed in node creation')\n } else if (typeof nodes.value !== 'string') {\n nodes.value = String(nodes.value)\n }\n nodes = [new Declaration(nodes)]\n } else if (nodes.selector) {\n nodes = [new Rule(nodes)]\n } else if (nodes.name) {\n nodes = [new AtRule(nodes)]\n } else if (nodes.text) {\n nodes = [new Comment(nodes)]\n } else {\n throw new Error('Unknown node type in node creation')\n }\n\n let processed = nodes.map(i => {\n /* c8 ignore next */\n if (!i[my]) Container.rebuild(i)\n i = i.proxyOf\n if (i.parent) i.parent.removeChild(i)\n if (i[isClean]) markDirtyUp(i)\n if (typeof i.raws.before === 'undefined') {\n if (sample && typeof sample.raws.before !== 'undefined') {\n i.raws.before = sample.raws.before.replace(/\\S/g, '')\n }\n }\n i.parent = this.proxyOf\n return i\n })\n\n return processed\n }\n\n prepend(...children) {\n children = children.reverse()\n for (let child of children) {\n let nodes = this.normalize(child, this.first, 'prepend').reverse()\n for (let node of nodes) this.proxyOf.nodes.unshift(node)\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n push(child) {\n child.parent = this\n this.proxyOf.nodes.push(child)\n return this\n }\n\n removeAll() {\n for (let node of this.proxyOf.nodes) node.parent = undefined\n this.proxyOf.nodes = []\n\n this.markDirty()\n\n return this\n }\n\n removeChild(child) {\n child = this.index(child)\n this.proxyOf.nodes[child].parent = undefined\n this.proxyOf.nodes.splice(child, 1)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (index >= child) {\n this.indexes[id] = index - 1\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts\n opts = {}\n }\n\n this.walkDecls(decl => {\n if (opts.props && !opts.props.includes(decl.prop)) return\n if (opts.fast && !decl.value.includes(opts.fast)) return\n\n decl.value = decl.value.replace(pattern, callback)\n })\n\n this.markDirty()\n\n return this\n }\n\n some(condition) {\n return this.nodes.some(condition)\n }\n\n walk(callback) {\n return this.each((child, i) => {\n let result\n try {\n result = callback(child, i)\n } catch (e) {\n throw child.addToError(e)\n }\n if (result !== false && child.walk) {\n result = child.walk(callback)\n }\n\n return result\n })\n }\n\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name\n return this.walk((child, i) => {\n if (child.type === 'atrule') {\n return callback(child, i)\n }\n })\n }\n if (name instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'atrule' && name.test(child.name)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'atrule' && child.name === name) {\n return callback(child, i)\n }\n })\n }\n\n walkComments(callback) {\n return this.walk((child, i) => {\n if (child.type === 'comment') {\n return callback(child, i)\n }\n })\n }\n\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop\n return this.walk((child, i) => {\n if (child.type === 'decl') {\n return callback(child, i)\n }\n })\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'decl' && prop.test(child.prop)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'decl' && child.prop === prop) {\n return callback(child, i)\n }\n })\n }\n\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector\n\n return this.walk((child, i) => {\n if (child.type === 'rule') {\n return callback(child, i)\n }\n })\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'rule' && selector.test(child.selector)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'rule' && child.selector === selector) {\n return callback(child, i)\n }\n })\n }\n\n get first() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[0]\n }\n\n get last() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]\n }\n}\n\nContainer.registerParse = dependant => {\n parse = dependant\n}\n\nContainer.registerRule = dependant => {\n Rule = dependant\n}\n\nContainer.registerAtRule = dependant => {\n AtRule = dependant\n}\n\nContainer.registerRoot = dependant => {\n Root = dependant\n}\n\nmodule.exports = Container\nContainer.default = Container\n\n/* c8 ignore start */\nContainer.rebuild = node => {\n if (node.type === 'atrule') {\n Object.setPrototypeOf(node, AtRule.prototype)\n } else if (node.type === 'rule') {\n Object.setPrototypeOf(node, Rule.prototype)\n } else if (node.type === 'decl') {\n Object.setPrototypeOf(node, Declaration.prototype)\n } else if (node.type === 'comment') {\n Object.setPrototypeOf(node, Comment.prototype)\n } else if (node.type === 'root') {\n Object.setPrototypeOf(node, Root.prototype)\n }\n\n node[my] = true\n\n if (node.nodes) {\n node.nodes.forEach(child => {\n Container.rebuild(child)\n })\n }\n}\n/* c8 ignore stop */\n"],"names":["require$$0","require$$1","require$$2","require$$3","node"],"mappings":"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","x_google_ignoreList":[0]}