mam 1.11.693 → 1.11.695

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/node.test.js CHANGED
@@ -11000,6 +11000,256 @@ var $;
11000
11000
  });
11001
11001
  })($ || ($ = {}));
11002
11002
 
11003
+ ;
11004
+ "use strict";
11005
+ var $;
11006
+ (function ($) {
11007
+ function $mol_style_attach(id, text) {
11008
+ const doc = $mol_dom_context.document;
11009
+ if (!doc)
11010
+ return null;
11011
+ const elid = `$mol_style_attach:${id}`;
11012
+ let el = doc.getElementById(elid);
11013
+ if (!el) {
11014
+ el = doc.createElement('style');
11015
+ el.id = elid;
11016
+ doc.head.appendChild(el);
11017
+ }
11018
+ if (el.innerHTML != text)
11019
+ el.innerHTML = text;
11020
+ return el;
11021
+ }
11022
+ $.$mol_style_attach = $mol_style_attach;
11023
+ })($ || ($ = {}));
11024
+
11025
+ ;
11026
+ "use strict";
11027
+ var $;
11028
+ (function ($) {
11029
+ class $mol_promise_blocker extends $mol_promise {
11030
+ static [Symbol.toStringTag] = '$mol_promise_blocker';
11031
+ }
11032
+ $.$mol_promise_blocker = $mol_promise_blocker;
11033
+ })($ || ($ = {}));
11034
+
11035
+ ;
11036
+ "use strict";
11037
+ var $;
11038
+ (function ($) {
11039
+ class $mol_decor {
11040
+ value;
11041
+ constructor(value) {
11042
+ this.value = value;
11043
+ }
11044
+ prefix() { return ''; }
11045
+ valueOf() { return this.value; }
11046
+ postfix() { return ''; }
11047
+ toString() {
11048
+ return `${this.prefix()}${this.valueOf()}${this.postfix()}`;
11049
+ }
11050
+ }
11051
+ $.$mol_decor = $mol_decor;
11052
+ })($ || ($ = {}));
11053
+
11054
+ ;
11055
+ "use strict";
11056
+ var $;
11057
+ (function ($) {
11058
+ class $mol_style_unit extends $mol_decor {
11059
+ literal;
11060
+ constructor(value, literal) {
11061
+ super(value);
11062
+ this.literal = literal;
11063
+ }
11064
+ postfix() {
11065
+ return this.literal;
11066
+ }
11067
+ static per(value) { return `${value}%`; }
11068
+ static px(value) { return `${value}px`; }
11069
+ static mm(value) { return `${value}mm`; }
11070
+ static cm(value) { return `${value}cm`; }
11071
+ static Q(value) { return `${value}Q`; }
11072
+ static in(value) { return `${value}in`; }
11073
+ static pc(value) { return `${value}pc`; }
11074
+ static pt(value) { return `${value}pt`; }
11075
+ static cap(value) { return `${value}cap`; }
11076
+ static ch(value) { return `${value}ch`; }
11077
+ static em(value) { return `${value}em`; }
11078
+ static rem(value) { return `${value}rem`; }
11079
+ static ex(value) { return `${value}ex`; }
11080
+ static ic(value) { return `${value}ic`; }
11081
+ static lh(value) { return `${value}lh`; }
11082
+ static rlh(value) { return `${value}rlh`; }
11083
+ static vh(value) { return `${value}vh`; }
11084
+ static vw(value) { return `${value}vw`; }
11085
+ static vi(value) { return `${value}vi`; }
11086
+ static vb(value) { return `${value}vb`; }
11087
+ static vmin(value) { return `${value}vmin`; }
11088
+ static vmax(value) { return `${value}vmax`; }
11089
+ static deg(value) { return `${value}deg`; }
11090
+ static rad(value) { return `${value}rad`; }
11091
+ static grad(value) { return `${value}grad`; }
11092
+ static turn(value) { return `${value}turn`; }
11093
+ static s(value) { return `${value}s`; }
11094
+ static ms(value) { return `${value}ms`; }
11095
+ }
11096
+ $.$mol_style_unit = $mol_style_unit;
11097
+ })($ || ($ = {}));
11098
+
11099
+ ;
11100
+ "use strict";
11101
+ var $;
11102
+ (function ($) {
11103
+ const { per } = $mol_style_unit;
11104
+ class $mol_style_func extends $mol_decor {
11105
+ name;
11106
+ constructor(name, value) {
11107
+ super(value);
11108
+ this.name = name;
11109
+ }
11110
+ prefix() { return this.name + '('; }
11111
+ postfix() { return ')'; }
11112
+ static linear_gradient(value) {
11113
+ return new $mol_style_func('linear-gradient', value);
11114
+ }
11115
+ static radial_gradient(value) {
11116
+ return new $mol_style_func('radial-gradient', value);
11117
+ }
11118
+ static calc(value) {
11119
+ return new $mol_style_func('calc', value);
11120
+ }
11121
+ static vary(name, defaultValue) {
11122
+ return new $mol_style_func('var', defaultValue ? [name, defaultValue] : name);
11123
+ }
11124
+ static url(href) {
11125
+ return new $mol_style_func('url', JSON.stringify(href));
11126
+ }
11127
+ static hsla(hue, saturation, lightness, alpha) {
11128
+ return new $mol_style_func('hsla', [hue, per(saturation), per(lightness), alpha]);
11129
+ }
11130
+ static clamp(min, mid, max) {
11131
+ return new $mol_style_func('clamp', [min, mid, max]);
11132
+ }
11133
+ static rgba(red, green, blue, alpha) {
11134
+ return new $mol_style_func('rgba', [red, green, blue, alpha]);
11135
+ }
11136
+ static scale(zoom) {
11137
+ return new $mol_style_func('scale', [zoom]);
11138
+ }
11139
+ static linear(...breakpoints) {
11140
+ return new $mol_style_func("linear", breakpoints.map((e) => Array.isArray(e)
11141
+ ? String(e[0]) +
11142
+ " " +
11143
+ (typeof e[1] === "number" ? e[1] + "%" : e[1].toString())
11144
+ : String(e)));
11145
+ }
11146
+ static cubic_bezier(x1, y1, x2, y2) {
11147
+ return new $mol_style_func('cubic-bezier', [x1, y1, x2, y2]);
11148
+ }
11149
+ static steps(value, step_position) {
11150
+ return new $mol_style_func('steps', [value, step_position]);
11151
+ }
11152
+ static blur(value) {
11153
+ return new $mol_style_func('blur', value ?? "");
11154
+ }
11155
+ static brightness(value) {
11156
+ return new $mol_style_func('brightness', value ?? "");
11157
+ }
11158
+ static contrast(value) {
11159
+ return new $mol_style_func('contrast', value ?? "");
11160
+ }
11161
+ static drop_shadow(color, x_offset, y_offset, blur_radius) {
11162
+ return new $mol_style_func("drop-shadow", blur_radius
11163
+ ? [color, x_offset, y_offset, blur_radius]
11164
+ : [color, x_offset, y_offset]);
11165
+ }
11166
+ static grayscale(value) {
11167
+ return new $mol_style_func('grayscale', value ?? "");
11168
+ }
11169
+ static hue_rotate(value) {
11170
+ return new $mol_style_func('hue-rotate', value ?? "");
11171
+ }
11172
+ static invert(value) {
11173
+ return new $mol_style_func('invert', value ?? "");
11174
+ }
11175
+ static opacity(value) {
11176
+ return new $mol_style_func('opacity', value ?? "");
11177
+ }
11178
+ static sepia(value) {
11179
+ return new $mol_style_func('sepia', value ?? "");
11180
+ }
11181
+ static saturate(value) {
11182
+ return new $mol_style_func('saturate', value ?? "");
11183
+ }
11184
+ }
11185
+ $.$mol_style_func = $mol_style_func;
11186
+ })($ || ($ = {}));
11187
+
11188
+ ;
11189
+ "use strict";
11190
+
11191
+ ;
11192
+ "use strict";
11193
+ var $;
11194
+ (function ($) {
11195
+ function $mol_style_prop(prefix, keys) {
11196
+ const record = keys.reduce((rec, key) => {
11197
+ rec[key] = $mol_style_func.vary(`--${prefix}_${key}`);
11198
+ return rec;
11199
+ }, {});
11200
+ return record;
11201
+ }
11202
+ $.$mol_style_prop = $mol_style_prop;
11203
+ })($ || ($ = {}));
11204
+
11205
+ ;
11206
+ "use strict";
11207
+ var $;
11208
+ (function ($) {
11209
+ $.$mol_theme = $mol_style_prop('mol_theme', [
11210
+ 'back',
11211
+ 'hover',
11212
+ 'card',
11213
+ 'current',
11214
+ 'special',
11215
+ 'text',
11216
+ 'control',
11217
+ 'shade',
11218
+ 'line',
11219
+ 'focus',
11220
+ 'field',
11221
+ 'image',
11222
+ 'spirit',
11223
+ ]);
11224
+ })($ || ($ = {}));
11225
+
11226
+ ;
11227
+ "use strict";
11228
+ var $;
11229
+ (function ($) {
11230
+ $mol_style_attach("mol/theme/theme.css", ":root {\n\t--mol_theme_hue: 240deg;\n\t--mol_theme_hue_spread: 90deg;\n\tcolor-scheme: dark light;\n}\n\n:where([mol_theme]) {\n\tcolor: var(--mol_theme_text);\n\tfill: var(--mol_theme_text);\n\tbackground-color: var(--mol_theme_back);\n}\n\t\n:root, [mol_theme=\"$mol_theme_dark\"], :where([mol_theme=\"$mol_theme_dark\"]) [mol_theme] {\n\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: invert(1) hue-rotate( 180deg );\n\t--mol_theme_spirit: hsl( 0deg, 0%, 0%, .75 );\n\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\n\n} @supports( color: oklch( 0% 0 0deg ) ) {\n:root, [mol_theme=\"$mol_theme_dark\"], :where([mol_theme=\"$mol_theme_dark\"]) [mol_theme] {\n\t\n\t--mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 30% .05 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 15% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 60% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 180deg ) );\n\t\n\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 70% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\n\t--mol_theme_special: oklch( 70% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\n\n} }\n\n[mol_theme=\"$mol_theme_light\"], :where([mol_theme=\"$mol_theme_light\"]) [mol_theme] {\n\t\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n\t--mol_theme_spirit: hsl( 0deg, 0%, 100%, .75 );\n\t\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 92% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .75 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\n\n} @supports( color: oklch( 0% 0 0deg ) ) {\n[mol_theme=\"$mol_theme_light\"], :where([mol_theme=\"$mol_theme_light\"]) [mol_theme] {\n\t--mol_theme_back: oklch( 92% .01 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 99% .01 var(--mol_theme_hue) / .5 );\n\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_focus: oklch( 60% .2 calc( var(--mol_theme_hue) + 180deg ) );\n\t\n\t--mol_theme_control: oklch( 40% .15 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 50% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\n\t--mol_theme_special: oklch( 50% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\n\n} }\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: oklch( 25% .075 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 );\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: oklch( 85% .075 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 98% .03 var(--mol_theme_hue) / .25 );\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\n\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\n\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: oklch( 35% .1 calc( var(--mol_theme_hue) + 180deg ) );\n\t--mol_theme_card: oklch( 45% .15 calc( var(--mol_theme_hue) + 180deg ) / .25 );\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: oklch( 83% .1 calc( var(--mol_theme_hue) + 180deg ) );\n\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + 180deg ) / .25 );\n}\n\n");
11231
+ })($ || ($ = {}));
11232
+
11233
+ ;
11234
+ "use strict";
11235
+ var $;
11236
+ (function ($) {
11237
+ $.$mol_gap = $mol_style_prop('mol_gap', [
11238
+ 'block',
11239
+ 'text',
11240
+ 'round',
11241
+ 'space',
11242
+ 'blur',
11243
+ ]);
11244
+ })($ || ($ = {}));
11245
+
11246
+ ;
11247
+ "use strict";
11248
+ var $;
11249
+ (function ($) {
11250
+ $mol_style_attach("mol/gap/gap.css", ":root {\n\t--mol_gap_block: .75rem;\n\t--mol_gap_text: .5rem .75rem;\n\t--mol_gap_round: .25rem;\n\t--mol_gap_space: .25rem;\n\t--mol_gap_blur: .5rem;\n}\n");
11251
+ })($ || ($ = {}));
11252
+
11003
11253
  ;
11004
11254
  "use strict";
11005
11255
  var $;
@@ -11511,250 +11761,7 @@ var $;
11511
11761
  "use strict";
11512
11762
  var $;
11513
11763
  (function ($) {
11514
- function $mol_style_attach(id, text) {
11515
- const doc = $mol_dom_context.document;
11516
- if (!doc)
11517
- return null;
11518
- const elid = `$mol_style_attach:${id}`;
11519
- let el = doc.getElementById(elid);
11520
- if (!el) {
11521
- el = doc.createElement('style');
11522
- el.id = elid;
11523
- doc.head.appendChild(el);
11524
- }
11525
- if (el.innerHTML != text)
11526
- el.innerHTML = text;
11527
- return el;
11528
- }
11529
- $.$mol_style_attach = $mol_style_attach;
11530
- })($ || ($ = {}));
11531
-
11532
- ;
11533
- "use strict";
11534
- var $;
11535
- (function ($) {
11536
- class $mol_promise_blocker extends $mol_promise {
11537
- static [Symbol.toStringTag] = '$mol_promise_blocker';
11538
- }
11539
- $.$mol_promise_blocker = $mol_promise_blocker;
11540
- })($ || ($ = {}));
11541
-
11542
- ;
11543
- "use strict";
11544
- var $;
11545
- (function ($) {
11546
- class $mol_decor {
11547
- value;
11548
- constructor(value) {
11549
- this.value = value;
11550
- }
11551
- prefix() { return ''; }
11552
- valueOf() { return this.value; }
11553
- postfix() { return ''; }
11554
- toString() {
11555
- return `${this.prefix()}${this.valueOf()}${this.postfix()}`;
11556
- }
11557
- }
11558
- $.$mol_decor = $mol_decor;
11559
- })($ || ($ = {}));
11560
-
11561
- ;
11562
- "use strict";
11563
- var $;
11564
- (function ($) {
11565
- class $mol_style_unit extends $mol_decor {
11566
- literal;
11567
- constructor(value, literal) {
11568
- super(value);
11569
- this.literal = literal;
11570
- }
11571
- postfix() {
11572
- return this.literal;
11573
- }
11574
- static per(value) { return `${value}%`; }
11575
- static px(value) { return `${value}px`; }
11576
- static mm(value) { return `${value}mm`; }
11577
- static cm(value) { return `${value}cm`; }
11578
- static Q(value) { return `${value}Q`; }
11579
- static in(value) { return `${value}in`; }
11580
- static pc(value) { return `${value}pc`; }
11581
- static pt(value) { return `${value}pt`; }
11582
- static cap(value) { return `${value}cap`; }
11583
- static ch(value) { return `${value}ch`; }
11584
- static em(value) { return `${value}em`; }
11585
- static rem(value) { return `${value}rem`; }
11586
- static ex(value) { return `${value}ex`; }
11587
- static ic(value) { return `${value}ic`; }
11588
- static lh(value) { return `${value}lh`; }
11589
- static rlh(value) { return `${value}rlh`; }
11590
- static vh(value) { return `${value}vh`; }
11591
- static vw(value) { return `${value}vw`; }
11592
- static vi(value) { return `${value}vi`; }
11593
- static vb(value) { return `${value}vb`; }
11594
- static vmin(value) { return `${value}vmin`; }
11595
- static vmax(value) { return `${value}vmax`; }
11596
- static deg(value) { return `${value}deg`; }
11597
- static rad(value) { return `${value}rad`; }
11598
- static grad(value) { return `${value}grad`; }
11599
- static turn(value) { return `${value}turn`; }
11600
- static s(value) { return `${value}s`; }
11601
- static ms(value) { return `${value}ms`; }
11602
- }
11603
- $.$mol_style_unit = $mol_style_unit;
11604
- })($ || ($ = {}));
11605
-
11606
- ;
11607
- "use strict";
11608
- var $;
11609
- (function ($) {
11610
- const { per } = $mol_style_unit;
11611
- class $mol_style_func extends $mol_decor {
11612
- name;
11613
- constructor(name, value) {
11614
- super(value);
11615
- this.name = name;
11616
- }
11617
- prefix() { return this.name + '('; }
11618
- postfix() { return ')'; }
11619
- static linear_gradient(value) {
11620
- return new $mol_style_func('linear-gradient', value);
11621
- }
11622
- static radial_gradient(value) {
11623
- return new $mol_style_func('radial-gradient', value);
11624
- }
11625
- static calc(value) {
11626
- return new $mol_style_func('calc', value);
11627
- }
11628
- static vary(name, defaultValue) {
11629
- return new $mol_style_func('var', defaultValue ? [name, defaultValue] : name);
11630
- }
11631
- static url(href) {
11632
- return new $mol_style_func('url', JSON.stringify(href));
11633
- }
11634
- static hsla(hue, saturation, lightness, alpha) {
11635
- return new $mol_style_func('hsla', [hue, per(saturation), per(lightness), alpha]);
11636
- }
11637
- static clamp(min, mid, max) {
11638
- return new $mol_style_func('clamp', [min, mid, max]);
11639
- }
11640
- static rgba(red, green, blue, alpha) {
11641
- return new $mol_style_func('rgba', [red, green, blue, alpha]);
11642
- }
11643
- static scale(zoom) {
11644
- return new $mol_style_func('scale', [zoom]);
11645
- }
11646
- static linear(...breakpoints) {
11647
- return new $mol_style_func("linear", breakpoints.map((e) => Array.isArray(e)
11648
- ? String(e[0]) +
11649
- " " +
11650
- (typeof e[1] === "number" ? e[1] + "%" : e[1].toString())
11651
- : String(e)));
11652
- }
11653
- static cubic_bezier(x1, y1, x2, y2) {
11654
- return new $mol_style_func('cubic-bezier', [x1, y1, x2, y2]);
11655
- }
11656
- static steps(value, step_position) {
11657
- return new $mol_style_func('steps', [value, step_position]);
11658
- }
11659
- static blur(value) {
11660
- return new $mol_style_func('blur', value ?? "");
11661
- }
11662
- static brightness(value) {
11663
- return new $mol_style_func('brightness', value ?? "");
11664
- }
11665
- static contrast(value) {
11666
- return new $mol_style_func('contrast', value ?? "");
11667
- }
11668
- static drop_shadow(color, x_offset, y_offset, blur_radius) {
11669
- return new $mol_style_func("drop-shadow", blur_radius
11670
- ? [color, x_offset, y_offset, blur_radius]
11671
- : [color, x_offset, y_offset]);
11672
- }
11673
- static grayscale(value) {
11674
- return new $mol_style_func('grayscale', value ?? "");
11675
- }
11676
- static hue_rotate(value) {
11677
- return new $mol_style_func('hue-rotate', value ?? "");
11678
- }
11679
- static invert(value) {
11680
- return new $mol_style_func('invert', value ?? "");
11681
- }
11682
- static opacity(value) {
11683
- return new $mol_style_func('opacity', value ?? "");
11684
- }
11685
- static sepia(value) {
11686
- return new $mol_style_func('sepia', value ?? "");
11687
- }
11688
- static saturate(value) {
11689
- return new $mol_style_func('saturate', value ?? "");
11690
- }
11691
- }
11692
- $.$mol_style_func = $mol_style_func;
11693
- })($ || ($ = {}));
11694
-
11695
- ;
11696
- "use strict";
11697
-
11698
- ;
11699
- "use strict";
11700
- var $;
11701
- (function ($) {
11702
- function $mol_style_prop(prefix, keys) {
11703
- const record = keys.reduce((rec, key) => {
11704
- rec[key] = $mol_style_func.vary(`--${prefix}_${key}`);
11705
- return rec;
11706
- }, {});
11707
- return record;
11708
- }
11709
- $.$mol_style_prop = $mol_style_prop;
11710
- })($ || ($ = {}));
11711
-
11712
- ;
11713
- "use strict";
11714
- var $;
11715
- (function ($) {
11716
- $.$mol_theme = $mol_style_prop('mol_theme', [
11717
- 'back',
11718
- 'hover',
11719
- 'card',
11720
- 'current',
11721
- 'special',
11722
- 'text',
11723
- 'control',
11724
- 'shade',
11725
- 'line',
11726
- 'focus',
11727
- 'field',
11728
- 'image',
11729
- 'spirit',
11730
- ]);
11731
- })($ || ($ = {}));
11732
-
11733
- ;
11734
- "use strict";
11735
- var $;
11736
- (function ($) {
11737
- $mol_style_attach("mol/theme/theme.css", ":root {\n\t--mol_theme_hue: 240deg;\n\t--mol_theme_hue_spread: 90deg;\n\tcolor-scheme: dark light;\n}\n\n:where([mol_theme]) {\n\tcolor: var(--mol_theme_text);\n\tfill: var(--mol_theme_text);\n\tbackground-color: var(--mol_theme_back);\n}\n\t\n:root, [mol_theme=\"$mol_theme_dark\"], :where([mol_theme=\"$mol_theme_dark\"]) [mol_theme] {\n\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: invert(1) hue-rotate( 180deg );\n\t--mol_theme_spirit: hsl( 0deg, 0%, 0%, .75 );\n\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\n\n} @supports( color: oklch( 0% 0 0deg ) ) {\n:root, [mol_theme=\"$mol_theme_dark\"], :where([mol_theme=\"$mol_theme_dark\"]) [mol_theme] {\n\t\n\t--mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 30% .05 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 15% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 60% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 180deg ) );\n\t\n\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 70% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\n\t--mol_theme_special: oklch( 70% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\n\n} }\n\n[mol_theme=\"$mol_theme_light\"], :where([mol_theme=\"$mol_theme_light\"]) [mol_theme] {\n\t\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n\t--mol_theme_spirit: hsl( 0deg, 0%, 100%, .75 );\n\t\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 92% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .75 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\n\n} @supports( color: oklch( 0% 0 0deg ) ) {\n[mol_theme=\"$mol_theme_light\"], :where([mol_theme=\"$mol_theme_light\"]) [mol_theme] {\n\t--mol_theme_back: oklch( 92% .01 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 99% .01 var(--mol_theme_hue) / .5 );\n\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_focus: oklch( 60% .2 calc( var(--mol_theme_hue) + 180deg ) );\n\t\n\t--mol_theme_control: oklch( 40% .15 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 50% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\n\t--mol_theme_special: oklch( 50% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\n\n} }\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: oklch( 25% .075 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 );\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: oklch( 85% .075 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 98% .03 var(--mol_theme_hue) / .25 );\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\n\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\n\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: oklch( 35% .1 calc( var(--mol_theme_hue) + 180deg ) );\n\t--mol_theme_card: oklch( 45% .15 calc( var(--mol_theme_hue) + 180deg ) / .25 );\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: oklch( 83% .1 calc( var(--mol_theme_hue) + 180deg ) );\n\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + 180deg ) / .25 );\n}\n\n");
11738
- })($ || ($ = {}));
11739
-
11740
- ;
11741
- "use strict";
11742
- var $;
11743
- (function ($) {
11744
- $.$mol_gap = $mol_style_prop('mol_gap', [
11745
- 'block',
11746
- 'text',
11747
- 'round',
11748
- 'space',
11749
- 'blur',
11750
- ]);
11751
- })($ || ($ = {}));
11752
-
11753
- ;
11754
- "use strict";
11755
- var $;
11756
- (function ($) {
11757
- $mol_style_attach("mol/gap/gap.css", ":root {\n\t--mol_gap_block: .75rem;\n\t--mol_gap_text: .5rem .75rem;\n\t--mol_gap_round: .25rem;\n\t--mol_gap_space: .25rem;\n\t--mol_gap_blur: .5rem;\n}\n");
11764
+ $mol_style_attach("mol/view/view/view.css", "[mol_view] {\n\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\n\ttransition-duration: .2s;\n\ttransition-timing-function: ease-out;\n\t-webkit-appearance: none;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tcontain: style;\n\tscrollbar-color: var(--mol_theme_line) transparent;\n\tscrollbar-width: thin;\n}\t\n\n[mol_view]::selection {\n\tbackground: var(--mol_theme_line);\n}\t\n\n[mol_view]::-webkit-scrollbar {\n\twidth: .25rem;\n\theight: .25rem;\n}\n\n[mol_view]::-webkit-scrollbar-corner {\n\tbackground-color: var(--mol_theme_line);\n}\n\n[mol_view]::-webkit-scrollbar-track {\n\tbackground-color: transparent;\n}\n\n[mol_view]::-webkit-scrollbar-thumb {\n\tbackground-color: var(--mol_theme_line);\n\tborder-radius: var(--mol_gap_round);\n}\n\n[mol_view] > * {\n\tword-break: inherit;\n}\n\n[mol_view_root] {\n\tmargin: 0;\n\tpadding: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbox-sizing: border-box;\n\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n\tfont-size: 1rem;\n\tline-height: 1.5rem;\n\tbackground: var(--mol_theme_back);\n\tcolor: var(--mol_theme_text);\n\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\n\ttab-size: 4;\n\toverscroll-behavior: contain; /** Disable navigation gestures **/\n}\n\n@media print {\n\t[mol_view_root] {\n\t\theight: auto;\n\t}\n}\n[mol_view][mol_view_error]:not([mol_view_error=\"Promise\"], [mol_view_error=\"$mol_promise_blocker\"]) {\n\tbackground-image: repeating-linear-gradient(\n\t\t-45deg,\n\t\t#f92323,\n\t\t#f92323 .5rem,\n\t\t#ff3d3d .5rem,\n\t\t#ff3d3d 1.5rem\n\t);\n\tcolor: black;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n@keyframes mol_view_wait {\n\tfrom {\n\t\topacity: .25;\n\t}\n\t20% {\n\t\topacity: .75;\n\t}\n\tto {\n\t\topacity: .25;\n\t}\n}\n\n:where([mol_view][mol_view_error=\"$mol_promise_blocker\"]),\n:where([mol_view][mol_view_error=\"Promise\"]) {\n\tbackground: var(--mol_theme_hover);\n}\n\n[mol_view][mol_view_error=\"Promise\"] {\n\tanimation: mol_view_wait 1s steps(20,end) infinite;\n}\n");
11758
11765
  })($ || ($ = {}));
11759
11766
 
11760
11767
  ;
@@ -11777,32 +11784,58 @@ var $;
11777
11784
  static Root(id) {
11778
11785
  return new this;
11779
11786
  }
11780
- autorun() {
11787
+ static roots() {
11788
+ return [...$mol_dom.document.querySelectorAll('[mol_view_root]:not([mol_view_root=""])')].map((node, index) => {
11789
+ const name = node.getAttribute('mol_view_root');
11790
+ const View = this.$[name];
11791
+ if (!View) {
11792
+ $mol_fail_log(new Error(`Autobind unknown view class`, { cause: { name } }));
11793
+ return null;
11794
+ }
11795
+ const view = View.Root(index);
11796
+ view.dom_node(node);
11797
+ return view;
11798
+ }).filter($mol_guard_defined);
11799
+ }
11800
+ static auto() {
11801
+ const roots = this.roots();
11802
+ if (!roots.length)
11803
+ return;
11804
+ for (const root of roots) {
11805
+ try {
11806
+ root.dom_tree();
11807
+ }
11808
+ catch (error) {
11809
+ $mol_fail_log(error);
11810
+ }
11811
+ }
11781
11812
  try {
11782
- this.dom_tree();
11783
- document.title = this.title();
11813
+ document.title = roots[0].title();
11784
11814
  }
11785
11815
  catch (error) {
11786
11816
  $mol_fail_log(error);
11787
11817
  }
11788
- }
11789
- static autobind() {
11790
- const nodes = $mol_dom_context.document.querySelectorAll('[mol_view_root]:not([mol_view_root=""])');
11791
- for (let i = nodes.length - 1; i >= 0; --i) {
11792
- const name = nodes.item(i).getAttribute('mol_view_root');
11793
- const View = $[name];
11794
- if (!View) {
11795
- console.error(`Can not attach view. Class not found: ${name}`);
11796
- continue;
11797
- }
11798
- const view = View.Root(i);
11799
- view.dom_node(nodes.item(i));
11800
- view.autorun();
11818
+ descr: try {
11819
+ const descr = roots[0].hint();
11820
+ if (!descr)
11821
+ break descr;
11822
+ const head = $mol_dom.document.head;
11823
+ let node = head.querySelector('meta[name="description"]');
11824
+ if (node)
11825
+ node.content = descr;
11826
+ else
11827
+ head.append($mol_jsx("meta", { name: "description", content: descr }));
11828
+ }
11829
+ catch (error) {
11830
+ $mol_fail_log(error);
11801
11831
  }
11802
11832
  }
11803
11833
  title() {
11804
11834
  return this.toString().match(/.*\.(\w+)/)?.[1] ?? this.toString();
11805
11835
  }
11836
+ hint() {
11837
+ return '';
11838
+ }
11806
11839
  focused(next) {
11807
11840
  let node = this.dom_node();
11808
11841
  const value = $mol_view_selection.focused(next === undefined ? undefined : (next ? [node] : []));
@@ -12134,9 +12167,6 @@ var $;
12134
12167
  }
12135
12168
  }
12136
12169
  }
12137
- __decorate([
12138
- $mol_mem
12139
- ], $mol_view.prototype, "autorun", null);
12140
12170
  __decorate([
12141
12171
  $mol_mem
12142
12172
  ], $mol_view.prototype, "title", null);
@@ -12190,20 +12220,16 @@ var $;
12190
12220
  ], $mol_view, "Root", null);
12191
12221
  __decorate([
12192
12222
  $mol_mem
12193
- ], $mol_view, "autobind", null);
12223
+ ], $mol_view, "roots", null);
12224
+ __decorate([
12225
+ $mol_mem
12226
+ ], $mol_view, "auto", null);
12194
12227
  __decorate([
12195
12228
  $mol_memo.method
12196
12229
  ], $mol_view, "view_classes", null);
12197
12230
  $.$mol_view = $mol_view;
12198
12231
  })($ || ($ = {}));
12199
12232
 
12200
- ;
12201
- "use strict";
12202
- var $;
12203
- (function ($) {
12204
- $mol_style_attach("mol/view/view/view.css", "[mol_view] {\n\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\n\ttransition-duration: .2s;\n\ttransition-timing-function: ease-out;\n\t-webkit-appearance: none;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tcontain: style;\n\tscrollbar-color: var(--mol_theme_line) transparent;\n\tscrollbar-width: thin;\n}\t\n\n[mol_view]::selection {\n\tbackground: var(--mol_theme_line);\n}\t\n\n[mol_view]::-webkit-scrollbar {\n\twidth: .25rem;\n\theight: .25rem;\n}\n\n[mol_view]::-webkit-scrollbar-corner {\n\tbackground-color: var(--mol_theme_line);\n}\n\n[mol_view]::-webkit-scrollbar-track {\n\tbackground-color: transparent;\n}\n\n[mol_view]::-webkit-scrollbar-thumb {\n\tbackground-color: var(--mol_theme_line);\n\tborder-radius: var(--mol_gap_round);\n}\n\n[mol_view] > * {\n\tword-break: inherit;\n}\n\n[mol_view_root] {\n\tmargin: 0;\n\tpadding: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbox-sizing: border-box;\n\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n\tfont-size: 1rem;\n\tline-height: 1.5rem;\n\tbackground: var(--mol_theme_back);\n\tcolor: var(--mol_theme_text);\n\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\n\ttab-size: 4;\n\toverscroll-behavior: contain; /** Disable navigation gestures **/\n}\n\n@media print {\n\t[mol_view_root] {\n\t\theight: auto;\n\t}\n}\n[mol_view][mol_view_error]:not([mol_view_error=\"Promise\"], [mol_view_error=\"$mol_promise_blocker\"]) {\n\tbackground-image: repeating-linear-gradient(\n\t\t-45deg,\n\t\t#f92323,\n\t\t#f92323 .5rem,\n\t\t#ff3d3d .5rem,\n\t\t#ff3d3d 1.5rem\n\t);\n\tcolor: black;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n@keyframes mol_view_wait {\n\tfrom {\n\t\topacity: .25;\n\t}\n\t20% {\n\t\topacity: .75;\n\t}\n\tto {\n\t\topacity: .25;\n\t}\n}\n\n:where([mol_view][mol_view_error=\"$mol_promise_blocker\"]),\n:where([mol_view][mol_view_error=\"Promise\"]) {\n\tbackground: var(--mol_theme_hover);\n}\n\n[mol_view][mol_view_error=\"Promise\"] {\n\tanimation: mol_view_wait 1s steps(20,end) infinite;\n}\n");
12205
- })($ || ($ = {}));
12206
-
12207
12233
  ;
12208
12234
  "use strict";
12209
12235
  var $;
@@ -13228,7 +13254,7 @@ var $;
13228
13254
  "use strict";
13229
13255
  var $;
13230
13256
  (function ($) {
13231
- $mol_style_attach("mol/button/typed/typed.view.css", "[mol_button_typed] {\n\talign-content: center;\n\talign-items: center;\n\tpadding: var(--mol_gap_text);\n\tborder-radius: var(--mol_gap_round);\n\tgap: var(--mol_gap_space);\n\tuser-select: none;\n\tcursor: pointer;\n}\n\n[mol_button_typed][disabled] {\n\tpointer-events: none;\n}\n\n[mol_button_typed]:hover ,\n[mol_button_typed]:focus-visible {\n\tbox-shadow: inset 0 0 0 10rem var(--mol_theme_hover);\n}\n\n[mol_button_typed]:active {\n\tcolor: var(--mol_theme_focus);\n}\n\n");
13257
+ $mol_style_attach("mol/button/typed/typed.view.css", "[mol_button_typed] {\n\talign-content: center;\n\talign-items: center;\n\tpadding: var(--mol_gap_text);\n\tborder-radius: var(--mol_gap_round);\n\tgap: var(--mol_gap_space);\n\tuser-select: none;\n\tcursor: pointer;\n}\n\n[mol_button_typed][disabled] {\n\tpointer-events: none;\n}\n\n[mol_button_typed]:hover ,\n[mol_button_typed]:focus-visible {\n\tbox-shadow: inset 0 0 0 100vmax var(--mol_theme_hover);\n}\n\n[mol_button_typed]:active {\n\tcolor: var(--mol_theme_focus);\n}\n\n");
13232
13258
  })($ || ($ = {}));
13233
13259
 
13234
13260
  ;