@m3e/web 2.0.0 → 2.0.1

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 (147) hide show
  1. package/dist/all.js +1161 -941
  2. package/dist/all.js.map +1 -1
  3. package/dist/all.min.js +59 -59
  4. package/dist/all.min.js.map +1 -1
  5. package/dist/bottom-sheet.js +1 -1
  6. package/dist/bottom-sheet.js.map +1 -1
  7. package/dist/bottom-sheet.min.js +1 -1
  8. package/dist/bottom-sheet.min.js.map +1 -1
  9. package/dist/button.js +387 -317
  10. package/dist/button.js.map +1 -1
  11. package/dist/button.min.js +2 -2
  12. package/dist/button.min.js.map +1 -1
  13. package/dist/card.js +73 -73
  14. package/dist/card.js.map +1 -1
  15. package/dist/card.min.js +5 -5
  16. package/dist/card.min.js.map +1 -1
  17. package/dist/checkbox.js +5 -1
  18. package/dist/checkbox.js.map +1 -1
  19. package/dist/checkbox.min.js +1 -1
  20. package/dist/checkbox.min.js.map +1 -1
  21. package/dist/core-a11y.js.map +1 -1
  22. package/dist/core-a11y.min.js.map +1 -1
  23. package/dist/core-bidi.js.map +1 -1
  24. package/dist/core-bidi.min.js.map +1 -1
  25. package/dist/core-layout.js.map +1 -1
  26. package/dist/core-layout.min.js.map +1 -1
  27. package/dist/core-platform.js.map +1 -1
  28. package/dist/core-platform.min.js.map +1 -1
  29. package/dist/core.js +42 -32
  30. package/dist/core.js.map +1 -1
  31. package/dist/core.min.js +2 -2
  32. package/dist/core.min.js.map +1 -1
  33. package/dist/css-custom-data.json +1356 -511
  34. package/dist/custom-elements.json +9890 -9217
  35. package/dist/fab.js +299 -258
  36. package/dist/fab.js.map +1 -1
  37. package/dist/fab.min.js +6 -6
  38. package/dist/fab.min.js.map +1 -1
  39. package/dist/form-field.js +10 -6
  40. package/dist/form-field.js.map +1 -1
  41. package/dist/form-field.min.js +4 -4
  42. package/dist/form-field.min.js.map +1 -1
  43. package/dist/html-custom-data.json +152 -152
  44. package/dist/icon-button.js +288 -232
  45. package/dist/icon-button.js.map +1 -1
  46. package/dist/icon-button.min.js +5 -5
  47. package/dist/icon-button.min.js.map +1 -1
  48. package/dist/list.js +18 -3
  49. package/dist/list.js.map +1 -1
  50. package/dist/list.min.js +8 -8
  51. package/dist/list.min.js.map +1 -1
  52. package/dist/menu.js +23 -12
  53. package/dist/menu.js.map +1 -1
  54. package/dist/menu.min.js +7 -7
  55. package/dist/menu.min.js.map +1 -1
  56. package/dist/nav-bar.js +1 -1
  57. package/dist/nav-bar.js.map +1 -1
  58. package/dist/nav-bar.min.js +1 -1
  59. package/dist/nav-bar.min.js.map +1 -1
  60. package/dist/nav-rail.js +1 -1
  61. package/dist/nav-rail.js.map +1 -1
  62. package/dist/nav-rail.min.js +4 -4
  63. package/dist/nav-rail.min.js.map +1 -1
  64. package/dist/option.js +1 -1
  65. package/dist/option.js.map +1 -1
  66. package/dist/option.min.js +1 -1
  67. package/dist/option.min.js.map +1 -1
  68. package/dist/radio-group.js +4 -0
  69. package/dist/radio-group.js.map +1 -1
  70. package/dist/radio-group.min.js +1 -1
  71. package/dist/radio-group.min.js.map +1 -1
  72. package/dist/slider.js +2 -2
  73. package/dist/slider.js.map +1 -1
  74. package/dist/slider.min.js +3 -3
  75. package/dist/slider.min.js.map +1 -1
  76. package/dist/snackbar.js.map +1 -1
  77. package/dist/snackbar.min.js.map +1 -1
  78. package/dist/split-button.js +1 -0
  79. package/dist/split-button.js.map +1 -1
  80. package/dist/split-button.min.js +1 -1
  81. package/dist/split-button.min.js.map +1 -1
  82. package/dist/src/bottom-sheet/BottomSheetElement.d.ts.map +1 -1
  83. package/dist/src/button/ButtonElement.d.ts +70 -0
  84. package/dist/src/button/ButtonElement.d.ts.map +1 -1
  85. package/dist/src/button/styles/ButtonSizeToken.d.ts.map +1 -1
  86. package/dist/src/button/styles/ButtonVariantToken.d.ts.map +1 -1
  87. package/dist/src/card/styles/CardVariantToken.d.ts.map +1 -1
  88. package/dist/src/checkbox/CheckboxElement.d.ts.map +1 -1
  89. package/dist/src/core/a11y/AriaDescriber.d.ts +3 -1
  90. package/dist/src/core/a11y/AriaDescriber.d.ts.map +1 -1
  91. package/dist/src/core/a11y/InteractivityChecker.d.ts +3 -1
  92. package/dist/src/core/a11y/InteractivityChecker.d.ts.map +1 -1
  93. package/dist/src/core/a11y/LiveAnnouncer.d.ts +3 -1
  94. package/dist/src/core/a11y/LiveAnnouncer.d.ts.map +1 -1
  95. package/dist/src/core/bidi/Directionality.d.ts +3 -1
  96. package/dist/src/core/bidi/Directionality.d.ts.map +1 -1
  97. package/dist/src/core/layout/BreakpointObserver.d.ts +3 -1
  98. package/dist/src/core/layout/BreakpointObserver.d.ts.map +1 -1
  99. package/dist/src/core/platform/Platform.d.ts +3 -1
  100. package/dist/src/core/platform/Platform.d.ts.map +1 -1
  101. package/dist/src/core/shared/controllers/PressedController.d.ts.map +1 -1
  102. package/dist/src/core/shared/primitives/FocusRingElement.d.ts +2 -0
  103. package/dist/src/core/shared/primitives/FocusRingElement.d.ts.map +1 -1
  104. package/dist/src/core/shared/primitives/FocusRingToken.d.ts +4 -0
  105. package/dist/src/core/shared/primitives/FocusRingToken.d.ts.map +1 -1
  106. package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts.map +1 -1
  107. package/dist/src/fab/FabElement.d.ts +41 -0
  108. package/dist/src/fab/FabElement.d.ts.map +1 -1
  109. package/dist/src/fab/styles/FabSizeToken.d.ts.map +1 -1
  110. package/dist/src/fab/styles/FabVariantToken.d.ts.map +1 -1
  111. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
  112. package/dist/src/icon-button/IconButtonElement.d.ts +56 -0
  113. package/dist/src/icon-button/IconButtonElement.d.ts.map +1 -1
  114. package/dist/src/icon-button/styles/IconButtonSizeToken.d.ts.map +1 -1
  115. package/dist/src/icon-button/styles/IconButtonVariantToken.d.ts.map +1 -1
  116. package/dist/src/list/ListItemButtonElement.d.ts +1 -0
  117. package/dist/src/list/ListItemButtonElement.d.ts.map +1 -1
  118. package/dist/src/list/ListItemElement.d.ts.map +1 -1
  119. package/dist/src/list/ListOptionElement.d.ts +1 -0
  120. package/dist/src/list/ListOptionElement.d.ts.map +1 -1
  121. package/dist/src/menu/MenuElement.d.ts +2 -0
  122. package/dist/src/menu/MenuElement.d.ts.map +1 -1
  123. package/dist/src/menu/MenuItemElementBase.d.ts +1 -0
  124. package/dist/src/menu/MenuItemElementBase.d.ts.map +1 -1
  125. package/dist/src/nav-rail/NavRailElement.d.ts.map +1 -1
  126. package/dist/src/option/OptionPanelElement.d.ts.map +1 -1
  127. package/dist/src/radio-group/RadioElement.d.ts.map +1 -1
  128. package/dist/src/slider/SliderThumbElement.d.ts.map +1 -1
  129. package/dist/src/snackbar/Snackbar.d.ts +3 -1
  130. package/dist/src/snackbar/Snackbar.d.ts.map +1 -1
  131. package/dist/src/split-button/SplitButtonElement.d.ts.map +1 -1
  132. package/dist/src/switch/SwitchElement.d.ts.map +1 -1
  133. package/dist/src/tabs/TabElement.d.ts.map +1 -1
  134. package/dist/src/tabs/TabsElement.d.ts.map +1 -1
  135. package/dist/switch.js +5 -1
  136. package/dist/switch.js.map +1 -1
  137. package/dist/switch.min.js +2 -2
  138. package/dist/switch.min.js.map +1 -1
  139. package/dist/tabs.js +2 -2
  140. package/dist/tabs.js.map +1 -1
  141. package/dist/tabs.min.js +3 -3
  142. package/dist/tabs.min.js.map +1 -1
  143. package/dist/tooltip.js +1 -1
  144. package/dist/tooltip.js.map +1 -1
  145. package/dist/tooltip.min.js +1 -1
  146. package/dist/tooltip.min.js.map +1 -1
  147. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-sheet.min.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../src/bottom-sheet/BottomSheetActionElement.ts","../../src/bottom-sheet/BottomSheetElement.ts","../../src/bottom-sheet/BottomSheetTriggerElement.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import { customElement } from \"lit/decorators.js\";\r\n\r\nimport { ActionElementBase } from \"@m3e/web/core\";\r\n\r\n/**\r\n * An element, nested within a clickable element, used to close a parenting bottom sheet.\r\n * @tag m3e-bottom-sheet-action\r\n *\r\n * @slot - Renders the content of the action.\r\n */\r\n@customElement(\"m3e-bottom-sheet-action\")\r\nexport class M3eBottomSheetActionElement extends ActionElementBase {\r\n /** @inheritdoc */\r\n protected override _onClick(): void {\r\n this.closest(\"m3e-bottom-sheet\")?.hide();\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-bottom-sheet-action\": M3eBottomSheetActionElement;\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */\r\nimport { css, CSSResultGroup, html, LitElement, nothing, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { customElement, property } from \"lit/decorators.js\";\r\n\r\nimport {\r\n computeCssSize,\r\n DesignToken,\r\n EventAttribute,\r\n focusWhenReady,\r\n hasAssignedNodes,\r\n prefersReducedMotion,\r\n ResizeController,\r\n ScrollLockController,\r\n spaceSeparatedStringConverter,\r\n VelocityTracker,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { isModifierAllowed, M3eInteractivityChecker } from \"@m3e/web/core/a11y\";\r\nimport \"@m3e/web/core/a11y\";\r\n\r\n/**\r\n * A sheet used to show secondary content anchored to the bottom of the screen.\r\n *\r\n * @description\r\n * The `m3e-bottom-sheet` component implements a Material 3 bottom sheet with\r\n * gesture‑driven resizing, detent snapping, and adaptive motion. It behaves as\r\n * a heavy surface: transitions use non‑bouncy, decelerating motion.\r\n *\r\n * The sheet supports direct manipulation through vertical drag gestures.\r\n * Movement below an 8px threshold is ignored to ensure reliable tap‑to‑cycle\r\n * behavior on the handle. Once activated, dragging updates the sheet height\r\n * with friction near the minimum height to prevent abrupt collapse.\r\n *\r\n * When detents are defined, the sheet snaps to the nearest detent on release.\r\n * If hideable, downward gestures may dismiss the sheet using either velocity\r\n * or a small distance threshold below the collapsed detent. When no detents\r\n * are present, the sheet behaves as a simple open/hidden surface with a\r\n * bottom‑measured hide threshold.\r\n *\r\n * @example\r\n * The following example shows a modal bottom sheet with a drag handle,\r\n * three detents (`fit`, `half`, and `full`), and an action list. The sheet\r\n * is opened using a dedicated `m3e-bottom-sheet-trigger` associated by ID.\r\n * ```html\r\n * <m3e-button>\r\n * <m3e-bottom-sheet-trigger for=\"bottomSheet\">\r\n * Open Bottom sheet\r\n * </m3e-bottom-sheet-trigger>\r\n * </m3e-button>\r\n *\r\n * <m3e-bottom-sheet id=\"bottomSheet\" modal handle hideable detents=\"fit half full\">\r\n * <m3e-action-list>\r\n * <m3e-list-action autofocus>\r\n * <m3e-bottom-sheet-action>Google Keep</m3e-bottom-sheet-action>\r\n * <span slot=\"supporting-text\">Add to a note</span>\r\n * </m3e-list-action>\r\n * <m3e-list-action>\r\n * <m3e-bottom-sheet-action>Google Docs</m3e-bottom-sheet-action>\r\n * <span slot=\"supporting-text\">Embed in a document</span>\r\n * </m3e-list-action>\r\n * </m3e-action-list>\r\n * </m3e-bottom-sheet>\r\n * ```\r\n *\r\n * @tag m3e-bottom-sheet\r\n *\r\n * @slot - Renders the content of the sheet.\r\n * @slot header - Renders the header of the sheet.\r\n *\r\n * @attr detent - The zero‑based index of the detent the sheet should open to.\r\n * @attr detents - Detents (discrete height states) the sheet can snap to.\r\n * @attr handle - Whether to display a drag handle and enable the top region of the sheet as a gesture surface for dragging between detents.\r\n * @attr handle-label - The accessible label given to the drag handle.\r\n * @attr hideable - Whether the bottom sheet can hide when its swiped down.\r\n * @attr hide-friction - The friction coefficient to hide the sheet, or set it to the next closest expanded detent.\r\n * @attr modal - Whether the bottom sheet behaves as modal.\r\n * @attr open - Whether the bottom sheet is open.\r\n *\r\n * @fires opening - Emitted when the sheet begins to open.\r\n * @fires opened - Emitted when the sheet has opened.\r\n * @fires cancel - Emitted when the sheet is cancelled.\r\n * @fires closing - Emitted when the sheet begins to close.\r\n * @fires closed - Emitted when the sheet has closed.\r\n *\r\n * @cssprop --m3e-bottom-sheet-width - The width of the sheet.\r\n * @cssprop --m3e-bottom-sheet-max-width - The maximum width of the sheet.\r\n * @cssprop --m3e-bottom-sheet-container-color - The background color of the sheet container.\r\n * @cssprop --m3e-bottom-sheet-elevation - The elevation level when not modal.\r\n * @cssprop --m3e-bottom-sheet-modal-elevation - The elevation level when modal.\r\n * @cssprop --m3e-bottom-sheet-full-elevation - The elevation level when full height.\r\n * @cssprop --m3e-bottom-sheet-z-index - The z-index of the non-modal sheet.\r\n * @cssprop --m3e-bottom-sheet-minimized-container-shape - The border radius when minimized.\r\n * @cssprop --m3e-bottom-sheet-container-shape - The border radius of the sheet container.\r\n * @cssprop --m3e-bottom-sheet-full-container-shape - The border radius when full height.\r\n * @cssprop --m3e-bottom-sheet-scrim-color - The color of the scrim overlay.\r\n * @cssprop --m3e-bottom-sheet-scrim-opacity - The opacity of the scrim overlay.\r\n * @cssprop --m3e-bottom-sheet-peek-height - The visible height when minimized.\r\n * @cssprop --m3e-bottom-sheet-compact-top-space - The top space in compact mode.\r\n * @cssprop --m3e-bottom-sheet-top-space - The top space in standard mode.\r\n * @cssprop --m3e-bottom-sheet-padding-block - The vertical padding.\r\n * @cssprop --m3e-bottom-sheet-padding-inline - The horizontal padding.\r\n * @cssprop --m3e-bottom-sheet-handle-container-height - The height of the drag handle container.\r\n * @cssprop --m3e-bottom-sheet-handle-width - The width of the drag handle.\r\n * @cssprop --m3e-bottom-sheet-handle-height - The height of the drag handle.\r\n * @cssprop --m3e-bottom-sheet-handle-shape - The border radius of the handle.\r\n * @cssprop --m3e-bottom-sheet-handle-color - The color of the drag handle.\r\n * @cssprop --m3e-bottom-sheet-handle-focus-ring-offset - The offset of the focus ring around the handle.\r\n * @cssprop --m3e-bottom-sheet-color - The foreground (text) color of the sheet.\r\n * @cssprop --m3e-bottom-sheet-content-font-size - Font size for the sheet content.\r\n * @cssprop --m3e-bottom-sheet-content-font-weight - Font weight for the sheet content.\r\n * @cssprop --m3e-bottom-sheet-content-line-height - Line height for the sheet content.\r\n * @cssprop --m3e-bottom-sheet-content-tracking - Letter spacing (tracking) for the sheet content.\r\n * @cssprop --m3e-bottom-sheet-header-font-size - Font size for the sheet header.\r\n * @cssprop --m3e-bottom-sheet-header-font-weight - Font weight for the sheet header.\r\n * @cssprop --m3e-bottom-sheet-header-line-height - Line height for the sheet header.\r\n * @cssprop --m3e-bottom-sheet-header-tracking - Letter spacing (tracking) for the sheet header.\r\n */\r\n@customElement(\"m3e-bottom-sheet\")\r\nexport class M3eBottomSheetElement extends EventAttribute(\r\n LitElement,\r\n \"opening\",\r\n \"opened\",\r\n \"cancel\",\r\n \"closing\",\r\n \"closed\",\r\n) {\r\n static {\r\n if (document) {\r\n const lightDomStyle = new CSSStyleSheet();\r\n lightDomStyle.replaceSync(\r\n css`\r\n @property --_bottom-sheet-height {\r\n syntax: \"<length>\";\r\n inherits: false;\r\n initial-value: 50vh;\r\n }\r\n m3e-bottom-sheet > [slot=\"header\"] {\r\n margin-block-end: var(--m3e-bottom-sheet-padding-block, 0.5rem);\r\n margin-inline: var(--m3e-bottom-sheet-padding-inline, 1rem);\r\n }\r\n `.toString(),\r\n );\r\n document.adoptedStyleSheets.push(lightDomStyle);\r\n }\r\n }\r\n\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: block;\r\n position: fixed;\r\n left: 50%;\r\n top: calc(100vh - var(--_bottom-sheet-height));\r\n margin: 0;\r\n padding: 0;\r\n outline: none;\r\n overflow: hidden;\r\n border: none;\r\n box-sizing: border-box;\r\n width: var(--m3e-bottom-sheet-width, 100%);\r\n max-width: var(--m3e-bottom-sheet-max-width, 40rem);\r\n height: var(--_bottom-sheet-height);\r\n color: var(--m3e-bottom-sheet-color, ${DesignToken.color.onSurface});\r\n background-color: var(--m3e-bottom-sheet-container-color, ${DesignToken.color.surfaceContainerLow});\r\n transition: ${unsafeCSS(\r\n `transform ${DesignToken.motion.duration.medium2} ${DesignToken.motion.easing.standardDecelerate},\r\n border-radius ${DesignToken.motion.duration.medium2} ${DesignToken.motion.easing.standard}`,\r\n )};\r\n }\r\n :host(:not([modal]):not(.-full)) .elevation {\r\n --m3e-elevation-level: var(--m3e-bottom-sheet-elevation, ${DesignToken.elevation.level1});\r\n }\r\n :host([modal]:not(.-full)) .elevation {\r\n --m3e-elevation-level: var(--m3e-bottom-sheet-modal-elevation, ${DesignToken.elevation.level1});\r\n }\r\n :host(.-full) .elevation {\r\n --m3e-elevation-level: var(--m3e-bottom-sheet-full-elevation, ${DesignToken.elevation.level1});\r\n }\r\n :host(:not([modal])) {\r\n z-index: var(--m3e-bottom-sheet-z-index, 10);\r\n }\r\n :host(:not([modal]):not([open])),\r\n :host([modal]:not(:popover-open)) {\r\n border-radius: var(--m3e-bottom-sheet-minimized-container-shape, ${DesignToken.shape.corner.none});\r\n transform: translateX(-50%) translateY(100%);\r\n }\r\n :host(:not([modal])[open]:not(.-full)),\r\n :host([modal]:not(.-full):popover-open) {\r\n border-radius: var(--m3e-bottom-sheet-container-shape, ${DesignToken.shape.corner.extraLargeTop});\r\n }\r\n :host(:not([modal])[open].-full),\r\n :host([modal].-full:popover-open) {\r\n border-radius: var(--m3e-bottom-sheet-full-container-shape, ${DesignToken.shape.corner.extraLargeTop});\r\n }\r\n :host(:not([modal])[open]),\r\n :host([modal]:popover-open) {\r\n transform: translateX(-50%) translateY(0);\r\n }\r\n :host([modal])::backdrop {\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard}, \r\n overlay ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard} allow-discrete,\r\n visibility ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard} allow-discrete`,\r\n )};\r\n }\r\n :host([modal]:popover-open)::backdrop {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-bottom-sheet-scrim-color, ${DesignToken.color.scrim}) var(--m3e-bottom-sheet-scrim-opacity, 32%),\r\n transparent\r\n );\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.long2} ${DesignToken.motion.easing.standard}, \r\n overlay ${DesignToken.motion.duration.long2} ${DesignToken.motion.easing.standard} allow-discrete,\r\n visibility ${DesignToken.motion.duration.long2} ${DesignToken.motion.easing.standard} allow-discrete`,\r\n )};\r\n }\r\n @starting-style {\r\n :host([modal]:popover-open)::backdrop {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-bottom-sheet-scrim-color, ${DesignToken.color.scrim}) 0%,\r\n transparent\r\n );\r\n }\r\n }\r\n .base {\r\n display: flex;\r\n border-radius: inherit;\r\n flex-direction: column;\r\n height: 100%;\r\n --_bottom-sheet-peek-height: var(--m3e-bottom-sheet-peek-height, 0);\r\n --_bottom-sheet-top-space: var(--m3e-bottom-sheet-compact-top-space, 4.5rem);\r\n }\r\n @media (max-height: 640px) {\r\n .base {\r\n --_bottom-sheet-top-space: var(--m3e-bottom-sheet-top-space, 3.5rem);\r\n }\r\n }\r\n .body {\r\n flex: 1 1 auto;\r\n overflow-y: auto;\r\n scrollbar-width: ${DesignToken.scrollbar.thinWidth};\r\n scrollbar-color: ${DesignToken.scrollbar.color};\r\n padding-block-end: var(--m3e-bottom-sheet-padding-block, 0.5rem);\r\n padding-inline: var(--m3e-bottom-sheet-padding-inline, 1rem);\r\n font-size: var(--m3e-bottom-sheet-content-font-size, ${DesignToken.typescale.standard.body.medium.fontSize});\r\n font-weight: var(\r\n --m3e-bottom-sheet-content-font-weight,\r\n ${DesignToken.typescale.standard.body.medium.fontWeight}\r\n );\r\n line-height: var(\r\n --m3e-bottom-sheet-content-line-height,\r\n ${DesignToken.typescale.standard.body.medium.lineHeight}\r\n );\r\n letter-spacing: var(--m3e-bottom-sheet-content-tracking, ${DesignToken.typescale.standard.body.medium.tracking});\r\n }\r\n .content {\r\n height: fit-content;\r\n }\r\n :host(:not([handle]):not(.-has-header)) .header {\r\n display: none;\r\n }\r\n :host(:not([handle]):not(.-has-header)) .body,\r\n .header {\r\n border-top-left-radius: inherit;\r\n border-top-right-radius: inherit;\r\n padding-block-start: var(--m3e-bottom-sheet-padding-block, 0.5rem);\r\n font-size: var(--m3e-bottom-sheet-header-font-size, ${DesignToken.typescale.standard.title.large.fontSize});\r\n font-weight: var(--m3e-bottom-sheet-header-font-weight, ${DesignToken.typescale.standard.title.large.fontWeight});\r\n line-height: var(--m3e-bottom-sheet-header-line-height, ${DesignToken.typescale.standard.title.large.lineHeight});\r\n letter-spacing: var(--m3e-bottom-sheet-header-tracking, ${DesignToken.typescale.standard.title.large.tracking});\r\n }\r\n .header {\r\n cursor: grab;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n box-sizing: border-box;\r\n flex: none;\r\n display: flex;\r\n flex-direction: column;\r\n min-height: 3rem;\r\n --m3e-app-bar-container-color: var(--m3e-bottom-sheet-container-color, ${DesignToken.color.surfaceContainerLow});\r\n }\r\n .handle-row {\r\n position: relative;\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n opacity: 1;\r\n visibility: visible;\r\n transition: ${unsafeCSS(\r\n `opacity ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard},\r\n padding ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard},\r\n height ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard},\r\n visibility ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard} allow-discrete`,\r\n )};\r\n height: var(--m3e-bottom-sheet-handle-container-height, 1.5rem);\r\n }\r\n .handle {\r\n position: relative;\r\n width: var(--m3e-bottom-sheet-handle-width, 2rem);\r\n height: var(--m3e-bottom-sheet-handle-height, 0.25rem);\r\n border-radius: var(--m3e-bottom-sheet-handle-shape, ${DesignToken.shape.corner.full});\r\n background-color: var(--m3e-bottom-sheet-handle-color, ${DesignToken.color.onSurfaceVariant});\r\n }\r\n .focus-ring {\r\n top: calc(0px - var(--m3e-bottom-sheet-handle-focus-ring-offset, 0.125rem));\r\n left: calc(0px - var(--m3e-bottom-sheet-handle-focus-ring-offset, 0.125rem));\r\n right: calc(0px - var(--m3e-bottom-sheet-handle-focus-ring-offset, 0.125rem));\r\n bottom: calc(0px - var(--m3e-bottom-sheet-handle-focus-ring-offset, 0.125rem));\r\n }\r\n .handle-touch {\r\n position: absolute;\r\n aspect-ratio: 1 / 1;\r\n height: 3rem;\r\n left: calc(0px - calc(calc(3rem - var(--m3e-bottom-sheet-handle-width, 2rem)) / 2));\r\n right: calc(0px - calc(calc(3rem - var(--m3e-bottom-sheet-handle-width, 2rem)) / 2));\r\n top: calc(\r\n 0px - calc(\r\n calc(3rem - var(--m3e-bottom-sheet-handle-container-height, 1.5rem)) - calc(\r\n var(--m3e-bottom-sheet-handle-height, 0.25rem) / 2\r\n )\r\n )\r\n );\r\n }\r\n @media (prefers-reduced-motion) {\r\n :host,\r\n :host([modal])::backdrop,\r\n :host([modal]:popover-open)::backdrop,\r\n .handle {\r\n transition: none;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n :host([modal])::backdrop,\r\n :host([modal]:popover-open)::backdrop {\r\n transition: none;\r\n }\r\n .base {\r\n border-style: solid;\r\n border-width: 1px;\r\n border-color: CanvasText;\r\n }\r\n .handle {\r\n background-color: ButtonText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ private static __openSheet?: M3eBottomSheetElement;\r\n\r\n /** @private */ readonly #documentClickHandler = (e: Event) => this.#handleDocumentClick(e);\r\n /** @private */ readonly #documentKeyDownHandler = (e: KeyboardEvent) => this.#handleDocumentKeyDown(e);\r\n /** @private */ readonly #windowResizeHandler = () => this.#handleWindowResize();\r\n /** @private */ readonly #inerts = new Array<HTMLElement>();\r\n /** @private */ readonly #velocityTracker = new VelocityTracker();\r\n /** @private */ readonly #scrollLockController = new ScrollLockController(this);\r\n\r\n /** @private */\r\n readonly #resizeController = new ResizeController(this, {\r\n target: null,\r\n skipInitial: true,\r\n callback: (x) => this.#handleSectionResize(x),\r\n });\r\n\r\n /** @private */ #trigger: Element | null = null;\r\n /** @private */ #dragState?: { startY: number; startHeight: number; maxHeight: number; minHeight: number };\r\n /** @private */ #dragged = false;\r\n /** @private */ #activeDetent = 0;\r\n /** @private */ #requestDetent?: number;\r\n /** @private */ #cachedContentHeight = 0;\r\n /** @private */ #cachedHeaderHeight = 0;\r\n /** @private */ #snapAnimation?: Animation;\r\n\r\n /**\r\n * Whether the bottom sheet behaves as modal.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) modal = false;\r\n\r\n /**\r\n * Whether the bottom sheet is open.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) open = false;\r\n\r\n /**\r\n * Whether to display a drag handle and enable the top region of the sheet as a gesture\r\n * surface for dragging between detents.\r\n * @default false\r\n */\r\n @property({ type: Boolean }) handle = false;\r\n\r\n /**\r\n * The accessible label given to the drag handle.\r\n * @default \"Drag handle\"\r\n */\r\n @property({ attribute: \"handle-label\" }) handleLabel = \"Drag handle\";\r\n\r\n /**\r\n * Detents (discrete height states) the sheet can snap to.\r\n * @default []\r\n */\r\n @property({ attribute: \"detents\", converter: spaceSeparatedStringConverter }) detents: string[] = [];\r\n\r\n /**\r\n * The zero‑based index of the detent the sheet should open to.\r\n * @default 0\r\n */\r\n @property({ type: Number }) detent = 0;\r\n\r\n /**\r\n * Whether the bottom sheet can hide when its swiped down.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) hideable = false;\r\n\r\n /**\r\n * The friction coefficient to hide the sheet, or set it to the next closest expanded detent.\r\n * @default 0.5\r\n */\r\n @property({ attribute: \"hide-friction\", type: Number }) hideFriction = 0.5;\r\n\r\n /**\r\n * Shows the sheet.\r\n * @param {number} detent The zero‑based index of the detent the sheet should open to.\r\n */\r\n show(detent: number = this.detent): void {\r\n if (!this.open) {\r\n this.#requestDetent = detent;\r\n this.open = true;\r\n } else if (detent !== undefined && this.#activeDetent !== detent) {\r\n this.#snapToDetent(detent);\r\n }\r\n }\r\n\r\n /** Hides the sheet. */\r\n hide(): void {\r\n this.open = false;\r\n }\r\n\r\n /**\r\n * Toggles the opened state of the sheet.\r\n * @param {number} detent The zero‑based index of the detent the sheet should open to.\r\n */\r\n toggle(detent?: number): void {\r\n if (this.open) {\r\n this.hide();\r\n } else {\r\n this.show(detent);\r\n }\r\n }\r\n\r\n /** Moves the sheet to the next detent. */\r\n cycle(): void {\r\n if (!this.open) {\r\n this.show();\r\n } else if (this.detents.length > 0) {\r\n if (this.#activeDetent < this.detents.length - 1) {\r\n this.#activeDetent++;\r\n this.#snapToDetent(this.#activeDetent);\r\n } else if (this.hideable) {\r\n this.hide();\r\n }\r\n } else {\r\n this.hide();\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"modal\")) {\r\n this.role = this.modal ? \"dialog\" : \"region\";\r\n this.ariaModal = this.modal ? \"true\" : null;\r\n this.popover = this.modal ? \"manual\" : null;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n const content = this.shadowRoot?.querySelector<HTMLElement>(\".content\");\r\n if (content) {\r\n this.#cachedContentHeight = content.clientHeight;\r\n this.#resizeController.observe(content);\r\n }\r\n\r\n const header = this.shadowRoot?.querySelector<HTMLElement>(\".header\");\r\n if (header) {\r\n this.#cachedHeaderHeight = header.clientHeight;\r\n this.#resizeController.observe(header);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues): void {\r\n super.updated(_changedProperties);\r\n\r\n if (_changedProperties.has(\"open\")) {\r\n if (this.open) {\r\n if (!this.dispatchEvent(new Event(\"opening\", { cancelable: true }))) {\r\n this.open = false;\r\n return;\r\n }\r\n\r\n // Only one sheet can be open at a time.\r\n if (M3eBottomSheetElement.__openSheet !== this) {\r\n M3eBottomSheetElement.__openSheet?.hide();\r\n }\r\n M3eBottomSheetElement.__openSheet = this;\r\n\r\n this.inert = false;\r\n\r\n window.addEventListener(\"resize\", this.#windowResizeHandler);\r\n\r\n // If there are detents (regardless of handle) open to the requested, default (or first) detent.\r\n // Otherwise, open to fit unless its greater than half.\r\n\r\n if (this.detents.length > 0) {\r\n this.#activeDetent = Math.min(Math.max(0, this.#requestDetent ?? this.detent), this.detents.length - 1);\r\n this.#updateHeight(this.#computeDetentHeight(this.detents[this.#activeDetent]));\r\n } else {\r\n this.#updateHeight(Math.min(this.#computeDetentHeight(\"fit\"), this.#computeDetentHeight(\"half\")));\r\n }\r\n this.#requestDetent = undefined;\r\n } else {\r\n if (!this.dispatchEvent(new Event(\"closing\", { cancelable: true }))) {\r\n this.open = true;\r\n return;\r\n }\r\n\r\n // The following ensures layout is stable so that first tab isn't \"skipped\"\r\n requestAnimationFrame(() => (this.inert = true));\r\n\r\n window.removeEventListener(\"resize\", this.#windowResizeHandler);\r\n\r\n if (M3eBottomSheetElement.__openSheet === this) {\r\n M3eBottomSheetElement.__openSheet = undefined;\r\n }\r\n }\r\n\r\n if (this.modal) {\r\n if (this.open) {\r\n this.#trigger = document.activeElement;\r\n this.#applyInert();\r\n this.#scrollLockController.lock();\r\n this.showPopover();\r\n requestAnimationFrame(() => {\r\n document.addEventListener(\"click\", this.#documentClickHandler);\r\n document.addEventListener(\"keydown\", this.#documentKeyDownHandler);\r\n });\r\n\r\n let focusable: HTMLElement | null | undefined = this.querySelector<HTMLElement>(\"[autofocus]\");\r\n if (!focusable || !M3eInteractivityChecker.isFocusable(focusable)) {\r\n focusable = this.shadowRoot?.querySelector(\".handle\");\r\n }\r\n if (focusable) {\r\n focusWhenReady(focusable);\r\n }\r\n } else {\r\n this.#snapToHeight(0).then(() => {\r\n this.#restoreInert();\r\n this.#scrollLockController.unlock();\r\n document.removeEventListener(\"click\", this.#documentClickHandler);\r\n document.removeEventListener(\"keydown\", this.#documentKeyDownHandler);\r\n this.hidePopover();\r\n if (this.#trigger instanceof HTMLElement) {\r\n this.#trigger.focus();\r\n }\r\n this.#trigger = null;\r\n });\r\n }\r\n }\r\n\r\n this.dispatchEvent(new Event(this.open ? \"opened\" : \"closed\"));\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<m3e-focus-trap ?disabled=\"${!this.modal}\">\r\n <div class=\"base\">\r\n <m3e-elevation class=\"elevation\"></m3e-elevation>\r\n <div\r\n class=\"header\"\r\n @pointerdown=\"${this.#handleHeaderPointerDown}\"\r\n @pointermove=\"${this.#handleHeaderPointerMove}\"\r\n @pointerup=\"${this.#handleHeaderPointerUp}\"\r\n >\r\n ${this.handle\r\n ? html`<div class=\"handle-row\">\r\n <div\r\n id=\"handle\"\r\n class=\"handle\"\r\n role=\"button\"\r\n aria-label=\"${this.handleLabel}\"\r\n tabindex=\"0\"\r\n @click=\"${this.#handleDragHandleClick}\"\r\n @keydown=\"${this.#handleDragHandleKeyDown}\"\r\n >\r\n <m3e-focus-ring class=\"focus-ring\" for=\"handle\"></m3e-focus-ring>\r\n <div class=\"handle-touch\" aria-hidden=\"true\"></div>\r\n </div>\r\n </div>`\r\n : nothing}\r\n <slot name=\"header\" @slotchange=\"${this.#handleHeaderSlotChange}\"></slot>\r\n </div>\r\n <div class=\"body\">\r\n <div class=\"content\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </m3e-focus-trap>`;\r\n }\r\n\r\n /** @private */\r\n #handleHeaderSlotChange(e: Event): void {\r\n this.classList.toggle(\"-has-header\", hasAssignedNodes(e.target as HTMLSlotElement));\r\n }\r\n\r\n /** @private */\r\n #handleHeaderPointerDown(e: PointerEvent): void {\r\n if (e.button === 2) return;\r\n\r\n if (e.target instanceof HTMLElement && M3eInteractivityChecker.isFocusable(e.target)) {\r\n return;\r\n }\r\n\r\n (<HTMLElement>e.target).setPointerCapture(e.pointerId);\r\n (<HTMLElement>e.target).style.cursor = \"grabbing\";\r\n\r\n this.#velocityTracker.reset();\r\n this.#velocityTracker.add(e.clientY);\r\n\r\n this.#dragState = {\r\n startY: e.clientY,\r\n startHeight: this.clientHeight,\r\n maxHeight: this.#computeMaxHeight(),\r\n minHeight: this.#computeMinHeight(),\r\n };\r\n this.#dragged = false;\r\n }\r\n\r\n /** @private */\r\n #handleHeaderPointerMove(e: PointerEvent): void {\r\n if (!this.#dragState) {\r\n return;\r\n }\r\n\r\n const minDragThreshold = 8;\r\n if (Math.abs(e.clientY - this.#dragState.startY) <= minDragThreshold) {\r\n // Ignore movement under threshold\r\n return;\r\n }\r\n\r\n (e.getCoalescedEvents?.() ?? [e]).forEach((x) => this.#velocityTracker.add(x.clientY, e.timeStamp));\r\n\r\n let newHeight = this.#dragState.startHeight - (e.clientY - this.#dragState.startY);\r\n if (newHeight < this.#dragState.minHeight) {\r\n const overshoot = (this.#dragState.minHeight - newHeight) * this.hideFriction;\r\n newHeight = this.#dragState.minHeight - overshoot;\r\n }\r\n\r\n this.#updateHeight(Math.min(this.#dragState.maxHeight, newHeight));\r\n this.#dragged = true;\r\n }\r\n\r\n /** @private */\r\n #handleHeaderPointerUp(e: PointerEvent): void {\r\n if (!this.#dragState) return;\r\n\r\n try {\r\n (<HTMLElement>e.target).releasePointerCapture(e.pointerId);\r\n (<HTMLElement>e.target).style.cursor = \"\";\r\n\r\n if (!this.#dragged) return;\r\n\r\n const significantVelocityThreshold = e.pointerType === \"touch\" ? 1200 : 500;\r\n const velocity = this.#velocityTracker.getVelocity();\r\n\r\n this.#velocityTracker.reset();\r\n\r\n if (this.hideable && velocity >= significantVelocityThreshold) {\r\n if (this.dispatchEvent(new Event(\"cancel\", { cancelable: true }))) {\r\n this.hide();\r\n }\r\n } else if (Math.abs(velocity) >= significantVelocityThreshold) {\r\n if (this.detents.length > 0) {\r\n const nextDetent = this.#getNextHigherDetent();\r\n if (nextDetent !== this.#activeDetent) {\r\n this.#snapToDetent(nextDetent);\r\n }\r\n } else {\r\n this.#snapToHeight(this.#computeDetentHeight(\"full\"));\r\n }\r\n } else {\r\n const hideDistanceThreshold = 20;\r\n if (this.hideable) {\r\n const collapsed = this.#dragState.minHeight;\r\n if (this.clientHeight < collapsed - hideDistanceThreshold) {\r\n this.hide();\r\n return;\r\n }\r\n }\r\n\r\n if (this.detents.length > 0) {\r\n this.#snapToDetent(this.#getClosestDetent());\r\n } else if (this.clientHeight < this.#dragState.minHeight) {\r\n this.#snapToHeight(this.#dragState.minHeight);\r\n }\r\n }\r\n } finally {\r\n this.#dragState = undefined;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleDocumentClick(e: Event): void {\r\n if (\r\n this.open &&\r\n this.modal &&\r\n !e.composedPath().includes(this) &&\r\n this.dispatchEvent(new Event(\"cancel\", { cancelable: true }))\r\n ) {\r\n this.hide();\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleDocumentKeyDown(e: KeyboardEvent): void {\r\n if (this.open && this.modal && e.key === \"Escape\" && !e.shiftKey && !e.ctrlKey) {\r\n e.preventDefault();\r\n\r\n if (this.dispatchEvent(new Event(\"cancel\", { cancelable: true }))) {\r\n this.hide();\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleWindowResize(): void {\r\n if (this.detents.length > 0 && this.detents[this.#activeDetent] === \"half\") {\r\n this.#updateHeight(this.#computeDetentHeight(\"half\"));\r\n return;\r\n }\r\n\r\n const maxHeight = this.#computeMaxHeight();\r\n if (this.classList.contains(\"-full\")) {\r\n this.#updateHeight(maxHeight);\r\n } else if (this.clientHeight > maxHeight) {\r\n this.#updateHeight(maxHeight);\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleDragHandleClick(): void {\r\n if (!this.#dragged) {\r\n this.cycle();\r\n }\r\n this.#dragged = false;\r\n }\r\n\r\n /** @private */\r\n #handleDragHandleKeyDown(e: KeyboardEvent): void {\r\n if (e.defaultPrevented || !isModifierAllowed(e)) return;\r\n\r\n switch (e.key) {\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n e.preventDefault();\r\n if (this.detents.length > 0) {\r\n const nextDetent = this.#getNextHigherDetent();\r\n if (nextDetent !== this.#activeDetent) {\r\n this.#snapToDetent(nextDetent);\r\n }\r\n } else {\r\n this.#snapToHeight(this.#computeDetentHeight(\"full\"));\r\n }\r\n break;\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n e.preventDefault();\r\n if (this.detents.length > 0) {\r\n const nextDetent = this.#getNextLowerDetent();\r\n if (nextDetent !== this.#activeDetent) {\r\n this.#snapToDetent(nextDetent);\r\n } else if (this.hideable) {\r\n this.hide();\r\n }\r\n } else if (this.hideable) {\r\n this.hide();\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #getNextHigherDetent(): number {\r\n const currentHeight = this.clientHeight;\r\n let nextHeight = Infinity;\r\n let nextDetent = this.#activeDetent;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === this.#activeDetent) continue;\r\n const detentHeight = this.#computeDetentHeight(this.detents[i]);\r\n if (detentHeight > currentHeight && detentHeight < nextHeight) {\r\n nextHeight = detentHeight;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextLowerDetent(): number {\r\n const currentHeight = this.clientHeight;\r\n let nextHeight = -Infinity;\r\n let nextDetent = this.#activeDetent;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === this.#activeDetent) continue;\r\n const detentHeight = this.#computeDetentHeight(this.detents[i]);\r\n if (detentHeight < currentHeight && detentHeight > nextHeight) {\r\n nextHeight = detentHeight;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #getClosestDetent(): number {\r\n const currentHeight = this.clientHeight;\r\n let closestDetent = this.#activeDetent;\r\n let closestDistance = Infinity;\r\n\r\n for (let i = 0; i < this.detents.length; i++) {\r\n const detentHeight = this.#computeDetentHeight(this.detents[i]);\r\n const distance = Math.abs(currentHeight - detentHeight);\r\n\r\n if (distance < closestDistance) {\r\n closestDistance = distance;\r\n closestDetent = i;\r\n }\r\n }\r\n return closestDetent;\r\n }\r\n\r\n /** @private */\r\n #computeDetentHeight(detent: string): number {\r\n switch (detent) {\r\n case \"collapsed\":\r\n return this.#computeMinHeight();\r\n case \"half\":\r\n return this.#computeMaxHeight() * 0.5;\r\n case \"full\":\r\n return this.#computeMaxHeight();\r\n case \"fit\":\r\n return this.#computeFitHeight();\r\n }\r\n\r\n if (detent.endsWith(\"%\")) {\r\n return this.#computeMaxHeight() * (parseFloat(detent) / 100);\r\n }\r\n\r\n if (detent.endsWith(\"px\")) {\r\n return parseFloat(detent);\r\n }\r\n\r\n return this.#computeMinHeight();\r\n }\r\n\r\n /** @private */\r\n #computeMaxHeight(): number {\r\n const base = this.shadowRoot?.querySelector<HTMLElement>(\".base\");\r\n return window.innerHeight - (base ? computeCssSize(base, \"var(--_bottom-sheet-top-space)\") : 0);\r\n }\r\n\r\n /** @private */\r\n #computeMinHeight(): number {\r\n return this.detents.includes(\"fit\") && !this.detents.includes(\"collapsed\")\r\n ? this.#computeFitHeight()\r\n : this.#computePeekHeight();\r\n }\r\n\r\n /** @private */\r\n #computePeekHeight(): number {\r\n const base = this.shadowRoot?.querySelector<HTMLElement>(\".base\");\r\n return this.#cachedHeaderHeight + (base ? computeCssSize(base, \"var(--_bottom-sheet-peek-height)\") : 0);\r\n }\r\n\r\n /** @private */\r\n #computeFitHeight(): number {\r\n const body = this.shadowRoot?.querySelector<HTMLElement>(\".body\");\r\n if (!body) {\r\n return 0;\r\n }\r\n\r\n const bodyStyle = getComputedStyle(body);\r\n return (\r\n this.#cachedHeaderHeight +\r\n this.#cachedContentHeight +\r\n parseFloat(bodyStyle.paddingBlockStart) +\r\n parseFloat(bodyStyle.paddingBlockEnd)\r\n );\r\n }\r\n\r\n /** @private */\r\n #handleSectionResize(entries: ResizeObserverEntry[]): void {\r\n const oldCachedContentHeight = this.#cachedContentHeight;\r\n const oldCachedHeaderHeight = this.#cachedHeaderHeight;\r\n\r\n for (const entry of entries) {\r\n if (entry.target.classList.contains(\"content\")) {\r\n this.#cachedContentHeight = (<ResizeObserverSize>(\r\n (Array.isArray(entry.borderBoxSize) ? entry.borderBoxSize[0] : entry.borderBoxSize)\r\n )).blockSize;\r\n } else if (entry.target.classList.contains(\"header\")) {\r\n this.#cachedHeaderHeight = (<ResizeObserverSize>(\r\n (Array.isArray(entry.borderBoxSize) ? entry.borderBoxSize[0] : entry.borderBoxSize)\r\n )).blockSize;\r\n }\r\n }\r\n\r\n if (\r\n this.open &&\r\n this.detents.length > 0 &&\r\n (oldCachedContentHeight !== this.#cachedContentHeight || oldCachedHeaderHeight !== this.#cachedHeaderHeight)\r\n ) {\r\n switch (this.detents[this.#activeDetent]) {\r\n case \"fit\":\r\n this.#updateHeight(this.#computeFitHeight());\r\n break;\r\n\r\n case \"collapsed\":\r\n this.#updateHeight(this.#computeMinHeight());\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #snapToDetent(detent: number): void {\r\n if (detent >= 0 && detent < this.detents.length) {\r\n this.#activeDetent = detent;\r\n this.#snapToHeight(this.#computeDetentHeight(this.detents[detent]));\r\n }\r\n }\r\n\r\n /** @private */\r\n async #snapToHeight(height: number): Promise<void> {\r\n if (this.#snapAnimation) {\r\n this.#updateHeight(this.clientHeight);\r\n this.#snapAnimation?.cancel();\r\n this.#snapAnimation = undefined;\r\n }\r\n\r\n if (!prefersReducedMotion()) {\r\n this.#snapAnimation = this.animate(\r\n [{ \"--_bottom-sheet-height\": `${this.clientHeight}px` }, { \"--_bottom-sheet-height\": `${height}px` }],\r\n {\r\n duration: 250,\r\n easing: \"cubic-bezier(0.2, 0.0, 0, 1.0)\",\r\n },\r\n );\r\n this.#snapAnimation.onfinish = () => {\r\n this.#updateHeight(height);\r\n this.#snapAnimation = undefined;\r\n };\r\n await this.#snapAnimation.finished;\r\n } else {\r\n this.#updateHeight(height);\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateHeight(height: number): void {\r\n this.style.setProperty(\"--_bottom-sheet-height\", `${height}px`);\r\n this.classList.toggle(\"-full\", height === this.#computeMaxHeight());\r\n const content = this.shadowRoot?.querySelector<HTMLElement>(\".content\");\r\n if (content) {\r\n content.inert = height <= this.#computePeekHeight();\r\n }\r\n }\r\n\r\n /** @private */\r\n #applyInert() {\r\n this.#inerts.length = 0;\r\n\r\n for (\r\n let current: Node = this as Node;\r\n current.parentNode && current.parentNode !== document.documentElement;\r\n current = current.parentNode\r\n ) {\r\n for (const sibling of current.parentNode.children) {\r\n if (sibling instanceof HTMLElement && sibling !== current && !sibling.inert) {\r\n sibling.inert = true;\r\n this.#inerts.push(sibling);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #restoreInert(): void {\r\n this.#inerts.forEach((x) => (x.inert = false));\r\n this.#inerts.length = 0;\r\n }\r\n}\r\n\r\ninterface M3eBottomSheetElementEventMap extends HTMLElementEventMap {\r\n opening: Event;\r\n opened: Event;\r\n closing: Event;\r\n closed: Event;\r\n cancel: Event;\r\n}\r\n\r\nexport interface M3eBottomSheetElement {\r\n addEventListener<K extends keyof M3eBottomSheetElementEventMap>(\r\n type: K,\r\n listener: (this: M3eBottomSheetElement, ev: M3eBottomSheetElementEventMap[K]) => void,\r\n options?: boolean | AddEventListenerOptions,\r\n ): void;\r\n\r\n addEventListener(\r\n type: string,\r\n listener: EventListenerOrEventListenerObject,\r\n options?: boolean | AddEventListenerOptions,\r\n ): void;\r\n\r\n removeEventListener<K extends keyof M3eBottomSheetElementEventMap>(\r\n type: K,\r\n listener: (this: M3eBottomSheetElement, ev: M3eBottomSheetElementEventMap[K]) => void,\r\n options?: boolean | EventListenerOptions,\r\n ): void;\r\n\r\n removeEventListener(\r\n type: string,\r\n listener: EventListenerOrEventListenerObject,\r\n options?: boolean | EventListenerOptions,\r\n ): void;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-bottom-sheet\": M3eBottomSheetElement;\r\n }\r\n}\r\n","import { customElement, property } from \"lit/decorators.js\";\r\n\r\nimport { ActionElementBase, HtmlFor } from \"@m3e/web/core\";\r\nimport { addAriaReferencedId, removeAriaReferencedId } from \"@m3e/web/core/a11y\";\r\n\r\nimport { M3eBottomSheetElement } from \"./BottomSheetElement\";\r\n\r\n/**\r\n * An element, nested within a clickable element, used to trigger a bottom sheet.\r\n * @tag m3e-bottom-sheet-trigger\r\n *\r\n * @slot - Renders the content of the trigger.\r\n *\r\n * @attr detent - The zero‑based index of the detent the sheet should open to.\r\n * @attr secondary - Marks this trigger as a secondary trigger for accessibility. Secondary triggers do not receive ARIA ownership.\r\n */\r\n@customElement(\"m3e-bottom-sheet-trigger\")\r\nexport class M3eBottomSheetTriggerElement extends HtmlFor(ActionElementBase) {\r\n /**\r\n * The zero‑based index of the detent the sheet should open to.\r\n * @default undefined\r\n */\r\n @property({ type: Number }) detent?: number;\r\n\r\n /**\r\n * Marks this trigger as a secondary trigger for accessibility. Secondary triggers do not receive ARIA ownership.\r\n * @default false\r\n */\r\n @property({ type: Boolean }) secondary = false;\r\n\r\n /** @inheritdoc */\r\n override attach(control: HTMLElement): void {\r\n if (control instanceof M3eBottomSheetElement) {\r\n super.attach(control);\r\n\r\n if (this.parentElement) {\r\n if (!control.modal) {\r\n if (!this.secondary) {\r\n this.parentElement.ariaExpanded = \"false\";\r\n addAriaReferencedId(this.parentElement, \"aria-controls\", control.id);\r\n if (this.parentElement.id) {\r\n addAriaReferencedId(control, \"aria-labelledby\", this.parentElement.id);\r\n }\r\n }\r\n } else {\r\n this.parentElement.ariaHasPopup = \"dialog\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override detach(): void {\r\n if (this.control && this.parentElement && !this.secondary) {\r\n removeAriaReferencedId(this.parentElement, \"aria-controls\", this.control.id);\r\n }\r\n super.detach();\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override _onClick(): void {\r\n if (this.control instanceof M3eBottomSheetElement) {\r\n if (this.control.modal) {\r\n this.control.show(this.detent);\r\n } else {\r\n this.control.toggle(this.detent);\r\n if (!this.secondary && this.parentElement) {\r\n this.parentElement.ariaExpanded = `${this.control.open}`;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-bottom-sheet-trigger\": M3eBottomSheetTriggerElement;\r\n }\r\n}\r\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","__classPrivateFieldSet","set","SuppressedError","t","e","o","addInitializer","customElements","define","globalThis","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","WeakMap","n$2","constructor","this","_$cssResult$","Error","cssText","styleSheet","replaceSync","toString","S","adoptStyles","adoptedStyleSheets","map","document","createElement","n","litNonce","setAttribute","textContent","appendChild","cssRules","is","h","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","a","trustedTypes","l","emptyScript","p","reactiveElementPolyfillSupport","JSCompiler_renameProperty","u","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","notEqual","b","attribute","type","String","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","y","HTMLElement","_$Ei","push","observedAttributes","finalize","_$Eh","keys","createProperty","hasOwnProperty","create","wrapped","elementProperties","noAccessor","getPropertyDescriptor","requestUpdate","configurable","enumerable","getPropertyOptions","Map","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","super","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","Promise","enableUpdating","_$AL","_$E_","forEach","addController","_$EO","add","renderRoot","isConnected","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$ET","removeAttribute","_$Ej","hasAttribute","C","_$EP","_$Eq","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","mode","ReactiveElement","reactiveElementVersions","standardProperty","name","init","M3eBottomSheetActionElement","ActionElementBase","_onClick","closest","hide","customElement","M3eBottomSheetElement","M3eBottomSheetElement_1","EventAttribute","LitElement","_M3eBottomSheetElement_documentClickHandler","_M3eBottomSheetElement_documentKeyDownHandler","_M3eBottomSheetElement_windowResizeHandler","_M3eBottomSheetElement_instances","_M3eBottomSheetElement_handleWindowResize","_M3eBottomSheetElement_inerts","_M3eBottomSheetElement_velocityTracker","VelocityTracker","_M3eBottomSheetElement_scrollLockController","ScrollLockController","_M3eBottomSheetElement_resizeController","ResizeController","skipInitial","callback","x","_M3eBottomSheetElement_handleSectionResize","_M3eBottomSheetElement_trigger","_M3eBottomSheetElement_dragState","_M3eBottomSheetElement_dragged","_M3eBottomSheetElement_activeDetent","_M3eBottomSheetElement_requestDetent","_M3eBottomSheetElement_cachedContentHeight","_M3eBottomSheetElement_cachedHeaderHeight","_M3eBottomSheetElement_snapAnimation","modal","open","handle","handleLabel","detents","detent","hideable","hideFriction","show","undefined","_M3eBottomSheetElement_snapToDetent","toggle","cycle","_a","changedProperties","role","ariaModal","popover","_changedProperties","content","querySelector","clientHeight","observe","header","dispatchEvent","Event","cancelable","__openSheet","inert","window","addEventListener","Math","min","max","_M3eBottomSheetElement_updateHeight","_M3eBottomSheetElement_computeDetentHeight","requestAnimationFrame","removeEventListener","activeElement","_M3eBottomSheetElement_applyInert","lock","showPopover","focusable","M3eInteractivityChecker","isFocusable","focusWhenReady","_M3eBottomSheetElement_snapToHeight","then","_M3eBottomSheetElement_restoreInert","unlock","hidePopover","focus","render","html","_M3eBottomSheetElement_handleHeaderPointerDown","_M3eBottomSheetElement_handleHeaderPointerMove","_M3eBottomSheetElement_handleHeaderPointerUp","_M3eBottomSheetElement_handleDragHandleClick","_M3eBottomSheetElement_handleDragHandleKeyDown","nothing","_M3eBottomSheetElement_handleHeaderSlotChange","classList","hasAssignedNodes","button","setPointerCapture","pointerId","style","cursor","reset","clientY","startY","startHeight","maxHeight","_M3eBottomSheetElement_computeMaxHeight","minHeight","_M3eBottomSheetElement_computeMinHeight","abs","getCoalescedEvents","timeStamp","newHeight","overshoot","releasePointerCapture","significantVelocityThreshold","pointerType","velocity","getVelocity","nextDetent","hideDistanceThreshold","collapsed","_M3eBottomSheetElement_getClosestDetent","composedPath","includes","shiftKey","ctrlKey","preventDefault","contains","defaultPrevented","isModifierAllowed","currentHeight","nextHeight","Infinity","detentHeight","closestDetent","closestDistance","distance","_M3eBottomSheetElement_computeFitHeight","endsWith","parseFloat","base","innerHeight","computeCssSize","body","bodyStyle","getComputedStyle","paddingBlockStart","paddingBlockEnd","entries","oldCachedContentHeight","oldCachedHeaderHeight","entry","borderBoxSize","blockSize","async","height","cancel","prefersReducedMotion","animate","duration","easing","onfinish","finished","setProperty","_M3eBottomSheetElement_computePeekHeight","current","parentNode","documentElement","sibling","children","lightDomStyle","css","DesignToken","color","onSurface","surfaceContainerLow","unsafeCSS","motion","medium2","standardDecelerate","standard","elevation","level1","shape","corner","none","extraLargeTop","short3","scrim","long2","scrollbar","thinWidth","typescale","medium","fontSize","fontWeight","lineHeight","tracking","title","large","full","onSurfaceVariant","property","spaceSeparatedStringConverter","M3eBottomSheetTriggerElement","HtmlFor","secondary","attach","control","parentElement","ariaHasPopup","ariaExpanded","addAriaReferencedId","id","detach","removeAriaReferencedId"],"mappings":";;;;;6fAsDO,SAASA,EAAWC,EAAYC,EAAQC,EAAKC,GAChD,IAA2HC,EAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,EACrH,GAAuB,iBAAZQ,SAAoD,mBAArBA,QAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIU,EAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,GAChJ,OAAOH,EAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,CAChE,CAmOO,SAASO,EAAuBC,EAAUC,EAAOC,EAAMC,GAC1D,GAAa,MAATD,IAAiBC,EAAG,MAAM,IAAIC,UAAU,iDAC5C,GAAqB,mBAAVH,EAAuBD,IAAaC,IAAUE,GAAKF,EAAMI,IAAIL,GAAW,MAAM,IAAII,UAAU,4EACvG,MAAgB,MAATF,EAAeC,EAAa,MAATD,EAAeC,EAAEG,KAAKN,GAAYG,EAAIA,EAAEI,MAAQN,EAAMO,IAAIR,EACxF,CAEO,SAASS,EAAuBT,EAAUC,EAAOM,EAAOL,EAAMC,GACjE,GAAa,MAATD,EAAc,MAAM,IAAIE,UAAU,kCACtC,GAAa,MAATF,IAAiBC,EAAG,MAAM,IAAIC,UAAU,iDAC5C,GAAqB,mBAAVH,EAAuBD,IAAaC,IAAUE,GAAKF,EAAMI,IAAIL,GAAW,MAAM,IAAII,UAAU,2EACvG,MAAiB,MAATF,EAAeC,EAAEG,KAAKN,EAAUO,GAASJ,EAAIA,EAAEI,MAAQA,EAAQN,EAAMS,IAAIV,EAAUO,GAASA,CACxG,CA+BkD,mBAApBI,iBAAiCA;;;;;;AC3RxD,MAAMC,EACVA,GACD,CACEC,EACAC,UAAA,IAEIA,EACFA,EAAQC,eAAe,KACrBC,eAAeC,OACbL,EACAC,KAIJG,eAAeC,OAAOL,EAASC,IClD/BD,EAASM,WAKFL,EACXD,EAAOO,kBAAA,IACNP,EAAOQ,UAA0BR,EAAOQ,SAASC,eAClD,uBAAwBC,SAASC,WACjC,YAAaC,cAAcD,UAkBvBE,EAAoBC,SAEpBZ,EAAc,IAAIa;;;;;GAAA,IAAAC,EAAA,MAgBtBC,WAAAA,CACEjB,EACAC,EACAC,GAEA,GAVFgB,KAAeC,cAAA,EAUTjB,IAAcW,EAChB,MAAUO,MACR,qEAGJF,KAAKG,QAAUrB,EACfkB,KAAKlB,EAAWC,CACjB,CAID,cAAAqB,GAGE,IAAItB,EAAakB,KAAKhB,EACtB,MAAMW,EAAUK,KAAKlB,EACrB,GAAIC,QAAA,IAA+BD,EAA0B,CAC3D,MAAMC,WAAYY,GAA4C,IAAnBA,EAAQlC,OAC/CsB,IACFD,EAAaE,EAAYN,IAAIiB,SAAA,IAE3Bb,KACDkB,KAAKhB,EAAcF,EAAa,IAAIY,eAAiBW,YACpDL,KAAKG,SAEHpB,GACFC,EAAYJ,IAAIe,EAASb,GAG9B,CACD,OAAOA,CACR,CAEDwB,QAAAA,GACE,OAAON,KAAKG,OACb,GAWH,MAgEaI,EAAcC,CACzBb,EACAX,KAEA,GAAID,EACDY,EAA0Bc,mBAAqBzB,EAAO0B,IAAK5B,GAC1DA,aAAaY,cAAgBZ,EAAIA,EAAEsB,iBAGrC,IAAK,MAAMrB,KAAKC,EAAQ,CACtB,MAAMA,EAAQ2B,SAASC,cAAc,SAE/BC,EAAS/B,EAAyBgC,cAAA,IACpCD,GACF7B,EAAM+B,aAAa,QAASF,GAE9B7B,EAAMgC,YAAejC,EAAgBoB,QACrCR,EAAWsB,YAAYjC,EACxB,GAYQzB,EACXwB,EAEKD,GAAyBA,EACzBA,GACCA,aAAaY,cAbW,CAACZ,IAC/B,IAAIC,EAAU,GACd,IAAK,MAAMY,KAAQb,EAAMoC,SACvBnC,GAAWY,EAAKQ,QAElB,MArEwBrB,IACxB,IAAK+B,EACc,iBAAV/B,EAAqBA,EAAeA,EAAP,QAAA,EAEpCa,GAiEKjC,CAAUqB,EAAQ,EALK,CAa6BD,GAAKA,GChK5DqC,GACJpD,EAAEC,eACFe,EAAcnB,yBACdwD,EAAwBC,oBACxB3D,EAAmB4D,sBACnBtC,EAAqBuC,eACrBV,GACElD,OAKE6D,EAASpC,WAUT7B,EAAgBiE,EACnBC,aAMGC,EAAiCnE,EAClCA,EAAaoE,YACd,GAEEC,EAEFJ,EAAOK,+BAoGLvE,EAA4BwE,CAChChD,EACAa,IACMb,EA0KKiD,EAA8C,CACzDC,WAAAA,CAAYlD,EAAgBa,GAC1B,OAAQA,GACN,KAAKsC,QACHnD,EAAQA,EAAQ4C,EAAiC,KACjD,MACF,KAAK/D,OACL,KAAKuE,MAGHpD,EAAiB,MAATA,EAAgBA,EAAQqD,KAAKC,UAAUtD,GAGnD,OAAOA,CACR,EAEDuD,aAAAA,CAAcvD,EAAsBa,GAClC,IAAI5B,EAAqBe,EACzB,OAAQa,GACN,KAAKsC,QACHlE,EAAsB,OAAVe,EACZ,MACF,KAAKwD,OACHvE,EAAsB,OAAVe,EAAiB,KAAOwD,OAAOxD,GAC3C,MACF,KAAKnB,OACL,KAAKuE,MAIH,IAEEnE,EAAYoE,KAAKI,MAAMzD,EACxB,OAAQA,GACPf,EAAY,IACb,EAGL,OAAOA,CACR,GAWUM,EAAuBmE,CAAC1D,EAAgBa,KAClD5B,EAAGe,EAAOa,GAEP8C,EAAkD,CACtDC,WAAA,EACAC,KAAMC,OACNC,UAAWd,EACXe,SAAA,EACAC,YAAA,EACAC,WAAY3E;;;;;GAsBbuB,OAA8BqD,WAAarD,OAAO,YAcnD4B,EAAO0B,sBAAwB,IAAIrD,QAAA,MAWbsD,UASZC,YAqFR,qBAAAnE,CAAsBH,GACpBkB,KAAKqD,QACJrD,KAAK0B,IAAkB,IAAI4B,KAAKxE,EAClC,CAuGD,6BAAAyE,GAOE,OALAvD,KAAKwD,WAMHxD,KAAKyD,MAA4B,IAAIzD,KAAKyD,KAAyBC,OAEtE,CA6BD,qBAAAC,CACE7E,EACAa,EAA+B8C,GAc/B,GAXI9C,EAAQxB,QACTwB,EAAsD+C,WAAA,GAEzD1C,KAAKqD,OAGDrD,KAAKP,UAAUmE,eAAe9E,MAChCa,EAAUhC,OAAOkG,OAAOlE,IAChBmE,SAAA,GAEV9D,KAAK+D,kBAAkBnF,IAAIE,EAAMa,IAC5BA,EAAQqE,WAAY,CACvB,MAAMjG,EAIF6B,SACEwB,EAAapB,KAAKiE,sBAAsBnF,EAAMf,EAAK4B,QAAA,IACrDyB,GACFrC,EAAeiB,KAAKP,UAAWX,EAAMsC,EAExC,CACF,CA6BS,4BAAA6C,CACRnF,EACAa,EACA5B,GAEA,MAAMW,IAACK,EAAGH,IAAElB,GAAO0D,EAAyBpB,KAAKP,UAAWX,IAAS,CACnEJ,GAAAA,GACE,OAAOsB,KAAKL,EACb,EACDf,GAAAA,CAA2BE,GACxBkB,KAAqDL,GAAOb,CAC9D,GAmBH,MAAO,CACLJ,IAAAK,EACAH,GAAAA,CAA2Be,GACzB,MAAMyB,EAAWrC,GAAKP,KAAKwB,MAC3BtC,GAAKc,KAAKwB,KAAML,GAChBK,KAAKkE,cAAcpF,EAAMsC,EAAUrD,EACpC,EACDoG,cAAA,EACAC,YAAA,EAEH,CAgBD,yBAAAC,CAA0BvF,GACxB,OAAOkB,KAAK+D,kBAAkBrF,IAAII,IAAS2D,CAC5C,CAgBO,WAAAY,GACN,GACErD,KAAK4D,eAAetG,EAA0B,sBAG9C,OAGF,MAAMwB,EAAY+B,EAAeb,MACjClB,EAAU0E,gBAAA,IAKN1E,EAAU4C,IACZ1B,KAAK0B,EAAgB,IAAI5C,EAAU4C,IAGrC1B,KAAK+D,kBAAoB,IAAIO,IAAIxF,EAAUiF,kBAC5C,CAaS,eAAAP,GACR,GAAIxD,KAAK4D,eAAetG,EAA0B,cAChD,OAMF,GAJA0C,KAAKuE,WAAA,EACLvE,KAAKqD,OAGDrD,KAAK4D,eAAetG,EAA0B,eAAsB,CACtE,MAAMwB,EAAQkB,KAAKwE,WACb7E,EAAW,IACZjC,EAAoBoB,MACpBE,EAAsBF,IAE3B,IAAK,MAAMf,KAAK4B,EACdK,KAAK2D,eAAe5F,EAAGe,EAAMf,GAEhC,CAGD,MAAMe,EAAWkB,KAAKJ,OAAOqD,UAC7B,GAAiB,OAAbnE,EAAmB,CACrB,MAAMa,EAAauD,oBAAoBxE,IAAII,GAC3C,QAAA,IAAIa,EACF,IAAK,MAAOb,EAAGf,KAAY4B,EACzBK,KAAK+D,kBAAkBnF,IAAIE,EAAGf,EAGnC,CAGDiC,KAAKyD,KAA2B,IAAIa,IACpC,IAAK,MAAOxF,EAAGa,KAAYK,KAAK+D,kBAAmB,CACjD,MAAMhG,EAAOiC,KAAKyE,KAA2B3F,EAAGa,QAAA,IAC5C5B,GACFiC,KAAKyD,KAAyB7E,IAAIb,EAAMe,EAE3C,CAEDkB,KAAK0E,cAAgB1E,KAAK2E,eAAe3E,KAAK4E,OAkB/C,CA4BS,qBAAAD,CACRhF,GAEA,MAAM5B,EAAgB,GACtB,GAAImE,MAAM2C,QAAQlF,GAAS,CAIzB,MAAMZ,EAAM,IAAI+F,IAAKnF,EAA0BoF,KAAK,KAAUC,WAE9D,IAAK,MAAMrF,KAAKZ,EACdhB,EAAckH,QAAQnG,EAAmBa,GAE5C,WAAA,IAAUA,GACT5B,EAAcuF,KAAKxE,EAAmBa,IAExC,OAAO5B,CACR,CAaO,WAAA0G,CACN3F,EACAa,GAEA,MAAM5B,EAAY4B,EAAQ+C,UAC1B,OAAA,IAAO3E,OAAA,EAEkB,iBAAdA,EACLA,EACgB,iBAATe,EACLA,EAAKoG,oBAEd,CAiDDnF,WAAAA,GACEoF,QA9WMnF,KAAoBoF,UAAA,EAuU5BpF,KAAeqF,mBAOfrF,KAAUsF,YAAA,EAwBFtF,KAAoBuF,KAAuB,KASjDvF,KAAKwF,MACN,CAMOA,IAAAA,GACNxF,KAAKyF,KAAkB,IAAIC,QACxB5G,GAASkB,KAAK2F,eAAiB7G,GAElCkB,KAAK4F,KAAsB,IAAItB,IAG/BtE,KAAK6F,OAGL7F,KAAKkE,gBACJlE,KAAKD,YAAuC2B,GAAeoE,QAAShH,GACnEA,EAAEkB,MAEL,CAWD+F,aAAAA,CAAcjH,IACXkB,KAAKgG,OAAkB,IAAIlB,KAAOmB,IAAInH,QAAA,IAKnCkB,KAAKkG,YAA4BlG,KAAKmG,aACxCrH,EAAWsH,iBAEd,CAMDC,gBAAAA,CAAiBvH,GACfkB,KAAKgG,MAAeM,OAAOxH,EAC5B,CAQO+G,IAAAA,GACN,MAAM/G,EAAqB,IAAIwF,IACzB3E,EAAqBK,KAAKD,YAC7BgE,kBACH,IAAK,MAAMhG,KAAK4B,EAAkB+D,OAC5B1D,KAAK4D,eAAe7F,KACtBe,EAAmBF,IAAIb,EAAGiC,KAAKjC,WACxBiC,KAAKjC,IAGZe,EAAmByH,KAAO,IAC5BvG,KAAKoF,KAAuBtG,EAE/B,CAWS0H,gBAAAA,GACR,MAAM1H,EACJkB,KAAKyG,YACLzG,KAAK0G,aACF1G,KAAKD,YAAuC4G,mBAMjD,OAJAhH,EACEb,EACCkB,KAAKD,YAAuC2E,eAExC5F,CACR,CAOD8H,iBAAAA,GAEG5G,KAA4CkG,aAC3ClG,KAAKwG,mBACPxG,KAAK2F,gBAAA,GACL3F,KAAKgG,MAAeF,QAAShH,GAAMA,EAAEsH,kBACtC,CAQST,cAAAA,CAAe7G,GAA6B,CAQtD+H,oBAAAA,GACE7G,KAAKgG,MAAeF,QAAShH,GAAMA,EAAEgI,qBACtC,CAcDC,wBAAAA,CACEjI,EACAa,EACA5B,GAEAiC,KAAKgH,KAAsBlI,EAAMf,EAClC,CAEOkJ,IAAAA,CAAsBnI,EAAmBa,GAC/C,MAGM5B,EAFJiC,KAAKD,YACLgE,kBAC6BrF,IAAII,GAC7BC,EACJiB,KAAKD,YACL0E,KAA2B3F,EAAMf,GACnC,QAAA,IAAIgB,IAAA,IAAsBhB,EAAQ+E,QAAkB,CAClD,MAKM1B,YAJHrD,EAAQ8E,WAAyCb,YAE7CjE,EAAQ8E,UACTd,GACsBC,YAAarC,EAAO5B,EAAQ4E,MAwBxD3C,KAAKuF,KAAuBzG,EACX,MAAbsC,EACFpB,KAAKkH,gBAAgBnI,GAErBiB,KAAKe,aAAahC,EAAMqC,GAG1BpB,KAAKuF,KAAuB,IAC7B,CACF,CAGDyB,IAAAA,CAAsBlI,EAAca,GAClC,MAAM5B,EAAOiC,KAAKD,YAGZhB,EAAYhB,EAAK0F,KAA0C/E,IAAII,GAGrE,QAAA,IAAIC,GAA0BiB,KAAKuF,OAAyBxG,EAAU,CACpE,MAAMD,EAAUf,EAAKsG,mBAAmBtF,GAClCqC,EACyB,mBAAtBtC,EAAQ+D,UACX,CAACR,cAAevD,EAAQ+D,gBAAA,IACxB/D,EAAQ+D,WAAWR,cACjBvD,EAAQ+D,UACRd,EAER/B,KAAKuF,KAAuBxG,EAC5B,MAAMrB,EAAiB0D,EAAUiB,cAAe1C,EAAOb,EAAQ6D,MAC/D3C,KAAKjB,GACHrB,GACAsC,KAAKmH,MAAiBzI,IAAIK,IAEzBrB,EAEHsC,KAAKuF,KAAuB,IAC7B,CACF,CAgBDrB,aAAAA,CACEpF,EACAa,EACA5B,GAGA,QAAA,IAAIe,EAAoB,CAOtB,MAAMC,EAAOiB,KAAKD,YACZqB,EAAWpB,KAAKlB,GActB,GAbAf,IAAYgB,EAAKsF,mBAAmBvF,MAEjCf,EAAQiF,YAAc3E,GAAU+C,EAAUzB,IAO1C5B,EAAQgF,YACPhF,EAAQ+E,SACR1B,IAAapB,KAAKmH,MAAiBzI,IAAII,KACtCkB,KAAKoH,aAAarI,EAAK0F,KAA2B3F,EAAMf,KAK3D,OAHAiC,KAAKqH,EAAiBvI,EAAMa,EAAU5B,EAKzC,EAAA,IACGiC,KAAKqF,kBACPrF,KAAKyF,KAAkBzF,KAAKsH,OAE/B,CAKDD,CAAAA,CACEvI,EACAa,GACAoD,WAAChF,EAAU+E,QAAE/D,EAAO+E,QAAE1C,GACtB1D,GAIIK,KAAgBiC,KAAKmH,OAAoB,IAAI7C,KAAO/F,IAAIO,KAC1DkB,KAAKmH,KAAgBvI,IACnBE,EACApB,GAAmBiC,GAAYK,KAAKlB,KAAA,IAIlCsC,QAAA,IAAoB1D,KAMrBsC,KAAK4F,KAAoBrH,IAAIO,KAG3BkB,KAAKsF,YAAevH,IACvB4B,OAAA,GAEFK,KAAK4F,KAAoBhH,IAAIE,EAAMa,KAAA,IAMjCZ,GAAoBiB,KAAKuF,OAAyBzG,IACnDkB,KAAKuH,OAA2B,IAAIzC,KAAoBmB,IAAInH,GAEhE,CAKO,UAAAwI,GACNtH,KAAKqF,iBAAA,EACL,UAGQrF,KAAKyF,IACZ,OAAQ3G,GAKP4G,QAAQ8B,OAAO1I,EAChB,CACD,MAAMA,EAASkB,KAAKyH,iBAOpB,OAHc,MAAV3I,SACIA,GAEAkB,KAAKqF,eACd,CAmBSoC,cAAAA,GAiBR,OAhBezH,KAAK0H,eAiBrB,CAYSA,aAAAA,GAIR,IAAK1H,KAAKqF,gBACR,OAGF,IAAKrF,KAAKsF,WAAY,CA2BpB,GAxBCtF,KAA4CkG,aAC3ClG,KAAKwG,mBAuBHxG,KAAKoF,KAAsB,CAG7B,IAAK,MAAOtG,EAAGa,KAAUK,KAAKoF,KAC5BpF,KAAKlB,GAAmBa,EAE1BK,KAAKoF,WACN,CAUD,MAAMtG,EAAqBkB,KAAKD,YAC7BgE,kBACH,GAAIjF,EAAkByH,KAAO,EAC3B,IAAK,MAAO5G,EAAG5B,KAAYe,EAAmB,CAC5C,MAAMgF,QAAChF,GAAWf,EACZgB,EAAQiB,KAAKL,IAAA,IAEjBb,GACCkB,KAAK4F,KAAoBrH,IAAIoB,SAAA,IAC9BZ,GAEAiB,KAAKqH,EAAiB1H,SAAc5B,EAASgB,EAEhD,CAEJ,CACD,IAAID,GAAA,EACJ,MAAMa,EAAoBK,KAAK4F,KAC/B,IACE9G,EAAekB,KAAK2H,aAAahI,GAC7Bb,GACFkB,KAAK4H,WAAWjI,GAChBK,KAAKgG,MAAeF,QAAShH,GAAMA,EAAE+I,gBACrC7H,KAAK8H,OAAOnI,IAEZK,KAAK+H,MAER,OAAQpI,GAMP,MAHAb,GAAA,EAEAkB,KAAK+H,OACCpI,CACP,CAEGb,GACFkB,KAAKgI,KAAYrI,EAEpB,CAuBSiI,UAAAA,CAAW9I,GAA4C,CAIjEkJ,IAAAA,CAAYlJ,GACVkB,KAAKgG,MAAeF,QAAShH,GAAMA,EAAEmJ,iBAChCjI,KAAKsF,aACRtF,KAAKsF,YAAA,EACLtF,KAAKkI,aAAapJ,IAEpBkB,KAAKmI,QAAQrJ,EAiBd,CAEOiJ,IAAAA,GACN/H,KAAK4F,KAAsB,IAAItB,IAC/BtE,KAAKqF,kBACN,CAkBD,kBAAA+C,GACE,OAAOpI,KAAKqI,mBACb,CAyBSA,iBAAAA,GACR,OAAOrI,KAAKyF,IACb,CAUSkC,YAAAA,CAAa7I,GACrB,OAAA,CACD,CAWSgJ,MAAAA,CAAOhJ,GAIfkB,KAAKuH,OAA2BvH,KAAKuH,KAAuBzB,QAAShH,GACnEkB,KAAKiH,KAAsBnI,EAAGkB,KAAKlB,KAErCkB,KAAK+H,MACN,CAYSI,OAAAA,CAAQrJ,GAAsC,CAkB9CoJ,YAAAA,CAAapJ,GAAsC,EAniCtDqE,EAAauB,cAA6B,GAiT1CvB,EAAAwD,kBAAoC,CAAC2B,KAAM,QAuvBnDnF,EACC7F,EAA0B,sBACxB,IAAIgH,IACPnB,EACC7F,EAA0B,cACxB,IAAIgH,IAGR1C,IAAkB,CAAC2G,gBAAApF,KAuClB3B,EAAOgH,0BAA4B,IAAIlF,KAAK;;;;;;AC9nD7C,MAoBMtE,EAAkD,CACtD0D,WAAA,EACAC,KAAMC,OACNC,UAAW/D,EACXgE,SAAA,EACAE,WAAYjE,GAaDrB,EAAmB+K,CAC9B3J,EAA+BE,EAC/BD,EACArB,KAEA,MAAMU,KAACyC,EAAIoC,SAAElF,GAAYL,EAazB,IAAIiC,EAAaP,WAAW8D,oBAAoBxE,IAAIX,GAUpD,QAAA,IATI4B,GACFP,WAAW8D,oBAAoBtE,IAAIb,EAAW4B,EAAa,IAAI2E,KAEpD,WAATzD,KACF/B,EAAUnB,OAAOkG,OAAO/E,IAChBgF,SAAA,GAEVnE,EAAWf,IAAIlB,EAAQgL,KAAM5J,GAEhB,aAAT+B,EAAqB,CAIvB,MAAM6H,KAAC1J,GAAQtB,EACf,MAAO,CACLkB,GAAAA,CAA2BlB,GACzB,MAAMmD,EACJ9B,EACAL,IAAIF,KAAKwB,MACVjB,EAA8CH,IAAIJ,KACjDwB,KACAtC,GAEFsC,KAAKkE,cAAclF,EAAM6B,EAAU/B,EACpC,EACD6J,IAAAA,CAA4B5J,GAI1B,YAAA,IAHIA,GACFiB,KAAKqH,EAAiBrI,OAAA,EAAiBF,EAASC,GAE3CA,CACR,EAEJ,CAAM,GAAa,WAAT8B,EAAmB,CAC5B,MAAM6H,KAAC1J,GAAQtB,EACf,OAAO,SAAiCA,GACtC,MAAMmD,EAAWb,KAAKhB,GACrBD,EAA8BP,KAAKwB,KAAMtC,GAC1CsC,KAAKkE,cAAclF,EAAM6B,EAAU/B,EACrC,CACD,CACD,MAAUoB,MAAM,mCAAmCW,IAmC/C,SAAUA,EAAS/B,GACvB,MAAO,CACLC,EAIAC,IAO2B,iBAAlBA,EACHtB,EACEoB,EACAC,EAGAC,GAvJW,EACrBF,EACAC,EACAC,KAEA,MAAMtB,EAAiBqB,EAAM6E,eAAe5E,GAO5C,OANCD,EAAMgB,YAAuC4D,eAAe3E,EAAMF,GAM5DpB,EACHC,OAAOC,yBAAyBmB,EAAOC,SAC9B,EAdQ,CA0JXF,EACAC,EACAC,EAIZ,CC7NO,IAAM4J,EAAN,cAA0CC,EAE5BC,QAAAA,GACjB9I,KAAK+I,QAAQ,qBAAqBC,MACpC,4HAJWJ,EAA2B3L,EAAA,CADvCgM,EAAc,4BACFL,GC2GN,IAAMM,GAAqBC,GAA3B,cAAoCC,EACzCC,EACA,UACA,SACA,SACA,UACA,WANKtJ,WAAAA,mCA2OoBuJ,EAAA1K,IAAAoB,KAAyBjB,GAAad,EAAA+B,eAAyBxB,KAAzBwB,KAA0BjB,IAChEwK,EAAA3K,IAAAoB,KAA2BjB,GAAqBd,EAAA+B,eAA2BxB,KAA3BwB,KAA4BjB,IAC5EyK,GAAA5K,IAAAoB,KAAuB,IAAM/B,EAAA+B,KAAIyJ,EAAA,IAAAC,IAAoBlL,KAAxBwB,OAC7B2J,GAAA/K,IAAAoB,KAAU,IAAIkC,OACd0H,GAAAhL,IAAAoB,KAAmB,IAAI6J,GACvBC,GAAAlL,IAAAoB,KAAwB,IAAI+J,EAAqB/J,OAGjEgK,GAAApL,IAAAoB,KAAoB,IAAIiK,EAAiBjK,KAAM,CACtD7C,OAAQ,KACR+M,aAAa,EACbC,SAAWC,GAAMnM,EAAA+B,KAAIyJ,EAAA,IAAAY,IAAqB7L,KAAzBwB,KAA0BoK,MAG7BE,GAAA1L,IAAAoB,KAA2B,MAC3BuK,GAAA3L,IAAAoB,UAAA,GACAwK,GAAA5L,IAAAoB,MAAW,GACXyK,GAAA7L,IAAAoB,KAAgB,GAChB0K,GAAA9L,IAAAoB,UAAA,GACA2K,GAAA/L,IAAAoB,KAAuB,GACvB4K,GAAAhM,IAAAoB,KAAsB,GACtB6K,GAAAjM,IAAAoB,UAAA,GAM4BA,KAAA8K,OAAQ,EAMR9K,KAAA+K,MAAO,EAOtB/K,KAAAgL,QAAS,EAMGhL,KAAAiL,YAAc,cAMuBjL,KAAAkL,QAAoB,GAMtElL,KAAAmL,OAAS,EAMOnL,KAAAoL,UAAW,EAMCpL,KAAAqL,aAAe,EA+kBzE,CAzkBEC,IAAAA,CAAKH,EAAiBnL,KAAKmL,QACpBnL,KAAK+K,UAGYQ,IAAXJ,GAAwBlN,EAAA+B,KAAIyK,GAAA,OAAmBU,GACxDlN,EAAA+B,KAAIyJ,EAAA,IAAA+B,IAAchN,KAAlBwB,KAAmBmL,IAHnBxM,EAAAqB,KAAI0K,GAAkBS,EAAM,KAC5BnL,KAAK+K,MAAO,EAIhB,CAGA/B,IAAAA,GACEhJ,KAAK+K,MAAO,CACd,CAMAU,MAAAA,CAAON,GACDnL,KAAK+K,KACP/K,KAAKgJ,OAELhJ,KAAKsL,KAAKH,EAEd,CAGAO,KAAAA,SACO1L,KAAK+K,KAEC/K,KAAKkL,QAAQzN,OAAS,EAC3BQ,EAAA+B,KAAIyK,GAAA,KAAiBzK,KAAKkL,QAAQzN,OAAS,GAC7CkB,EAAAqB,KAAAyK,IAAAkB,EAAA1N,EAAA+B,KAAAyK,GAAA,OAAAkB,QACA1N,EAAA+B,eAAkBxB,KAAlBwB,KAAmB/B,EAAA+B,KAAIyK,GAAA,OACdzK,KAAKoL,UACdpL,KAAKgJ,OAGPhJ,KAAKgJ,OATLhJ,KAAKsL,MAWT,CAGmBxD,MAAAA,CAAO8D,GACxBzG,MAAM2C,OAAO8D,GAETA,EAAkBrN,IAAI,WACxByB,KAAK6L,KAAO7L,KAAK8K,MAAQ,SAAW,SACpC9K,KAAK8L,UAAY9L,KAAK8K,MAAQ,OAAS,KACvC9K,KAAK+L,QAAU/L,KAAK8K,MAAQ,SAAW,KAE3C,CAGS5C,YAAAA,CAAa8D,GACpB7G,MAAM+C,aAAa8D,GAEnB,MAAMC,EAAUjM,KAAKyG,YAAYyF,cAA2B,YACxDD,IACFtN,EAAAqB,KAAI2K,GAAwBsB,EAAQE,kBACpClO,EAAA+B,KAAIgK,GAAA,KAAmBoC,QAAQH,IAGjC,MAAMI,EAASrM,KAAKyG,YAAYyF,cAA2B,WACvDG,IACF1N,EAAAqB,KAAI4K,GAAuByB,EAAOF,kBAClClO,EAAA+B,KAAIgK,GAAA,KAAmBoC,QAAQC,GAEnC,CAGmBlE,OAAAA,CAAQ6D,GAGzB,GAFA7G,MAAMgD,QAAQ6D,GAEVA,EAAmBzN,IAAI,QAAS,CAClC,GAAIyB,KAAK+K,KAAM,CACb,IAAK/K,KAAKsM,cAAc,IAAIC,MAAM,UAAW,CAAEC,YAAY,KAEzD,YADAxM,KAAK+K,MAAO,GAKV5B,GAAsBsD,cAAgBzM,MACxCmJ,GAAsBsD,aAAazD,OAErCG,GAAsBsD,YAAczM,KAEpCA,KAAK0M,OAAQ,EAEbC,OAAOC,iBAAiB,SAAU3O,EAAA+B,KAAIwJ,GAAA,MAKlCxJ,KAAKkL,QAAQzN,OAAS,GACxBkB,EAAAqB,KAAIyK,GAAiBoC,KAAKC,IAAID,KAAKE,IAAI,EAAG9O,EAAA+B,KAAI0K,GAAA,MAAmB1K,KAAKmL,QAASnL,KAAKkL,QAAQzN,OAAS,QACrGQ,EAAA+B,eAAkBxB,KAAlBwB,KAAmB/B,EAAA+B,eAAyBxB,KAAzBwB,KAA0BA,KAAKkL,QAAQjN,EAAA+B,KAAIyK,GAAA,SAE9DxM,EAAA+B,KAAIyJ,EAAA,IAAAuD,IAAcxO,KAAlBwB,KAAmB6M,KAAKC,IAAI7O,EAAA+B,KAAIyJ,EAAA,IAAAwD,IAAqBzO,KAAzBwB,KAA0B,OAAQ/B,EAAA+B,KAAIyJ,EAAA,IAAAwD,IAAqBzO,KAAzBwB,KAA0B,UAE1FrB,EAAAqB,KAAI0K,QAAkBa,EAAS,IACjC,KAAO,CACL,IAAKvL,KAAKsM,cAAc,IAAIC,MAAM,UAAW,CAAEC,YAAY,KAEzD,YADAxM,KAAK+K,MAAO,GAKdmC,sBAAsB,IAAOlN,KAAK0M,OAAQ,GAE1CC,OAAOQ,oBAAoB,SAAUlP,EAAA+B,KAAIwJ,GAAA,MAErCL,GAAsBsD,cAAgBzM,OACxCmJ,GAAsBsD,iBAAclB,EAExC,CAEA,GAAIvL,KAAK8K,MACP,GAAI9K,KAAK+K,KAAM,CACbpM,EAAAqB,KAAIsK,GAAY3J,SAASyM,mBACzBnP,EAAA+B,KAAIyJ,EAAA,IAAA4D,IAAY7O,KAAhBwB,MACA/B,EAAA+B,KAAI8J,GAAA,KAAuBwD,OAC3BtN,KAAKuN,cACLL,sBAAsB,KACpBvM,SAASiM,iBAAiB,QAAS3O,EAAA+B,KAAIsJ,EAAA,MACvC3I,SAASiM,iBAAiB,UAAW3O,EAAA+B,KAAIuJ,EAAA,QAG3C,IAAIiE,EAA4CxN,KAAKkM,cAA2B,eAC3EsB,GAAcC,EAAwBC,YAAYF,KACrDA,EAAYxN,KAAKyG,YAAYyF,cAAc,YAEzCsB,GACFG,EAAeH,EAEnB,MACEvP,EAAA+B,KAAIyJ,EAAA,IAAAmE,IAAcpP,KAAlBwB,KAAmB,GAAG6N,KAAK,KACzB5P,EAAA+B,KAAIyJ,EAAA,IAAAqE,IAActP,KAAlBwB,MACA/B,EAAA+B,KAAI8J,GAAA,KAAuBiE,SAC3BpN,SAASwM,oBAAoB,QAASlP,EAAA+B,KAAIsJ,EAAA,MAC1C3I,SAASwM,oBAAoB,UAAWlP,EAAA+B,KAAIuJ,EAAA,MAC5CvJ,KAAKgO,cACD/P,EAAA+B,KAAIsK,GAAA,eAAqBlH,aAC3BnF,EAAA+B,KAAIsK,GAAA,KAAU2D,QAEhBtP,EAAAqB,KAAIsK,GAAY,KAAI,OAK1BtK,KAAKsM,cAAc,IAAIC,MAAMvM,KAAK+K,KAAO,SAAW,UACtD,CACF,CAGmBmD,MAAAA,GACjB,OAAOC,CAAI,+BAA+BnO,KAAK8K,+GAKzB7M,EAAA+B,KAAIyJ,EAAA,IAAA2E,sBACJnQ,EAAA+B,KAAIyJ,EAAA,IAAA4E,oBACNpQ,EAAA+B,KAAIyJ,EAAA,IAAA6E,QAEhBtO,KAAKgL,OACHmD,CAAI,qFAKcnO,KAAKiL,qCAEThN,EAAA+B,KAAIyJ,EAAA,IAAA8E,kBACFtQ,EAAA+B,KAAIyJ,EAAA,IAAA+E,wIAMpBC,qCAC+BxQ,EAAA+B,KAAIyJ,EAAA,IAAAiF,2GAS/C,4PAGwB3P,GACtBiB,KAAK2O,UAAUlD,OAAO,cAAemD,EAAiB7P,EAAE5B,QAC1D,cAGyB4B,GACN,IAAbA,EAAE8P,SAEF9P,EAAE5B,kBAAkBiG,aAAeqK,EAAwBC,YAAY3O,EAAE5B,UAI/D4B,EAAE5B,OAAQ2R,kBAAkB/P,EAAEgQ,WAC9BhQ,EAAE5B,OAAQ6R,MAAMC,OAAS,WAEvChR,EAAA+B,KAAI4J,GAAA,KAAkBsF,QACtBjR,EAAA+B,aAAsBiG,IAAIlH,EAAEoQ,SAE5BxQ,EAAAqB,KAAIuK,GAAc,CAChB6E,OAAQrQ,EAAEoQ,QACVE,YAAarP,KAAKmM,aAClBmD,UAAWrR,EAAA+B,KAAIyJ,EAAA,IAAA8F,IAAkB/Q,KAAtBwB,MACXwP,UAAWvR,EAAA+B,KAAIyJ,EAAA,IAAAgG,IAAkBjR,KAAtBwB,OACZ,KACDrB,EAAAqB,KAAIwK,IAAY,EAAK,MACvB,cAGyBzL,GACvB,IAAKd,EAAA+B,KAAIuK,GAAA,KACP,OAIF,GAAIsC,KAAK6C,IAAI3Q,EAAEoQ,QAAUlR,EAAA+B,aAAgBoP,SADhB,EAGvB,QAGDrQ,EAAE4Q,wBAA0B,CAAC5Q,IAAI+G,QAASsE,GAAMnM,EAAA+B,KAAI4J,GAAA,KAAkB3D,IAAImE,EAAE+E,QAASpQ,EAAE6Q,YAExF,IAAIC,EAAY5R,EAAA+B,KAAIuK,GAAA,KAAY8E,aAAetQ,EAAEoQ,QAAUlR,EAAA+B,aAAgBoP,QAC3E,GAAIS,EAAY5R,EAAA+B,aAAgBwP,UAAW,CACzC,MAAMM,GAAa7R,EAAA+B,KAAIuK,GAAA,KAAYiF,UAAYK,GAAa7P,KAAKqL,aACjEwE,EAAY5R,EAAA+B,KAAIuK,GAAA,KAAYiF,UAAYM,CAC1C,CAEA7R,EAAA+B,KAAIyJ,EAAA,IAAAuD,IAAcxO,KAAlBwB,KAAmB6M,KAAKC,IAAI7O,EAAA+B,aAAgBsP,UAAWO,IACvDlR,EAAAqB,KAAIwK,IAAY,EAAI,IACtB,cAGuBzL,GACrB,GAAKd,EAAA+B,KAAIuK,GAAA,KAET,IAIE,GAHcxL,EAAE5B,OAAQ4S,sBAAsBhR,EAAEgQ,WAClChQ,EAAE5B,OAAQ6R,MAAMC,OAAS,IAElChR,EAAA+B,KAAIwK,GAAA,KAAW,OAEpB,MAAMwF,EAAiD,UAAlBjR,EAAEkR,YAA0B,KAAO,IAClEC,EAAWjS,EAAA+B,aAAsBmQ,cAIvC,GAFAlS,EAAA+B,KAAI4J,GAAA,KAAkBsF,QAElBlP,KAAKoL,UAAY8E,GAAYF,EAC3BhQ,KAAKsM,cAAc,IAAIC,MAAM,SAAU,CAAEC,YAAY,MACvDxM,KAAKgJ,YAEF,GAAI6D,KAAK6C,IAAIQ,IAAaF,EAC/B,GAAIhQ,KAAKkL,QAAQzN,OAAS,EAAG,CAC3B,MAAM2S,EAAanS,EAAA+B,eAAyBxB,KAAzBwB,MACfoQ,IAAenS,EAAA+B,KAAIyK,GAAA,MACrBxM,EAAA+B,KAAIyJ,EAAA,IAAA+B,IAAchN,KAAlBwB,KAAmBoQ,EAEvB,MACEnS,EAAA+B,KAAIyJ,EAAA,IAAAmE,IAAcpP,KAAlBwB,KAAmB/B,EAAA+B,KAAIyJ,EAAA,IAAAwD,IAAqBzO,KAAzBwB,KAA0B,aAE1C,CACL,MAAMqQ,EAAwB,GAC9B,GAAIrQ,KAAKoL,SAAU,CACjB,MAAMkF,EAAYrS,EAAA+B,KAAIuK,GAAA,KAAYiF,UAClC,GAAIxP,KAAKmM,aAAemE,EAAYD,EAElC,YADArQ,KAAKgJ,MAGT,CAEIhJ,KAAKkL,QAAQzN,OAAS,EACxBQ,EAAA+B,KAAIyJ,EAAA,IAAA+B,IAAchN,KAAlBwB,KAAmB/B,EAAA+B,KAAIyJ,EAAA,IAAA8G,IAAkB/R,KAAtBwB,OACVA,KAAKmM,aAAelO,EAAA+B,KAAIuK,GAAA,KAAYiF,WAC7CvR,EAAA+B,KAAIyJ,EAAA,IAAAmE,IAAcpP,KAAlBwB,KAAmB/B,EAAA+B,KAAIuK,GAAA,KAAYiF,UAEvC,CACF,CAAC,QACC7Q,EAAAqB,KAAIuK,QAAcgB,EAAS,IAC7B,CACF,cAGqBxM,GAEjBiB,KAAK+K,MACL/K,KAAK8K,QACJ/L,EAAEyR,eAAeC,SAASzQ,OAC3BA,KAAKsM,cAAc,IAAIC,MAAM,SAAU,CAAEC,YAAY,MAErDxM,KAAKgJ,MAET,cAGuBjK,GACjBiB,KAAK+K,MAAQ/K,KAAK8K,OAAmB,WAAV/L,EAAE3B,MAAqB2B,EAAE2R,WAAa3R,EAAE4R,UACrE5R,EAAE6R,iBAEE5Q,KAAKsM,cAAc,IAAIC,MAAM,SAAU,CAAEC,YAAY,MACvDxM,KAAKgJ,OAGX,gBAIE,GAAIhJ,KAAKkL,QAAQzN,OAAS,GAA0C,SAArCuC,KAAKkL,QAAQjN,EAAA+B,KAAIyK,GAAA,MAE9C,YADAxM,EAAA+B,KAAIyJ,EAAA,IAAAuD,IAAcxO,KAAlBwB,KAAmB/B,EAAA+B,KAAIyJ,EAAA,IAAAwD,IAAqBzO,KAAzBwB,KAA0B,SAI/C,MAAMsP,EAAYrR,EAAA+B,eAAsBxB,KAAtBwB,OACdA,KAAK2O,UAAUkC,SAAS,UAEjB7Q,KAAKmM,aAAemD,IAD7BrR,EAAA+B,KAAIyJ,EAAA,IAAAuD,IAAcxO,KAAlBwB,KAAmBsP,EAIvB,gBAIOrR,EAAA+B,KAAIwK,GAAA,MACPxK,KAAK0L,QAEP/M,EAAAqB,KAAIwK,IAAY,EAAK,IACvB,cAGyBzL,GACvB,IAAIA,EAAE+R,kBAAqBC,EAAkBhS,GAE7C,OAAQA,EAAE3B,KACR,IAAK,KACL,IAAK,UAEH,GADA2B,EAAE6R,iBACE5Q,KAAKkL,QAAQzN,OAAS,EAAG,CAC3B,MAAM2S,EAAanS,EAAA+B,eAAyBxB,KAAzBwB,MACfoQ,IAAenS,EAAA+B,KAAIyK,GAAA,MACrBxM,EAAA+B,KAAIyJ,EAAA,IAAA+B,IAAchN,KAAlBwB,KAAmBoQ,EAEvB,MACEnS,EAAA+B,KAAIyJ,EAAA,IAAAmE,IAAcpP,KAAlBwB,KAAmB/B,EAAA+B,KAAIyJ,EAAA,IAAAwD,IAAqBzO,KAAzBwB,KAA0B,SAE/C,MAEF,IAAK,OACL,IAAK,YAEH,GADAjB,EAAE6R,iBACE5Q,KAAKkL,QAAQzN,OAAS,EAAG,CAC3B,MAAM2S,EAAanS,EAAA+B,eAAwBxB,KAAxBwB,MACfoQ,IAAenS,EAAA+B,KAAIyK,GAAA,KACrBxM,EAAA+B,KAAIyJ,EAAA,IAAA+B,IAAchN,KAAlBwB,KAAmBoQ,GACVpQ,KAAKoL,UACdpL,KAAKgJ,MAET,MAAWhJ,KAAKoL,UACdpL,KAAKgJ,OAKb,gBAIE,MAAMgI,EAAgBhR,KAAKmM,aAC3B,IAAI8E,EAAaC,IACbd,EAAanS,EAAA+B,aACjB,IAAK,IAAIjC,EAAI,EAAGA,EAAIiC,KAAKkL,QAAQzN,OAAQM,IAAK,CAC5C,GAAIA,IAAME,EAAA+B,KAAIyK,GAAA,KAAgB,SAC9B,MAAM0G,EAAelT,EAAA+B,eAAyBxB,KAAzBwB,KAA0BA,KAAKkL,QAAQnN,IACxDoT,EAAeH,GAAiBG,EAAeF,IACjDA,EAAaE,EACbf,EAAarS,EAEjB,CACA,OAAOqS,CACT,gBAIE,MAAMY,EAAgBhR,KAAKmM,aAC3B,IAAI8E,GAAcC,IACdd,EAAanS,EAAA+B,aACjB,IAAK,IAAIjC,EAAI,EAAGA,EAAIiC,KAAKkL,QAAQzN,OAAQM,IAAK,CAC5C,GAAIA,IAAME,EAAA+B,KAAIyK,GAAA,KAAgB,SAC9B,MAAM0G,EAAelT,EAAA+B,eAAyBxB,KAAzBwB,KAA0BA,KAAKkL,QAAQnN,IACxDoT,EAAeH,GAAiBG,EAAeF,IACjDA,EAAaE,EACbf,EAAarS,EAEjB,CACA,OAAOqS,CACT,gBAIE,MAAMY,EAAgBhR,KAAKmM,aAC3B,IAAIiF,EAAgBnT,EAAA+B,aAChBqR,EAAkBH,IAEtB,IAAK,IAAInT,EAAI,EAAGA,EAAIiC,KAAKkL,QAAQzN,OAAQM,IAAK,CAC5C,MAAMoT,EAAelT,EAAA+B,eAAyBxB,KAAzBwB,KAA0BA,KAAKkL,QAAQnN,IACtDuT,EAAWzE,KAAK6C,IAAIsB,EAAgBG,GAEtCG,EAAWD,IACbA,EAAkBC,EAClBF,EAAgBrT,EAEpB,CACA,OAAOqT,CACT,cAGqBjG,GACnB,OAAQA,GACN,IAAK,YACH,OAAOlN,EAAA+B,KAAIyJ,EAAA,IAAAgG,IAAkBjR,KAAtBwB,MACT,IAAK,OACH,MAAkC,GAA3B/B,EAAA+B,KAAIyJ,EAAA,IAAA8F,IAAkB/Q,KAAtBwB,MACT,IAAK,OACH,OAAO/B,EAAA+B,KAAIyJ,EAAA,IAAA8F,IAAkB/Q,KAAtBwB,MACT,IAAK,MACH,OAAO/B,EAAA+B,KAAIyJ,EAAA,IAAA8H,IAAkB/S,KAAtBwB,MAGX,OAAImL,EAAOqG,SAAS,KACXvT,EAAA+B,KAAIyJ,EAAA,IAAA8F,IAAkB/Q,KAAtBwB,OAA4ByR,WAAWtG,GAAU,KAGtDA,EAAOqG,SAAS,MACXC,WAAWtG,GAGblN,EAAA+B,KAAIyJ,EAAA,IAAAgG,IAAkBjR,KAAtBwB,KACT,gBAIE,MAAM0R,EAAO1R,KAAKyG,YAAYyF,cAA2B,SACzD,OAAOS,OAAOgF,aAAeD,EAAOE,EAAeF,EAAM,kCAAoC,EAC/F,gBAIE,OAAO1R,KAAKkL,QAAQuF,SAAS,SAAWzQ,KAAKkL,QAAQuF,SAAS,aAC1DxS,EAAA+B,KAAIyJ,EAAA,IAAA8H,IAAkB/S,KAAtBwB,MACA/B,EAAA+B,eAAuBxB,KAAvBwB,KACN,gBAIE,MAAM0R,EAAO1R,KAAKyG,YAAYyF,cAA2B,SACzD,OAAOjO,EAAA+B,KAAI4K,GAAA,MAAwB8G,EAAOE,EAAeF,EAAM,oCAAsC,EACvG,gBAIE,MAAMG,EAAO7R,KAAKyG,YAAYyF,cAA2B,SACzD,IAAK2F,EACH,OAAO,EAGT,MAAMC,EAAYC,iBAAiBF,GACnC,OACE5T,EAAA+B,KAAI4K,GAAA,KACJ3M,EAAA+B,KAAI2K,GAAA,KACJ8G,WAAWK,EAAUE,mBACrBP,WAAWK,EAAUG,gBAEzB,cAGqBC,GACnB,MAAMC,EAAyBlU,EAAA+B,aACzBoS,EAAwBnU,EAAA+B,aAE9B,IAAK,MAAMqS,KAASH,EACdG,EAAMlV,OAAOwR,UAAUkC,SAAS,WAClClS,EAAAqB,KAAI2K,IACDzI,MAAM2C,QAAQwN,EAAMC,eAAiBD,EAAMC,cAAc,GAAKD,EAAMC,eACpEC,eACMF,EAAMlV,OAAOwR,UAAUkC,SAAS,WACzClS,EAAAqB,KAAI4K,IACD1I,MAAM2C,QAAQwN,EAAMC,eAAiBD,EAAMC,cAAc,GAAKD,EAAMC,eACpEC,eAIP,GACEvS,KAAK+K,MACL/K,KAAKkL,QAAQzN,OAAS,IACrB0U,IAA2BlU,EAAA+B,KAAI2K,GAAA,MAAyByH,IAA0BnU,EAAA+B,KAAI4K,GAAA,MAEvF,OAAQ5K,KAAKkL,QAAQjN,EAAA+B,KAAIyK,GAAA,OACvB,IAAK,MACHxM,EAAA+B,KAAIyJ,EAAA,IAAAuD,IAAcxO,KAAlBwB,KAAmB/B,EAAA+B,KAAIyJ,EAAA,IAAA8H,IAAkB/S,KAAtBwB,OACnB,MAEF,IAAK,YACH/B,EAAA+B,KAAIyJ,EAAA,IAAAuD,IAAcxO,KAAlBwB,KAAmB/B,EAAA+B,KAAIyJ,EAAA,IAAAgG,IAAkBjR,KAAtBwB,OAI3B,cAGcmL,GACRA,GAAU,GAAKA,EAASnL,KAAKkL,QAAQzN,SACvCkB,EAAAqB,KAAIyK,GAAiBU,EAAM,KAC3BlN,EAAA+B,KAAIyJ,EAAA,IAAAmE,IAAcpP,KAAlBwB,KAAmB/B,EAAA+B,KAAIyJ,EAAA,IAAAwD,IAAqBzO,KAAzBwB,KAA0BA,KAAKkL,QAAQC,KAE9D,KAGAqH,eAAoBC,GACdxU,EAAA+B,KAAI6K,GAAA,OACN5M,EAAA+B,eAAkBxB,KAAlBwB,KAAmBA,KAAKmM,cACxBlO,EAAA+B,KAAI6K,GAAA,MAAiB6H,SACrB/T,EAAAqB,KAAI6K,QAAkBU,EAAS,MAG5BoH,IAcH1U,EAAA+B,KAAIyJ,EAAA,IAAAuD,IAAcxO,KAAlBwB,KAAmByS,IAbnB9T,EAAAqB,KAAI6K,GAAkB7K,KAAK4S,QACzB,CAAC,CAAE,yBAA0B,GAAG5S,KAAKmM,kBAAoB,CAAE,yBAA0B,GAAGsG,QACxF,CACEI,SAAU,IACVC,OAAQ,wCAGZ7U,EAAA+B,KAAI6K,GAAA,KAAgBkI,SAAW,KAC7B9U,EAAA+B,KAAIyJ,EAAA,IAAAuD,IAAcxO,KAAlBwB,KAAmByS,GACnB9T,EAAAqB,KAAI6K,QAAkBU,EAAS,YAE3BtN,EAAA+B,KAAI6K,GAAA,KAAgBmI,SAI9B,cAGcP,GACZzS,KAAKgP,MAAMiE,YAAY,yBAA0B,GAAGR,OACpDzS,KAAK2O,UAAUlD,OAAO,QAASgH,IAAWxU,EAAA+B,KAAIyJ,EAAA,IAAA8F,IAAkB/Q,KAAtBwB,OAC1C,MAAMiM,EAAUjM,KAAKyG,YAAYyF,cAA2B,YACxDD,IACFA,EAAQS,MAAQ+F,GAAUxU,EAAA+B,KAAIyJ,EAAA,IAAAyJ,IAAmB1U,KAAvBwB,MAE9B,gBAIE/B,EAAA+B,KAAI2J,GAAA,KAASlM,OAAS,EAEtB,IACE,IAAI0V,EAAgBnT,KACpBmT,EAAQC,YAAcD,EAAQC,aAAezS,SAAS0S,gBACtDF,EAAUA,EAAQC,WAElB,IAAK,MAAME,KAAWH,EAAQC,WAAWG,SACnCD,aAAmBlQ,aAAekQ,IAAYH,IAAYG,EAAQ5G,QACpE4G,EAAQ5G,OAAQ,EAChBzO,EAAA+B,KAAI2J,GAAA,KAASrG,KAAKgQ,GAI1B,gBAIErV,EAAA+B,KAAI2J,GAAA,KAAS7D,QAASsE,GAAOA,EAAEsC,OAAQ,GACvCzO,EAAA+B,KAAI2J,GAAA,KAASlM,OAAS,CACxB,EAv3BA,MACE,GAAIkD,SAAU,CACZ,MAAM6S,EAAgB,IAAI9T,cAC1B8T,EAAcnT,YACZoT,CAAG,+QAUDnT,YAEJK,SAASF,mBAAmB6C,KAAKkQ,EACnC,CACD,EAlBD,GAqBgBtK,GAAAtE,OAAyB6O,CAAG,gXAeDC,EAAYC,MAAMC,yEACGF,EAAYC,MAAME,qCAChEC,EACZ,aAAaJ,EAAYK,OAAOlB,SAASmB,WAAWN,EAAYK,OAAOjB,OAAOmB,8CAC9DP,EAAYK,OAAOlB,SAASmB,WAAWN,EAAYK,OAAOjB,OAAOoB,yHAIxBR,EAAYS,UAAUC,qHAGhBV,EAAYS,UAAUC,uGAGvBV,EAAYS,UAAUC,4NAOnBV,EAAYW,MAAMC,OAAOC,mMAKnCb,EAAYW,MAAMC,OAAOE,uJAIpBd,EAAYW,MAAMC,OAAOE,mKAOzEV,EACZ,oBAAoBJ,EAAYK,OAAOlB,SAAS4B,UAAUf,EAAYK,OAAOjB,OAAOoB,+BAC1ER,EAAYK,OAAOlB,SAAS4B,UAAUf,EAAYK,OAAOjB,OAAOoB,gDAC7DR,EAAYK,OAAOlB,SAAS4B,UAAUf,EAAYK,OAAOjB,OAAOoB,mJAMvCR,EAAYC,MAAMe,iFAG5CZ,EACZ,oBAAoBJ,EAAYK,OAAOlB,SAAS8B,SAASjB,EAAYK,OAAOjB,OAAOoB,+BACzER,EAAYK,OAAOlB,SAAS8B,SAASjB,EAAYK,OAAOjB,OAAOoB,gDAC5DR,EAAYK,OAAOlB,SAAS8B,SAASjB,EAAYK,OAAOjB,OAAOoB,qKAOpCR,EAAYC,MAAMe,qbAqBzChB,EAAYkB,UAAUC,+BACtBnB,EAAYkB,UAAUjB,+LAGcD,EAAYoB,UAAUZ,SAASrC,KAAKkD,OAAOC,wEAG9FtB,EAAYoB,UAAUZ,SAASrC,KAAKkD,OAAOE,2EAI3CvB,EAAYoB,UAAUZ,SAASrC,KAAKkD,OAAOG,0EAEYxB,EAAYoB,UAAUZ,SAASrC,KAAKkD,OAAOI,yWAahDzB,EAAYoB,UAAUZ,SAASkB,MAAMC,MAAML,sEACvCtB,EAAYoB,UAAUZ,SAASkB,MAAMC,MAAMJ,wEAC3CvB,EAAYoB,UAAUZ,SAASkB,MAAMC,MAAMH,wEAC3CxB,EAAYoB,UAAUZ,SAASkB,MAAMC,MAAMF,8QAW5BzB,EAAYC,MAAME,mLAU7EC,EACZ,WAAWJ,EAAYK,OAAOlB,SAAS4B,UAAUf,EAAYK,OAAOjB,OAAOoB,8BACjER,EAAYK,OAAOlB,SAAS4B,UAAUf,EAAYK,OAAOjB,OAAOoB,6BACjER,EAAYK,OAAOlB,SAAS4B,UAAUf,EAAYK,OAAOjB,OAAOoB,iCAC5DR,EAAYK,OAAOlB,SAAS4B,UAAUf,EAAYK,OAAOjB,OAAOoB,+RAQzBR,EAAYW,MAAMC,OAAOgB,iEACtB5B,EAAYC,MAAM4B,4mCA2EnCtY,EAAA,CAA3CuY,EAAS,CAAE7S,KAAMV,QAASa,SAAS,KAAsBoG,GAAAzJ,UAAA,aAAA,GAMdxC,EAAA,CAA3CuY,EAAS,CAAE7S,KAAMV,QAASa,SAAS,KAAqBoG,GAAAzJ,UAAA,YAAA,GAO5BxC,EAAA,CAA5BuY,EAAS,CAAE7S,KAAMV,WAA0BiH,GAAAzJ,UAAA,cAAA,GAMHxC,EAAA,CAAxCuY,EAAS,CAAE9S,UAAW,kBAA8CwG,GAAAzJ,UAAA,mBAAA,GAMSxC,EAAA,CAA7EuY,EAAS,CAAE9S,UAAW,UAAWG,UAAW4S,KAAwDvM,GAAAzJ,UAAA,eAAA,GAMzExC,EAAA,CAA3BuY,EAAS,CAAE7S,KAAML,UAAqB4G,GAAAzJ,UAAA,cAAA,GAMKxC,EAAA,CAA3CuY,EAAS,CAAE7S,KAAMV,QAASa,SAAS,KAAyBoG,GAAAzJ,UAAA,gBAAA,GAMLxC,EAAA,CAAvDuY,EAAS,CAAE9S,UAAW,gBAAiBC,KAAML,UAA6B4G,GAAAzJ,UAAA,oBAAA,GAjThEyJ,GAAqBC,GAAAlM,EAAA,CADjCgM,EAAc,qBACFC,ICrGN,IAAMwM,GAAN,cAA2CC,EAAQ9M,IAAnD9I,WAAAA,uBAWwBC,KAAA4V,WAAY,CA4C3C,CAzCWC,MAAAA,CAAOC,GACVA,aAAmB5M,KACrB/D,MAAM0Q,OAAOC,GAET9V,KAAK+V,gBACFD,EAAQhL,MASX9K,KAAK+V,cAAcC,aAAe,SAR7BhW,KAAK4V,YACR5V,KAAK+V,cAAcE,aAAe,QAClCC,EAAoBlW,KAAK+V,cAAe,gBAAiBD,EAAQK,IAC7DnW,KAAK+V,cAAcI,IACrBD,EAAoBJ,EAAS,kBAAmB9V,KAAK+V,cAAcI,MAQ/E,CAGSC,MAAAA,GACHpW,KAAK8V,SAAW9V,KAAK+V,gBAAkB/V,KAAK4V,WAC9CS,EAAuBrW,KAAK+V,cAAe,gBAAiB/V,KAAK8V,QAAQK,IAE3EhR,MAAMiR,QACR,CAGmBtN,QAAAA,GACb9I,KAAK8V,mBAAmB5M,KACtBlJ,KAAK8V,QAAQhL,MACf9K,KAAK8V,QAAQxK,KAAKtL,KAAKmL,SAEvBnL,KAAK8V,QAAQrK,OAAOzL,KAAKmL,SACpBnL,KAAK4V,WAAa5V,KAAK+V,gBAC1B/V,KAAK+V,cAAcE,aAAe,GAAGjW,KAAK8V,QAAQ/K,SAI1D,GAjD4B9N,EAAA,CAA3BuY,EAAS,CAAE7S,KAAML,UAA0BoT,GAAAjW,UAAA,cAAA,GAMfxC,EAAA,CAA5BuY,EAAS,CAAE7S,KAAMV,WAA6ByT,GAAAjW,UAAA,iBAAA,GAXpCiW,GAA4BzY,EAAA,CADxCgM,EAAc,6BACFyM","x_google_ignoreList":[0,1,2,3,4]}
1
+ {"version":3,"file":"bottom-sheet.min.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../src/bottom-sheet/BottomSheetActionElement.ts","../../src/bottom-sheet/BottomSheetElement.ts","../../src/bottom-sheet/BottomSheetTriggerElement.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import { customElement } from \"lit/decorators.js\";\r\n\r\nimport { ActionElementBase } from \"@m3e/web/core\";\r\n\r\n/**\r\n * An element, nested within a clickable element, used to close a parenting bottom sheet.\r\n * @tag m3e-bottom-sheet-action\r\n *\r\n * @slot - Renders the content of the action.\r\n */\r\n@customElement(\"m3e-bottom-sheet-action\")\r\nexport class M3eBottomSheetActionElement extends ActionElementBase {\r\n /** @inheritdoc */\r\n protected override _onClick(): void {\r\n this.closest(\"m3e-bottom-sheet\")?.hide();\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-bottom-sheet-action\": M3eBottomSheetActionElement;\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */\r\nimport { css, CSSResultGroup, html, LitElement, nothing, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { customElement, property } from \"lit/decorators.js\";\r\n\r\nimport {\r\n computeCssSize,\r\n DesignToken,\r\n EventAttribute,\r\n focusWhenReady,\r\n hasAssignedNodes,\r\n prefersReducedMotion,\r\n ResizeController,\r\n ScrollLockController,\r\n spaceSeparatedStringConverter,\r\n VelocityTracker,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { isModifierAllowed, M3eInteractivityChecker } from \"@m3e/web/core/a11y\";\r\nimport \"@m3e/web/core/a11y\";\r\n\r\n/**\r\n * A sheet used to show secondary content anchored to the bottom of the screen.\r\n *\r\n * @description\r\n * The `m3e-bottom-sheet` component implements a Material 3 bottom sheet with\r\n * gesture‑driven resizing, detent snapping, and adaptive motion. It behaves as\r\n * a heavy surface: transitions use non‑bouncy, decelerating motion.\r\n *\r\n * The sheet supports direct manipulation through vertical drag gestures.\r\n * Movement below an 8px threshold is ignored to ensure reliable tap‑to‑cycle\r\n * behavior on the handle. Once activated, dragging updates the sheet height\r\n * with friction near the minimum height to prevent abrupt collapse.\r\n *\r\n * When detents are defined, the sheet snaps to the nearest detent on release.\r\n * If hideable, downward gestures may dismiss the sheet using either velocity\r\n * or a small distance threshold below the collapsed detent. When no detents\r\n * are present, the sheet behaves as a simple open/hidden surface with a\r\n * bottom‑measured hide threshold.\r\n *\r\n * @example\r\n * The following example shows a modal bottom sheet with a drag handle,\r\n * three detents (`fit`, `half`, and `full`), and an action list. The sheet\r\n * is opened using a dedicated `m3e-bottom-sheet-trigger` associated by ID.\r\n * ```html\r\n * <m3e-button>\r\n * <m3e-bottom-sheet-trigger for=\"bottomSheet\">\r\n * Open Bottom sheet\r\n * </m3e-bottom-sheet-trigger>\r\n * </m3e-button>\r\n *\r\n * <m3e-bottom-sheet id=\"bottomSheet\" modal handle hideable detents=\"fit half full\">\r\n * <m3e-action-list>\r\n * <m3e-list-action autofocus>\r\n * <m3e-bottom-sheet-action>Google Keep</m3e-bottom-sheet-action>\r\n * <span slot=\"supporting-text\">Add to a note</span>\r\n * </m3e-list-action>\r\n * <m3e-list-action>\r\n * <m3e-bottom-sheet-action>Google Docs</m3e-bottom-sheet-action>\r\n * <span slot=\"supporting-text\">Embed in a document</span>\r\n * </m3e-list-action>\r\n * </m3e-action-list>\r\n * </m3e-bottom-sheet>\r\n * ```\r\n *\r\n * @tag m3e-bottom-sheet\r\n *\r\n * @slot - Renders the content of the sheet.\r\n * @slot header - Renders the header of the sheet.\r\n *\r\n * @attr detent - The zero‑based index of the detent the sheet should open to.\r\n * @attr detents - Detents (discrete height states) the sheet can snap to.\r\n * @attr handle - Whether to display a drag handle and enable the top region of the sheet as a gesture surface for dragging between detents.\r\n * @attr handle-label - The accessible label given to the drag handle.\r\n * @attr hideable - Whether the bottom sheet can hide when its swiped down.\r\n * @attr hide-friction - The friction coefficient to hide the sheet, or set it to the next closest expanded detent.\r\n * @attr modal - Whether the bottom sheet behaves as modal.\r\n * @attr open - Whether the bottom sheet is open.\r\n *\r\n * @fires opening - Emitted when the sheet begins to open.\r\n * @fires opened - Emitted when the sheet has opened.\r\n * @fires cancel - Emitted when the sheet is cancelled.\r\n * @fires closing - Emitted when the sheet begins to close.\r\n * @fires closed - Emitted when the sheet has closed.\r\n *\r\n * @cssprop --m3e-bottom-sheet-width - The width of the sheet.\r\n * @cssprop --m3e-bottom-sheet-max-width - The maximum width of the sheet.\r\n * @cssprop --m3e-bottom-sheet-container-color - The background color of the sheet container.\r\n * @cssprop --m3e-bottom-sheet-elevation - The elevation level when not modal.\r\n * @cssprop --m3e-bottom-sheet-modal-elevation - The elevation level when modal.\r\n * @cssprop --m3e-bottom-sheet-full-elevation - The elevation level when full height.\r\n * @cssprop --m3e-bottom-sheet-z-index - The z-index of the non-modal sheet.\r\n * @cssprop --m3e-bottom-sheet-minimized-container-shape - The border radius when minimized.\r\n * @cssprop --m3e-bottom-sheet-container-shape - The border radius of the sheet container.\r\n * @cssprop --m3e-bottom-sheet-full-container-shape - The border radius when full height.\r\n * @cssprop --m3e-bottom-sheet-scrim-color - The color of the scrim overlay.\r\n * @cssprop --m3e-bottom-sheet-scrim-opacity - The opacity of the scrim overlay.\r\n * @cssprop --m3e-bottom-sheet-peek-height - The visible height when minimized.\r\n * @cssprop --m3e-bottom-sheet-compact-top-space - The top space in compact mode.\r\n * @cssprop --m3e-bottom-sheet-top-space - The top space in standard mode.\r\n * @cssprop --m3e-bottom-sheet-padding-block - The vertical padding.\r\n * @cssprop --m3e-bottom-sheet-padding-inline - The horizontal padding.\r\n * @cssprop --m3e-bottom-sheet-handle-container-height - The height of the drag handle container.\r\n * @cssprop --m3e-bottom-sheet-handle-width - The width of the drag handle.\r\n * @cssprop --m3e-bottom-sheet-handle-height - The height of the drag handle.\r\n * @cssprop --m3e-bottom-sheet-handle-shape - The border radius of the handle.\r\n * @cssprop --m3e-bottom-sheet-handle-color - The color of the drag handle.\r\n * @cssprop --m3e-bottom-sheet-handle-focus-ring-offset - The offset of the focus ring around the handle.\r\n * @cssprop --m3e-bottom-sheet-color - The foreground (text) color of the sheet.\r\n * @cssprop --m3e-bottom-sheet-content-font-size - Font size for the sheet content.\r\n * @cssprop --m3e-bottom-sheet-content-font-weight - Font weight for the sheet content.\r\n * @cssprop --m3e-bottom-sheet-content-line-height - Line height for the sheet content.\r\n * @cssprop --m3e-bottom-sheet-content-tracking - Letter spacing (tracking) for the sheet content.\r\n * @cssprop --m3e-bottom-sheet-header-font-size - Font size for the sheet header.\r\n * @cssprop --m3e-bottom-sheet-header-font-weight - Font weight for the sheet header.\r\n * @cssprop --m3e-bottom-sheet-header-line-height - Line height for the sheet header.\r\n * @cssprop --m3e-bottom-sheet-header-tracking - Letter spacing (tracking) for the sheet header.\r\n */\r\n@customElement(\"m3e-bottom-sheet\")\r\nexport class M3eBottomSheetElement extends EventAttribute(\r\n LitElement,\r\n \"opening\",\r\n \"opened\",\r\n \"cancel\",\r\n \"closing\",\r\n \"closed\",\r\n) {\r\n static {\r\n if (document) {\r\n const lightDomStyle = new CSSStyleSheet();\r\n lightDomStyle.replaceSync(\r\n css`\r\n @property --_bottom-sheet-height {\r\n syntax: \"<length>\";\r\n inherits: false;\r\n initial-value: 50vh;\r\n }\r\n m3e-bottom-sheet > [slot=\"header\"] {\r\n margin-block-end: var(--m3e-bottom-sheet-padding-block, 0.5rem);\r\n margin-inline: var(--m3e-bottom-sheet-padding-inline, 1rem);\r\n }\r\n `.toString(),\r\n );\r\n document.adoptedStyleSheets.push(lightDomStyle);\r\n }\r\n }\r\n\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: block;\r\n position: fixed;\r\n left: 50%;\r\n top: calc(100vh - var(--_bottom-sheet-height));\r\n margin: 0;\r\n padding: 0;\r\n outline: none;\r\n overflow: hidden;\r\n border: none;\r\n box-sizing: border-box;\r\n width: var(--m3e-bottom-sheet-width, 100%);\r\n max-width: var(--m3e-bottom-sheet-max-width, 40rem);\r\n height: var(--_bottom-sheet-height);\r\n color: var(--m3e-bottom-sheet-color, ${DesignToken.color.onSurface});\r\n background-color: var(--m3e-bottom-sheet-container-color, ${DesignToken.color.surfaceContainerLow});\r\n transition: ${unsafeCSS(\r\n `transform ${DesignToken.motion.duration.medium2} ${DesignToken.motion.easing.standardDecelerate},\r\n border-radius ${DesignToken.motion.duration.medium2} ${DesignToken.motion.easing.standard}`,\r\n )};\r\n }\r\n :host(:not([modal]):not(.-full)) .elevation {\r\n --m3e-elevation-level: var(--m3e-bottom-sheet-elevation, ${DesignToken.elevation.level1});\r\n }\r\n :host([modal]:not(.-full)) .elevation {\r\n --m3e-elevation-level: var(--m3e-bottom-sheet-modal-elevation, ${DesignToken.elevation.level1});\r\n }\r\n :host(.-full) .elevation {\r\n --m3e-elevation-level: var(--m3e-bottom-sheet-full-elevation, ${DesignToken.elevation.level1});\r\n }\r\n :host(:not([modal])) {\r\n z-index: var(--m3e-bottom-sheet-z-index, 10);\r\n }\r\n :host(:not([modal]):not([open])),\r\n :host([modal]:not(:popover-open)) {\r\n border-radius: var(--m3e-bottom-sheet-minimized-container-shape, ${DesignToken.shape.corner.none});\r\n transform: translateX(-50%) translateY(100%);\r\n }\r\n :host(:not([modal])[open]:not(.-full)),\r\n :host([modal]:not(.-full):popover-open) {\r\n border-radius: var(--m3e-bottom-sheet-container-shape, ${DesignToken.shape.corner.extraLargeTop});\r\n }\r\n :host(:not([modal])[open].-full),\r\n :host([modal].-full:popover-open) {\r\n border-radius: var(--m3e-bottom-sheet-full-container-shape, ${DesignToken.shape.corner.extraLargeTop});\r\n }\r\n :host(:not([modal])[open]),\r\n :host([modal]:popover-open) {\r\n transform: translateX(-50%) translateY(0);\r\n }\r\n :host([modal])::backdrop {\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard}, \r\n overlay ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard} allow-discrete,\r\n visibility ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard} allow-discrete`,\r\n )};\r\n }\r\n :host([modal]:popover-open)::backdrop {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-bottom-sheet-scrim-color, ${DesignToken.color.scrim}) var(--m3e-bottom-sheet-scrim-opacity, 32%),\r\n transparent\r\n );\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.long2} ${DesignToken.motion.easing.standard}, \r\n overlay ${DesignToken.motion.duration.long2} ${DesignToken.motion.easing.standard} allow-discrete,\r\n visibility ${DesignToken.motion.duration.long2} ${DesignToken.motion.easing.standard} allow-discrete`,\r\n )};\r\n }\r\n @starting-style {\r\n :host([modal]:popover-open)::backdrop {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-bottom-sheet-scrim-color, ${DesignToken.color.scrim}) 0%,\r\n transparent\r\n );\r\n }\r\n }\r\n .base {\r\n display: flex;\r\n border-radius: inherit;\r\n flex-direction: column;\r\n height: 100%;\r\n --_bottom-sheet-peek-height: var(--m3e-bottom-sheet-peek-height, 0);\r\n --_bottom-sheet-top-space: var(--m3e-bottom-sheet-compact-top-space, 4.5rem);\r\n }\r\n @media (max-height: 640px) {\r\n .base {\r\n --_bottom-sheet-top-space: var(--m3e-bottom-sheet-top-space, 3.5rem);\r\n }\r\n }\r\n .body {\r\n flex: 1 1 auto;\r\n overflow-y: auto;\r\n scrollbar-width: ${DesignToken.scrollbar.thinWidth};\r\n scrollbar-color: ${DesignToken.scrollbar.color};\r\n padding-block-end: var(--m3e-bottom-sheet-padding-block, 0.5rem);\r\n padding-inline: var(--m3e-bottom-sheet-padding-inline, 1rem);\r\n font-size: var(--m3e-bottom-sheet-content-font-size, ${DesignToken.typescale.standard.body.medium.fontSize});\r\n font-weight: var(\r\n --m3e-bottom-sheet-content-font-weight,\r\n ${DesignToken.typescale.standard.body.medium.fontWeight}\r\n );\r\n line-height: var(\r\n --m3e-bottom-sheet-content-line-height,\r\n ${DesignToken.typescale.standard.body.medium.lineHeight}\r\n );\r\n letter-spacing: var(--m3e-bottom-sheet-content-tracking, ${DesignToken.typescale.standard.body.medium.tracking});\r\n }\r\n .content {\r\n height: fit-content;\r\n }\r\n :host(:not([handle]):not(.-has-header)) .header {\r\n display: none;\r\n }\r\n :host(:not([handle]):not(.-has-header)) .body,\r\n .header {\r\n border-top-left-radius: inherit;\r\n border-top-right-radius: inherit;\r\n padding-block-start: var(--m3e-bottom-sheet-padding-block, 0.5rem);\r\n font-size: var(--m3e-bottom-sheet-header-font-size, ${DesignToken.typescale.standard.title.large.fontSize});\r\n font-weight: var(--m3e-bottom-sheet-header-font-weight, ${DesignToken.typescale.standard.title.large.fontWeight});\r\n line-height: var(--m3e-bottom-sheet-header-line-height, ${DesignToken.typescale.standard.title.large.lineHeight});\r\n letter-spacing: var(--m3e-bottom-sheet-header-tracking, ${DesignToken.typescale.standard.title.large.tracking});\r\n }\r\n .header {\r\n cursor: grab;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n box-sizing: border-box;\r\n flex: none;\r\n display: flex;\r\n flex-direction: column;\r\n min-height: 3rem;\r\n --m3e-app-bar-container-color: var(--m3e-bottom-sheet-container-color, ${DesignToken.color.surfaceContainerLow});\r\n }\r\n .handle-row {\r\n position: relative;\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n opacity: 1;\r\n visibility: visible;\r\n transition: ${unsafeCSS(\r\n `opacity ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard},\r\n padding ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard},\r\n height ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard},\r\n visibility ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard} allow-discrete`,\r\n )};\r\n height: var(--m3e-bottom-sheet-handle-container-height, 1.5rem);\r\n }\r\n .handle {\r\n position: relative;\r\n width: var(--m3e-bottom-sheet-handle-width, 2rem);\r\n height: var(--m3e-bottom-sheet-handle-height, 4px);\r\n border-radius: var(--m3e-bottom-sheet-handle-shape, ${DesignToken.shape.corner.full});\r\n background-color: var(--m3e-bottom-sheet-handle-color, ${DesignToken.color.onSurfaceVariant});\r\n }\r\n .handle-touch {\r\n position: absolute;\r\n aspect-ratio: 1 / 1;\r\n height: 3rem;\r\n left: calc(0px - calc(calc(3rem - var(--m3e-bottom-sheet-handle-width, 2rem)) / 2));\r\n right: calc(0px - calc(calc(3rem - var(--m3e-bottom-sheet-handle-width, 2rem)) / 2));\r\n top: calc(\r\n 0px - calc(\r\n calc(3rem - var(--m3e-bottom-sheet-handle-container-height, 1.5rem)) - calc(\r\n var(--m3e-bottom-sheet-handle-height, 4px) / 2\r\n )\r\n )\r\n );\r\n }\r\n @media (prefers-reduced-motion) {\r\n :host,\r\n :host([modal])::backdrop,\r\n :host([modal]:popover-open)::backdrop,\r\n .handle {\r\n transition: none;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n :host([modal])::backdrop,\r\n :host([modal]:popover-open)::backdrop {\r\n transition: none;\r\n }\r\n .base {\r\n border-style: solid;\r\n border-width: 1px;\r\n border-color: CanvasText;\r\n }\r\n .handle {\r\n background-color: ButtonText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ private static __openSheet?: M3eBottomSheetElement;\r\n\r\n /** @private */ readonly #documentClickHandler = (e: Event) => this.#handleDocumentClick(e);\r\n /** @private */ readonly #documentKeyDownHandler = (e: KeyboardEvent) => this.#handleDocumentKeyDown(e);\r\n /** @private */ readonly #windowResizeHandler = () => this.#handleWindowResize();\r\n /** @private */ readonly #inerts = new Array<HTMLElement>();\r\n /** @private */ readonly #velocityTracker = new VelocityTracker();\r\n /** @private */ readonly #scrollLockController = new ScrollLockController(this);\r\n\r\n /** @private */\r\n readonly #resizeController = new ResizeController(this, {\r\n target: null,\r\n skipInitial: true,\r\n callback: (x) => this.#handleSectionResize(x),\r\n });\r\n\r\n /** @private */ #trigger: Element | null = null;\r\n /** @private */ #dragState?: { startY: number; startHeight: number; maxHeight: number; minHeight: number };\r\n /** @private */ #dragged = false;\r\n /** @private */ #activeDetent = 0;\r\n /** @private */ #requestDetent?: number;\r\n /** @private */ #cachedContentHeight = 0;\r\n /** @private */ #cachedHeaderHeight = 0;\r\n /** @private */ #snapAnimation?: Animation;\r\n\r\n /**\r\n * Whether the bottom sheet behaves as modal.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) modal = false;\r\n\r\n /**\r\n * Whether the bottom sheet is open.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) open = false;\r\n\r\n /**\r\n * Whether to display a drag handle and enable the top region of the sheet as a gesture\r\n * surface for dragging between detents.\r\n * @default false\r\n */\r\n @property({ type: Boolean }) handle = false;\r\n\r\n /**\r\n * The accessible label given to the drag handle.\r\n * @default \"Drag handle\"\r\n */\r\n @property({ attribute: \"handle-label\" }) handleLabel = \"Drag handle\";\r\n\r\n /**\r\n * Detents (discrete height states) the sheet can snap to.\r\n * @default []\r\n */\r\n @property({ attribute: \"detents\", converter: spaceSeparatedStringConverter }) detents: string[] = [];\r\n\r\n /**\r\n * The zero‑based index of the detent the sheet should open to.\r\n * @default 0\r\n */\r\n @property({ type: Number }) detent = 0;\r\n\r\n /**\r\n * Whether the bottom sheet can hide when its swiped down.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) hideable = false;\r\n\r\n /**\r\n * The friction coefficient to hide the sheet, or set it to the next closest expanded detent.\r\n * @default 0.5\r\n */\r\n @property({ attribute: \"hide-friction\", type: Number }) hideFriction = 0.5;\r\n\r\n /**\r\n * Shows the sheet.\r\n * @param {number} detent The zero‑based index of the detent the sheet should open to.\r\n */\r\n show(detent: number = this.detent): void {\r\n if (!this.open) {\r\n this.#requestDetent = detent;\r\n this.open = true;\r\n } else if (detent !== undefined && this.#activeDetent !== detent) {\r\n this.#snapToDetent(detent);\r\n }\r\n }\r\n\r\n /** Hides the sheet. */\r\n hide(): void {\r\n this.open = false;\r\n }\r\n\r\n /**\r\n * Toggles the opened state of the sheet.\r\n * @param {number} detent The zero‑based index of the detent the sheet should open to.\r\n */\r\n toggle(detent?: number): void {\r\n if (this.open) {\r\n this.hide();\r\n } else {\r\n this.show(detent);\r\n }\r\n }\r\n\r\n /** Moves the sheet to the next detent. */\r\n cycle(): void {\r\n if (!this.open) {\r\n this.show();\r\n } else if (this.detents.length > 0) {\r\n if (this.#activeDetent < this.detents.length - 1) {\r\n this.#activeDetent++;\r\n this.#snapToDetent(this.#activeDetent);\r\n } else if (this.hideable) {\r\n this.hide();\r\n }\r\n } else {\r\n this.hide();\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"modal\")) {\r\n this.role = this.modal ? \"dialog\" : \"region\";\r\n this.ariaModal = this.modal ? \"true\" : null;\r\n this.popover = this.modal ? \"manual\" : null;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n const content = this.shadowRoot?.querySelector<HTMLElement>(\".content\");\r\n if (content) {\r\n this.#cachedContentHeight = content.clientHeight;\r\n this.#resizeController.observe(content);\r\n }\r\n\r\n const header = this.shadowRoot?.querySelector<HTMLElement>(\".header\");\r\n if (header) {\r\n this.#cachedHeaderHeight = header.clientHeight;\r\n this.#resizeController.observe(header);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues): void {\r\n super.updated(_changedProperties);\r\n\r\n if (_changedProperties.has(\"open\")) {\r\n if (this.open) {\r\n if (!this.dispatchEvent(new Event(\"opening\", { cancelable: true }))) {\r\n this.open = false;\r\n return;\r\n }\r\n\r\n // Only one sheet can be open at a time.\r\n if (M3eBottomSheetElement.__openSheet !== this) {\r\n M3eBottomSheetElement.__openSheet?.hide();\r\n }\r\n M3eBottomSheetElement.__openSheet = this;\r\n\r\n this.inert = false;\r\n\r\n window.addEventListener(\"resize\", this.#windowResizeHandler);\r\n\r\n // If there are detents (regardless of handle) open to the requested, default (or first) detent.\r\n // Otherwise, open to fit unless its greater than half.\r\n\r\n if (this.detents.length > 0) {\r\n this.#activeDetent = Math.min(Math.max(0, this.#requestDetent ?? this.detent), this.detents.length - 1);\r\n this.#updateHeight(this.#computeDetentHeight(this.detents[this.#activeDetent]));\r\n } else {\r\n this.#updateHeight(Math.min(this.#computeDetentHeight(\"fit\"), this.#computeDetentHeight(\"half\")));\r\n }\r\n this.#requestDetent = undefined;\r\n } else {\r\n if (!this.dispatchEvent(new Event(\"closing\", { cancelable: true }))) {\r\n this.open = true;\r\n return;\r\n }\r\n\r\n // The following ensures layout is stable so that first tab isn't \"skipped\"\r\n requestAnimationFrame(() => (this.inert = true));\r\n\r\n window.removeEventListener(\"resize\", this.#windowResizeHandler);\r\n\r\n if (M3eBottomSheetElement.__openSheet === this) {\r\n M3eBottomSheetElement.__openSheet = undefined;\r\n }\r\n }\r\n\r\n if (this.modal) {\r\n if (this.open) {\r\n this.#trigger = document.activeElement;\r\n this.#applyInert();\r\n this.#scrollLockController.lock();\r\n this.showPopover();\r\n requestAnimationFrame(() => {\r\n document.addEventListener(\"click\", this.#documentClickHandler);\r\n document.addEventListener(\"keydown\", this.#documentKeyDownHandler);\r\n });\r\n\r\n let focusable: HTMLElement | null | undefined = this.querySelector<HTMLElement>(\"[autofocus]\");\r\n if (!focusable || !M3eInteractivityChecker.isFocusable(focusable)) {\r\n focusable = this.shadowRoot?.querySelector(\".handle\");\r\n }\r\n if (focusable) {\r\n focusWhenReady(focusable);\r\n }\r\n } else {\r\n this.#snapToHeight(0).then(() => {\r\n this.#restoreInert();\r\n this.#scrollLockController.unlock();\r\n document.removeEventListener(\"click\", this.#documentClickHandler);\r\n document.removeEventListener(\"keydown\", this.#documentKeyDownHandler);\r\n this.hidePopover();\r\n if (this.#trigger instanceof HTMLElement) {\r\n this.#trigger.focus();\r\n }\r\n this.#trigger = null;\r\n });\r\n }\r\n }\r\n\r\n this.dispatchEvent(new Event(this.open ? \"opened\" : \"closed\"));\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<m3e-focus-trap ?disabled=\"${!this.modal}\">\r\n <div class=\"base\">\r\n <m3e-elevation class=\"elevation\"></m3e-elevation>\r\n <div\r\n class=\"header\"\r\n @pointerdown=\"${this.#handleHeaderPointerDown}\"\r\n @pointermove=\"${this.#handleHeaderPointerMove}\"\r\n @pointerup=\"${this.#handleHeaderPointerUp}\"\r\n >\r\n ${this.handle\r\n ? html`<div class=\"handle-row\">\r\n <div\r\n id=\"handle\"\r\n class=\"handle\"\r\n role=\"button\"\r\n aria-label=\"${this.handleLabel}\"\r\n tabindex=\"0\"\r\n @click=\"${this.#handleDragHandleClick}\"\r\n @keydown=\"${this.#handleDragHandleKeyDown}\"\r\n >\r\n <m3e-focus-ring class=\"focus-ring\" for=\"handle\"></m3e-focus-ring>\r\n <div class=\"handle-touch\" aria-hidden=\"true\"></div>\r\n </div>\r\n </div>`\r\n : nothing}\r\n <slot name=\"header\" @slotchange=\"${this.#handleHeaderSlotChange}\"></slot>\r\n </div>\r\n <div class=\"body\">\r\n <div class=\"content\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </m3e-focus-trap>`;\r\n }\r\n\r\n /** @private */\r\n #handleHeaderSlotChange(e: Event): void {\r\n this.classList.toggle(\"-has-header\", hasAssignedNodes(e.target as HTMLSlotElement));\r\n }\r\n\r\n /** @private */\r\n #handleHeaderPointerDown(e: PointerEvent): void {\r\n if (e.button === 2) return;\r\n\r\n if (e.target instanceof HTMLElement && M3eInteractivityChecker.isFocusable(e.target)) {\r\n return;\r\n }\r\n\r\n (<HTMLElement>e.target).setPointerCapture(e.pointerId);\r\n (<HTMLElement>e.target).style.cursor = \"grabbing\";\r\n\r\n this.#velocityTracker.reset();\r\n this.#velocityTracker.add(e.clientY);\r\n\r\n this.#dragState = {\r\n startY: e.clientY,\r\n startHeight: this.clientHeight,\r\n maxHeight: this.#computeMaxHeight(),\r\n minHeight: this.#computeMinHeight(),\r\n };\r\n this.#dragged = false;\r\n }\r\n\r\n /** @private */\r\n #handleHeaderPointerMove(e: PointerEvent): void {\r\n if (!this.#dragState) {\r\n return;\r\n }\r\n\r\n const minDragThreshold = 8;\r\n if (Math.abs(e.clientY - this.#dragState.startY) <= minDragThreshold) {\r\n // Ignore movement under threshold\r\n return;\r\n }\r\n\r\n (e.getCoalescedEvents?.() ?? [e]).forEach((x) => this.#velocityTracker.add(x.clientY, e.timeStamp));\r\n\r\n let newHeight = this.#dragState.startHeight - (e.clientY - this.#dragState.startY);\r\n if (newHeight < this.#dragState.minHeight) {\r\n const overshoot = (this.#dragState.minHeight - newHeight) * this.hideFriction;\r\n newHeight = this.#dragState.minHeight - overshoot;\r\n }\r\n\r\n this.#updateHeight(Math.min(this.#dragState.maxHeight, newHeight));\r\n this.#dragged = true;\r\n }\r\n\r\n /** @private */\r\n #handleHeaderPointerUp(e: PointerEvent): void {\r\n if (!this.#dragState) return;\r\n\r\n try {\r\n (<HTMLElement>e.target).releasePointerCapture(e.pointerId);\r\n (<HTMLElement>e.target).style.cursor = \"\";\r\n\r\n if (!this.#dragged) return;\r\n\r\n const significantVelocityThreshold = e.pointerType === \"touch\" ? 1200 : 500;\r\n const velocity = this.#velocityTracker.getVelocity();\r\n\r\n this.#velocityTracker.reset();\r\n\r\n if (this.hideable && velocity >= significantVelocityThreshold) {\r\n if (this.dispatchEvent(new Event(\"cancel\", { cancelable: true }))) {\r\n this.hide();\r\n }\r\n } else if (Math.abs(velocity) >= significantVelocityThreshold) {\r\n if (this.detents.length > 0) {\r\n const nextDetent = this.#getNextHigherDetent();\r\n if (nextDetent !== this.#activeDetent) {\r\n this.#snapToDetent(nextDetent);\r\n }\r\n } else {\r\n this.#snapToHeight(this.#computeDetentHeight(\"full\"));\r\n }\r\n } else {\r\n const hideDistanceThreshold = 20;\r\n if (this.hideable) {\r\n const collapsed = this.#dragState.minHeight;\r\n if (this.clientHeight < collapsed - hideDistanceThreshold) {\r\n this.hide();\r\n return;\r\n }\r\n }\r\n\r\n if (this.detents.length > 0) {\r\n this.#snapToDetent(this.#getClosestDetent());\r\n } else if (this.clientHeight < this.#dragState.minHeight) {\r\n this.#snapToHeight(this.#dragState.minHeight);\r\n }\r\n }\r\n } finally {\r\n this.#dragState = undefined;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleDocumentClick(e: Event): void {\r\n if (\r\n this.open &&\r\n this.modal &&\r\n !e.composedPath().includes(this) &&\r\n this.dispatchEvent(new Event(\"cancel\", { cancelable: true }))\r\n ) {\r\n this.hide();\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleDocumentKeyDown(e: KeyboardEvent): void {\r\n if (this.open && this.modal && e.key === \"Escape\" && !e.shiftKey && !e.ctrlKey) {\r\n e.preventDefault();\r\n\r\n if (this.dispatchEvent(new Event(\"cancel\", { cancelable: true }))) {\r\n this.hide();\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleWindowResize(): void {\r\n if (this.detents.length > 0 && this.detents[this.#activeDetent] === \"half\") {\r\n this.#updateHeight(this.#computeDetentHeight(\"half\"));\r\n return;\r\n }\r\n\r\n const maxHeight = this.#computeMaxHeight();\r\n if (this.classList.contains(\"-full\")) {\r\n this.#updateHeight(maxHeight);\r\n } else if (this.clientHeight > maxHeight) {\r\n this.#updateHeight(maxHeight);\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleDragHandleClick(): void {\r\n if (!this.#dragged) {\r\n this.cycle();\r\n }\r\n this.#dragged = false;\r\n }\r\n\r\n /** @private */\r\n #handleDragHandleKeyDown(e: KeyboardEvent): void {\r\n if (e.defaultPrevented || !isModifierAllowed(e)) return;\r\n\r\n switch (e.key) {\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n e.preventDefault();\r\n if (this.detents.length > 0) {\r\n const nextDetent = this.#getNextHigherDetent();\r\n if (nextDetent !== this.#activeDetent) {\r\n this.#snapToDetent(nextDetent);\r\n }\r\n } else {\r\n this.#snapToHeight(this.#computeDetentHeight(\"full\"));\r\n }\r\n break;\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n e.preventDefault();\r\n if (this.detents.length > 0) {\r\n const nextDetent = this.#getNextLowerDetent();\r\n if (nextDetent !== this.#activeDetent) {\r\n this.#snapToDetent(nextDetent);\r\n } else if (this.hideable) {\r\n this.hide();\r\n }\r\n } else if (this.hideable) {\r\n this.hide();\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #getNextHigherDetent(): number {\r\n const currentHeight = this.clientHeight;\r\n let nextHeight = Infinity;\r\n let nextDetent = this.#activeDetent;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === this.#activeDetent) continue;\r\n const detentHeight = this.#computeDetentHeight(this.detents[i]);\r\n if (detentHeight > currentHeight && detentHeight < nextHeight) {\r\n nextHeight = detentHeight;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #getNextLowerDetent(): number {\r\n const currentHeight = this.clientHeight;\r\n let nextHeight = -Infinity;\r\n let nextDetent = this.#activeDetent;\r\n for (let i = 0; i < this.detents.length; i++) {\r\n if (i === this.#activeDetent) continue;\r\n const detentHeight = this.#computeDetentHeight(this.detents[i]);\r\n if (detentHeight < currentHeight && detentHeight > nextHeight) {\r\n nextHeight = detentHeight;\r\n nextDetent = i;\r\n }\r\n }\r\n return nextDetent;\r\n }\r\n\r\n /** @private */\r\n #getClosestDetent(): number {\r\n const currentHeight = this.clientHeight;\r\n let closestDetent = this.#activeDetent;\r\n let closestDistance = Infinity;\r\n\r\n for (let i = 0; i < this.detents.length; i++) {\r\n const detentHeight = this.#computeDetentHeight(this.detents[i]);\r\n const distance = Math.abs(currentHeight - detentHeight);\r\n\r\n if (distance < closestDistance) {\r\n closestDistance = distance;\r\n closestDetent = i;\r\n }\r\n }\r\n return closestDetent;\r\n }\r\n\r\n /** @private */\r\n #computeDetentHeight(detent: string): number {\r\n switch (detent) {\r\n case \"collapsed\":\r\n return this.#computeMinHeight();\r\n case \"half\":\r\n return this.#computeMaxHeight() * 0.5;\r\n case \"full\":\r\n return this.#computeMaxHeight();\r\n case \"fit\":\r\n return this.#computeFitHeight();\r\n }\r\n\r\n if (detent.endsWith(\"%\")) {\r\n return this.#computeMaxHeight() * (parseFloat(detent) / 100);\r\n }\r\n\r\n if (detent.endsWith(\"px\")) {\r\n return parseFloat(detent);\r\n }\r\n\r\n return this.#computeMinHeight();\r\n }\r\n\r\n /** @private */\r\n #computeMaxHeight(): number {\r\n const base = this.shadowRoot?.querySelector<HTMLElement>(\".base\");\r\n return window.innerHeight - (base ? computeCssSize(base, \"var(--_bottom-sheet-top-space)\") : 0);\r\n }\r\n\r\n /** @private */\r\n #computeMinHeight(): number {\r\n return this.detents.includes(\"fit\") && !this.detents.includes(\"collapsed\")\r\n ? this.#computeFitHeight()\r\n : this.#computePeekHeight();\r\n }\r\n\r\n /** @private */\r\n #computePeekHeight(): number {\r\n const base = this.shadowRoot?.querySelector<HTMLElement>(\".base\");\r\n return this.#cachedHeaderHeight + (base ? computeCssSize(base, \"var(--_bottom-sheet-peek-height)\") : 0);\r\n }\r\n\r\n /** @private */\r\n #computeFitHeight(): number {\r\n const body = this.shadowRoot?.querySelector<HTMLElement>(\".body\");\r\n if (!body) {\r\n return 0;\r\n }\r\n\r\n const bodyStyle = getComputedStyle(body);\r\n return (\r\n this.#cachedHeaderHeight +\r\n this.#cachedContentHeight +\r\n parseFloat(bodyStyle.paddingBlockStart) +\r\n parseFloat(bodyStyle.paddingBlockEnd)\r\n );\r\n }\r\n\r\n /** @private */\r\n #handleSectionResize(entries: ResizeObserverEntry[]): void {\r\n const oldCachedContentHeight = this.#cachedContentHeight;\r\n const oldCachedHeaderHeight = this.#cachedHeaderHeight;\r\n\r\n for (const entry of entries) {\r\n if (entry.target.classList.contains(\"content\")) {\r\n this.#cachedContentHeight = (<ResizeObserverSize>(\r\n (Array.isArray(entry.borderBoxSize) ? entry.borderBoxSize[0] : entry.borderBoxSize)\r\n )).blockSize;\r\n } else if (entry.target.classList.contains(\"header\")) {\r\n this.#cachedHeaderHeight = (<ResizeObserverSize>(\r\n (Array.isArray(entry.borderBoxSize) ? entry.borderBoxSize[0] : entry.borderBoxSize)\r\n )).blockSize;\r\n }\r\n }\r\n\r\n if (\r\n this.open &&\r\n this.detents.length > 0 &&\r\n (oldCachedContentHeight !== this.#cachedContentHeight || oldCachedHeaderHeight !== this.#cachedHeaderHeight)\r\n ) {\r\n switch (this.detents[this.#activeDetent]) {\r\n case \"fit\":\r\n this.#updateHeight(this.#computeFitHeight());\r\n break;\r\n\r\n case \"collapsed\":\r\n this.#updateHeight(this.#computeMinHeight());\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #snapToDetent(detent: number): void {\r\n if (detent >= 0 && detent < this.detents.length) {\r\n this.#activeDetent = detent;\r\n this.#snapToHeight(this.#computeDetentHeight(this.detents[detent]));\r\n }\r\n }\r\n\r\n /** @private */\r\n async #snapToHeight(height: number): Promise<void> {\r\n if (this.#snapAnimation) {\r\n this.#updateHeight(this.clientHeight);\r\n this.#snapAnimation?.cancel();\r\n this.#snapAnimation = undefined;\r\n }\r\n\r\n if (!prefersReducedMotion()) {\r\n this.#snapAnimation = this.animate(\r\n [{ \"--_bottom-sheet-height\": `${this.clientHeight}px` }, { \"--_bottom-sheet-height\": `${height}px` }],\r\n {\r\n duration: 250,\r\n easing: \"cubic-bezier(0.2, 0.0, 0, 1.0)\",\r\n },\r\n );\r\n this.#snapAnimation.onfinish = () => {\r\n this.#updateHeight(height);\r\n this.#snapAnimation = undefined;\r\n };\r\n await this.#snapAnimation.finished;\r\n } else {\r\n this.#updateHeight(height);\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateHeight(height: number): void {\r\n this.style.setProperty(\"--_bottom-sheet-height\", `${height}px`);\r\n this.classList.toggle(\"-full\", height === this.#computeMaxHeight());\r\n const content = this.shadowRoot?.querySelector<HTMLElement>(\".content\");\r\n if (content) {\r\n content.inert = height <= this.#computePeekHeight();\r\n }\r\n }\r\n\r\n /** @private */\r\n #applyInert() {\r\n this.#inerts.length = 0;\r\n\r\n for (\r\n let current: Node = this as Node;\r\n current.parentNode && current.parentNode !== document.documentElement;\r\n current = current.parentNode\r\n ) {\r\n for (const sibling of current.parentNode.children) {\r\n if (sibling instanceof HTMLElement && sibling !== current && !sibling.inert) {\r\n sibling.inert = true;\r\n this.#inerts.push(sibling);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #restoreInert(): void {\r\n this.#inerts.forEach((x) => (x.inert = false));\r\n this.#inerts.length = 0;\r\n }\r\n}\r\n\r\ninterface M3eBottomSheetElementEventMap extends HTMLElementEventMap {\r\n opening: Event;\r\n opened: Event;\r\n closing: Event;\r\n closed: Event;\r\n cancel: Event;\r\n}\r\n\r\nexport interface M3eBottomSheetElement {\r\n addEventListener<K extends keyof M3eBottomSheetElementEventMap>(\r\n type: K,\r\n listener: (this: M3eBottomSheetElement, ev: M3eBottomSheetElementEventMap[K]) => void,\r\n options?: boolean | AddEventListenerOptions,\r\n ): void;\r\n\r\n addEventListener(\r\n type: string,\r\n listener: EventListenerOrEventListenerObject,\r\n options?: boolean | AddEventListenerOptions,\r\n ): void;\r\n\r\n removeEventListener<K extends keyof M3eBottomSheetElementEventMap>(\r\n type: K,\r\n listener: (this: M3eBottomSheetElement, ev: M3eBottomSheetElementEventMap[K]) => void,\r\n options?: boolean | EventListenerOptions,\r\n ): void;\r\n\r\n removeEventListener(\r\n type: string,\r\n listener: EventListenerOrEventListenerObject,\r\n options?: boolean | EventListenerOptions,\r\n ): void;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-bottom-sheet\": M3eBottomSheetElement;\r\n }\r\n}\r\n","import { customElement, property } from \"lit/decorators.js\";\r\n\r\nimport { ActionElementBase, HtmlFor } from \"@m3e/web/core\";\r\nimport { addAriaReferencedId, removeAriaReferencedId } from \"@m3e/web/core/a11y\";\r\n\r\nimport { M3eBottomSheetElement } from \"./BottomSheetElement\";\r\n\r\n/**\r\n * An element, nested within a clickable element, used to trigger a bottom sheet.\r\n * @tag m3e-bottom-sheet-trigger\r\n *\r\n * @slot - Renders the content of the trigger.\r\n *\r\n * @attr detent - The zero‑based index of the detent the sheet should open to.\r\n * @attr secondary - Marks this trigger as a secondary trigger for accessibility. Secondary triggers do not receive ARIA ownership.\r\n */\r\n@customElement(\"m3e-bottom-sheet-trigger\")\r\nexport class M3eBottomSheetTriggerElement extends HtmlFor(ActionElementBase) {\r\n /**\r\n * The zero‑based index of the detent the sheet should open to.\r\n * @default undefined\r\n */\r\n @property({ type: Number }) detent?: number;\r\n\r\n /**\r\n * Marks this trigger as a secondary trigger for accessibility. Secondary triggers do not receive ARIA ownership.\r\n * @default false\r\n */\r\n @property({ type: Boolean }) secondary = false;\r\n\r\n /** @inheritdoc */\r\n override attach(control: HTMLElement): void {\r\n if (control instanceof M3eBottomSheetElement) {\r\n super.attach(control);\r\n\r\n if (this.parentElement) {\r\n if (!control.modal) {\r\n if (!this.secondary) {\r\n this.parentElement.ariaExpanded = \"false\";\r\n addAriaReferencedId(this.parentElement, \"aria-controls\", control.id);\r\n if (this.parentElement.id) {\r\n addAriaReferencedId(control, \"aria-labelledby\", this.parentElement.id);\r\n }\r\n }\r\n } else {\r\n this.parentElement.ariaHasPopup = \"dialog\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override detach(): void {\r\n if (this.control && this.parentElement && !this.secondary) {\r\n removeAriaReferencedId(this.parentElement, \"aria-controls\", this.control.id);\r\n }\r\n super.detach();\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override _onClick(): void {\r\n if (this.control instanceof M3eBottomSheetElement) {\r\n if (this.control.modal) {\r\n this.control.show(this.detent);\r\n } else {\r\n this.control.toggle(this.detent);\r\n if (!this.secondary && this.parentElement) {\r\n this.parentElement.ariaExpanded = `${this.control.open}`;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-bottom-sheet-trigger\": M3eBottomSheetTriggerElement;\r\n }\r\n}\r\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","__classPrivateFieldSet","set","SuppressedError","t","e","o","addInitializer","customElements","define","globalThis","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","WeakMap","n$2","constructor","this","_$cssResult$","Error","cssText","styleSheet","replaceSync","toString","S","adoptStyles","adoptedStyleSheets","map","document","createElement","n","litNonce","setAttribute","textContent","appendChild","cssRules","is","h","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","a","trustedTypes","l","emptyScript","p","reactiveElementPolyfillSupport","JSCompiler_renameProperty","u","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","notEqual","b","attribute","type","String","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","y","HTMLElement","_$Ei","push","observedAttributes","finalize","_$Eh","keys","createProperty","hasOwnProperty","create","wrapped","elementProperties","noAccessor","getPropertyDescriptor","requestUpdate","configurable","enumerable","getPropertyOptions","Map","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","super","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","Promise","enableUpdating","_$AL","_$E_","forEach","addController","_$EO","add","renderRoot","isConnected","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$ET","removeAttribute","_$Ej","hasAttribute","C","_$EP","_$Eq","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","mode","ReactiveElement","reactiveElementVersions","standardProperty","name","init","M3eBottomSheetActionElement","ActionElementBase","_onClick","closest","hide","customElement","M3eBottomSheetElement","M3eBottomSheetElement_1","EventAttribute","LitElement","_M3eBottomSheetElement_documentClickHandler","_M3eBottomSheetElement_documentKeyDownHandler","_M3eBottomSheetElement_windowResizeHandler","_M3eBottomSheetElement_instances","_M3eBottomSheetElement_handleWindowResize","_M3eBottomSheetElement_inerts","_M3eBottomSheetElement_velocityTracker","VelocityTracker","_M3eBottomSheetElement_scrollLockController","ScrollLockController","_M3eBottomSheetElement_resizeController","ResizeController","skipInitial","callback","x","_M3eBottomSheetElement_handleSectionResize","_M3eBottomSheetElement_trigger","_M3eBottomSheetElement_dragState","_M3eBottomSheetElement_dragged","_M3eBottomSheetElement_activeDetent","_M3eBottomSheetElement_requestDetent","_M3eBottomSheetElement_cachedContentHeight","_M3eBottomSheetElement_cachedHeaderHeight","_M3eBottomSheetElement_snapAnimation","modal","open","handle","handleLabel","detents","detent","hideable","hideFriction","show","undefined","_M3eBottomSheetElement_snapToDetent","toggle","cycle","_a","changedProperties","role","ariaModal","popover","_changedProperties","content","querySelector","clientHeight","observe","header","dispatchEvent","Event","cancelable","__openSheet","inert","window","addEventListener","Math","min","max","_M3eBottomSheetElement_updateHeight","_M3eBottomSheetElement_computeDetentHeight","requestAnimationFrame","removeEventListener","activeElement","_M3eBottomSheetElement_applyInert","lock","showPopover","focusable","M3eInteractivityChecker","isFocusable","focusWhenReady","_M3eBottomSheetElement_snapToHeight","then","_M3eBottomSheetElement_restoreInert","unlock","hidePopover","focus","render","html","_M3eBottomSheetElement_handleHeaderPointerDown","_M3eBottomSheetElement_handleHeaderPointerMove","_M3eBottomSheetElement_handleHeaderPointerUp","_M3eBottomSheetElement_handleDragHandleClick","_M3eBottomSheetElement_handleDragHandleKeyDown","nothing","_M3eBottomSheetElement_handleHeaderSlotChange","classList","hasAssignedNodes","button","setPointerCapture","pointerId","style","cursor","reset","clientY","startY","startHeight","maxHeight","_M3eBottomSheetElement_computeMaxHeight","minHeight","_M3eBottomSheetElement_computeMinHeight","abs","getCoalescedEvents","timeStamp","newHeight","overshoot","releasePointerCapture","significantVelocityThreshold","pointerType","velocity","getVelocity","nextDetent","hideDistanceThreshold","collapsed","_M3eBottomSheetElement_getClosestDetent","composedPath","includes","shiftKey","ctrlKey","preventDefault","contains","defaultPrevented","isModifierAllowed","currentHeight","nextHeight","Infinity","detentHeight","closestDetent","closestDistance","distance","_M3eBottomSheetElement_computeFitHeight","endsWith","parseFloat","base","innerHeight","computeCssSize","body","bodyStyle","getComputedStyle","paddingBlockStart","paddingBlockEnd","entries","oldCachedContentHeight","oldCachedHeaderHeight","entry","borderBoxSize","blockSize","async","height","cancel","prefersReducedMotion","animate","duration","easing","onfinish","finished","setProperty","_M3eBottomSheetElement_computePeekHeight","current","parentNode","documentElement","sibling","children","lightDomStyle","css","DesignToken","color","onSurface","surfaceContainerLow","unsafeCSS","motion","medium2","standardDecelerate","standard","elevation","level1","shape","corner","none","extraLargeTop","short3","scrim","long2","scrollbar","thinWidth","typescale","medium","fontSize","fontWeight","lineHeight","tracking","title","large","full","onSurfaceVariant","property","spaceSeparatedStringConverter","M3eBottomSheetTriggerElement","HtmlFor","secondary","attach","control","parentElement","ariaHasPopup","ariaExpanded","addAriaReferencedId","id","detach","removeAriaReferencedId"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}