@ticketlayer/elements 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +3 -2
  2. package/dist/cjs/{index-BpfoKd9Q.js → index-I9CoYv3k.js} +1 -1
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/money-BtmM2gt-.js +118 -0
  6. package/dist/cjs/{order-summary-ZMkJ5bez.js → order-summary-X3TlZxc2.js} +34 -0
  7. package/dist/cjs/ticketlayer-elements.cjs.js +2 -2
  8. package/dist/cjs/tl-buy-modal.cjs.entry.js +3 -3
  9. package/dist/cjs/tl-buy-tickets-button.cjs.entry.js +10 -7
  10. package/dist/cjs/tl-buy-tickets-wrapper.cjs.entry.js +2 -2
  11. package/dist/cjs/tl-cart-badge.cjs.entry.js +2 -2
  12. package/dist/cjs/tl-cart-drawer.cjs.entry.js +3 -3
  13. package/dist/cjs/tl-cart.cjs.entry.js +10 -4
  14. package/dist/cjs/tl-checkout-wrapper.cjs.entry.js +2 -2
  15. package/dist/cjs/tl-event-card.cjs.entry.js +4 -3
  16. package/dist/cjs/tl-event-list.cjs.entry.js +2 -2
  17. package/dist/cjs/tl-login.cjs.entry.js +4 -3
  18. package/dist/cjs/tl-my-orders.cjs.entry.js +4 -3
  19. package/dist/cjs/tl-occurrence-selector_2.cjs.entry.js +454 -122
  20. package/dist/cjs/tl-order-confirmation.cjs.entry.js +11 -8
  21. package/dist/cjs/tl-order-tickets_2.cjs.entry.js +3 -3
  22. package/dist/cjs/tl-promo-code.cjs.entry.js +4 -3
  23. package/dist/cjs/tl-seat-map.cjs.entry.js +2 -2
  24. package/dist/collection/components/tl-buy-modal/tl-buy-modal.css +12 -19
  25. package/dist/collection/components/tl-buy-modal/tl-buy-modal.js +1 -1
  26. package/dist/collection/components/tl-buy-tickets-button/tl-buy-tickets-button.css +4 -4
  27. package/dist/collection/components/tl-buy-tickets-button/tl-buy-tickets-button.js +8 -5
  28. package/dist/collection/components/tl-buy-tickets-wrapper/tl-buy-tickets-wrapper.css +2 -2
  29. package/dist/collection/components/tl-cart/tl-cart.css +52 -51
  30. package/dist/collection/components/tl-cart/tl-cart.js +8 -2
  31. package/dist/collection/components/tl-cart-badge/tl-cart-badge.css +11 -11
  32. package/dist/collection/components/tl-cart-drawer/tl-cart-drawer.css +6 -6
  33. package/dist/collection/components/tl-cart-drawer/tl-cart-drawer.js +1 -1
  34. package/dist/collection/components/tl-checkout-wrapper/tl-checkout-wrapper.css +2 -2
  35. package/dist/collection/components/tl-event-card/tl-event-card.css +22 -22
  36. package/dist/collection/components/tl-event-list/tl-event-list.css +17 -17
  37. package/dist/collection/components/tl-login/tl-login.css +26 -26
  38. package/dist/collection/components/tl-my-orders/tl-my-orders.css +40 -40
  39. package/dist/collection/components/tl-occurrence-selector/tl-occurrence-selector.css +54 -65
  40. package/dist/collection/components/tl-order-confirmation/tl-order-confirmation.css +38 -38
  41. package/dist/collection/components/tl-order-confirmation/tl-order-confirmation.js +8 -6
  42. package/dist/collection/components/tl-order-tickets/tl-order-tickets.css +9 -9
  43. package/dist/collection/components/tl-promo-code/tl-promo-code.css +25 -25
  44. package/dist/collection/components/tl-seat-map/tl-seat-map.css +10 -10
  45. package/dist/collection/components/tl-ticket/tl-ticket.css +13 -13
  46. package/dist/collection/components/tl-ticket-selector/tl-ticket-selector.css +74 -49
  47. package/dist/collection/components/tl-ticket-selector/tl-ticket-selector.js +72 -126
  48. package/dist/collection/utils/cart-totals.js +9 -0
  49. package/dist/collection/utils/order-summary.js +36 -0
  50. package/dist/components/money.js +1 -0
  51. package/dist/components/order-summary.js +1 -1
  52. package/dist/components/tl-buy-modal.js +1 -1
  53. package/dist/components/tl-buy-tickets-button.js +1 -1
  54. package/dist/components/tl-buy-tickets-wrapper2.js +1 -1
  55. package/dist/components/tl-cart-badge.js +1 -1
  56. package/dist/components/tl-cart-drawer.js +1 -1
  57. package/dist/components/tl-cart2.js +1 -1
  58. package/dist/components/tl-checkout-wrapper2.js +1 -1
  59. package/dist/components/tl-event-card2.js +1 -1
  60. package/dist/components/tl-event-list.js +1 -1
  61. package/dist/components/tl-login2.js +1 -1
  62. package/dist/components/tl-my-orders.js +1 -1
  63. package/dist/components/tl-occurrence-selector2.js +1 -1
  64. package/dist/components/tl-order-confirmation.js +1 -1
  65. package/dist/components/tl-order-tickets2.js +1 -1
  66. package/dist/components/tl-promo-code.js +1 -1
  67. package/dist/components/tl-seat-map.js +1 -1
  68. package/dist/components/tl-ticket-selector2.js +1 -1
  69. package/dist/components/tl-ticket2.js +1 -1
  70. package/dist/elements.docs.json +4 -4
  71. package/dist/esm/{index-CNX8hZa8.js → index-OoYV1faY.js} +1 -1
  72. package/dist/esm/index.js +1 -1
  73. package/dist/esm/loader.js +3 -3
  74. package/dist/esm/money-4ig0-WB6.js +112 -0
  75. package/dist/esm/{order-summary-BGekdjN9.js → order-summary-DiDtvfZM.js} +34 -1
  76. package/dist/esm/ticketlayer-elements.js +3 -3
  77. package/dist/esm/tl-buy-modal.entry.js +3 -3
  78. package/dist/esm/tl-buy-tickets-button.entry.js +10 -7
  79. package/dist/esm/tl-buy-tickets-wrapper.entry.js +2 -2
  80. package/dist/esm/tl-cart-badge.entry.js +2 -2
  81. package/dist/esm/tl-cart-drawer.entry.js +3 -3
  82. package/dist/esm/tl-cart.entry.js +10 -4
  83. package/dist/esm/tl-checkout-wrapper.entry.js +2 -2
  84. package/dist/esm/tl-event-card.entry.js +4 -3
  85. package/dist/esm/tl-event-list.entry.js +2 -2
  86. package/dist/esm/tl-login.entry.js +4 -3
  87. package/dist/esm/tl-my-orders.entry.js +4 -3
  88. package/dist/esm/tl-occurrence-selector_2.entry.js +455 -123
  89. package/dist/esm/tl-order-confirmation.entry.js +11 -8
  90. package/dist/esm/tl-order-tickets_2.entry.js +3 -3
  91. package/dist/esm/tl-promo-code.entry.js +4 -3
  92. package/dist/esm/tl-seat-map.entry.js +2 -2
  93. package/dist/ticketlayer-elements/index.esm.js +1 -1
  94. package/dist/ticketlayer-elements/p-0814420f.entry.js +1 -0
  95. package/dist/ticketlayer-elements/p-0acabc26.entry.js +1 -0
  96. package/dist/ticketlayer-elements/{p-9629029a.entry.js → p-109a3feb.entry.js} +1 -1
  97. package/dist/ticketlayer-elements/{p-e02079fa.entry.js → p-1a4ba71c.entry.js} +1 -1
  98. package/dist/ticketlayer-elements/p-318965c1.entry.js +1 -0
  99. package/dist/ticketlayer-elements/p-347c7fd1.entry.js +1 -0
  100. package/dist/ticketlayer-elements/p-3649c26d.entry.js +1 -0
  101. package/dist/ticketlayer-elements/p-40260cc9.entry.js +1 -0
  102. package/dist/ticketlayer-elements/p-4ig0-WB6.js +1 -0
  103. package/dist/ticketlayer-elements/p-55fd2f9f.entry.js +1 -0
  104. package/dist/ticketlayer-elements/p-62ee659b.entry.js +1 -0
  105. package/dist/ticketlayer-elements/p-7d4ecc2b.entry.js +1 -0
  106. package/dist/ticketlayer-elements/p-7f0abf95.entry.js +1 -0
  107. package/dist/ticketlayer-elements/p-BXpVGW51.js +1 -0
  108. package/dist/ticketlayer-elements/p-OoYV1faY.js +3 -0
  109. package/dist/ticketlayer-elements/p-a3c1b26c.entry.js +1 -0
  110. package/dist/ticketlayer-elements/{p-1c51cbc1.entry.js → p-ac264adc.entry.js} +1 -1
  111. package/dist/ticketlayer-elements/{p-895ba1f3.entry.js → p-aeb4c6fb.entry.js} +1 -1
  112. package/dist/ticketlayer-elements/{p-fa639d88.entry.js → p-ba62541f.entry.js} +1 -1
  113. package/dist/ticketlayer-elements/ticketlayer-elements.css +1 -1
  114. package/dist/ticketlayer-elements/ticketlayer-elements.esm.js +1 -1
  115. package/dist/types/components/tl-cart/tl-cart.d.ts +10 -0
  116. package/dist/types/components/tl-ticket-selector/tl-ticket-selector.d.ts +40 -29
  117. package/dist/types/components.d.ts +32 -0
  118. package/dist/types/utils/cart-totals.d.ts +10 -0
  119. package/dist/types/utils/order-summary.d.ts +34 -0
  120. package/elements.catalogue.json +91 -22
  121. package/package.json +12 -6
  122. package/dist/ticketlayer-elements/p-0b1d16f8.entry.js +0 -1
  123. package/dist/ticketlayer-elements/p-1471f6d8.entry.js +0 -1
  124. package/dist/ticketlayer-elements/p-5169f68b.entry.js +0 -1
  125. package/dist/ticketlayer-elements/p-8d5722e1.entry.js +0 -1
  126. package/dist/ticketlayer-elements/p-917d8e09.entry.js +0 -1
  127. package/dist/ticketlayer-elements/p-BGekdjN9.js +0 -1
  128. package/dist/ticketlayer-elements/p-CNX8hZa8.js +0 -3
  129. package/dist/ticketlayer-elements/p-a22714d0.entry.js +0 -1
  130. package/dist/ticketlayer-elements/p-bf73044b.entry.js +0 -1
  131. package/dist/ticketlayer-elements/p-e04ace15.entry.js +0 -1
  132. package/dist/ticketlayer-elements/p-e6fab1d5.entry.js +0 -1
  133. package/dist/ticketlayer-elements/p-f826b753.entry.js +0 -1
  134. package/dist/ticketlayer-elements/p-fbaca948.entry.js +0 -1
@@ -1,10 +1,10 @@
1
1
  :host {
2
- --_bg: var(--tl-background, #ffffff);
3
- --_fg: var(--tl-foreground, #111827);
4
- --_muted-fg: var(--tl-muted-foreground, #6b7280);
5
- --_muted: var(--tl-muted, #f3f4f6);
6
- --_border: var(--tl-border, #e5e7eb);
7
- --_font: var(--tl-font-family, system-ui, -apple-system, sans-serif);
2
+ --_bg: var(--tl-background);
3
+ --_fg: var(--tl-foreground);
4
+ --_muted-fg: var(--tl-muted-foreground);
5
+ --_muted: var(--tl-muted);
6
+ --_border: var(--tl-border);
7
+ --_font: var(--tl-font-family);
8
8
  font-family: var(--_font);
9
9
  }
10
10
 
@@ -60,7 +60,7 @@ export class TlCartDrawer {
60
60
  return (h(Host, { key: '022314d9fb612e930da52ece34f2ab8ae8ce44da' }, h("div", { key: '985b4001145d72ba91ef7d466adba8ab939e9cc4', class: { overlay: true, 'is-open': this.visible }, onClick: (e) => {
61
61
  if (e.target === e.currentTarget)
62
62
  this.close();
63
- } }, h("aside", { key: '3ac3588ae8feacd4f8bb96bdae8ef71e80ecb4b3', class: { panel: true, [`panel--${this.side}`]: true, 'is-open': this.visible }, role: "dialog", "aria-modal": "true", "aria-label": this.heading, "aria-hidden": this.visible ? 'false' : 'true' }, h("header", { key: 'e0126d634e952ebf56b73e54545f6c3981210827', class: "drawer-header" }, h("h2", { key: 'a72b23114aa836076ec59cd4a5d1438d228179d9', class: "drawer-title" }, this.heading), h("button", { key: '92fb5b159490440352a6c23d65aa6e8c956ae3d8', class: "close-btn", onClick: this.close, "aria-label": "Close cart" }, h("svg", { key: '138f4dc7669e62fb667091da0ba26dfbe94327c6', viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { key: '21fedd9dc89937a92f9c1124d4fa834b55908f1e', d: "M6 6l12 12M18 6L6 18", "stroke-linecap": "round" })))), h("div", { key: 'ebee87cb6a3c98dbf813d0a903a9cb4da2c696f3', class: "drawer-body" }, h("tl-cart", { key: '323db3a160837b68ffaa767e647ec67b06fa53b0' })), h("footer", { key: 'd35543373eb13ad1acc46ae50aefcb5a04f305a1', class: "drawer-footer" }, h("div", { key: '52229c74d39471bf186c965b6a53b38f79ce8d61', class: "pb-links" }, h("a", { key: 'd0430bf93d920c57fc42043faed7e8fd895855aa', href: "https://ticketlayer.com/privacy", target: "_blank", rel: "noopener noreferrer" }, "Privacy Policy"), h("a", { key: '2a75dc8dcdc9ec3010fe83f97d903cdc32767e49', href: "https://ticketlayer.com/report-abuse", target: "_blank", rel: "noopener noreferrer" }, "Report Abuse")), h("a", { key: '40642c5c4c003a454dd7ab2b66ebe5948a03df7d', class: "pb-brand", href: "https://ticketlayer.com", target: "_blank", rel: "noopener noreferrer" }, h("span", { key: 'a5d9b5c023381d25b6aaddf61e56dbdb21580975', class: "pb-pre" }, "Powered by"), h("svg", { key: '35bc23af9a35272d7ada24fd66d5f12f1d951ae8', width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, h("path", { key: '90139e79acd8920bcd494cc6579dbcb8278b0aef', d: "M4 7.5A1.5 1.5 0 0 1 5.5 6h13A1.5 1.5 0 0 1 20 7.5v2a2 2 0 0 0 0 5v2a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 4 16.5v-2a2 2 0 0 0 0-5v-2Z", fill: "currentColor" }), h("path", { key: 'ba3aa34471395e33752e72f87f93a85381f7caad', d: "M13 7v10", stroke: "var(--tl-pb-perforation, var(--tl-background, #fff))", "stroke-width": "1.2", "stroke-dasharray": "1.5 1.8", "stroke-linecap": "round" })), h("span", { key: '429154bd6c38febe4da8871a7e614bf272a18854', class: "pb-word" }, "Ticketlayer")))))));
63
+ } }, h("aside", { key: '3ac3588ae8feacd4f8bb96bdae8ef71e80ecb4b3', class: { panel: true, [`panel--${this.side}`]: true, 'is-open': this.visible }, role: "dialog", "aria-modal": "true", "aria-label": this.heading, "aria-hidden": this.visible ? 'false' : 'true' }, h("header", { key: 'e0126d634e952ebf56b73e54545f6c3981210827', class: "drawer-header" }, h("h2", { key: 'a72b23114aa836076ec59cd4a5d1438d228179d9', class: "drawer-title" }, this.heading), h("button", { key: '92fb5b159490440352a6c23d65aa6e8c956ae3d8', class: "close-btn", onClick: this.close, "aria-label": "Close cart" }, h("svg", { key: '138f4dc7669e62fb667091da0ba26dfbe94327c6', viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { key: '21fedd9dc89937a92f9c1124d4fa834b55908f1e', d: "M6 6l12 12M18 6L6 18", "stroke-linecap": "round" })))), h("div", { key: 'ebee87cb6a3c98dbf813d0a903a9cb4da2c696f3', class: "drawer-body" }, h("tl-cart", { key: '323db3a160837b68ffaa767e647ec67b06fa53b0' })), h("footer", { key: 'd35543373eb13ad1acc46ae50aefcb5a04f305a1', class: "drawer-footer" }, h("div", { key: '52229c74d39471bf186c965b6a53b38f79ce8d61', class: "pb-links" }, h("a", { key: 'd0430bf93d920c57fc42043faed7e8fd895855aa', href: "https://ticketlayer.com/privacy", target: "_blank", rel: "noopener noreferrer" }, "Privacy Policy"), h("a", { key: '2a75dc8dcdc9ec3010fe83f97d903cdc32767e49', href: "https://ticketlayer.com/report-abuse", target: "_blank", rel: "noopener noreferrer" }, "Report Abuse")), h("a", { key: '40642c5c4c003a454dd7ab2b66ebe5948a03df7d', class: "pb-brand", href: "https://ticketlayer.com", target: "_blank", rel: "noopener noreferrer" }, h("span", { key: 'a5d9b5c023381d25b6aaddf61e56dbdb21580975', class: "pb-pre" }, "Powered by"), h("svg", { key: '35bc23af9a35272d7ada24fd66d5f12f1d951ae8', width: "13", height: "13", viewBox: "0 0 50 50", fill: "none", "aria-hidden": "true" }, h("g", { key: 'fcca5f9bbc13d2781ea65bb907c9c07516972e28', transform: "matrix(0.0129 0 0 -0.0129 25.4752 25.4752)" }, h("path", { key: '7bf2071ba8d6d14c9ac9fc7c7a5a36a8008136e8', fill: "currentColor", transform: "translate(-1781.5, -1759.4003)", d: "M 41 2973 c 1 -285 5 -734 9 -998 c 7 -444 9 -488 30 -580 c 81 -364 235 -634 512 -900 c 135 -130 263 -220 423 -299 c 156 -77 249 -109 409 -143 c 110 -23 142 -25 354 -24 c 230 1 310 8 427 37 c 241 60 453 162 640 309 c 82 64 252 234 317 315 c 210 264 340 604 355 926 l 6 121 l -69 6 c -86 8 -706 9 -755 1 l -36 -6 l -21 -125 c -34 -191 -98 -317 -236 -462 c -111 -115 -249 -198 -396 -238 c -98 -27 -356 -24 -463 5 c -100 27 -183 69 -273 137 c -226 173 -353 409 -354 660 c 0 44 -5 120 -10 169 c -6 49 -8 91 -6 94 c 3 3 65 -22 138 -55 c 140 -64 251 -103 358 -127 c 71 -17 295 -46 347 -46 l 33 0 l 0 434 l 0 434 l -67 7 c -147 14 -269 56 -393 133 c -222 139 -378 393 -397 648 l -6 71 l -75 7 c -41 3 -239 6 -439 6 l -363 0 l 1 -517 z" }))), h("span", { key: 'c97081daa81688106395f6ef6c497b11df53a6a9', class: "pb-word" }, "ticketlayer")))))));
64
64
  }
65
65
  static get is() { return "tl-cart-drawer"; }
66
66
  static get encapsulation() { return "shadow"; }
@@ -10,9 +10,9 @@ tl-checkout-wrapper,
10
10
 
11
11
  tl-checkout-wrapper:focus,
12
12
  .tl-checkout-wrapper:focus {
13
- outline: 2px solid var(--tl-ring, #3b82f6);
13
+ outline: 2px solid var(--tl-ring);
14
14
  outline-offset: 2px;
15
- border-radius: var(--tl-radius-sm, 0.25rem);
15
+ border-radius: var(--tl-radius-sm);
16
16
  }
17
17
 
18
18
  tl-checkout-wrapper[disabled],
@@ -1,11 +1,11 @@
1
1
  :host {
2
2
  display: block;
3
- font-family: var(--tl-font-family, system-ui, sans-serif);
3
+ font-family: var(--tl-font-family);
4
4
  }
5
5
 
6
6
  .event-card {
7
- background: var(--tl-secondary, #f3f4f6);
8
- border-radius: var(--tl-radius-lg, 0.75rem);
7
+ background: var(--tl-secondary);
8
+ border-radius: var(--tl-radius-lg);
9
9
  overflow: hidden;
10
10
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
11
11
  cursor: pointer;
@@ -21,7 +21,7 @@
21
21
  position: relative;
22
22
  aspect-ratio: 16 / 9;
23
23
  overflow: hidden;
24
- background: var(--tl-muted, #f9fafb);
24
+ background: var(--tl-muted);
25
25
  }
26
26
 
27
27
  .event-image {
@@ -41,7 +41,7 @@
41
41
  display: flex;
42
42
  align-items: center;
43
43
  justify-content: center;
44
- color: var(--tl-muted-foreground, #6b7280);
44
+ color: var(--tl-muted-foreground);
45
45
  }
46
46
 
47
47
  .status-container {
@@ -55,26 +55,26 @@
55
55
  padding: 0.25rem 0.5rem;
56
56
  font-size: 0.75rem;
57
57
  font-weight: 500;
58
- border-radius: var(--tl-radius-sm, 0.25rem);
58
+ border-radius: var(--tl-radius-sm);
59
59
  }
60
60
 
61
61
  .status-available {
62
- background: var(--tl-success, #10b981);
63
- color: var(--tl-success-foreground, #ffffff);
62
+ background: var(--tl-success);
63
+ color: var(--tl-success-foreground);
64
64
  }
65
65
 
66
66
  .status-limited {
67
- background: var(--tl-warning, #f59e0b);
68
- color: var(--tl-warning-foreground, #ffffff);
67
+ background: var(--tl-warning);
68
+ color: var(--tl-warning-foreground);
69
69
  }
70
70
 
71
71
  .status-sold-out {
72
- background: var(--tl-error, #ef4444);
73
- color: var(--tl-error-foreground, #ffffff);
72
+ background: var(--tl-error);
73
+ color: var(--tl-error-foreground);
74
74
  }
75
75
 
76
76
  .content {
77
- padding: var(--tl-spacing-4, 1rem);
77
+ padding: var(--tl-spacing-4);
78
78
  }
79
79
 
80
80
  .category {
@@ -83,19 +83,19 @@
83
83
  font-weight: 500;
84
84
  text-transform: uppercase;
85
85
  letter-spacing: 0.05em;
86
- color: var(--tl-primary, #6366f1);
86
+ color: var(--tl-primary);
87
87
  }
88
88
 
89
89
  .title {
90
90
  margin: 0.25rem 0 0;
91
91
  font-size: 1.125rem;
92
92
  font-weight: 600;
93
- color: var(--tl-foreground, #111827);
93
+ color: var(--tl-foreground);
94
94
  line-height: 1.3;
95
95
  }
96
96
 
97
97
  .event-card:hover .title {
98
- color: var(--tl-primary, #6366f1);
98
+ color: var(--tl-primary);
99
99
  }
100
100
 
101
101
  .meta {
@@ -104,7 +104,7 @@
104
104
  gap: 0.5rem;
105
105
  margin: 0.5rem 0 0;
106
106
  font-size: 0.875rem;
107
- color: var(--tl-muted-foreground, #6b7280);
107
+ color: var(--tl-muted-foreground);
108
108
  }
109
109
 
110
110
  .meta:first-of-type {
@@ -120,7 +120,7 @@
120
120
  .description {
121
121
  margin: 0.75rem 0 0;
122
122
  font-size: 0.875rem;
123
- color: var(--tl-muted-foreground, #6b7280);
123
+ color: var(--tl-muted-foreground);
124
124
  line-height: 1.5;
125
125
  display: -webkit-box;
126
126
  -webkit-line-clamp: 2;
@@ -140,8 +140,8 @@
140
140
  .skeleton-line {
141
141
  height: 0.875rem;
142
142
  margin-top: 0.5rem;
143
- background: var(--tl-muted, #f9fafb);
144
- border-radius: var(--tl-radius-sm, 0.25rem);
143
+ background: var(--tl-muted);
144
+ border-radius: var(--tl-radius-sm);
145
145
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
146
146
  }
147
147
 
@@ -154,9 +154,9 @@
154
154
  }
155
155
 
156
156
  .card-error {
157
- padding: var(--tl-spacing-4, 1rem);
157
+ padding: var(--tl-spacing-4);
158
158
  font-size: 0.875rem;
159
- color: var(--tl-error, #ef4444);
159
+ color: var(--tl-error);
160
160
  cursor: default;
161
161
  }
162
162
 
@@ -1,11 +1,11 @@
1
1
  :host {
2
2
  display: block;
3
- font-family: var(--tl-font-family, system-ui, sans-serif);
3
+ font-family: var(--tl-font-family);
4
4
  }
5
5
 
6
6
  .event-grid {
7
7
  display: grid;
8
- gap: var(--tl-spacing-6, 1.5rem);
8
+ gap: var(--tl-spacing-6);
9
9
  }
10
10
 
11
11
  .cols-1 {
@@ -41,19 +41,19 @@
41
41
 
42
42
  /* Skeleton Loading */
43
43
  .skeleton-card {
44
- background: var(--tl-secondary, #f3f4f6);
45
- border-radius: var(--tl-radius-lg, 0.75rem);
44
+ background: var(--tl-secondary);
45
+ border-radius: var(--tl-radius-lg);
46
46
  overflow: hidden;
47
47
  }
48
48
 
49
49
  .skeleton-image {
50
50
  aspect-ratio: 16 / 9;
51
- background: var(--tl-muted, #f9fafb);
51
+ background: var(--tl-muted);
52
52
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
53
53
  }
54
54
 
55
55
  .skeleton-content {
56
- padding: var(--tl-spacing-4, 1rem);
56
+ padding: var(--tl-spacing-4);
57
57
  display: flex;
58
58
  flex-direction: column;
59
59
  gap: 0.5rem;
@@ -61,8 +61,8 @@
61
61
 
62
62
  .skeleton-line {
63
63
  height: 1rem;
64
- background: var(--tl-muted, #f9fafb);
65
- border-radius: var(--tl-radius-sm, 0.25rem);
64
+ background: var(--tl-muted);
65
+ border-radius: var(--tl-radius-sm);
66
66
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
67
67
  }
68
68
 
@@ -91,44 +91,44 @@
91
91
  /* Error State */
92
92
  .error-state {
93
93
  background: rgba(239, 68, 68, 0.1);
94
- border: 1px solid var(--tl-error, #ef4444);
95
- border-radius: var(--tl-radius-lg, 0.75rem);
96
- padding: var(--tl-spacing-4, 1rem);
94
+ border: 1px solid var(--tl-error);
95
+ border-radius: var(--tl-radius-lg);
96
+ padding: var(--tl-spacing-4);
97
97
  }
98
98
 
99
99
  .error-title {
100
100
  margin: 0;
101
101
  font-weight: 500;
102
- color: var(--tl-error, #ef4444);
102
+ color: var(--tl-error);
103
103
  }
104
104
 
105
105
  .error-message {
106
106
  margin: 0.25rem 0 0;
107
107
  font-size: 0.875rem;
108
- color: var(--tl-error, #ef4444);
108
+ color: var(--tl-error);
109
109
  }
110
110
 
111
111
  /* Empty State */
112
112
  .empty-state {
113
113
  text-align: center;
114
- padding: var(--tl-spacing-8, 2rem) var(--tl-spacing-4, 1rem);
114
+ padding: var(--tl-spacing-8) var(--tl-spacing-4);
115
115
  }
116
116
 
117
117
  .empty-icon {
118
118
  width: 4rem;
119
119
  height: 4rem;
120
120
  margin: 0 auto 1rem;
121
- color: var(--tl-muted-foreground, #6b7280);
121
+ color: var(--tl-muted-foreground);
122
122
  }
123
123
 
124
124
  .empty-title {
125
125
  margin: 0;
126
126
  font-size: 1.25rem;
127
127
  font-weight: 600;
128
- color: var(--tl-foreground, #111827);
128
+ color: var(--tl-foreground);
129
129
  }
130
130
 
131
131
  .empty-message {
132
132
  margin: 0.5rem 0 0;
133
- color: var(--tl-muted-foreground, #6b7280);
133
+ color: var(--tl-muted-foreground);
134
134
  }
@@ -1,17 +1,17 @@
1
1
  :host {
2
2
  display: block;
3
- font-family: var(--tl-font-family, system-ui, sans-serif);
4
- color: var(--tl-foreground, #111827);
3
+ font-family: var(--tl-font-family);
4
+ color: var(--tl-foreground);
5
5
  }
6
6
 
7
7
  .login {
8
8
  display: flex;
9
9
  flex-direction: column;
10
- gap: var(--tl-spacing-3, 0.75rem);
11
- padding: var(--tl-spacing-6, 1.5rem);
12
- background: var(--tl-background, #ffffff);
13
- border: 1px solid var(--tl-border, #e5e7eb);
14
- border-radius: var(--tl-radius-lg, 0.75rem);
10
+ gap: var(--tl-spacing-3);
11
+ padding: var(--tl-spacing-6);
12
+ background: var(--tl-background);
13
+ border: 1px solid var(--tl-border);
14
+ border-radius: var(--tl-radius-lg);
15
15
  }
16
16
 
17
17
  .title {
@@ -23,7 +23,7 @@
23
23
  .lead {
24
24
  margin: 0;
25
25
  font-size: 0.875rem;
26
- color: var(--tl-muted-foreground, #6b7280);
26
+ color: var(--tl-muted-foreground);
27
27
  }
28
28
 
29
29
  .label {
@@ -32,22 +32,22 @@
32
32
  }
33
33
 
34
34
  .input {
35
- padding: var(--tl-spacing-3, 0.75rem);
35
+ padding: var(--tl-spacing-3);
36
36
  font: inherit;
37
37
  font-size: 0.9375rem;
38
- color: var(--tl-foreground, #111827);
39
- background: var(--tl-background, #ffffff);
40
- border: 1px solid var(--tl-border, #e5e7eb);
41
- border-radius: var(--tl-radius-md, 0.5rem);
38
+ color: var(--tl-foreground);
39
+ background: var(--tl-background);
40
+ border: 1px solid var(--tl-border);
41
+ border-radius: var(--tl-radius-md);
42
42
  }
43
43
 
44
44
  .input:focus {
45
- outline: 2px solid var(--tl-primary, #6366f1);
45
+ outline: 2px solid var(--tl-primary);
46
46
  outline-offset: 1px;
47
47
  }
48
48
 
49
49
  .code-input {
50
- font-family: var(--tl-font-family-mono, ui-monospace, monospace);
50
+ font-family: var(--tl-font-family-mono);
51
51
  font-size: 1.25rem;
52
52
  letter-spacing: 0.25em;
53
53
  text-align: center;
@@ -55,17 +55,17 @@
55
55
 
56
56
  .primary,
57
57
  .secondary {
58
- padding: var(--tl-spacing-3, 0.75rem) var(--tl-spacing-4, 1rem);
58
+ padding: var(--tl-spacing-3) var(--tl-spacing-4);
59
59
  font: inherit;
60
60
  font-size: 0.9375rem;
61
61
  font-weight: 600;
62
- border-radius: var(--tl-radius-md, 0.5rem);
62
+ border-radius: var(--tl-radius-md);
63
63
  cursor: pointer;
64
64
  }
65
65
 
66
66
  .primary {
67
- color: var(--tl-primary-foreground, #ffffff);
68
- background: var(--tl-primary, #6366f1);
67
+ color: var(--tl-primary-foreground);
68
+ background: var(--tl-primary);
69
69
  border: none;
70
70
  }
71
71
 
@@ -74,9 +74,9 @@
74
74
  }
75
75
 
76
76
  .secondary {
77
- color: var(--tl-foreground, #111827);
78
- background: var(--tl-secondary, #f3f4f6);
79
- border: 1px solid var(--tl-border, #e5e7eb);
77
+ color: var(--tl-foreground);
78
+ background: var(--tl-secondary);
79
+ border: 1px solid var(--tl-border);
80
80
  }
81
81
 
82
82
  .primary:disabled,
@@ -90,7 +90,7 @@
90
90
  padding: 0;
91
91
  font: inherit;
92
92
  font-size: 0.875rem;
93
- color: var(--tl-primary, #6366f1);
93
+ color: var(--tl-primary);
94
94
  background: none;
95
95
  border: none;
96
96
  cursor: pointer;
@@ -104,19 +104,19 @@
104
104
  display: flex;
105
105
  flex-wrap: wrap;
106
106
  align-items: center;
107
- gap: var(--tl-spacing-4, 1rem);
107
+ gap: var(--tl-spacing-4);
108
108
  }
109
109
 
110
110
  .error {
111
111
  margin: 0;
112
112
  font-size: 0.8125rem;
113
- color: var(--tl-error, #ef4444);
113
+ color: var(--tl-error);
114
114
  }
115
115
 
116
116
  .notice {
117
117
  margin: 0;
118
118
  font-size: 0.8125rem;
119
- color: var(--tl-success, #10b981);
119
+ color: var(--tl-success);
120
120
  }
121
121
 
122
122
  .signed-in {
@@ -1,13 +1,13 @@
1
1
  :host {
2
2
  display: block;
3
- font-family: var(--tl-font-family, system-ui, sans-serif);
4
- color: var(--tl-foreground, #111827);
3
+ font-family: var(--tl-font-family);
4
+ color: var(--tl-foreground);
5
5
  }
6
6
 
7
7
  .orders {
8
8
  display: flex;
9
9
  flex-direction: column;
10
- gap: var(--tl-spacing-4, 1rem);
10
+ gap: var(--tl-spacing-4);
11
11
  }
12
12
 
13
13
  .order-list {
@@ -16,20 +16,20 @@
16
16
  padding: 0;
17
17
  display: flex;
18
18
  flex-direction: column;
19
- gap: var(--tl-spacing-3, 0.75rem);
19
+ gap: var(--tl-spacing-3);
20
20
  }
21
21
 
22
22
  .order {
23
- background: var(--tl-background, #ffffff);
24
- border: 1px solid var(--tl-border, #e5e7eb);
25
- border-radius: var(--tl-radius-lg, 0.75rem);
23
+ background: var(--tl-background);
24
+ border: 1px solid var(--tl-border);
25
+ border-radius: var(--tl-radius-lg);
26
26
  overflow: hidden;
27
27
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
28
28
  }
29
29
 
30
30
  .order:hover,
31
31
  .order.expanded {
32
- border-color: var(--tl-primary, #6366f1);
32
+ border-color: var(--tl-primary);
33
33
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
34
34
  }
35
35
 
@@ -37,9 +37,9 @@
37
37
  display: flex;
38
38
  align-items: center;
39
39
  justify-content: space-between;
40
- gap: var(--tl-spacing-4, 1rem);
40
+ gap: var(--tl-spacing-4);
41
41
  width: 100%;
42
- padding: var(--tl-spacing-4, 1rem);
42
+ padding: var(--tl-spacing-4);
43
43
  font: inherit;
44
44
  color: inherit;
45
45
  text-align: left;
@@ -51,7 +51,7 @@
51
51
  .order-main {
52
52
  display: flex;
53
53
  flex-direction: column;
54
- gap: var(--tl-spacing-1, 0.25rem);
54
+ gap: var(--tl-spacing-1);
55
55
  min-width: 0;
56
56
  }
57
57
 
@@ -60,7 +60,7 @@
60
60
  font-weight: 500;
61
61
  text-transform: uppercase;
62
62
  letter-spacing: 0.05em;
63
- color: var(--tl-muted-foreground, #6b7280);
63
+ color: var(--tl-muted-foreground);
64
64
  }
65
65
 
66
66
  .order-event {
@@ -74,15 +74,15 @@
74
74
  .order-meta {
75
75
  display: flex;
76
76
  flex-wrap: wrap;
77
- gap: var(--tl-spacing-3, 0.75rem);
77
+ gap: var(--tl-spacing-3);
78
78
  font-size: 0.8125rem;
79
- color: var(--tl-muted-foreground, #6b7280);
79
+ color: var(--tl-muted-foreground);
80
80
  }
81
81
 
82
82
  .order-side {
83
83
  display: flex;
84
84
  align-items: center;
85
- gap: var(--tl-spacing-3, 0.75rem);
85
+ gap: var(--tl-spacing-3);
86
86
  flex-shrink: 0;
87
87
  }
88
88
 
@@ -95,34 +95,34 @@
95
95
  font-size: 0.75rem;
96
96
  font-weight: 500;
97
97
  border-radius: 9999px;
98
- background: var(--tl-secondary, #f3f4f6);
99
- color: var(--tl-secondary-foreground, #111827);
98
+ background: var(--tl-secondary);
99
+ color: var(--tl-secondary-foreground);
100
100
  }
101
101
 
102
102
  .status-success {
103
- background: var(--tl-success, #10b981);
104
- color: var(--tl-success-foreground, #ffffff);
103
+ background: var(--tl-success);
104
+ color: var(--tl-success-foreground);
105
105
  }
106
106
 
107
107
  .status-info {
108
- background: var(--tl-primary, #6366f1);
109
- color: var(--tl-primary-foreground, #ffffff);
108
+ background: var(--tl-primary);
109
+ color: var(--tl-primary-foreground);
110
110
  }
111
111
 
112
112
  .status-warning {
113
- background: var(--tl-warning, #f59e0b);
114
- color: var(--tl-warning-foreground, #ffffff);
113
+ background: var(--tl-warning);
114
+ color: var(--tl-warning-foreground);
115
115
  }
116
116
 
117
117
  .status-error {
118
- background: var(--tl-error, #ef4444);
119
- color: var(--tl-error-foreground, #ffffff);
118
+ background: var(--tl-error);
119
+ color: var(--tl-error-foreground);
120
120
  }
121
121
 
122
122
  .chevron {
123
123
  width: 1.125rem;
124
124
  height: 1.125rem;
125
- color: var(--tl-muted-foreground, #6b7280);
125
+ color: var(--tl-muted-foreground);
126
126
  transition: transform 0.2s ease;
127
127
  }
128
128
 
@@ -131,9 +131,9 @@
131
131
  }
132
132
 
133
133
  .order-tickets {
134
- padding: 0 var(--tl-spacing-4, 1rem) var(--tl-spacing-4, 1rem);
135
- border-top: 1px solid var(--tl-border, #e5e7eb);
136
- padding-top: var(--tl-spacing-4, 1rem);
134
+ padding: 0 var(--tl-spacing-4) var(--tl-spacing-4);
135
+ border-top: 1px solid var(--tl-border);
136
+ padding-top: var(--tl-spacing-4);
137
137
  }
138
138
 
139
139
  @media (max-width: 480px) {
@@ -161,35 +161,35 @@
161
161
 
162
162
  .signin-text,
163
163
  .state-text {
164
- margin: var(--tl-spacing-1, 0.25rem) 0 0;
164
+ margin: var(--tl-spacing-1) 0 0;
165
165
  font-size: 0.875rem;
166
- color: var(--tl-muted-foreground, #6b7280);
166
+ color: var(--tl-muted-foreground);
167
167
  }
168
168
 
169
169
  .state {
170
- padding: var(--tl-spacing-8, 2rem) var(--tl-spacing-4, 1rem);
170
+ padding: var(--tl-spacing-8) var(--tl-spacing-4);
171
171
  text-align: center;
172
- background: var(--tl-background, #ffffff);
173
- border: 1px solid var(--tl-border, #e5e7eb);
174
- border-radius: var(--tl-radius-lg, 0.75rem);
172
+ background: var(--tl-background);
173
+ border: 1px solid var(--tl-border);
174
+ border-radius: var(--tl-radius-lg);
175
175
  }
176
176
 
177
177
  .state.error .state-title {
178
- color: var(--tl-error, #ef4444);
178
+ color: var(--tl-error);
179
179
  }
180
180
 
181
181
  .empty-icon {
182
182
  width: 3rem;
183
183
  height: 3rem;
184
- margin: 0 auto var(--tl-spacing-3, 0.75rem);
185
- color: var(--tl-primary, #6366f1);
184
+ margin: 0 auto var(--tl-spacing-3);
185
+ color: var(--tl-primary);
186
186
  }
187
187
 
188
188
  /* Skeleton */
189
189
  .skeleton {
190
190
  height: 5rem;
191
- background: var(--tl-secondary, #f3f4f6);
192
- border-radius: var(--tl-radius-lg, 0.75rem);
191
+ background: var(--tl-secondary);
192
+ border-radius: var(--tl-radius-lg);
193
193
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
194
194
  }
195
195