@pageboard/html 0.15.14 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ui/storage.js CHANGED
@@ -1,43 +1,28 @@
1
1
  class UserStore {
2
+ #store = window.localStorage ?? {};
3
+ all() {
4
+ return this.#store;
5
+ }
2
6
  get(key) {
3
- let storage = window.localStorage;
4
- let val;
5
- if (storage) {
6
- try {
7
- val = storage.getItem(key);
8
- } catch(ex) {
9
- storage = null;
10
- }
11
- }
12
- if (!storage) {
13
- val = this.getCookies()[key];
7
+ try {
8
+ return this.#store.getItem(key);
9
+ } catch (ex) {
10
+ console.error(ex);
14
11
  }
15
- return val;
16
12
  }
17
13
  set(key, val) {
18
- let storage = window.localStorage;
19
- if (storage) {
20
- try {
21
- storage.setItem(key, val);
22
- } catch(ex) {
23
- storage = null;
24
- }
25
- }
26
- if (!storage) {
27
- this.setCookie(key, val);
14
+ try {
15
+ if (val == null) return this.del(key);
16
+ else return this.#store.setItem(key, val);
17
+ } catch (ex) {
18
+ console.error(ex);
28
19
  }
29
20
  }
30
21
  del(key) {
31
- let storage = window.localStorage;
32
- if (storage) {
33
- try {
34
- storage.removeItem(key);
35
- } catch(ex) {
36
- storage = null;
37
- }
38
- }
39
- if (!storage) {
40
- this.clearCookie(key);
22
+ try {
23
+ return this.#store.removeItem(key);
24
+ } catch (ex) {
25
+ console.error(ex);
41
26
  }
42
27
  }
43
28
  clearCookies(re) {
@@ -68,5 +53,5 @@ class UserStore {
68
53
  }
69
54
  }
70
55
 
71
- Page.setup(state => state.scope.storage = new UserStore());
56
+ Page.paint(state => state.scope.storage = new UserStore());
72
57
 
package/lib/formdata.js DELETED
@@ -1,21 +0,0 @@
1
- /*! formdata-polyfill. MIT License. Jimmy W?rting <https://jimmy.warting.se/opensource> */
2
- ;(function(){var h;function l(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}var m="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};
3
- function n(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var q=n(this);function r(a,b){if(b)a:{var c=q;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&m(c,a,{configurable:!0,writable:!0,value:b})}}
4
- r("Symbol",function(a){function b(f){if(this instanceof b)throw new TypeError("Symbol is not a constructor");return new c(d+(f||"")+"_"+e++,f)}function c(f,g){this.A=f;m(this,"description",{configurable:!0,writable:!0,value:g})}if(a)return a;c.prototype.toString=function(){return this.A};var d="jscomp_symbol_"+(1E9*Math.random()>>>0)+"_",e=0;return b});
5
- r("Symbol.iterator",function(a){if(a)return a;a=Symbol("Symbol.iterator");for(var b="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),c=0;c<b.length;c++){var d=q[b[c]];"function"===typeof d&&"function"!=typeof d.prototype[a]&&m(d.prototype,a,{configurable:!0,writable:!0,value:function(){return u(l(this))}})}return a});function u(a){a={next:a};a[Symbol.iterator]=function(){return this};return a}
6
- function v(a){var b="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:l(a)}}var w;if("function"==typeof Object.setPrototypeOf)w=Object.setPrototypeOf;else{var y;a:{var z={a:!0},A={};try{A.__proto__=z;y=A.a;break a}catch(a){}y=!1}w=y?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var B=w;function C(){this.m=!1;this.j=null;this.v=void 0;this.h=1;this.u=this.C=0;this.l=null}
7
- function D(a){if(a.m)throw new TypeError("Generator is already running");a.m=!0}C.prototype.o=function(a){this.v=a};C.prototype.s=function(a){this.l={D:a,F:!0};this.h=this.C||this.u};C.prototype.return=function(a){this.l={return:a};this.h=this.u};function E(a,b){a.h=3;return{value:b}}function F(a){this.g=new C;this.G=a}F.prototype.o=function(a){D(this.g);if(this.g.j)return G(this,this.g.j.next,a,this.g.o);this.g.o(a);return H(this)};
8
- function I(a,b){D(a.g);var c=a.g.j;if(c)return G(a,"return"in c?c["return"]:function(d){return{value:d,done:!0}},b,a.g.return);a.g.return(b);return H(a)}F.prototype.s=function(a){D(this.g);if(this.g.j)return G(this,this.g.j["throw"],a,this.g.o);this.g.s(a);return H(this)};
9
- function G(a,b,c,d){try{var e=b.call(a.g.j,c);if(!(e instanceof Object))throw new TypeError("Iterator result "+e+" is not an object");if(!e.done)return a.g.m=!1,e;var f=e.value}catch(g){return a.g.j=null,a.g.s(g),H(a)}a.g.j=null;d.call(a.g,f);return H(a)}function H(a){for(;a.g.h;)try{var b=a.G(a.g);if(b)return a.g.m=!1,{value:b.value,done:!1}}catch(c){a.g.v=void 0,a.g.s(c)}a.g.m=!1;if(a.g.l){b=a.g.l;a.g.l=null;if(b.F)throw b.D;return{value:b.return,done:!0}}return{value:void 0,done:!0}}
10
- function J(a){this.next=function(b){return a.o(b)};this.throw=function(b){return a.s(b)};this.return=function(b){return I(a,b)};this[Symbol.iterator]=function(){return this}}function K(a,b){b=new J(new F(b));B&&a.prototype&&B(b,a.prototype);return b}function L(a,b){a instanceof String&&(a+="");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var f=c++;return{value:b(f,a[f]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e}
11
- r("Array.prototype.entries",function(a){return a?a:function(){return L(this,function(b,c){return[b,c]})}});
12
- if("undefined"!==typeof Blob&&("undefined"===typeof FormData||!FormData.prototype.keys)){var M=function(a,b){for(var c=0;c<a.length;c++)b(a[c])},N=function(a){return a.replace(/\r?\n|\r/g,"\r\n")},O=function(a,b,c){if(b instanceof Blob){c=void 0!==c?String(c+""):"string"===typeof b.name?b.name:"blob";if(b.name!==c||"[object Blob]"===Object.prototype.toString.call(b))b=new File([b],c);return[String(a),b]}return[String(a),String(b)]},P=function(a,b){if(a.length<b)throw new TypeError(b+" argument required, but only "+
13
- a.length+" present.");},Q="object"===typeof globalThis?globalThis:"object"===typeof window?window:"object"===typeof self?self:this,R=Q.FormData,S=Q.XMLHttpRequest&&Q.XMLHttpRequest.prototype.send,T=Q.Request&&Q.fetch,U=Q.navigator&&Q.navigator.sendBeacon,V=Q.Element&&Q.Element.prototype,W=Q.Symbol&&Symbol.toStringTag;W&&(Blob.prototype[W]||(Blob.prototype[W]="Blob"),"File"in Q&&!File.prototype[W]&&(File.prototype[W]="File"));try{new File([],"")}catch(a){Q.File=function(b,c,d){b=new Blob(b,d||{});
14
- Object.defineProperties(b,{name:{value:c},lastModified:{value:+(d&&void 0!==d.lastModified?new Date(d.lastModified):new Date)},toString:{value:function(){return"[object File]"}}});W&&Object.defineProperty(b,W,{value:"File"});return b}}var escape=function(a){return a.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22")},X=function(a){this.i=[];var b=this;a&&M(a.elements,function(c){if(c.name&&!c.disabled&&"submit"!==c.type&&"button"!==c.type&&!c.matches("form fieldset[disabled] *"))if("file"===
15
- c.type){var d=c.files&&c.files.length?c.files:[new File([],"",{type:"application/octet-stream"})];M(d,function(e){b.append(c.name,e)})}else"select-multiple"===c.type||"select-one"===c.type?M(c.options,function(e){!e.disabled&&e.selected&&b.append(c.name,e.value)}):"checkbox"===c.type||"radio"===c.type?c.checked&&b.append(c.name,c.value):(d="textarea"===c.type?N(c.value):c.value,b.append(c.name,d))})};h=X.prototype;h.append=function(a,b,c){P(arguments,2);this.i.push(O(a,b,c))};h.delete=function(a){P(arguments,
16
- 1);var b=[];a=String(a);M(this.i,function(c){c[0]!==a&&b.push(c)});this.i=b};h.entries=function b(){var c,d=this;return K(b,function(e){1==e.h&&(c=0);if(3!=e.h)return c<d.i.length?e=E(e,d.i[c]):(e.h=0,e=void 0),e;c++;e.h=2})};h.forEach=function(b,c){P(arguments,1);for(var d=v(this),e=d.next();!e.done;e=d.next()){var f=v(e.value);e=f.next().value;f=f.next().value;b.call(c,f,e,this)}};h.get=function(b){P(arguments,1);var c=this.i;b=String(b);for(var d=0;d<c.length;d++)if(c[d][0]===b)return c[d][1];
17
- return null};h.getAll=function(b){P(arguments,1);var c=[];b=String(b);M(this.i,function(d){d[0]===b&&c.push(d[1])});return c};h.has=function(b){P(arguments,1);b=String(b);for(var c=0;c<this.i.length;c++)if(this.i[c][0]===b)return!0;return!1};h.keys=function c(){var d=this,e,f,g,k,p;return K(c,function(t){1==t.h&&(e=v(d),f=e.next());if(3!=t.h){if(f.done){t.h=0;return}g=f.value;k=v(g);p=k.next().value;return E(t,p)}f=e.next();t.h=2})};h.set=function(c,d,e){P(arguments,2);c=String(c);var f=[],g=O(c,
18
- d,e),k=!0;M(this.i,function(p){p[0]===c?k&&(k=!f.push(g)):f.push(p)});k&&f.push(g);this.i=f};h.values=function d(){var e=this,f,g,k,p,t;return K(d,function(x){1==x.h&&(f=v(e),g=f.next());if(3!=x.h){if(g.done){x.h=0;return}k=g.value;p=v(k);p.next();t=p.next().value;return E(x,t)}g=f.next();x.h=2})};X.prototype._asNative=function(){for(var d=new R,e=v(this),f=e.next();!f.done;f=e.next()){var g=v(f.value);f=g.next().value;g=g.next().value;d.append(f,g)}return d};X.prototype._blob=function(){var d="----formdata-polyfill-"+
19
- Math.random(),e=[],f="--"+d+'\r\nContent-Disposition: form-data; name="';this.forEach(function(g,k){return"string"==typeof g?e.push(f+escape(N(k))+('"\r\n\r\n'+N(g)+"\r\n")):e.push(f+escape(N(k))+('"; filename="'+escape(g.name)+'"\r\nContent-Type: '+(g.type||"application/octet-stream")+"\r\n\r\n"),g,"\r\n")});e.push("--"+d+"--");return new Blob(e,{type:"multipart/form-data; boundary="+d})};X.prototype[Symbol.iterator]=function(){return this.entries()};X.prototype.toString=function(){return"[object FormData]"};
20
- V&&!V.matches&&(V.matches=V.matchesSelector||V.mozMatchesSelector||V.msMatchesSelector||V.oMatchesSelector||V.webkitMatchesSelector||function(d){d=(this.document||this.ownerDocument).querySelectorAll(d);for(var e=d.length;0<=--e&&d.item(e)!==this;);return-1<e});W&&(X.prototype[W]="FormData");if(S){var Y=Q.XMLHttpRequest.prototype.setRequestHeader;Q.XMLHttpRequest.prototype.setRequestHeader=function(d,e){Y.call(this,d,e);"content-type"===d.toLowerCase()&&(this.B=!0)};Q.XMLHttpRequest.prototype.send=
21
- function(d){d instanceof X?(d=d._blob(),this.B||this.setRequestHeader("Content-Type",d.type),S.call(this,d)):S.call(this,d)}}T&&(Q.fetch=function(d,e){e&&e.body&&e.body instanceof X&&(e.body=e.body._blob());return T.call(this,d,e)});U&&(Q.navigator.sendBeacon=function(d,e){e instanceof X&&(e=e._asNative());return U.call(this,d,e)});Q.FormData=X};})();
@@ -1,304 +0,0 @@
1
- /* Functional styling;
2
- * These styles are required for noUiSlider to function.
3
- * You don't need to change these rules to apply your design.
4
- */
5
- .noUi-target,
6
- .noUi-target * {
7
- -webkit-touch-callout: none;
8
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
9
- -webkit-user-select: none;
10
- -ms-touch-action: none;
11
- touch-action: none;
12
- -ms-user-select: none;
13
- -moz-user-select: none;
14
- user-select: none;
15
- -moz-box-sizing: border-box;
16
- box-sizing: border-box;
17
- }
18
- .noUi-target {
19
- position: relative;
20
- }
21
- .noUi-base,
22
- .noUi-connects {
23
- width: 100%;
24
- height: 100%;
25
- position: relative;
26
- z-index: 1;
27
- }
28
- /* Wrapper for all connect elements.
29
- */
30
- .noUi-connects {
31
- overflow: hidden;
32
- z-index: 0;
33
- }
34
- .noUi-connect,
35
- .noUi-origin {
36
- will-change: transform;
37
- position: absolute;
38
- z-index: 1;
39
- top: 0;
40
- right: 0;
41
- height: 100%;
42
- width: 100%;
43
- -ms-transform-origin: 0 0;
44
- -webkit-transform-origin: 0 0;
45
- -webkit-transform-style: preserve-3d;
46
- transform-origin: 0 0;
47
- transform-style: flat;
48
- }
49
- /* Offset direction
50
- */
51
- .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
52
- left: 0;
53
- right: auto;
54
- }
55
- /* Give origins 0 height/width so they don't interfere with clicking the
56
- * connect elements.
57
- */
58
- .noUi-vertical .noUi-origin {
59
- top: -100%;
60
- width: 0;
61
- }
62
- .noUi-horizontal .noUi-origin {
63
- height: 0;
64
- }
65
- .noUi-handle {
66
- -webkit-backface-visibility: hidden;
67
- backface-visibility: hidden;
68
- position: absolute;
69
- }
70
- .noUi-touch-area {
71
- height: 100%;
72
- width: 100%;
73
- }
74
- .noUi-state-tap .noUi-connect,
75
- .noUi-state-tap .noUi-origin {
76
- -webkit-transition: transform 0.3s;
77
- transition: transform 0.3s;
78
- }
79
- .noUi-state-drag * {
80
- cursor: inherit !important;
81
- }
82
- /* Slider size and handle placement;
83
- */
84
- .noUi-horizontal {
85
- height: 18px;
86
- }
87
- .noUi-horizontal .noUi-handle {
88
- width: 34px;
89
- height: 28px;
90
- right: -17px;
91
- top: -6px;
92
- }
93
- .noUi-vertical {
94
- width: 18px;
95
- }
96
- .noUi-vertical .noUi-handle {
97
- width: 28px;
98
- height: 34px;
99
- right: -6px;
100
- bottom: -17px;
101
- }
102
- .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
103
- left: -17px;
104
- right: auto;
105
- }
106
- /* Styling;
107
- * Giving the connect element a border radius causes issues with using transform: scale
108
- */
109
- .noUi-target {
110
- background: #FAFAFA;
111
- border-radius: 4px;
112
- border: 1px solid #D3D3D3;
113
- box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
114
- }
115
- .noUi-connects {
116
- border-radius: 3px;
117
- }
118
- .noUi-connect {
119
- background: #3FB8AF;
120
- }
121
- /* Handles and cursors;
122
- */
123
- .noUi-draggable {
124
- cursor: ew-resize;
125
- }
126
- .noUi-vertical .noUi-draggable {
127
- cursor: ns-resize;
128
- }
129
- .noUi-handle {
130
- border: 1px solid #D9D9D9;
131
- border-radius: 3px;
132
- background: #FFF;
133
- cursor: default;
134
- box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
135
- }
136
- .noUi-active {
137
- box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
138
- }
139
- /* Handle stripes;
140
- */
141
- .noUi-handle:before,
142
- .noUi-handle:after {
143
- content: "";
144
- display: block;
145
- position: absolute;
146
- height: 14px;
147
- width: 1px;
148
- background: #E8E7E6;
149
- left: 14px;
150
- top: 6px;
151
- }
152
- .noUi-handle:after {
153
- left: 17px;
154
- }
155
- .noUi-vertical .noUi-handle:before,
156
- .noUi-vertical .noUi-handle:after {
157
- width: 14px;
158
- height: 1px;
159
- left: 6px;
160
- top: 14px;
161
- }
162
- .noUi-vertical .noUi-handle:after {
163
- top: 17px;
164
- }
165
- /* Disabled state;
166
- */
167
- [disabled] .noUi-connect {
168
- background: #B8B8B8;
169
- }
170
- [disabled].noUi-target,
171
- [disabled].noUi-handle,
172
- [disabled] .noUi-handle {
173
- cursor: not-allowed;
174
- }
175
- /* Base;
176
- *
177
- */
178
- .noUi-pips,
179
- .noUi-pips * {
180
- -moz-box-sizing: border-box;
181
- box-sizing: border-box;
182
- }
183
- .noUi-pips {
184
- position: absolute;
185
- color: #999;
186
- }
187
- /* Values;
188
- *
189
- */
190
- .noUi-value {
191
- position: absolute;
192
- white-space: nowrap;
193
- text-align: center;
194
- }
195
- .noUi-value-sub {
196
- color: #ccc;
197
- font-size: 10px;
198
- }
199
- /* Markings;
200
- *
201
- */
202
- .noUi-marker {
203
- position: absolute;
204
- background: #CCC;
205
- }
206
- .noUi-marker-sub {
207
- background: #AAA;
208
- }
209
- .noUi-marker-large {
210
- background: #AAA;
211
- }
212
- /* Horizontal layout;
213
- *
214
- */
215
- .noUi-pips-horizontal {
216
- padding: 10px 0;
217
- height: 80px;
218
- top: 100%;
219
- left: 0;
220
- width: 100%;
221
- }
222
- .noUi-value-horizontal {
223
- -webkit-transform: translate(-50%, 50%);
224
- transform: translate(-50%, 50%);
225
- }
226
- .noUi-rtl .noUi-value-horizontal {
227
- -webkit-transform: translate(50%, 50%);
228
- transform: translate(50%, 50%);
229
- }
230
- .noUi-marker-horizontal.noUi-marker {
231
- margin-left: -1px;
232
- width: 2px;
233
- height: 5px;
234
- }
235
- .noUi-marker-horizontal.noUi-marker-sub {
236
- height: 10px;
237
- }
238
- .noUi-marker-horizontal.noUi-marker-large {
239
- height: 15px;
240
- }
241
- /* Vertical layout;
242
- *
243
- */
244
- .noUi-pips-vertical {
245
- padding: 0 10px;
246
- height: 100%;
247
- top: 0;
248
- left: 100%;
249
- }
250
- .noUi-value-vertical {
251
- -webkit-transform: translate(0, -50%);
252
- transform: translate(0, -50%);
253
- padding-left: 25px;
254
- }
255
- .noUi-rtl .noUi-value-vertical {
256
- -webkit-transform: translate(0, 50%);
257
- transform: translate(0, 50%);
258
- }
259
- .noUi-marker-vertical.noUi-marker {
260
- width: 5px;
261
- height: 2px;
262
- margin-top: -1px;
263
- }
264
- .noUi-marker-vertical.noUi-marker-sub {
265
- width: 10px;
266
- }
267
- .noUi-marker-vertical.noUi-marker-large {
268
- width: 15px;
269
- }
270
- .noUi-tooltip {
271
- display: block;
272
- position: absolute;
273
- border: 1px solid #D9D9D9;
274
- border-radius: 3px;
275
- background: #fff;
276
- color: #000;
277
- padding: 5px;
278
- text-align: center;
279
- white-space: nowrap;
280
- }
281
- .noUi-horizontal .noUi-tooltip {
282
- -webkit-transform: translate(-50%, 0);
283
- transform: translate(-50%, 0);
284
- left: 50%;
285
- bottom: 120%;
286
- }
287
- .noUi-vertical .noUi-tooltip {
288
- -webkit-transform: translate(0, -50%);
289
- transform: translate(0, -50%);
290
- top: 50%;
291
- right: 120%;
292
- }
293
- .noUi-horizontal .noUi-origin > .noUi-tooltip {
294
- -webkit-transform: translate(50%, 0);
295
- transform: translate(50%, 0);
296
- left: auto;
297
- bottom: 10px;
298
- }
299
- .noUi-vertical .noUi-origin > .noUi-tooltip {
300
- -webkit-transform: translate(0, -18px);
301
- transform: translate(0, -18px);
302
- top: auto;
303
- right: 28px;
304
- }