@warp-ds/elements 2.2.0-next.2 → 2.2.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/custom-elements.json +812 -0
  2. package/dist/index.js +3356 -349
  3. package/dist/index.js.map +4 -4
  4. package/dist/packages/affix/index.d.ts +1 -1
  5. package/dist/packages/affix/index.js +7 -6
  6. package/dist/packages/affix/index.js.map +3 -3
  7. package/dist/packages/alert/alert.test.d.ts +1 -0
  8. package/dist/packages/alert/index.d.ts +11 -16
  9. package/dist/packages/attention/index.d.ts +1 -1
  10. package/dist/packages/attention/index.js +5 -7
  11. package/dist/packages/attention/index.js.map +3 -3
  12. package/dist/packages/badge/index.d.ts +3 -2
  13. package/dist/packages/badge/index.js +1 -1
  14. package/dist/packages/badge/index.js.map +1 -1
  15. package/dist/packages/box/index.d.ts +5 -3
  16. package/dist/packages/box/index.js +1 -1
  17. package/dist/packages/box/index.js.map +1 -1
  18. package/dist/packages/breadcrumbs/index.d.ts +1 -1
  19. package/dist/packages/breadcrumbs/index.js +5 -7
  20. package/dist/packages/breadcrumbs/index.js.map +3 -3
  21. package/dist/packages/button/button.test.d.ts +1 -0
  22. package/dist/packages/button/index.d.ts +28 -52
  23. package/dist/packages/card/card.test.d.ts +1 -0
  24. package/dist/packages/card/index.d.ts +6 -15
  25. package/dist/packages/expandable/expandable.test.d.ts +1 -0
  26. package/dist/packages/expandable/index.d.ts +13 -51
  27. package/dist/packages/modal/index.d.ts +3 -3
  28. package/dist/packages/modal/index.js +302 -351
  29. package/dist/packages/modal/index.js.map +4 -4
  30. package/dist/packages/modal/modal-footer.d.ts +2 -2
  31. package/dist/packages/modal/modal-header.d.ts +12 -20
  32. package/dist/packages/modal/modal-main.d.ts +14 -24
  33. package/dist/packages/pill/index.d.ts +1 -1
  34. package/dist/packages/pill/index.js +6 -8
  35. package/dist/packages/pill/index.js.map +3 -3
  36. package/dist/packages/select/index.d.ts +12 -2
  37. package/dist/packages/select/index.js +306 -11
  38. package/dist/packages/select/index.js.map +4 -4
  39. package/dist/packages/styles.d.ts +2 -0
  40. package/dist/packages/textfield/index.d.ts +7 -7
  41. package/dist/packages/textfield/index.js +294 -5
  42. package/dist/packages/textfield/index.js.map +4 -4
  43. package/dist/packages/toast/index.d.ts +3 -0
  44. package/dist/packages/toast/index.js +8 -10
  45. package/dist/packages/toast/index.js.map +3 -3
  46. package/dist/packages/toast/toast-container.d.ts +3 -4
  47. package/dist/packages/toast/toast.d.ts +4 -6
  48. package/dist/packages/utils/expand-transition.d.ts +3 -2
  49. package/dist/packages/utils/index.d.ts +1 -1
  50. package/dist/packages/utils/unstyled-heading.d.ts +4 -3
  51. package/package.json +27 -15
  52. package/dist/packages/alert/index.js +0 -2466
  53. package/dist/packages/alert/index.js.map +0 -7
  54. package/dist/packages/button/index.js +0 -2183
  55. package/dist/packages/button/index.js.map +0 -7
  56. package/dist/packages/card/index.js +0 -2131
  57. package/dist/packages/card/index.js.map +0 -7
  58. package/dist/packages/expandable/index.js +0 -2346
  59. package/dist/packages/expandable/index.js.map +0 -7
package/dist/index.js CHANGED
@@ -55,6 +55,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
55
55
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
56
56
  mod
57
57
  ));
58
+ var __decorateClass = (decorators, target, key, kind) => {
59
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
60
+ for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--)
61
+ if (decorator = decorators[i2])
62
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
63
+ if (kind && result) __defProp(target, key, result);
64
+ return result;
65
+ };
58
66
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
59
67
  var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
60
68
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
@@ -444,9 +452,9 @@ var require_moo = __commonJS({
444
452
  return new Lexer({ start: result }, "start");
445
453
  }
446
454
  function checkStateGroup(g2, name, map) {
447
- var state = g2 && (g2.push || g2.next);
448
- if (state && !map[state]) {
449
- throw new Error("Missing state '" + state + "' (in token '" + g2.defaultType + "' of state '" + name + "')");
455
+ var state2 = g2 && (g2.push || g2.next);
456
+ if (state2 && !map[state2]) {
457
+ throw new Error("Missing state '" + state2 + "' (in token '" + g2.defaultType + "' of state '" + name + "')");
450
458
  }
451
459
  if (g2 && g2.pop && +g2.pop !== 1) {
452
460
  throw new Error("pop must be 1 (in token '" + g2.defaultType + "' of state '" + name + "')");
@@ -493,14 +501,14 @@ var require_moo = __commonJS({
493
501
  }
494
502
  for (var i2 = 0; i2 < keys2.length; i2++) {
495
503
  var name = keys2[i2];
496
- var state = map[name];
497
- var groups = state.groups;
504
+ var state2 = map[name];
505
+ var groups = state2.groups;
498
506
  for (var j = 0; j < groups.length; j++) {
499
507
  checkStateGroup(groups[j], name, map);
500
508
  }
501
- var fastKeys = Object.getOwnPropertyNames(state.fast);
509
+ var fastKeys = Object.getOwnPropertyNames(state2.fast);
502
510
  for (var j = 0; j < fastKeys.length; j++) {
503
- checkStateGroup(state.fast[fastKeys[j]], name, map);
511
+ checkStateGroup(state2.fast[fastKeys[j]], name, map);
504
512
  }
505
513
  }
506
514
  return new Lexer(map, start);
@@ -528,8 +536,8 @@ var require_moo = __commonJS({
528
536
  return isMap ? reverseMap.get(k) : reverseMap[k];
529
537
  };
530
538
  }
531
- var Lexer = function(states, state) {
532
- this.startState = state;
539
+ var Lexer = function(states, state2) {
540
+ this.startState = state2;
533
541
  this.states = states;
534
542
  this.buffer = "";
535
543
  this.stack = [];
@@ -558,10 +566,10 @@ var require_moo = __commonJS({
558
566
  queuedThrow: this.queuedThrow
559
567
  };
560
568
  };
561
- Lexer.prototype.setState = function(state) {
562
- if (!state || this.state === state) return;
563
- this.state = state;
564
- var info = this.states[state];
569
+ Lexer.prototype.setState = function(state2) {
570
+ if (!state2 || this.state === state2) return;
571
+ this.state = state2;
572
+ var info = this.states[state2];
565
573
  this.groups = info.groups;
566
574
  this.error = info.error;
567
575
  this.re = info.regexp;
@@ -570,9 +578,9 @@ var require_moo = __commonJS({
570
578
  Lexer.prototype.popState = function() {
571
579
  this.setState(this.stack.pop());
572
580
  };
573
- Lexer.prototype.pushState = function(state) {
581
+ Lexer.prototype.pushState = function(state2) {
574
582
  this.stack.push(this.state);
575
- this.setState(state);
583
+ this.setState(state2);
576
584
  };
577
585
  var eat = hasSticky ? function(re, buffer) {
578
586
  return re.exec(buffer);
@@ -1035,7 +1043,7 @@ var r = function() {
1035
1043
  }, []).join(" ");
1036
1044
  };
1037
1045
 
1038
- // node_modules/.pnpm/@warp-ds+css@2.1.1_@warp-ds+uno@2.1.0_unocss@0.62.0_postcss@8.5.1_rollup@4.32.1_vite@5.3.3_@t_sgrraibu65gdmqpe655kfrpl6a/node_modules/@warp-ds/css/component-classes/index.js
1046
+ // node_modules/.pnpm/@warp-ds+css@2.1.1_@warp-ds+uno@2.1.0_unocss@0.62.0_postcss@8.5.1_rollup@4.32.1_vite@5._43dfacbc4a7d78ad84ef685a7085e344/node_modules/@warp-ds/css/component-classes/index.js
1039
1047
  var badge = {
1040
1048
  base: "py-4 px-8 border-0 rounded-4 text-xs inline-flex",
1041
1049
  neutral: "bg-[--w-color-badge-neutral-background] s-text",
@@ -1256,23 +1264,6 @@ var modal = {
1256
1264
  titleButtonIcon: "h-16 w-16 sm:h-24 sm:w-24",
1257
1265
  titleButtonIconRotated: "transform rotate-90"
1258
1266
  };
1259
- var modalElement = {
1260
- // several items in here are 'resets' for the <dialog> element
1261
- dialogEl: "bg-transparent backface-hidden w-unset h-unset max-w-unset max-h-unset p-0 m-auto border-0 inset-0 open:flex open:fixed sm:place-content-center sm:place-items-center items-end [--w-modal-max-height:80%] [--w-modal-width:640px]",
1262
- dialogInner: "transition-all relative pb-safe-[32] sm:pb-32 shadow-m max-h-[--w-modal-max-height] min-h-[--w-modal-min-height] w-[--w-modal-width] h-[--w-modal-height] ease-in-out backface-hidden will-change-height rounded-8 sm:mx-16 s-bg flex flex-col overflow-hidden lt-sm:rounded-b-0",
1263
- contentSlot: "block overflow-y-auto overflow-x-hidden last-child:mb-0 grow shrink px-16 sm:px-32 relative",
1264
- header: "relative pb-8",
1265
- headerTitleBar: "pt-16 sm:pt-24 px-16 sm:px-32 grid gap-12 grid-cols-[auto_1fr_auto] items-start shrink-0!",
1266
- headerButton: "sm:min-h-[32px] sm:min-w-[32px] min-h-[40px] min-w-[40px] text-m leading-[24] p-4 rounded-full border-0 inline-flex items-center justify-center hover:bg-clip-padding font-bold focusable transition-colors ease-in-out",
1267
- headerButtonLeft: "-ml-8 s-icon bg-transparent hover:bg-[--w-color-button-pill-background-hover] active:bg-[--w-color-button-pill-background-active]",
1268
- headerCloseButton: "-mr-8 s-icon bg-transparent hover:bg-[--w-color-button-pill-background-hover] active:bg-[--w-color-button-pill-background-active]",
1269
- headerCloseButtonOnImage: `absolute right-8 top-8 z-10 s-color-inverted bg-[var(--w-black)/70] hover:bg-[var(--w-black)/85] active:bg-[var(--w-black)] s-text-inverted`,
1270
- headerTitle: "mb-0 t3 self-center",
1271
- headerTitleWithBackButton: "justify-self-center",
1272
- headerTitleWithoutBackButton: "col-span-2",
1273
- headerTitleWithTopArea: "pt-16 px-16 sm:px-32",
1274
- footer: "flex justify-end shrink-0 px-16 sm:px-32 pt-24"
1275
- };
1276
1267
  var alert = {
1277
1268
  wrapper: "flex p-16 border border-l-4 rounded-4 s-text",
1278
1269
  willChangeHeight: "will-change-height",
@@ -1436,11 +1427,11 @@ var attention = {
1436
1427
  import WarpElement from "@warp-ds/elements-core";
1437
1428
  import { ifDefined } from "lit/directives/if-defined.js";
1438
1429
 
1439
- // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-_hyhbgchrkasknlbocfng7geeci/node_modules/@warp-ds/icons/dist/elements/search-16.js
1430
+ // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/dist/elements/search-16.js
1440
1431
  import { LitElement } from "lit";
1441
1432
  import { unsafeStatic, html } from "lit/static-html.js";
1442
1433
 
1443
- // node_modules/.pnpm/@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-macros@3.1.0_typescri_qfhfd5z2jpd4amxt2golzdalsi/node_modules/@lingui/core/dist/index.mjs
1434
+ // node_modules/.pnpm/@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-macros@3.1.0_ty_33a2537ce57a59324989ce8020998d0e/node_modules/@lingui/core/dist/index.mjs
1444
1435
  var import_unraw = __toESM(require_dist(), 1);
1445
1436
 
1446
1437
  // node_modules/.pnpm/@lingui+message-utils@5.2.0/node_modules/@lingui/message-utils/dist/compileMessage.mjs
@@ -1762,7 +1753,7 @@ Message: ${message}`);
1762
1753
  }
1763
1754
  }
1764
1755
 
1765
- // node_modules/.pnpm/@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-macros@3.1.0_typescri_qfhfd5z2jpd4amxt2golzdalsi/node_modules/@lingui/core/dist/index.mjs
1756
+ // node_modules/.pnpm/@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-macros@3.1.0_ty_33a2537ce57a59324989ce8020998d0e/node_modules/@lingui/core/dist/index.mjs
1766
1757
  var isString = (s) => typeof s === "string";
1767
1758
  var isFunction = (f2) => typeof f2 === "function";
1768
1759
  var cache = /* @__PURE__ */ new Map();
@@ -2170,7 +2161,7 @@ function setupI18n(params = {}) {
2170
2161
  }
2171
2162
  var i18n = setupI18n();
2172
2163
 
2173
- // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-_hyhbgchrkasknlbocfng7geeci/node_modules/@warp-ds/icons/dist/elements/search-16.js
2164
+ // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/dist/elements/search-16.js
2174
2165
  var messages = JSON.parse('{"icon.title.search":["Forst\xF8rrelsesglass"]}');
2175
2166
  var messages2 = JSON.parse('{"icon.title.search":["Magnifying glass"]}');
2176
2167
  var messages3 = JSON.parse('{"icon.title.search":["Suurennuslasi"]}');
@@ -2262,7 +2253,7 @@ if (!customElements.get("w-icon-search-16")) {
2262
2253
  customElements.define("w-icon-search-16", IconSearch16);
2263
2254
  }
2264
2255
 
2265
- // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-_hyhbgchrkasknlbocfng7geeci/node_modules/@warp-ds/icons/dist/elements/close-16.js
2256
+ // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/dist/elements/close-16.js
2266
2257
  import { LitElement as LitElement2 } from "lit";
2267
2258
  import { unsafeStatic as unsafeStatic2, html as html2 } from "lit/static-html.js";
2268
2259
  var messages6 = JSON.parse('{"icon.title.close":["Kryss"]}');
@@ -2413,6 +2404,7 @@ var WarpAffix = class extends kebabCaseAttributes(WarpElement) {
2413
2404
  } else if (this.clear) {
2414
2405
  return this._clearButton;
2415
2406
  }
2407
+ return void 0;
2416
2408
  }
2417
2409
  render() {
2418
2410
  return html3`${this._markup}`;
@@ -2429,11 +2421,11 @@ if (!customElements.get("w-affix")) {
2429
2421
  customElements.define("w-affix", WarpAffix);
2430
2422
  }
2431
2423
 
2432
- // packages/alert/index.js
2433
- import { css, html as html8 } from "lit";
2434
- import WarpElement2 from "@warp-ds/elements-core";
2424
+ // packages/alert/index.ts
2425
+ import { css as css2, html as html8, LitElement as LitElement7 } from "lit";
2426
+ import { property } from "lit/decorators.js";
2435
2427
 
2436
- // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-_hyhbgchrkasknlbocfng7geeci/node_modules/@warp-ds/icons/dist/elements/info-16.js
2428
+ // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/dist/elements/info-16.js
2437
2429
  import { LitElement as LitElement3 } from "lit";
2438
2430
  import { unsafeStatic as unsafeStatic3, html as html4 } from "lit/static-html.js";
2439
2431
  var messages7 = JSON.parse('{"icon.title.info":["Informasjonssirkel"]}');
@@ -2527,7 +2519,7 @@ if (!customElements.get("w-icon-info-16")) {
2527
2519
  customElements.define("w-icon-info-16", IconInfo16);
2528
2520
  }
2529
2521
 
2530
- // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-_hyhbgchrkasknlbocfng7geeci/node_modules/@warp-ds/icons/dist/elements/warning-16.js
2522
+ // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/dist/elements/warning-16.js
2531
2523
  import { LitElement as LitElement4 } from "lit";
2532
2524
  import { unsafeStatic as unsafeStatic4, html as html5 } from "lit/static-html.js";
2533
2525
  var messages8 = JSON.parse('{"icon.title.warning":["Varseltrekant med utropstegn"]}');
@@ -2621,7 +2613,7 @@ if (!customElements.get("w-icon-warning-16")) {
2621
2613
  customElements.define("w-icon-warning-16", IconWarning16);
2622
2614
  }
2623
2615
 
2624
- // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-_hyhbgchrkasknlbocfng7geeci/node_modules/@warp-ds/icons/dist/elements/error-16.js
2616
+ // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/dist/elements/error-16.js
2625
2617
  import { LitElement as LitElement5 } from "lit";
2626
2618
  import { unsafeStatic as unsafeStatic5, html as html6 } from "lit/static-html.js";
2627
2619
  var messages9 = JSON.parse('{"icon.title.error":["\xC5ttekant med utropstegn"]}');
@@ -2715,7 +2707,7 @@ if (!customElements.get("w-icon-error-16")) {
2715
2707
  customElements.define("w-icon-error-16", IconError16);
2716
2708
  }
2717
2709
 
2718
- // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-_hyhbgchrkasknlbocfng7geeci/node_modules/@warp-ds/icons/dist/elements/success-16.js
2710
+ // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/dist/elements/success-16.js
2719
2711
  import { LitElement as LitElement6 } from "lit";
2720
2712
  import { unsafeStatic as unsafeStatic6, html as html7 } from "lit/static-html.js";
2721
2713
  var messages10 = JSON.parse('{"icon.title.success":["Sirkel med sjekkmerke"]}');
@@ -2809,23 +2801,2471 @@ if (!customElements.get("w-icon-success-16")) {
2809
2801
  customElements.define("w-icon-success-16", IconSuccess16);
2810
2802
  }
2811
2803
 
2812
- // packages/alert/index.js
2813
- var variants = {
2804
+ // packages/styles.ts
2805
+ import { css } from "lit";
2806
+ var reset = css`
2807
+ *,
2808
+ :before,
2809
+ :after {
2810
+ box-sizing: border-box;
2811
+ border-style: solid;
2812
+ border-width: 0;
2813
+ border-color: var(--w-s-color-border);
2814
+ }
2815
+ html {
2816
+ font-size: 62.5%;
2817
+ }
2818
+ body {
2819
+ background-color: var(--w-s-color-background);
2820
+ min-height: 100%;
2821
+ margin: 0;
2822
+ overflow-y: scroll;
2823
+ }
2824
+ body,
2825
+ :host {
2826
+ -webkit-text-size-adjust: 100%;
2827
+ tab-size: 4;
2828
+ -webkit-tap-highlight-color: transparent;
2829
+ font-family: var(--w-font-family);
2830
+ font-size: var(--w-font-size-m);
2831
+ line-height: var(--w-line-height-m);
2832
+ color: var(--w-s-color-text);
2833
+ }
2834
+ hr {
2835
+ color: inherit;
2836
+ border-top-width: 1px;
2837
+ height: 0;
2838
+ }
2839
+ abbr:where([title]) {
2840
+ -webkit-text-decoration: underline dotted;
2841
+ text-decoration: underline dotted;
2842
+ }
2843
+ h1,
2844
+ h2,
2845
+ h3,
2846
+ h4,
2847
+ h5,
2848
+ h6 {
2849
+ font-size: inherit;
2850
+ font-weight: 700;
2851
+ }
2852
+ a {
2853
+ cursor: pointer;
2854
+ color: var(--w-s-color-text-link);
2855
+ text-decoration: none;
2856
+ }
2857
+ a:hover,
2858
+ a:focus,
2859
+ a:active {
2860
+ text-decoration: underline;
2861
+ }
2862
+ a:focus-visible {
2863
+ outline: 2px solid var(--w-s-color-border-focus);
2864
+ outline-offset: 1px;
2865
+ }
2866
+ b,
2867
+ strong {
2868
+ font-weight: 700;
2869
+ }
2870
+ code,
2871
+ kbd,
2872
+ samp,
2873
+ pre {
2874
+ font-family:
2875
+ ui-monospace,
2876
+ SFMono-Regular,
2877
+ Menlo,
2878
+ Monaco,
2879
+ Consolas,
2880
+ Liberation Mono,
2881
+ Courier New,
2882
+ monospace;
2883
+ font-size: 1em;
2884
+ }
2885
+ sub,
2886
+ sup {
2887
+ vertical-align: baseline;
2888
+ font-size: 75%;
2889
+ line-height: 0;
2890
+ position: relative;
2891
+ }
2892
+ sub {
2893
+ bottom: -0.25em;
2894
+ }
2895
+ sup {
2896
+ top: -0.5em;
2897
+ }
2898
+ table {
2899
+ text-indent: 0;
2900
+ border-color: inherit;
2901
+ border-collapse: collapse;
2902
+ }
2903
+ button,
2904
+ input,
2905
+ optgroup,
2906
+ select,
2907
+ textarea {
2908
+ font-family: inherit;
2909
+ font-size: 100%;
2910
+ font-weight: inherit;
2911
+ line-height: inherit;
2912
+ color: inherit;
2913
+ margin: 0;
2914
+ padding: 0;
2915
+ }
2916
+ button,
2917
+ select {
2918
+ text-transform: none;
2919
+ }
2920
+ button,
2921
+ [type='button'],
2922
+ [type='reset'],
2923
+ [type='submit'] {
2924
+ -webkit-appearance: button;
2925
+ }
2926
+ :-moz-focusring {
2927
+ outline: auto;
2928
+ }
2929
+ :-moz-ui-invalid {
2930
+ box-shadow: none;
2931
+ }
2932
+ progress {
2933
+ vertical-align: baseline;
2934
+ }
2935
+ ::-webkit-inner-spin-button {
2936
+ height: auto;
2937
+ }
2938
+ ::-webkit-outer-spin-button {
2939
+ height: auto;
2940
+ }
2941
+ [type='search'] {
2942
+ -webkit-appearance: textfield;
2943
+ outline-offset: -2px;
2944
+ }
2945
+ ::-webkit-search-decoration {
2946
+ -webkit-appearance: none;
2947
+ }
2948
+ ::-webkit-file-upload-button {
2949
+ -webkit-appearance: button;
2950
+ font: inherit;
2951
+ }
2952
+ summary {
2953
+ display: list-item;
2954
+ }
2955
+ blockquote,
2956
+ dl,
2957
+ dd,
2958
+ h1,
2959
+ h2,
2960
+ h3,
2961
+ h4,
2962
+ h5,
2963
+ h6,
2964
+ hr,
2965
+ figure,
2966
+ p,
2967
+ pre {
2968
+ margin: 0;
2969
+ }
2970
+ fieldset {
2971
+ margin: 0;
2972
+ padding: 0;
2973
+ }
2974
+ legend {
2975
+ padding: 0;
2976
+ }
2977
+ ol,
2978
+ ul,
2979
+ menu {
2980
+ margin: 0;
2981
+ padding: 0;
2982
+ list-style: none;
2983
+ }
2984
+ textarea {
2985
+ resize: vertical;
2986
+ }
2987
+ input::placeholder,
2988
+ textarea::placeholder {
2989
+ opacity: 1;
2990
+ color: var(--w-s-color-text-placeholder);
2991
+ }
2992
+ button,
2993
+ [role='button'] {
2994
+ cursor: pointer;
2995
+ }
2996
+ :disabled {
2997
+ cursor: default;
2998
+ }
2999
+ img,
3000
+ svg,
3001
+ video,
3002
+ canvas,
3003
+ audio,
3004
+ iframe,
3005
+ embed,
3006
+ object {
3007
+ vertical-align: middle;
3008
+ display: block;
3009
+ }
3010
+ img,
3011
+ video {
3012
+ max-width: 100%;
3013
+ height: auto;
3014
+ }
3015
+ h1 {
3016
+ font-size: var(--w-font-size-xxl);
3017
+ line-height: var(--w-line-height-xxl);
3018
+ }
3019
+ h2 {
3020
+ font-size: var(--w-font-size-xl);
3021
+ line-height: var(--w-line-height-xl);
3022
+ }
3023
+ h3 {
3024
+ font-size: var(--w-font-size-l);
3025
+ line-height: var(--w-line-height-l);
3026
+ }
3027
+ h4 {
3028
+ font-size: var(--w-font-size-m);
3029
+ line-height: var(--w-line-height-m);
3030
+ }
3031
+ h5 {
3032
+ font-size: var(--w-font-size-s);
3033
+ line-height: var(--w-line-height-s);
3034
+ }
3035
+ dt,
3036
+ dd {
3037
+ margin: 0 16px;
3038
+ }
3039
+ h1,
3040
+ h2,
3041
+ h3,
3042
+ h4,
3043
+ h5,
3044
+ ul,
3045
+ ol,
3046
+ dl,
3047
+ p,
3048
+ blockquote {
3049
+ margin: 0 0 8px;
3050
+ }
3051
+ [hidden] {
3052
+ display: none !important;
3053
+ }
3054
+ [tabindex='-1']:focus:not(:focus-visible) {
3055
+ outline: none;
3056
+ }
3057
+ legend {
3058
+ float: left;
3059
+ width: 100%;
3060
+ margin: 0;
3061
+ padding: 0;
3062
+ display: table;
3063
+ }
3064
+ legend + * {
3065
+ clear: both;
3066
+ }
3067
+ fieldset {
3068
+ border: 0;
3069
+ min-width: 0;
3070
+ margin: 0;
3071
+ padding: 0.01em 0 0;
3072
+ }
3073
+ body:not(:-moz-handler-blocked) fieldset {
3074
+ display: table-cell;
3075
+ }
3076
+ svg {
3077
+ pointer-events: none;
3078
+ }
3079
+ `;
3080
+ var components = css`*, :before, :after {
3081
+ --w-rotate: 0;
3082
+ --w-rotate-x: 0;
3083
+ --w-rotate-y: 0;
3084
+ --w-rotate-z: 0;
3085
+ --w-scale-x: 1;
3086
+ --w-scale-y: 1;
3087
+ --w-scale-z: 1;
3088
+ --w-skew-x: 0;
3089
+ --w-skew-y: 0;
3090
+ --w-translate-x: 0;
3091
+ --w-translate-y: 0;
3092
+ --w-translate-z: 0
3093
+ }
3094
+
3095
+ .h4, .t4 {
3096
+ font-weight: 700;
3097
+ font-size: var(--w-font-size-m);
3098
+ line-height: var(--w-line-height-m)
3099
+ }
3100
+
3101
+ .t3 {
3102
+ font-weight: 700;
3103
+ font-size: var(--w-font-size-l);
3104
+ line-height: var(--w-line-height-l)
3105
+ }
3106
+
3107
+ @media (min-width: 480px) {
3108
+ .sm\\:h3 {
3109
+ font-weight: 700;
3110
+ font-size: var(--w-font-size-l);
3111
+ line-height: var(--w-line-height-l)
3112
+ }
3113
+ }
3114
+
3115
+ .text-center {
3116
+ text-align: center
3117
+ }
3118
+
3119
+ .before\\:text-center:before {
3120
+ text-align: center
3121
+ }
3122
+
3123
+ .text-left {
3124
+ text-align: left
3125
+ }
3126
+
3127
+ .text-right {
3128
+ text-align: right
3129
+ }
3130
+
3131
+ .align-middle {
3132
+ vertical-align: middle
3133
+ }
3134
+
3135
+ .animate-inprogress {
3136
+ background-image: linear-gradient(135deg, rgba(0, 0, 0, .05) 25%, transparent 0, transparent 50%, rgba(0, 0, 0, .05) 0, rgba(0, 0, 0, .05) 75%, transparent 0, transparent) !important;
3137
+ background-size: 30px 30px;
3138
+ animation: animate-inprogress 3s linear infinite
3139
+ }
3140
+
3141
+ @keyframes animate-inprogress {
3142
+ 0% {
3143
+ background-position: 0 0
3144
+ }
3145
+ to {
3146
+ background-position: 60px 0
3147
+ }
3148
+ }
3149
+
3150
+ .\\[--w-modal-max-height\\:80\\%\\] {
3151
+ --w-modal-max-height: 80%
3152
+ }
3153
+
3154
+ .\\[--w-modal-width\\:640px\\] {
3155
+ --w-modal-width: 640px
3156
+ }
3157
+
3158
+ .focus\\:\\[--w-outline-offset\\:-2px\\]:focus {
3159
+ --w-outline-offset: -2px
3160
+ }
3161
+
3162
+ .backdrop-blur {
3163
+ -webkit-backdrop-filter: blur(4px);
3164
+ backdrop-filter: blur(4px)
3165
+ }
3166
+
3167
+ .peer:checked ~ .peer-checked\\:before\\:bg-center:before {
3168
+ background-position: center
3169
+ }
3170
+
3171
+ .hover\\:bg-clip-padding:hover {
3172
+ -webkit-background-clip: padding-box;
3173
+ background-clip: padding-box
3174
+ }
3175
+
3176
+ .bg-transparent, .group\\/steph:first-child .group-first\\/steph\\:bg-transparent, .group\\/steph:last-child .group-last\\/steph\\:bg-transparent {
3177
+ background-color: transparent
3178
+ }
3179
+
3180
+ .bg-\\[--w-black\\/25\\] {
3181
+ background-color: rgba(var(--w-rgb-black), .25)
3182
+ }
3183
+
3184
+ .bg-\\[--w-black\\/70\\], .bg-\\[var\\(--w-black\\)\\/70\\] {
3185
+ background-color: rgba(var(--w-rgb-black), .7)
3186
+ }
3187
+
3188
+ .bg-\\[--w-color-badge-info-background\\] {
3189
+ background-color: var(--w-color-badge-info-background)
3190
+ }
3191
+
3192
+ .bg-\\[--w-color-badge-negative-background\\] {
3193
+ background-color: var(--w-color-badge-negative-background)
3194
+ }
3195
+
3196
+ .bg-\\[--w-color-badge-neutral-background\\] {
3197
+ background-color: var(--w-color-badge-neutral-background)
3198
+ }
3199
+
3200
+ .bg-\\[--w-color-badge-positive-background\\] {
3201
+ background-color: var(--w-color-badge-positive-background)
3202
+ }
3203
+
3204
+ .bg-\\[--w-color-badge-sponsored-background\\] {
3205
+ background-color: var(--w-color-badge-sponsored-background)
3206
+ }
3207
+
3208
+ .bg-\\[--w-color-badge-warning-background\\] {
3209
+ background-color: var(--w-color-badge-warning-background)
3210
+ }
3211
+
3212
+ .bg-\\[--w-color-button-primary-background\\] {
3213
+ background-color: var(--w-color-button-primary-background)
3214
+ }
3215
+
3216
+ .bg-\\[--w-color-buttongroup-utility-background-selected\\] {
3217
+ background-color: var(--w-color-buttongroup-utility-background-selected)
3218
+ }
3219
+
3220
+ .bg-\\[--w-color-callout-background\\] {
3221
+ background-color: var(--w-color-callout-background)
3222
+ }
3223
+
3224
+ .bg-\\[--w-color-pill-suggestion-background\\] {
3225
+ background-color: var(--w-color-pill-suggestion-background)
3226
+ }
3227
+
3228
+ .bg-\\[--w-color-switch-track-background\\] {
3229
+ background-color: var(--w-color-switch-track-background)
3230
+ }
3231
+
3232
+ .bg-\\[--w-s-color-surface-elevated-100\\] {
3233
+ background-color: var(--w-s-color-surface-elevated-100)
3234
+ }
3235
+
3236
+ .bg-\\[--w-s-color-surface-elevated-300\\] {
3237
+ background-color: var(--w-s-color-surface-elevated-300)
3238
+ }
3239
+
3240
+ .bg-\\[--w-s-icon-selected\\] {
3241
+ background-color: var(--w-s-icon-selected)
3242
+ }
3243
+
3244
+ .group:hover .group-hover\\:bg-\\[--w-color-switch-track-background-hover\\] {
3245
+ background-color: var(--w-color-switch-track-background-hover)
3246
+ }
3247
+
3248
+ .hover\\:bg-\\[--w-color-button-pill-background-hover\\]:hover {
3249
+ background-color: var(--w-color-button-pill-background-hover)
3250
+ }
3251
+
3252
+ .hover\\:bg-\\[--w-color-button-primary-background-hover\\]:hover {
3253
+ background-color: var(--w-color-button-primary-background-hover)
3254
+ }
3255
+
3256
+ .hover\\:bg-\\[--w-color-buttongroup-utility-background-hover\\]:hover {
3257
+ background-color: var(--w-color-buttongroup-utility-background-hover)
3258
+ }
3259
+
3260
+ .hover\\:bg-\\[--w-color-pill-suggestion-background-hover\\]:hover {
3261
+ background-color: var(--w-color-pill-suggestion-background-hover)
3262
+ }
3263
+
3264
+ .hover\\:bg-\\[--w-s-icon-subtle\\]:hover {
3265
+ background-color: var(--w-s-icon-subtle)
3266
+ }
3267
+
3268
+ .hover\\:bg-\\[var\\(--w-black\\)\\/85\\]:hover {
3269
+ background-color: rgba(var(--w-rgb-black), .85)
3270
+ }
3271
+
3272
+ .active\\:bg-\\[--w-color-button-pill-background-active\\]:active {
3273
+ background-color: var(--w-color-button-pill-background-active)
3274
+ }
3275
+
3276
+ .active\\:bg-\\[--w-color-button-primary-background-active\\]:active {
3277
+ background-color: var(--w-color-button-primary-background-active)
3278
+ }
3279
+
3280
+ .active\\:bg-\\[--w-color-buttongroup-utility-background-selected\\]:active {
3281
+ background-color: var(--w-color-buttongroup-utility-background-selected)
3282
+ }
3283
+
3284
+ .active\\:bg-\\[--w-color-pill-suggestion-background-active\\]:active {
3285
+ background-color: var(--w-color-pill-suggestion-background-active)
3286
+ }
3287
+
3288
+ .active\\:bg-\\[var\\(--w-black\\)\\]:active {
3289
+ background-color: var(--w-black)
3290
+ }
3291
+
3292
+ .peer:checked ~ .peer-checked\\:before\\:bg-\\[url\\(var\\(--w-icon-toggle-checked\\)\\)\\]:before {
3293
+ background-image: var(--w-icon-toggle-checked)
3294
+ }
3295
+
3296
+ .appearance-none {
3297
+ -moz-appearance: none;
3298
+ appearance: none;
3299
+ -webkit-appearance: none
3300
+ }
3301
+
3302
+ .will-change-height {
3303
+ will-change: height
3304
+ }
3305
+
3306
+ .border, .border-1 {
3307
+ border-width: 1px
3308
+ }
3309
+
3310
+ .border-b {
3311
+ border-bottom-width: 1px
3312
+ }
3313
+
3314
+ .before\\:border:before {
3315
+ border-width: 1px
3316
+ }
3317
+
3318
+ .border-0 {
3319
+ border-width: 0
3320
+ }
3321
+
3322
+ .border-2 {
3323
+ border-width: 2px
3324
+ }
3325
+
3326
+ .border-b-0 {
3327
+ border-bottom-width: 0
3328
+ }
3329
+
3330
+ .border-b-4 {
3331
+ border-bottom-width: 4px
3332
+ }
3333
+
3334
+ .border-l-4 {
3335
+ border-left-width: 4px
3336
+ }
3337
+
3338
+ .border-r-0, .group:not(:last-of-type) .group-not-last-of-type\\:border-r-0 {
3339
+ border-right-width: 0
3340
+ }
3341
+
3342
+ .peer:checked ~ .peer-checked\\:before\\:border-\\[6\\]:before {
3343
+ border-width: .6rem
3344
+ }
3345
+
3346
+ .border-transparent {
3347
+ border-color: transparent
3348
+ }
3349
+
3350
+ .border-\\[--w-color-buttongroup-utility-border\\] {
3351
+ border-color: var(--w-color-buttongroup-utility-border)
3352
+ }
3353
+
3354
+ .border-\\[--w-color-callout-border\\] {
3355
+ border-color: var(--w-color-callout-border)
3356
+ }
3357
+
3358
+ .border-\\[--w-s-color-background-inverted\\] {
3359
+ border-color: var(--w-s-color-background-inverted)
3360
+ }
3361
+
3362
+ .border-\\[--w-s-color-surface-elevated-300\\] {
3363
+ border-color: var(--w-s-color-surface-elevated-300)
3364
+ }
3365
+
3366
+ .active\\:border-\\[--w-color-buttongroup-utility-border-selected\\]:active {
3367
+ border-color: var(--w-color-buttongroup-utility-border-selected)
3368
+ }
3369
+
3370
+ .divide-x > * + * {
3371
+ --w-divide-x-reverse: 0;
3372
+ border-left-width: calc(1px * calc(1 - var(--w-divide-x-reverse)));
3373
+ border-right-width: calc(1px * var(--w-divide-x-reverse))
3374
+ }
3375
+
3376
+ .divide-y > * + * {
3377
+ --w-divide-y-reverse: 0;
3378
+ border-top-width: calc(1px * calc(1 - var(--w-divide-y-reverse)));
3379
+ border-bottom-width: calc(1px * var(--w-divide-y-reverse))
3380
+ }
3381
+
3382
+ .rounded-4 {
3383
+ border-radius: 4px
3384
+ }
3385
+
3386
+ .rounded-8 {
3387
+ border-radius: 8px
3388
+ }
3389
+
3390
+ .rounded-full {
3391
+ border-radius: 9999px
3392
+ }
3393
+
3394
+ .before\\:rounded-2:before {
3395
+ border-radius: 2px
3396
+ }
3397
+
3398
+ .before\\:rounded-full:before {
3399
+ border-radius: 9999px
3400
+ }
3401
+
3402
+ .rounded-b-0 {
3403
+ border-bottom-left-radius: 0;
3404
+ border-bottom-right-radius: 0
3405
+ }
3406
+
3407
+ .rounded-bl-0 {
3408
+ border-bottom-left-radius: 0
3409
+ }
3410
+
3411
+ .rounded-br-0 {
3412
+ border-bottom-right-radius: 0
3413
+ }
3414
+
3415
+ .rounded-l-0 {
3416
+ border-top-left-radius: 0;
3417
+ border-bottom-left-radius: 0
3418
+ }
3419
+
3420
+ .rounded-l-full {
3421
+ border-top-left-radius: 9999px;
3422
+ border-bottom-left-radius: 9999px
3423
+ }
3424
+
3425
+ .rounded-r-0 {
3426
+ border-top-right-radius: 0;
3427
+ border-bottom-right-radius: 0
3428
+ }
3429
+
3430
+ .rounded-r-full {
3431
+ border-top-right-radius: 9999px;
3432
+ border-bottom-right-radius: 9999px
3433
+ }
3434
+
3435
+ .rounded-tl-0 {
3436
+ border-top-left-radius: 0
3437
+ }
3438
+
3439
+ .rounded-tl-4 {
3440
+ border-top-left-radius: 4px
3441
+ }
3442
+
3443
+ .rounded-tr-0 {
3444
+ border-top-right-radius: 0
3445
+ }
3446
+
3447
+ .group:first-of-type .group-first-of-type\\:rounded-bl-8 {
3448
+ border-bottom-left-radius: 8px
3449
+ }
3450
+
3451
+ .group:first-of-type .group-first-of-type\\:rounded-tl-8 {
3452
+ border-top-left-radius: 8px
3453
+ }
3454
+
3455
+ .first\\:rounded-lb-4:first-child {
3456
+ border-bottom-left-radius: 4px
3457
+ }
3458
+
3459
+ .first\\:rounded-lt-4:first-child {
3460
+ border-top-left-radius: 4px
3461
+ }
3462
+
3463
+ .first\\:rounded-rt-4:first-child {
3464
+ border-top-right-radius: 4px
3465
+ }
3466
+
3467
+ .group:last-of-type .group-last-of-type\\:rounded-br-8 {
3468
+ border-bottom-right-radius: 8px
3469
+ }
3470
+
3471
+ .group:last-of-type .group-last-of-type\\:rounded-tr-8 {
3472
+ border-top-right-radius: 8px
3473
+ }
3474
+
3475
+ .last\\:rounded-lb-4:last-child {
3476
+ border-bottom-left-radius: 4px
3477
+ }
3478
+
3479
+ .last\\:rounded-rb-4:last-child {
3480
+ border-bottom-right-radius: 4px
3481
+ }
3482
+
3483
+ .last\\:rounded-rt-4:last-child {
3484
+ border-top-right-radius: 4px
3485
+ }
3486
+
3487
+ .caret-current {
3488
+ caret-color: currentColor
3489
+ }
3490
+
3491
+ .opacity-25 {
3492
+ opacity: 25%
3493
+ }
3494
+
3495
+ .block {
3496
+ display: block
3497
+ }
3498
+
3499
+ .before\\:block:before {
3500
+ display: block
3501
+ }
3502
+
3503
+ .inline-block {
3504
+ display: inline-block
3505
+ }
3506
+
3507
+ .inline {
3508
+ display: inline
3509
+ }
3510
+
3511
+ .flex, .open\\:flex[open] {
3512
+ display: flex
3513
+ }
3514
+
3515
+ .inline-flex {
3516
+ display: inline-flex
3517
+ }
3518
+
3519
+ .grid {
3520
+ display: grid
3521
+ }
3522
+
3523
+ .inline-grid {
3524
+ display: inline-grid
3525
+ }
3526
+
3527
+ .hidden, .group\\/stepv:last-child .group-last\\/stepv\\:hidden {
3528
+ display: none
3529
+ }
3530
+
3531
+ .before\\:hidden:before {
3532
+ display: none
3533
+ }
3534
+
3535
+ .hover\\:underline:hover {
3536
+ text-decoration-line: underline
3537
+ }
3538
+
3539
+ .focus\\:underline:focus {
3540
+ text-decoration-line: underline
3541
+ }
3542
+
3543
+ .focus-visible\\:underline:focus-visible {
3544
+ text-decoration-line: underline
3545
+ }
3546
+
3547
+ .active\\:underline:active {
3548
+ text-decoration-line: underline
3549
+ }
3550
+
3551
+ .hover\\:no-underline:hover {
3552
+ text-decoration: none
3553
+ }
3554
+
3555
+ .focus\\:no-underline:focus {
3556
+ text-decoration: none
3557
+ }
3558
+
3559
+ .active\\:no-underline:active {
3560
+ text-decoration: none
3561
+ }
3562
+
3563
+ .flex-1 {
3564
+ flex: 1 1 0%
3565
+ }
3566
+
3567
+ .shrink {
3568
+ flex-shrink: 1
3569
+ }
3570
+
3571
+ .shrink-0 {
3572
+ flex-shrink: 0
3573
+ }
3574
+
3575
+ .shrink-0\\! {
3576
+ flex-shrink: 0 !important
3577
+ }
3578
+
3579
+ .grow, .grow-1 {
3580
+ flex-grow: 1
3581
+ }
3582
+
3583
+ .basis-auto {
3584
+ flex-basis: auto
3585
+ }
3586
+
3587
+ .flex-col {
3588
+ flex-direction: column
3589
+ }
3590
+
3591
+ .focus-within\\:focusable:focus-within {
3592
+ outline: 2px solid var(--w-s-color-border-focus);
3593
+ outline-offset: var(--w-outline-offset, 1px)
3594
+ }
3595
+
3596
+ .focusable:focus, .focusable:focus-visible {
3597
+ outline: 2px solid var(--w-s-color-border-focus);
3598
+ outline-offset: var(--w-outline-offset, 1px)
3599
+ }
3600
+
3601
+ .focusable:not(:focus-visible) {
3602
+ outline: none
3603
+ }
3604
+
3605
+ .peer:focus ~ .peer-focus\\:focusable, .peer:focus-visible ~ .peer-focus\\:focusable {
3606
+ outline: 2px solid var(--w-s-color-border-focus);
3607
+ outline-offset: var(--w-outline-offset, 1px)
3608
+ }
3609
+
3610
+ .peer:not(:focus-visible) ~ .peer-focus\\:focusable {
3611
+ outline: none
3612
+ }
3613
+
3614
+ .focusable-inset {
3615
+ --w-outline-offset: -3px
3616
+ }
3617
+
3618
+ .gap-12 {
3619
+ gap: 1.2rem
3620
+ }
3621
+
3622
+ .gap-8 {
3623
+ gap: .8rem
3624
+ }
3625
+
3626
+ .gap-x-16 {
3627
+ column-gap: 1.6rem
3628
+ }
3629
+
3630
+ .gap-y-16 {
3631
+ row-gap: 1.6rem
3632
+ }
3633
+
3634
+ .row-span-2 {
3635
+ grid-row: span 2/span 2
3636
+ }
3637
+
3638
+ .col-span-2 {
3639
+ grid-column: span 2/span 2
3640
+ }
3641
+
3642
+ .col-span-3 {
3643
+ grid-column: span 3/span 3
3644
+ }
3645
+
3646
+ .row-start-1 {
3647
+ grid-row-start: 1
3648
+ }
3649
+
3650
+ .row-start-2 {
3651
+ grid-row-start: 2
3652
+ }
3653
+
3654
+ .col-start-2 {
3655
+ grid-column-start: 2
3656
+ }
3657
+
3658
+ .auto-rows-auto {
3659
+ grid-auto-rows: auto
3660
+ }
3661
+
3662
+ .grid-flow-col {
3663
+ grid-auto-flow: column
3664
+ }
3665
+
3666
+ .grid-rows-\\[20px_auto\\] {
3667
+ grid-template-rows:20px auto
3668
+ }
3669
+
3670
+ .grid-rows-\\[auto_20px\\] {
3671
+ grid-template-rows:auto 20px
3672
+ }
3673
+
3674
+ .grid-cols-\\[1fr_20px_1fr\\] {
3675
+ grid-template-columns:1fr 20px 1fr
3676
+ }
3677
+
3678
+ .grid-cols-\\[1fr_20px\\] {
3679
+ grid-template-columns:1fr 20px
3680
+ }
3681
+
3682
+ .grid-cols-\\[20px_1fr\\] {
3683
+ grid-template-columns:20px 1fr
3684
+ }
3685
+
3686
+ .grid-cols-\\[auto_1fr_auto\\] {
3687
+ grid-template-columns:auto 1fr auto
3688
+ }
3689
+
3690
+ .grid-cols-1 {
3691
+ grid-template-columns:repeat(1, minmax(0, 1fr))
3692
+ }
3693
+
3694
+ .grid-cols-2 {
3695
+ grid-template-columns:repeat(2, minmax(0, 1fr))
3696
+ }
3697
+
3698
+ .grid-cols-3 {
3699
+ grid-template-columns:repeat(3, minmax(0, 1fr))
3700
+ }
3701
+
3702
+ .grid-cols-4 {
3703
+ grid-template-columns:repeat(4, minmax(0, 1fr))
3704
+ }
3705
+
3706
+ .grid-cols-5 {
3707
+ grid-template-columns:repeat(5, minmax(0, 1fr))
3708
+ }
3709
+
3710
+ .grid-cols-6 {
3711
+ grid-template-columns:repeat(6, minmax(0, 1fr))
3712
+ }
3713
+
3714
+ .grid-cols-7 {
3715
+ grid-template-columns:repeat(7, minmax(0, 1fr))
3716
+ }
3717
+
3718
+ .grid-cols-8 {
3719
+ grid-template-columns:repeat(8, minmax(0, 1fr))
3720
+ }
3721
+
3722
+ .grid-cols-9 {
3723
+ grid-template-columns:repeat(9, minmax(0, 1fr))
3724
+ }
3725
+
3726
+ .overflow-hidden {
3727
+ overflow: hidden
3728
+ }
3729
+
3730
+ .overflow-x-hidden {
3731
+ overflow-x: hidden
3732
+ }
3733
+
3734
+ .overflow-y-auto {
3735
+ overflow-y: auto
3736
+ }
3737
+
3738
+ .list-none {
3739
+ list-style-type: none
3740
+ }
3741
+
3742
+ .outline-\\[--w-s-color-border-negative\\]\\! {
3743
+ outline-color: var(--w-s-color-border-negative) !important
3744
+ }
3745
+
3746
+ .outline-none {
3747
+ outline: 2px solid transparent;
3748
+ outline-offset: 2px
3749
+ }
3750
+
3751
+ .focus\\:outline-none:focus {
3752
+ outline: 2px solid transparent;
3753
+ outline-offset: 2px
3754
+ }
3755
+
3756
+ .items-start {
3757
+ align-items: flex-start
3758
+ }
3759
+
3760
+ .items-end {
3761
+ align-items: flex-end
3762
+ }
3763
+
3764
+ .items-center {
3765
+ align-items: center
3766
+ }
3767
+
3768
+ .self-center {
3769
+ align-self: center
3770
+ }
3771
+
3772
+ .inset-0 {
3773
+ top: 0rem;
3774
+ right: 0rem;
3775
+ bottom: 0rem;
3776
+ left: 0rem
3777
+ }
3778
+
3779
+ .-bottom-0 {
3780
+ bottom: -0rem
3781
+ }
3782
+
3783
+ .bottom-0 {
3784
+ bottom: 0rem
3785
+ }
3786
+
3787
+ .bottom-10 {
3788
+ bottom: 1rem
3789
+ }
3790
+
3791
+ .bottom-16 {
3792
+ bottom: 1.6rem
3793
+ }
3794
+
3795
+ .left-0 {
3796
+ left: 0rem
3797
+ }
3798
+
3799
+ .left-4 {
3800
+ left: .4rem
3801
+ }
3802
+
3803
+ .right-0 {
3804
+ right: 0rem
3805
+ }
3806
+
3807
+ .right-8 {
3808
+ right: .8rem
3809
+ }
3810
+
3811
+ .top-\\[1\\.92rem\\] {
3812
+ top: 1.92rem
3813
+ }
3814
+
3815
+ .top-0 {
3816
+ top: 0rem
3817
+ }
3818
+
3819
+ .top-20 {
3820
+ top: 2rem
3821
+ }
3822
+
3823
+ .top-4 {
3824
+ top: .4rem
3825
+ }
3826
+
3827
+ .top-8 {
3828
+ top: .8rem
3829
+ }
3830
+
3831
+ .before\\:bottom-0:before {
3832
+ bottom: 0rem
3833
+ }
3834
+
3835
+ .before\\:left-0:before {
3836
+ left: 0rem
3837
+ }
3838
+
3839
+ .before\\:right-0:before {
3840
+ right: 0rem
3841
+ }
3842
+
3843
+ .before\\:top-2:before {
3844
+ top: .2rem
3845
+ }
3846
+
3847
+ .-bottom-\\[8px\\] {
3848
+ bottom: -8px
3849
+ }
3850
+
3851
+ .-left-\\[8px\\] {
3852
+ left: -8px
3853
+ }
3854
+
3855
+ .-right-\\[8px\\] {
3856
+ right: -8px
3857
+ }
3858
+
3859
+ .-top-\\[8px\\] {
3860
+ top: -8px
3861
+ }
3862
+
3863
+ .top-\\[19px\\] {
3864
+ top: 19px
3865
+ }
3866
+
3867
+ .top-\\[30\\%\\] {
3868
+ top: 30%
3869
+ }
3870
+
3871
+ .justify-end {
3872
+ justify-content: flex-end
3873
+ }
3874
+
3875
+ .justify-center {
3876
+ justify-content: center
3877
+ }
3878
+
3879
+ .justify-between {
3880
+ justify-content: space-between
3881
+ }
3882
+
3883
+ .justify-items-center {
3884
+ justify-items: center
3885
+ }
3886
+
3887
+ .justify-self-start {
3888
+ justify-self: start
3889
+ }
3890
+
3891
+ .justify-self-end {
3892
+ justify-self: end
3893
+ }
3894
+
3895
+ .justify-self-center {
3896
+ justify-self: center
3897
+ }
3898
+
3899
+ .absolute {
3900
+ position: absolute
3901
+ }
3902
+
3903
+ .fixed {
3904
+ position: fixed
3905
+ }
3906
+
3907
+ .relative {
3908
+ position: relative
3909
+ }
3910
+
3911
+ .open\\:fixed[open] {
3912
+ position: fixed
3913
+ }
3914
+
3915
+ .before\\:absolute:before {
3916
+ position: absolute
3917
+ }
3918
+
3919
+ .z-10, .peer:checked ~ .peer-checked\\:z-10 {
3920
+ z-index: 10
3921
+ }
3922
+
3923
+ .z-30 {
3924
+ z-index: 30
3925
+ }
3926
+
3927
+ .z-50 {
3928
+ z-index: 50
3929
+ }
3930
+
3931
+ .hover\\:z-30:hover {
3932
+ z-index: 30
3933
+ }
3934
+
3935
+ .\\!s-bg-selected {
3936
+ background-color: var(--w-s-color-background-selected) !important
3937
+ }
3938
+
3939
+ .s-bg {
3940
+ background-color: var(--w-s-color-background)
3941
+ }
3942
+
3943
+ .s-bg-disabled {
3944
+ background-color: var(--w-s-color-background-disabled)
3945
+ }
3946
+
3947
+ .s-bg-disabled-subtle {
3948
+ background-color: var(--w-s-color-background-disabled-subtle)
3949
+ }
3950
+
3951
+ .s-bg-info-subtle {
3952
+ background-color: var(--w-s-color-background-info-subtle)
3953
+ }
3954
+
3955
+ .s-bg-inverted {
3956
+ background-color: var(--w-s-color-background-inverted)
3957
+ }
3958
+
3959
+ .s-bg-negative {
3960
+ background-color: var(--w-s-color-background-negative)
3961
+ }
3962
+
3963
+ .s-bg-negative-subtle {
3964
+ background-color: var(--w-s-color-background-negative-subtle)
3965
+ }
3966
+
3967
+ .s-bg-positive-subtle {
3968
+ background-color: var(--w-s-color-background-positive-subtle)
3969
+ }
3970
+
3971
+ .s-bg-primary, .peer:checked ~ .peer-checked\\:s-bg-primary {
3972
+ background-color: var(--w-s-color-background-primary)
3973
+ }
3974
+
3975
+ .s-bg-selected {
3976
+ background-color: var(--w-s-color-background-selected)
3977
+ }
3978
+
3979
+ .s-bg-subtle {
3980
+ background-color: var(--w-s-color-background-subtle)
3981
+ }
3982
+
3983
+ .s-bg-warning-subtle {
3984
+ background-color: var(--w-s-color-background-warning-subtle)
3985
+ }
3986
+
3987
+ .peer:checked:hover ~ .peer-checked\\:peer-hover\\:before\\:s-bg-negative-hover:before {
3988
+ background-color: var(--w-s-color-background-negative-hover)
3989
+ }
3990
+
3991
+ .peer:checked:hover ~ .peer-checked\\:peer-hover\\:before\\:s-bg-primary-hover:before {
3992
+ background-color: var(--w-s-color-background-primary-hover)
3993
+ }
3994
+
3995
+ .peer:checked ~ .peer-checked\\:before\\:s-bg-disabled:before {
3996
+ background-color: var(--w-s-color-background-disabled)
3997
+ }
3998
+
3999
+ .peer:checked ~ .peer-checked\\:before\\:s-bg-negative:before {
4000
+ background-color: var(--w-s-color-background-negative)
4001
+ }
4002
+
4003
+ .peer:checked ~ .peer-checked\\:before\\:s-bg-primary:before {
4004
+ background-color: var(--w-s-color-background-primary)
4005
+ }
4006
+
4007
+ .peer:indeterminate ~ .peer-indeterminate\\:before\\:s-bg-disabled:before {
4008
+ background-color: var(--w-s-color-background-disabled)
4009
+ }
4010
+
4011
+ .peer:indeterminate ~ .peer-indeterminate\\:before\\:s-bg-negative:before {
4012
+ background-color: var(--w-s-color-background-negative)
4013
+ }
4014
+
4015
+ .peer:indeterminate ~ .peer-indeterminate\\:before\\:s-bg-primary:before {
4016
+ background-color: var(--w-s-color-background-primary)
4017
+ }
4018
+
4019
+ .peer:indeterminate ~ .peer-indeterminate\\:hover\\:before\\:s-bg-negative-hover:hover:before {
4020
+ background-color: var(--w-s-color-background-negative-hover)
4021
+ }
4022
+
4023
+ .peer:indeterminate ~ .peer-indeterminate\\:hover\\:before\\:s-bg-primary-hover:hover:before {
4024
+ background-color: var(--w-s-color-background-primary-hover)
4025
+ }
4026
+
4027
+ .\\!hover\\:s-bg-selected-hover:hover {
4028
+ background-color: var(--w-s-color-background-selected-hover) !important
4029
+ }
4030
+
4031
+ .group:hover .group-hover\\:s-bg-primary-hover {
4032
+ background-color: var(--w-s-color-background-primary-hover)
4033
+ }
4034
+
4035
+ .hover\\:before\\:s-bg-hover:hover:before {
4036
+ background-color: var(--w-s-color-background-hover)
4037
+ }
4038
+
4039
+ .hover\\:before\\:s-bg-negative-subtle-hover:hover:before {
4040
+ background-color: var(--w-s-color-background-negative-subtle-hover)
4041
+ }
4042
+
4043
+ .hover\\:s-bg-hover:hover {
4044
+ background-color: var(--w-s-color-background-hover)
4045
+ }
4046
+
4047
+ .hover\\:s-bg-negative-hover:hover {
4048
+ background-color: var(--w-s-color-background-negative-hover)
4049
+ }
4050
+
4051
+ .hover\\:s-bg-negative-subtle-hover:hover {
4052
+ background-color: var(--w-s-color-background-negative-subtle-hover)
4053
+ }
4054
+
4055
+ .hover\\:s-bg-primary-hover:hover {
4056
+ background-color: var(--w-s-color-background-primary-hover)
4057
+ }
4058
+
4059
+ .hover\\:s-bg-selected-hover:hover {
4060
+ background-color: var(--w-s-color-background-selected-hover)
4061
+ }
4062
+
4063
+ .peer:hover:not(:checked) ~ .peer-hover\\:peer-not-checked\\:s-bg-hover {
4064
+ background-color: var(--w-s-color-background-hover)
4065
+ }
4066
+
4067
+ .peer:hover ~ .peer-hover\\:before\\:s-bg-hover:before {
4068
+ background-color: var(--w-s-color-background-hover)
4069
+ }
4070
+
4071
+ .peer:hover ~ .peer-hover\\:before\\:s-bg-negative-subtle:before {
4072
+ background-color: var(--w-s-color-background-negative-subtle)
4073
+ }
4074
+
4075
+ .focus\\:s-bg-primary-hover:focus {
4076
+ background-color: var(--w-s-color-background-primary-hover)
4077
+ }
4078
+
4079
+ .\\!active\\:s-bg-selected-active:active {
4080
+ background-color: var(--w-s-color-background-selected-active) !important
4081
+ }
4082
+
4083
+ .active\\:s-bg-active:active {
4084
+ background-color: var(--w-s-color-background-active)
4085
+ }
4086
+
4087
+ .active\\:s-bg-negative-active:active {
4088
+ background-color: var(--w-s-color-background-negative-active)
4089
+ }
4090
+
4091
+ .active\\:s-bg-negative-subtle-active:active {
4092
+ background-color: var(--w-s-color-background-negative-subtle-active)
4093
+ }
4094
+
4095
+ .active\\:s-bg-primary-active:active {
4096
+ background-color: var(--w-s-color-background-primary-active)
4097
+ }
4098
+
4099
+ .active\\:s-bg-selected-active:active {
4100
+ background-color: var(--w-s-color-background-selected-active)
4101
+ }
4102
+
4103
+ .before\\:s-bg-disabled-subtle:before {
4104
+ background-color: var(--w-s-color-background-disabled-subtle)
4105
+ }
4106
+
4107
+ .before\\:s-bg:before {
4108
+ background-color: var(--w-s-color-background)
4109
+ }
4110
+
4111
+ .s-text {
4112
+ color: var(--w-s-color-text)
4113
+ }
4114
+
4115
+ .s-text-disabled {
4116
+ color: var(--w-s-color-text-disabled)
4117
+ }
4118
+
4119
+ .s-text-inverted, .peer:checked ~ .peer-checked\\:s-text-inverted {
4120
+ color: var(--w-s-color-text-inverted)
4121
+ }
4122
+
4123
+ .s-text-inverted-static {
4124
+ color: var(--w-s-color-text-inverted-static)
4125
+ }
4126
+
4127
+ .s-text-link {
4128
+ color: var(--w-s-color-text-link)
4129
+ }
4130
+
4131
+ .s-text-negative {
4132
+ color: var(--w-s-color-text-negative)
4133
+ }
4134
+
4135
+ .s-text-subtle {
4136
+ color: var(--w-s-color-text-subtle)
4137
+ }
4138
+
4139
+ .hover\\:s-text-link:hover {
4140
+ color: var(--w-s-color-text-link)
4141
+ }
4142
+
4143
+ .active\\:s-text:active {
4144
+ color: var(--w-s-color-text)
4145
+ }
4146
+
4147
+ .placeholder\\:s-text-placeholder::placeholder {
4148
+ color: var(--w-s-color-text-placeholder)
4149
+ }
4150
+
4151
+ .s-icon {
4152
+ color: var(--w-s-color-icon)
4153
+ }
4154
+
4155
+ .s-icon-info {
4156
+ color: var(--w-s-color-icon-info)
4157
+ }
4158
+
4159
+ .s-icon-inverted {
4160
+ color: var(--w-s-color-icon-inverted)
4161
+ }
4162
+
4163
+ .s-icon-negative {
4164
+ color: var(--w-s-color-icon-negative)
4165
+ }
4166
+
4167
+ .s-icon-positive {
4168
+ color: var(--w-s-color-icon-positive)
4169
+ }
4170
+
4171
+ .s-icon-warning {
4172
+ color: var(--w-s-color-icon-warning)
4173
+ }
4174
+
4175
+ .hover\\:s-icon-hover:hover {
4176
+ color: var(--w-s-color-icon-hover)
4177
+ }
4178
+
4179
+ .active\\:s-icon-active:active {
4180
+ color: var(--w-s-color-icon-active)
4181
+ }
4182
+
4183
+ .before\\:s-icon-inverted:before {
4184
+ color: var(--w-s-color-icon-inverted)
4185
+ }
4186
+
4187
+ .s-border {
4188
+ border-color: var(--w-s-color-border)
4189
+ }
4190
+
4191
+ .s-border-disabled {
4192
+ border-color: var(--w-s-color-border-disabled)
4193
+ }
4194
+
4195
+ .s-border-info-subtle {
4196
+ border-color: var(--w-s-color-border-info-subtle)
4197
+ }
4198
+
4199
+ .s-border-l-info {
4200
+ border-left-color: var(--w-s-color-border-info)
4201
+ }
4202
+
4203
+ .s-border-l-negative {
4204
+ border-left-color: var(--w-s-color-border-negative)
4205
+ }
4206
+
4207
+ .s-border-l-positive {
4208
+ border-left-color: var(--w-s-color-border-positive)
4209
+ }
4210
+
4211
+ .s-border-l-warning {
4212
+ border-left-color: var(--w-s-color-border-warning)
4213
+ }
4214
+
4215
+ .s-border-negative {
4216
+ border-color: var(--w-s-color-border-negative)
4217
+ }
4218
+
4219
+ .s-border-negative-subtle {
4220
+ border-color: var(--w-s-color-border-negative-subtle)
4221
+ }
4222
+
4223
+ .s-border-positive-subtle {
4224
+ border-color: var(--w-s-color-border-positive-subtle)
4225
+ }
4226
+
4227
+ .s-border-primary, .peer:checked ~ .peer-checked\\:s-border-primary {
4228
+ border-color: var(--w-s-color-border-primary)
4229
+ }
4230
+
4231
+ .s-border-selected {
4232
+ border-color: var(--w-s-color-border-selected)
4233
+ }
4234
+
4235
+ .s-border-warning-subtle {
4236
+ border-color: var(--w-s-color-border-warning-subtle)
4237
+ }
4238
+
4239
+ .peer:checked:hover ~ .peer-checked\\:peer-hover\\:before\\:s-border-negative-hover:before {
4240
+ border-color: var(--w-s-color-border-negative-hover)
4241
+ }
4242
+
4243
+ .peer:checked:hover ~ .peer-checked\\:peer-hover\\:before\\:s-border-primary-hover:before {
4244
+ border-color: var(--w-s-color-border-primary-hover)
4245
+ }
4246
+
4247
+ .peer:checked:hover ~ .peer-checked\\:peer-hover\\:before\\:s-border-selected-hover:before {
4248
+ border-color: var(--w-s-color-border-selected-hover)
4249
+ }
4250
+
4251
+ .peer:checked ~ .peer-checked\\:before\\:s-border-disabled:before {
4252
+ border-color: var(--w-s-color-border-disabled)
4253
+ }
4254
+
4255
+ .peer:checked ~ .peer-checked\\:before\\:s-border-negative:before {
4256
+ border-color: var(--w-s-color-border-negative)
4257
+ }
4258
+
4259
+ .peer:checked ~ .peer-checked\\:before\\:s-border-primary:before {
4260
+ border-color: var(--w-s-color-border-primary)
4261
+ }
4262
+
4263
+ .peer:checked ~ .peer-checked\\:before\\:s-border-selected:before {
4264
+ border-color: var(--w-s-color-border-selected)
4265
+ }
4266
+
4267
+ .peer:indeterminate ~ .peer-indeterminate\\:before\\:s-border-disabled:before {
4268
+ border-color: var(--w-s-color-border-disabled)
4269
+ }
4270
+
4271
+ .peer:indeterminate ~ .peer-indeterminate\\:before\\:s-border-negative:before {
4272
+ border-color: var(--w-s-color-border-negative)
4273
+ }
4274
+
4275
+ .peer:indeterminate ~ .peer-indeterminate\\:before\\:s-border-primary:before {
4276
+ border-color: var(--w-s-color-border-primary)
4277
+ }
4278
+
4279
+ .peer:indeterminate ~ .peer-indeterminate\\:hover\\:before\\:s-border-negative-hover:hover:before {
4280
+ border-color: var(--w-s-color-border-negative-hover)
4281
+ }
4282
+
4283
+ .peer:indeterminate ~ .peer-indeterminate\\:hover\\:before\\:s-border-primary-hover:hover:before {
4284
+ border-color: var(--w-s-color-border-primary-hover)
4285
+ }
4286
+
4287
+ .group:hover .group-hover\\:s-border-selected-hover {
4288
+ border-color: var(--w-s-color-border-selected-hover)
4289
+ }
4290
+
4291
+ .hover\\:before\\:s-border-negative-hover:hover:before {
4292
+ border-color: var(--w-s-color-border-negative-hover)
4293
+ }
4294
+
4295
+ .hover\\:before\\:s-border-primary:hover:before {
4296
+ border-color: var(--w-s-color-border-primary)
4297
+ }
4298
+
4299
+ .hover\\:s-border-disabled:hover {
4300
+ border-color: var(--w-s-color-border-disabled)
4301
+ }
4302
+
4303
+ .hover\\:s-border-hover:hover {
4304
+ border-color: var(--w-s-color-border-hover)
4305
+ }
4306
+
4307
+ .hover\\:s-border-negative-hover:hover {
4308
+ border-color: var(--w-s-color-border-negative-hover)
4309
+ }
4310
+
4311
+ .hover\\:s-border-primary-hover:hover {
4312
+ border-color: var(--w-s-color-border-primary-hover)
4313
+ }
4314
+
4315
+ .hover\\:s-border-primary:hover {
4316
+ border-color: var(--w-s-color-border-primary)
4317
+ }
4318
+
4319
+ .hover\\:s-border-selected-hover:hover {
4320
+ border-color: var(--w-s-color-border-selected-hover)
4321
+ }
4322
+
4323
+ .peer:hover ~ .peer-hover\\:before\\:s-border-negative-hover:before {
4324
+ border-color: var(--w-s-color-border-negative-hover)
4325
+ }
4326
+
4327
+ .peer:hover ~ .peer-hover\\:before\\:s-border-primary:before {
4328
+ border-color: var(--w-s-color-border-primary)
4329
+ }
4330
+
4331
+ .focus\\:s-border-primary-hover:focus {
4332
+ border-color: var(--w-s-color-border-primary-hover)
4333
+ }
4334
+
4335
+ .active\\:s-border-active:active {
4336
+ border-color: var(--w-s-color-border-active)
4337
+ }
4338
+
4339
+ .active\\:s-border-disabled:active {
4340
+ border-color: var(--w-s-color-border-disabled)
4341
+ }
4342
+
4343
+ .active\\:s-border-primary-active:active {
4344
+ border-color: var(--w-s-color-border-primary-active)
4345
+ }
4346
+
4347
+ .active\\:s-border-selected-active:active {
4348
+ border-color: var(--w-s-color-border-selected-active)
4349
+ }
4350
+
4351
+ .active\\:s-border-selected:active {
4352
+ border-color: var(--w-s-color-border-selected)
4353
+ }
4354
+
4355
+ .group:active .group-active\\:s-border-active {
4356
+ border-color: var(--w-s-color-border-active)
4357
+ }
4358
+
4359
+ .group:active .group-active\\:s-border-selected-active {
4360
+ border-color: var(--w-s-color-border-selected-active)
4361
+ }
4362
+
4363
+ .before\\:s-border-disabled:before {
4364
+ border-color: var(--w-s-color-border-disabled)
4365
+ }
4366
+
4367
+ .before\\:s-border-negative:before {
4368
+ border-color: var(--w-s-color-border-negative)
4369
+ }
4370
+
4371
+ .s-surface-sunken {
4372
+ background-color: var(--w-s-color-surface-sunken)
4373
+ }
4374
+
4375
+ .s-surface-elevated-200 {
4376
+ background-color: var(--w-s-color-surface-elevated-200);
4377
+ box-shadow: var(--w-s-shadow-surface-elevated-200)
4378
+ }
4379
+
4380
+ .hover\\:s-surface-elevated-200-hover:hover {
4381
+ background-color: var(--w-s-color-surface-elevated-200-hover);
4382
+ box-shadow: var(--w-s-shadow-surface-elevated-200-hover)
4383
+ }
4384
+
4385
+ .active\\:s-surface-elevated-200-active:active {
4386
+ background-color: var(--w-s-color-surface-elevated-200-active);
4387
+ box-shadow: var(--w-s-shadow-surface-elevated-200-active)
4388
+ }
4389
+
4390
+ .drop-shadow-m {
4391
+ filter: drop-shadow(rgba(64, 64, 64, .24) 0 3px 8px) drop-shadow(rgba(64, 64, 64, .16) 0 3px 6px)
4392
+ }
4393
+
4394
+ .shadow-m {
4395
+ box-shadow: var(--w-shadow-m)
4396
+ }
4397
+
4398
+ .shadow-s {
4399
+ box-shadow: var(--w-shadow-s)
4400
+ }
4401
+
4402
+ .shadow-\\[--w-shadow-slider\\] {
4403
+ box-shadow: var(--w-shadow-slider)
4404
+ }
4405
+
4406
+ .hover\\:shadow-\\[--w-shadow-slider-handle-hover\\]:hover {
4407
+ box-shadow: var(--w-shadow-slider-handle-hover)
4408
+ }
4409
+
4410
+ .focus\\:shadow-\\[--w-shadow-slider-handle-hover\\]:focus {
4411
+ box-shadow: var(--w-shadow-slider-handle-hover)
4412
+ }
4413
+
4414
+ .active\\:shadow-\\[--w-shadow-slider-handle-active\\]:active {
4415
+ box-shadow: var(--w-shadow-slider-handle-active)
4416
+ }
4417
+
4418
+ .h-0 {
4419
+ height: 0rem
4420
+ }
4421
+
4422
+ .h-16 {
4423
+ height: 1.6rem
4424
+ }
4425
+
4426
+ .h-2 {
4427
+ height: .2rem
4428
+ }
4429
+
4430
+ .h-20 {
4431
+ height: 2rem
4432
+ }
4433
+
4434
+ .h-24 {
4435
+ height: 2.4rem
4436
+ }
4437
+
4438
+ .h-4 {
4439
+ height: .4rem
4440
+ }
4441
+
4442
+ .h-44 {
4443
+ height: 4.4rem
4444
+ }
4445
+
4446
+ .h-6 {
4447
+ height: .6rem
4448
+ }
4449
+
4450
+ .h-8 {
4451
+ height: .8rem
4452
+ }
4453
+
4454
+ .h-full {
4455
+ height: 100%
4456
+ }
4457
+
4458
+ .h-unset {
4459
+ height: unset
4460
+ }
4461
+
4462
+ .max-h-unset {
4463
+ max-height: unset
4464
+ }
4465
+
4466
+ .max-w-full {
4467
+ max-width: 100%
4468
+ }
4469
+
4470
+ .max-w-max {
4471
+ max-width: max-content
4472
+ }
4473
+
4474
+ .max-w-unset {
4475
+ max-width: unset
4476
+ }
4477
+
4478
+ .min-h-32 {
4479
+ min-height: 3.2rem
4480
+ }
4481
+
4482
+ .min-h-40 {
4483
+ min-height: 4rem
4484
+ }
4485
+
4486
+ .min-w-16 {
4487
+ min-width: 1.6rem
4488
+ }
4489
+
4490
+ .min-w-32 {
4491
+ min-width: 3.2rem
4492
+ }
4493
+
4494
+ .w-16 {
4495
+ width: 1.6rem
4496
+ }
4497
+
4498
+ .w-2 {
4499
+ width: .2rem
4500
+ }
4501
+
4502
+ .w-20 {
4503
+ width: 2rem
4504
+ }
4505
+
4506
+ .w-24 {
4507
+ width: 2.4rem
4508
+ }
4509
+
4510
+ .w-32 {
4511
+ width: 3.2rem
4512
+ }
4513
+
4514
+ .w-40 {
4515
+ width: 4rem
4516
+ }
4517
+
4518
+ .w-44 {
4519
+ width: 4.4rem
4520
+ }
4521
+
4522
+ .w-8 {
4523
+ width: .8rem
4524
+ }
4525
+
4526
+ .w-full {
4527
+ width: 100%
4528
+ }
4529
+
4530
+ .w-max {
4531
+ width: max-content
4532
+ }
4533
+
4534
+ .w-unset {
4535
+ width: unset
4536
+ }
4537
+
4538
+ .before\\:h-20:before {
4539
+ height: 2rem
4540
+ }
4541
+
4542
+ .before\\:h-full:before {
4543
+ height: 100%
4544
+ }
4545
+
4546
+ .before\\:w-20:before {
4547
+ width: 2rem
4548
+ }
4549
+
4550
+ .before\\:w-32:before {
4551
+ width: 3.2rem
4552
+ }
4553
+
4554
+ .h-\\[--w-modal-height\\] {
4555
+ height: var(--w-modal-height)
4556
+ }
4557
+
4558
+ .h-\\[14px\\] {
4559
+ height: 14px
4560
+ }
4561
+
4562
+ .h-\\[16px\\] {
4563
+ height: 16px
4564
+ }
4565
+
4566
+ .max-h-\\[--w-modal-max-height\\] {
4567
+ max-height: var(--w-modal-max-height)
4568
+ }
4569
+
4570
+ .min-h-\\[--w-modal-min-height\\] {
4571
+ min-height: var(--w-modal-min-height)
4572
+ }
4573
+
4574
+ .min-h-\\[32px\\] {
4575
+ min-height: 32px
4576
+ }
4577
+
4578
+ .min-h-\\[40px\\] {
4579
+ min-height: 40px
4580
+ }
4581
+
4582
+ .min-h-\\[42\\] {
4583
+ min-height: 4.2rem
4584
+ }
4585
+
4586
+ .min-h-\\[44px\\] {
4587
+ min-height: 44px
4588
+ }
4589
+
4590
+ .min-w-\\[32px\\] {
4591
+ min-width: 32px
4592
+ }
4593
+
4594
+ .min-w-\\[40px\\] {
4595
+ min-width: 40px
4596
+ }
4597
+
4598
+ .min-w-\\[44px\\] {
4599
+ min-width: 44px
4600
+ }
4601
+
4602
+ .w-\\[--w-modal-width\\] {
4603
+ width: var(--w-modal-width)
4604
+ }
4605
+
4606
+ .w-\\[14px\\] {
4607
+ width: 14px
4608
+ }
4609
+
4610
+ .w-\\[16px\\] {
4611
+ width: 16px
4612
+ }
4613
+
4614
+ .space-x-8 > :not([hidden]) ~ :not([hidden]) {
4615
+ --w-space-x-reverse: 0;
4616
+ margin-left: calc(.8rem * calc(1 - var(--w-space-x-reverse)));
4617
+ margin-right: calc(.8rem * var(--w-space-x-reverse))
4618
+ }
4619
+
4620
+ .space-y-16 > :not([hidden]) ~ :not([hidden]) {
4621
+ --w-space-y-reverse: 0;
4622
+ margin-top: calc(1.6rem * calc(1 - var(--w-space-y-reverse)));
4623
+ margin-bottom: calc(1.6rem * var(--w-space-y-reverse))
4624
+ }
4625
+
4626
+ .m-0 {
4627
+ margin: 0rem
4628
+ }
4629
+
4630
+ .m-auto {
4631
+ margin: auto
4632
+ }
4633
+
4634
+ .-mx-16 {
4635
+ margin-left: -1.6rem;
4636
+ margin-right: -1.6rem
4637
+ }
4638
+
4639
+ .mx-0 {
4640
+ margin-left: 0rem;
4641
+ margin-right: 0rem
4642
+ }
4643
+
4644
+ .mx-8 {
4645
+ margin-left: .8rem;
4646
+ margin-right: .8rem
4647
+ }
4648
+
4649
+ .mx-auto {
4650
+ margin-left: auto;
4651
+ margin-right: auto
4652
+ }
4653
+
4654
+ .-mb-1 {
4655
+ margin-bottom: -.1rem
4656
+ }
4657
+
4658
+ .-ml-8 {
4659
+ margin-left: -.8rem
4660
+ }
4661
+
4662
+ .-mr-1 {
4663
+ margin-right: -.1rem
4664
+ }
4665
+
4666
+ .-mr-8 {
4667
+ margin-right: -.8rem
4668
+ }
4669
+
4670
+ .-mt-2 {
4671
+ margin-top: -.2rem
4672
+ }
4673
+
4674
+ .-mt-4 {
4675
+ margin-top: -.4rem
4676
+ }
4677
+
4678
+ .last-child\\:mb-0 > :last-child, .mb-0 {
4679
+ margin-bottom: 0rem
4680
+ }
4681
+
4682
+ .mb-32 {
4683
+ margin-bottom: 3.2rem
4684
+ }
4685
+
4686
+ .ml-8 {
4687
+ margin-left: .8rem
4688
+ }
4689
+
4690
+ .ml-auto {
4691
+ margin-left: auto
4692
+ }
4693
+
4694
+ .mr-8 {
4695
+ margin-right: .8rem
4696
+ }
4697
+
4698
+ .mt-16 {
4699
+ margin-top: 1.6rem
4700
+ }
4701
+
4702
+ .mt-4 {
4703
+ margin-top: .4rem
4704
+ }
4705
+
4706
+ .group:not(:first-child) .group-not-first\\:-ml-2 {
4707
+ margin-left: -.2rem
4708
+ }
4709
+
4710
+ .last\\:mb-0:last-child {
4711
+ margin-bottom: 0rem
4712
+ }
4713
+
4714
+ .last\\:mr-0:last-child {
4715
+ margin-right: 0rem
4716
+ }
4717
+
4718
+ .m-\\[8px\\] {
4719
+ margin: 8px
4720
+ }
4721
+
4722
+ .p-0 {
4723
+ padding: 0rem
4724
+ }
4725
+
4726
+ .p-16 {
4727
+ padding: 1.6rem
4728
+ }
4729
+
4730
+ .p-4 {
4731
+ padding: .4rem
4732
+ }
4733
+
4734
+ .p-8 {
4735
+ padding: .8rem
4736
+ }
4737
+
4738
+ .px-0 {
4739
+ padding-left: 0rem;
4740
+ padding-right: 0rem
4741
+ }
4742
+
4743
+ .px-1 {
4744
+ padding-left: .1rem;
4745
+ padding-right: .1rem
4746
+ }
4747
+
4748
+ .px-12 {
4749
+ padding-left: 1.2rem;
4750
+ padding-right: 1.2rem
4751
+ }
4752
+
4753
+ .px-14 {
4754
+ padding-left: 1.4rem;
4755
+ padding-right: 1.4rem
4756
+ }
4757
+
4758
+ .px-16 {
4759
+ padding-left: 1.6rem;
4760
+ padding-right: 1.6rem
4761
+ }
4762
+
4763
+ .px-8 {
4764
+ padding-left: .8rem;
4765
+ padding-right: .8rem
4766
+ }
4767
+
4768
+ .py-0 {
4769
+ padding-top: 0rem;
4770
+ padding-bottom: 0rem
4771
+ }
4772
+
4773
+ .py-1 {
4774
+ padding-top: .1rem;
4775
+ padding-bottom: .1rem
4776
+ }
4777
+
4778
+ .py-10 {
4779
+ padding-top: 1rem;
4780
+ padding-bottom: 1rem
4781
+ }
4782
+
4783
+ .py-12 {
4784
+ padding-top: 1.2rem;
4785
+ padding-bottom: 1.2rem
4786
+ }
4787
+
4788
+ .py-2 {
4789
+ padding-top: .2rem;
4790
+ padding-bottom: .2rem
4791
+ }
4792
+
4793
+ .py-4 {
4794
+ padding-top: .4rem;
4795
+ padding-bottom: .4rem
4796
+ }
4797
+
4798
+ .py-6 {
4799
+ padding-top: .6rem;
4800
+ padding-bottom: .6rem
4801
+ }
4802
+
4803
+ .py-8 {
4804
+ padding-top: .8rem;
4805
+ padding-bottom: .8rem
4806
+ }
4807
+
4808
+ .pb-0 {
4809
+ padding-bottom: 0rem
4810
+ }
4811
+
4812
+ .pb-32 {
4813
+ padding-bottom: 3.2rem
4814
+ }
4815
+
4816
+ .pb-4 {
4817
+ padding-bottom: .4rem
4818
+ }
4819
+
4820
+ .pb-8 {
4821
+ padding-bottom: .8rem
4822
+ }
4823
+
4824
+ .pl-0 {
4825
+ padding-left: 0rem
4826
+ }
4827
+
4828
+ .pl-1 {
4829
+ padding-left: .1rem
4830
+ }
4831
+
4832
+ .pl-12 {
4833
+ padding-left: 1.2rem
4834
+ }
4835
+
4836
+ .pl-28 {
4837
+ padding-left: 2.8rem
4838
+ }
4839
+
4840
+ .pl-4 {
4841
+ padding-left: .4rem
4842
+ }
4843
+
4844
+ .pl-8 {
4845
+ padding-left: .8rem
4846
+ }
4847
+
4848
+ .pr-12 {
4849
+ padding-right: 1.2rem
4850
+ }
4851
+
4852
+ .pr-14 {
4853
+ padding-right: 1.4rem
4854
+ }
4855
+
4856
+ .pr-2 {
4857
+ padding-right: .2rem
4858
+ }
4859
+
4860
+ .pr-32 {
4861
+ padding-right: 3.2rem
4862
+ }
4863
+
4864
+ .pr-40 {
4865
+ padding-right: 4rem
4866
+ }
4867
+
4868
+ .pt-0 {
4869
+ padding-top: 0rem
4870
+ }
4871
+
4872
+ .pt-1 {
4873
+ padding-top: .1rem
4874
+ }
4875
+
4876
+ .pt-16 {
4877
+ padding-top: 1.6rem
4878
+ }
4879
+
4880
+ .pt-24 {
4881
+ padding-top: 2.4rem
4882
+ }
4883
+
4884
+ .pt-8 {
4885
+ padding-top: .8rem
4886
+ }
4887
+
4888
+ .group\\/step:last-child .group-last\\/step\\:last\\:pb-0:last-child {
4889
+ padding-bottom: 0rem
4890
+ }
4891
+
4892
+ .last\\:pb-1:last-child {
4893
+ padding-bottom: .1rem
4894
+ }
4895
+
4896
+ .last\\:pr-1:last-child {
4897
+ padding-right: .1rem
4898
+ }
4899
+
4900
+ .p-\\[8px\\] {
4901
+ padding: 8px
4902
+ }
4903
+
4904
+ .px-\\[15px\\] {
4905
+ padding-left: 15px;
4906
+ padding-right: 15px
4907
+ }
4908
+
4909
+ .px-\\[8px\\] {
4910
+ padding-left: 8px;
4911
+ padding-right: 8px
4912
+ }
4913
+
4914
+ .py-\\[11px\\] {
4915
+ padding-top: 11px;
4916
+ padding-bottom: 11px
4917
+ }
4918
+
4919
+ .py-\\[5px\\] {
4920
+ padding-top: 5px;
4921
+ padding-bottom: 5px
4922
+ }
4923
+
4924
+ .py-\\[7px\\] {
4925
+ padding-top: 7px;
4926
+ padding-bottom: 7px
4927
+ }
4928
+
4929
+ .pl-\\[var\\(--w-prefix-width\\,_40px\\)\\] {
4930
+ padding-left: var(--w-prefix-width, 40px)
4931
+ }
4932
+
4933
+ .invisible {
4934
+ visibility: hidden
4935
+ }
4936
+
4937
+ .backface-hidden {
4938
+ backface-visibility: hidden
4939
+ }
4940
+
4941
+ .break-words {
4942
+ overflow-wrap: break-word
4943
+ }
4944
+
4945
+ .before\\:content-\\[\\"–\\"\\]:before {
4946
+ content: "–"
4947
+ }
4948
+
4949
+ .before\\:content-\\[\\"\\"\\]:before {
4950
+ content: ""
4951
+ }
4952
+
4953
+ .cursor-default {
4954
+ cursor: default
4955
+ }
4956
+
4957
+ .cursor-pointer {
4958
+ cursor: pointer
4959
+ }
4960
+
4961
+ .antialiased {
4962
+ -webkit-font-smoothing: antialiased;
4963
+ -moz-osx-font-smoothing: grayscale;
4964
+ font-smoothing: grayscale
4965
+ }
4966
+
4967
+ .font-bold {
4968
+ font-weight: 700
4969
+ }
4970
+
4971
+ .before\\:font-bold:before {
4972
+ font-weight: 700
4973
+ }
4974
+
4975
+ .font-normal {
4976
+ font-weight: 400
4977
+ }
4978
+
4979
+ .pointer-events-auto {
4980
+ pointer-events: auto
4981
+ }
4982
+
4983
+ .pointer-events-none {
4984
+ pointer-events: none
4985
+ }
4986
+
4987
+ .before\\:pointer-events-none:before {
4988
+ pointer-events: none
4989
+ }
4990
+
4991
+ .pb-safe-\\[32\\] {
4992
+ padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px))
4993
+ }
4994
+
4995
+ .sr-only {
4996
+ position: absolute;
4997
+ width: 1px;
4998
+ height: 1px;
4999
+ padding: 0;
5000
+ margin: -1px;
5001
+ overflow: hidden;
5002
+ clip: rect(0, 0, 0, 0);
5003
+ white-space: nowrap;
5004
+ border-width: 0
5005
+ }
5006
+
5007
+ .touch-pan-y {
5008
+ touch-action: pan-y
5009
+ }
5010
+
5011
+ .select-none {
5012
+ -webkit-user-select: none;
5013
+ user-select: none
5014
+ }
5015
+
5016
+ .translate-x-20 {
5017
+ --w-translate-x: 2rem;
5018
+ transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))
5019
+ }
5020
+
5021
+ .translate-z-0 {
5022
+ --w-translate-z: 0rem;
5023
+ transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))
5024
+ }
5025
+
5026
+ .-rotate-180, .part-\\[w-icon-chevron-down-16-part\\]\\:-rotate-180::part(w-icon-chevron-down-16-part) {
5027
+ --w-rotate-x: 0;
5028
+ --w-rotate-y: 0;
5029
+ --w-rotate-z: 0;
5030
+ --w-rotate: -180deg;
5031
+ transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))
5032
+ }
5033
+
5034
+ .part-\\[w-icon-chevron-up-16-part\\]\\:rotate-180::part(w-icon-chevron-up-16-part), .rotate-180 {
5035
+ --w-rotate-x: 0;
5036
+ --w-rotate-y: 0;
5037
+ --w-rotate-z: 0;
5038
+ --w-rotate: 180deg;
5039
+ transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))
5040
+ }
5041
+
5042
+ .rotate-90 {
5043
+ --w-rotate-x: 0;
5044
+ --w-rotate-y: 0;
5045
+ --w-rotate-z: 0;
5046
+ --w-rotate: 90deg;
5047
+ transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))
5048
+ }
5049
+
5050
+ .part-\\[w-icon-chevron-down-16-part\\]\\:transform::part(w-icon-chevron-down-16-part), .part-\\[w-icon-chevron-up-16-part\\]\\:transform::part(w-icon-chevron-up-16-part), .transform {
5051
+ transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))
5052
+ }
5053
+
5054
+ .part-\\[w-icon-chevron-down-16-part\\]\\:transform-gpu::part(w-icon-chevron-down-16-part), .part-\\[w-icon-chevron-up-16-part\\]\\:transform-gpu::part(w-icon-chevron-up-16-part), .transform-gpu {
5055
+ transform: translate3d(var(--w-translate-x), var(--w-translate-y), var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))
5056
+ }
5057
+
5058
+ .part-\\[w-icon-chevron-down-16-part\\]\\:transition-transform::part(w-icon-chevron-down-16-part), .part-\\[w-icon-chevron-up-16-part\\]\\:transition-transform::part(w-icon-chevron-up-16-part), .transition-transform {
5059
+ transition-property: transform;
5060
+ transition-timing-function: cubic-bezier(.4, 0, .2, 1);
5061
+ transition-duration: .15s
5062
+ }
5063
+
5064
+ .transition-300 {
5065
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
5066
+ transition-timing-function: cubic-bezier(.4, 0, .2, 1);
5067
+ transition-duration: .3s
5068
+ }
5069
+
5070
+ .transition-all {
5071
+ transition-property: all;
5072
+ transition-timing-function: cubic-bezier(.4, 0, .2, 1);
5073
+ transition-duration: .15s
5074
+ }
5075
+
5076
+ .transition-colors {
5077
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
5078
+ transition-timing-function: cubic-bezier(.4, 0, .2, 1);
5079
+ transition-duration: .15s
5080
+ }
5081
+
5082
+ .transition-shadow {
5083
+ transition-property: box-shadow;
5084
+ transition-timing-function: cubic-bezier(.4, 0, .2, 1);
5085
+ transition-duration: .15s
5086
+ }
5087
+
5088
+ .before\\:transition-all:before {
5089
+ transition-property: all;
5090
+ transition-timing-function: cubic-bezier(.4, 0, .2, 1);
5091
+ transition-duration: .15s
5092
+ }
5093
+
5094
+ .duration-300 {
5095
+ transition-duration: .3s
5096
+ }
5097
+
5098
+ .ease-in-out, .part-\\[w-icon-chevron-down-16-part\\]\\:ease-in-out::part(w-icon-chevron-down-16-part), .part-\\[w-icon-chevron-up-16-part\\]\\:ease-in-out::part(w-icon-chevron-up-16-part) {
5099
+ transition-timing-function: cubic-bezier(.4, 0, .2, 1)
5100
+ }
5101
+
5102
+ .text-m {
5103
+ font-size: var(--w-font-size-m);
5104
+ line-height: var(--w-line-height-m)
5105
+ }
5106
+
5107
+ .text-s {
5108
+ font-size: var(--w-font-size-s);
5109
+ line-height: var(--w-line-height-s)
5110
+ }
5111
+
5112
+ .text-xs {
5113
+ font-size: var(--w-font-size-xs);
5114
+ line-height: var(--w-line-height-xs)
5115
+ }
5116
+
5117
+ .leading-m {
5118
+ line-height: var(--w-line-height-m)
5119
+ }
5120
+
5121
+ .before\\:leading-xs:before {
5122
+ line-height: var(--w-line-height-xs)
5123
+ }
5124
+
5125
+ .leading-\\[24\\] {
5126
+ line-height: 2.4rem
5127
+ }
5128
+
5129
+ @media (max-width: 479.9px) {
5130
+ .lt-sm\\:rounded-b-0 {
5131
+ border-bottom-left-radius: 0;
5132
+ border-bottom-right-radius: 0
5133
+ }
5134
+ }
5135
+ @media (min-width: 480px) {
5136
+ .sm\\:border-b-0 {
5137
+ border-bottom-width: 0
5138
+ }
5139
+
5140
+ .sm\\:rounded-8 {
5141
+ border-radius: 8px
5142
+ }
5143
+
5144
+ .sm\\:rounded-b-8 {
5145
+ border-bottom-left-radius: 8px;
5146
+ border-bottom-right-radius: 8px
5147
+ }
5148
+
5149
+ .sm\\:gap-16 {
5150
+ gap: 1.6rem
5151
+ }
5152
+
5153
+ .sm\\:place-content-center {
5154
+ place-content: center
5155
+ }
5156
+
5157
+ .sm\\:place-items-center {
5158
+ place-items: center
5159
+ }
5160
+
5161
+ .sm\\:h-24 {
5162
+ height: 2.4rem
5163
+ }
5164
+
5165
+ .sm\\:min-h-48 {
5166
+ min-height: 4.8rem
5167
+ }
5168
+
5169
+ .sm\\:w-24 {
5170
+ width: 2.4rem
5171
+ }
5172
+
5173
+ .sm\\:min-h-\\[32px\\] {
5174
+ min-height: 32px
5175
+ }
5176
+
5177
+ .sm\\:min-h-\\[44px\\] {
5178
+ min-height: 44px
5179
+ }
5180
+
5181
+ .sm\\:min-h-\\[45\\] {
5182
+ min-height: 4.5rem
5183
+ }
5184
+
5185
+ .sm\\:min-w-\\[32px\\] {
5186
+ min-width: 32px
5187
+ }
5188
+
5189
+ .sm\\:min-w-\\[44px\\] {
5190
+ min-width: 44px
5191
+ }
5192
+
5193
+ .sm\\:mx-0 {
5194
+ margin-left: 0rem;
5195
+ margin-right: 0rem
5196
+ }
5197
+
5198
+ .sm\\:mx-16 {
5199
+ margin-left: 1.6rem;
5200
+ margin-right: 1.6rem
5201
+ }
5202
+
5203
+ .sm\\:-ml-12 {
5204
+ margin-left: -1.2rem
5205
+ }
5206
+
5207
+ .sm\\:-mr-12 {
5208
+ margin-right: -1.2rem
5209
+ }
5210
+
5211
+ .sm\\:-mt-8 {
5212
+ margin-top: -.8rem
5213
+ }
5214
+
5215
+ .sm\\:px-32 {
5216
+ padding-left: 3.2rem;
5217
+ padding-right: 3.2rem
5218
+ }
5219
+
5220
+ .sm\\:py-0 {
5221
+ padding-top: 0rem;
5222
+ padding-bottom: 0rem
5223
+ }
5224
+
5225
+ .sm\\:pb-32 {
5226
+ padding-bottom: 3.2rem
5227
+ }
5228
+
5229
+ .sm\\:pt-24 {
5230
+ padding-top: 2.4rem
5231
+ }
5232
+
5233
+ .sm\\:pt-32 {
5234
+ padding-top: 3.2rem
5235
+ }
5236
+ }
5237
+ @media (min-width: 768px) {
5238
+ .md\\:block {
5239
+ display: block
5240
+ }
5241
+
5242
+ .md\\:hidden {
5243
+ display: none
5244
+ }
5245
+ }
5246
+ `;
5247
+
5248
+ // packages/alert/index.ts
5249
+ var alertVariants = {
2814
5250
  negative: "negative",
2815
5251
  positive: "positive",
2816
5252
  warning: "warning",
2817
5253
  info: "info"
2818
5254
  };
2819
- var WarpAlert = class extends WarpElement2 {
5255
+ var WarpAlert = class extends LitElement7 {
2820
5256
  constructor() {
2821
5257
  super();
5258
+ this.variant = "info";
5259
+ this.show = true;
5260
+ this.role = "alert";
2822
5261
  this.show = false;
2823
5262
  this.role = "alert";
2824
5263
  }
2825
5264
  connectedCallback() {
2826
5265
  super.connectedCallback();
2827
- if (!this.variant || !variants[this.variant]) {
2828
- throw new Error('Invalid "variant" attribute. Set its value to one of the following:\nnegative, positive, warning, info.');
5266
+ if (!this.variant || !alertVariants[this.variant]) {
5267
+ throw new Error(`Invalid 'variant' attribute. Set its value to one of the following:
5268
+ negative, positive, warning, info.`);
2829
5269
  }
2830
5270
  }
2831
5271
  get _wrapperClasses() {
@@ -2836,17 +5276,17 @@ var WarpAlert = class extends WarpElement2 {
2836
5276
  return r([alert.icon, activeIconClassNames]);
2837
5277
  }
2838
5278
  get _icon() {
2839
- if (this.variant === variants.info) {
2840
- return html8`<w-icon-info-16></w-icon-info-16>`;
5279
+ if (this.variant === alertVariants.info) {
5280
+ return html8` <w-icon-info-16></w-icon-info-16>`;
2841
5281
  }
2842
- if (this.variant === variants.warning) {
2843
- return html8`<w-icon-warning-16></w-icon-warning-16>`;
5282
+ if (this.variant === alertVariants.warning) {
5283
+ return html8` <w-icon-warning-16></w-icon-warning-16>`;
2844
5284
  }
2845
- if (this.variant === variants.negative) {
2846
- return html8`<w-icon-error-16></w-icon-error-16>`;
5285
+ if (this.variant === alertVariants.negative) {
5286
+ return html8` <w-icon-error-16></w-icon-error-16>`;
2847
5287
  }
2848
- if (this.variant === variants.positive) {
2849
- return html8`<w-icon-success-16></w-icon-success-16>`;
5288
+ if (this.variant === alertVariants.positive) {
5289
+ return html8` <w-icon-success-16></w-icon-success-16>`;
2850
5290
  } else return "";
2851
5291
  }
2852
5292
  render() {
@@ -2862,35 +5302,42 @@ var WarpAlert = class extends WarpElement2 {
2862
5302
  `;
2863
5303
  }
2864
5304
  };
2865
- __publicField(WarpAlert, "properties", {
2866
- variant: { type: String, reflect: true },
2867
- show: { type: Boolean, reflect: true },
2868
- role: { type: String, reflect: true }
2869
- });
2870
5305
  // Slotted elements remain in lightDOM which allows for control of their style outside of shadowDOM.
2871
5306
  // ::slotted([Simple Selector]) confirms to Specificity rules, but (being simple) does not add weight to lightDOM skin selectors,
2872
5307
  // so never gets higher Specificity. Thus in order to overwrite style linked within shadowDOM, we need to use !important.
2873
5308
  // https://stackoverflow.com/a/61631668
2874
- __publicField(WarpAlert, "styles", [
2875
- WarpElement2.styles,
2876
- css`
5309
+ WarpAlert.styles = [
5310
+ reset,
5311
+ components,
5312
+ css2`
2877
5313
  :host {
2878
5314
  display: block;
2879
5315
  }
5316
+
2880
5317
  ::slotted(:first-child) {
2881
5318
  margin-top: 0px;
2882
5319
  }
5320
+
2883
5321
  ::slotted(:last-child) {
2884
5322
  margin-bottom: 0px !important;
2885
5323
  }
2886
5324
  `
2887
- ]);
5325
+ ];
5326
+ __decorateClass([
5327
+ property({ reflect: true })
5328
+ ], WarpAlert.prototype, "variant", 2);
5329
+ __decorateClass([
5330
+ property({ type: Boolean, reflect: true })
5331
+ ], WarpAlert.prototype, "show", 2);
5332
+ __decorateClass([
5333
+ property({ reflect: true })
5334
+ ], WarpAlert.prototype, "role", 2);
2888
5335
  if (!customElements.get("w-alert")) {
2889
5336
  customElements.define("w-alert", WarpAlert);
2890
5337
  }
2891
5338
 
2892
5339
  // packages/attention/index.js
2893
- import { css as css2, html as html9, nothing } from "lit";
5340
+ import { css as css3, html as html9, nothing } from "lit";
2894
5341
 
2895
5342
  // node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
2896
5343
  var sides = ["top", "right", "bottom", "left"];
@@ -3107,7 +5554,7 @@ var computePosition = async (reference, floating, config) => {
3107
5554
  x: nextX,
3108
5555
  y: nextY,
3109
5556
  data,
3110
- reset
5557
+ reset: reset2
3111
5558
  } = await fn({
3112
5559
  x,
3113
5560
  y: y2,
@@ -3127,18 +5574,18 @@ var computePosition = async (reference, floating, config) => {
3127
5574
  middlewareData = __spreadProps(__spreadValues({}, middlewareData), {
3128
5575
  [name]: __spreadValues(__spreadValues({}, middlewareData[name]), data)
3129
5576
  });
3130
- if (reset && resetCount <= 50) {
5577
+ if (reset2 && resetCount <= 50) {
3131
5578
  resetCount++;
3132
- if (typeof reset === "object") {
3133
- if (reset.placement) {
3134
- statefulPlacement = reset.placement;
5579
+ if (typeof reset2 === "object") {
5580
+ if (reset2.placement) {
5581
+ statefulPlacement = reset2.placement;
3135
5582
  }
3136
- if (reset.rects) {
3137
- rects = reset.rects === true ? await platform2.getElementRects({
5583
+ if (reset2.rects) {
5584
+ rects = reset2.rects === true ? await platform2.getElementRects({
3138
5585
  reference,
3139
5586
  floating,
3140
5587
  strategy
3141
- }) : reset.rects;
5588
+ }) : reset2.rects;
3142
5589
  }
3143
5590
  ({
3144
5591
  x,
@@ -3156,7 +5603,7 @@ var computePosition = async (reference, floating, config) => {
3156
5603
  middlewareData
3157
5604
  };
3158
5605
  };
3159
- async function detectOverflow(state, options) {
5606
+ async function detectOverflow(state2, options) {
3160
5607
  var _await$platform$isEle;
3161
5608
  if (options === void 0) {
3162
5609
  options = {};
@@ -3168,14 +5615,14 @@ async function detectOverflow(state, options) {
3168
5615
  rects,
3169
5616
  elements,
3170
5617
  strategy
3171
- } = state;
5618
+ } = state2;
3172
5619
  const {
3173
5620
  boundary = "clippingAncestors",
3174
5621
  rootBoundary = "viewport",
3175
5622
  elementContext = "floating",
3176
5623
  altBoundary = false,
3177
5624
  padding = 0
3178
- } = evaluate(options, state);
5625
+ } = evaluate(options, state2);
3179
5626
  const paddingObject = getPaddingObject(padding);
3180
5627
  const altContext = elementContext === "floating" ? "reference" : "floating";
3181
5628
  const element = elements[altBoundary ? altContext : elementContext];
@@ -3215,7 +5662,7 @@ async function detectOverflow(state, options) {
3215
5662
  var arrow = (options) => ({
3216
5663
  name: "arrow",
3217
5664
  options,
3218
- async fn(state) {
5665
+ async fn(state2) {
3219
5666
  const {
3220
5667
  x,
3221
5668
  y: y2,
@@ -3224,11 +5671,11 @@ var arrow = (options) => ({
3224
5671
  platform: platform2,
3225
5672
  elements,
3226
5673
  middlewareData
3227
- } = state;
5674
+ } = state2;
3228
5675
  const {
3229
5676
  element,
3230
5677
  padding = 0
3231
- } = evaluate(options, state) || {};
5678
+ } = evaluate(options, state2) || {};
3232
5679
  if (element == null) {
3233
5680
  return {};
3234
5681
  }
@@ -3280,7 +5727,7 @@ var flip = function(options) {
3280
5727
  return {
3281
5728
  name: "flip",
3282
5729
  options,
3283
- async fn(state) {
5730
+ async fn(state2) {
3284
5731
  var _middlewareData$arrow, _middlewareData$flip;
3285
5732
  const {
3286
5733
  placement,
@@ -3289,8 +5736,8 @@ var flip = function(options) {
3289
5736
  initialPlacement,
3290
5737
  platform: platform2,
3291
5738
  elements
3292
- } = state;
3293
- const _a = evaluate(options, state), {
5739
+ } = state2;
5740
+ const _a = evaluate(options, state2), {
3294
5741
  mainAxis: checkMainAxis = true,
3295
5742
  crossAxis: checkCrossAxis = true,
3296
5743
  fallbackPlacements: specifiedFallbackPlacements,
@@ -3318,7 +5765,7 @@ var flip = function(options) {
3318
5765
  fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
3319
5766
  }
3320
5767
  const placements2 = [initialPlacement, ...fallbackPlacements];
3321
- const overflow = await detectOverflow(state, detectOverflowOptions);
5768
+ const overflow = await detectOverflow(state2, detectOverflowOptions);
3322
5769
  const overflows = [];
3323
5770
  let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
3324
5771
  if (checkMainAxis) {
@@ -3401,18 +5848,18 @@ var hide = function(options) {
3401
5848
  return {
3402
5849
  name: "hide",
3403
5850
  options,
3404
- async fn(state) {
5851
+ async fn(state2) {
3405
5852
  const {
3406
5853
  rects
3407
- } = state;
3408
- const _a = evaluate(options, state), {
5854
+ } = state2;
5855
+ const _a = evaluate(options, state2), {
3409
5856
  strategy = "referenceHidden"
3410
5857
  } = _a, detectOverflowOptions = __objRest(_a, [
3411
5858
  "strategy"
3412
5859
  ]);
3413
5860
  switch (strategy) {
3414
5861
  case "referenceHidden": {
3415
- const overflow = await detectOverflow(state, __spreadProps(__spreadValues({}, detectOverflowOptions), {
5862
+ const overflow = await detectOverflow(state2, __spreadProps(__spreadValues({}, detectOverflowOptions), {
3416
5863
  elementContext: "reference"
3417
5864
  }));
3418
5865
  const offsets = getSideOffsets(overflow, rects.reference);
@@ -3424,7 +5871,7 @@ var hide = function(options) {
3424
5871
  };
3425
5872
  }
3426
5873
  case "escaped": {
3427
- const overflow = await detectOverflow(state, __spreadProps(__spreadValues({}, detectOverflowOptions), {
5874
+ const overflow = await detectOverflow(state2, __spreadProps(__spreadValues({}, detectOverflowOptions), {
3428
5875
  altBoundary: true
3429
5876
  }));
3430
5877
  const offsets = getSideOffsets(overflow, rects.floating);
@@ -3442,19 +5889,19 @@ var hide = function(options) {
3442
5889
  }
3443
5890
  };
3444
5891
  };
3445
- async function convertValueToCoords(state, options) {
5892
+ async function convertValueToCoords(state2, options) {
3446
5893
  const {
3447
5894
  placement,
3448
5895
  platform: platform2,
3449
5896
  elements
3450
- } = state;
5897
+ } = state2;
3451
5898
  const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));
3452
5899
  const side2 = getSide(placement);
3453
5900
  const alignment = getAlignment(placement);
3454
5901
  const isVertical = getSideAxis(placement) === "y";
3455
5902
  const mainAxisMulti = ["left", "top"].includes(side2) ? -1 : 1;
3456
5903
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
3457
- const rawValue = evaluate(options, state);
5904
+ const rawValue = evaluate(options, state2);
3458
5905
  let {
3459
5906
  mainAxis,
3460
5907
  crossAxis,
@@ -3486,15 +5933,15 @@ var offset = function(options) {
3486
5933
  return {
3487
5934
  name: "offset",
3488
5935
  options,
3489
- async fn(state) {
5936
+ async fn(state2) {
3490
5937
  var _middlewareData$offse, _middlewareData$arrow;
3491
5938
  const {
3492
5939
  x,
3493
5940
  y: y2,
3494
5941
  placement,
3495
5942
  middlewareData
3496
- } = state;
3497
- const diffCoords = await convertValueToCoords(state, options);
5943
+ } = state2;
5944
+ const diffCoords = await convertValueToCoords(state2, options);
3498
5945
  if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
3499
5946
  return {};
3500
5947
  }
@@ -3515,13 +5962,13 @@ var shift = function(options) {
3515
5962
  return {
3516
5963
  name: "shift",
3517
5964
  options,
3518
- async fn(state) {
5965
+ async fn(state2) {
3519
5966
  const {
3520
5967
  x,
3521
5968
  y: y2,
3522
5969
  placement
3523
- } = state;
3524
- const _a = evaluate(options, state), {
5970
+ } = state2;
5971
+ const _a = evaluate(options, state2), {
3525
5972
  mainAxis: checkMainAxis = true,
3526
5973
  crossAxis: checkCrossAxis = false,
3527
5974
  limiter = {
@@ -3545,7 +5992,7 @@ var shift = function(options) {
3545
5992
  x,
3546
5993
  y: y2
3547
5994
  };
3548
- const overflow = await detectOverflow(state, detectOverflowOptions);
5995
+ const overflow = await detectOverflow(state2, detectOverflowOptions);
3549
5996
  const crossAxis = getSideAxis(getSide(placement));
3550
5997
  const mainAxis = getOppositeAxis(crossAxis);
3551
5998
  let mainAxisCoord = coords[mainAxis];
@@ -3564,7 +6011,7 @@ var shift = function(options) {
3564
6011
  const max2 = crossAxisCoord - overflow[maxSide];
3565
6012
  crossAxisCoord = clamp(min2, crossAxisCoord, max2);
3566
6013
  }
3567
- const limitedCoords = limiter.fn(__spreadProps(__spreadValues({}, state), {
6014
+ const limitedCoords = limiter.fn(__spreadProps(__spreadValues({}, state2), {
3568
6015
  [mainAxis]: mainAxisCoord,
3569
6016
  [crossAxis]: crossAxisCoord
3570
6017
  }));
@@ -3588,21 +6035,21 @@ var size = function(options) {
3588
6035
  return {
3589
6036
  name: "size",
3590
6037
  options,
3591
- async fn(state) {
6038
+ async fn(state2) {
3592
6039
  var _state$middlewareData, _state$middlewareData2;
3593
6040
  const {
3594
6041
  placement,
3595
6042
  rects,
3596
6043
  platform: platform2,
3597
6044
  elements
3598
- } = state;
3599
- const _a = evaluate(options, state), {
6045
+ } = state2;
6046
+ const _a = evaluate(options, state2), {
3600
6047
  apply = () => {
3601
6048
  }
3602
6049
  } = _a, detectOverflowOptions = __objRest(_a, [
3603
6050
  "apply"
3604
6051
  ]);
3605
- const overflow = await detectOverflow(state, detectOverflowOptions);
6052
+ const overflow = await detectOverflow(state2, detectOverflowOptions);
3606
6053
  const side2 = getSide(placement);
3607
6054
  const alignment = getAlignment(placement);
3608
6055
  const isYAxis = getSideAxis(placement) === "y";
@@ -3623,13 +6070,13 @@ var size = function(options) {
3623
6070
  const maximumClippingWidth = width - overflow.left - overflow.right;
3624
6071
  const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
3625
6072
  const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
3626
- const noShift = !state.middlewareData.shift;
6073
+ const noShift = !state2.middlewareData.shift;
3627
6074
  let availableHeight = overflowAvailableHeight;
3628
6075
  let availableWidth = overflowAvailableWidth;
3629
- if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
6076
+ if ((_state$middlewareData = state2.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
3630
6077
  availableWidth = maximumClippingWidth;
3631
6078
  }
3632
- if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
6079
+ if ((_state$middlewareData2 = state2.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
3633
6080
  availableHeight = maximumClippingHeight;
3634
6081
  }
3635
6082
  if (noShift && !alignment) {
@@ -3643,7 +6090,7 @@ var size = function(options) {
3643
6090
  availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
3644
6091
  }
3645
6092
  }
3646
- await apply(__spreadProps(__spreadValues({}, state), {
6093
+ await apply(__spreadProps(__spreadValues({}, state2), {
3647
6094
  availableWidth,
3648
6095
  availableHeight
3649
6096
  }));
@@ -3725,8 +6172,8 @@ function isTopLayer(element) {
3725
6172
  }
3726
6173
  function isContainingBlock(elementOrCss) {
3727
6174
  const webkit = isWebKit();
3728
- const css11 = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
3729
- return ["transform", "translate", "scale", "rotate", "perspective"].some((value) => css11[value] ? css11[value] !== "none" : false) || (css11.containerType ? css11.containerType !== "normal" : false) || !webkit && (css11.backdropFilter ? css11.backdropFilter !== "none" : false) || !webkit && (css11.filter ? css11.filter !== "none" : false) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((value) => (css11.willChange || "").includes(value)) || ["paint", "layout", "strict", "content"].some((value) => (css11.contain || "").includes(value));
6175
+ const css14 = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
6176
+ return ["transform", "translate", "scale", "rotate", "perspective"].some((value) => css14[value] ? css14[value] !== "none" : false) || (css14.containerType ? css14.containerType !== "normal" : false) || !webkit && (css14.backdropFilter ? css14.backdropFilter !== "none" : false) || !webkit && (css14.filter ? css14.filter !== "none" : false) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((value) => (css14.willChange || "").includes(value)) || ["paint", "layout", "strict", "content"].some((value) => (css14.contain || "").includes(value));
3730
6177
  }
3731
6178
  function getContainingBlock(element) {
3732
6179
  let currentNode = getParentNode(element);
@@ -3808,9 +6255,9 @@ function getFrameElement(win) {
3808
6255
 
3809
6256
  // node_modules/.pnpm/@floating-ui+dom@1.6.13/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
3810
6257
  function getCssDimensions(element) {
3811
- const css11 = getComputedStyle(element);
3812
- let width = parseFloat(css11.width) || 0;
3813
- let height = parseFloat(css11.height) || 0;
6258
+ const css14 = getComputedStyle(element);
6259
+ let width = parseFloat(css14.width) || 0;
6260
+ let height = parseFloat(css14.height) || 0;
3814
6261
  const hasOffset = isHTMLElement(element);
3815
6262
  const offsetWidth = hasOffset ? element.offsetWidth : width;
3816
6263
  const offsetHeight = hasOffset ? element.offsetHeight : height;
@@ -3904,9 +6351,9 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
3904
6351
  while (currentIFrame && offsetParent && offsetWin !== currentWin) {
3905
6352
  const iframeScale = getScale(currentIFrame);
3906
6353
  const iframeRect = currentIFrame.getBoundingClientRect();
3907
- const css11 = getComputedStyle(currentIFrame);
3908
- const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css11.paddingLeft)) * iframeScale.x;
3909
- const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css11.paddingTop)) * iframeScale.y;
6354
+ const css14 = getComputedStyle(currentIFrame);
6355
+ const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css14.paddingLeft)) * iframeScale.x;
6356
+ const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css14.paddingTop)) * iframeScale.y;
3910
6357
  x *= iframeScale.x;
3911
6358
  y2 *= iframeScale.y;
3912
6359
  width *= iframeScale.x;
@@ -4332,31 +6779,31 @@ var applyArrowStyles = (arrowEl, arrowRotation2, dir) => {
4332
6779
  };
4333
6780
  var ELEMENT_PADDING = 8;
4334
6781
  var ARROW_OFFSET = 24;
4335
- async function useRecompute(state) {
6782
+ async function useRecompute(state2) {
4336
6783
  var _a, _b, _c;
4337
- if (!(state == null ? void 0 : state.isShowing))
6784
+ if (!(state2 == null ? void 0 : state2.isShowing))
4338
6785
  return;
4339
- if (state == null ? void 0 : state.waitForDOM) {
4340
- await (state == null ? void 0 : state.waitForDOM());
6786
+ if (state2 == null ? void 0 : state2.waitForDOM) {
6787
+ await (state2 == null ? void 0 : state2.waitForDOM());
4341
6788
  }
4342
- if (!(state == null ? void 0 : state.targetEl) || !(state == null ? void 0 : state.attentionEl))
6789
+ if (!(state2 == null ? void 0 : state2.targetEl) || !(state2 == null ? void 0 : state2.attentionEl))
4343
6790
  return;
4344
- let targetEl = state == null ? void 0 : state.targetEl;
4345
- const attentionEl = state.attentionEl;
6791
+ let targetEl = state2 == null ? void 0 : state2.targetEl;
6792
+ const attentionEl = state2.attentionEl;
4346
6793
  computePosition2(targetEl, attentionEl, {
4347
- placement: (_a = state == null ? void 0 : state.directionName) != null ? _a : BOTTOM,
6794
+ placement: (_a = state2 == null ? void 0 : state2.directionName) != null ? _a : BOTTOM,
4348
6795
  middleware: [
4349
- offset2({ mainAxis: (_b = state == null ? void 0 : state.distance) != null ? _b : 8, crossAxis: (_c = state == null ? void 0 : state.skidding) != null ? _c : 0 }),
6796
+ offset2({ mainAxis: (_b = state2 == null ? void 0 : state2.distance) != null ? _b : 8, crossAxis: (_c = state2 == null ? void 0 : state2.skidding) != null ? _c : 0 }),
4350
6797
  // offers flexibility over how to place the attentionEl towards its targetEl both on the x and y axis (horizontally and vertically).
4351
- (state == null ? void 0 : state.flip) && flip2({
6798
+ (state2 == null ? void 0 : state2.flip) && flip2({
4352
6799
  // when flip is set to true it will move the attentionEl's placement to its opposite side or to the preferred placements if fallbackPlacements has a value
4353
- crossAxis: state == null ? void 0 : state.crossAxis,
6800
+ crossAxis: state2 == null ? void 0 : state2.crossAxis,
4354
6801
  // checks overflow to trigger a flip. When disabled, it will ignore overflow
4355
- fallbackPlacements: state == null ? void 0 : state.fallbackPlacements
6802
+ fallbackPlacements: state2 == null ? void 0 : state2.fallbackPlacements
4356
6803
  }),
4357
- (state == null ? void 0 : state.flip) && shift2({ crossAxis: true }),
6804
+ (state2 == null ? void 0 : state2.flip) && shift2({ crossAxis: true }),
4358
6805
  // shifts the attentionEl to make sure that it stays in view
4359
- !(state == null ? void 0 : state.noArrow) && (state == null ? void 0 : state.arrowEl) && arrow2({ element: state == null ? void 0 : state.arrowEl }),
6806
+ !(state2 == null ? void 0 : state2.noArrow) && (state2 == null ? void 0 : state2.arrowEl) && arrow2({ element: state2 == null ? void 0 : state2.arrowEl }),
4360
6807
  hide2(),
4361
6808
  // will hide the attentionEl when it appears detached from the targetEl. Can be called multiple times in the middleware-array if you want to use several strategies. Default strategy is 'referenceHidden'.
4362
6809
  size2({
@@ -4369,21 +6816,21 @@ async function useRecompute(state) {
4369
6816
  })
4370
6817
  ]
4371
6818
  }).then(({ x, y: y2, middlewareData, placement }) => {
4372
- state.actualDirection = placement;
4373
- if (!(state == null ? void 0 : state.isCallout)) {
6819
+ state2.actualDirection = placement;
6820
+ if (!(state2 == null ? void 0 : state2.isCallout)) {
4374
6821
  Object.assign(attentionEl.style, {
4375
6822
  left: `${x}px`,
4376
6823
  top: `${y2}px`
4377
6824
  });
4378
6825
  }
4379
- if ((middlewareData == null ? void 0 : middlewareData.hide) && !(state == null ? void 0 : state.isCallout)) {
6826
+ if ((middlewareData == null ? void 0 : middlewareData.hide) && !(state2 == null ? void 0 : state2.isCallout)) {
4380
6827
  const { referenceHidden } = middlewareData.hide;
4381
6828
  Object.assign(attentionEl.style, {
4382
6829
  visibility: referenceHidden ? "hidden" : ""
4383
6830
  });
4384
6831
  }
4385
- if ((middlewareData == null ? void 0 : middlewareData.arrow) && (state == null ? void 0 : state.arrowEl)) {
4386
- const arrowEl = state == null ? void 0 : state.arrowEl;
6832
+ if ((middlewareData == null ? void 0 : middlewareData.arrow) && (state2 == null ? void 0 : state2.arrowEl)) {
6833
+ const arrowEl = state2 == null ? void 0 : state2.arrowEl;
4387
6834
  const { x: arrowX, y: arrowY } = middlewareData.arrow;
4388
6835
  const isRtl = window.getComputedStyle(attentionEl).direction === "rtl";
4389
6836
  const arrowPlacement = arrowDirection(placement).split("-")[1];
@@ -4411,20 +6858,18 @@ async function useRecompute(state) {
4411
6858
  applyArrowStyles(arrowEl, arrowRotation(placement), placement);
4412
6859
  }
4413
6860
  });
4414
- return state;
6861
+ return state2;
4415
6862
  }
4416
6863
 
4417
6864
  // packages/attention/index.js
4418
- import WarpElement3 from "@warp-ds/elements-core";
6865
+ import WarpElement2 from "@warp-ds/elements-core";
4419
6866
  import { ifDefined as ifDefined2 } from "lit/directives/if-defined.js";
4420
6867
 
4421
6868
  // packages/i18n.ts
4422
6869
  var supportedLocales7 = ["en", "nb", "fi", "da", "sv"];
4423
6870
  var defaultLocale8 = "en";
4424
6871
  var getSupportedLocale7 = (usedLocale) => {
4425
- return supportedLocales7.find(
4426
- (locale) => usedLocale === locale || usedLocale.toLowerCase().includes(locale)
4427
- ) || defaultLocale8;
6872
+ return supportedLocales7.find((locale) => usedLocale === locale || usedLocale.toLowerCase().includes(locale)) || defaultLocale8;
4428
6873
  };
4429
6874
  function detectLocale7() {
4430
6875
  if (typeof window === "undefined") {
@@ -4469,7 +6914,7 @@ var messages14 = JSON.parse('{"attention.aria.callout":["Gr\xF8nn taleboble som
4469
6914
  var messages15 = JSON.parse('{"attention.aria.callout":["En gr\xF6n pratbubbla som introducerar n\xE5got nytt"],"attention.aria.close":["St\xE4ng"],"attention.aria.highlight":["En pratbubbla med viktig information"],"attention.aria.pointingDown":["pekar ned"],"attention.aria.pointingLeft":["pekar v\xE4nster"],"attention.aria.pointingRight":["pekar h\xF6ger"],"attention.aria.pointingUp":["pekar upp"],"attention.aria.popover":["En vit pratbubbla som ger ytterligare information"],"attention.aria.tooltip":["En svart pratbubbla som ger kompletterande information"]}');
4470
6915
 
4471
6916
  // packages/attention/index.js
4472
- var WarpAttention = class extends kebabCaseAttributes(WarpElement3) {
6917
+ var WarpAttention = class extends kebabCaseAttributes(WarpElement2) {
4473
6918
  constructor() {
4474
6919
  super();
4475
6920
  activateI18n7(messages12, messages14, messages13, messages11, messages15);
@@ -4528,8 +6973,8 @@ ${JSON.stringify(directions)}`
4528
6973
  handleDone() {
4529
6974
  window.requestAnimationFrame(() => {
4530
6975
  if (this.show && this._targetEl && this._attentionEl) {
4531
- useRecompute(this.attentionState).then((state) => {
4532
- this._actualDirection = state == null ? void 0 : state.actualDirection;
6976
+ useRecompute(this.attentionState).then((state2) => {
6977
+ this._actualDirection = state2 == null ? void 0 : state2.actualDirection;
4533
6978
  });
4534
6979
  } else {
4535
6980
  this._actualDirection = this._initialPlacement;
@@ -4776,8 +7221,8 @@ __publicField(WarpAttention, "properties", {
4776
7221
  fallbackPlacements: { type: Array, reflect: true }
4777
7222
  });
4778
7223
  __publicField(WarpAttention, "styles", [
4779
- WarpElement3.styles,
4780
- css2`
7224
+ WarpElement2.styles,
7225
+ css3`
4781
7226
  #attention {
4782
7227
  position: absolute;
4783
7228
  z-index: 50;
@@ -4796,8 +7241,8 @@ if (!customElements.get("w-attention")) {
4796
7241
 
4797
7242
  // packages/badge/index.js
4798
7243
  import { html as html10 } from "lit";
4799
- import WarpElement4 from "@warp-ds/elements-core";
4800
- var WarpBadge = class extends WarpElement4 {
7244
+ import WarpElement3 from "@warp-ds/elements-core";
7245
+ var WarpBadge = class extends WarpElement3 {
4801
7246
  constructor() {
4802
7247
  super();
4803
7248
  this.variant = "neutral";
@@ -4829,15 +7274,15 @@ __publicField(WarpBadge, "properties", {
4829
7274
  type: "top-left" | "top-right" | "bottom-right" | "bottom-left"
4830
7275
  }
4831
7276
  });
4832
- __publicField(WarpBadge, "styles", [WarpElement4.styles]);
7277
+ __publicField(WarpBadge, "styles", [WarpElement3.styles]);
4833
7278
  if (!customElements.get("w-badge")) {
4834
7279
  customElements.define("w-badge", WarpBadge);
4835
7280
  }
4836
7281
 
4837
7282
  // packages/box/index.js
4838
- import { css as css3, html as html11, nothing as nothing2 } from "lit";
4839
- import WarpElement5 from "@warp-ds/elements-core";
4840
- var WarpBox = class extends WarpElement5 {
7283
+ import { css as css4, html as html11, nothing as nothing2 } from "lit";
7284
+ import WarpElement4 from "@warp-ds/elements-core";
7285
+ var WarpBox = class extends WarpElement4 {
4841
7286
  get _class() {
4842
7287
  return r([
4843
7288
  box.base,
@@ -4871,8 +7316,8 @@ __publicField(WarpBox, "properties", {
4871
7316
  // so never gets higher Specificity. Thus in order to overwrite style linked within shadowDOM, we need to use !important.
4872
7317
  // https://stackoverflow.com/a/61631668
4873
7318
  __publicField(WarpBox, "styles", [
4874
- WarpElement5.styles,
4875
- css3`
7319
+ WarpElement4.styles,
7320
+ css4`
4876
7321
  :host {
4877
7322
  display: block;
4878
7323
  }
@@ -4894,7 +7339,7 @@ function interleave(array, separator2) {
4894
7339
  }
4895
7340
 
4896
7341
  // packages/breadcrumbs/index.js
4897
- import WarpElement6 from "@warp-ds/elements-core";
7342
+ import WarpElement5 from "@warp-ds/elements-core";
4898
7343
 
4899
7344
  // packages/breadcrumbs/locales/da/messages.mjs
4900
7345
  var messages16 = JSON.parse('{"breadcrumbs.ariaLabel":["Du er her"]}');
@@ -4913,7 +7358,7 @@ var messages20 = JSON.parse('{"breadcrumbs.ariaLabel":["Du \xE4r h\xE4r"]}');
4913
7358
 
4914
7359
  // packages/breadcrumbs/index.js
4915
7360
  var separator = html12`<span class=${breadcrumbs.separator}>/</span>`;
4916
- var WarpBreadcrumbs = class extends kebabCaseAttributes(WarpElement6) {
7361
+ var WarpBreadcrumbs = class extends kebabCaseAttributes(WarpElement5) {
4917
7362
  constructor() {
4918
7363
  super();
4919
7364
  activateI18n7(messages17, messages19, messages18, messages16, messages20);
@@ -4928,7 +7373,7 @@ var WarpBreadcrumbs = class extends kebabCaseAttributes(WarpElement6) {
4928
7373
  const flattenedChildren = Array.from(this.children).flat(Infinity).filter((child) => child);
4929
7374
  const styledChildren = flattenedChildren.map((child, index) => {
4930
7375
  if (typeof child === "string") {
4931
- const isLastEl = index === children.length - 1;
7376
+ const isLastEl = index === this.children.length - 1;
4932
7377
  return html12`<span class=${breadcrumbs.text} aria-current=${isLastEl ? "page" : void 0}>${child}</span>`;
4933
7378
  }
4934
7379
  child.classList.add(child.tagName === "A" ? breadcrumbs.link : breadcrumbs.text);
@@ -4945,7 +7390,7 @@ var WarpBreadcrumbs = class extends kebabCaseAttributes(WarpElement6) {
4945
7390
  `;
4946
7391
  }
4947
7392
  };
4948
- __publicField(WarpBreadcrumbs, "styles", [WarpElement6.styles]);
7393
+ __publicField(WarpBreadcrumbs, "styles", [WarpElement5.styles]);
4949
7394
  __publicField(WarpBreadcrumbs, "properties", {
4950
7395
  ariaLabel: { type: String }
4951
7396
  });
@@ -4953,9 +7398,297 @@ if (!customElements.get("w-breadcrumbs")) {
4953
7398
  customElements.define("w-breadcrumbs", WarpBreadcrumbs);
4954
7399
  }
4955
7400
 
4956
- // packages/button/index.js
4957
- import { html as html13 } from "lit";
4958
- import WarpElement7 from "@warp-ds/elements-core";
7401
+ // packages/button/index.ts
7402
+ import { html as html13, LitElement as LitElement8 } from "lit";
7403
+
7404
+ // node_modules/.pnpm/@open-wc+form-control@1.0.0/node_modules/@open-wc/form-control/src/FormControlMixin.js
7405
+ var __classPrivateFieldGet = function(receiver, state2, kind, f2) {
7406
+ if (kind === "a" && !f2) throw new TypeError("Private accessor was defined without a getter");
7407
+ if (typeof state2 === "function" ? receiver !== state2 || !f2 : !state2.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
7408
+ return kind === "m" ? f2 : kind === "a" ? f2.call(receiver) : f2 ? f2.value : state2.get(receiver);
7409
+ };
7410
+ var __classPrivateFieldSet = function(receiver, state2, value, kind, f2) {
7411
+ if (kind === "m") throw new TypeError("Private method is not writable");
7412
+ if (kind === "a" && !f2) throw new TypeError("Private accessor was defined without a setter");
7413
+ if (typeof state2 === "function" ? receiver !== state2 || !f2 : !state2.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
7414
+ return kind === "a" ? f2.call(receiver, value) : f2 ? f2.value = value : state2.set(receiver, value), value;
7415
+ };
7416
+ function FormControlMixin(SuperClass) {
7417
+ var _FormControl_instances, _FormControl_focused, _FormControl_forceError, _FormControl_touched, _FormControl_abortController, _FormControl_previousAbortController, _FormControl_awaitingValidationTarget, _FormControl_formValidationGroup_get, _FormControl_value, _FormControl_onFocus, _FormControl_onBlur, _FormControl_onInvalid, _FormControl_validationCompleteResolver, _FormControl_isValidationPending, _FormControl_validationComplete, _FormControl_shouldShowError, _FormControl_runValidators, _FormControl_setValidityWithOptionalTarget, _FormControl_getValidatorMessageForValue;
7418
+ class FormControl extends SuperClass {
7419
+ /* eslint-disable @typescript-eslint/no-explicit-any */
7420
+ constructor(...args) {
7421
+ var _a, _b, _c;
7422
+ super(...args);
7423
+ _FormControl_instances.add(this);
7424
+ this.internals = this.attachInternals();
7425
+ _FormControl_focused.set(this, false);
7426
+ _FormControl_forceError.set(this, false);
7427
+ _FormControl_touched.set(this, false);
7428
+ _FormControl_abortController.set(this, void 0);
7429
+ _FormControl_previousAbortController.set(this, void 0);
7430
+ _FormControl_awaitingValidationTarget.set(this, true);
7431
+ _FormControl_value.set(this, "");
7432
+ _FormControl_onFocus.set(this, () => {
7433
+ __classPrivateFieldSet(this, _FormControl_touched, true, "f");
7434
+ __classPrivateFieldSet(this, _FormControl_focused, true, "f");
7435
+ __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_shouldShowError).call(this);
7436
+ });
7437
+ _FormControl_onBlur.set(this, () => {
7438
+ __classPrivateFieldSet(this, _FormControl_focused, false, "f");
7439
+ __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_runValidators).call(this, this.shouldFormValueUpdate() ? __classPrivateFieldGet(this, _FormControl_value, "f") : "");
7440
+ if (!this.validity.valid && __classPrivateFieldGet(this, _FormControl_touched, "f")) {
7441
+ __classPrivateFieldSet(this, _FormControl_forceError, true, "f");
7442
+ }
7443
+ const showError = __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_shouldShowError).call(this);
7444
+ if (this.validationMessageCallback) {
7445
+ this.validationMessageCallback(showError ? this.internals.validationMessage : "");
7446
+ }
7447
+ });
7448
+ _FormControl_onInvalid.set(this, () => {
7449
+ var _a2;
7450
+ if (__classPrivateFieldGet(this, _FormControl_awaitingValidationTarget, "f") && this.validationTarget) {
7451
+ this.internals.setValidity(this.validity, this.validationMessage, this.validationTarget);
7452
+ __classPrivateFieldSet(this, _FormControl_awaitingValidationTarget, false, "f");
7453
+ }
7454
+ __classPrivateFieldSet(this, _FormControl_touched, true, "f");
7455
+ __classPrivateFieldSet(this, _FormControl_forceError, true, "f");
7456
+ __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_shouldShowError).call(this);
7457
+ (_a2 = this === null || this === void 0 ? void 0 : this.validationMessageCallback) === null || _a2 === void 0 ? void 0 : _a2.call(this, this.showError ? this.internals.validationMessage : "");
7458
+ });
7459
+ _FormControl_validationCompleteResolver.set(this, void 0);
7460
+ _FormControl_isValidationPending.set(this, false);
7461
+ _FormControl_validationComplete.set(this, Promise.resolve());
7462
+ (_a = this.addEventListener) === null || _a === void 0 ? void 0 : _a.call(this, "focus", __classPrivateFieldGet(this, _FormControl_onFocus, "f"));
7463
+ (_b = this.addEventListener) === null || _b === void 0 ? void 0 : _b.call(this, "blur", __classPrivateFieldGet(this, _FormControl_onBlur, "f"));
7464
+ (_c = this.addEventListener) === null || _c === void 0 ? void 0 : _c.call(this, "invalid", __classPrivateFieldGet(this, _FormControl_onInvalid, "f"));
7465
+ this.setValue(null);
7466
+ }
7467
+ /** Wires up control instances to be form associated */
7468
+ static get formAssociated() {
7469
+ return true;
7470
+ }
7471
+ static get validators() {
7472
+ return this.formControlValidators || [];
7473
+ }
7474
+ /**
7475
+ * Allows the FormControl instance to respond to Validator attributes.
7476
+ * For instance, if a given Validator has a `required` attribute, that
7477
+ * validator will be evaluated whenever the host's required attribute
7478
+ * is updated.
7479
+ */
7480
+ static get observedAttributes() {
7481
+ const validatorAttributes = this.validators.map((validator) => validator.attribute).flat();
7482
+ const observedAttributes = super.observedAttributes || [];
7483
+ const attributeSet = /* @__PURE__ */ new Set([...observedAttributes, ...validatorAttributes]);
7484
+ return [...attributeSet];
7485
+ }
7486
+ /**
7487
+ * Return the validator associated with a given attribute. If no
7488
+ * Validator is associated with the attribute, it will return null.
7489
+ */
7490
+ static getValidator(attribute) {
7491
+ return this.validators.find((validator) => validator.attribute === attribute) || null;
7492
+ }
7493
+ /**
7494
+ * Get all validators that are set to react to a given attribute
7495
+ * @param {string} attribute - The attribute that has changed
7496
+ * @returns {Validator[]}
7497
+ */
7498
+ static getValidators(attribute) {
7499
+ return this.validators.filter((validator) => {
7500
+ var _a;
7501
+ if (validator.attribute === attribute || ((_a = validator.attribute) === null || _a === void 0 ? void 0 : _a.includes(attribute))) {
7502
+ return true;
7503
+ }
7504
+ });
7505
+ }
7506
+ /** Return a reference to the control's form */
7507
+ get form() {
7508
+ return this.internals.form;
7509
+ }
7510
+ /**
7511
+ * Will return true if it is recommended that the control shows an internal
7512
+ * error. If using this property, it is wise to listen for 'invalid' events
7513
+ * on the element host and call preventDefault on the event. Doing this will
7514
+ * prevent browsers from showing a validation popup.
7515
+ */
7516
+ get showError() {
7517
+ return __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_shouldShowError).call(this);
7518
+ }
7519
+ /**
7520
+ * Forward the internals checkValidity method
7521
+ * will return the valid state of the control.
7522
+ */
7523
+ checkValidity() {
7524
+ return this.internals.checkValidity();
7525
+ }
7526
+ /** The element's validity state */
7527
+ get validity() {
7528
+ return this.internals.validity;
7529
+ }
7530
+ /**
7531
+ * The validation message shown by a given Validator object. If the control
7532
+ * is in a valid state this should be falsy.
7533
+ */
7534
+ get validationMessage() {
7535
+ return this.internals.validationMessage;
7536
+ }
7537
+ attributeChangedCallback(name, oldValue, newValue) {
7538
+ var _a;
7539
+ (_a = super.attributeChangedCallback) === null || _a === void 0 ? void 0 : _a.call(this, name, oldValue, newValue);
7540
+ const proto = this.constructor;
7541
+ const validators = proto.getValidators(name);
7542
+ if ((validators === null || validators === void 0 ? void 0 : validators.length) && this.validationTarget) {
7543
+ this.setValue(__classPrivateFieldGet(this, _FormControl_value, "f"));
7544
+ }
7545
+ }
7546
+ /** PUBLIC LIFECYCLE METHODS */
7547
+ /**
7548
+ * Sets the control's form value if the call to `shouldFormValueUpdate`
7549
+ * returns `true`.
7550
+ * @param value {FormValue} - The value to pass to the form
7551
+ */
7552
+ setValue(value) {
7553
+ var _a;
7554
+ __classPrivateFieldSet(this, _FormControl_forceError, false, "f");
7555
+ (_a = this.validationMessageCallback) === null || _a === void 0 ? void 0 : _a.call(this, "");
7556
+ __classPrivateFieldSet(this, _FormControl_value, value, "f");
7557
+ const valueShouldUpdate = this.shouldFormValueUpdate();
7558
+ const valueToUpdate = valueShouldUpdate ? value : null;
7559
+ this.internals.setFormValue(valueToUpdate);
7560
+ __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_runValidators).call(this, valueToUpdate);
7561
+ if (this.valueChangedCallback) {
7562
+ this.valueChangedCallback(valueToUpdate);
7563
+ }
7564
+ __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_shouldShowError).call(this);
7565
+ }
7566
+ /**
7567
+ * This method can be overridden to determine if the control's form value
7568
+ * should be set on a call to `setValue`. An example of when a user might want
7569
+ * to skip this step is when implementing checkbox-like behavior, first checking
7570
+ * to see if `this.checked` is set to a truthy value. By default this returns
7571
+ * `true`.
7572
+ */
7573
+ shouldFormValueUpdate() {
7574
+ return true;
7575
+ }
7576
+ /** A promise that will resolve when all pending validations are complete */
7577
+ get validationComplete() {
7578
+ return new Promise((resolve) => resolve(__classPrivateFieldGet(this, _FormControl_validationComplete, "f")));
7579
+ }
7580
+ /** Reset control state when the form is reset */
7581
+ formResetCallback() {
7582
+ var _a, _b;
7583
+ __classPrivateFieldSet(this, _FormControl_touched, false, "f");
7584
+ __classPrivateFieldSet(this, _FormControl_forceError, false, "f");
7585
+ __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_shouldShowError).call(this);
7586
+ (_a = this.resetFormControl) === null || _a === void 0 ? void 0 : _a.call(this);
7587
+ (_b = this.validationMessageCallback) === null || _b === void 0 ? void 0 : _b.call(this, __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_shouldShowError).call(this) ? this.validationMessage : "");
7588
+ }
7589
+ }
7590
+ _FormControl_focused = /* @__PURE__ */ new WeakMap(), _FormControl_forceError = /* @__PURE__ */ new WeakMap(), _FormControl_touched = /* @__PURE__ */ new WeakMap(), _FormControl_abortController = /* @__PURE__ */ new WeakMap(), _FormControl_previousAbortController = /* @__PURE__ */ new WeakMap(), _FormControl_awaitingValidationTarget = /* @__PURE__ */ new WeakMap(), _FormControl_value = /* @__PURE__ */ new WeakMap(), _FormControl_onFocus = /* @__PURE__ */ new WeakMap(), _FormControl_onBlur = /* @__PURE__ */ new WeakMap(), _FormControl_onInvalid = /* @__PURE__ */ new WeakMap(), _FormControl_validationCompleteResolver = /* @__PURE__ */ new WeakMap(), _FormControl_isValidationPending = /* @__PURE__ */ new WeakMap(), _FormControl_validationComplete = /* @__PURE__ */ new WeakMap(), _FormControl_instances = /* @__PURE__ */ new WeakSet(), _FormControl_formValidationGroup_get = function _FormControl_formValidationGroup_get2() {
7591
+ const rootNode = this.getRootNode();
7592
+ const selector = `${this.localName}[name="${this.getAttribute("name")}"]`;
7593
+ return rootNode.querySelectorAll(selector);
7594
+ }, _FormControl_shouldShowError = function _FormControl_shouldShowError2() {
7595
+ if (this.hasAttribute("disabled")) {
7596
+ return false;
7597
+ }
7598
+ const showError = __classPrivateFieldGet(this, _FormControl_forceError, "f") || __classPrivateFieldGet(this, _FormControl_touched, "f") && !this.validity.valid && !__classPrivateFieldGet(this, _FormControl_focused, "f");
7599
+ if (showError && this.internals.states) {
7600
+ this.internals.states.add("--show-error");
7601
+ } else if (this.internals.states) {
7602
+ this.internals.states.delete("--show-error");
7603
+ }
7604
+ return showError;
7605
+ }, _FormControl_runValidators = function _FormControl_runValidators2(value) {
7606
+ const proto = this.constructor;
7607
+ const validity = {};
7608
+ const validators = proto.validators;
7609
+ const asyncValidators = [];
7610
+ const hasAsyncValidators = validators.some((validator) => validator.isValid instanceof Promise);
7611
+ if (!__classPrivateFieldGet(this, _FormControl_isValidationPending, "f")) {
7612
+ __classPrivateFieldSet(this, _FormControl_validationComplete, new Promise((resolve) => {
7613
+ __classPrivateFieldSet(this, _FormControl_validationCompleteResolver, resolve, "f");
7614
+ }), "f");
7615
+ __classPrivateFieldSet(this, _FormControl_isValidationPending, true, "f");
7616
+ }
7617
+ if (__classPrivateFieldGet(this, _FormControl_abortController, "f")) {
7618
+ __classPrivateFieldGet(this, _FormControl_abortController, "f").abort();
7619
+ __classPrivateFieldSet(this, _FormControl_previousAbortController, __classPrivateFieldGet(this, _FormControl_abortController, "f"), "f");
7620
+ }
7621
+ const abortController = new AbortController();
7622
+ __classPrivateFieldSet(this, _FormControl_abortController, abortController, "f");
7623
+ let validationMessage = void 0;
7624
+ let hasChange = false;
7625
+ if (!validators.length) {
7626
+ return;
7627
+ }
7628
+ validators.forEach((validator) => {
7629
+ const key = validator.key || "customError";
7630
+ const isValid = validator.isValid(this, value, abortController.signal);
7631
+ const isAsyncValidator = isValid instanceof Promise;
7632
+ if (isAsyncValidator) {
7633
+ asyncValidators.push(isValid);
7634
+ isValid.then((isValidatorValid) => {
7635
+ if (isValidatorValid === void 0 || isValidatorValid === null) {
7636
+ return;
7637
+ }
7638
+ validity[key] = !isValidatorValid;
7639
+ validationMessage = __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_getValidatorMessageForValue).call(this, validator, value);
7640
+ __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_setValidityWithOptionalTarget).call(this, validity, validationMessage);
7641
+ });
7642
+ } else {
7643
+ validity[key] = !isValid;
7644
+ if (this.validity[key] !== !isValid) {
7645
+ hasChange = true;
7646
+ }
7647
+ if (!isValid && !validationMessage) {
7648
+ validationMessage = __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_getValidatorMessageForValue).call(this, validator, value);
7649
+ }
7650
+ }
7651
+ });
7652
+ Promise.allSettled(asyncValidators).then(() => {
7653
+ var _a;
7654
+ if (!(abortController === null || abortController === void 0 ? void 0 : abortController.signal.aborted)) {
7655
+ __classPrivateFieldSet(this, _FormControl_isValidationPending, false, "f");
7656
+ (_a = __classPrivateFieldGet(this, _FormControl_validationCompleteResolver, "f")) === null || _a === void 0 ? void 0 : _a.call(this);
7657
+ }
7658
+ });
7659
+ if (hasChange || !hasAsyncValidators) {
7660
+ __classPrivateFieldGet(this, _FormControl_instances, "m", _FormControl_setValidityWithOptionalTarget).call(this, validity, validationMessage);
7661
+ }
7662
+ }, _FormControl_setValidityWithOptionalTarget = function _FormControl_setValidityWithOptionalTarget2(validity, validationMessage) {
7663
+ if (this.validationTarget) {
7664
+ this.internals.setValidity(validity, validationMessage, this.validationTarget);
7665
+ __classPrivateFieldSet(this, _FormControl_awaitingValidationTarget, false, "f");
7666
+ } else {
7667
+ this.internals.setValidity(validity, validationMessage);
7668
+ if (this.internals.validity.valid) {
7669
+ return;
7670
+ }
7671
+ __classPrivateFieldSet(this, _FormControl_awaitingValidationTarget, true, "f");
7672
+ }
7673
+ }, _FormControl_getValidatorMessageForValue = function _FormControl_getValidatorMessageForValue2(validator, value) {
7674
+ if (this.validityCallback) {
7675
+ const message = this.validityCallback(validator.key || "customError");
7676
+ if (message) {
7677
+ return message;
7678
+ }
7679
+ }
7680
+ if (validator.message instanceof Function) {
7681
+ return validator.message(this, value);
7682
+ } else {
7683
+ return validator.message;
7684
+ }
7685
+ };
7686
+ return FormControl;
7687
+ }
7688
+
7689
+ // packages/button/index.ts
7690
+ import WarpElement6 from "@warp-ds/elements-core";
7691
+ import { property as property2 } from "lit/decorators.js";
4959
7692
 
4960
7693
  // packages/button/locales/da/messages.mjs
4961
7694
  var messages21 = JSON.parse('{"button.aria.loading":["Indl\xE6ser..."]}');
@@ -4972,24 +7705,30 @@ var messages29 = JSON.parse('{"button.aria.loading":["Laster..."]}');
4972
7705
  // packages/button/locales/sv/messages.mjs
4973
7706
  var messages30 = JSON.parse('{"button.aria.loading":["Laddar ..."]}');
4974
7707
 
4975
- // packages/button/index.js
4976
- var buttonTypes2 = ["primary", "secondary", "negative", "utility", "pill", "link"];
4977
- var WarpButton = class extends kebabCaseAttributes(WarpElement7) {
7708
+ // packages/button/index.ts
7709
+ var buttonVariants2 = ["primary", "secondary", "negative", "utility", "pill", "link"];
7710
+ var WarpButton = class extends FormControlMixin(kebabCaseAttributes(LitElement8)) {
4978
7711
  constructor() {
4979
7712
  super();
7713
+ this.type = "button";
4980
7714
  activateI18n7(messages27, messages29, messages28, messages21, messages30);
4981
7715
  this.variant = "secondary";
4982
7716
  this.ariaValueTextLoading = i18n._({
4983
7717
  id: "button.aria.loading",
4984
7718
  message: "Loading...",
4985
- comment: "Screenreader message for buttons that are loading"
7719
+ comment: "Screen reader message for buttons that are loading"
4986
7720
  });
4987
7721
  }
7722
+ updated(changedProperties) {
7723
+ if (changedProperties.has("value")) {
7724
+ this.setValue(this.value);
7725
+ }
7726
+ }
4988
7727
  connectedCallback() {
4989
7728
  super.connectedCallback();
4990
- if (!buttonTypes2.includes(this.variant)) {
7729
+ if (!buttonVariants2.includes(this.variant)) {
4991
7730
  throw new Error(`Invalid "variant" attribute. Set its value to one of the following:
4992
- ${buttonTypes2.join(", ")}.`);
7731
+ ${buttonVariants2.join(", ")}.`);
4993
7732
  }
4994
7733
  }
4995
7734
  firstUpdated() {
@@ -5058,6 +7797,10 @@ ${buttonTypes2.join(", ")}.`);
5058
7797
  this.fullWidth ? button.fullWidth : button.contentWidth
5059
7798
  ]);
5060
7799
  }
7800
+ _handleButtonClick() {
7801
+ if (this.type === "submit") this.internals.form.requestSubmit();
7802
+ else if (this.type === "reset") this.internals.form.reset();
7803
+ }
5061
7804
  render() {
5062
7805
  return html13` ${this.href ? html13`<a
5063
7806
  href=${this.href}
@@ -5065,36 +7808,62 @@ ${buttonTypes2.join(", ")}.`);
5065
7808
  rel=${this.target === "_blank" ? this.rel || "noopener" : void 0}
5066
7809
  class=${this._classes}>
5067
7810
  <slot></slot>
5068
- </a>` : html13`<button type=${this.type || "button"} class=${this._classes}>
7811
+ </a>` : html13`<button type=${this.type || "button"} class=${this._classes} @click="${this._handleButtonClick}">
5069
7812
  <slot></slot>
5070
7813
  </button>`}
5071
7814
  ${this.loading ? html13`<span class="sr-only" role="progressbar" aria-valuenow="{0}" aria-valuetext=${this.ariaValueTextLoading}></span>` : null}`;
5072
7815
  }
5073
7816
  };
5074
- __publicField(WarpButton, "shadowRootOptions", __spreadProps(__spreadValues({}, WarpElement7.shadowRootOptions), {
7817
+ WarpButton.shadowRootOptions = __spreadProps(__spreadValues({}, WarpElement6.shadowRootOptions), {
5075
7818
  delegatesFocus: true
5076
- }));
5077
- __publicField(WarpButton, "properties", {
5078
- type: { type: "button" | "submit" | "reset", reflect: true },
5079
- autofocus: { type: Boolean, reflect: true },
5080
- variant: { type: String, reflect: true },
5081
- quiet: { type: Boolean, reflect: true },
5082
- small: { type: Boolean, reflect: true },
5083
- loading: { type: Boolean, reflect: true },
5084
- href: { type: String, reflect: true },
5085
- target: { type: String, reflect: true },
5086
- rel: { type: String, reflect: true },
5087
- fullWidth: { type: Boolean, reflect: true },
5088
- buttonClass: { type: String, reflect: true }
5089
7819
  });
5090
- __publicField(WarpButton, "styles", [WarpElement7.styles]);
7820
+ WarpButton.styles = [reset, components];
7821
+ __decorateClass([
7822
+ property2({ reflect: true })
7823
+ ], WarpButton.prototype, "type", 2);
7824
+ __decorateClass([
7825
+ property2({ type: Boolean, reflect: true })
7826
+ ], WarpButton.prototype, "autofocus", 2);
7827
+ __decorateClass([
7828
+ property2({ reflect: true })
7829
+ ], WarpButton.prototype, "variant", 2);
7830
+ __decorateClass([
7831
+ property2({ type: Boolean, reflect: true })
7832
+ ], WarpButton.prototype, "quiet", 2);
7833
+ __decorateClass([
7834
+ property2({ type: Boolean, reflect: true })
7835
+ ], WarpButton.prototype, "small", 2);
7836
+ __decorateClass([
7837
+ property2({ type: Boolean, reflect: true })
7838
+ ], WarpButton.prototype, "loading", 2);
7839
+ __decorateClass([
7840
+ property2({ reflect: true })
7841
+ ], WarpButton.prototype, "href", 2);
7842
+ __decorateClass([
7843
+ property2({ reflect: true })
7844
+ ], WarpButton.prototype, "target", 2);
7845
+ __decorateClass([
7846
+ property2({ reflect: true })
7847
+ ], WarpButton.prototype, "rel", 2);
7848
+ __decorateClass([
7849
+ property2({ type: Boolean, reflect: true })
7850
+ ], WarpButton.prototype, "fullWidth", 2);
7851
+ __decorateClass([
7852
+ property2({ reflect: true })
7853
+ ], WarpButton.prototype, "buttonClass", 2);
7854
+ __decorateClass([
7855
+ property2({ reflect: true })
7856
+ ], WarpButton.prototype, "name", 2);
7857
+ __decorateClass([
7858
+ property2({ reflect: true })
7859
+ ], WarpButton.prototype, "value", 2);
5091
7860
  if (!customElements.get("w-button")) {
5092
7861
  customElements.define("w-button", WarpButton);
5093
7862
  }
5094
7863
 
5095
- // packages/card/index.js
5096
- import { html as html14, css as css4 } from "lit";
5097
- import WarpElement8 from "@warp-ds/elements-core";
7864
+ // packages/card/index.ts
7865
+ import { html as html14, css as css5, LitElement as LitElement9 } from "lit";
7866
+ import { property as property3 } from "lit/decorators.js";
5098
7867
  import { ifDefined as ifDefined3 } from "lit/directives/if-defined.js";
5099
7868
 
5100
7869
  // packages/card/locales/da/messages.mjs
@@ -5112,18 +7881,18 @@ var messages39 = JSON.parse('{"card.button.text":["Velg"]}');
5112
7881
  // packages/card/locales/sv/messages.mjs
5113
7882
  var messages40 = JSON.parse('{"card.button.text":["V\xE4lj"]}');
5114
7883
 
5115
- // packages/card/index.js
7884
+ // packages/card/index.ts
5116
7885
  var keys = {
5117
7886
  ENTER: "Enter",
5118
7887
  SPACE: " "
5119
7888
  };
5120
- var WarpCard = class extends WarpElement8 {
7889
+ var WarpCard = class extends LitElement9 {
5121
7890
  constructor() {
5122
7891
  super();
5123
- activateI18n7(messages37, messages39, messages38, messages31, messages40);
5124
7892
  this.selected = false;
5125
7893
  this.flat = false;
5126
7894
  this.clickable = false;
7895
+ activateI18n7(messages37, messages39, messages38, messages31, messages40);
5127
7896
  this.buttonText = i18n._({
5128
7897
  id: "card.button.text",
5129
7898
  message: "Select",
@@ -5162,14 +7931,10 @@ var WarpCard = class extends WarpElement8 {
5162
7931
  `;
5163
7932
  }
5164
7933
  };
5165
- __publicField(WarpCard, "properties", {
5166
- selected: { type: Boolean, reflect: true },
5167
- flat: { type: Boolean },
5168
- clickable: { type: Boolean }
5169
- });
5170
- __publicField(WarpCard, "styles", [
5171
- WarpElement8.styles,
5172
- css4`
7934
+ WarpCard.styles = [
7935
+ reset,
7936
+ components,
7937
+ css5`
5173
7938
  a::after {
5174
7939
  content: '';
5175
7940
  position: absolute;
@@ -5182,18 +7947,27 @@ __publicField(WarpCard, "styles", [
5182
7947
  display: block;
5183
7948
  }
5184
7949
  `
5185
- ]);
7950
+ ];
7951
+ __decorateClass([
7952
+ property3({ type: Boolean, reflect: true })
7953
+ ], WarpCard.prototype, "selected", 2);
7954
+ __decorateClass([
7955
+ property3({ type: Boolean })
7956
+ ], WarpCard.prototype, "flat", 2);
7957
+ __decorateClass([
7958
+ property3({ type: Boolean })
7959
+ ], WarpCard.prototype, "clickable", 2);
5186
7960
  if (!customElements.get("w-card")) {
5187
7961
  customElements.define("w-card", WarpCard);
5188
7962
  }
5189
7963
 
5190
- // packages/expandable/index.js
5191
- import { css as css5, html as html17 } from "lit";
5192
- import WarpElement9 from "@warp-ds/elements-core";
7964
+ // packages/expandable/index.ts
7965
+ import { css as css6, html as html17, LitElement as LitElement12 } from "lit";
7966
+ import { property as property4 } from "lit/decorators.js";
5193
7967
  import { ifDefined as ifDefined4 } from "lit/directives/if-defined.js";
5194
7968
 
5195
- // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-_hyhbgchrkasknlbocfng7geeci/node_modules/@warp-ds/icons/dist/elements/chevron-down-16.js
5196
- import { LitElement as LitElement7 } from "lit";
7969
+ // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/dist/elements/chevron-down-16.js
7970
+ import { LitElement as LitElement10 } from "lit";
5197
7971
  import { unsafeStatic as unsafeStatic7, html as html15 } from "lit/static-html.js";
5198
7972
  var messages41 = JSON.parse('{"icon.title.chevron-down":["Nedoverpil"]}');
5199
7973
  var messages210 = JSON.parse('{"icon.title.chevron-down":["Downward arrow"]}');
@@ -5276,7 +8050,7 @@ var activateI18n8 = (enMessages, nbMessages, fiMessages, daMessages, svMessages)
5276
8050
  i18n.activate(locale);
5277
8051
  };
5278
8052
  activateI18n8(messages210, messages41, messages310, messages47, messages57);
5279
- var IconChevronDown16 = class extends LitElement7 {
8053
+ var IconChevronDown16 = class extends LitElement10 {
5280
8054
  render() {
5281
8055
  const title = i18n.t({ message: `Downward arrow`, id: "icon.title.chevron-down", comment: "Title for chevron-down icon" });
5282
8056
  return html15`<svg xmlns="http://www.w3.org/2000/svg"width="16"height="16"fill="none"viewBox="0 0 16 16" part="w-icon-chevron-down-16-part">${unsafeStatic7(`<title>${title}</title>`)}<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m2.667 5.333 5.5 5.5 5.5-5.5"></path></svg>`;
@@ -5286,8 +8060,8 @@ if (!customElements.get("w-icon-chevron-down-16")) {
5286
8060
  customElements.define("w-icon-chevron-down-16", IconChevronDown16);
5287
8061
  }
5288
8062
 
5289
- // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-_hyhbgchrkasknlbocfng7geeci/node_modules/@warp-ds/icons/dist/elements/chevron-up-16.js
5290
- import { LitElement as LitElement8 } from "lit";
8063
+ // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/dist/elements/chevron-up-16.js
8064
+ import { LitElement as LitElement11 } from "lit";
5291
8065
  import { unsafeStatic as unsafeStatic8, html as html16 } from "lit/static-html.js";
5292
8066
  var messages48 = JSON.parse('{"icon.title.chevron-up":["Oppoverpil"]}');
5293
8067
  var messages211 = JSON.parse('{"icon.title.chevron-up":["Upward arrow"]}');
@@ -5370,7 +8144,7 @@ var activateI18n9 = (enMessages, nbMessages, fiMessages, daMessages, svMessages)
5370
8144
  i18n.activate(locale);
5371
8145
  };
5372
8146
  activateI18n9(messages211, messages48, messages311, messages49, messages58);
5373
- var IconChevronUp16 = class extends LitElement8 {
8147
+ var IconChevronUp16 = class extends LitElement11 {
5374
8148
  render() {
5375
8149
  const title = i18n.t({ message: `Upward arrow`, id: "icon.title.chevron-up", comment: "Title for chevron-up icon" });
5376
8150
  return html16`<svg xmlns="http://www.w3.org/2000/svg"width="16"height="16"fill="none"viewBox="0 0 16 16" part="w-icon-chevron-up-16-part">${unsafeStatic8(`<title>${title}</title>`)}<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.5 11 8 5.5l5.5 5.5"></path></svg>`;
@@ -5380,19 +8154,19 @@ if (!customElements.get("w-icon-chevron-up-16")) {
5380
8154
  customElements.define("w-icon-chevron-up-16", IconChevronUp16);
5381
8155
  }
5382
8156
 
5383
- // packages/expandable/index.js
8157
+ // packages/expandable/index.ts
5384
8158
  var _WarpExpandable_instances, wrapperClasses_get, buttonClasses_get, chevronClasses_get, chevronIcon_get, contentClasses_get, expansionClasses_get;
5385
- var WarpExpandable = class extends kebabCaseAttributes(WarpElement9) {
8159
+ var WarpExpandable = class extends LitElement12 {
5386
8160
  constructor() {
5387
- super();
8161
+ super(...arguments);
5388
8162
  __privateAdd(this, _WarpExpandable_instances);
5389
8163
  this.expanded = false;
5390
- this.animated = false;
5391
8164
  this.box = false;
5392
8165
  this.bleed = false;
5393
8166
  this.noChevron = false;
8167
+ this.animated = false;
5394
8168
  this._hasTitle = true;
5395
- this._showChevronUp = this.expanded;
8169
+ this._showChevronUp = false;
5396
8170
  }
5397
8171
  updated(changedProperties) {
5398
8172
  if (changedProperties.has("expanded")) {
@@ -5402,7 +8176,10 @@ var WarpExpandable = class extends kebabCaseAttributes(WarpElement9) {
5402
8176
  }
5403
8177
  }
5404
8178
  firstUpdated() {
5405
- this._hasTitle = !!this.title || this.renderRoot.querySelector("slot[name='title']").assignedNodes().length > 0;
8179
+ var _a;
8180
+ const hasTitleProp = Boolean(this.title);
8181
+ const hasTitleSlot = ((_a = this.renderRoot.querySelector("slot[name='title']")) == null ? void 0 : _a.assignedNodes().length) > 0;
8182
+ this._hasTitle = hasTitleProp || hasTitleSlot;
5406
8183
  }
5407
8184
  get _expandableSlot() {
5408
8185
  return html17`<div class="${__privateGet(this, _WarpExpandable_instances, contentClasses_get)}">
@@ -5456,26 +8233,14 @@ contentClasses_get = function() {
5456
8233
  expansionClasses_get = function() {
5457
8234
  return r([expandable.expansion, !this.expanded && expandable.expansionNotExpanded]);
5458
8235
  };
5459
- __publicField(WarpExpandable, "properties", {
5460
- expanded: { type: Boolean, reflect: true },
5461
- title: { type: String },
5462
- box: { type: Boolean },
5463
- bleed: { type: Boolean },
5464
- buttonClass: { type: String },
5465
- contentClass: { type: String },
5466
- noChevron: { type: Boolean },
5467
- animated: { type: Boolean },
5468
- headingLevel: { type: Number },
5469
- _hasTitle: { type: Boolean, state: true },
5470
- _showChevronUp: { type: Boolean, state: true }
5471
- });
5472
8236
  // Slotted elements remain in lightDOM which allows for control of their style outside of shadowDOM.
5473
8237
  // ::slotted([Simple Selector]) confirms to Specificity rules, but (being simple) does not add weight to lightDOM skin selectors,
5474
8238
  // so never gets higher Specificity. Thus in order to overwrite style linked within shadowDOM, we need to use !important.
5475
8239
  // https://stackoverflow.com/a/61631668
5476
- __publicField(WarpExpandable, "styles", [
5477
- WarpElement9.styles,
5478
- css5`
8240
+ WarpExpandable.styles = [
8241
+ reset,
8242
+ components,
8243
+ css6`
5479
8244
  :host {
5480
8245
  display: block;
5481
8246
  }
@@ -5483,14 +8248,46 @@ __publicField(WarpExpandable, "styles", [
5483
8248
  margin-bottom: 0px !important;
5484
8249
  }
5485
8250
  `
5486
- ]);
8251
+ ];
8252
+ __decorateClass([
8253
+ property4({ type: Boolean, reflect: true })
8254
+ ], WarpExpandable.prototype, "expanded", 2);
8255
+ __decorateClass([
8256
+ property4({ type: String })
8257
+ ], WarpExpandable.prototype, "title", 2);
8258
+ __decorateClass([
8259
+ property4({ type: Boolean })
8260
+ ], WarpExpandable.prototype, "box", 2);
8261
+ __decorateClass([
8262
+ property4({ type: Boolean })
8263
+ ], WarpExpandable.prototype, "bleed", 2);
8264
+ __decorateClass([
8265
+ property4({ attribute: "button-class", type: String })
8266
+ ], WarpExpandable.prototype, "buttonClass", 2);
8267
+ __decorateClass([
8268
+ property4({ attribute: "content-class", type: String })
8269
+ ], WarpExpandable.prototype, "contentClass", 2);
8270
+ __decorateClass([
8271
+ property4({ attribute: "no-chevron", type: Boolean })
8272
+ ], WarpExpandable.prototype, "noChevron", 2);
8273
+ __decorateClass([
8274
+ property4({ type: Boolean })
8275
+ ], WarpExpandable.prototype, "animated", 2);
8276
+ __decorateClass([
8277
+ property4({ attribute: "heading-level", type: Number })
8278
+ ], WarpExpandable.prototype, "headingLevel", 2);
8279
+ __decorateClass([
8280
+ property4({ type: Boolean, state: true })
8281
+ ], WarpExpandable.prototype, "_hasTitle", 2);
8282
+ __decorateClass([
8283
+ property4({ type: Boolean, state: true })
8284
+ ], WarpExpandable.prototype, "_showChevronUp", 2);
5487
8285
  if (!customElements.get("w-expandable")) {
5488
8286
  customElements.define("w-expandable", WarpExpandable);
5489
8287
  }
5490
8288
 
5491
- // packages/modal/modal-footer.js
5492
- import { html as html18 } from "lit";
5493
- import WarpElement10 from "@warp-ds/elements-core";
8289
+ // packages/modal/modal-footer.ts
8290
+ import { html as html18, css as css7, LitElement as LitElement13 } from "lit";
5494
8291
 
5495
8292
  // packages/modal/util.js
5496
8293
  var CanCloseMixin = (superClass) => class extends superClass {
@@ -5507,27 +8304,42 @@ var ProvidesCanCloseToSlotsMixin = (superClass) => class extends superClass {
5507
8304
  // HACK: slot-props don't seem to exist and neither does the context pattern for this
5508
8305
  /** @param {Event} evt */
5509
8306
  handleSlotChange(evt) {
5510
- const children2 = evt.target.assignedNodes({ flatten: true });
5511
- for (const child of children2.filter((e) => e.patchClose)) {
8307
+ const children = evt.target.assignedNodes({ flatten: true });
8308
+ for (const child of children.filter((e) => e.patchClose)) {
5512
8309
  child._close = () => this.close();
5513
8310
  }
5514
8311
  }
5515
8312
  };
5516
8313
 
5517
- // packages/modal/modal-footer.js
5518
- var ModalFooter = class extends CanCloseMixin(ProvidesCanCloseToSlotsMixin(WarpElement10)) {
8314
+ // packages/modal/modal-footer.ts
8315
+ var ModalFooter = class extends CanCloseMixin(ProvidesCanCloseToSlotsMixin(LitElement13)) {
5519
8316
  render() {
5520
8317
  return html18`
5521
- <div class="${modalElement.footer}">
8318
+ <div class="footer">
5522
8319
  <slot @slotchange="${this.handleSlotChange}"></slot>
5523
8320
  </div>
5524
8321
  `;
5525
8322
  }
5526
8323
  };
5527
- __publicField(ModalFooter, "styles", [WarpElement10.styles]);
8324
+ ModalFooter.styles = css7`
8325
+ .footer {
8326
+ display: flex;
8327
+ flex-shrink: 0;
8328
+ justify-content: flex-end;
8329
+ padding-left: 1.6rem;
8330
+ padding-right: 1.6rem;
8331
+ padding-top: 2.4rem;
8332
+ }
8333
+ @media (min-width: 480px) {
8334
+ .footer {
8335
+ padding-left: 3.2rem;
8336
+ padding-right: 3.2rem;
8337
+ }
8338
+ }
8339
+ `;
5528
8340
 
5529
- // packages/modal/modal-header.js
5530
- import { html as html20, nothing as nothing3 } from "lit";
8341
+ // packages/modal/modal-header.ts
8342
+ import { css as css8, html as html20, LitElement as LitElement15, nothing as nothing3 } from "lit";
5531
8343
 
5532
8344
  // node_modules/.pnpm/@itsy+animate@0.0.9/node_modules/@itsy/animate/src/utility.js
5533
8345
  var computeDeltas = (first, last) => ({
@@ -5548,10 +8360,10 @@ var animationDefaults = { easing: "ease", duration: 300 };
5548
8360
  var reduceMotion = false;
5549
8361
  var windowExists = typeof window !== "undefined";
5550
8362
  if (windowExists) {
5551
- const query = window.matchMedia("(prefers-reduced-motion: reduce)");
8363
+ const query3 = window.matchMedia("(prefers-reduced-motion: reduce)");
5552
8364
  const callback = ({ matches }) => reduceMotion = matches;
5553
- if (query.addEventListener) query.addEventListener("change", callback);
5554
- callback(query);
8365
+ if (query3.addEventListener) query3.addEventListener("change", callback);
8366
+ callback(query3);
5555
8367
  }
5556
8368
 
5557
8369
  // node_modules/.pnpm/@itsy+animate@0.0.9/node_modules/@itsy/animate/src/move.js
@@ -5601,8 +8413,11 @@ var Move = class {
5601
8413
  }
5602
8414
  };
5603
8415
 
5604
- // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-_hyhbgchrkasknlbocfng7geeci/node_modules/@warp-ds/icons/dist/elements/arrow-left-16.js
5605
- import { LitElement as LitElement9 } from "lit";
8416
+ // packages/modal/modal-header.ts
8417
+ import { property as property5, query, state } from "lit/decorators.js";
8418
+
8419
+ // node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/dist/elements/arrow-left-16.js
8420
+ import { LitElement as LitElement14 } from "lit";
5606
8421
  import { unsafeStatic as unsafeStatic9, html as html19 } from "lit/static-html.js";
5607
8422
  var messages50 = JSON.parse('{"icon.title.arrow-left":["Pil som peker mot venstre"]}');
5608
8423
  var messages212 = JSON.parse('{"icon.title.arrow-left":["Leftward-pointing arrow"]}');
@@ -5685,7 +8500,7 @@ var activateI18n10 = (enMessages, nbMessages, fiMessages, daMessages, svMessages
5685
8500
  i18n.activate(locale);
5686
8501
  };
5687
8502
  activateI18n10(messages212, messages50, messages312, messages410, messages59);
5688
- var IconArrowLeft16 = class extends LitElement9 {
8503
+ var IconArrowLeft16 = class extends LitElement14 {
5689
8504
  render() {
5690
8505
  const title = i18n.t({ message: `Leftward-pointing arrow`, id: "icon.title.arrow-left", comment: "Title for table arrow left icon" });
5691
8506
  return html19`<svg xmlns="http://www.w3.org/2000/svg"width="16"height="16"fill="none"viewBox="0 0 16 16" part="w-icon-arrow-left-16-part">${unsafeStatic9(`<title>${title}</title>`)}<path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M5.222 8h6.667"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M7.444 11.75 4.111 8l3.333-3.75"></path></svg>`;
@@ -5695,9 +8510,6 @@ if (!customElements.get("w-icon-arrow-left-16")) {
5695
8510
  customElements.define("w-icon-arrow-left-16", IconArrowLeft16);
5696
8511
  }
5697
8512
 
5698
- // packages/modal/modal-header.js
5699
- import WarpElement11 from "@warp-ds/elements-core";
5700
-
5701
8513
  // packages/modal/locales/da/messages.mjs
5702
8514
  var messages51 = JSON.parse('{"modal.aria.back":["Tilbage"],"modal.aria.close":["Luk"]}');
5703
8515
 
@@ -5713,19 +8525,18 @@ var messages62 = JSON.parse('{"modal.aria.back":["Tilbake"],"modal.aria.close":[
5713
8525
  // packages/modal/locales/sv/messages.mjs
5714
8526
  var messages63 = JSON.parse('{"modal.aria.back":["Tillbaka"],"modal.aria.close":["St\xE4ng"]}');
5715
8527
 
5716
- // packages/modal/modal-header.js
5717
- var NO_CLOSE_BUTTON = "no-close";
5718
- var ModalHeader = class extends CanCloseMixin(WarpElement11) {
8528
+ // packages/modal/modal-header.ts
8529
+ var ModalHeader = class extends CanCloseMixin(LitElement15) {
5719
8530
  constructor() {
5720
8531
  super();
5721
- activateI18n7(messages60, messages62, messages61, messages51, messages63);
5722
8532
  this._hasTopContent = false;
8533
+ activateI18n7(messages60, messages62, messages61, messages51, messages63);
5723
8534
  }
5724
8535
  render() {
5725
8536
  return html20`
5726
- <div class="${modalElement.header}">
8537
+ <div class="header">
5727
8538
  <slot name="top" @slotchange=${this.handleTopSlotChange}></slot>
5728
- <div class="${this._hasTopContent ? "" : modalElement.headerTitleBar}">
8539
+ <div class="${this._hasTopContent ? "" : "header-title-bar"}">
5729
8540
  ${this.backButton}
5730
8541
  <h1 class="title-el ${this.titleClasses}">${this.title}</h1>
5731
8542
  ${this.closeButton}
@@ -5733,9 +8544,6 @@ var ModalHeader = class extends CanCloseMixin(WarpElement11) {
5733
8544
  </div>
5734
8545
  `;
5735
8546
  }
5736
- get titleEl() {
5737
- return this.shadowRoot.querySelector(".title-el");
5738
- }
5739
8547
  async willUpdate(changedProperties) {
5740
8548
  if (changedProperties.has("back")) {
5741
8549
  const move = new Move(this.titleEl);
@@ -5746,9 +8554,9 @@ var ModalHeader = class extends CanCloseMixin(WarpElement11) {
5746
8554
  }
5747
8555
  get titleClasses() {
5748
8556
  return [
5749
- modalElement.headerTitle,
5750
- this.back ? modalElement.headerTitleWithBackButton : modalElement.headerTitleWithoutBackButton,
5751
- this._hasTopContent ? modalElement.headerTitleWithTopArea : ""
8557
+ "header-title",
8558
+ this.back ? "header-title-with-back-button" : "header-title-without-back-button",
8559
+ this._hasTopContent ? "header-title-with-top-area" : ""
5752
8560
  ].join(" ");
5753
8561
  }
5754
8562
  get backButton() {
@@ -5759,13 +8567,13 @@ var ModalHeader = class extends CanCloseMixin(WarpElement11) {
5759
8567
  message: "Back",
5760
8568
  comment: "Aria label for the back button in modal"
5761
8569
  })}"
5762
- class="${modalElement.headerButton} ${modalElement.headerButtonLeft}"
8570
+ class="header-button header-button-left"
5763
8571
  @click="${this.emitBack}">
5764
8572
  <w-icon-arrow-left-16></w-icon-arrow-left-16>
5765
8573
  </button>` : nothing3;
5766
8574
  }
5767
8575
  get closeButton() {
5768
- if (this[NO_CLOSE_BUTTON]) return nothing3;
8576
+ if (this.noClose) return nothing3;
5769
8577
  return html20`<button
5770
8578
  type="button"
5771
8579
  aria-label="${i18n._({
@@ -5773,7 +8581,7 @@ var ModalHeader = class extends CanCloseMixin(WarpElement11) {
5773
8581
  message: "Close",
5774
8582
  comment: "Aria label for the close button in modal"
5775
8583
  })}"
5776
- class="${modalElement.headerButton} ${this._hasTopContent ? modalElement.headerCloseButtonOnImage : modalElement.headerCloseButton}"
8584
+ class="header-button ${this._hasTopContent ? "header-close-button-on-image" : "header-close-button"}"
5777
8585
  @click="${this.close}">
5778
8586
  <w-icon-close-16></w-icon-close-16>
5779
8587
  </button>`;
@@ -5786,17 +8594,139 @@ var ModalHeader = class extends CanCloseMixin(WarpElement11) {
5786
8594
  this._hasTopContent = !!topContent.length;
5787
8595
  }
5788
8596
  };
5789
- __publicField(ModalHeader, "properties", {
5790
- title: { type: String },
5791
- back: { type: Boolean },
5792
- [NO_CLOSE_BUTTON]: { type: Boolean },
5793
- _hasTopContent: { state: true }
5794
- });
5795
- __publicField(ModalHeader, "styles", [WarpElement11.styles]);
8597
+ ModalHeader.styles = css8`
8598
+ .header {
8599
+ position: relative;
8600
+ padding-bottom: 0.8rem;
8601
+ }
8602
+ .header-title-bar {
8603
+ display: grid;
8604
+ flex-shrink: 0 !important;
8605
+ gap: 1.2rem;
8606
+ grid-template-columns: auto 1fr auto;
8607
+ align-items: flex-start;
8608
+ padding-left: 1.6rem;
8609
+ padding-right: 1.6rem;
8610
+ padding-top: 1.6rem;
8611
+ }
8612
+ .header-title {
8613
+ font-weight: 700;
8614
+ font-size: var(--w-font-size-l);
8615
+ line-height: var(--w-line-height-l);
8616
+ align-self: center;
8617
+ margin: 0;
8618
+ }
8619
+ .header-title-with-back-button {
8620
+ justify-self: center;
8621
+ }
8622
+ .header-title-without-back-button {
8623
+ grid-column: span 2 / span 2;
8624
+ }
8625
+ .header-title-with-top-area {
8626
+ padding-left: 1.6rem;
8627
+ padding-right: 1.6rem;
8628
+ padding-top: 1.6rem;
8629
+ }
8630
+ .header-button:hover {
8631
+ -webkit-background-clip: padding-box;
8632
+ background-clip: padding-box;
8633
+ }
8634
+ .header-button:focus,
8635
+ .header-button:focus-visible {
8636
+ outline: 2px solid var(--w-s-color-border-focus);
8637
+ outline-offset: var(--w-outline-offset, 1px);
8638
+ }
8639
+ .header-button:not(:focus-visible) {
8640
+ outline: none;
8641
+ }
8642
+ .header-button {
8643
+ border-width: 0;
8644
+ border-radius: 9999px;
8645
+ display: inline-flex;
8646
+ align-items: center;
8647
+ justify-content: center;
8648
+ min-height: 40px;
8649
+ min-width: 40px;
8650
+ padding: 0.4rem;
8651
+ font-weight: 700;
8652
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
8653
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
8654
+ transition-duration: 150ms;
8655
+ font-size: var(--w-font-size-m);
8656
+ line-height: var(--w-line-height-m);
8657
+ line-height: 2.4rem;
8658
+ }
8659
+ .header-button-left {
8660
+ background-color: transparent;
8661
+ color: var(--w-s-color-icon);
8662
+ margin-left: -0.8rem;
8663
+ }
8664
+ .header-button-left:hover {
8665
+ background-color: var(--w-color-button-pill-background-hover);
8666
+ }
8667
+ .header-button-left:active {
8668
+ background-color: var(--w-color-button-pill-background-active);
8669
+ }
8670
+ .header-close-button {
8671
+ background-color: transparent;
8672
+ color: var(--w-s-color-icon);
8673
+ margin-right: -0.8rem;
8674
+ }
8675
+ .header-close-button:hover {
8676
+ background-color: var(--w-color-button-pill-background-hover);
8677
+ }
8678
+ .header-close-button:active {
8679
+ background-color: var(--w-color-button-pill-background-active);
8680
+ }
8681
+ .header-close-button-on-image {
8682
+ background-color: rgba(var(--w-rgb-black), 0.7);
8683
+ right: 0.8rem;
8684
+ top: 0.8rem;
8685
+ position: absolute;
8686
+ z-index: 10;
8687
+ color: var(--w-s-color-text-inverted);
8688
+ }
8689
+ .header-close-button-on-image:hover {
8690
+ background-color: rgba(var(--w-rgb-black), 0.85);
8691
+ }
8692
+ .header-close-button-on-image:active {
8693
+ background-color: var(--w-black);
8694
+ }
8695
+ @media (min-width: 480px) {
8696
+ .header-title-bar {
8697
+ padding-left: 3.2rem;
8698
+ padding-right: 3.2rem;
8699
+ padding-top: 2.4rem;
8700
+ }
8701
+ .header-title-with-top-area {
8702
+ padding-left: 3.2rem;
8703
+ padding-right: 3.2rem;
8704
+ }
8705
+ .header-button {
8706
+ min-height: 32px;
8707
+ min-width: 32px;
8708
+ }
8709
+ }
8710
+ `;
8711
+ __decorateClass([
8712
+ property5({ type: String })
8713
+ ], ModalHeader.prototype, "title", 2);
8714
+ __decorateClass([
8715
+ property5({ type: Boolean })
8716
+ ], ModalHeader.prototype, "back", 2);
8717
+ __decorateClass([
8718
+ property5({ type: Boolean, attribute: "no-close" })
8719
+ ], ModalHeader.prototype, "noClose", 2);
8720
+ __decorateClass([
8721
+ state()
8722
+ ], ModalHeader.prototype, "_hasTopContent", 2);
8723
+ __decorateClass([
8724
+ query(".title-el")
8725
+ ], ModalHeader.prototype, "titleEl", 2);
5796
8726
 
5797
- // packages/modal/modal-main.js
5798
- import { css as css6, html as html21 } from "lit";
5799
- import WarpElement12 from "@warp-ds/elements-core";
8727
+ // packages/modal/modal-main.ts
8728
+ import { css as css9, html as html21, LitElement as LitElement16 } from "lit";
8729
+ import { property as property6, query as query2 } from "lit/decorators.js";
5800
8730
 
5801
8731
  // node_modules/.pnpm/scroll-doctor@2.0.2/node_modules/scroll-doctor/dist/scroll-doctor.js
5802
8732
  var n = [];
@@ -5856,10 +8786,8 @@ function T() {
5856
8786
  n.forEach(p), g(), f(), n = [];
5857
8787
  }
5858
8788
 
5859
- // packages/modal/modal-main.js
5860
- var NO_BACKDROP_CLICKS = "ignore-backdrop-clicks";
5861
- var CONTENT_ID = "content-id";
5862
- var ModalMain = class extends ProvidesCanCloseToSlotsMixin(WarpElement12) {
8789
+ // packages/modal/modal-main.ts
8790
+ var ModalMain = class extends ProvidesCanCloseToSlotsMixin(LitElement16) {
5863
8791
  constructor() {
5864
8792
  super();
5865
8793
  this.interceptEscape = this.interceptEscape.bind(this);
@@ -5891,10 +8819,10 @@ var ModalMain = class extends ProvidesCanCloseToSlotsMixin(WarpElement12) {
5891
8819
  }
5892
8820
  render() {
5893
8821
  return html21`
5894
- <dialog class="dialog-el w-modal ${modalElement.dialogEl}">
5895
- <div class="dialog-inner-el ${modalElement.dialogInner}">
8822
+ <dialog class="dialog-el">
8823
+ <div class="dialog-inner-el">
5896
8824
  <slot name="header" @slotchange="${this.handleSlotChange}"></slot>
5897
- <div class="content-el ${modalElement.contentSlot}" id=${this[CONTENT_ID]}>
8825
+ <div class="content-el" id=${this.contentId}>
5898
8826
  <slot name="content" @slotchange="${this.handleSlotChange}"></slot>
5899
8827
  </div>
5900
8828
  <slot name="footer" @slotchange="${this.handleSlotChange}"></slot>
@@ -5902,34 +8830,22 @@ var ModalMain = class extends ProvidesCanCloseToSlotsMixin(WarpElement12) {
5902
8830
  </dialog>
5903
8831
  `;
5904
8832
  }
5905
- get dialogEl() {
5906
- return this.shadowRoot.querySelector(".dialog-el");
5907
- }
5908
- get dialogInnerEl() {
5909
- return this.shadowRoot.querySelector(".dialog-inner-el");
5910
- }
5911
- get contentEl() {
5912
- return this.shadowRoot.querySelector(".content-el");
5913
- }
5914
8833
  updated(changedProperties) {
5915
8834
  if (changedProperties.has("show")) this[this.show ? "open" : "close"]();
5916
8835
  }
5917
8836
  handleListeners(verb = "addEventListener") {
5918
8837
  document[verb]("keydown", this.interceptEscape);
5919
- if (!this[NO_BACKDROP_CLICKS]) this.dialogEl[verb]("mousedown", this.closeOnBackdropClick);
8838
+ if (!this.ignoreBackdropClicks) this.dialogEl[verb]("mousedown", this.closeOnBackdropClick);
5920
8839
  this.dialogEl[verb]("close", this.eventPreventer);
5921
8840
  this.dialogEl[verb]("cancel", this.eventPreventer);
5922
8841
  this.dialogInnerEl[verb]("transitionend", this.modifyBorderRadius);
5923
8842
  }
5924
- /** @param {Event} evt */
5925
8843
  eventPreventer(evt) {
5926
8844
  evt.preventDefault();
5927
8845
  }
5928
- /** @param {MouseEvent} evt */
5929
8846
  closeOnBackdropClick(evt) {
5930
8847
  if (this.dialogEl === evt.target) this.close();
5931
8848
  }
5932
- /** @param {KeyboardEvent} evt */
5933
8849
  interceptEscape(evt) {
5934
8850
  if (evt.key === "Escape") {
5935
8851
  evt.preventDefault();
@@ -5941,32 +8857,89 @@ var ModalMain = class extends ProvidesCanCloseToSlotsMixin(WarpElement12) {
5941
8857
  else this.dialogInnerEl.style.borderRadius = null;
5942
8858
  }
5943
8859
  };
5944
- __publicField(ModalMain, "properties", {
5945
- show: { type: Boolean },
5946
- [CONTENT_ID]: { type: String },
5947
- [NO_BACKDROP_CLICKS]: { type: Boolean }
5948
- });
5949
- __publicField(ModalMain, "styles", [
5950
- WarpElement12.styles,
5951
- css6`
5952
- .w-modal {
8860
+ ModalMain.styles = [
8861
+ css9`
8862
+ .dialog-el {
5953
8863
  --w-modal-translate-distance: 100%;
8864
+ --w-modal-max-height: 80%;
8865
+ --w-modal-width: 640px;
8866
+ background-color: transparent;
8867
+ border-width: 0;
8868
+ align-items: flex-end;
8869
+ inset: 0rem;
8870
+ height: unset;
8871
+ max-height: unset;
8872
+ max-width: unset;
8873
+ width: unset;
8874
+ margin: auto;
8875
+ padding: 0rem;
8876
+ backface-visibility: hidden;
8877
+ }
8878
+ .dialog-inner-el {
8879
+ will-change: height;
8880
+ border-radius: 8px;
8881
+ display: flex;
8882
+ flex-direction: column;
8883
+ overflow: hidden;
8884
+ position: relative;
8885
+ background-color: var(--w-s-color-background);
8886
+ box-shadow: var(--w-shadow-m);
8887
+ height: var(--w-modal-height);
8888
+ max-height: var(--w-modal-max-height);
8889
+ min-height: var(--w-modal-min-height);
8890
+ width: var(--w-modal-width);
8891
+ backface-visibility: hidden;
8892
+ padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));
8893
+ transition-property: all;
8894
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
8895
+ transition-duration: 150ms;
8896
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
8897
+ }
8898
+ .content-el {
8899
+ display: block;
8900
+ flex-shrink: 1;
8901
+ flex-grow: 1;
8902
+ overflow-x: hidden;
8903
+ overflow-y: auto;
8904
+ position: relative;
8905
+ margin-bottom: 0rem;
8906
+ padding-left: 1.6rem;
8907
+ padding-right: 1.6rem;
5954
8908
  }
5955
8909
  @media (min-width: 480px) {
5956
- .w-modal {
8910
+ .dialog-el {
5957
8911
  --w-modal-translate-distance: 50%;
8912
+ place-content: center;
8913
+ place-items: center;
8914
+ }
8915
+ .dialog-inner-el {
8916
+ margin-left: 1.6rem;
8917
+ margin-right: 1.6rem;
8918
+ padding-bottom: 3.2rem;
8919
+ }
8920
+ .content-el {
8921
+ padding-left: 3.2rem;
8922
+ padding-right: 3.2rem;
8923
+ }
8924
+ }
8925
+ @media (max-width: 479.9px) {
8926
+ .dialog-inner-el {
8927
+ border-bottom-left-radius: 0;
8928
+ border-bottom-right-radius: 0;
5958
8929
  }
5959
8930
  }
5960
- .w-modal[open] {
8931
+ .dialog-el[open] {
5961
8932
  animation: w-modal-in 0.3s ease-in-out forwards;
8933
+ display: flex;
8934
+ position: fixed;
5962
8935
  }
5963
- .w-modal.close {
8936
+ .dialog-el.close {
5964
8937
  animation: w-modal-out 0.3s ease-in-out forwards;
5965
8938
  }
5966
- .w-modal[open]::backdrop {
8939
+ .dialog-el[open]::backdrop {
5967
8940
  animation: backdrop-in 0.3s ease-in-out forwards;
5968
8941
  }
5969
- .w-modal.close::backdrop {
8942
+ .dialog-el.close::backdrop {
5970
8943
  animation: backdrop-out 0.3s ease-in-out forwards;
5971
8944
  }
5972
8945
  /* shouldn't need two (in/out) animations declared here, but reversing is being weird */
@@ -6007,7 +8980,25 @@ __publicField(ModalMain, "styles", [
6007
8980
  }
6008
8981
  }
6009
8982
  `
6010
- ]);
8983
+ ];
8984
+ __decorateClass([
8985
+ property6({ type: Boolean })
8986
+ ], ModalMain.prototype, "show", 2);
8987
+ __decorateClass([
8988
+ property6({ type: String, attribute: "content-id" })
8989
+ ], ModalMain.prototype, "contentId", 2);
8990
+ __decorateClass([
8991
+ property6({ type: Boolean, attribute: "ignore-backdrop-clicks" })
8992
+ ], ModalMain.prototype, "ignoreBackdropClicks", 2);
8993
+ __decorateClass([
8994
+ query2(".dialog-el")
8995
+ ], ModalMain.prototype, "dialogEl", 2);
8996
+ __decorateClass([
8997
+ query2(".dialog-inner-el")
8998
+ ], ModalMain.prototype, "dialogInnerEl", 2);
8999
+ __decorateClass([
9000
+ query2(".content-el")
9001
+ ], ModalMain.prototype, "contentEl", 2);
6011
9002
 
6012
9003
  // packages/modal/index.js
6013
9004
  if (!customElements.get("w-modal")) {
@@ -6018,7 +9009,7 @@ if (!customElements.get("w-modal")) {
6018
9009
 
6019
9010
  // packages/pill/index.js
6020
9011
  import { html as html22 } from "lit";
6021
- import WarpElement13 from "@warp-ds/elements-core";
9012
+ import WarpElement7 from "@warp-ds/elements-core";
6022
9013
 
6023
9014
  // packages/pill/locales/da/messages.mjs
6024
9015
  var messages64 = JSON.parse('{"pill.aria.openFilter":["\xC5bn filter"],"pill.aria.removeFilter":["Fjern filter ",["label"]]}');
@@ -6036,7 +9027,7 @@ var messages67 = JSON.parse('{"pill.aria.openFilter":["\xC5pne filter"],"pill.ar
6036
9027
  var messages68 = JSON.parse('{"pill.aria.openFilter":["\xD6ppna filter"],"pill.aria.removeFilter":["Ta bort filtret ",["label"]]}');
6037
9028
 
6038
9029
  // packages/pill/index.js
6039
- var WarpPill = class extends kebabCaseAttributes(WarpElement13) {
9030
+ var WarpPill = class extends kebabCaseAttributes(WarpElement7) {
6040
9031
  constructor() {
6041
9032
  super();
6042
9033
  activateI18n7(messages65, messages67, messages66, messages64, messages68);
@@ -6085,7 +9076,7 @@ var WarpPill = class extends kebabCaseAttributes(WarpElement13) {
6085
9076
  `;
6086
9077
  }
6087
9078
  };
6088
- __publicField(WarpPill, "styles", [WarpElement13.styles]);
9079
+ __publicField(WarpPill, "styles", [WarpElement7.styles]);
6089
9080
  __publicField(WarpPill, "properties", {
6090
9081
  canClose: { type: Boolean },
6091
9082
  suggestion: { type: Boolean },
@@ -6098,7 +9089,7 @@ if (!customElements.get("w-pill")) {
6098
9089
 
6099
9090
  // packages/select/index.js
6100
9091
  import { html as html23 } from "lit";
6101
- import WarpElement14 from "@warp-ds/elements-core";
9092
+ import WarpElement8 from "@warp-ds/elements-core";
6102
9093
  import { ifDefined as ifDefined5 } from "lit/directives/if-defined.js";
6103
9094
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
6104
9095
  import { when } from "lit/directives/when.js";
@@ -6120,23 +9111,33 @@ var messages73 = JSON.parse('{"select.label.optional":["(valfritt)"]}');
6120
9111
 
6121
9112
  // packages/select/index.js
6122
9113
  var _WarpSelect_instances, classes_get, helpTextClasses_get, chevronClasses_get2, id_get, helpId_get;
6123
- var WarpSelect = class extends kebabCaseAttributes(WarpElement14) {
9114
+ var WarpSelect = class extends FormControlMixin(kebabCaseAttributes(WarpElement8)) {
6124
9115
  constructor() {
6125
9116
  super();
6126
9117
  __privateAdd(this, _WarpSelect_instances);
9118
+ __publicField(this, "_setValue", (value) => {
9119
+ this.value = value;
9120
+ this.setValue(value);
9121
+ });
6127
9122
  activateI18n7(messages70, messages72, messages71, messages69, messages73);
6128
9123
  this._options = this.innerHTML;
6129
9124
  }
6130
9125
  firstUpdated() {
6131
- this.autoFocus && this.shadowRoot.querySelector("select").focus();
9126
+ if (this.autoFocus) this.shadowRoot.querySelector("select").focus();
9127
+ Array.from(this.children).map((child) => {
9128
+ if (child.selected) {
9129
+ this._setValue(child.value);
9130
+ }
9131
+ });
6132
9132
  }
6133
9133
  handleKeyDown(event) {
6134
9134
  if (this.readOnly && (event.key === " " || event.key === "ArrowDown" || event.key === "ArrowUp")) {
6135
9135
  event.preventDefault();
6136
9136
  }
6137
9137
  }
6138
- // Fire a custom 'change' event, used when the dropdown changes state.
9138
+ // // Fire a custom 'change' event, used when the dropdown changes state.
6139
9139
  onChange({ target }) {
9140
+ this._setValue(target.value);
6140
9141
  const event = new CustomEvent("change", { detail: target.value });
6141
9142
  this.dispatchEvent(event);
6142
9143
  }
@@ -6217,18 +9218,20 @@ __publicField(WarpSelect, "properties", {
6217
9218
  disabled: { type: Boolean, reflect: true },
6218
9219
  // Renders the field in a readonly state.
6219
9220
  readOnly: { type: Boolean, relfect: true },
6220
- _options: { state: true }
9221
+ _options: { state: true },
9222
+ name: { type: String, reflect: true },
9223
+ value: { type: String, reflect: true }
6221
9224
  });
6222
- __publicField(WarpSelect, "styles", [WarpElement14.styles]);
9225
+ __publicField(WarpSelect, "styles", [WarpElement8.styles]);
6223
9226
  if (!customElements.get("w-select")) {
6224
9227
  customElements.define("w-select", WarpSelect);
6225
9228
  }
6226
9229
 
6227
9230
  // packages/textfield/index.js
6228
- import { css as css7, html as html24 } from "lit";
6229
- import WarpElement15 from "@warp-ds/elements-core";
9231
+ import { css as css10, html as html24 } from "lit";
9232
+ import WarpElement9 from "@warp-ds/elements-core";
6230
9233
  import { ifDefined as ifDefined6 } from "lit/directives/if-defined.js";
6231
- var WarpTextField = class extends kebabCaseAttributes(WarpElement15) {
9234
+ var WarpTextField = class extends FormControlMixin(kebabCaseAttributes(WarpElement9)) {
6232
9235
  constructor() {
6233
9236
  super();
6234
9237
  this.type = "text";
@@ -6251,18 +9254,22 @@ var WarpTextField = class extends kebabCaseAttributes(WarpElement15) {
6251
9254
  if (this.label) {
6252
9255
  return html24`<label for="${this._id}" class=${label.base}>${this.label}</label>`;
6253
9256
  }
9257
+ return void 0;
6254
9258
  }
6255
9259
  get _helpId() {
6256
9260
  if (this.helpText) return `${this._id}__hint`;
9261
+ return void 0;
6257
9262
  }
6258
9263
  get _id() {
6259
9264
  return "textfield";
6260
9265
  }
6261
9266
  get _error() {
6262
9267
  if (this.invalid && this._helpId) return this._helpId;
9268
+ return void 0;
6263
9269
  }
6264
9270
  handler(e) {
6265
9271
  const { name, value } = e.target;
9272
+ this.setValue(value);
6266
9273
  const event = new CustomEvent(e.type, {
6267
9274
  detail: {
6268
9275
  name,
@@ -6272,12 +9279,12 @@ var WarpTextField = class extends kebabCaseAttributes(WarpElement15) {
6272
9279
  });
6273
9280
  this.dispatchEvent(event);
6274
9281
  }
6275
- prefixSlotChange(e) {
9282
+ prefixSlotChange() {
6276
9283
  const el = this.renderRoot.querySelector("slot[name=prefix]");
6277
9284
  const affixes = el.assignedElements();
6278
9285
  if (affixes.length) this._hasPrefix = true;
6279
9286
  }
6280
- suffixSlotChange(e) {
9287
+ suffixSlotChange() {
6281
9288
  const el = this.renderRoot.querySelector("slot[name=suffix]");
6282
9289
  const affixes = el.assignedElements();
6283
9290
  if (affixes.length) this._hasSuffix = true;
@@ -6326,13 +9333,13 @@ __publicField(WarpTextField, "properties", {
6326
9333
  min: { type: Number },
6327
9334
  minLength: { type: Number },
6328
9335
  maxLength: { type: Number },
6329
- name: { type: String },
6330
9336
  pattern: { type: String },
6331
9337
  placeholder: { type: String },
6332
9338
  readOnly: { type: Boolean },
6333
9339
  required: { type: Boolean },
6334
9340
  type: { type: String },
6335
9341
  value: { type: String },
9342
+ name: { type: String },
6336
9343
  _hasPrefix: { state: true },
6337
9344
  _hasSuffix: { state: true }
6338
9345
  });
@@ -6341,8 +9348,8 @@ __publicField(WarpTextField, "properties", {
6341
9348
  // so never gets higher Specificity. Thus in order to overwrite style linked within shadowDOM, we need to use !important.
6342
9349
  // https://stackoverflow.com/a/61631668
6343
9350
  __publicField(WarpTextField, "styles", [
6344
- WarpElement15.styles,
6345
- css7`
9351
+ WarpElement9.styles,
9352
+ css10`
6346
9353
  :host {
6347
9354
  display: block;
6348
9355
  }
@@ -6384,10 +9391,10 @@ function updateToast(id, options) {
6384
9391
  }
6385
9392
 
6386
9393
  // packages/toast/toast-container.js
6387
- import { css as css8, html as html25 } from "lit";
6388
- import WarpElement16 from "@warp-ds/elements-core";
9394
+ import { css as css11, html as html25 } from "lit";
9395
+ import WarpElement10 from "@warp-ds/elements-core";
6389
9396
  import { repeat } from "lit/directives/repeat.js";
6390
- var WarpToastContainer = class extends WarpElement16 {
9397
+ var WarpToastContainer = class extends WarpElement10 {
6391
9398
  constructor() {
6392
9399
  super();
6393
9400
  this._toasts = /* @__PURE__ */ new Map();
@@ -6490,8 +9497,8 @@ var WarpToastContainer = class extends WarpElement16 {
6490
9497
  }
6491
9498
  };
6492
9499
  __publicField(WarpToastContainer, "styles", [
6493
- WarpElement16.styles,
6494
- css8`
9500
+ WarpElement10.styles,
9501
+ css11`
6495
9502
  :host {
6496
9503
  display: block;
6497
9504
  }
@@ -6505,17 +9512,17 @@ if (!customElements.get("w-toast-container")) {
6505
9512
  }
6506
9513
 
6507
9514
  // packages/toast/toast.js
6508
- import { css as css9, html as html26 } from "lit";
6509
- import WarpElement17 from "@warp-ds/elements-core";
9515
+ import { css as css12, html as html26 } from "lit";
9516
+ import WarpElement11 from "@warp-ds/elements-core";
6510
9517
 
6511
9518
  // node_modules/.pnpm/element-collapse@1.1.0/node_modules/element-collapse/index.js
6512
9519
  var windowExists3 = typeof window !== "undefined";
6513
9520
  var prefersMotion = true;
6514
9521
  if (windowExists3) {
6515
- const query = window.matchMedia("(prefers-reduced-motion: reduce)");
9522
+ const query3 = window.matchMedia("(prefers-reduced-motion: reduce)");
6516
9523
  const callback = ({ matches }) => prefersMotion = !matches;
6517
- if (query.addEventListener) query.addEventListener("change", callback);
6518
- callback(query);
9524
+ if (query3.addEventListener) query3.addEventListener("change", callback);
9525
+ callback(query3);
6519
9526
  }
6520
9527
  var removeTransition = (el) => {
6521
9528
  el.style.transition = null;
@@ -6599,7 +9606,7 @@ var toastType = {
6599
9606
  warning: "warning"
6600
9607
  };
6601
9608
  var _WarpToast_instances, primaryClasses_get, iconClasses_get;
6602
- var WarpToast = class extends WarpElement17 {
9609
+ var WarpToast = class extends WarpElement11 {
6603
9610
  constructor() {
6604
9611
  super();
6605
9612
  __privateAdd(this, _WarpToast_instances);
@@ -6710,8 +9717,8 @@ iconClasses_get = function() {
6710
9717
  ]);
6711
9718
  };
6712
9719
  __publicField(WarpToast, "styles", [
6713
- WarpElement17.styles,
6714
- css9`
9720
+ WarpElement11.styles,
9721
+ css12`
6715
9722
  :host {
6716
9723
  display: block;
6717
9724
  }
@@ -6728,10 +9735,10 @@ if (!customElements.get("w-toast")) {
6728
9735
  }
6729
9736
 
6730
9737
  // packages/utils/expand-transition.js
6731
- import { css as css10, html as html27 } from "lit";
6732
- import WarpElement18 from "@warp-ds/elements-core";
9738
+ import { css as css13, html as html27 } from "lit";
9739
+ import WarpElement12 from "@warp-ds/elements-core";
6733
9740
  import { ifDefined as ifDefined7 } from "lit/directives/if-defined.js";
6734
- var ExpandTransition = class extends WarpElement18 {
9741
+ var ExpandTransition = class extends WarpElement12 {
6735
9742
  constructor() {
6736
9743
  super();
6737
9744
  this.show = false;
@@ -6774,8 +9781,8 @@ __publicField(ExpandTransition, "properties", {
6774
9781
  _removeElement: { type: Boolean, state: true }
6775
9782
  });
6776
9783
  __publicField(ExpandTransition, "styles", [
6777
- WarpElement18.styles,
6778
- css10`
9784
+ WarpElement12.styles,
9785
+ css13`
6779
9786
  :host {
6780
9787
  display: block;
6781
9788
  }
@@ -6787,9 +9794,9 @@ if (!customElements.get("w-expand-transition")) {
6787
9794
 
6788
9795
  // packages/utils/unstyled-heading.js
6789
9796
  import { html as html28 } from "lit";
6790
- import WarpElement19 from "@warp-ds/elements-core";
9797
+ import WarpElement13 from "@warp-ds/elements-core";
6791
9798
  import { unsafeHTML as unsafeHTML2 } from "lit/directives/unsafe-html.js";
6792
- var UnstyledHeading = class extends WarpElement19 {
9799
+ var UnstyledHeading = class extends WarpElement13 {
6793
9800
  get _markup() {
6794
9801
  return `<h${this.level}
6795
9802
  style="margin: 0; font-weight: unset; font-size: unset; line-height: unset;"
@@ -6805,7 +9812,7 @@ var UnstyledHeading = class extends WarpElement19 {
6805
9812
  __publicField(UnstyledHeading, "properties", {
6806
9813
  level: { type: Number }
6807
9814
  });
6808
- __publicField(UnstyledHeading, "styles", [WarpElement19.styles]);
9815
+ __publicField(UnstyledHeading, "styles", [WarpElement13.styles]);
6809
9816
  if (!customElements.get("w-unstyled-heading")) {
6810
9817
  customElements.define("w-unstyled-heading", UnstyledHeading);
6811
9818
  }