@pie-lib/tools 0.26.2 → 0.26.3
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/LICENSE.md +5 -0
- package/esm/index.css +847 -0
- package/esm/index.js +127 -1
- package/esm/index.js.map +1 -1
- package/package.json +3 -3
package/LICENSE.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Copyright 2019 CoreSpring Inc
|
|
2
|
+
|
|
3
|
+
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
|
4
|
+
|
|
5
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
package/esm/index.css
ADDED
|
@@ -0,0 +1,847 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MathQuill {VERSION}, by Han, Jeanine, and Mary
|
|
3
|
+
* http://mathquill.com | maintainers@mathquill.com
|
|
4
|
+
*
|
|
5
|
+
* This Source Code Form is subject to the terms of the
|
|
6
|
+
* Mozilla Public License, v. 2.0. If a copy of the MPL
|
|
7
|
+
* was not distributed with this file, You can obtain
|
|
8
|
+
* one at http://mozilla.org/MPL/2.0/.
|
|
9
|
+
*/
|
|
10
|
+
@font-face {
|
|
11
|
+
font-family: Symbola;
|
|
12
|
+
src: url(fonts/Symbola.eot);
|
|
13
|
+
src: local("Symbola Regular"), local("Symbola"), url(fonts/Symbola.woff2) format("woff2"), url(fonts/Symbola.woff) format("woff"), url(fonts/Symbola.ttf) format("truetype"), url(fonts/Symbola.svg#Symbola) format("svg");
|
|
14
|
+
}
|
|
15
|
+
.mq-editable-field {
|
|
16
|
+
display: -moz-inline-box;
|
|
17
|
+
display: inline-block;
|
|
18
|
+
}
|
|
19
|
+
.mq-editable-field .mq-cursor {
|
|
20
|
+
border-left: 1px solid black;
|
|
21
|
+
margin-left: -1px;
|
|
22
|
+
position: relative;
|
|
23
|
+
z-index: 1;
|
|
24
|
+
padding: 0;
|
|
25
|
+
display: -moz-inline-box;
|
|
26
|
+
display: inline-block;
|
|
27
|
+
}
|
|
28
|
+
.mq-editable-field .mq-cursor.mq-blink {
|
|
29
|
+
visibility: hidden;
|
|
30
|
+
}
|
|
31
|
+
.mq-editable-field,
|
|
32
|
+
.mq-math-mode .mq-editable-field {
|
|
33
|
+
border: 1px solid gray;
|
|
34
|
+
}
|
|
35
|
+
.mq-editable-field.mq-focused,
|
|
36
|
+
.mq-math-mode .mq-editable-field.mq-focused {
|
|
37
|
+
-webkit-box-shadow: #8bd 0 0 1px 2px, inset #6ae 0 0 2px 0;
|
|
38
|
+
-moz-box-shadow: #8bd 0 0 1px 2px, inset #6ae 0 0 2px 0;
|
|
39
|
+
box-shadow: #8bd 0 0 1px 2px, inset #6ae 0 0 2px 0;
|
|
40
|
+
border-color: #709AC0;
|
|
41
|
+
border-radius: 1px;
|
|
42
|
+
}
|
|
43
|
+
.mq-math-mode .mq-editable-field {
|
|
44
|
+
margin: 1px;
|
|
45
|
+
}
|
|
46
|
+
.mq-editable-field .mq-latex-command-input {
|
|
47
|
+
color: inherit;
|
|
48
|
+
font-family: "Courier New", monospace;
|
|
49
|
+
border: 1px solid gray;
|
|
50
|
+
padding-right: 1px;
|
|
51
|
+
margin-right: 1px;
|
|
52
|
+
margin-left: 2px;
|
|
53
|
+
}
|
|
54
|
+
.mq-editable-field .mq-latex-command-input.mq-empty {
|
|
55
|
+
background: transparent;
|
|
56
|
+
}
|
|
57
|
+
.mq-editable-field .mq-latex-command-input.mq-hasCursor {
|
|
58
|
+
border-color: ActiveBorder;
|
|
59
|
+
}
|
|
60
|
+
.mq-editable-field.mq-empty:after,
|
|
61
|
+
.mq-editable-field.mq-text-mode:after,
|
|
62
|
+
.mq-math-mode .mq-empty:after {
|
|
63
|
+
visibility: hidden;
|
|
64
|
+
content: 'c';
|
|
65
|
+
}
|
|
66
|
+
.mq-editable-field .mq-cursor:only-child:after,
|
|
67
|
+
.mq-editable-field .mq-textarea + .mq-cursor:last-child:after {
|
|
68
|
+
visibility: hidden;
|
|
69
|
+
content: 'c';
|
|
70
|
+
}
|
|
71
|
+
.mq-editable-field .mq-text-mode .mq-cursor:only-child:after {
|
|
72
|
+
content: '';
|
|
73
|
+
}
|
|
74
|
+
.mq-editable-field.mq-text-mode {
|
|
75
|
+
overflow-x: auto;
|
|
76
|
+
overflow-y: hidden;
|
|
77
|
+
}
|
|
78
|
+
.mq-root-block,
|
|
79
|
+
.mq-math-mode .mq-root-block {
|
|
80
|
+
display: -moz-inline-box;
|
|
81
|
+
display: inline-block;
|
|
82
|
+
width: 100%;
|
|
83
|
+
padding: 2px;
|
|
84
|
+
-webkit-box-sizing: border-box;
|
|
85
|
+
-moz-box-sizing: border-box;
|
|
86
|
+
box-sizing: border-box;
|
|
87
|
+
white-space: nowrap;
|
|
88
|
+
overflow: hidden;
|
|
89
|
+
vertical-align: middle;
|
|
90
|
+
}
|
|
91
|
+
.mq-math-mode {
|
|
92
|
+
font-variant: normal;
|
|
93
|
+
font-weight: normal;
|
|
94
|
+
font-style: normal;
|
|
95
|
+
font-size: 115%;
|
|
96
|
+
line-height: 1;
|
|
97
|
+
display: -moz-inline-box;
|
|
98
|
+
display: inline-block;
|
|
99
|
+
}
|
|
100
|
+
.mq-math-mode .mq-non-leaf,
|
|
101
|
+
.mq-math-mode .mq-scaled {
|
|
102
|
+
display: -moz-inline-box;
|
|
103
|
+
display: inline-block;
|
|
104
|
+
}
|
|
105
|
+
.mq-math-mode var,
|
|
106
|
+
.mq-math-mode .mq-text-mode,
|
|
107
|
+
.mq-math-mode .mq-nonSymbola {
|
|
108
|
+
font-family: "Times New Roman", Symbola, serif;
|
|
109
|
+
line-height: 0.9;
|
|
110
|
+
}
|
|
111
|
+
.mq-math-mode * {
|
|
112
|
+
font-size: inherit;
|
|
113
|
+
line-height: inherit;
|
|
114
|
+
margin: 0;
|
|
115
|
+
padding: 0;
|
|
116
|
+
border-color: black;
|
|
117
|
+
-webkit-user-select: none;
|
|
118
|
+
-moz-user-select: none;
|
|
119
|
+
user-select: none;
|
|
120
|
+
box-sizing: border-box;
|
|
121
|
+
}
|
|
122
|
+
.mq-math-mode .mq-empty {
|
|
123
|
+
background: transparent;
|
|
124
|
+
}
|
|
125
|
+
.mq-math-mode.mq-empty {
|
|
126
|
+
background: transparent;
|
|
127
|
+
}
|
|
128
|
+
.mq-math-mode .mq-text-mode {
|
|
129
|
+
display: inline-block;
|
|
130
|
+
white-space: pre;
|
|
131
|
+
}
|
|
132
|
+
.mq-math-mode .mq-text-mode.mq-hasCursor {
|
|
133
|
+
box-shadow: inset darkgray 0 0.1em 0.2em;
|
|
134
|
+
padding: 0 0.1em;
|
|
135
|
+
margin: 0 -0.1em;
|
|
136
|
+
min-width: 1ex;
|
|
137
|
+
}
|
|
138
|
+
.mq-math-mode .mq-font {
|
|
139
|
+
font: 1em "Times New Roman", Symbola, serif;
|
|
140
|
+
}
|
|
141
|
+
.mq-math-mode .mq-font * {
|
|
142
|
+
font-family: inherit;
|
|
143
|
+
font-style: inherit;
|
|
144
|
+
}
|
|
145
|
+
.mq-math-mode b,
|
|
146
|
+
.mq-math-mode b.mq-font {
|
|
147
|
+
font-weight: bolder;
|
|
148
|
+
}
|
|
149
|
+
.mq-math-mode var,
|
|
150
|
+
.mq-math-mode i,
|
|
151
|
+
.mq-math-mode i.mq-font {
|
|
152
|
+
font-style: italic;
|
|
153
|
+
}
|
|
154
|
+
.mq-math-mode var.mq-f {
|
|
155
|
+
margin-right: 0.2em;
|
|
156
|
+
margin-left: 0.1em;
|
|
157
|
+
}
|
|
158
|
+
.mq-math-mode .mq-roman var.mq-f {
|
|
159
|
+
margin: 0;
|
|
160
|
+
}
|
|
161
|
+
.mq-math-mode big {
|
|
162
|
+
font-size: 200%;
|
|
163
|
+
}
|
|
164
|
+
.mq-math-mode .mq-int > big {
|
|
165
|
+
display: inline-block;
|
|
166
|
+
-webkit-transform: scaleX(0.7);
|
|
167
|
+
-moz-transform: scaleX(0.7);
|
|
168
|
+
-ms-transform: scaleX(0.7);
|
|
169
|
+
-o-transform: scaleX(0.7);
|
|
170
|
+
transform: scaleX(0.7);
|
|
171
|
+
vertical-align: -0.16em;
|
|
172
|
+
}
|
|
173
|
+
.mq-math-mode .mq-int > .mq-supsub {
|
|
174
|
+
font-size: 80%;
|
|
175
|
+
vertical-align: -1.1em;
|
|
176
|
+
padding-right: 0.2em;
|
|
177
|
+
}
|
|
178
|
+
.mq-math-mode .mq-int > .mq-supsub > .mq-sup > .mq-sup-inner {
|
|
179
|
+
vertical-align: 1.3em;
|
|
180
|
+
}
|
|
181
|
+
.mq-math-mode .mq-int > .mq-supsub > .mq-sub {
|
|
182
|
+
margin-left: -0.35em;
|
|
183
|
+
}
|
|
184
|
+
.mq-math-mode .mq-roman {
|
|
185
|
+
font-style: normal;
|
|
186
|
+
}
|
|
187
|
+
.mq-math-mode .mq-sans-serif {
|
|
188
|
+
font-family: sans-serif, Symbola, serif;
|
|
189
|
+
}
|
|
190
|
+
.mq-math-mode .mq-monospace {
|
|
191
|
+
font-family: monospace, Symbola, serif;
|
|
192
|
+
}
|
|
193
|
+
.mq-math-mode .mq-overleftrightarrow {
|
|
194
|
+
margin-top: 0.35em;
|
|
195
|
+
position: relative;
|
|
196
|
+
}
|
|
197
|
+
.mq-math-mode .mq-overleftrightarrow .mq-overleftrightarrow-inner {
|
|
198
|
+
display: inline-block;
|
|
199
|
+
position: relative;
|
|
200
|
+
padding-top: 0.35em;
|
|
201
|
+
border-top: 0.14em solid #4d4d4d;
|
|
202
|
+
margin: 0 0.1em;
|
|
203
|
+
min-width: 1em;
|
|
204
|
+
text-align: center;
|
|
205
|
+
}
|
|
206
|
+
.mq-math-mode .mq-overleftrightarrow .mq-overleftrightarrow-inner .mq-empty {
|
|
207
|
+
min-width: 1em;
|
|
208
|
+
margin-top: 0.1em;
|
|
209
|
+
display: inline-block;
|
|
210
|
+
}
|
|
211
|
+
.mq-math-mode .mq-overleftrightarrow .mq-overleftrightarrow-inner .mq-overleftrightarrow-inner-right {
|
|
212
|
+
display: block;
|
|
213
|
+
position: absolute;
|
|
214
|
+
top: -0.562em;
|
|
215
|
+
right: -0.4em;
|
|
216
|
+
font-size: 0.75em;
|
|
217
|
+
font-family: "LearnosityIconsRegular";
|
|
218
|
+
line-height: 1em;
|
|
219
|
+
text-align: right;
|
|
220
|
+
}
|
|
221
|
+
.mq-math-mode .mq-overleftrightarrow .mq-overleftrightarrow-inner .mq-overleftrightarrow-inner-left {
|
|
222
|
+
display: block;
|
|
223
|
+
position: absolute;
|
|
224
|
+
top: -0.562em;
|
|
225
|
+
left: -0.4em;
|
|
226
|
+
font-size: 0.75em;
|
|
227
|
+
font-family: "LearnosityIconsRegular";
|
|
228
|
+
line-height: 1em;
|
|
229
|
+
text-align: left;
|
|
230
|
+
}
|
|
231
|
+
.mq-math-mode .mq-overline .mq-overline-inner {
|
|
232
|
+
display: inline-block;
|
|
233
|
+
padding-top: 0.2em;
|
|
234
|
+
border-top: 0.14em solid #4d4d4d;
|
|
235
|
+
margin-left: 0.1em;
|
|
236
|
+
padding-right: 0.1em;
|
|
237
|
+
text-align: center;
|
|
238
|
+
}
|
|
239
|
+
.mq-math-mode .mq-overline .mq-overline-inner .mq-empty {
|
|
240
|
+
min-width: 1em;
|
|
241
|
+
margin-top: 0.1em;
|
|
242
|
+
display: inline-block;
|
|
243
|
+
}
|
|
244
|
+
.mq-math-mode .mq-overline .mq-overline-inner .mq-overline-inner-right,
|
|
245
|
+
.mq-math-mode .mq-overline .mq-overline-inner .mq-overline-inner-left {
|
|
246
|
+
display: none;
|
|
247
|
+
}
|
|
248
|
+
.mq-math-mode .mq-longdiv {
|
|
249
|
+
padding-top: 0.2em;
|
|
250
|
+
}
|
|
251
|
+
.mq-math-mode .mq-longdiv .mq-longdiv-curve-border {
|
|
252
|
+
border-top-right-radius: 100em;
|
|
253
|
+
border-bottom-right-radius: 100em;
|
|
254
|
+
font-size: 1.4em;
|
|
255
|
+
display: inline;
|
|
256
|
+
padding-top: 0.2em;
|
|
257
|
+
margin-right: -0.12em;
|
|
258
|
+
max-width: 2px;
|
|
259
|
+
width: 2px;
|
|
260
|
+
}
|
|
261
|
+
.mq-math-mode .mq-longdiv .mq-longdiv-inner {
|
|
262
|
+
font-size: 1em;
|
|
263
|
+
border-top: 1px solid grey;
|
|
264
|
+
border-radius: 0px 0px 0px 10px;
|
|
265
|
+
min-width: 1em;
|
|
266
|
+
text-align: center;
|
|
267
|
+
padding-left: 0.2em;
|
|
268
|
+
margin-left: -0.2em;
|
|
269
|
+
margin-right: 0.15em;
|
|
270
|
+
padding-top: 0.19em;
|
|
271
|
+
padding-left: 0.44em;
|
|
272
|
+
display: inline;
|
|
273
|
+
}
|
|
274
|
+
.mq-math-mode .mq-longdiv .mq-longdiv-inner .mq-empty {
|
|
275
|
+
min-width: 1.5em;
|
|
276
|
+
display: inline-block;
|
|
277
|
+
}
|
|
278
|
+
.mq-math-mode .mq-underline {
|
|
279
|
+
border-bottom: 1px solid black;
|
|
280
|
+
margin-bottom: 1px;
|
|
281
|
+
}
|
|
282
|
+
.mq-math-mode .mq-underline.mq-empty {
|
|
283
|
+
min-width: 1em;
|
|
284
|
+
}
|
|
285
|
+
.mq-math-mode .mq-overarc {
|
|
286
|
+
border-top: 1px solid black;
|
|
287
|
+
-webkit-border-top-right-radius: 50% 0.3em;
|
|
288
|
+
-moz-border-radius-topright: 50% 0.3em;
|
|
289
|
+
border-top-right-radius: 50% 0.3em;
|
|
290
|
+
-webkit-border-top-left-radius: 50% 0.3em;
|
|
291
|
+
-moz-border-radius-topleft: 50% 0.3em;
|
|
292
|
+
border-top-left-radius: 50% 0.3em;
|
|
293
|
+
margin-top: 1px;
|
|
294
|
+
padding-top: 0.15em;
|
|
295
|
+
}
|
|
296
|
+
.mq-math-mode .mq-overarrow {
|
|
297
|
+
margin-top: 0.35em;
|
|
298
|
+
position: relative;
|
|
299
|
+
}
|
|
300
|
+
.mq-math-mode .mq-overarrow .mq-overarrow-inner {
|
|
301
|
+
display: inline-block;
|
|
302
|
+
position: relative;
|
|
303
|
+
padding-top: 0.35em;
|
|
304
|
+
border-top: 0.14em solid #4d4d4d;
|
|
305
|
+
margin: 0 0.1em;
|
|
306
|
+
min-width: 1em;
|
|
307
|
+
text-align: center;
|
|
308
|
+
}
|
|
309
|
+
.mq-math-mode .mq-overarrow .mq-overarrow-inner .mq-empty {
|
|
310
|
+
min-width: 1em;
|
|
311
|
+
margin-top: 0.1em;
|
|
312
|
+
display: inline-block;
|
|
313
|
+
}
|
|
314
|
+
.mq-math-mode .mq-overarrow .mq-overarrow-inner .mq-overarrow-inner-right {
|
|
315
|
+
display: block;
|
|
316
|
+
position: absolute;
|
|
317
|
+
top: -0.562em;
|
|
318
|
+
right: -0.4em;
|
|
319
|
+
font-size: 0.75em;
|
|
320
|
+
font-family: "LearnosityIconsRegular";
|
|
321
|
+
line-height: 1em;
|
|
322
|
+
text-align: right;
|
|
323
|
+
}
|
|
324
|
+
.mq-math-mode .mq-overarrow .mq-overarrow-inner .mq-overarrow-inner-left {
|
|
325
|
+
display: none;
|
|
326
|
+
position: absolute;
|
|
327
|
+
top: -0.562em;
|
|
328
|
+
left: -0.4em;
|
|
329
|
+
font-size: 0.75em;
|
|
330
|
+
font-family: "LearnosityIconsRegular";
|
|
331
|
+
line-height: 1em;
|
|
332
|
+
text-align: left;
|
|
333
|
+
}
|
|
334
|
+
.mq-math-mode .mq-overarrow.mq-arrow-left .mq-overarrow-inner .mq-overarrow-inner-right {
|
|
335
|
+
display: none;
|
|
336
|
+
}
|
|
337
|
+
.mq-math-mode .mq-overarrow.mq-arrow-left .mq-overarrow-inner .mq-overarrow-inner-left {
|
|
338
|
+
display: block;
|
|
339
|
+
}
|
|
340
|
+
.mq-math-mode .mq-overarrow.mq-arrow-both {
|
|
341
|
+
vertical-align: text-bottom;
|
|
342
|
+
}
|
|
343
|
+
.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty {
|
|
344
|
+
min-height: 1.23em;
|
|
345
|
+
}
|
|
346
|
+
.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty:after {
|
|
347
|
+
top: -0.34em;
|
|
348
|
+
}
|
|
349
|
+
.mq-math-mode .mq-overarrow.mq-arrow-both:before {
|
|
350
|
+
-moz-transform: scaleX(-1);
|
|
351
|
+
-o-transform: scaleX(-1);
|
|
352
|
+
-webkit-transform: scaleX(-1);
|
|
353
|
+
transform: scaleX(-1);
|
|
354
|
+
filter: FlipH;
|
|
355
|
+
-ms-filter: "FlipH";
|
|
356
|
+
}
|
|
357
|
+
.mq-math-mode .mq-overarrow.mq-arrow-both:after {
|
|
358
|
+
display: block;
|
|
359
|
+
position: relative;
|
|
360
|
+
top: -2.3em;
|
|
361
|
+
font-size: 0.5em;
|
|
362
|
+
line-height: 0em;
|
|
363
|
+
content: "\27A4";
|
|
364
|
+
visibility: visible;
|
|
365
|
+
text-align: right;
|
|
366
|
+
}
|
|
367
|
+
.mq-math-mode .mq-xarrow {
|
|
368
|
+
position: relative;
|
|
369
|
+
font-size: 70%;
|
|
370
|
+
text-align: center;
|
|
371
|
+
padding: 0 0.2em;
|
|
372
|
+
vertical-align: 0.9em;
|
|
373
|
+
}
|
|
374
|
+
.mq-math-mode .mq-xarrow .mq-xarrow-over {
|
|
375
|
+
border-bottom: 1px solid black;
|
|
376
|
+
display: block;
|
|
377
|
+
padding: 0.1em 0.1em 0.2em 0.1em;
|
|
378
|
+
position: relative;
|
|
379
|
+
}
|
|
380
|
+
.mq-math-mode .mq-xarrow .mq-xarrow-under {
|
|
381
|
+
float: left;
|
|
382
|
+
padding: 0em 0.1em 0.2em 0.1em;
|
|
383
|
+
position: relative;
|
|
384
|
+
top: 0.2em;
|
|
385
|
+
margin-bottom: 0.2em;
|
|
386
|
+
}
|
|
387
|
+
.mq-math-mode .mq-xarrow .mq-xarrow-over:before {
|
|
388
|
+
display: block;
|
|
389
|
+
position: absolute;
|
|
390
|
+
font-size: 0.6em;
|
|
391
|
+
height: 1em;
|
|
392
|
+
bottom: -0.62em;
|
|
393
|
+
content: "\27A4";
|
|
394
|
+
right: -0.3em;
|
|
395
|
+
}
|
|
396
|
+
.mq-math-mode .mq-xarrow.mq-arrow-left .mq-xarrow-over:before {
|
|
397
|
+
-moz-transform: scaleX(-1);
|
|
398
|
+
-o-transform: scaleX(-1);
|
|
399
|
+
-webkit-transform: scaleX(-1);
|
|
400
|
+
transform: scaleX(-1);
|
|
401
|
+
filter: FlipH;
|
|
402
|
+
-ms-filter: "FlipH";
|
|
403
|
+
right: auto;
|
|
404
|
+
left: -0.3em;
|
|
405
|
+
}
|
|
406
|
+
.mq-math-mode .mq-binary-operator {
|
|
407
|
+
padding: 0 0.2em;
|
|
408
|
+
display: -moz-inline-box;
|
|
409
|
+
display: inline-block;
|
|
410
|
+
}
|
|
411
|
+
.mq-math-mode .mq-supsub {
|
|
412
|
+
text-align: left;
|
|
413
|
+
font-size: 90%;
|
|
414
|
+
vertical-align: -0.5em;
|
|
415
|
+
}
|
|
416
|
+
.mq-math-mode .mq-supsub.mq-sup-only {
|
|
417
|
+
vertical-align: 0.5em;
|
|
418
|
+
}
|
|
419
|
+
.mq-math-mode .mq-supsub.mq-sup-only .mq-sup {
|
|
420
|
+
display: inline-block;
|
|
421
|
+
vertical-align: text-bottom;
|
|
422
|
+
}
|
|
423
|
+
.mq-math-mode .mq-supsub .mq-sup {
|
|
424
|
+
display: block;
|
|
425
|
+
}
|
|
426
|
+
.mq-math-mode .mq-supsub .mq-sub {
|
|
427
|
+
display: block;
|
|
428
|
+
float: left;
|
|
429
|
+
}
|
|
430
|
+
.mq-math-mode .mq-supsub .mq-binary-operator {
|
|
431
|
+
padding: 0 0.1em;
|
|
432
|
+
}
|
|
433
|
+
.mq-math-mode .mq-supsub .mq-fraction {
|
|
434
|
+
font-size: 70%;
|
|
435
|
+
}
|
|
436
|
+
.mq-math-mode sup.mq-nthroot {
|
|
437
|
+
font-size: 80%;
|
|
438
|
+
vertical-align: 0.8em;
|
|
439
|
+
margin-right: -0.6em;
|
|
440
|
+
margin-left: 0.2em;
|
|
441
|
+
min-width: 0.5em;
|
|
442
|
+
}
|
|
443
|
+
.mq-math-mode .mq-paren {
|
|
444
|
+
padding: 0 0.1em;
|
|
445
|
+
vertical-align: top;
|
|
446
|
+
-webkit-transform-origin: center 0.06em;
|
|
447
|
+
-moz-transform-origin: center 0.06em;
|
|
448
|
+
-ms-transform-origin: center 0.06em;
|
|
449
|
+
-o-transform-origin: center 0.06em;
|
|
450
|
+
transform-origin: center 0.06em;
|
|
451
|
+
}
|
|
452
|
+
.mq-math-mode .mq-paren.mq-ghost {
|
|
453
|
+
color: silver;
|
|
454
|
+
}
|
|
455
|
+
.mq-math-mode .mq-paren + span {
|
|
456
|
+
margin-top: 0.1em;
|
|
457
|
+
margin-bottom: 0.1em;
|
|
458
|
+
}
|
|
459
|
+
.mq-math-mode .mq-array {
|
|
460
|
+
vertical-align: middle;
|
|
461
|
+
text-align: center;
|
|
462
|
+
}
|
|
463
|
+
.mq-math-mode .mq-array > span {
|
|
464
|
+
display: block;
|
|
465
|
+
}
|
|
466
|
+
.mq-math-mode .mq-operator-name {
|
|
467
|
+
font-family: Symbola, "Times New Roman", serif;
|
|
468
|
+
line-height: 0.9;
|
|
469
|
+
font-style: normal;
|
|
470
|
+
}
|
|
471
|
+
.mq-math-mode var.mq-operator-name.mq-first {
|
|
472
|
+
padding-left: 0.2em;
|
|
473
|
+
}
|
|
474
|
+
.mq-math-mode var.mq-operator-name.mq-last,
|
|
475
|
+
.mq-math-mode .mq-supsub.mq-after-operator-name {
|
|
476
|
+
padding-right: 0.2em;
|
|
477
|
+
}
|
|
478
|
+
.mq-math-mode .mq-fraction {
|
|
479
|
+
font-size: 90%;
|
|
480
|
+
text-align: center;
|
|
481
|
+
vertical-align: -0.4em;
|
|
482
|
+
padding: 0 0.2em;
|
|
483
|
+
}
|
|
484
|
+
.mq-math-mode .mq-fraction,
|
|
485
|
+
.mq-math-mode .mq-large-operator,
|
|
486
|
+
.mq-math-mode x:-moz-any-link {
|
|
487
|
+
display: -moz-groupbox;
|
|
488
|
+
}
|
|
489
|
+
.mq-math-mode .mq-fraction,
|
|
490
|
+
.mq-math-mode .mq-large-operator,
|
|
491
|
+
.mq-math-mode x:-moz-any-link,
|
|
492
|
+
.mq-math-mode x:default {
|
|
493
|
+
display: inline-block;
|
|
494
|
+
}
|
|
495
|
+
.mq-math-mode .mq-underset.mq-tilde-vector .mq-under {
|
|
496
|
+
line-height: 0.6em;
|
|
497
|
+
}
|
|
498
|
+
.mq-math-mode .mq-numerator,
|
|
499
|
+
.mq-math-mode .mq-denominator,
|
|
500
|
+
.mq-math-mode .mq-dot-recurring,
|
|
501
|
+
.mq-math-mode .mq-over,
|
|
502
|
+
.mq-math-mode .mq-under {
|
|
503
|
+
display: block;
|
|
504
|
+
}
|
|
505
|
+
.mq-math-mode .mq-numerator,
|
|
506
|
+
.mq-math-mode .mq-over {
|
|
507
|
+
padding: 0 0.1em;
|
|
508
|
+
margin-bottom: 0.2em;
|
|
509
|
+
}
|
|
510
|
+
.mq-math-mode .mq-denominator {
|
|
511
|
+
border-top: 1px solid;
|
|
512
|
+
float: right;
|
|
513
|
+
width: 100%;
|
|
514
|
+
padding: 0.3em 0.1em 0.1em;
|
|
515
|
+
}
|
|
516
|
+
.mq-math-mode .mq-dot-recurring {
|
|
517
|
+
text-align: center;
|
|
518
|
+
height: 0.6em;
|
|
519
|
+
}
|
|
520
|
+
.mq-math-mode .mq-overunder {
|
|
521
|
+
text-align: center;
|
|
522
|
+
position: relative;
|
|
523
|
+
top: 0.01em;
|
|
524
|
+
}
|
|
525
|
+
.mq-math-mode .mq-overunder .mq-font {
|
|
526
|
+
font-family: inherit;
|
|
527
|
+
}
|
|
528
|
+
.mq-math-mode .mq-overunder.mq-underset {
|
|
529
|
+
vertical-align: text-top;
|
|
530
|
+
}
|
|
531
|
+
.mq-math-mode .mq-overunder.mq-underset .mq-under,
|
|
532
|
+
.mq-math-mode .mq-overunder.mq-overset .mq-over {
|
|
533
|
+
display: block;
|
|
534
|
+
font-size: 0.7em;
|
|
535
|
+
}
|
|
536
|
+
.mq-math-mode .mq-sqrt-prefix {
|
|
537
|
+
padding-top: 0;
|
|
538
|
+
position: relative;
|
|
539
|
+
top: 0.1em;
|
|
540
|
+
vertical-align: top;
|
|
541
|
+
-webkit-transform-origin: top;
|
|
542
|
+
-moz-transform-origin: top;
|
|
543
|
+
-ms-transform-origin: top;
|
|
544
|
+
-o-transform-origin: top;
|
|
545
|
+
transform-origin: top;
|
|
546
|
+
}
|
|
547
|
+
.mq-math-mode .mq-sqrt-stem {
|
|
548
|
+
border-top: 1px solid;
|
|
549
|
+
margin-top: 1px;
|
|
550
|
+
padding-left: 0.15em;
|
|
551
|
+
padding-right: 0.2em;
|
|
552
|
+
margin-right: 0.1em;
|
|
553
|
+
padding-top: 1px;
|
|
554
|
+
}
|
|
555
|
+
.mq-math-mode .mq-diacritic-above {
|
|
556
|
+
display: block;
|
|
557
|
+
text-align: center;
|
|
558
|
+
line-height: 0.4em;
|
|
559
|
+
}
|
|
560
|
+
.mq-math-mode .mq-diacritic-stem {
|
|
561
|
+
display: block;
|
|
562
|
+
text-align: center;
|
|
563
|
+
}
|
|
564
|
+
.mq-math-mode .mq-hat-prefix {
|
|
565
|
+
display: block;
|
|
566
|
+
text-align: center;
|
|
567
|
+
line-height: 0.95em;
|
|
568
|
+
margin-bottom: -0.7em;
|
|
569
|
+
transform: scaleX(1.5);
|
|
570
|
+
-moz-transform: scaleX(1.5);
|
|
571
|
+
-o-transform: scaleX(1.5);
|
|
572
|
+
-webkit-transform: scaleX(1.5);
|
|
573
|
+
}
|
|
574
|
+
.mq-math-mode .mq-hat-stem {
|
|
575
|
+
display: block;
|
|
576
|
+
}
|
|
577
|
+
.mq-math-mode .mq-large-operator {
|
|
578
|
+
vertical-align: -0.2em;
|
|
579
|
+
padding: 0.2em;
|
|
580
|
+
text-align: center;
|
|
581
|
+
vertical-align: middle;
|
|
582
|
+
}
|
|
583
|
+
.mq-math-mode .mq-large-operator .mq-from,
|
|
584
|
+
.mq-math-mode .mq-large-operator big,
|
|
585
|
+
.mq-math-mode .mq-large-operator .mq-to {
|
|
586
|
+
display: block;
|
|
587
|
+
}
|
|
588
|
+
.mq-math-mode .mq-large-operator .mq-from,
|
|
589
|
+
.mq-math-mode .mq-large-operator .mq-to {
|
|
590
|
+
font-size: 80%;
|
|
591
|
+
}
|
|
592
|
+
.mq-math-mode .mq-large-operator .mq-from {
|
|
593
|
+
float: right;
|
|
594
|
+
/* take out of normal flow to manipulate baseline */
|
|
595
|
+
width: 100%;
|
|
596
|
+
}
|
|
597
|
+
.mq-math-mode .mq-lim {
|
|
598
|
+
text-align: center;
|
|
599
|
+
}
|
|
600
|
+
.mq-math-mode .mq-lim span {
|
|
601
|
+
display: block;
|
|
602
|
+
}
|
|
603
|
+
.mq-math-mode .mq-lim .mq-approaches {
|
|
604
|
+
font-size: 80%;
|
|
605
|
+
float: right;
|
|
606
|
+
/* take out of normal flow to manipulate baseline */
|
|
607
|
+
width: 100%;
|
|
608
|
+
}
|
|
609
|
+
.mq-math-mode .mq-lim .mq-approaches span > span {
|
|
610
|
+
display: inline;
|
|
611
|
+
}
|
|
612
|
+
.mq-math-mode .mq-matrix {
|
|
613
|
+
vertical-align: middle;
|
|
614
|
+
margin-left: 0.1em;
|
|
615
|
+
margin-right: 0.1em;
|
|
616
|
+
}
|
|
617
|
+
.mq-math-mode .mq-matrix table {
|
|
618
|
+
width: auto;
|
|
619
|
+
border-bottom: none;
|
|
620
|
+
border-spacing: 3px;
|
|
621
|
+
border-collapse: separate;
|
|
622
|
+
}
|
|
623
|
+
.mq-math-mode .mq-matrix table.mq-rows-1 {
|
|
624
|
+
/* better alignment when there's just one row */
|
|
625
|
+
vertical-align: middle;
|
|
626
|
+
margin-bottom: 1px;
|
|
627
|
+
}
|
|
628
|
+
.mq-math-mode .mq-matrix td {
|
|
629
|
+
border: 1px dotted #ffffff;
|
|
630
|
+
width: auto;
|
|
631
|
+
/* defensive resets */
|
|
632
|
+
padding: 0.1em 0.3em;
|
|
633
|
+
vertical-align: baseline;
|
|
634
|
+
}
|
|
635
|
+
.mq-math-mode .mq-matrix td.mq-empty {
|
|
636
|
+
border: 1px dotted black;
|
|
637
|
+
}
|
|
638
|
+
.mq-math-mode,
|
|
639
|
+
.mq-math-mode .mq-editable-field {
|
|
640
|
+
cursor: text;
|
|
641
|
+
font-family: Symbola, "Times New Roman", serif;
|
|
642
|
+
}
|
|
643
|
+
.mq-math-mode .mq-abs {
|
|
644
|
+
border-left: 1px solid black;
|
|
645
|
+
border-right: 1px solid black;
|
|
646
|
+
padding-left: 0.2em;
|
|
647
|
+
padding-right: 0.2em;
|
|
648
|
+
margin-left: 0.1em;
|
|
649
|
+
margin-right: 0.1em;
|
|
650
|
+
}
|
|
651
|
+
.mq-math-mode .mq-lrnplaceholder {
|
|
652
|
+
margin-left: 0.05em;
|
|
653
|
+
margin-right: 0.05em;
|
|
654
|
+
}
|
|
655
|
+
.mq-math-mode .mq-parallelogram {
|
|
656
|
+
position: relative;
|
|
657
|
+
overflow: hidden;
|
|
658
|
+
line-height: 1em;
|
|
659
|
+
margin-top: -0.5em;
|
|
660
|
+
}
|
|
661
|
+
.mq-math-mode .mq-parallelogram .mq-parallelogram-inner {
|
|
662
|
+
position: relative;
|
|
663
|
+
top: 0.23em;
|
|
664
|
+
font-size: 2em;
|
|
665
|
+
}
|
|
666
|
+
.mq-math-mode,
|
|
667
|
+
.mq-math-mode .mq-editable-field {
|
|
668
|
+
cursor: text;
|
|
669
|
+
font-family: Symbola, "Times New Roman", serif;
|
|
670
|
+
}
|
|
671
|
+
.mq-math-mode .mq-longdiv .mq-longdiv-curve-border,
|
|
672
|
+
.mq-math-mode .mq-editable-field .mq-longdiv .mq-longdiv-curve-border {
|
|
673
|
+
font-size: 1.33em;
|
|
674
|
+
}
|
|
675
|
+
.mq-overarrow {
|
|
676
|
+
min-width: 0.5em;
|
|
677
|
+
border-top: 1px solid black;
|
|
678
|
+
margin-top: 1px;
|
|
679
|
+
padding-top: 0.2em;
|
|
680
|
+
text-align: center;
|
|
681
|
+
}
|
|
682
|
+
.mq-overarrow:before {
|
|
683
|
+
display: block;
|
|
684
|
+
position: relative;
|
|
685
|
+
top: -0.34em;
|
|
686
|
+
font-size: 0.5em;
|
|
687
|
+
line-height: 0em;
|
|
688
|
+
content: "\27A4";
|
|
689
|
+
text-align: right;
|
|
690
|
+
}
|
|
691
|
+
.mq-overarrow.mq-arrow-left:before {
|
|
692
|
+
-moz-transform: scaleX(-1);
|
|
693
|
+
-o-transform: scaleX(-1);
|
|
694
|
+
-webkit-transform: scaleX(-1);
|
|
695
|
+
transform: scaleX(-1);
|
|
696
|
+
filter: FlipH;
|
|
697
|
+
-ms-filter: "FlipH";
|
|
698
|
+
}
|
|
699
|
+
.mq-overarrow.mq-arrow-both {
|
|
700
|
+
vertical-align: text-bottom;
|
|
701
|
+
}
|
|
702
|
+
.mq-overarrow.mq-arrow-both.mq-empty {
|
|
703
|
+
min-height: 1.23em;
|
|
704
|
+
}
|
|
705
|
+
.mq-overarrow.mq-arrow-both.mq-empty:after {
|
|
706
|
+
top: -0.34em;
|
|
707
|
+
}
|
|
708
|
+
.mq-overarrow.mq-arrow-both:before {
|
|
709
|
+
-moz-transform: scaleX(-1);
|
|
710
|
+
-o-transform: scaleX(-1);
|
|
711
|
+
-webkit-transform: scaleX(-1);
|
|
712
|
+
transform: scaleX(-1);
|
|
713
|
+
filter: FlipH;
|
|
714
|
+
-ms-filter: "FlipH";
|
|
715
|
+
}
|
|
716
|
+
.mq-overarrow.mq-arrow-both:after {
|
|
717
|
+
display: block;
|
|
718
|
+
position: relative;
|
|
719
|
+
top: -2.3em;
|
|
720
|
+
font-size: 0.5em;
|
|
721
|
+
line-height: 0em;
|
|
722
|
+
content: "\27A4";
|
|
723
|
+
visibility: visible;
|
|
724
|
+
text-align: right;
|
|
725
|
+
}
|
|
726
|
+
.mq-math-mode .mq-selection,
|
|
727
|
+
.mq-editable-field .mq-selection,
|
|
728
|
+
.mq-math-mode .mq-selection .mq-non-leaf,
|
|
729
|
+
.mq-editable-field .mq-selection .mq-non-leaf,
|
|
730
|
+
.mq-math-mode .mq-selection .mq-scaled,
|
|
731
|
+
.mq-editable-field .mq-selection .mq-scaled {
|
|
732
|
+
background: #B4D5FE !important;
|
|
733
|
+
background: Highlight !important;
|
|
734
|
+
color: HighlightText;
|
|
735
|
+
border-color: HighlightText;
|
|
736
|
+
}
|
|
737
|
+
.mq-math-mode .mq-selection .mq-matrixed,
|
|
738
|
+
.mq-editable-field .mq-selection .mq-matrixed {
|
|
739
|
+
background: #39F !important;
|
|
740
|
+
}
|
|
741
|
+
.mq-math-mode .mq-selection .mq-matrixed-container,
|
|
742
|
+
.mq-editable-field .mq-selection .mq-matrixed-container {
|
|
743
|
+
filter: progid:DXImageTransform.Microsoft.Chroma(color='#3399FF') !important;
|
|
744
|
+
}
|
|
745
|
+
.mq-math-mode .mq-selection.mq-blur,
|
|
746
|
+
.mq-editable-field .mq-selection.mq-blur,
|
|
747
|
+
.mq-math-mode .mq-selection.mq-blur .mq-non-leaf,
|
|
748
|
+
.mq-editable-field .mq-selection.mq-blur .mq-non-leaf,
|
|
749
|
+
.mq-math-mode .mq-selection.mq-blur .mq-scaled,
|
|
750
|
+
.mq-editable-field .mq-selection.mq-blur .mq-scaled,
|
|
751
|
+
.mq-math-mode .mq-selection.mq-blur .mq-matrixed,
|
|
752
|
+
.mq-editable-field .mq-selection.mq-blur .mq-matrixed {
|
|
753
|
+
background: #D4D4D4 !important;
|
|
754
|
+
color: black;
|
|
755
|
+
border-color: black;
|
|
756
|
+
}
|
|
757
|
+
.mq-math-mode .mq-selection.mq-blur .mq-matrixed-container,
|
|
758
|
+
.mq-editable-field .mq-selection.mq-blur .mq-matrixed-container {
|
|
759
|
+
filter: progid:DXImageTransform.Microsoft.Chroma(color='#D4D4D4') !important;
|
|
760
|
+
}
|
|
761
|
+
.mq-editable-field .mq-textarea,
|
|
762
|
+
.mq-math-mode .mq-textarea {
|
|
763
|
+
position: relative;
|
|
764
|
+
-webkit-user-select: text;
|
|
765
|
+
-moz-user-select: text;
|
|
766
|
+
user-select: text;
|
|
767
|
+
}
|
|
768
|
+
.mq-editable-field .mq-textarea > textarea,
|
|
769
|
+
.mq-math-mode .mq-textarea > textarea {
|
|
770
|
+
opacity: 0;
|
|
771
|
+
overflow: hidden;
|
|
772
|
+
}
|
|
773
|
+
.mq-editable-field .mq-textarea *,
|
|
774
|
+
.mq-math-mode .mq-textarea *,
|
|
775
|
+
.mq-editable-field .mq-selectable,
|
|
776
|
+
.mq-math-mode .mq-selectable {
|
|
777
|
+
-webkit-user-select: text;
|
|
778
|
+
-moz-user-select: text;
|
|
779
|
+
user-select: text;
|
|
780
|
+
position: absolute;
|
|
781
|
+
clip: rect(1em 1em 1em 1em);
|
|
782
|
+
-webkit-transform: scale(0);
|
|
783
|
+
-moz-transform: scale(0);
|
|
784
|
+
-ms-transform: scale(0);
|
|
785
|
+
-o-transform: scale(0);
|
|
786
|
+
transform: scale(0);
|
|
787
|
+
resize: none;
|
|
788
|
+
width: 1px;
|
|
789
|
+
height: 1px;
|
|
790
|
+
box-sizing: content-box;
|
|
791
|
+
}
|
|
792
|
+
.mq-math-mode .mq-matrixed {
|
|
793
|
+
background: white;
|
|
794
|
+
display: -moz-inline-box;
|
|
795
|
+
display: inline-block;
|
|
796
|
+
}
|
|
797
|
+
.mq-math-mode .mq-matrixed-container {
|
|
798
|
+
filter: progid:DXImageTransform.Microsoft.Chroma(color='white');
|
|
799
|
+
margin-top: -0.1em;
|
|
800
|
+
}
|
|
801
|
+
.mq-math-mode .mq-matrix table {
|
|
802
|
+
border-spacing: 2px;
|
|
803
|
+
}
|
|
804
|
+
button .mq-math-mode .mq-matrix table.mq-rows-2 td,
|
|
805
|
+
button .mq-math-mode .mq-matrix table.mq-rows-3 td {
|
|
806
|
+
font-size: 0.3em;
|
|
807
|
+
width: 0.9em;
|
|
808
|
+
}
|
|
809
|
+
button .mq-math-mode .mq-matrix table.mq-rows-2 {
|
|
810
|
+
margin-bottom: -2px;
|
|
811
|
+
}
|
|
812
|
+
button .mq-math-mode .mq-matrix table.mq-rows-1 {
|
|
813
|
+
margin-bottom: 3px;
|
|
814
|
+
}
|
|
815
|
+
button .mq-math-mode .mq-matrix table.mq-rows-1 td {
|
|
816
|
+
font-size: 0.6em;
|
|
817
|
+
width: 1.1em;
|
|
818
|
+
margin-bottom: 3px;
|
|
819
|
+
}
|
|
820
|
+
button .mq-math-mode .mq-matrix .matrix-edit-content-row {
|
|
821
|
+
display: inline-block;
|
|
822
|
+
text-align: center;
|
|
823
|
+
vertical-align: middle;
|
|
824
|
+
}
|
|
825
|
+
button .mq-math-mode .mq-matrix .matrix-edit-content-row p {
|
|
826
|
+
font-size: 0.7em;
|
|
827
|
+
}
|
|
828
|
+
button .mq-math-mode .mq-matrix .matrix-edit-content-col {
|
|
829
|
+
display: inline-block;
|
|
830
|
+
text-align: center;
|
|
831
|
+
vertical-align: middle;
|
|
832
|
+
}
|
|
833
|
+
button .mq-math-mode .mq-matrix .matrix-edit-content-col p {
|
|
834
|
+
padding: 0 0.15em;
|
|
835
|
+
font-size: 0.7em;
|
|
836
|
+
}
|
|
837
|
+
button .mq-math-mode .mq-matrix .mq-paren {
|
|
838
|
+
transform: scale(1.13, 1.77);
|
|
839
|
+
padding: 0;
|
|
840
|
+
display: inline-block;
|
|
841
|
+
}
|
|
842
|
+
button .matrix-edit .mq-empty {
|
|
843
|
+
padding: 0.1em;
|
|
844
|
+
margin: 0.1em;
|
|
845
|
+
font-size: 0.4em;
|
|
846
|
+
width: 0.8em;
|
|
847
|
+
}
|
package/esm/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import classNames from 'classnames';
|
|
|
7
7
|
import { trigCalculator } from 'trigonometry-calculator';
|
|
8
8
|
import Point from '@mapbox/point-geometry';
|
|
9
9
|
import debug from 'debug';
|
|
10
|
-
import
|
|
10
|
+
import ReactDOM from 'react-dom';
|
|
11
11
|
|
|
12
12
|
function _extends() {
|
|
13
13
|
_extends = Object.assign || function (target) {
|
|
@@ -438,6 +438,132 @@ var anchorUtils = /*#__PURE__*/Object.freeze({
|
|
|
438
438
|
toRadians: toRadians
|
|
439
439
|
});
|
|
440
440
|
|
|
441
|
+
var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
|
|
442
|
+
|
|
443
|
+
var _createClass$1 = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
444
|
+
|
|
445
|
+
function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
446
|
+
|
|
447
|
+
function _possibleConstructorReturn$1(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
448
|
+
|
|
449
|
+
function _inherits$1(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
450
|
+
|
|
451
|
+
var Portal$2 = function (_React$Component) {
|
|
452
|
+
_inherits$1(Portal, _React$Component);
|
|
453
|
+
|
|
454
|
+
function Portal() {
|
|
455
|
+
_classCallCheck$1(this, Portal);
|
|
456
|
+
|
|
457
|
+
return _possibleConstructorReturn$1(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
_createClass$1(Portal, [{
|
|
461
|
+
key: 'componentWillUnmount',
|
|
462
|
+
value: function componentWillUnmount() {
|
|
463
|
+
if (this.defaultNode) {
|
|
464
|
+
document.body.removeChild(this.defaultNode);
|
|
465
|
+
}
|
|
466
|
+
this.defaultNode = null;
|
|
467
|
+
}
|
|
468
|
+
}, {
|
|
469
|
+
key: 'render',
|
|
470
|
+
value: function render() {
|
|
471
|
+
if (!canUseDOM) {
|
|
472
|
+
return null;
|
|
473
|
+
}
|
|
474
|
+
if (!this.props.node && !this.defaultNode) {
|
|
475
|
+
this.defaultNode = document.createElement('div');
|
|
476
|
+
document.body.appendChild(this.defaultNode);
|
|
477
|
+
}
|
|
478
|
+
return ReactDOM.createPortal(this.props.children, this.props.node || this.defaultNode);
|
|
479
|
+
}
|
|
480
|
+
}]);
|
|
481
|
+
|
|
482
|
+
return Portal;
|
|
483
|
+
}(React.Component);
|
|
484
|
+
|
|
485
|
+
Portal$2.propTypes = {
|
|
486
|
+
children: PropTypes.node.isRequired,
|
|
487
|
+
node: PropTypes.any
|
|
488
|
+
};
|
|
489
|
+
|
|
490
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
491
|
+
|
|
492
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
493
|
+
|
|
494
|
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
495
|
+
|
|
496
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
497
|
+
|
|
498
|
+
var Portal$1 = function (_React$Component) {
|
|
499
|
+
_inherits(Portal, _React$Component);
|
|
500
|
+
|
|
501
|
+
function Portal() {
|
|
502
|
+
_classCallCheck(this, Portal);
|
|
503
|
+
|
|
504
|
+
return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
_createClass(Portal, [{
|
|
508
|
+
key: 'componentDidMount',
|
|
509
|
+
value: function componentDidMount() {
|
|
510
|
+
this.renderPortal();
|
|
511
|
+
}
|
|
512
|
+
}, {
|
|
513
|
+
key: 'componentDidUpdate',
|
|
514
|
+
value: function componentDidUpdate(props) {
|
|
515
|
+
this.renderPortal();
|
|
516
|
+
}
|
|
517
|
+
}, {
|
|
518
|
+
key: 'componentWillUnmount',
|
|
519
|
+
value: function componentWillUnmount() {
|
|
520
|
+
ReactDOM.unmountComponentAtNode(this.defaultNode || this.props.node);
|
|
521
|
+
if (this.defaultNode) {
|
|
522
|
+
document.body.removeChild(this.defaultNode);
|
|
523
|
+
}
|
|
524
|
+
this.defaultNode = null;
|
|
525
|
+
this.portal = null;
|
|
526
|
+
}
|
|
527
|
+
}, {
|
|
528
|
+
key: 'renderPortal',
|
|
529
|
+
value: function renderPortal(props) {
|
|
530
|
+
if (!this.props.node && !this.defaultNode) {
|
|
531
|
+
this.defaultNode = document.createElement('div');
|
|
532
|
+
document.body.appendChild(this.defaultNode);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
var children = this.props.children;
|
|
536
|
+
// https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b
|
|
537
|
+
if (typeof this.props.children.type === 'function') {
|
|
538
|
+
children = React.cloneElement(this.props.children);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
this.portal = ReactDOM.unstable_renderSubtreeIntoContainer(this, children, this.props.node || this.defaultNode);
|
|
542
|
+
}
|
|
543
|
+
}, {
|
|
544
|
+
key: 'render',
|
|
545
|
+
value: function render() {
|
|
546
|
+
return null;
|
|
547
|
+
}
|
|
548
|
+
}]);
|
|
549
|
+
|
|
550
|
+
return Portal;
|
|
551
|
+
}(React.Component);
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
Portal$1.propTypes = {
|
|
555
|
+
children: PropTypes.node.isRequired,
|
|
556
|
+
node: PropTypes.any
|
|
557
|
+
};
|
|
558
|
+
|
|
559
|
+
var Portal = void 0;
|
|
560
|
+
|
|
561
|
+
if (ReactDOM.createPortal) {
|
|
562
|
+
Portal = Portal$2;
|
|
563
|
+
} else {
|
|
564
|
+
Portal = Portal$1;
|
|
565
|
+
}
|
|
566
|
+
|
|
441
567
|
const Anchor = withStyles({
|
|
442
568
|
anchor: {
|
|
443
569
|
position: 'absolute',
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/style-utils.js","../src/protractor/graphic.jsx","../src/anchor.jsx","../src/transform-origin.jsx","../src/anchor-utils.js","../src/rotatable.jsx","../src/protractor/index.jsx","../src/ruler/unit-type.jsx","../src/ruler/unit.jsx","../src/ruler/graphic.jsx","../src/ruler/index.jsx"],"sourcesContent":["import { noSelect } from '@pie-lib/style-utils';\n\nexport { noSelect };\n\nexport const strokeColor = (theme) => `var(--ruler-stroke, ${theme.palette.primary.main})`;\n\nexport const fillColor = (theme) => `var(--ruler-bg, ${theme.palette.primary.contrastText})`;\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport range from 'lodash/range';\nimport PropTypes from 'prop-types';\nimport { strokeColor, noSelect } from '../style-utils';\n\nconst Line = withStyles((theme) => ({\n line: {\n strokeWidth: '0.2',\n stroke: strokeColor(theme),\n },\n}))(({ angle, classes, major, minor }) => (\n <line\n transform={`rotate(${angle}, 50.5,50)`}\n className={classes.line}\n style={{}}\n x1=\"1\"\n x2={major ? 10 : minor ? 6 : 3}\n y1=\"50\"\n y2=\"50\"\n />\n));\n\nconst Spike = withStyles((theme) => ({\n line: {\n strokeWidth: '0.2',\n stroke: strokeColor(theme),\n },\n}))(({ angle, classes }) => (\n <line transform={`rotate(${angle}, 50.5,50)`} className={classes.line} style={{}} x1=\"15\" x2={'46'} y1=\"50\" y2=\"50\" />\n));\n\nconst Text = withStyles((theme) => ({\n text: {\n fontSize: '2.5px',\n textAnchor: 'middle',\n fill: strokeColor(theme),\n ...noSelect(),\n },\n}))(({ angle, classes }) => (\n <text transform={`rotate(${angle - 90}, 50.5, 50)`} className={classes.text} x=\"50\" y=\"12.5\">\n {angle}\n </text>\n));\n\nexport class Graphic extends React.PureComponent {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n };\n\n render() {\n const { classes } = this.props;\n return (\n <svg viewBox=\"0 0 102 61\">\n <path className={classes.path} d=\"M 1,50 A 1,1 0 0 1 100,50 L 100,60 L 1,60 Z\" fill=\"none\" />\n {range(0, 181).map((r) => (\n <Line minor={r % 5 === 0} major={r % 10 === 0} angle={r} key={r} />\n ))}\n {range(0, 181, 10).map((r) => (\n <React.Fragment key={r}>\n <Spike angle={r} />\n <Text angle={r} />\n </React.Fragment>\n ))}\n <circle r=\"4\" cx=\"50.5\" cy=\"50\" className={classes.circle} />\n <line className={classes.line} x1=\"48.5\" x2=\"52.5\" y1=\"50\" y2=\"50\" />\n <line className={classes.line} transform={'rotate(90 50.5 50)'} x1=\"48.5\" x2=\"52.5\" y1=\"50\" y2=\"50\" />\n </svg>\n );\n }\n}\n\nexport default withStyles((theme) => ({\n path: {\n strokeWidth: '0.2',\n stroke: strokeColor(theme),\n },\n line: {\n strokeWidth: '0.2',\n stroke: strokeColor(theme),\n },\n circle: {\n strokeWidth: '0.2',\n stroke: strokeColor(theme),\n fill: 'none',\n },\n}))(Graphic);\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nconst Anchor = withStyles((theme) => ({\n anchor: {\n cursor: 'pointer',\n width: '20px',\n height: '20px',\n position: 'absolute',\n borderRadius: '10px',\n backgroundColor: `var(--ruler-bg, ${theme.palette.primary.contrastText})`,\n transition: 'background-color 200ms ease-in',\n border: `solid 1px var(--ruler-stroke, ${theme.palette.primary.dark})`,\n '&:hover': {\n backgroundColor: `var(--ruler-bg-hover, ${theme.palette.primary.light})`,\n },\n },\n}))(({ classes, className }) => <div className={classNames(classes.anchor, className)} />);\n\nexport default Anchor;\n","const keyWordToPercent = (v) => {\n if (v === 'left' || v === 'top') {\n return 0;\n } else if (v === 'right' || v === 'bottom') {\n return 100;\n } else if (v === 'center') {\n return 50;\n } else if (v.endsWith('%')) {\n return parseFloat(v);\n } else {\n return v;\n }\n};\n\nconst getValue = (s, length) => {\n if (s.endsWith('px')) {\n return parseFloat(s);\n } else {\n s = keyWordToPercent(s);\n const v = length * (s / 100);\n return v;\n }\n};\n\nconst normalize = (a) => {\n if (a[0] === 'bottom' || a[0] === 'top' || a[1] === 'left' || a[1] === 'right') {\n return [a[1], a[0]];\n } else {\n return a;\n }\n};\n\n/**\n * Parse a transform origin string to x/y values.\n * @param {{width: number, height: number}} rect\n * @param {string} value\n * @returns {x:number, y:number}\n */\nexport const parse = (rect, value) => {\n if (!value) {\n return {\n x: rect.width / 2,\n y: rect.height / 2,\n };\n }\n const arr = value.split(' ');\n if (arr.length === 1) {\n //1 val\n const x = getValue(arr[0], rect.width);\n const y = getValue('50%', rect.height);\n return { x, y };\n } else if (arr.length === 2) {\n const sorted = normalize(arr);\n const x = getValue(sorted[0], rect.width);\n const y = getValue(sorted[1], rect.height);\n return { x, y };\n } else if (arr.length === 3) {\n throw new Error('transform-origin values with 3 fields not supported.');\n }\n};\n","import { trigCalculator } from 'trigonometry-calculator';\nimport Point from '@mapbox/point-geometry';\nimport debug from 'debug';\nimport { parse as parseOrigin } from './transform-origin';\nconst log = debug('@pie-lib:tools:anchor-utils');\n\nexport const toDegrees = (radians) => radians * (180 / Math.PI);\nexport const toRadians = (degrees) => degrees * (Math.PI / 180);\n\nexport const normalizeAngle = (a) => {\n if (a > 360) {\n return a % 360;\n } else if (a < 0) {\n return 360 + (a % 360);\n }\n return a;\n};\n\nexport const toPoint = (rect, edge) => {\n const out = parseOrigin(rect, edge);\n return new Point(out.x, out.y);\n};\n\n/**\n * Get the distance between to anchor points in a rect.\n * @param {{width: number, height: number}} rect - the rect\n * @param {number} degrees - the degrees\n * @param {string} from - from anchor\n * @param {string} to - to anchor\n * @returns {Point} point - the distance as a Point\n */\nexport const distanceBetween = (rect, degrees, from, to) => {\n const center = new Point(rect.width / 2, rect.height / 2);\n const radians = toRadians(degrees);\n const fromCenter = center.rotateAround(radians, toPoint(rect, from));\n const toCenter = center.rotateAround(radians, toPoint(rect, to));\n const diff = fromCenter.sub(toCenter);\n return diff;\n};\n\n/**\n * For a corner string, a point and a rect, return a relative x,y from that point to a corner.\n * Note that the y value descends as it goes down (unlike for a screen's y value), so this is only really useful for math functions.\n * @example\n * ```\n * getXAndY('top-left', {width: 100, height: 100}, 10, 10) //=> {x:10, y: -90}\n * ```\n * @param {*} corner\n * @param {*} rect\n * @param {*} point\n */\nexport const getXAndY = (corner, rect, point) => {\n if (corner === 'top-left') {\n const x = point.x * -1;\n const y = point.y;\n return { x, y };\n } else if (corner === 'bottom-left') {\n const x = point.x * -1;\n const y = point.y - rect.height;\n return { x, y };\n } else if (corner === 'top-right') {\n const x = rect.width - point.x;\n const y = point.y;\n return { x, y };\n } else if (corner === 'bottom-right') {\n const x = rect.width - point.x;\n const y = point.y - rect.height;\n return { x, y };\n }\n};\n\nexport const arctangent = (x, y) => toDegrees(Math.atan2(x, y));\n\nexport const getAngleAndHypotenuse = (corner, rect, point) => {\n const { x, y } = getXAndY(corner, rect, point);\n const degrees = arctangent(x, y);\n const hypotenuse = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\n return { x, y, degrees, hypotenuse };\n};\n\nconst getPosition = (side, rect, point, angle, calcAngle) => {\n if (angle === 0) {\n return side === 'left' ? point.x : point.y;\n }\n const points = anglePoints(angle);\n const key = points[side];\n\n const { degrees, hypotenuse } = getAngleAndHypotenuse(key, rect, point);\n\n const ra = calcAngle(degrees);\n\n if (ra === 0) {\n return hypotenuse;\n }\n\n const t = {\n angles: { 0: ra, 1: 90 },\n sides: { 1: hypotenuse },\n };\n const out = trigCalculator(t);\n return out.sides[2];\n};\n\nexport const getTop = (rect, point, angle) => {\n return getPosition('top', rect, point, angle, (degrees) => {\n return Math.abs(angle + degrees);\n });\n};\n\nexport const getLeft = (rect, point, angle) => {\n return getPosition('left', rect, point, angle, (degrees) => {\n return Math.abs(angle + degrees + 90);\n });\n};\n\n/**\n * Calculate the position of an anchor within a bounding rect, if the source rect has been rotated by an angle.\n * It does this by finding the appropriate corner of the src rect, that touches the bounding rect, calculates\n * the hypotenuse (h) of that anchor to that point. Then using that plus the rotation it calculates\n * the sides of the triangle and returns the length of the side that touches the bounding rect.\n * @param {{width: number, height: number}} rect - the rect which contains the point\n * @param {{x:number, y: number}} point - the point within the rect\n * @param {number} angle - the angle in degrees that the rect has rotated.\n * @returns {{left: number, top: number}} position\n */\nexport const getAnchor = (rect, point, angle) => {\n log('[getAnchor] rect: ', rect, 'point:', point, 'angle: ', angle);\n if (point.x > rect.width) {\n throw new Error(`x: ${point.x} cannot be greater than width: ${rect.width}`);\n }\n if (point.y > rect.height) {\n throw new Error(`y: ${point.y} cannot be greater than height: ${rect.height}`);\n }\n const a = normalizeAngle(angle);\n const top = getTop(rect, point, a);\n const left = getLeft(rect, point, a);\n\n log('[getAnchor] top: ', top, 'left: ', left);\n return { top, left };\n};\n\nconst anglePoints = (angle) => {\n if (angle <= 90) {\n return { top: 'top-left', left: 'bottom-left' };\n } else if (angle > 90 && angle <= 180) {\n return { top: 'bottom-left', left: 'bottom-right' };\n } else if (angle > 180 && angle <= 270) {\n return { top: 'bottom-right', left: 'top-right' };\n } else if (angle > 270 && angle < 360) {\n return { top: 'top-right', left: 'top-left' };\n }\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getAnchor as calcAnchor, distanceBetween, arctangent } from './anchor-utils';\nimport { Portal } from 'react-portal';\nimport Point from '@mapbox/point-geometry';\nimport { parse as parseOrigin } from './transform-origin';\nimport classNames from 'classnames';\n\nconst Anchor = withStyles({\n anchor: {\n position: 'absolute',\n zIndex: 100,\n width: '200px',\n height: '80px',\n },\n})(({ classes, left, top, color, fill }) => {\n color = color || 'green';\n fill = fill || 'white';\n return (\n <Portal>\n <svg\n className={classes.anchor}\n style={{\n left: left - 10,\n top: top - 10,\n }}\n >\n <circle cx={10} cy={10} r={8} strokeWidth={1} stroke={color} fill={fill} />\n </svg>\n </Portal>\n );\n});\n\n/**\n * Tip o' the hat to:\n * https://bl.ocks.org/joyrexus/7207044\n */\nexport class Rotatable extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n showAnchor: PropTypes.bool,\n handle: PropTypes.arrayOf(\n PropTypes.shape({\n class: PropTypes.string.isRequired,\n origin: PropTypes.string,\n }),\n ),\n className: PropTypes.string,\n startPosition: PropTypes.shape({\n left: PropTypes.number,\n top: PropTypes.number,\n }),\n };\n\n static defaultProps = {\n showAnchor: false,\n startPosition: { left: 0, top: 0 },\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isRotating: false,\n rotation: 0,\n startAngle: 0,\n angle: 0,\n position: {\n left: props.startPosition.left,\n top: props.startPosition.top,\n },\n };\n }\n\n componentWillUnmount() {\n document.removeEventListener('mouseup', this.rotateStop);\n document.removeEventListener('mousemove', this.drag);\n document.removeEventListener('mousemove', this.rotate);\n\n this.handles.forEach((h) => {\n h.el.removeEventListener('mousedown', h.mousedownHandler);\n h.el.removeEventListener('mouseup', this.rotateStop);\n });\n }\n\n componentDidMount() {\n this.addMouseUpHandler();\n this.initHandles();\n }\n\n initHandles = () => {\n const { handle } = this.props;\n\n if (Array.isArray(handle)) {\n this.handles = [];\n handle.forEach((h) => {\n const el = this.rotatable.querySelector(`.${h.class}`);\n\n if (el) {\n const mousedownHandler = this.rotateStart(h.origin);\n el.addEventListener('mousedown', mousedownHandler);\n el.addEventListener('mouseup', this.rotateStop);\n this.handles.push({ el, mousedownHandler });\n }\n });\n }\n };\n\n addMouseUpHandler = () => {\n document.addEventListener('mouseup', this.rotateStop);\n };\n\n originToXY = (origin) => {\n const { clientWidth: width, clientHeight: height } = this.rotatable;\n return parseOrigin({ width, height }, origin);\n };\n\n /**\n * Get the anchor point for the given element, origin and rotation.\n * @returns {{left:number, top: number}} - the co-ordinates of the anchor point relative to the whole page.\n */\n getAnchor = (origin) => {\n const { rotation } = this.state;\n const { clientWidth, clientHeight } = this.rotatable;\n const { top, left } = this.rotatable.getBoundingClientRect();\n const xy = this.originToXY(origin);\n const { top: anchorTop, left: anchorLeft } = calcAnchor(\n {\n width: clientWidth,\n height: clientHeight,\n },\n xy,\n rotation,\n );\n\n return {\n top: top + anchorTop,\n left: left + anchorLeft,\n };\n };\n\n rotateStart = (origin) => (e) => {\n const { isRotating } = this.state;\n if (isRotating) {\n return;\n }\n\n e.preventDefault();\n\n const anchor = this.getAnchor(origin);\n const { rotation } = this.state;\n const { angle: startAngle } = this.getAngle(anchor, e);\n\n let diff = { x: 0, y: 0 };\n if (origin !== this.state.origin) {\n const { clientWidth: width, clientHeight: height } = this.rotatable;\n diff = distanceBetween({ width, height }, rotation, this.state.origin, origin);\n }\n\n this.setState(\n {\n origin,\n isRotating: true,\n startAngle,\n anchor,\n position: {\n left: this.state.position.left + diff.x,\n top: this.state.position.top + diff.y,\n },\n },\n () => {\n document.addEventListener('mousemove', this.rotate);\n },\n );\n };\n\n rotateStop = (e) => {\n const { isRotating } = this.state;\n\n if (!isRotating) {\n return;\n }\n\n e.preventDefault();\n\n this.setState(\n {\n isRotating: false,\n angle: this.state.rotation,\n anchor: null,\n current: null,\n },\n () => {\n document.removeEventListener('mousemove', this.rotate);\n document.removeEventListener('mousemove', this.drag);\n },\n );\n };\n\n getAngle(anchor, e) {\n const x = e.clientX - anchor.left;\n const y = (e.clientY - anchor.top) * -1;\n return { angle: arctangent(x, y), x, y };\n }\n\n rotate = (e) => {\n const { isRotating } = this.state;\n if (!isRotating) {\n return;\n }\n\n e.preventDefault();\n\n const { startAngle, angle, anchor } = this.state;\n const { angle: current, x, y } = this.getAngle(anchor, e);\n const computedAnchor = { x, y };\n const diff = current - startAngle;\n const rotation = angle + diff;\n this.setState({ rotation, diff, current, computedAnchor });\n };\n\n mouseDown = (e) => {\n const handle = this.handles.find((h) => h.el === e.target);\n\n if (!handle) {\n this.dragStart(e);\n }\n };\n\n dragStart = (e) => {\n const dragPoint = new Point(e.pageX, e.pageY);\n this.setState({ dragPoint }, () => {\n document.addEventListener('mousemove', this.drag);\n });\n };\n\n drag = (e) => {\n e.preventDefault();\n const current = new Point(e.pageX, e.pageY);\n const translate = current.sub(this.state.dragPoint);\n this.setState({ translate });\n };\n\n mouseUp = () => {\n if (!this.state.translate) {\n return;\n }\n\n const { position: lastPosition, translate } = this.state;\n\n const position = {\n left: lastPosition.left + translate.x,\n top: lastPosition.top + translate.y,\n };\n\n document.removeEventListener('mousemove', this.drag);\n this.setState({ position, dragPoint: null, translate: null });\n };\n\n render() {\n const { children, classes, showAnchor, className } = this.props;\n const { rotation, anchor, origin, translate, position } = this.state;\n\n const t = translate ? `translate(${translate.x}px, ${translate.y}px)` : '';\n\n const style = {\n left: position.left,\n top: position.top,\n transformOrigin: origin,\n transform: `${t} rotate(${rotation}deg)`,\n };\n\n return (\n <div\n className={classNames(classes.rotatable, className)}\n style={style}\n ref={(r) => (this.rotatable = r)}\n onMouseDown={this.mouseDown}\n onMouseUp={this.mouseUp}\n >\n {anchor && showAnchor && <Anchor {...anchor} />}\n {children}\n </div>\n );\n }\n}\n\nexport default withStyles({\n rotatable: {\n position: 'relative',\n display: 'inline-block',\n cursor: 'move',\n },\n})(Rotatable);\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport Graphic from './graphic';\nimport Anchor from '../anchor';\nimport Rotatable from '../rotatable';\nimport classNames from 'classnames';\n\nexport class Protractor extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n width: PropTypes.number.isRequired,\n className: PropTypes.string,\n startPosition: PropTypes.shape({\n left: PropTypes.number,\n top: PropTypes.number,\n }),\n };\n\n static defaultProps = {\n width: 450,\n startPosition: { left: 0, top: 0 },\n };\n\n render() {\n const { classes, width, className, startPosition } = this.props;\n return (\n <Rotatable\n className={className}\n startPosition={startPosition}\n handle={[\n {\n class: 'leftAnchor',\n origin: `${width * 0.495}px ${width * 0.49}px`,\n },\n {\n class: 'rightAnchor',\n origin: `${width * 0.495}px ${width * 0.49}px`,\n },\n ]}\n >\n <div className={classes.protractor} style={{ width: `${width}px` }}>\n <Graphic />\n\n <Anchor className={classNames('leftAnchor', classes.leftAnchor)} />\n <Anchor className={classNames('rightAnchor', classes.rightAnchor)} />\n </div>\n </Rotatable>\n );\n }\n}\n\nexport default withStyles(() => ({\n protractor: { position: 'relative' },\n leftAnchor: {\n position: 'absolute',\n left: 0,\n bottom: 0,\n },\n rightAnchor: {\n position: 'absolute',\n right: 0,\n bottom: 0,\n },\n}))(Protractor);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { noSelect, strokeColor } from '../style-utils';\nimport { withStyles } from '@material-ui/core/styles';\n\nexport const UnitType = (props) => {\n const { classes, label, x, y, textAlign, fill, fontSize, stroke } = props;\n\n return (\n <text\n className={classes.unitType}\n x={x}\n y={y}\n textAnchor={textAlign}\n stroke={stroke}\n fill={fill}\n fontSize={fontSize}\n >\n {label}\n </text>\n );\n};\n\nUnitType.propTypes = {\n classes: PropTypes.object.isRequired,\n label: PropTypes.string.isRequired,\n x: PropTypes.number,\n y: PropTypes.number,\n textAlign: PropTypes.string,\n fill: PropTypes.string,\n fontSize: PropTypes.number,\n stroke: PropTypes.string,\n};\n\nUnitType.defaultProps = {\n textAnchor: 'start',\n fontSize: 11,\n stroke: 'none',\n x: 8,\n y: 14,\n};\n\nexport default withStyles((theme) => ({\n unitType: { ...noSelect(), fill: strokeColor(theme) },\n}))(UnitType);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { noSelect, strokeColor } from '../style-utils';\nimport range from 'lodash/range';\n\nconst Tick = withStyles((theme) => ({\n tick: {\n stroke: strokeColor(theme),\n },\n}))(({ x, height, bottom, classes, major, minor }) => {\n const y1 = major ? bottom - height * 2 : minor ? bottom - height * 1.5 : bottom - height;\n\n return <line y1={y1} y2={bottom} x1={x} x2={x} className={classes.tick} />;\n});\n\nconst Ticks = ({ count, width, height }) => {\n return (\n <React.Fragment>\n {range(1, count).map((r) => {\n return (\n <Tick\n key={r}\n value={r}\n x={r * (width / count)}\n major={r % (count / 2) === 0}\n minor={r % (count / 4) === 0}\n bottom={height}\n height={10}\n />\n );\n })}\n </React.Fragment>\n );\n};\n\nTicks.propTypes = {\n count: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n};\n\nexport class Unit extends React.Component {\n static propTypes = {\n index: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n classes: PropTypes.object.isRequired,\n last: PropTypes.bool.isRequired,\n config: PropTypes.object.isRequired,\n };\n\n render() {\n const { index, width, height, classes, last, config } = this.props;\n\n const style = {\n transform: `translate(${width * (index - 1)}px, 0px)`,\n };\n return (\n <g style={style}>\n {!last && <line x1={width} y1={0} x2={width} y2={height} className={classes.endTick} />}\n\n <Ticks count={config.ticks} width={width} height={height} />\n <text width={width} className={classes.label} x={width - 5} y={15}>\n {index}\n </text>\n </g>\n );\n }\n}\n\nexport default withStyles((theme) => ({\n endTick: {\n stroke: strokeColor(theme),\n strokeWidth: 1,\n },\n label: {\n textAnchor: 'end',\n fontSize: '12px',\n fill: strokeColor(theme),\n ...noSelect(),\n },\n base: {\n fill: 'none',\n stroke: 'red',\n },\n}))(Unit);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport UnitType from './unit-type';\nimport range from 'lodash/range';\nimport Unit from './unit';\nimport { strokeColor, fillColor } from '../style-utils';\n\nconst Bg = ({ width, height, className }) => <rect width={width} height={height} cx={0} cy={0} className={className} />;\n\nBg.propTypes = {\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n className: PropTypes.string.isRequired,\n};\n\nexport class Graphic extends React.PureComponent {\n static propTypes = {\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n units: PropTypes.number.isRequired,\n unit: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n render() {\n const { width, height, classes, units, unit } = this.props;\n const viewBox = `0 0 ${width} ${height}`;\n const unitWidth = width / units;\n const unitHeight = height;\n\n return (\n <svg viewBox={viewBox}>\n <Bg width={width} height={height} className={classes.bg} />\n <UnitType label={unit.type} />\n {range(1, units + 1).map((r) => (\n <Unit width={unitWidth} height={unitHeight} key={r} index={r} config={unit} last={r === units} />\n ))}\n </svg>\n );\n }\n}\nconst styles = (theme) => ({\n bg: {\n stroke: strokeColor(theme),\n strokeWidth: '2px',\n fill: fillColor(theme),\n },\n});\n\nexport default withStyles(styles)(Graphic);\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Rotatable from '../rotatable';\nimport classNames from 'classnames';\nimport RulerGraphic from './graphic';\nimport PropTypes from 'prop-types';\nimport Anchor from '../anchor';\n\nexport class Ruler extends React.Component {\n static propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n units: PropTypes.number.isRequired,\n measure: PropTypes.oneOf(['imperial', 'metric']).isRequired,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n startPosition: PropTypes.shape({\n left: PropTypes.number.isRequired,\n top: PropTypes.number.isRequired,\n }),\n label: PropTypes.string,\n tickCount: PropTypes.number,\n };\n\n static defaultProps = {\n width: 480,\n height: 60,\n measure: 'imperial',\n units: 12,\n };\n\n render() {\n const { classes, width, height, units, measure, className, startPosition, label, tickCount } = this.props;\n\n const unit =\n measure === 'imperial'\n ? {\n type: label,\n ticks: tickCount && tickCount % 4 === 0 ? tickCount : 16,\n }\n : {\n type: label,\n ticks: 10,\n };\n return (\n <Rotatable\n className={className}\n startPosition={startPosition}\n handle={[\n { class: 'leftAnchor', origin: 'bottom right' },\n { class: 'rightAnchor', origin: 'bottom left' },\n ]}\n >\n <div className={classes.ruler} style={{ width: `${width}px`, height: `${height}px` }}>\n <RulerGraphic width={width} height={height} units={units} unit={unit} />\n <Anchor className={classNames('leftAnchor', classes.leftAnchor)} />\n <Anchor className={classNames('rightAnchor', classes.rightAnchor)} />\n </div>\n </Rotatable>\n );\n }\n}\nconst styles = (theme) => ({\n ruler: {\n cursor: 'move',\n position: 'relative',\n backgroundColor: theme.palette.secondary.light,\n opacity: 1.0,\n border: `solid 0px ${theme.palette.primary.main}`,\n },\n leftAnchor: {\n left: '-10px',\n top: '40%',\n },\n rightAnchor: {\n right: '-10px',\n top: '40%',\n },\n});\n\nexport default withStyles(styles)(Ruler);\n"],"names":["strokeColor","theme","palette","primary","main","fillColor","contrastText","Line","withStyles","line","strokeWidth","stroke","angle","classes","major","minor","Spike","Text","text","fontSize","textAnchor","fill","noSelect","Graphic","React","PureComponent","render","props","path","range","map","r","circle","propTypes","PropTypes","object","isRequired","Anchor","anchor","cursor","width","height","position","borderRadius","backgroundColor","transition","border","dark","light","className","classNames","keyWordToPercent","v","endsWith","parseFloat","getValue","s","length","normalize","a","parse","rect","value","x","y","arr","split","sorted","Error","log","debug","toDegrees","radians","Math","PI","toRadians","degrees","normalizeAngle","toPoint","edge","out","parseOrigin","Point","distanceBetween","from","to","center","fromCenter","rotateAround","toCenter","diff","sub","getXAndY","corner","point","arctangent","atan2","getAngleAndHypotenuse","hypotenuse","sqrt","pow","getPosition","side","calcAngle","points","anglePoints","key","ra","t","angles","sides","trigCalculator","getTop","abs","getLeft","getAnchor","top","left","zIndex","color","Rotatable","Component","constructor","initHandles","handle","Array","isArray","handles","forEach","h","el","rotatable","querySelector","class","mousedownHandler","rotateStart","origin","addEventListener","rotateStop","push","addMouseUpHandler","document","originToXY","clientWidth","clientHeight","rotation","state","getBoundingClientRect","xy","anchorTop","anchorLeft","calcAnchor","e","isRotating","preventDefault","startAngle","getAngle","setState","rotate","current","removeEventListener","drag","computedAnchor","mouseDown","find","target","dragStart","dragPoint","pageX","pageY","translate","mouseUp","lastPosition","startPosition","componentWillUnmount","componentDidMount","clientX","clientY","children","showAnchor","style","transformOrigin","transform","oneOfType","arrayOf","node","bool","shape","string","number","defaultProps","display","Protractor","protractor","leftAnchor","rightAnchor","bottom","right","UnitType","label","textAlign","unitType","Tick","tick","y1","Ticks","count","Unit","index","last","config","endTick","ticks","base","Bg","units","unit","viewBox","unitWidth","unitHeight","bg","type","styles","Ruler","measure","tickCount","ruler","oneOf","secondary","opacity"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/style-utils.js","../src/protractor/graphic.jsx","../src/anchor.jsx","../src/transform-origin.jsx","../src/anchor-utils.js","../../../node_modules/react-portal/es/utils.js","../../../node_modules/react-portal/es/Portal.js","../../../node_modules/react-portal/es/LegacyPortal.js","../../../node_modules/react-portal/es/PortalCompat.js","../src/rotatable.jsx","../src/protractor/index.jsx","../src/ruler/unit-type.jsx","../src/ruler/unit.jsx","../src/ruler/graphic.jsx","../src/ruler/index.jsx"],"sourcesContent":["import { noSelect } from '@pie-lib/style-utils';\n\nexport { noSelect };\n\nexport const strokeColor = (theme) => `var(--ruler-stroke, ${theme.palette.primary.main})`;\n\nexport const fillColor = (theme) => `var(--ruler-bg, ${theme.palette.primary.contrastText})`;\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport range from 'lodash/range';\nimport PropTypes from 'prop-types';\nimport { strokeColor, noSelect } from '../style-utils';\n\nconst Line = withStyles((theme) => ({\n line: {\n strokeWidth: '0.2',\n stroke: strokeColor(theme),\n },\n}))(({ angle, classes, major, minor }) => (\n <line\n transform={`rotate(${angle}, 50.5,50)`}\n className={classes.line}\n style={{}}\n x1=\"1\"\n x2={major ? 10 : minor ? 6 : 3}\n y1=\"50\"\n y2=\"50\"\n />\n));\n\nconst Spike = withStyles((theme) => ({\n line: {\n strokeWidth: '0.2',\n stroke: strokeColor(theme),\n },\n}))(({ angle, classes }) => (\n <line transform={`rotate(${angle}, 50.5,50)`} className={classes.line} style={{}} x1=\"15\" x2={'46'} y1=\"50\" y2=\"50\" />\n));\n\nconst Text = withStyles((theme) => ({\n text: {\n fontSize: '2.5px',\n textAnchor: 'middle',\n fill: strokeColor(theme),\n ...noSelect(),\n },\n}))(({ angle, classes }) => (\n <text transform={`rotate(${angle - 90}, 50.5, 50)`} className={classes.text} x=\"50\" y=\"12.5\">\n {angle}\n </text>\n));\n\nexport class Graphic extends React.PureComponent {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n };\n\n render() {\n const { classes } = this.props;\n return (\n <svg viewBox=\"0 0 102 61\">\n <path className={classes.path} d=\"M 1,50 A 1,1 0 0 1 100,50 L 100,60 L 1,60 Z\" fill=\"none\" />\n {range(0, 181).map((r) => (\n <Line minor={r % 5 === 0} major={r % 10 === 0} angle={r} key={r} />\n ))}\n {range(0, 181, 10).map((r) => (\n <React.Fragment key={r}>\n <Spike angle={r} />\n <Text angle={r} />\n </React.Fragment>\n ))}\n <circle r=\"4\" cx=\"50.5\" cy=\"50\" className={classes.circle} />\n <line className={classes.line} x1=\"48.5\" x2=\"52.5\" y1=\"50\" y2=\"50\" />\n <line className={classes.line} transform={'rotate(90 50.5 50)'} x1=\"48.5\" x2=\"52.5\" y1=\"50\" y2=\"50\" />\n </svg>\n );\n }\n}\n\nexport default withStyles((theme) => ({\n path: {\n strokeWidth: '0.2',\n stroke: strokeColor(theme),\n },\n line: {\n strokeWidth: '0.2',\n stroke: strokeColor(theme),\n },\n circle: {\n strokeWidth: '0.2',\n stroke: strokeColor(theme),\n fill: 'none',\n },\n}))(Graphic);\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nconst Anchor = withStyles((theme) => ({\n anchor: {\n cursor: 'pointer',\n width: '20px',\n height: '20px',\n position: 'absolute',\n borderRadius: '10px',\n backgroundColor: `var(--ruler-bg, ${theme.palette.primary.contrastText})`,\n transition: 'background-color 200ms ease-in',\n border: `solid 1px var(--ruler-stroke, ${theme.palette.primary.dark})`,\n '&:hover': {\n backgroundColor: `var(--ruler-bg-hover, ${theme.palette.primary.light})`,\n },\n },\n}))(({ classes, className }) => <div className={classNames(classes.anchor, className)} />);\n\nexport default Anchor;\n","const keyWordToPercent = (v) => {\n if (v === 'left' || v === 'top') {\n return 0;\n } else if (v === 'right' || v === 'bottom') {\n return 100;\n } else if (v === 'center') {\n return 50;\n } else if (v.endsWith('%')) {\n return parseFloat(v);\n } else {\n return v;\n }\n};\n\nconst getValue = (s, length) => {\n if (s.endsWith('px')) {\n return parseFloat(s);\n } else {\n s = keyWordToPercent(s);\n const v = length * (s / 100);\n return v;\n }\n};\n\nconst normalize = (a) => {\n if (a[0] === 'bottom' || a[0] === 'top' || a[1] === 'left' || a[1] === 'right') {\n return [a[1], a[0]];\n } else {\n return a;\n }\n};\n\n/**\n * Parse a transform origin string to x/y values.\n * @param {{width: number, height: number}} rect\n * @param {string} value\n * @returns {x:number, y:number}\n */\nexport const parse = (rect, value) => {\n if (!value) {\n return {\n x: rect.width / 2,\n y: rect.height / 2,\n };\n }\n const arr = value.split(' ');\n if (arr.length === 1) {\n //1 val\n const x = getValue(arr[0], rect.width);\n const y = getValue('50%', rect.height);\n return { x, y };\n } else if (arr.length === 2) {\n const sorted = normalize(arr);\n const x = getValue(sorted[0], rect.width);\n const y = getValue(sorted[1], rect.height);\n return { x, y };\n } else if (arr.length === 3) {\n throw new Error('transform-origin values with 3 fields not supported.');\n }\n};\n","import { trigCalculator } from 'trigonometry-calculator';\nimport Point from '@mapbox/point-geometry';\nimport debug from 'debug';\nimport { parse as parseOrigin } from './transform-origin';\nconst log = debug('@pie-lib:tools:anchor-utils');\n\nexport const toDegrees = (radians) => radians * (180 / Math.PI);\nexport const toRadians = (degrees) => degrees * (Math.PI / 180);\n\nexport const normalizeAngle = (a) => {\n if (a > 360) {\n return a % 360;\n } else if (a < 0) {\n return 360 + (a % 360);\n }\n return a;\n};\n\nexport const toPoint = (rect, edge) => {\n const out = parseOrigin(rect, edge);\n return new Point(out.x, out.y);\n};\n\n/**\n * Get the distance between to anchor points in a rect.\n * @param {{width: number, height: number}} rect - the rect\n * @param {number} degrees - the degrees\n * @param {string} from - from anchor\n * @param {string} to - to anchor\n * @returns {Point} point - the distance as a Point\n */\nexport const distanceBetween = (rect, degrees, from, to) => {\n const center = new Point(rect.width / 2, rect.height / 2);\n const radians = toRadians(degrees);\n const fromCenter = center.rotateAround(radians, toPoint(rect, from));\n const toCenter = center.rotateAround(radians, toPoint(rect, to));\n const diff = fromCenter.sub(toCenter);\n return diff;\n};\n\n/**\n * For a corner string, a point and a rect, return a relative x,y from that point to a corner.\n * Note that the y value descends as it goes down (unlike for a screen's y value), so this is only really useful for math functions.\n * @example\n * ```\n * getXAndY('top-left', {width: 100, height: 100}, 10, 10) //=> {x:10, y: -90}\n * ```\n * @param {*} corner\n * @param {*} rect\n * @param {*} point\n */\nexport const getXAndY = (corner, rect, point) => {\n if (corner === 'top-left') {\n const x = point.x * -1;\n const y = point.y;\n return { x, y };\n } else if (corner === 'bottom-left') {\n const x = point.x * -1;\n const y = point.y - rect.height;\n return { x, y };\n } else if (corner === 'top-right') {\n const x = rect.width - point.x;\n const y = point.y;\n return { x, y };\n } else if (corner === 'bottom-right') {\n const x = rect.width - point.x;\n const y = point.y - rect.height;\n return { x, y };\n }\n};\n\nexport const arctangent = (x, y) => toDegrees(Math.atan2(x, y));\n\nexport const getAngleAndHypotenuse = (corner, rect, point) => {\n const { x, y } = getXAndY(corner, rect, point);\n const degrees = arctangent(x, y);\n const hypotenuse = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\n return { x, y, degrees, hypotenuse };\n};\n\nconst getPosition = (side, rect, point, angle, calcAngle) => {\n if (angle === 0) {\n return side === 'left' ? point.x : point.y;\n }\n const points = anglePoints(angle);\n const key = points[side];\n\n const { degrees, hypotenuse } = getAngleAndHypotenuse(key, rect, point);\n\n const ra = calcAngle(degrees);\n\n if (ra === 0) {\n return hypotenuse;\n }\n\n const t = {\n angles: { 0: ra, 1: 90 },\n sides: { 1: hypotenuse },\n };\n const out = trigCalculator(t);\n return out.sides[2];\n};\n\nexport const getTop = (rect, point, angle) => {\n return getPosition('top', rect, point, angle, (degrees) => {\n return Math.abs(angle + degrees);\n });\n};\n\nexport const getLeft = (rect, point, angle) => {\n return getPosition('left', rect, point, angle, (degrees) => {\n return Math.abs(angle + degrees + 90);\n });\n};\n\n/**\n * Calculate the position of an anchor within a bounding rect, if the source rect has been rotated by an angle.\n * It does this by finding the appropriate corner of the src rect, that touches the bounding rect, calculates\n * the hypotenuse (h) of that anchor to that point. Then using that plus the rotation it calculates\n * the sides of the triangle and returns the length of the side that touches the bounding rect.\n * @param {{width: number, height: number}} rect - the rect which contains the point\n * @param {{x:number, y: number}} point - the point within the rect\n * @param {number} angle - the angle in degrees that the rect has rotated.\n * @returns {{left: number, top: number}} position\n */\nexport const getAnchor = (rect, point, angle) => {\n log('[getAnchor] rect: ', rect, 'point:', point, 'angle: ', angle);\n if (point.x > rect.width) {\n throw new Error(`x: ${point.x} cannot be greater than width: ${rect.width}`);\n }\n if (point.y > rect.height) {\n throw new Error(`y: ${point.y} cannot be greater than height: ${rect.height}`);\n }\n const a = normalizeAngle(angle);\n const top = getTop(rect, point, a);\n const left = getLeft(rect, point, a);\n\n log('[getAnchor] top: ', top, 'left: ', left);\n return { top, left };\n};\n\nconst anglePoints = (angle) => {\n if (angle <= 90) {\n return { top: 'top-left', left: 'bottom-left' };\n } else if (angle > 90 && angle <= 180) {\n return { top: 'bottom-left', left: 'bottom-right' };\n } else if (angle > 180 && angle <= 270) {\n return { top: 'bottom-right', left: 'top-right' };\n } else if (angle > 270 && angle < 360) {\n return { top: 'top-right', left: 'top-left' };\n }\n};\n","export var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport { canUseDOM } from './utils';\n\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n }\n }, {\n key: 'render',\n value: function render() {\n if (!canUseDOM) {\n return null;\n }\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n return ReactDOM.createPortal(this.props.children, this.props.node || this.defaultNode);\n }\n }]);\n\n return Portal;\n}(React.Component);\n\nPortal.propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};\n\nexport default Portal;","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// This file is a fallback for a consumer who is not yet on React 16\n// as createPortal was introduced in React 16\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.renderPortal();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(props) {\n this.renderPortal();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n ReactDOM.unmountComponentAtNode(this.defaultNode || this.props.node);\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n this.portal = null;\n }\n }, {\n key: 'renderPortal',\n value: function renderPortal(props) {\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n\n var children = this.props.children;\n // https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b\n if (typeof this.props.children.type === 'function') {\n children = React.cloneElement(this.props.children);\n }\n\n this.portal = ReactDOM.unstable_renderSubtreeIntoContainer(this, children, this.props.node || this.defaultNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return null;\n }\n }]);\n\n return Portal;\n}(React.Component);\n\nexport default Portal;\n\n\nPortal.propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};","import ReactDOM from 'react-dom';\n\nimport Portalv4 from './Portal';\nimport LegacyPortal from './LegacyPortal';\n\nvar Portal = void 0;\n\nif (ReactDOM.createPortal) {\n Portal = Portalv4;\n} else {\n Portal = LegacyPortal;\n}\n\nexport default Portal;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getAnchor as calcAnchor, distanceBetween, arctangent } from './anchor-utils';\nimport { Portal } from 'react-portal';\nimport Point from '@mapbox/point-geometry';\nimport { parse as parseOrigin } from './transform-origin';\nimport classNames from 'classnames';\n\nconst Anchor = withStyles({\n anchor: {\n position: 'absolute',\n zIndex: 100,\n width: '200px',\n height: '80px',\n },\n})(({ classes, left, top, color, fill }) => {\n color = color || 'green';\n fill = fill || 'white';\n return (\n <Portal>\n <svg\n className={classes.anchor}\n style={{\n left: left - 10,\n top: top - 10,\n }}\n >\n <circle cx={10} cy={10} r={8} strokeWidth={1} stroke={color} fill={fill} />\n </svg>\n </Portal>\n );\n});\n\n/**\n * Tip o' the hat to:\n * https://bl.ocks.org/joyrexus/7207044\n */\nexport class Rotatable extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n showAnchor: PropTypes.bool,\n handle: PropTypes.arrayOf(\n PropTypes.shape({\n class: PropTypes.string.isRequired,\n origin: PropTypes.string,\n }),\n ),\n className: PropTypes.string,\n startPosition: PropTypes.shape({\n left: PropTypes.number,\n top: PropTypes.number,\n }),\n };\n\n static defaultProps = {\n showAnchor: false,\n startPosition: { left: 0, top: 0 },\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isRotating: false,\n rotation: 0,\n startAngle: 0,\n angle: 0,\n position: {\n left: props.startPosition.left,\n top: props.startPosition.top,\n },\n };\n }\n\n componentWillUnmount() {\n document.removeEventListener('mouseup', this.rotateStop);\n document.removeEventListener('mousemove', this.drag);\n document.removeEventListener('mousemove', this.rotate);\n\n this.handles.forEach((h) => {\n h.el.removeEventListener('mousedown', h.mousedownHandler);\n h.el.removeEventListener('mouseup', this.rotateStop);\n });\n }\n\n componentDidMount() {\n this.addMouseUpHandler();\n this.initHandles();\n }\n\n initHandles = () => {\n const { handle } = this.props;\n\n if (Array.isArray(handle)) {\n this.handles = [];\n handle.forEach((h) => {\n const el = this.rotatable.querySelector(`.${h.class}`);\n\n if (el) {\n const mousedownHandler = this.rotateStart(h.origin);\n el.addEventListener('mousedown', mousedownHandler);\n el.addEventListener('mouseup', this.rotateStop);\n this.handles.push({ el, mousedownHandler });\n }\n });\n }\n };\n\n addMouseUpHandler = () => {\n document.addEventListener('mouseup', this.rotateStop);\n };\n\n originToXY = (origin) => {\n const { clientWidth: width, clientHeight: height } = this.rotatable;\n return parseOrigin({ width, height }, origin);\n };\n\n /**\n * Get the anchor point for the given element, origin and rotation.\n * @returns {{left:number, top: number}} - the co-ordinates of the anchor point relative to the whole page.\n */\n getAnchor = (origin) => {\n const { rotation } = this.state;\n const { clientWidth, clientHeight } = this.rotatable;\n const { top, left } = this.rotatable.getBoundingClientRect();\n const xy = this.originToXY(origin);\n const { top: anchorTop, left: anchorLeft } = calcAnchor(\n {\n width: clientWidth,\n height: clientHeight,\n },\n xy,\n rotation,\n );\n\n return {\n top: top + anchorTop,\n left: left + anchorLeft,\n };\n };\n\n rotateStart = (origin) => (e) => {\n const { isRotating } = this.state;\n if (isRotating) {\n return;\n }\n\n e.preventDefault();\n\n const anchor = this.getAnchor(origin);\n const { rotation } = this.state;\n const { angle: startAngle } = this.getAngle(anchor, e);\n\n let diff = { x: 0, y: 0 };\n if (origin !== this.state.origin) {\n const { clientWidth: width, clientHeight: height } = this.rotatable;\n diff = distanceBetween({ width, height }, rotation, this.state.origin, origin);\n }\n\n this.setState(\n {\n origin,\n isRotating: true,\n startAngle,\n anchor,\n position: {\n left: this.state.position.left + diff.x,\n top: this.state.position.top + diff.y,\n },\n },\n () => {\n document.addEventListener('mousemove', this.rotate);\n },\n );\n };\n\n rotateStop = (e) => {\n const { isRotating } = this.state;\n\n if (!isRotating) {\n return;\n }\n\n e.preventDefault();\n\n this.setState(\n {\n isRotating: false,\n angle: this.state.rotation,\n anchor: null,\n current: null,\n },\n () => {\n document.removeEventListener('mousemove', this.rotate);\n document.removeEventListener('mousemove', this.drag);\n },\n );\n };\n\n getAngle(anchor, e) {\n const x = e.clientX - anchor.left;\n const y = (e.clientY - anchor.top) * -1;\n return { angle: arctangent(x, y), x, y };\n }\n\n rotate = (e) => {\n const { isRotating } = this.state;\n if (!isRotating) {\n return;\n }\n\n e.preventDefault();\n\n const { startAngle, angle, anchor } = this.state;\n const { angle: current, x, y } = this.getAngle(anchor, e);\n const computedAnchor = { x, y };\n const diff = current - startAngle;\n const rotation = angle + diff;\n this.setState({ rotation, diff, current, computedAnchor });\n };\n\n mouseDown = (e) => {\n const handle = this.handles.find((h) => h.el === e.target);\n\n if (!handle) {\n this.dragStart(e);\n }\n };\n\n dragStart = (e) => {\n const dragPoint = new Point(e.pageX, e.pageY);\n this.setState({ dragPoint }, () => {\n document.addEventListener('mousemove', this.drag);\n });\n };\n\n drag = (e) => {\n e.preventDefault();\n const current = new Point(e.pageX, e.pageY);\n const translate = current.sub(this.state.dragPoint);\n this.setState({ translate });\n };\n\n mouseUp = () => {\n if (!this.state.translate) {\n return;\n }\n\n const { position: lastPosition, translate } = this.state;\n\n const position = {\n left: lastPosition.left + translate.x,\n top: lastPosition.top + translate.y,\n };\n\n document.removeEventListener('mousemove', this.drag);\n this.setState({ position, dragPoint: null, translate: null });\n };\n\n render() {\n const { children, classes, showAnchor, className } = this.props;\n const { rotation, anchor, origin, translate, position } = this.state;\n\n const t = translate ? `translate(${translate.x}px, ${translate.y}px)` : '';\n\n const style = {\n left: position.left,\n top: position.top,\n transformOrigin: origin,\n transform: `${t} rotate(${rotation}deg)`,\n };\n\n return (\n <div\n className={classNames(classes.rotatable, className)}\n style={style}\n ref={(r) => (this.rotatable = r)}\n onMouseDown={this.mouseDown}\n onMouseUp={this.mouseUp}\n >\n {anchor && showAnchor && <Anchor {...anchor} />}\n {children}\n </div>\n );\n }\n}\n\nexport default withStyles({\n rotatable: {\n position: 'relative',\n display: 'inline-block',\n cursor: 'move',\n },\n})(Rotatable);\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport Graphic from './graphic';\nimport Anchor from '../anchor';\nimport Rotatable from '../rotatable';\nimport classNames from 'classnames';\n\nexport class Protractor extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n width: PropTypes.number.isRequired,\n className: PropTypes.string,\n startPosition: PropTypes.shape({\n left: PropTypes.number,\n top: PropTypes.number,\n }),\n };\n\n static defaultProps = {\n width: 450,\n startPosition: { left: 0, top: 0 },\n };\n\n render() {\n const { classes, width, className, startPosition } = this.props;\n return (\n <Rotatable\n className={className}\n startPosition={startPosition}\n handle={[\n {\n class: 'leftAnchor',\n origin: `${width * 0.495}px ${width * 0.49}px`,\n },\n {\n class: 'rightAnchor',\n origin: `${width * 0.495}px ${width * 0.49}px`,\n },\n ]}\n >\n <div className={classes.protractor} style={{ width: `${width}px` }}>\n <Graphic />\n\n <Anchor className={classNames('leftAnchor', classes.leftAnchor)} />\n <Anchor className={classNames('rightAnchor', classes.rightAnchor)} />\n </div>\n </Rotatable>\n );\n }\n}\n\nexport default withStyles(() => ({\n protractor: { position: 'relative' },\n leftAnchor: {\n position: 'absolute',\n left: 0,\n bottom: 0,\n },\n rightAnchor: {\n position: 'absolute',\n right: 0,\n bottom: 0,\n },\n}))(Protractor);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { noSelect, strokeColor } from '../style-utils';\nimport { withStyles } from '@material-ui/core/styles';\n\nexport const UnitType = (props) => {\n const { classes, label, x, y, textAlign, fill, fontSize, stroke } = props;\n\n return (\n <text\n className={classes.unitType}\n x={x}\n y={y}\n textAnchor={textAlign}\n stroke={stroke}\n fill={fill}\n fontSize={fontSize}\n >\n {label}\n </text>\n );\n};\n\nUnitType.propTypes = {\n classes: PropTypes.object.isRequired,\n label: PropTypes.string.isRequired,\n x: PropTypes.number,\n y: PropTypes.number,\n textAlign: PropTypes.string,\n fill: PropTypes.string,\n fontSize: PropTypes.number,\n stroke: PropTypes.string,\n};\n\nUnitType.defaultProps = {\n textAnchor: 'start',\n fontSize: 11,\n stroke: 'none',\n x: 8,\n y: 14,\n};\n\nexport default withStyles((theme) => ({\n unitType: { ...noSelect(), fill: strokeColor(theme) },\n}))(UnitType);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { noSelect, strokeColor } from '../style-utils';\nimport range from 'lodash/range';\n\nconst Tick = withStyles((theme) => ({\n tick: {\n stroke: strokeColor(theme),\n },\n}))(({ x, height, bottom, classes, major, minor }) => {\n const y1 = major ? bottom - height * 2 : minor ? bottom - height * 1.5 : bottom - height;\n\n return <line y1={y1} y2={bottom} x1={x} x2={x} className={classes.tick} />;\n});\n\nconst Ticks = ({ count, width, height }) => {\n return (\n <React.Fragment>\n {range(1, count).map((r) => {\n return (\n <Tick\n key={r}\n value={r}\n x={r * (width / count)}\n major={r % (count / 2) === 0}\n minor={r % (count / 4) === 0}\n bottom={height}\n height={10}\n />\n );\n })}\n </React.Fragment>\n );\n};\n\nTicks.propTypes = {\n count: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n};\n\nexport class Unit extends React.Component {\n static propTypes = {\n index: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n classes: PropTypes.object.isRequired,\n last: PropTypes.bool.isRequired,\n config: PropTypes.object.isRequired,\n };\n\n render() {\n const { index, width, height, classes, last, config } = this.props;\n\n const style = {\n transform: `translate(${width * (index - 1)}px, 0px)`,\n };\n return (\n <g style={style}>\n {!last && <line x1={width} y1={0} x2={width} y2={height} className={classes.endTick} />}\n\n <Ticks count={config.ticks} width={width} height={height} />\n <text width={width} className={classes.label} x={width - 5} y={15}>\n {index}\n </text>\n </g>\n );\n }\n}\n\nexport default withStyles((theme) => ({\n endTick: {\n stroke: strokeColor(theme),\n strokeWidth: 1,\n },\n label: {\n textAnchor: 'end',\n fontSize: '12px',\n fill: strokeColor(theme),\n ...noSelect(),\n },\n base: {\n fill: 'none',\n stroke: 'red',\n },\n}))(Unit);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport UnitType from './unit-type';\nimport range from 'lodash/range';\nimport Unit from './unit';\nimport { strokeColor, fillColor } from '../style-utils';\n\nconst Bg = ({ width, height, className }) => <rect width={width} height={height} cx={0} cy={0} className={className} />;\n\nBg.propTypes = {\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n className: PropTypes.string.isRequired,\n};\n\nexport class Graphic extends React.PureComponent {\n static propTypes = {\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n units: PropTypes.number.isRequired,\n unit: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n render() {\n const { width, height, classes, units, unit } = this.props;\n const viewBox = `0 0 ${width} ${height}`;\n const unitWidth = width / units;\n const unitHeight = height;\n\n return (\n <svg viewBox={viewBox}>\n <Bg width={width} height={height} className={classes.bg} />\n <UnitType label={unit.type} />\n {range(1, units + 1).map((r) => (\n <Unit width={unitWidth} height={unitHeight} key={r} index={r} config={unit} last={r === units} />\n ))}\n </svg>\n );\n }\n}\nconst styles = (theme) => ({\n bg: {\n stroke: strokeColor(theme),\n strokeWidth: '2px',\n fill: fillColor(theme),\n },\n});\n\nexport default withStyles(styles)(Graphic);\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Rotatable from '../rotatable';\nimport classNames from 'classnames';\nimport RulerGraphic from './graphic';\nimport PropTypes from 'prop-types';\nimport Anchor from '../anchor';\n\nexport class Ruler extends React.Component {\n static propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n units: PropTypes.number.isRequired,\n measure: PropTypes.oneOf(['imperial', 'metric']).isRequired,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n startPosition: PropTypes.shape({\n left: PropTypes.number.isRequired,\n top: PropTypes.number.isRequired,\n }),\n label: PropTypes.string,\n tickCount: PropTypes.number,\n };\n\n static defaultProps = {\n width: 480,\n height: 60,\n measure: 'imperial',\n units: 12,\n };\n\n render() {\n const { classes, width, height, units, measure, className, startPosition, label, tickCount } = this.props;\n\n const unit =\n measure === 'imperial'\n ? {\n type: label,\n ticks: tickCount && tickCount % 4 === 0 ? tickCount : 16,\n }\n : {\n type: label,\n ticks: 10,\n };\n return (\n <Rotatable\n className={className}\n startPosition={startPosition}\n handle={[\n { class: 'leftAnchor', origin: 'bottom right' },\n { class: 'rightAnchor', origin: 'bottom left' },\n ]}\n >\n <div className={classes.ruler} style={{ width: `${width}px`, height: `${height}px` }}>\n <RulerGraphic width={width} height={height} units={units} unit={unit} />\n <Anchor className={classNames('leftAnchor', classes.leftAnchor)} />\n <Anchor className={classNames('rightAnchor', classes.rightAnchor)} />\n </div>\n </Rotatable>\n );\n }\n}\nconst styles = (theme) => ({\n ruler: {\n cursor: 'move',\n position: 'relative',\n backgroundColor: theme.palette.secondary.light,\n opacity: 1.0,\n border: `solid 0px ${theme.palette.primary.main}`,\n },\n leftAnchor: {\n left: '-10px',\n top: '40%',\n },\n rightAnchor: {\n right: '-10px',\n top: '40%',\n },\n});\n\nexport default withStyles(styles)(Ruler);\n"],"names":["strokeColor","theme","palette","primary","main","fillColor","contrastText","Line","withStyles","line","strokeWidth","stroke","angle","classes","major","minor","Spike","Text","text","fontSize","textAnchor","fill","noSelect","Graphic","React","PureComponent","render","props","path","range","map","r","circle","propTypes","PropTypes","object","isRequired","Anchor","anchor","cursor","width","height","position","borderRadius","backgroundColor","transition","border","dark","light","className","classNames","keyWordToPercent","v","endsWith","parseFloat","getValue","s","length","normalize","a","parse","rect","value","x","y","arr","split","sorted","Error","log","debug","toDegrees","radians","Math","PI","toRadians","degrees","normalizeAngle","toPoint","edge","out","parseOrigin","Point","distanceBetween","from","to","center","fromCenter","rotateAround","toCenter","diff","sub","getXAndY","corner","point","arctangent","atan2","getAngleAndHypotenuse","hypotenuse","sqrt","pow","getPosition","side","calcAngle","points","anglePoints","key","ra","t","angles","sides","trigCalculator","getTop","abs","getLeft","getAnchor","top","left","_createClass","_classCallCheck","_possibleConstructorReturn","_inherits","Portal","Portalv4","LegacyPortal","zIndex","color","Rotatable","Component","constructor","initHandles","handle","Array","isArray","handles","forEach","h","el","rotatable","querySelector","class","mousedownHandler","rotateStart","origin","addEventListener","rotateStop","push","addMouseUpHandler","document","originToXY","clientWidth","clientHeight","rotation","state","getBoundingClientRect","xy","anchorTop","anchorLeft","calcAnchor","e","isRotating","preventDefault","startAngle","getAngle","setState","rotate","current","removeEventListener","drag","computedAnchor","mouseDown","find","target","dragStart","dragPoint","pageX","pageY","translate","mouseUp","lastPosition","startPosition","componentWillUnmount","componentDidMount","clientX","clientY","children","showAnchor","style","transformOrigin","transform","oneOfType","arrayOf","node","bool","shape","string","number","defaultProps","display","Protractor","protractor","leftAnchor","rightAnchor","bottom","right","UnitType","label","textAlign","unitType","Tick","tick","y1","Ticks","count","Unit","index","last","config","endTick","ticks","base","Bg","units","unit","viewBox","unitWidth","unitHeight","bg","type","styles","Ruler","measure","tickCount","ruler","oneOf","secondary","opacity"],"mappings":"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","x_google_ignoreList":[5,6,7,8]}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.26.
|
|
6
|
+
"version": "0.26.3",
|
|
7
7
|
"description": "Some interactive tools",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"license": "ISC",
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@mapbox/point-geometry": "^0.1.0",
|
|
21
|
-
"@pie-lib/style-utils": "^0.18.
|
|
21
|
+
"@pie-lib/style-utils": "^0.18.3",
|
|
22
22
|
"assert": "^1.4.1",
|
|
23
23
|
"classnames": "^2.2.6",
|
|
24
24
|
"debug": "^4.1.1",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"@material-ui/core": "^3.8.3",
|
|
38
38
|
"react": "^16.8.1"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "3b10dbe1c14708ccf9a9e8af8f1eafec6ed7dd2d",
|
|
41
41
|
"exports": {
|
|
42
42
|
".": {
|
|
43
43
|
"import": "./esm/index.js",
|