@m3e/web 2.0.4 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.js +115 -109
- package/dist/all.js.map +1 -1
- package/dist/all.min.js +5 -5
- package/dist/all.min.js.map +1 -1
- package/dist/app-bar.js +2 -2
- package/dist/app-bar.js.map +1 -1
- package/dist/app-bar.min.js +1 -1
- package/dist/app-bar.min.js.map +1 -1
- package/dist/autocomplete.js +2 -2
- package/dist/autocomplete.js.map +1 -1
- package/dist/autocomplete.min.js +1 -1
- package/dist/autocomplete.min.js.map +1 -1
- package/dist/avatar.js +2 -2
- package/dist/avatar.js.map +1 -1
- package/dist/avatar.min.js +1 -1
- package/dist/avatar.min.js.map +1 -1
- package/dist/badge.js +2 -2
- package/dist/badge.js.map +1 -1
- package/dist/badge.min.js +1 -1
- package/dist/badge.min.js.map +1 -1
- package/dist/bottom-sheet.js +4 -4
- package/dist/bottom-sheet.js.map +1 -1
- package/dist/bottom-sheet.min.js +1 -1
- package/dist/bottom-sheet.min.js.map +1 -1
- package/dist/button-group.js +2 -2
- package/dist/button-group.js.map +1 -1
- package/dist/button-group.min.js +1 -1
- package/dist/button-group.min.js.map +1 -1
- package/dist/button.js +2 -2
- package/dist/button.js.map +1 -1
- package/dist/button.min.js +1 -1
- package/dist/button.min.js.map +1 -1
- package/dist/card.js +2 -2
- package/dist/card.js.map +1 -1
- package/dist/card.min.js +1 -1
- package/dist/card.min.js.map +1 -1
- package/dist/checkbox.js +2 -2
- package/dist/checkbox.js.map +1 -1
- package/dist/checkbox.min.js +1 -1
- package/dist/checkbox.min.js.map +1 -1
- package/dist/chips.js +9 -9
- package/dist/chips.js.map +1 -1
- package/dist/chips.min.js +1 -1
- package/dist/chips.min.js.map +1 -1
- package/dist/core-a11y.js +3 -3
- package/dist/core-a11y.js.map +1 -1
- package/dist/core-a11y.min.js.map +1 -1
- package/dist/core.js +14 -14
- package/dist/core.js.map +1 -1
- package/dist/core.min.js +1 -1
- package/dist/core.min.js.map +1 -1
- package/dist/css-custom-data.json +615 -380
- package/dist/custom-elements.json +12398 -10626
- package/dist/dialog.js +5 -4
- package/dist/dialog.js.map +1 -1
- package/dist/dialog.min.js +1 -1
- package/dist/dialog.min.js.map +1 -1
- package/dist/divider.js +2 -2
- package/dist/divider.js.map +1 -1
- package/dist/divider.min.js +1 -1
- package/dist/divider.min.js.map +1 -1
- package/dist/drawer-container.js +3 -3
- package/dist/drawer-container.js.map +1 -1
- package/dist/drawer-container.min.js +1 -1
- package/dist/drawer-container.min.js.map +1 -1
- package/dist/expansion-panel.js +4 -4
- package/dist/expansion-panel.js.map +1 -1
- package/dist/expansion-panel.min.js +1 -1
- package/dist/expansion-panel.min.js.map +1 -1
- package/dist/fab-menu.js +4 -4
- package/dist/fab-menu.js.map +1 -1
- package/dist/fab-menu.min.js +1 -1
- package/dist/fab-menu.min.js.map +1 -1
- package/dist/fab.js +2 -2
- package/dist/fab.js.map +1 -1
- package/dist/fab.min.js +1 -1
- package/dist/fab.min.js.map +1 -1
- package/dist/form-field.js +2 -2
- package/dist/form-field.js.map +1 -1
- package/dist/form-field.min.js +1 -1
- package/dist/form-field.min.js.map +1 -1
- package/dist/heading.js +2 -2
- package/dist/heading.js.map +1 -1
- package/dist/heading.min.js +1 -1
- package/dist/heading.min.js.map +1 -1
- package/dist/html-custom-data.json +173 -141
- package/dist/icon-button.js +2 -2
- package/dist/icon-button.js.map +1 -1
- package/dist/icon-button.min.js +1 -1
- package/dist/icon-button.min.js.map +1 -1
- package/dist/icon.js +2 -2
- package/dist/icon.js.map +1 -1
- package/dist/icon.min.js +1 -1
- package/dist/icon.min.js.map +1 -1
- package/dist/list.js +9 -9
- package/dist/list.js.map +1 -1
- package/dist/list.min.js +1 -1
- package/dist/list.min.js.map +1 -1
- package/dist/loading-indicator.js +2 -2
- package/dist/loading-indicator.js.map +1 -1
- package/dist/loading-indicator.min.js +1 -1
- package/dist/loading-indicator.min.js.map +1 -1
- package/dist/menu.js +7 -7
- package/dist/menu.js.map +1 -1
- package/dist/menu.min.js +1 -1
- package/dist/menu.min.js.map +1 -1
- package/dist/nav-bar.js +3 -3
- package/dist/nav-bar.js.map +1 -1
- package/dist/nav-bar.min.js +1 -1
- package/dist/nav-bar.min.js.map +1 -1
- package/dist/nav-menu.js +4 -4
- package/dist/nav-menu.js.map +1 -1
- package/dist/nav-menu.min.js +1 -1
- package/dist/nav-menu.min.js.map +1 -1
- package/dist/nav-rail.js +3 -3
- package/dist/nav-rail.js.map +1 -1
- package/dist/nav-rail.min.js +1 -1
- package/dist/nav-rail.min.js.map +1 -1
- package/dist/option.js +4 -4
- package/dist/option.js.map +1 -1
- package/dist/option.min.js +1 -1
- package/dist/option.min.js.map +1 -1
- package/dist/paginator.js +7 -2
- package/dist/paginator.js.map +1 -1
- package/dist/paginator.min.js +2 -2
- package/dist/paginator.min.js.map +1 -1
- package/dist/progress-indicator.js +3 -3
- package/dist/progress-indicator.js.map +1 -1
- package/dist/progress-indicator.min.js +1 -1
- package/dist/progress-indicator.min.js.map +1 -1
- package/dist/radio-group.js +3 -3
- package/dist/radio-group.js.map +1 -1
- package/dist/radio-group.min.js +1 -1
- package/dist/radio-group.min.js.map +1 -1
- package/dist/segmented-button.js +3 -3
- package/dist/segmented-button.js.map +1 -1
- package/dist/segmented-button.min.js +1 -1
- package/dist/segmented-button.min.js.map +1 -1
- package/dist/select.js +2 -2
- package/dist/select.js.map +1 -1
- package/dist/select.min.js +1 -1
- package/dist/select.min.js.map +1 -1
- package/dist/shape.js +2 -2
- package/dist/shape.js.map +1 -1
- package/dist/shape.min.js +1 -1
- package/dist/shape.min.js.map +1 -1
- package/dist/slide-group.js +3 -2
- package/dist/slide-group.js.map +1 -1
- package/dist/slide-group.min.js +1 -1
- package/dist/slide-group.min.js.map +1 -1
- package/dist/slider.js +3 -3
- package/dist/slider.js.map +1 -1
- package/dist/slider.min.js +1 -1
- package/dist/slider.min.js.map +1 -1
- package/dist/snackbar.js +4 -2
- package/dist/snackbar.js.map +1 -1
- package/dist/snackbar.min.js +1 -1
- package/dist/snackbar.min.js.map +1 -1
- package/dist/split-button.js +3 -2
- package/dist/split-button.js.map +1 -1
- package/dist/split-button.min.js +1 -1
- package/dist/split-button.min.js.map +1 -1
- package/dist/src/bottom-sheet/BottomSheetActionElement.d.ts.map +1 -1
- package/dist/src/bottom-sheet/BottomSheetTriggerElement.d.ts.map +1 -1
- package/dist/src/core/shared/decorators/customElement.d.ts +19 -0
- package/dist/src/core/shared/decorators/customElement.d.ts.map +1 -0
- package/dist/src/core/shared/decorators/element.d.ts +2 -2
- package/dist/src/core/shared/decorators/element.d.ts.map +1 -1
- package/dist/src/core/shared/decorators/index.d.ts +1 -1
- package/dist/src/core/shared/decorators/index.d.ts.map +1 -1
- package/dist/src/dialog/DialogActionElement.d.ts.map +1 -1
- package/dist/src/dialog/DialogElement.d.ts +1 -0
- package/dist/src/dialog/DialogElement.d.ts.map +1 -1
- package/dist/src/dialog/DialogTriggerElement.d.ts.map +1 -1
- package/dist/src/drawer-container/DrawerToggleElement.d.ts.map +1 -1
- package/dist/src/expansion-panel/ExpansionPanelElement.d.ts.map +1 -1
- package/dist/src/fab-menu/FabMenuTriggerElement.d.ts.map +1 -1
- package/dist/src/menu/MenuTriggerElement.d.ts.map +1 -1
- package/dist/src/nav-menu/NavMenuElement.d.ts.map +1 -1
- package/dist/src/nav-rail/NavRailToggleElement.d.ts.map +1 -1
- package/dist/src/paginator/PaginatorElement.d.ts +5 -0
- package/dist/src/paginator/PaginatorElement.d.ts.map +1 -1
- package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts.map +1 -1
- package/dist/src/slide-group/SlideGroupElement.d.ts +1 -0
- package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -1
- package/dist/src/snackbar/SnackbarElement.d.ts +2 -0
- package/dist/src/snackbar/SnackbarElement.d.ts.map +1 -1
- package/dist/src/split-button/SplitButtonElement.d.ts +1 -0
- package/dist/src/split-button/SplitButtonElement.d.ts.map +1 -1
- package/dist/src/tabs/TabsElement.d.ts +1 -0
- package/dist/src/tabs/TabsElement.d.ts.map +1 -1
- package/dist/src/toc/TocItemElement.d.ts.map +1 -1
- package/dist/src/tooltip/RichTooltipActionElement.d.ts.map +1 -1
- package/dist/stepper.js +7 -7
- package/dist/stepper.js.map +1 -1
- package/dist/stepper.min.js +1 -1
- package/dist/stepper.min.js.map +1 -1
- package/dist/switch.js +2 -2
- package/dist/switch.js.map +1 -1
- package/dist/switch.min.js +1 -1
- package/dist/switch.min.js.map +1 -1
- package/dist/tabs.js +5 -4
- package/dist/tabs.js.map +1 -1
- package/dist/tabs.min.js +1 -1
- package/dist/tabs.min.js.map +1 -1
- package/dist/textarea-autosize.js +2 -2
- package/dist/textarea-autosize.js.map +1 -1
- package/dist/textarea-autosize.min.js +1 -1
- package/dist/textarea-autosize.min.js.map +1 -1
- package/dist/theme.js +2 -2
- package/dist/theme.js.map +1 -1
- package/dist/theme.min.js +1 -1
- package/dist/theme.min.js.map +1 -1
- package/dist/toc.js +3 -3
- package/dist/toc.js.map +1 -1
- package/dist/toc.min.js +1 -1
- package/dist/toc.min.js.map +1 -1
- package/dist/toolbar.js +2 -2
- package/dist/toolbar.js.map +1 -1
- package/dist/toolbar.min.js +1 -1
- package/dist/toolbar.min.js.map +1 -1
- package/dist/tooltip.js +4 -4
- package/dist/tooltip.js.map +1 -1
- package/dist/tooltip.min.js +1 -1
- package/dist/tooltip.min.js.map +1 -1
- package/package.json +1 -1
package/dist/slider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../src/slider/SliderThumbElement.ts","../../src/slider/SliderElement.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","import { css, CSSResultGroup, html, LitElement, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n AttachInternals,\r\n element,\r\n DesignToken,\r\n Dirty,\r\n Disabled,\r\n Focusable,\r\n FormAssociated,\r\n formValue,\r\n M3eFocusRingElement,\r\n Role,\r\n Touched,\r\n} from \"@m3e/web/core\";\r\n\r\n/**\r\n * A thumb used to select a value in a slider.\r\n *\r\n * @description\r\n * The `m3e-slider-thumb` component is used within a `m3e-slider` to represent and select a specific value.\r\n * This component supports continuous and discrete input, form association, and accessibility semantics.\r\n * It emits `input` and `change` events to reflect value updates.\r\n *\r\n * @example\r\n * The following example illustrates a labelled slider with thumb used to select a single numeric value.\r\n * ```html\r\n * <m3e-slider labelled>\r\n * <m3e-slider-thumb value=\"50\"></m3e-slider-thumb>\r\n * </m3e-slider>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates a labelled range slider with two thumbs used to select a minimum and maximum numeric value.\r\n * ```html\r\n * <m3e-slider labelled>\r\n * <m3e-slider-thumb value=\"25\"></m3e-slider-thumb>\r\n * <m3e-slider-thumb value=\"75\"></m3e-slider-thumb>\r\n * </m3e-slider>\r\n * ```\r\n *\r\n * @tag m3e-slider-thumb\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr name - The name that identifies the element when submitting the associated form.\r\n * @attr value - The value of the thumb.\r\n *\r\n * @fires input - Emitted when the value changes.\r\n * @fires change - Emitted when the value changes.\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-slider-thumb-width - Width of the slider thumb.\r\n * @cssprop --m3e-slider-thumb-padding - Horizontal padding around the thumb.\r\n * @cssprop --m3e-slider-thumb-color - Active color of the slider thumb when enabled.\r\n * @cssprop --m3e-slider-thumb-pressed-width - Width of the thumb when pressed.\r\n * @cssprop --m3e-slider-thumb-disabled-color - Color of the thumb when disabled.\r\n * @cssprop --m3e-slider-thumb-disabled-opacity - Opacity of the thumb when disabled.\r\n * @cssprop --m3e-slider-label-width - Width of the floating label above the thumb.\r\n * @cssprop --m3e-slider-label-container-color - Background color of the label container.\r\n * @cssprop --m3e-slider-label-color - Text color of the label.\r\n * @cssprop --m3e-slider-label-font-size - Font size of the label text.\r\n * @cssprop --m3e-slider-label-font-weight - Font weight of the label text.\r\n * @cssprop --m3e-slider-label-line-height - Line height of the label text.\r\n * @cssprop --m3e-slider-label-tracking - Letter spacing of the label text.\r\n */\r\n@element(\"m3e-slider-thumb\")\r\nexport class M3eSliderThumbElement extends Dirty(\r\n Touched(FormAssociated(Focusable(Disabled(AttachInternals(Role(LitElement, \"slider\")))))),\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 box-sizing: border-box;\r\n position: absolute;\r\n outline: none;\r\n top: 0;\r\n bottom: 0;\r\n border-radius: var(--m3e-slider-thumb-shape, ${DesignToken.shape.corner.full});\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n .base {\r\n box-sizing: border-box;\r\n vertical-align: middle;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n border-radius: inherit;\r\n }\r\n .touch {\r\n position: absolute;\r\n height: 3rem;\r\n left: 0;\r\n right: 0;\r\n touch-action: none;\r\n }\r\n .wrapper {\r\n display: inline-flex;\r\n justify-content: center;\r\n height: 100%;\r\n border-radius: inherit;\r\n width: calc(var(--m3e-slider-thumb-width, 0.25rem) + calc(var(--m3e-slider-thumb-padding, 0.375em) * 2));\r\n }\r\n .focus-ring {\r\n top: calc(0px - var(--m3e-focus-ring-thickness, 3px));\r\n bottom: calc(0px - var(--m3e-focus-ring-thickness, 3px));\r\n left: var(--m3e-focus-ring-thickness, 3px);\r\n right: var(--m3e-focus-ring-thickness, 3px);\r\n }\r\n .label {\r\n user-select: none;\r\n position: absolute;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n visibility: var(--_slider-label-visibility, hidden);\r\n opacity: var(--_slider-label-opacity, 0);\r\n transform: var(--_slider-label-transform, scale(0));\r\n transition: ${unsafeCSS(\r\n `opacity ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard}, \r\n transform ${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 width: var(--m3e-slider-label-width, 3rem);\r\n height: var(--_m3e-slider-label-height, 2.75rem);\r\n top: calc(0px - var(--_m3e-slider-label-height, 2.75rem) - var(--_m3e-slider-label-margin, 0.25rem));\r\n inset-inline-start: calc(0px - 100%);\r\n border-radius: var(--m3e-slider-label-shape, ${DesignToken.shape.corner.full});\r\n background-color: var(--m3e-slider-label-container-color, ${DesignToken.color.inverseSurface});\r\n color: var(--m3e-slider-label-color, ${DesignToken.color.inverseOnSurface});\r\n font-size: var(--m3e-slider-label-font-size, ${DesignToken.typescale.standard.label.medium.fontSize});\r\n font-weight: var(--m3e-slider-label-font-weight, ${DesignToken.typescale.standard.label.medium.fontWeight});\r\n line-height: var(--m3e-slider-label-line-height, ${DesignToken.typescale.standard.label.medium.lineHeight});\r\n letter-spacing: var(--m3e-slider-label-tracking, ${DesignToken.typescale.standard.label.medium.tracking});\r\n }\r\n @starting-style {\r\n .label {\r\n opacity: 0;\r\n transform: scale(0);\r\n }\r\n }\r\n .handle {\r\n height: 100%;\r\n width: var(--m3e-slider-thumb-width, 0.25rem);\r\n border-radius: inherit;\r\n transition: ${unsafeCSS(`width ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard}`)};\r\n }\r\n :host(:active:not([aria-disabled=\"true\"])) .handle {\r\n width: var(--m3e-slider-thumb-pressed-width, 2px);\r\n }\r\n :host(:not([aria-disabled=\"true\"])) .handle {\r\n background-color: var(--m3e-slider-thumb-color, ${DesignToken.color.primary});\r\n }\r\n :host([aria-disabled=\"true\"]) .handle {\r\n opacity: var(--m3e-slider-thumb-disabled-opacity, 38%);\r\n background-color: var(--m3e-slider-thumb-disabled-color, ${DesignToken.color.onSurface});\r\n }\r\n @media (prefers-reduced-motion) {\r\n .label {\r\n transition: none;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n .label {\r\n forced-color-adjust: none;\r\n background-color: CanvasText;\r\n color: Canvas;\r\n }\r\n :host(:not([aria-disabled=\"true\"])) .handle {\r\n background-color: CanvasText;\r\n }\r\n :host([aria-disabled=\"true\"]) .handle {\r\n opacity: unset;\r\n background-color: GrayText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @query(\".focus-ring\")\r\n private readonly _focusRing?: M3eFocusRingElement;\r\n\r\n /**\r\n * The value of the thumb.\r\n * @default null\r\n */\r\n @property({ type: Number, reflect: true }) value: number | null = null;\r\n\r\n /** @inheritdoc */\r\n override get [formValue](): string | File | FormData | null {\r\n return this.value?.toString() ?? null;\r\n }\r\n\r\n /** @internal */\r\n get #labelText(): string {\r\n return this.closest(\"m3e-slider\")?.displayWith?.(this.value) ?? this.value?.toString() ?? \"\";\r\n }\r\n\r\n /** @inheritdoc */\r\n override focus(options?: FocusOptions): void {\r\n if (this._focusRing) {\r\n this._focusRing.disabled = true;\r\n }\r\n\r\n super.focus(options);\r\n\r\n if (this._focusRing) {\r\n this._focusRing.disabled = this.disabled;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n this._focusRing?.attach(this);\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(\"value\")) {\r\n this.dispatchEvent(new Event(\"value-change\", { bubbles: true }));\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"label\" aria-hidden=\"true\">${this.#labelText}</div>\r\n <div class=\"base\">\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${this.disabled}\"></m3e-focus-ring>\r\n <div class=\"touch\" aria-hidden=\"true\"></div>\r\n <div class=\"wrapper\">\r\n <div class=\"handle\"></div>\r\n </div>\r\n </div>`;\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-slider-thumb\": M3eSliderThumbElement;\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, LitElement, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { property, query, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nimport {\r\n addCustomState,\r\n AttachInternals,\r\n element,\r\n deleteCustomState,\r\n DesignToken,\r\n hasCustomState,\r\n prefersReducedMotion,\r\n ResizeController,\r\n safeStyleMap,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { M3eDirectionality } from \"@m3e/web/core/bidi\";\r\n\r\nimport { M3eSliderThumbElement } from \"./SliderThumbElement\";\r\nimport { SliderSize } from \"./SliderSize\";\r\n\r\n/**\r\n * Allows for the selection of numeric values from a range.\r\n *\r\n * @description\r\n * The `m3e-slider` component enables users to select a numeric value from a continuous or discrete range.\r\n * Designed according to Material 3 principles, it supports labeled value indicators, tick marks, and\r\n * snapping behavior.\r\n *\r\n * @example\r\n * The following example illustrates a labelled slider with thumb used to select a single numeric value.\r\n * ```html\r\n * <m3e-slider labelled>\r\n * <m3e-slider-thumb value=\"50\"></m3e-slider-thumb>\r\n * </m3e-slider>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates a labelled range slider with two thumbs used to select a minimum and maximum numeric value.\r\n * ```html\r\n * <m3e-slider labelled>\r\n * <m3e-slider-thumb value=\"25\"></m3e-slider-thumb>\r\n * <m3e-slider-thumb value=\"75\"></m3e-slider-thumb>\r\n * </m3e-slider>\r\n * ```\r\n *\r\n * @tag m3e-slider\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr discrete - Whether to show tick marks.\r\n * @attr labelled - Whether to show value labels when activated.\r\n * @attr max - The maximum allowable value.\r\n * @attr min - The minimum allowable value.\r\n * @attr step - The value at which the thumb will snap.\r\n * @attr size - The size of the slider.\r\n *\r\n * @cssprop --m3e-slider-min-width - Minimum inline size of the slider host.\r\n * @cssprop --m3e-slider-small-height - Height of the slider when size is small or extra-small.\r\n * @cssprop --m3e-slider-medium-height - Height of the slider when size is medium.\r\n * @cssprop --m3e-slider-large-height - Height of the slider when size is large.\r\n * @cssprop --m3e-slider-extra-large-height - Height of the slider when size is extra-large.\r\n * @cssprop --m3e-slider-small-active-track-shape - Corner shape of the active track for small sliders.\r\n * @cssprop --m3e-slider-small-inactive-active-track-start-shape - Corner shape of the inactive track start for small sliders.\r\n * @cssprop --m3e-slider-small-inactive-track-end-shape - Corner shape of the inactive track end for small sliders.\r\n * @cssprop --m3e-slider-medium-active-track-shape - Corner shape of the active track for medium sliders.\r\n * @cssprop --m3e-slider-medium-inactive-active-track-start-shape - Corner shape of the inactive track start for medium sliders.\r\n * @cssprop --m3e-slider-medium-inactive-track-end-shape - Corner shape of the inactive track end for medium sliders.\r\n * @cssprop --m3e-slider-large-active-track-shape - Corner shape of the active track for large sliders.\r\n * @cssprop --m3e-slider-large-inactive-active-track-start-shape - Corner shape of the inactive track start for large sliders.\r\n * @cssprop --m3e-slider-large-inactive-track-end-shape - Corner shape of the inactive track end for large sliders.\r\n * @cssprop --m3e-slider-extra-large-active-track-shape - Corner shape of the active track for extra-large sliders.\r\n * @cssprop --m3e-slider-extra-large-inactive-active-track-start-shape - Corner shape of the inactive track start for extra-large sliders.\r\n * @cssprop --m3e-slider-extra-large-inactive-track-end-shape - Corner shape of the inactive track end for extra-large sliders.\r\n * @cssprop --m3e-slider-extra-small-track-height - Height of the track for extra-small sliders.\r\n * @cssprop --m3e-slider-small-track-height - Height of the track for small sliders.\r\n * @cssprop --m3e-slider-medium-track-height - Height of the track for medium sliders.\r\n * @cssprop --m3e-slider-large-track-height - Height of the track for large sliders.\r\n * @cssprop --m3e-slider-extra-large-track-height - Height of the track for extra-large sliders.\r\n * @cssprop --m3e-slider-tick-size - Size of each tick mark.\r\n * @cssprop --m3e-slider-tick-shape - Corner shape of each tick mark.\r\n * @cssprop --m3e-slider-inactive-track-color - Background color of the inactive track when enabled.\r\n * @cssprop --m3e-slider-disabled-inactive-track-color - Base color of the inactive track when disabled.\r\n * @cssprop --m3e-slider-disabled-inactive-track-opacity - Opacity of the inactive track when disabled.\r\n * @cssprop --m3e-slider-active-track-color - Background color of the active track when enabled.\r\n * @cssprop --m3e-slider-disabled-active-track-color - Base color of the active track when disabled.\r\n * @cssprop --m3e-slider-disabled-active-track-opacity - Opacity of the active track when disabled.\r\n * @cssprop --m3e-slider-tick-active-color - Color of active ticks when enabled.\r\n * @cssprop --m3e-slider-disabled-tick-active-color - Color of active ticks when disabled.\r\n * @cssprop --m3e-slider-tick-inactive-color - Color of inactive ticks when enabled.\r\n * @cssprop --m3e-slider-disabled-tick-inactive-color - Color of inactive ticks when disabled.\r\n */\r\n@element(\"m3e-slider\")\r\nexport class M3eSliderElement extends AttachInternals(LitElement) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: inline-block;\r\n vertical-align: middle;\r\n min-inline-size: var(--m3e-slider-min-width, 12.5rem);\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host(:not([disabled])) {\r\n cursor: pointer;\r\n }\r\n :host([size=\"extra-small\"]),\r\n :host([size=\"small\"]) {\r\n height: var(--m3e-slider-small-height, 2.75rem);\r\n }\r\n :host(:not(:dir(rtl))[size=\"extra-small\"]) .base,\r\n :host(:not(:dir(rtl))[size=\"small\"]) .base {\r\n --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${DesignToken.shape.corner.smallStart});\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-small-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.smallStart}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-small-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.smallEnd}\r\n );\r\n }\r\n :host(:dir(rtl)[size=\"extra-small\"]) .base,\r\n :host(:dir(rtl)[size=\"small\"]) .base {\r\n --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${DesignToken.shape.corner.smallEnd});\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-small-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.smallEnd}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-small-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.smallStart}\r\n );\r\n }\r\n :host([size=\"extra-small\"]) .track {\r\n height: calc(var(--m3e-slider-extra-small-track-height, 1rem));\r\n }\r\n :host([size=\"small\"]) .track {\r\n height: calc(var(--m3e-slider-small-track-height, 1.5rem));\r\n }\r\n :host([size=\"medium\"]) {\r\n height: var(--m3e-slider-medium-height, 3.25rem);\r\n }\r\n :host(:not(:dir(rtl))[size=\"medium\"]) .base {\r\n --_slider-active-track-shape: var(\r\n --m3e-slider-medium-active-track-shape,\r\n ${DesignToken.shape.corner.mediumStart}\r\n );\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-medium-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.mediumStart}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-medium-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.mediumEnd}\r\n );\r\n }\r\n :host(:dir(rtl)[size=\"medium\"]) .base {\r\n --_slider-active-track-shape: var(--m3e-slider-medium-active-track-shape, ${DesignToken.shape.corner.mediumEnd});\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-medium-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.mediumEnd}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-medium-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.mediumStart}\r\n );\r\n }\r\n :host([size=\"medium\"]) .track {\r\n height: var(--m3e-slider-medium-track-height, 2.5rem);\r\n }\r\n :host([size=\"large\"]) {\r\n height: var(--m3e-slider-large-height, 4.25rem);\r\n }\r\n :host(:not(:dir(rtl))[size=\"large\"]) .base {\r\n --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${DesignToken.shape.corner.largeStart});\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-large-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.largeStart}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-large-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.largeEnd}\r\n );\r\n }\r\n :host(:dir(rtl)[size=\"large\"]) .base {\r\n --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${DesignToken.shape.corner.largeEnd});\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-large-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.largeEnd}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-large-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.largeStart}\r\n );\r\n }\r\n :host([size=\"large\"]) .track {\r\n height: var(--m3e-slider-large-track-height, 3.5rem);\r\n }\r\n :host([size=\"extra-large\"]) {\r\n height: var(--m3e-slider-extra-large-height, 6.75rem);\r\n }\r\n :host(:not(:dir(rtl))[size=\"extra-large\"]) .base {\r\n --_slider-active-track-shape: var(\r\n --m3e-slider-extra-large-active-track-shape,\r\n ${DesignToken.shape.corner.extraLargeStart}\r\n );\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-extra-large-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.extraLargeStart}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-extra-large-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.extraLargeEnd}\r\n );\r\n }\r\n :host(:dir(rtl)[size=\"extra-large\"]) .base {\r\n --_slider-active-track-shape: var(\r\n --m3e-slider-extra-large-active-track-shape,\r\n ${DesignToken.shape.corner.extraLargeEnd}\r\n );\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-extra-large-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.extraLargeEnd}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-extra-large-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.extraLargeStart}\r\n );\r\n }\r\n :host([size=\"extra-large\"]) .track {\r\n height: var(--m3e-slider-extra-large-track-height, 6rem);\r\n }\r\n :host(:state(-animating)) .track-active,\r\n :host(:state(-animating)) .track-inactive.start,\r\n :host(:state(-animating)) .track-inactive.end {\r\n transition: ${unsafeCSS(`margin-inline-start ${DesignToken.motion.spring.fastEffects},\r\n width ${DesignToken.motion.spring.fastEffects}`)};\r\n }\r\n .base {\r\n display: inline-flex;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n border-radius: inherit;\r\n outline: none;\r\n touch-action: none;\r\n }\r\n .track {\r\n position: relative;\r\n flex: 1 1 auto;\r\n touch-action: none;\r\n }\r\n .track-inactive,\r\n .track-active {\r\n position: absolute;\r\n height: 100%;\r\n touch-action: none;\r\n }\r\n .track-active {\r\n margin-inline-start: var(--_slider-active-track-offset, 0px);\r\n width: var(--_slider-active-track-size, 0px);\r\n border-radius: var(--_slider-active-track-middle-shape, var(--_slider-active-track-shape));\r\n }\r\n .track-inactive.start {\r\n width: var(--_slider-inactive-track-before-size, 0px);\r\n border-radius: var(--_slider-inactive-track-start-shape);\r\n }\r\n .track-inactive.end {\r\n margin-inline-start: var(--_slider-inactive-track-after-offset, 0px);\r\n width: var(--_slider-inactive-track-after-size, 0px);\r\n border-radius: var(--_slider-inactive-track-end-shape);\r\n }\r\n .ticks {\r\n position: absolute;\r\n width: 100%;\r\n height: var(--m3e-slider-tick-size, 0.25rem);\r\n overflow: visible;\r\n touch-action: none;\r\n }\r\n .tick {\r\n position: absolute;\r\n top: 0;\r\n touch-action: none;\r\n inset-inline-start: calc(var(--m3e-slider-tick-size, 0.25rem) + calc(var(--m3e-slider-tick-size, 0.25rem) / 2));\r\n width: var(--m3e-slider-tick-size, 0.25rem);\r\n height: var(--m3e-slider-tick-size, 0.25rem);\r\n border-radius: var(--m3e-slider-tick-shape, ${DesignToken.shape.corner.full});\r\n }\r\n :host(:not([disabled])) .track-inactive {\r\n background-color: var(--m3e-slider-inactive-track-color, ${DesignToken.color.secondaryContainer});\r\n }\r\n :host([disabled]) .track-inactive {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-slider-disabled-inactive-track-color, ${DesignToken.color.onSurface})\r\n var(--m3e-slider-disabled-inactive-track-opacity, 12%),\r\n transparent\r\n );\r\n }\r\n :host(:not([disabled])) .track-active {\r\n background-color: var(--m3e-slider-active-track-color, ${DesignToken.color.primary});\r\n }\r\n :host([disabled]) .track-active {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-slider-disabled-active-track-color, ${DesignToken.color.onSurface})\r\n var(--m3e-slider-disabled-active-track-opacity, 38%),\r\n transparent\r\n );\r\n }\r\n :host(:not([disabled])) .tick.active {\r\n background-color: var(--m3e-slider-tick-active-color, ${DesignToken.color.onPrimary});\r\n }\r\n :host([disabled]) .tick.active {\r\n background-color: var(--m3e-slider-disabled-tick-active-color, ${DesignToken.color.inverseOnSurface});\r\n }\r\n :host(:not([disabled])) .tick.inactive {\r\n background-color: var(--m3e-slider-tick-inactive-color, ${DesignToken.color.onSecondaryContainer});\r\n }\r\n :host([disabled]) .tick.inactive {\r\n background-color: var(--m3e-slider-disabled-tick-inactive-color, ${DesignToken.color.onSurface});\r\n }\r\n :host(:not([discrete])) .tick.active {\r\n display: none;\r\n }\r\n :host(:hover[labelled]) .base,\r\n :host(:focus-within[labelled]) .base {\r\n --_slider-label-visibility: visible;\r\n --_slider-label-opacity: 1;\r\n --_slider-label-transform: scale(1);\r\n }\r\n @media (forced-colors: active) {\r\n :host(:not([disabled])) .track-inactive {\r\n background-color: unset;\r\n }\r\n :host(:not([disabled])) .base.range .track-inactive.start,\r\n :host(:not([disabled])) .track-inactive.end {\r\n border: 1px solid CanvasText;\r\n box-sizing: border-box;\r\n }\r\n :host(:not([disabled])) .tick.inactive {\r\n background-color: CanvasText;\r\n }\r\n :host(:not([disabled])) .tick.active {\r\n background-color: Canvas;\r\n }\r\n :host(:not([disabled])) .track-active {\r\n background-color: CanvasText;\r\n }\r\n :host([disabled]) .base.range .track-inactive.start,\r\n :host([disabled]) .track-inactive.end {\r\n border: 1px solid GrayText;\r\n box-sizing: border-box;\r\n }\r\n :host([disabled]) .track-active {\r\n background-color: GrayText;\r\n }\r\n :host([disabled]) .tick.inactive {\r\n background-color: GrayText;\r\n }\r\n :host([disabled]) .tick.active {\r\n background-color: Canvas;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ #directionalitySubscription?: () => void;\r\n\r\n /** @private */\r\n @query(\".base\") private readonly _base?: HTMLElement;\r\n\r\n /** @private */\r\n @state() private _ticks = new Array<{ value: number; active: boolean }>();\r\n\r\n /** @private */ #thumbs = new Array<M3eSliderThumbElement>();\r\n /** @private */ #activeThumb?: M3eSliderThumbElement;\r\n /** @private */ #cachedWidth = 0;\r\n /** @private */ #cachedThumbWidth = 0;\r\n /** @private */ #cachedLeft = 0;\r\n\r\n constructor() {\r\n super();\r\n new ResizeController(this, { callback: () => this.#updateDimensions(true) });\r\n }\r\n\r\n /**\r\n * The size of the slider.\r\n * @default \"extra-small\"\r\n */\r\n @property({ reflect: true }) size: SliderSize = \"extra-small\";\r\n\r\n /**\r\n * Whether the element is disabled.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) disabled = false;\r\n\r\n /**\r\n * Whether to show tick marks.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) discrete = false;\r\n\r\n /**\r\n * The minimum allowable value.\r\n * @default 0\r\n */\r\n @property({ type: Number }) min = 0;\r\n\r\n /**\r\n * The maximum allowable value.\r\n * @default 100\r\n */\r\n @property({ type: Number }) max = 100;\r\n\r\n /**\r\n * The value at which the thumb will snap.\r\n * @default 1\r\n */\r\n @property({ type: Number }) step = 1;\r\n\r\n /**\r\n * Whether to show value labels when activated.\r\n * @default false\r\n */\r\n @property({ type: Boolean }) labelled = false;\r\n\r\n /** The function used to format display values. */\r\n @property({ attribute: false }) displayWith: ((value: number | null) => string) | null = null;\r\n\r\n /** The thumbs used to select values. */\r\n get thumbs(): readonly M3eSliderThumbElement[] {\r\n return this.#thumbs;\r\n }\r\n\r\n /** Whether the slider is a range slider. */\r\n get isRange(): boolean {\r\n return this.#thumbs.length > 1;\r\n }\r\n\r\n /** The thumb used to select a value. */\r\n get thumb(): M3eSliderThumbElement | null {\r\n return this.#thumbs[0] ?? null;\r\n }\r\n\r\n /** The thumb used to select the lower value of a range slider. */\r\n get lowerThumb(): M3eSliderThumbElement | null {\r\n return this.thumb;\r\n }\r\n\r\n /** The thumb used to select the upper value of a range slider. */\r\n get upperThumb(): M3eSliderThumbElement | null {\r\n return this.#thumbs[1] ?? null;\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.#directionalitySubscription = M3eDirectionality.observe(() => {\r\n this.#updateDimensions(true);\r\n this.requestUpdate();\r\n });\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this.#directionalitySubscription?.();\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues<this>): void {\r\n super.updated(_changedProperties);\r\n\r\n if (_changedProperties.has(\"disabled\")) {\r\n this.#thumbs.forEach((x) => (x.disabled = this.disabled));\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div\r\n class=\"base\"\r\n tabindex=\"${ifDefined(!this.disabled ? \"-1\" : undefined)}\"\r\n @pointerdown=\"${this.#handlePointerDown}\"\r\n @pointermove=\"${this.#handlePointerMove}\"\r\n @pointerup=\"${this.#handlePointerUp}\"\r\n @keydown=\"${this.#handleKeyDown}\"\r\n @value-change=\"${this.#handleThumbChange}\"\r\n >\r\n <div class=\"track\" aria-hidden=\"true\">\r\n <div class=\"track-inactive start\"></div>\r\n <div class=\"track-active\"></div>\r\n <div class=\"track-inactive end\"></div>\r\n </div>\r\n <div class=\"ticks\" aria-hidden=\"true\">${this._ticks.map((x) => this.#renderTick(x))}</div>\r\n <slot @slotchange=\"${this.#handleSlotChange}\"></slot>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderTick(tick: { value: number; active: boolean }) {\r\n return html`<div\r\n class=\"tick ${tick.active ? \"active\" : \"inactive\"}\"\r\n style=\"${safeStyleMap({\r\n transform: `translate(${M3eDirectionality.current === \"rtl\" ? -this.#pointFromValue(tick.value) : this.#pointFromValue(tick.value)}px, 0)`,\r\n })}\"\r\n ></div>`;\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(e: Event): void {\r\n this.#thumbs = (<HTMLSlotElement>e.target)\r\n .assignedElements({ flatten: true })\r\n .filter((x) => x instanceof M3eSliderThumbElement);\r\n\r\n if (this.#thumbs.length > 2) {\r\n this.#thumbs.length = 2;\r\n }\r\n if (this.isRange) {\r\n this._base?.style.setProperty(\"--_slider-active-track-middle-shape\", `0`);\r\n } else {\r\n this._base?.style.removeProperty(\"--_slider-active-track-middle-shape\");\r\n }\r\n\r\n this.#updateThumbs();\r\n }\r\n\r\n /** @private */\r\n #updateThumbs(): void {\r\n this.#thumbs.forEach((thumb, i) => {\r\n if (this.disabled) {\r\n thumb.disabled = true;\r\n }\r\n thumb.ariaValueMin = `${this.#thumbs[i - 1]?.value ?? this.min}`;\r\n thumb.ariaValueMax = `${this.#thumbs[i + 1]?.value ?? this.max}`;\r\n thumb.ariaValueNow = `${thumb.value ?? this.#thumbs[i - 1]?.value ?? this.min}`;\r\n });\r\n }\r\n\r\n /** @private */\r\n #pointFromValue(value: number): number {\r\n return (this.#cachedWidth - this.#cachedThumbWidth) * ((value - this.min) / (this.max - this.min));\r\n }\r\n\r\n /** @private */\r\n #valueFromPoint(e: PointerEvent): number {\r\n const pos =\r\n M3eDirectionality.current === \"rtl\"\r\n ? this.#cachedLeft + this.#cachedWidth - e.clientX\r\n : e.clientX - this.#cachedLeft;\r\n const step = this.step === 0 ? 1 : this.step;\r\n const numSteps = Math.floor((this.max - this.min) / step);\r\n const percentage = pos / this.#cachedWidth;\r\n const fixedPercentage = Math.round(percentage * numSteps) / numSteps;\r\n const impreciseValue = fixedPercentage * (this.max - this.min) + this.min;\r\n return Math.round(impreciseValue / step) * step;\r\n }\r\n\r\n /** @private */\r\n #updateCachedDimensions(force = false): void {\r\n if (!this.lowerThumb) return;\r\n this.#cachedWidth = !force && this.#cachedWidth > 0 ? this.#cachedWidth : this.clientWidth;\r\n this.#cachedThumbWidth =\r\n !force && this.#cachedThumbWidth > 0 ? this.#cachedThumbWidth : this.lowerThumb.clientWidth;\r\n this.#cachedLeft = !force && this.#cachedLeft > 0 ? this.#cachedLeft : this.getBoundingClientRect().left;\r\n }\r\n\r\n /** @private */\r\n #updateDimensions(force = false): void {\r\n this.#updateCachedDimensions(force);\r\n if (!this.lowerThumb) return;\r\n\r\n const lowerValue = this.lowerThumb.value ?? this.min;\r\n const lowerPos = this.#pointFromValue(lowerValue);\r\n this.lowerThumb.style.transform = `translate(${M3eDirectionality.current === \"rtl\" ? -lowerPos : lowerPos}px, 0)`;\r\n\r\n if (!this.upperThumb) {\r\n this._base?.classList.toggle(\"range\", false);\r\n this._base?.style.setProperty(\"--_slider-active-track-size\", `${lowerPos}px`);\r\n this._base?.style.setProperty(\"--_slider-inactive-track-after-offset\", `${lowerPos + this.#cachedThumbWidth}px`);\r\n this._base?.style.setProperty(\r\n \"--_slider-inactive-track-after-size\",\r\n `${this.#cachedWidth - lowerPos - this.#cachedThumbWidth}px`,\r\n );\r\n\r\n this.#updateTicks((i) => i < lowerValue);\r\n } else {\r\n const upperValue = this.upperThumb.value ?? lowerValue;\r\n const upperPos = this.#pointFromValue(upperValue);\r\n this.upperThumb.style.transform = `translate(${M3eDirectionality.current === \"rtl\" ? -upperPos : upperPos}px, 0)`;\r\n\r\n this._base?.classList.toggle(\"range\", true);\r\n this._base?.style.setProperty(\"--_slider-inactive-track-before-size\", `${lowerPos}px`);\r\n this._base?.style.setProperty(\"--_slider-active-track-offset\", `${lowerPos + this.#cachedThumbWidth}px`);\r\n this._base?.style.setProperty(\"--_slider-active-track-size\", `${upperPos - lowerPos - this.#cachedThumbWidth}px`);\r\n this._base?.style.setProperty(\"--_slider-inactive-track-after-offset\", `${upperPos + this.#cachedThumbWidth}px`);\r\n this._base?.style.setProperty(\r\n \"--_slider-inactive-track-after-size\",\r\n `${this.#cachedWidth - this.#cachedThumbWidth - upperPos}px`,\r\n );\r\n\r\n this.#updateTicks((i) => i > lowerValue && i < upperValue);\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateTicks(active: (value: number) => boolean): void {\r\n this._ticks = [];\r\n if (this.discrete && this.step > 1) {\r\n for (let i = this.min; i <= this.max; i += this.step) {\r\n this._ticks.push({ value: i, active: active(i) });\r\n }\r\n } else {\r\n this._ticks.push({ value: this.min, active: active(this.min) });\r\n if (this.min < 0 && this.max > 0) {\r\n this._ticks.push({ value: 0, active: active(0) });\r\n }\r\n this._ticks.push({ value: this.max, active: active(this.max) });\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerDown(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (!this.lowerThumb || this.disabled) return;\r\n\r\n if (e.target instanceof HTMLElement) {\r\n e.target.setPointerCapture(e.pointerId);\r\n }\r\n\r\n this.#activeThumb = e.composedPath().find((x) => x instanceof M3eSliderThumbElement) as\r\n | M3eSliderThumbElement\r\n | undefined;\r\n\r\n if (this.#activeThumb) {\r\n return;\r\n }\r\n\r\n const value = this.#valueFromPoint(e);\r\n\r\n if (!this.upperThumb) {\r\n if (!this.lowerThumb.disabled) {\r\n this.#changeThumb(this.lowerThumb, value, true);\r\n this.#activeThumb = this.lowerThumb;\r\n }\r\n } else {\r\n const lowerValue = this.lowerThumb.value ?? this.min;\r\n const upperValue = this.upperThumb.value ?? lowerValue;\r\n\r\n if (value < lowerValue) {\r\n if (!this.lowerThumb.disabled) {\r\n this.#changeThumb(this.lowerThumb, value, true);\r\n this.#activeThumb = this.lowerThumb;\r\n }\r\n } else if (value > upperValue) {\r\n if (!this.upperThumb.disabled) {\r\n this.#changeThumb(this.upperThumb, value, true);\r\n this.#activeThumb = this.upperThumb;\r\n }\r\n } else {\r\n const mid = (lowerValue + upperValue) / 2;\r\n if (value < mid && !this.lowerThumb.disabled) {\r\n this.#changeThumb(this.lowerThumb, value, true);\r\n this.#activeThumb = this.lowerThumb;\r\n } else if (!this.upperThumb.disabled) {\r\n this.#changeThumb(this.upperThumb, value, true);\r\n this.#activeThumb = this.upperThumb;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerMove(e: PointerEvent): void {\r\n if (\r\n !(e.target instanceof HTMLElement) ||\r\n !e.target.hasPointerCapture(e.pointerId) ||\r\n !this.#activeThumb ||\r\n this.#activeThumb.disabled\r\n ) {\r\n return;\r\n }\r\n\r\n const value = this.#valueFromPoint(e);\r\n let min = this.min;\r\n let max = this.max;\r\n\r\n if (this.#activeThumb === this.upperThumb) {\r\n min = Math.max(min, this.lowerThumb?.value ?? 0);\r\n } else if (this.upperThumb) {\r\n max = Math.min(max, this.upperThumb.value ?? this.max);\r\n }\r\n\r\n if (hasCustomState(this, \"-animating\")) {\r\n deleteCustomState(this, \"-animating\");\r\n this.#activeThumb.style.transition = \"\";\r\n }\r\n\r\n this.#changeThumb(this.#activeThumb, Math.min(max, Math.max(min, value)));\r\n }\r\n\r\n /** @private */\r\n #handlePointerUp(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (!this.lowerThumb || this.disabled) return;\r\n\r\n if (e.target instanceof HTMLElement) {\r\n e.target.releasePointerCapture(e.pointerId);\r\n }\r\n\r\n if (this.#activeThumb && !this.#activeThumb.disabled) {\r\n this.#activeThumb.focus();\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n this.#activeThumb = e.composedPath().find((x) => x instanceof M3eSliderThumbElement) as\r\n | M3eSliderThumbElement\r\n | undefined;\r\n\r\n if (!this.#activeThumb) return;\r\n\r\n const value = this.#activeThumb.value ?? 0;\r\n\r\n let min = this.min;\r\n let max = this.max;\r\n\r\n if (this.#activeThumb === this.upperThumb) {\r\n min = Math.max(min, this.lowerThumb?.value ?? 0);\r\n } else if (this.upperThumb) {\r\n max = Math.max(max, this.upperThumb.value ?? this.max);\r\n }\r\n\r\n switch (e.key) {\r\n case \"Home\":\r\n this.#changeThumb(this.#activeThumb, min);\r\n e.preventDefault();\r\n break;\r\n\r\n case \"End\":\r\n this.#changeThumb(this.#activeThumb, max);\r\n e.preventDefault();\r\n break;\r\n\r\n case \"PageUp\":\r\n if (M3eDirectionality.current === \"ltr\") {\r\n this.#changeThumb(this.#activeThumb, Math.min(max, value + (this.step > 1 ? this.step : 10)));\r\n } else {\r\n this.#changeThumb(this.#activeThumb, Math.max(min, value - (this.step > 1 ? this.step : 10)));\r\n }\r\n\r\n e.preventDefault();\r\n break;\r\n\r\n case \"PageDown\":\r\n if (M3eDirectionality.current === \"ltr\") {\r\n this.#changeThumb(this.#activeThumb, Math.max(min, value - (this.step > 1 ? this.step : 10)));\r\n } else {\r\n this.#changeThumb(this.#activeThumb, Math.min(max, value + (this.step > 1 ? this.step : 10)));\r\n }\r\n e.preventDefault();\r\n break;\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n case \"Left\":\r\n case \"ArrowLeft\":\r\n if (M3eDirectionality.current === \"ltr\") {\r\n this.#changeThumb(this.#activeThumb, Math.max(min, value - this.step));\r\n } else {\r\n this.#changeThumb(this.#activeThumb, Math.min(max, value + this.step));\r\n }\r\n\r\n e.preventDefault();\r\n\r\n break;\r\n\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n case \"Right\":\r\n case \"ArrowRight\":\r\n if (M3eDirectionality.current === \"ltr\") {\r\n this.#changeThumb(this.#activeThumb, Math.min(max, value + this.step));\r\n } else {\r\n this.#changeThumb(this.#activeThumb, Math.max(min, value - this.step));\r\n }\r\n\r\n e.preventDefault();\r\n break;\r\n\r\n case \" \":\r\n e.preventDefault();\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleThumbChange(e: Event): void {\r\n e.stopPropagation();\r\n this.#updateThumbs();\r\n this.#updateDimensions();\r\n }\r\n\r\n /** @private */\r\n #changeThumb(thumb: M3eSliderThumbElement, value: number, animate = false): void {\r\n if (thumb.value === value) return;\r\n const prev = thumb.value;\r\n if (animate && !prefersReducedMotion()) {\r\n addCustomState(this, \"-animating\");\r\n thumb.addEventListener(\r\n \"transitionend\",\r\n () => {\r\n thumb.style.transition = \"\";\r\n deleteCustomState(this, \"-animating\");\r\n },\r\n { once: true },\r\n );\r\n thumb.style.transition = `transform ${DesignToken.motion.spring.fastEffects}`;\r\n }\r\n thumb.value = value;\r\n thumb.markAsDirty();\r\n thumb.markAsTouched();\r\n if (thumb.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n thumb.dispatchEvent(new Event(\"change\", { bubbles: true, composed: true }));\r\n } else {\r\n thumb.value = prev;\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-slider\": M3eSliderElement;\r\n }\r\n}\r\n"],"names":["__decorate","decorators","target","key","desc","c","arguments","length","r","Object","getOwnPropertyDescriptor","d","Reflect","decorate","i","defineProperty","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","__classPrivateFieldSet","set","SuppressedError","error","suppressed","message","e","Error","name","M3eSliderThumbElement","Dirty","Touched","FormAssociated","Focusable","Disabled","AttachInternals","Role","LitElement","constructor","_M3eSliderThumbElement_instances","WeakSet","formValue","toString","focus","options","_focusRing","disabled","firstUpdated","_changedProperties","attach","update","changedProperties","dispatchEvent","Event","bubbles","render","html","_M3eSliderThumbElement_labelText_get","closest","displayWith","styles","css","DesignToken","shape","corner","full","unsafeCSS","motion","duration","short3","easing","standard","color","inverseSurface","inverseOnSurface","typescale","label","medium","fontSize","fontWeight","lineHeight","tracking","short2","primary","onSurface","query","prototype","property","type","Number","reflect","element","M3eSliderElement","_M3eSliderElement_directionalitySubscription","_ticks","Array","_M3eSliderElement_thumbs","_M3eSliderElement_activeThumb","_M3eSliderElement_cachedWidth","_M3eSliderElement_cachedThumbWidth","_M3eSliderElement_cachedLeft","size","discrete","min","max","step","labelled","ResizeController","callback","_M3eSliderElement_instances","_M3eSliderElement_updateDimensions","thumbs","isRange","thumb","lowerThumb","upperThumb","connectedCallback","M3eDirectionality","observe","requestUpdate","disconnectedCallback","updated","forEach","x","ifDefined","undefined","_M3eSliderElement_handlePointerDown","_M3eSliderElement_handlePointerMove","_M3eSliderElement_handlePointerUp","_M3eSliderElement_handleKeyDown","_M3eSliderElement_handleThumbChange","map","_M3eSliderElement_renderTick","_M3eSliderElement_handleSlotChange","tick","active","safeStyleMap","transform","current","_M3eSliderElement_pointFromValue","assignedElements","flatten","filter","_base","style","setProperty","removeProperty","_M3eSliderElement_updateThumbs","ariaValueMin","ariaValueMax","ariaValueNow","pos","clientX","numSteps","Math","floor","percentage","fixedPercentage","round","impreciseValue","_M3eSliderElement_updateCachedDimensions","force","clientWidth","getBoundingClientRect","left","lowerValue","lowerPos","classList","toggle","_M3eSliderElement_updateTicks","upperValue","upperPos","push","pointerType","button","HTMLElement","setPointerCapture","pointerId","composedPath","find","_M3eSliderElement_valueFromPoint","_M3eSliderElement_changeThumb","mid","hasPointerCapture","hasCustomState","deleteCustomState","transition","releasePointerCapture","preventDefault","stopPropagation","animate","prev","prefersReducedMotion","addCustomState","addEventListener","once","spring","fastEffects","markAsDirty","markAsTouched","composed","cancelable","smallStart","smallEnd","mediumStart","mediumEnd","largeStart","largeEnd","extraLargeStart","extraLargeEnd","secondaryContainer","onPrimary","onSecondaryContainer","Boolean","attribute"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"slider.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../src/slider/SliderThumbElement.ts","../../src/slider/SliderElement.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","import { css, CSSResultGroup, html, LitElement, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n AttachInternals,\r\n customElement,\r\n DesignToken,\r\n Dirty,\r\n Disabled,\r\n Focusable,\r\n FormAssociated,\r\n formValue,\r\n M3eFocusRingElement,\r\n Role,\r\n Touched,\r\n} from \"@m3e/web/core\";\r\n\r\n/**\r\n * A thumb used to select a value in a slider.\r\n *\r\n * @description\r\n * The `m3e-slider-thumb` component is used within a `m3e-slider` to represent and select a specific value.\r\n * This component supports continuous and discrete input, form association, and accessibility semantics.\r\n * It emits `input` and `change` events to reflect value updates.\r\n *\r\n * @example\r\n * The following example illustrates a labelled slider with thumb used to select a single numeric value.\r\n * ```html\r\n * <m3e-slider labelled>\r\n * <m3e-slider-thumb value=\"50\"></m3e-slider-thumb>\r\n * </m3e-slider>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates a labelled range slider with two thumbs used to select a minimum and maximum numeric value.\r\n * ```html\r\n * <m3e-slider labelled>\r\n * <m3e-slider-thumb value=\"25\"></m3e-slider-thumb>\r\n * <m3e-slider-thumb value=\"75\"></m3e-slider-thumb>\r\n * </m3e-slider>\r\n * ```\r\n *\r\n * @tag m3e-slider-thumb\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr name - The name that identifies the element when submitting the associated form.\r\n * @attr value - The value of the thumb.\r\n *\r\n * @fires input - Emitted when the value changes.\r\n * @fires change - Emitted when the value changes.\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-slider-thumb-width - Width of the slider thumb.\r\n * @cssprop --m3e-slider-thumb-padding - Horizontal padding around the thumb.\r\n * @cssprop --m3e-slider-thumb-color - Active color of the slider thumb when enabled.\r\n * @cssprop --m3e-slider-thumb-pressed-width - Width of the thumb when pressed.\r\n * @cssprop --m3e-slider-thumb-disabled-color - Color of the thumb when disabled.\r\n * @cssprop --m3e-slider-thumb-disabled-opacity - Opacity of the thumb when disabled.\r\n * @cssprop --m3e-slider-label-width - Width of the floating label above the thumb.\r\n * @cssprop --m3e-slider-label-container-color - Background color of the label container.\r\n * @cssprop --m3e-slider-label-color - Text color of the label.\r\n * @cssprop --m3e-slider-label-font-size - Font size of the label text.\r\n * @cssprop --m3e-slider-label-font-weight - Font weight of the label text.\r\n * @cssprop --m3e-slider-label-line-height - Line height of the label text.\r\n * @cssprop --m3e-slider-label-tracking - Letter spacing of the label text.\r\n */\r\n@customElement(\"m3e-slider-thumb\")\r\nexport class M3eSliderThumbElement extends Dirty(\r\n Touched(FormAssociated(Focusable(Disabled(AttachInternals(Role(LitElement, \"slider\")))))),\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 box-sizing: border-box;\r\n position: absolute;\r\n outline: none;\r\n top: 0;\r\n bottom: 0;\r\n border-radius: var(--m3e-slider-thumb-shape, ${DesignToken.shape.corner.full});\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n .base {\r\n box-sizing: border-box;\r\n vertical-align: middle;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n border-radius: inherit;\r\n }\r\n .touch {\r\n position: absolute;\r\n height: 3rem;\r\n left: 0;\r\n right: 0;\r\n touch-action: none;\r\n }\r\n .wrapper {\r\n display: inline-flex;\r\n justify-content: center;\r\n height: 100%;\r\n border-radius: inherit;\r\n width: calc(var(--m3e-slider-thumb-width, 0.25rem) + calc(var(--m3e-slider-thumb-padding, 0.375em) * 2));\r\n }\r\n .focus-ring {\r\n top: calc(0px - var(--m3e-focus-ring-thickness, 3px));\r\n bottom: calc(0px - var(--m3e-focus-ring-thickness, 3px));\r\n left: var(--m3e-focus-ring-thickness, 3px);\r\n right: var(--m3e-focus-ring-thickness, 3px);\r\n }\r\n .label {\r\n user-select: none;\r\n position: absolute;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n visibility: var(--_slider-label-visibility, hidden);\r\n opacity: var(--_slider-label-opacity, 0);\r\n transform: var(--_slider-label-transform, scale(0));\r\n transition: ${unsafeCSS(\r\n `opacity ${DesignToken.motion.duration.short3} ${DesignToken.motion.easing.standard}, \r\n transform ${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 width: var(--m3e-slider-label-width, 3rem);\r\n height: var(--_m3e-slider-label-height, 2.75rem);\r\n top: calc(0px - var(--_m3e-slider-label-height, 2.75rem) - var(--_m3e-slider-label-margin, 0.25rem));\r\n inset-inline-start: calc(0px - 100%);\r\n border-radius: var(--m3e-slider-label-shape, ${DesignToken.shape.corner.full});\r\n background-color: var(--m3e-slider-label-container-color, ${DesignToken.color.inverseSurface});\r\n color: var(--m3e-slider-label-color, ${DesignToken.color.inverseOnSurface});\r\n font-size: var(--m3e-slider-label-font-size, ${DesignToken.typescale.standard.label.medium.fontSize});\r\n font-weight: var(--m3e-slider-label-font-weight, ${DesignToken.typescale.standard.label.medium.fontWeight});\r\n line-height: var(--m3e-slider-label-line-height, ${DesignToken.typescale.standard.label.medium.lineHeight});\r\n letter-spacing: var(--m3e-slider-label-tracking, ${DesignToken.typescale.standard.label.medium.tracking});\r\n }\r\n @starting-style {\r\n .label {\r\n opacity: 0;\r\n transform: scale(0);\r\n }\r\n }\r\n .handle {\r\n height: 100%;\r\n width: var(--m3e-slider-thumb-width, 0.25rem);\r\n border-radius: inherit;\r\n transition: ${unsafeCSS(`width ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard}`)};\r\n }\r\n :host(:active:not([aria-disabled=\"true\"])) .handle {\r\n width: var(--m3e-slider-thumb-pressed-width, 2px);\r\n }\r\n :host(:not([aria-disabled=\"true\"])) .handle {\r\n background-color: var(--m3e-slider-thumb-color, ${DesignToken.color.primary});\r\n }\r\n :host([aria-disabled=\"true\"]) .handle {\r\n opacity: var(--m3e-slider-thumb-disabled-opacity, 38%);\r\n background-color: var(--m3e-slider-thumb-disabled-color, ${DesignToken.color.onSurface});\r\n }\r\n @media (prefers-reduced-motion) {\r\n .label {\r\n transition: none;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n .label {\r\n forced-color-adjust: none;\r\n background-color: CanvasText;\r\n color: Canvas;\r\n }\r\n :host(:not([aria-disabled=\"true\"])) .handle {\r\n background-color: CanvasText;\r\n }\r\n :host([aria-disabled=\"true\"]) .handle {\r\n opacity: unset;\r\n background-color: GrayText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @query(\".focus-ring\")\r\n private readonly _focusRing?: M3eFocusRingElement;\r\n\r\n /**\r\n * The value of the thumb.\r\n * @default null\r\n */\r\n @property({ type: Number, reflect: true }) value: number | null = null;\r\n\r\n /** @inheritdoc */\r\n override get [formValue](): string | File | FormData | null {\r\n return this.value?.toString() ?? null;\r\n }\r\n\r\n /** @internal */\r\n get #labelText(): string {\r\n return this.closest(\"m3e-slider\")?.displayWith?.(this.value) ?? this.value?.toString() ?? \"\";\r\n }\r\n\r\n /** @inheritdoc */\r\n override focus(options?: FocusOptions): void {\r\n if (this._focusRing) {\r\n this._focusRing.disabled = true;\r\n }\r\n\r\n super.focus(options);\r\n\r\n if (this._focusRing) {\r\n this._focusRing.disabled = this.disabled;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n this._focusRing?.attach(this);\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(\"value\")) {\r\n this.dispatchEvent(new Event(\"value-change\", { bubbles: true }));\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"label\" aria-hidden=\"true\">${this.#labelText}</div>\r\n <div class=\"base\">\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${this.disabled}\"></m3e-focus-ring>\r\n <div class=\"touch\" aria-hidden=\"true\"></div>\r\n <div class=\"wrapper\">\r\n <div class=\"handle\"></div>\r\n </div>\r\n </div>`;\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-slider-thumb\": M3eSliderThumbElement;\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, LitElement, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { property, query, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nimport {\r\n addCustomState,\r\n AttachInternals,\r\n customElement,\r\n deleteCustomState,\r\n DesignToken,\r\n hasCustomState,\r\n prefersReducedMotion,\r\n ResizeController,\r\n safeStyleMap,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { M3eDirectionality } from \"@m3e/web/core/bidi\";\r\n\r\nimport { M3eSliderThumbElement } from \"./SliderThumbElement\";\r\nimport { SliderSize } from \"./SliderSize\";\r\n\r\n/**\r\n * Allows for the selection of numeric values from a range.\r\n *\r\n * @description\r\n * The `m3e-slider` component enables users to select a numeric value from a continuous or discrete range.\r\n * Designed according to Material 3 principles, it supports labeled value indicators, tick marks, and\r\n * snapping behavior.\r\n *\r\n * @example\r\n * The following example illustrates a labelled slider with thumb used to select a single numeric value.\r\n * ```html\r\n * <m3e-slider labelled>\r\n * <m3e-slider-thumb value=\"50\"></m3e-slider-thumb>\r\n * </m3e-slider>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates a labelled range slider with two thumbs used to select a minimum and maximum numeric value.\r\n * ```html\r\n * <m3e-slider labelled>\r\n * <m3e-slider-thumb value=\"25\"></m3e-slider-thumb>\r\n * <m3e-slider-thumb value=\"75\"></m3e-slider-thumb>\r\n * </m3e-slider>\r\n * ```\r\n *\r\n * @tag m3e-slider\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr discrete - Whether to show tick marks.\r\n * @attr labelled - Whether to show value labels when activated.\r\n * @attr max - The maximum allowable value.\r\n * @attr min - The minimum allowable value.\r\n * @attr step - The value at which the thumb will snap.\r\n * @attr size - The size of the slider.\r\n *\r\n * @cssprop --m3e-slider-min-width - Minimum inline size of the slider host.\r\n * @cssprop --m3e-slider-small-height - Height of the slider when size is small or extra-small.\r\n * @cssprop --m3e-slider-medium-height - Height of the slider when size is medium.\r\n * @cssprop --m3e-slider-large-height - Height of the slider when size is large.\r\n * @cssprop --m3e-slider-extra-large-height - Height of the slider when size is extra-large.\r\n * @cssprop --m3e-slider-small-active-track-shape - Corner shape of the active track for small sliders.\r\n * @cssprop --m3e-slider-small-inactive-active-track-start-shape - Corner shape of the inactive track start for small sliders.\r\n * @cssprop --m3e-slider-small-inactive-track-end-shape - Corner shape of the inactive track end for small sliders.\r\n * @cssprop --m3e-slider-medium-active-track-shape - Corner shape of the active track for medium sliders.\r\n * @cssprop --m3e-slider-medium-inactive-active-track-start-shape - Corner shape of the inactive track start for medium sliders.\r\n * @cssprop --m3e-slider-medium-inactive-track-end-shape - Corner shape of the inactive track end for medium sliders.\r\n * @cssprop --m3e-slider-large-active-track-shape - Corner shape of the active track for large sliders.\r\n * @cssprop --m3e-slider-large-inactive-active-track-start-shape - Corner shape of the inactive track start for large sliders.\r\n * @cssprop --m3e-slider-large-inactive-track-end-shape - Corner shape of the inactive track end for large sliders.\r\n * @cssprop --m3e-slider-extra-large-active-track-shape - Corner shape of the active track for extra-large sliders.\r\n * @cssprop --m3e-slider-extra-large-inactive-active-track-start-shape - Corner shape of the inactive track start for extra-large sliders.\r\n * @cssprop --m3e-slider-extra-large-inactive-track-end-shape - Corner shape of the inactive track end for extra-large sliders.\r\n * @cssprop --m3e-slider-extra-small-track-height - Height of the track for extra-small sliders.\r\n * @cssprop --m3e-slider-small-track-height - Height of the track for small sliders.\r\n * @cssprop --m3e-slider-medium-track-height - Height of the track for medium sliders.\r\n * @cssprop --m3e-slider-large-track-height - Height of the track for large sliders.\r\n * @cssprop --m3e-slider-extra-large-track-height - Height of the track for extra-large sliders.\r\n * @cssprop --m3e-slider-tick-size - Size of each tick mark.\r\n * @cssprop --m3e-slider-tick-shape - Corner shape of each tick mark.\r\n * @cssprop --m3e-slider-inactive-track-color - Background color of the inactive track when enabled.\r\n * @cssprop --m3e-slider-disabled-inactive-track-color - Base color of the inactive track when disabled.\r\n * @cssprop --m3e-slider-disabled-inactive-track-opacity - Opacity of the inactive track when disabled.\r\n * @cssprop --m3e-slider-active-track-color - Background color of the active track when enabled.\r\n * @cssprop --m3e-slider-disabled-active-track-color - Base color of the active track when disabled.\r\n * @cssprop --m3e-slider-disabled-active-track-opacity - Opacity of the active track when disabled.\r\n * @cssprop --m3e-slider-tick-active-color - Color of active ticks when enabled.\r\n * @cssprop --m3e-slider-disabled-tick-active-color - Color of active ticks when disabled.\r\n * @cssprop --m3e-slider-tick-inactive-color - Color of inactive ticks when enabled.\r\n * @cssprop --m3e-slider-disabled-tick-inactive-color - Color of inactive ticks when disabled.\r\n */\r\n@customElement(\"m3e-slider\")\r\nexport class M3eSliderElement extends AttachInternals(LitElement) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: inline-block;\r\n vertical-align: middle;\r\n min-inline-size: var(--m3e-slider-min-width, 12.5rem);\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host(:not([disabled])) {\r\n cursor: pointer;\r\n }\r\n :host([size=\"extra-small\"]),\r\n :host([size=\"small\"]) {\r\n height: var(--m3e-slider-small-height, 2.75rem);\r\n }\r\n :host(:not(:dir(rtl))[size=\"extra-small\"]) .base,\r\n :host(:not(:dir(rtl))[size=\"small\"]) .base {\r\n --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${DesignToken.shape.corner.smallStart});\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-small-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.smallStart}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-small-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.smallEnd}\r\n );\r\n }\r\n :host(:dir(rtl)[size=\"extra-small\"]) .base,\r\n :host(:dir(rtl)[size=\"small\"]) .base {\r\n --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${DesignToken.shape.corner.smallEnd});\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-small-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.smallEnd}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-small-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.smallStart}\r\n );\r\n }\r\n :host([size=\"extra-small\"]) .track {\r\n height: calc(var(--m3e-slider-extra-small-track-height, 1rem));\r\n }\r\n :host([size=\"small\"]) .track {\r\n height: calc(var(--m3e-slider-small-track-height, 1.5rem));\r\n }\r\n :host([size=\"medium\"]) {\r\n height: var(--m3e-slider-medium-height, 3.25rem);\r\n }\r\n :host(:not(:dir(rtl))[size=\"medium\"]) .base {\r\n --_slider-active-track-shape: var(\r\n --m3e-slider-medium-active-track-shape,\r\n ${DesignToken.shape.corner.mediumStart}\r\n );\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-medium-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.mediumStart}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-medium-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.mediumEnd}\r\n );\r\n }\r\n :host(:dir(rtl)[size=\"medium\"]) .base {\r\n --_slider-active-track-shape: var(--m3e-slider-medium-active-track-shape, ${DesignToken.shape.corner.mediumEnd});\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-medium-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.mediumEnd}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-medium-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.mediumStart}\r\n );\r\n }\r\n :host([size=\"medium\"]) .track {\r\n height: var(--m3e-slider-medium-track-height, 2.5rem);\r\n }\r\n :host([size=\"large\"]) {\r\n height: var(--m3e-slider-large-height, 4.25rem);\r\n }\r\n :host(:not(:dir(rtl))[size=\"large\"]) .base {\r\n --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${DesignToken.shape.corner.largeStart});\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-large-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.largeStart}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-large-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.largeEnd}\r\n );\r\n }\r\n :host(:dir(rtl)[size=\"large\"]) .base {\r\n --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${DesignToken.shape.corner.largeEnd});\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-large-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.largeEnd}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-large-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.largeStart}\r\n );\r\n }\r\n :host([size=\"large\"]) .track {\r\n height: var(--m3e-slider-large-track-height, 3.5rem);\r\n }\r\n :host([size=\"extra-large\"]) {\r\n height: var(--m3e-slider-extra-large-height, 6.75rem);\r\n }\r\n :host(:not(:dir(rtl))[size=\"extra-large\"]) .base {\r\n --_slider-active-track-shape: var(\r\n --m3e-slider-extra-large-active-track-shape,\r\n ${DesignToken.shape.corner.extraLargeStart}\r\n );\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-extra-large-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.extraLargeStart}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-extra-large-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.extraLargeEnd}\r\n );\r\n }\r\n :host(:dir(rtl)[size=\"extra-large\"]) .base {\r\n --_slider-active-track-shape: var(\r\n --m3e-slider-extra-large-active-track-shape,\r\n ${DesignToken.shape.corner.extraLargeEnd}\r\n );\r\n --_slider-inactive-track-start-shape: var(\r\n --m3e-slider-extra-large-inactive-active-track-start-shape,\r\n ${DesignToken.shape.corner.extraLargeEnd}\r\n );\r\n --_slider-inactive-track-end-shape: var(\r\n --m3e-slider-extra-large-inactive-track-end-shape,\r\n ${DesignToken.shape.corner.extraLargeStart}\r\n );\r\n }\r\n :host([size=\"extra-large\"]) .track {\r\n height: var(--m3e-slider-extra-large-track-height, 6rem);\r\n }\r\n :host(:state(-animating)) .track-active,\r\n :host(:state(-animating)) .track-inactive.start,\r\n :host(:state(-animating)) .track-inactive.end {\r\n transition: ${unsafeCSS(`margin-inline-start ${DesignToken.motion.spring.fastEffects},\r\n width ${DesignToken.motion.spring.fastEffects}`)};\r\n }\r\n .base {\r\n display: inline-flex;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n border-radius: inherit;\r\n outline: none;\r\n touch-action: none;\r\n }\r\n .track {\r\n position: relative;\r\n flex: 1 1 auto;\r\n touch-action: none;\r\n }\r\n .track-inactive,\r\n .track-active {\r\n position: absolute;\r\n height: 100%;\r\n touch-action: none;\r\n }\r\n .track-active {\r\n margin-inline-start: var(--_slider-active-track-offset, 0px);\r\n width: var(--_slider-active-track-size, 0px);\r\n border-radius: var(--_slider-active-track-middle-shape, var(--_slider-active-track-shape));\r\n }\r\n .track-inactive.start {\r\n width: var(--_slider-inactive-track-before-size, 0px);\r\n border-radius: var(--_slider-inactive-track-start-shape);\r\n }\r\n .track-inactive.end {\r\n margin-inline-start: var(--_slider-inactive-track-after-offset, 0px);\r\n width: var(--_slider-inactive-track-after-size, 0px);\r\n border-radius: var(--_slider-inactive-track-end-shape);\r\n }\r\n .ticks {\r\n position: absolute;\r\n width: 100%;\r\n height: var(--m3e-slider-tick-size, 0.25rem);\r\n overflow: visible;\r\n touch-action: none;\r\n }\r\n .tick {\r\n position: absolute;\r\n top: 0;\r\n touch-action: none;\r\n inset-inline-start: calc(var(--m3e-slider-tick-size, 0.25rem) + calc(var(--m3e-slider-tick-size, 0.25rem) / 2));\r\n width: var(--m3e-slider-tick-size, 0.25rem);\r\n height: var(--m3e-slider-tick-size, 0.25rem);\r\n border-radius: var(--m3e-slider-tick-shape, ${DesignToken.shape.corner.full});\r\n }\r\n :host(:not([disabled])) .track-inactive {\r\n background-color: var(--m3e-slider-inactive-track-color, ${DesignToken.color.secondaryContainer});\r\n }\r\n :host([disabled]) .track-inactive {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-slider-disabled-inactive-track-color, ${DesignToken.color.onSurface})\r\n var(--m3e-slider-disabled-inactive-track-opacity, 12%),\r\n transparent\r\n );\r\n }\r\n :host(:not([disabled])) .track-active {\r\n background-color: var(--m3e-slider-active-track-color, ${DesignToken.color.primary});\r\n }\r\n :host([disabled]) .track-active {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-slider-disabled-active-track-color, ${DesignToken.color.onSurface})\r\n var(--m3e-slider-disabled-active-track-opacity, 38%),\r\n transparent\r\n );\r\n }\r\n :host(:not([disabled])) .tick.active {\r\n background-color: var(--m3e-slider-tick-active-color, ${DesignToken.color.onPrimary});\r\n }\r\n :host([disabled]) .tick.active {\r\n background-color: var(--m3e-slider-disabled-tick-active-color, ${DesignToken.color.inverseOnSurface});\r\n }\r\n :host(:not([disabled])) .tick.inactive {\r\n background-color: var(--m3e-slider-tick-inactive-color, ${DesignToken.color.onSecondaryContainer});\r\n }\r\n :host([disabled]) .tick.inactive {\r\n background-color: var(--m3e-slider-disabled-tick-inactive-color, ${DesignToken.color.onSurface});\r\n }\r\n :host(:not([discrete])) .tick.active {\r\n display: none;\r\n }\r\n :host(:hover[labelled]) .base,\r\n :host(:focus-within[labelled]) .base {\r\n --_slider-label-visibility: visible;\r\n --_slider-label-opacity: 1;\r\n --_slider-label-transform: scale(1);\r\n }\r\n @media (forced-colors: active) {\r\n :host(:not([disabled])) .track-inactive {\r\n background-color: unset;\r\n }\r\n :host(:not([disabled])) .base.range .track-inactive.start,\r\n :host(:not([disabled])) .track-inactive.end {\r\n border: 1px solid CanvasText;\r\n box-sizing: border-box;\r\n }\r\n :host(:not([disabled])) .tick.inactive {\r\n background-color: CanvasText;\r\n }\r\n :host(:not([disabled])) .tick.active {\r\n background-color: Canvas;\r\n }\r\n :host(:not([disabled])) .track-active {\r\n background-color: CanvasText;\r\n }\r\n :host([disabled]) .base.range .track-inactive.start,\r\n :host([disabled]) .track-inactive.end {\r\n border: 1px solid GrayText;\r\n box-sizing: border-box;\r\n }\r\n :host([disabled]) .track-active {\r\n background-color: GrayText;\r\n }\r\n :host([disabled]) .tick.inactive {\r\n background-color: GrayText;\r\n }\r\n :host([disabled]) .tick.active {\r\n background-color: Canvas;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ #directionalitySubscription?: () => void;\r\n\r\n /** @private */\r\n @query(\".base\") private readonly _base?: HTMLElement;\r\n\r\n /** @private */\r\n @state() private _ticks = new Array<{ value: number; active: boolean }>();\r\n\r\n /** @private */ #thumbs = new Array<M3eSliderThumbElement>();\r\n /** @private */ #activeThumb?: M3eSliderThumbElement;\r\n /** @private */ #cachedWidth = 0;\r\n /** @private */ #cachedThumbWidth = 0;\r\n /** @private */ #cachedLeft = 0;\r\n\r\n constructor() {\r\n super();\r\n new ResizeController(this, { callback: () => this.#updateDimensions(true) });\r\n }\r\n\r\n /**\r\n * The size of the slider.\r\n * @default \"extra-small\"\r\n */\r\n @property({ reflect: true }) size: SliderSize = \"extra-small\";\r\n\r\n /**\r\n * Whether the element is disabled.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) disabled = false;\r\n\r\n /**\r\n * Whether to show tick marks.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) discrete = false;\r\n\r\n /**\r\n * The minimum allowable value.\r\n * @default 0\r\n */\r\n @property({ type: Number }) min = 0;\r\n\r\n /**\r\n * The maximum allowable value.\r\n * @default 100\r\n */\r\n @property({ type: Number }) max = 100;\r\n\r\n /**\r\n * The value at which the thumb will snap.\r\n * @default 1\r\n */\r\n @property({ type: Number }) step = 1;\r\n\r\n /**\r\n * Whether to show value labels when activated.\r\n * @default false\r\n */\r\n @property({ type: Boolean }) labelled = false;\r\n\r\n /** The function used to format display values. */\r\n @property({ attribute: false }) displayWith: ((value: number | null) => string) | null = null;\r\n\r\n /** The thumbs used to select values. */\r\n get thumbs(): readonly M3eSliderThumbElement[] {\r\n return this.#thumbs;\r\n }\r\n\r\n /** Whether the slider is a range slider. */\r\n get isRange(): boolean {\r\n return this.#thumbs.length > 1;\r\n }\r\n\r\n /** The thumb used to select a value. */\r\n get thumb(): M3eSliderThumbElement | null {\r\n return this.#thumbs[0] ?? null;\r\n }\r\n\r\n /** The thumb used to select the lower value of a range slider. */\r\n get lowerThumb(): M3eSliderThumbElement | null {\r\n return this.thumb;\r\n }\r\n\r\n /** The thumb used to select the upper value of a range slider. */\r\n get upperThumb(): M3eSliderThumbElement | null {\r\n return this.#thumbs[1] ?? null;\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.#directionalitySubscription = M3eDirectionality.observe(() => {\r\n this.#updateDimensions(true);\r\n this.requestUpdate();\r\n });\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this.#directionalitySubscription?.();\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues<this>): void {\r\n super.updated(_changedProperties);\r\n\r\n if (_changedProperties.has(\"disabled\")) {\r\n this.#thumbs.forEach((x) => (x.disabled = this.disabled));\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div\r\n class=\"base\"\r\n tabindex=\"${ifDefined(!this.disabled ? \"-1\" : undefined)}\"\r\n @pointerdown=\"${this.#handlePointerDown}\"\r\n @pointermove=\"${this.#handlePointerMove}\"\r\n @pointerup=\"${this.#handlePointerUp}\"\r\n @keydown=\"${this.#handleKeyDown}\"\r\n @value-change=\"${this.#handleThumbChange}\"\r\n >\r\n <div class=\"track\" aria-hidden=\"true\">\r\n <div class=\"track-inactive start\"></div>\r\n <div class=\"track-active\"></div>\r\n <div class=\"track-inactive end\"></div>\r\n </div>\r\n <div class=\"ticks\" aria-hidden=\"true\">${this._ticks.map((x) => this.#renderTick(x))}</div>\r\n <slot @slotchange=\"${this.#handleSlotChange}\"></slot>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderTick(tick: { value: number; active: boolean }) {\r\n return html`<div\r\n class=\"tick ${tick.active ? \"active\" : \"inactive\"}\"\r\n style=\"${safeStyleMap({\r\n transform: `translate(${M3eDirectionality.current === \"rtl\" ? -this.#pointFromValue(tick.value) : this.#pointFromValue(tick.value)}px, 0)`,\r\n })}\"\r\n ></div>`;\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(e: Event): void {\r\n this.#thumbs = (<HTMLSlotElement>e.target)\r\n .assignedElements({ flatten: true })\r\n .filter((x) => x instanceof M3eSliderThumbElement);\r\n\r\n if (this.#thumbs.length > 2) {\r\n this.#thumbs.length = 2;\r\n }\r\n if (this.isRange) {\r\n this._base?.style.setProperty(\"--_slider-active-track-middle-shape\", `0`);\r\n } else {\r\n this._base?.style.removeProperty(\"--_slider-active-track-middle-shape\");\r\n }\r\n\r\n this.#updateThumbs();\r\n }\r\n\r\n /** @private */\r\n #updateThumbs(): void {\r\n this.#thumbs.forEach((thumb, i) => {\r\n if (this.disabled) {\r\n thumb.disabled = true;\r\n }\r\n thumb.ariaValueMin = `${this.#thumbs[i - 1]?.value ?? this.min}`;\r\n thumb.ariaValueMax = `${this.#thumbs[i + 1]?.value ?? this.max}`;\r\n thumb.ariaValueNow = `${thumb.value ?? this.#thumbs[i - 1]?.value ?? this.min}`;\r\n });\r\n }\r\n\r\n /** @private */\r\n #pointFromValue(value: number): number {\r\n return (this.#cachedWidth - this.#cachedThumbWidth) * ((value - this.min) / (this.max - this.min));\r\n }\r\n\r\n /** @private */\r\n #valueFromPoint(e: PointerEvent): number {\r\n const pos =\r\n M3eDirectionality.current === \"rtl\"\r\n ? this.#cachedLeft + this.#cachedWidth - e.clientX\r\n : e.clientX - this.#cachedLeft;\r\n const step = this.step === 0 ? 1 : this.step;\r\n const numSteps = Math.floor((this.max - this.min) / step);\r\n const percentage = pos / this.#cachedWidth;\r\n const fixedPercentage = Math.round(percentage * numSteps) / numSteps;\r\n const impreciseValue = fixedPercentage * (this.max - this.min) + this.min;\r\n return Math.round(impreciseValue / step) * step;\r\n }\r\n\r\n /** @private */\r\n #updateCachedDimensions(force = false): void {\r\n if (!this.lowerThumb) return;\r\n this.#cachedWidth = !force && this.#cachedWidth > 0 ? this.#cachedWidth : this.clientWidth;\r\n this.#cachedThumbWidth =\r\n !force && this.#cachedThumbWidth > 0 ? this.#cachedThumbWidth : this.lowerThumb.clientWidth;\r\n this.#cachedLeft = !force && this.#cachedLeft > 0 ? this.#cachedLeft : this.getBoundingClientRect().left;\r\n }\r\n\r\n /** @private */\r\n #updateDimensions(force = false): void {\r\n this.#updateCachedDimensions(force);\r\n if (!this.lowerThumb) return;\r\n\r\n const lowerValue = this.lowerThumb.value ?? this.min;\r\n const lowerPos = this.#pointFromValue(lowerValue);\r\n this.lowerThumb.style.transform = `translate(${M3eDirectionality.current === \"rtl\" ? -lowerPos : lowerPos}px, 0)`;\r\n\r\n if (!this.upperThumb) {\r\n this._base?.classList.toggle(\"range\", false);\r\n this._base?.style.setProperty(\"--_slider-active-track-size\", `${lowerPos}px`);\r\n this._base?.style.setProperty(\"--_slider-inactive-track-after-offset\", `${lowerPos + this.#cachedThumbWidth}px`);\r\n this._base?.style.setProperty(\r\n \"--_slider-inactive-track-after-size\",\r\n `${this.#cachedWidth - lowerPos - this.#cachedThumbWidth}px`,\r\n );\r\n\r\n this.#updateTicks((i) => i < lowerValue);\r\n } else {\r\n const upperValue = this.upperThumb.value ?? lowerValue;\r\n const upperPos = this.#pointFromValue(upperValue);\r\n this.upperThumb.style.transform = `translate(${M3eDirectionality.current === \"rtl\" ? -upperPos : upperPos}px, 0)`;\r\n\r\n this._base?.classList.toggle(\"range\", true);\r\n this._base?.style.setProperty(\"--_slider-inactive-track-before-size\", `${lowerPos}px`);\r\n this._base?.style.setProperty(\"--_slider-active-track-offset\", `${lowerPos + this.#cachedThumbWidth}px`);\r\n this._base?.style.setProperty(\"--_slider-active-track-size\", `${upperPos - lowerPos - this.#cachedThumbWidth}px`);\r\n this._base?.style.setProperty(\"--_slider-inactive-track-after-offset\", `${upperPos + this.#cachedThumbWidth}px`);\r\n this._base?.style.setProperty(\r\n \"--_slider-inactive-track-after-size\",\r\n `${this.#cachedWidth - this.#cachedThumbWidth - upperPos}px`,\r\n );\r\n\r\n this.#updateTicks((i) => i > lowerValue && i < upperValue);\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateTicks(active: (value: number) => boolean): void {\r\n this._ticks = [];\r\n if (this.discrete && this.step > 1) {\r\n for (let i = this.min; i <= this.max; i += this.step) {\r\n this._ticks.push({ value: i, active: active(i) });\r\n }\r\n } else {\r\n this._ticks.push({ value: this.min, active: active(this.min) });\r\n if (this.min < 0 && this.max > 0) {\r\n this._ticks.push({ value: 0, active: active(0) });\r\n }\r\n this._ticks.push({ value: this.max, active: active(this.max) });\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerDown(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (!this.lowerThumb || this.disabled) return;\r\n\r\n if (e.target instanceof HTMLElement) {\r\n e.target.setPointerCapture(e.pointerId);\r\n }\r\n\r\n this.#activeThumb = e.composedPath().find((x) => x instanceof M3eSliderThumbElement) as\r\n | M3eSliderThumbElement\r\n | undefined;\r\n\r\n if (this.#activeThumb) {\r\n return;\r\n }\r\n\r\n const value = this.#valueFromPoint(e);\r\n\r\n if (!this.upperThumb) {\r\n if (!this.lowerThumb.disabled) {\r\n this.#changeThumb(this.lowerThumb, value, true);\r\n this.#activeThumb = this.lowerThumb;\r\n }\r\n } else {\r\n const lowerValue = this.lowerThumb.value ?? this.min;\r\n const upperValue = this.upperThumb.value ?? lowerValue;\r\n\r\n if (value < lowerValue) {\r\n if (!this.lowerThumb.disabled) {\r\n this.#changeThumb(this.lowerThumb, value, true);\r\n this.#activeThumb = this.lowerThumb;\r\n }\r\n } else if (value > upperValue) {\r\n if (!this.upperThumb.disabled) {\r\n this.#changeThumb(this.upperThumb, value, true);\r\n this.#activeThumb = this.upperThumb;\r\n }\r\n } else {\r\n const mid = (lowerValue + upperValue) / 2;\r\n if (value < mid && !this.lowerThumb.disabled) {\r\n this.#changeThumb(this.lowerThumb, value, true);\r\n this.#activeThumb = this.lowerThumb;\r\n } else if (!this.upperThumb.disabled) {\r\n this.#changeThumb(this.upperThumb, value, true);\r\n this.#activeThumb = this.upperThumb;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerMove(e: PointerEvent): void {\r\n if (\r\n !(e.target instanceof HTMLElement) ||\r\n !e.target.hasPointerCapture(e.pointerId) ||\r\n !this.#activeThumb ||\r\n this.#activeThumb.disabled\r\n ) {\r\n return;\r\n }\r\n\r\n const value = this.#valueFromPoint(e);\r\n let min = this.min;\r\n let max = this.max;\r\n\r\n if (this.#activeThumb === this.upperThumb) {\r\n min = Math.max(min, this.lowerThumb?.value ?? 0);\r\n } else if (this.upperThumb) {\r\n max = Math.min(max, this.upperThumb.value ?? this.max);\r\n }\r\n\r\n if (hasCustomState(this, \"-animating\")) {\r\n deleteCustomState(this, \"-animating\");\r\n this.#activeThumb.style.transition = \"\";\r\n }\r\n\r\n this.#changeThumb(this.#activeThumb, Math.min(max, Math.max(min, value)));\r\n }\r\n\r\n /** @private */\r\n #handlePointerUp(e: PointerEvent): void {\r\n if (e.pointerType === \"mouse\" && e.button > 1) return;\r\n if (!this.lowerThumb || this.disabled) return;\r\n\r\n if (e.target instanceof HTMLElement) {\r\n e.target.releasePointerCapture(e.pointerId);\r\n }\r\n\r\n if (this.#activeThumb && !this.#activeThumb.disabled) {\r\n this.#activeThumb.focus();\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n this.#activeThumb = e.composedPath().find((x) => x instanceof M3eSliderThumbElement) as\r\n | M3eSliderThumbElement\r\n | undefined;\r\n\r\n if (!this.#activeThumb) return;\r\n\r\n const value = this.#activeThumb.value ?? 0;\r\n\r\n let min = this.min;\r\n let max = this.max;\r\n\r\n if (this.#activeThumb === this.upperThumb) {\r\n min = Math.max(min, this.lowerThumb?.value ?? 0);\r\n } else if (this.upperThumb) {\r\n max = Math.max(max, this.upperThumb.value ?? this.max);\r\n }\r\n\r\n switch (e.key) {\r\n case \"Home\":\r\n this.#changeThumb(this.#activeThumb, min);\r\n e.preventDefault();\r\n break;\r\n\r\n case \"End\":\r\n this.#changeThumb(this.#activeThumb, max);\r\n e.preventDefault();\r\n break;\r\n\r\n case \"PageUp\":\r\n if (M3eDirectionality.current === \"ltr\") {\r\n this.#changeThumb(this.#activeThumb, Math.min(max, value + (this.step > 1 ? this.step : 10)));\r\n } else {\r\n this.#changeThumb(this.#activeThumb, Math.max(min, value - (this.step > 1 ? this.step : 10)));\r\n }\r\n\r\n e.preventDefault();\r\n break;\r\n\r\n case \"PageDown\":\r\n if (M3eDirectionality.current === \"ltr\") {\r\n this.#changeThumb(this.#activeThumb, Math.max(min, value - (this.step > 1 ? this.step : 10)));\r\n } else {\r\n this.#changeThumb(this.#activeThumb, Math.min(max, value + (this.step > 1 ? this.step : 10)));\r\n }\r\n e.preventDefault();\r\n break;\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n case \"Left\":\r\n case \"ArrowLeft\":\r\n if (M3eDirectionality.current === \"ltr\") {\r\n this.#changeThumb(this.#activeThumb, Math.max(min, value - this.step));\r\n } else {\r\n this.#changeThumb(this.#activeThumb, Math.min(max, value + this.step));\r\n }\r\n\r\n e.preventDefault();\r\n\r\n break;\r\n\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n case \"Right\":\r\n case \"ArrowRight\":\r\n if (M3eDirectionality.current === \"ltr\") {\r\n this.#changeThumb(this.#activeThumb, Math.min(max, value + this.step));\r\n } else {\r\n this.#changeThumb(this.#activeThumb, Math.max(min, value - this.step));\r\n }\r\n\r\n e.preventDefault();\r\n break;\r\n\r\n case \" \":\r\n e.preventDefault();\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleThumbChange(e: Event): void {\r\n e.stopPropagation();\r\n this.#updateThumbs();\r\n this.#updateDimensions();\r\n }\r\n\r\n /** @private */\r\n #changeThumb(thumb: M3eSliderThumbElement, value: number, animate = false): void {\r\n if (thumb.value === value) return;\r\n const prev = thumb.value;\r\n if (animate && !prefersReducedMotion()) {\r\n addCustomState(this, \"-animating\");\r\n thumb.addEventListener(\r\n \"transitionend\",\r\n () => {\r\n thumb.style.transition = \"\";\r\n deleteCustomState(this, \"-animating\");\r\n },\r\n { once: true },\r\n );\r\n thumb.style.transition = `transform ${DesignToken.motion.spring.fastEffects}`;\r\n }\r\n thumb.value = value;\r\n thumb.markAsDirty();\r\n thumb.markAsTouched();\r\n if (thumb.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n thumb.dispatchEvent(new Event(\"change\", { bubbles: true, composed: true }));\r\n } else {\r\n thumb.value = prev;\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-slider\": M3eSliderElement;\r\n }\r\n}\r\n"],"names":["__decorate","decorators","target","key","desc","c","arguments","length","r","Object","getOwnPropertyDescriptor","d","Reflect","decorate","i","defineProperty","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","__classPrivateFieldSet","set","SuppressedError","error","suppressed","message","e","Error","name","M3eSliderThumbElement","Dirty","Touched","FormAssociated","Focusable","Disabled","AttachInternals","Role","LitElement","constructor","_M3eSliderThumbElement_instances","WeakSet","formValue","toString","focus","options","_focusRing","disabled","firstUpdated","_changedProperties","attach","update","changedProperties","dispatchEvent","Event","bubbles","render","html","_M3eSliderThumbElement_labelText_get","closest","displayWith","styles","css","DesignToken","shape","corner","full","unsafeCSS","motion","duration","short3","easing","standard","color","inverseSurface","inverseOnSurface","typescale","label","medium","fontSize","fontWeight","lineHeight","tracking","short2","primary","onSurface","query","prototype","property","type","Number","reflect","customElement","M3eSliderElement","_M3eSliderElement_directionalitySubscription","_ticks","Array","_M3eSliderElement_thumbs","_M3eSliderElement_activeThumb","_M3eSliderElement_cachedWidth","_M3eSliderElement_cachedThumbWidth","_M3eSliderElement_cachedLeft","size","discrete","min","max","step","labelled","ResizeController","callback","_M3eSliderElement_instances","_M3eSliderElement_updateDimensions","thumbs","isRange","thumb","lowerThumb","upperThumb","connectedCallback","M3eDirectionality","observe","requestUpdate","disconnectedCallback","updated","forEach","x","ifDefined","undefined","_M3eSliderElement_handlePointerDown","_M3eSliderElement_handlePointerMove","_M3eSliderElement_handlePointerUp","_M3eSliderElement_handleKeyDown","_M3eSliderElement_handleThumbChange","map","_M3eSliderElement_renderTick","_M3eSliderElement_handleSlotChange","tick","active","safeStyleMap","transform","current","_M3eSliderElement_pointFromValue","assignedElements","flatten","filter","_base","style","setProperty","removeProperty","_M3eSliderElement_updateThumbs","ariaValueMin","ariaValueMax","ariaValueNow","pos","clientX","numSteps","Math","floor","percentage","fixedPercentage","round","impreciseValue","_M3eSliderElement_updateCachedDimensions","force","clientWidth","getBoundingClientRect","left","lowerValue","lowerPos","classList","toggle","_M3eSliderElement_updateTicks","upperValue","upperPos","push","pointerType","button","HTMLElement","setPointerCapture","pointerId","composedPath","find","_M3eSliderElement_valueFromPoint","_M3eSliderElement_changeThumb","mid","hasPointerCapture","hasCustomState","deleteCustomState","transition","releasePointerCapture","preventDefault","stopPropagation","animate","prev","prefersReducedMotion","addCustomState","addEventListener","once","spring","fastEffects","markAsDirty","markAsTouched","composed","cancelable","smallStart","smallEnd","mediumStart","mediumEnd","largeStart","largeEnd","extraLargeStart","extraLargeEnd","secondaryContainer","onPrimary","onSecondaryContainer","Boolean","attribute"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/slider.min.js
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright (c) 2025 matraic
|
|
4
4
|
* See LICENSE file in the project root for full license text.
|
|
5
5
|
*/
|
|
6
|
-
import{LitElement as e,html as t,unsafeCSS as i,css as a}from"lit";import{query as s,property as r,state as l}from"lit/decorators.js";import{ifDefined as n}from"lit/directives/if-defined.js";import{Dirty as o,Touched as c,FormAssociated as h,Focusable as d,Disabled as m,AttachInternals as p,Role as u,formValue as v,DesignToken as b,element as f,ResizeController as g,safeStyleMap as k,hasCustomState as y,deleteCustomState as x,prefersReducedMotion as w,addCustomState as $}from"@m3e/web/core";import{M3eDirectionality as _}from"@m3e/web/core/bidi";function T(e,t,i,a){var s,r=arguments.length,l=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,i):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,a);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(l=(r<3?s(l):r>3?s(t,i,l):s(t,i))||l);return r>3&&l&&Object.defineProperty(t,i,l),l}function z(e,t,i,a){if("a"===i&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?a:"a"===i?a.call(e):a?a.value:t.get(e)}function E(e,t,i,a,s){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?s.call(e,i):s?s.value=i:t.set(e,i),i}var M,S;"function"==typeof SuppressedError&&SuppressedError;let P=class extends(o(c(h(d(m(p(u(e,"slider")))))))){constructor(){super(...arguments),M.add(this),this.value=null}get[(M=new WeakSet,v)](){return this.value?.toString()??null}focus(e){this._focusRing&&(this._focusRing.disabled=!0),super.focus(e),this._focusRing&&(this._focusRing.disabled=this.disabled)}firstUpdated(e){super.firstUpdated(e),this._focusRing?.attach(this)}update(e){super.update(e),e.has("value")&&this.dispatchEvent(new Event("value-change",{bubbles:!0}))}render(){return t`<div class="label" aria-hidden="true">${z(this,M,"a",S)}</div><div class="base"><m3e-focus-ring class="focus-ring" ?disabled="${this.disabled}"></m3e-focus-ring><div class="touch" aria-hidden="true"></div><div class="wrapper"><div class="handle"></div></div></div>`}};var C,L,R,W,D,j,A,U,H,N,O,B,G,I,V,X,q,F,J,K,Q;S=function(){return this.closest("m3e-slider")?.displayWith?.(this.value)??this.value?.toString()??""},P.styles=a`:host { display: block; box-sizing: border-box; position: absolute; outline: none; top: 0; bottom: 0; border-radius: var(--m3e-slider-thumb-shape, ${b.shape.corner.full}); user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; height: 100%; border-radius: inherit; } .touch { position: absolute; height: 3rem; left: 0; right: 0; touch-action: none; } .wrapper { display: inline-flex; justify-content: center; height: 100%; border-radius: inherit; width: calc(var(--m3e-slider-thumb-width, 0.25rem) + calc(var(--m3e-slider-thumb-padding, 0.375em) * 2)); } .focus-ring { top: calc(0px - var(--m3e-focus-ring-thickness, 3px)); bottom: calc(0px - var(--m3e-focus-ring-thickness, 3px)); left: var(--m3e-focus-ring-thickness, 3px); right: var(--m3e-focus-ring-thickness, 3px); } .label { user-select: none; position: absolute; display: flex; align-items: center; justify-content: center; visibility: var(--_slider-label-visibility, hidden); opacity: var(--_slider-label-opacity, 0); transform: var(--_slider-label-transform, scale(0)); transition: ${i(`opacity ${b.motion.duration.short3} ${b.motion.easing.standard}, \n transform ${b.motion.duration.short3} ${b.motion.easing.standard},\n visibility ${b.motion.duration.short3} ${b.motion.easing.standard} allow-discrete`)}; width: var(--m3e-slider-label-width, 3rem); height: var(--_m3e-slider-label-height, 2.75rem); top: calc(0px - var(--_m3e-slider-label-height, 2.75rem) - var(--_m3e-slider-label-margin, 0.25rem)); inset-inline-start: calc(0px - 100%); border-radius: var(--m3e-slider-label-shape, ${b.shape.corner.full}); background-color: var(--m3e-slider-label-container-color, ${b.color.inverseSurface}); color: var(--m3e-slider-label-color, ${b.color.inverseOnSurface}); font-size: var(--m3e-slider-label-font-size, ${b.typescale.standard.label.medium.fontSize}); font-weight: var(--m3e-slider-label-font-weight, ${b.typescale.standard.label.medium.fontWeight}); line-height: var(--m3e-slider-label-line-height, ${b.typescale.standard.label.medium.lineHeight}); letter-spacing: var(--m3e-slider-label-tracking, ${b.typescale.standard.label.medium.tracking}); } @starting-style { .label { opacity: 0; transform: scale(0); } } .handle { height: 100%; width: var(--m3e-slider-thumb-width, 0.25rem); border-radius: inherit; transition: ${i(`width ${b.motion.duration.short2} ${b.motion.easing.standard}`)}; } :host(:active:not([aria-disabled="true"])) .handle { width: var(--m3e-slider-thumb-pressed-width, 2px); } :host(:not([aria-disabled="true"])) .handle { background-color: var(--m3e-slider-thumb-color, ${b.color.primary}); } :host([aria-disabled="true"]) .handle { opacity: var(--m3e-slider-thumb-disabled-opacity, 38%); background-color: var(--m3e-slider-thumb-disabled-color, ${b.color.onSurface}); } @media (prefers-reduced-motion) { .label { transition: none; } } @media (forced-colors: active) { .label { forced-color-adjust: none; background-color: CanvasText; color: Canvas; } :host(:not([aria-disabled="true"])) .handle { background-color: CanvasText; } :host([aria-disabled="true"]) .handle { opacity: unset; background-color: GrayText; } }`,T([s(".focus-ring")],P.prototype,"_focusRing",void 0),T([r({type:Number,reflect:!0})],P.prototype,"value",void 0),P=T([f("m3e-slider-thumb")],P);let Y=class extends(p(e)){constructor(){super(),C.add(this),L.set(this,void 0),this._ticks=new Array,R.set(this,new Array),W.set(this,void 0),D.set(this,0),j.set(this,0),A.set(this,0),this.size="extra-small",this.disabled=!1,this.discrete=!1,this.min=0,this.max=100,this.step=1,this.labelled=!1,this.displayWith=null,new g(this,{callback:()=>z(this,C,"m",I).call(this,!0)})}get thumbs(){return z(this,R,"f")}get isRange(){return z(this,R,"f").length>1}get thumb(){return z(this,R,"f")[0]??null}get lowerThumb(){return this.thumb}get upperThumb(){return z(this,R,"f")[1]??null}connectedCallback(){super.connectedCallback(),E(this,L,_.observe(()=>{z(this,C,"m",I).call(this,!0),this.requestUpdate()}),"f")}disconnectedCallback(){super.disconnectedCallback(),z(this,L,"f")?.call(this)}updated(e){super.updated(e),e.has("disabled")&&z(this,R,"f").forEach(e=>e.disabled=this.disabled)}render(){return t`<div class="base" tabindex="${n(this.disabled?void 0:"-1")}" @pointerdown="${z(this,C,"m",X)}" @pointermove="${z(this,C,"m",q)}" @pointerup="${z(this,C,"m",F)}" @keydown="${z(this,C,"m",J)}" @value-change="${z(this,C,"m",K)}"><div class="track" aria-hidden="true"><div class="track-inactive start"></div><div class="track-active"></div><div class="track-inactive end"></div></div><div class="ticks" aria-hidden="true">${this._ticks.map(e=>z(this,C,"m",U).call(this,e))}</div><slot @slotchange="${z(this,C,"m",H)}"></slot></div>`}};L=new WeakMap,R=new WeakMap,W=new WeakMap,D=new WeakMap,j=new WeakMap,A=new WeakMap,C=new WeakSet,U=function(e){return t`<div class="tick ${e.active?"active":"inactive"}" style="${k({transform:`translate(${"rtl"===_.current?-z(this,C,"m",O).call(this,e.value):z(this,C,"m",O).call(this,e.value)}px, 0)`})}"></div>`},H=function(e){E(this,R,e.target.assignedElements({flatten:!0}).filter(e=>e instanceof P),"f"),z(this,R,"f").length>2&&(z(this,R,"f").length=2),this.isRange?this._base?.style.setProperty("--_slider-active-track-middle-shape","0"):this._base?.style.removeProperty("--_slider-active-track-middle-shape"),z(this,C,"m",N).call(this)},N=function(){z(this,R,"f").forEach((e,t)=>{this.disabled&&(e.disabled=!0),e.ariaValueMin=`${z(this,R,"f")[t-1]?.value??this.min}`,e.ariaValueMax=`${z(this,R,"f")[t+1]?.value??this.max}`,e.ariaValueNow=`${e.value??z(this,R,"f")[t-1]?.value??this.min}`})},O=function(e){return(z(this,D,"f")-z(this,j,"f"))*((e-this.min)/(this.max-this.min))},B=function(e){const t="rtl"===_.current?z(this,A,"f")+z(this,D,"f")-e.clientX:e.clientX-z(this,A,"f"),i=0===this.step?1:this.step,a=Math.floor((this.max-this.min)/i),s=t/z(this,D,"f"),r=Math.round(s*a)/a*(this.max-this.min)+this.min;return Math.round(r/i)*i},G=function(e=!1){this.lowerThumb&&(E(this,D,!e&&z(this,D,"f")>0?z(this,D,"f"):this.clientWidth,"f"),E(this,j,!e&&z(this,j,"f")>0?z(this,j,"f"):this.lowerThumb.clientWidth,"f"),E(this,A,!e&&z(this,A,"f")>0?z(this,A,"f"):this.getBoundingClientRect().left,"f"))},I=function(e=!1){if(z(this,C,"m",G).call(this,e),!this.lowerThumb)return;const t=this.lowerThumb.value??this.min,i=z(this,C,"m",O).call(this,t);if(this.lowerThumb.style.transform=`translate(${"rtl"===_.current?-i:i}px, 0)`,this.upperThumb){const e=this.upperThumb.value??t,a=z(this,C,"m",O).call(this,e);this.upperThumb.style.transform=`translate(${"rtl"===_.current?-a:a}px, 0)`,this._base?.classList.toggle("range",!0),this._base?.style.setProperty("--_slider-inactive-track-before-size",`${i}px`),this._base?.style.setProperty("--_slider-active-track-offset",`${i+z(this,j,"f")}px`),this._base?.style.setProperty("--_slider-active-track-size",a-i-z(this,j,"f")+"px"),this._base?.style.setProperty("--_slider-inactive-track-after-offset",`${a+z(this,j,"f")}px`),this._base?.style.setProperty("--_slider-inactive-track-after-size",z(this,D,"f")-z(this,j,"f")-a+"px"),z(this,C,"m",V).call(this,i=>i>t&&i<e)}else this._base?.classList.toggle("range",!1),this._base?.style.setProperty("--_slider-active-track-size",`${i}px`),this._base?.style.setProperty("--_slider-inactive-track-after-offset",`${i+z(this,j,"f")}px`),this._base?.style.setProperty("--_slider-inactive-track-after-size",z(this,D,"f")-i-z(this,j,"f")+"px"),z(this,C,"m",V).call(this,e=>e<t)},V=function(e){if(this._ticks=[],this.discrete&&this.step>1)for(let t=this.min;t<=this.max;t+=this.step)this._ticks.push({value:t,active:e(t)});else this._ticks.push({value:this.min,active:e(this.min)}),this.min<0&&this.max>0&&this._ticks.push({value:0,active:e(0)}),this._ticks.push({value:this.max,active:e(this.max)})},X=function(e){if("mouse"===e.pointerType&&e.button>1)return;if(!this.lowerThumb||this.disabled)return;if(e.target instanceof HTMLElement&&e.target.setPointerCapture(e.pointerId),E(this,W,e.composedPath().find(e=>e instanceof P),"f"),z(this,W,"f"))return;const t=z(this,C,"m",B).call(this,e);if(this.upperThumb){const e=this.lowerThumb.value??this.min,i=this.upperThumb.value??e;if(t<e)this.lowerThumb.disabled||(z(this,C,"m",Q).call(this,this.lowerThumb,t,!0),E(this,W,this.lowerThumb,"f"));else if(t>i)this.upperThumb.disabled||(z(this,C,"m",Q).call(this,this.upperThumb,t,!0),E(this,W,this.upperThumb,"f"));else{t<(e+i)/2&&!this.lowerThumb.disabled?(z(this,C,"m",Q).call(this,this.lowerThumb,t,!0),E(this,W,this.lowerThumb,"f")):this.upperThumb.disabled||(z(this,C,"m",Q).call(this,this.upperThumb,t,!0),E(this,W,this.upperThumb,"f"))}}else this.lowerThumb.disabled||(z(this,C,"m",Q).call(this,this.lowerThumb,t,!0),E(this,W,this.lowerThumb,"f"))},q=function(e){if(!(e.target instanceof HTMLElement)||!e.target.hasPointerCapture(e.pointerId)||!z(this,W,"f")||z(this,W,"f").disabled)return;const t=z(this,C,"m",B).call(this,e);let i=this.min,a=this.max;z(this,W,"f")===this.upperThumb?i=Math.max(i,this.lowerThumb?.value??0):this.upperThumb&&(a=Math.min(a,this.upperThumb.value??this.max)),y(this,"-animating")&&(x(this,"-animating"),z(this,W,"f").style.transition=""),z(this,C,"m",Q).call(this,z(this,W,"f"),Math.min(a,Math.max(i,t)))},F=function(e){"mouse"===e.pointerType&&e.button>1||this.lowerThumb&&!this.disabled&&(e.target instanceof HTMLElement&&e.target.releasePointerCapture(e.pointerId),z(this,W,"f")&&!z(this,W,"f").disabled&&z(this,W,"f").focus())},J=function(e){if(E(this,W,e.composedPath().find(e=>e instanceof P),"f"),!z(this,W,"f"))return;const t=z(this,W,"f").value??0;let i=this.min,a=this.max;switch(z(this,W,"f")===this.upperThumb?i=Math.max(i,this.lowerThumb?.value??0):this.upperThumb&&(a=Math.max(a,this.upperThumb.value??this.max)),e.key){case"Home":z(this,C,"m",Q).call(this,z(this,W,"f"),i),e.preventDefault();break;case"End":z(this,C,"m",Q).call(this,z(this,W,"f"),a),e.preventDefault();break;case"PageUp":"ltr"===_.current?z(this,C,"m",Q).call(this,z(this,W,"f"),Math.min(a,t+(this.step>1?this.step:10))):z(this,C,"m",Q).call(this,z(this,W,"f"),Math.max(i,t-(this.step>1?this.step:10))),e.preventDefault();break;case"PageDown":"ltr"===_.current?z(this,C,"m",Q).call(this,z(this,W,"f"),Math.max(i,t-(this.step>1?this.step:10))):z(this,C,"m",Q).call(this,z(this,W,"f"),Math.min(a,t+(this.step>1?this.step:10))),e.preventDefault();break;case"Down":case"ArrowDown":case"Left":case"ArrowLeft":"ltr"===_.current?z(this,C,"m",Q).call(this,z(this,W,"f"),Math.max(i,t-this.step)):z(this,C,"m",Q).call(this,z(this,W,"f"),Math.min(a,t+this.step)),e.preventDefault();break;case"Up":case"ArrowUp":case"Right":case"ArrowRight":"ltr"===_.current?z(this,C,"m",Q).call(this,z(this,W,"f"),Math.min(a,t+this.step)):z(this,C,"m",Q).call(this,z(this,W,"f"),Math.max(i,t-this.step)),e.preventDefault();break;case" ":e.preventDefault()}},K=function(e){e.stopPropagation(),z(this,C,"m",N).call(this),z(this,C,"m",I).call(this)},Q=function(e,t,i=!1){if(e.value===t)return;const a=e.value;i&&!w()&&($(this,"-animating"),e.addEventListener("transitionend",()=>{e.style.transition="",x(this,"-animating")},{once:!0}),e.style.transition=`transform ${b.motion.spring.fastEffects}`),e.value=t,e.markAsDirty(),e.markAsTouched(),e.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))?e.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})):e.value=a},Y.styles=a`:host { display: inline-block; vertical-align: middle; min-inline-size: var(--m3e-slider-min-width, 12.5rem); user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([disabled])) { cursor: pointer; } :host([size="extra-small"]), :host([size="small"]) { height: var(--m3e-slider-small-height, 2.75rem); } :host(:not(:dir(rtl))[size="extra-small"]) .base, :host(:not(:dir(rtl))[size="small"]) .base { --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${b.shape.corner.smallStart}); --_slider-inactive-track-start-shape: var( --m3e-slider-small-inactive-active-track-start-shape, ${b.shape.corner.smallStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-small-inactive-track-end-shape, ${b.shape.corner.smallEnd} ); } :host(:dir(rtl)[size="extra-small"]) .base, :host(:dir(rtl)[size="small"]) .base { --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${b.shape.corner.smallEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-small-inactive-active-track-start-shape, ${b.shape.corner.smallEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-small-inactive-track-end-shape, ${b.shape.corner.smallStart} ); } :host([size="extra-small"]) .track { height: calc(var(--m3e-slider-extra-small-track-height, 1rem)); } :host([size="small"]) .track { height: calc(var(--m3e-slider-small-track-height, 1.5rem)); } :host([size="medium"]) { height: var(--m3e-slider-medium-height, 3.25rem); } :host(:not(:dir(rtl))[size="medium"]) .base { --_slider-active-track-shape: var( --m3e-slider-medium-active-track-shape, ${b.shape.corner.mediumStart} ); --_slider-inactive-track-start-shape: var( --m3e-slider-medium-inactive-active-track-start-shape, ${b.shape.corner.mediumStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-medium-inactive-track-end-shape, ${b.shape.corner.mediumEnd} ); } :host(:dir(rtl)[size="medium"]) .base { --_slider-active-track-shape: var(--m3e-slider-medium-active-track-shape, ${b.shape.corner.mediumEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-medium-inactive-active-track-start-shape, ${b.shape.corner.mediumEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-medium-inactive-track-end-shape, ${b.shape.corner.mediumStart} ); } :host([size="medium"]) .track { height: var(--m3e-slider-medium-track-height, 2.5rem); } :host([size="large"]) { height: var(--m3e-slider-large-height, 4.25rem); } :host(:not(:dir(rtl))[size="large"]) .base { --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${b.shape.corner.largeStart}); --_slider-inactive-track-start-shape: var( --m3e-slider-large-inactive-active-track-start-shape, ${b.shape.corner.largeStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-large-inactive-track-end-shape, ${b.shape.corner.largeEnd} ); } :host(:dir(rtl)[size="large"]) .base { --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${b.shape.corner.largeEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-large-inactive-active-track-start-shape, ${b.shape.corner.largeEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-large-inactive-track-end-shape, ${b.shape.corner.largeStart} ); } :host([size="large"]) .track { height: var(--m3e-slider-large-track-height, 3.5rem); } :host([size="extra-large"]) { height: var(--m3e-slider-extra-large-height, 6.75rem); } :host(:not(:dir(rtl))[size="extra-large"]) .base { --_slider-active-track-shape: var( --m3e-slider-extra-large-active-track-shape, ${b.shape.corner.extraLargeStart} ); --_slider-inactive-track-start-shape: var( --m3e-slider-extra-large-inactive-active-track-start-shape, ${b.shape.corner.extraLargeStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-extra-large-inactive-track-end-shape, ${b.shape.corner.extraLargeEnd} ); } :host(:dir(rtl)[size="extra-large"]) .base { --_slider-active-track-shape: var( --m3e-slider-extra-large-active-track-shape, ${b.shape.corner.extraLargeEnd} ); --_slider-inactive-track-start-shape: var( --m3e-slider-extra-large-inactive-active-track-start-shape, ${b.shape.corner.extraLargeEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-extra-large-inactive-track-end-shape, ${b.shape.corner.extraLargeStart} ); } :host([size="extra-large"]) .track { height: var(--m3e-slider-extra-large-track-height, 6rem); } :host(:state(-animating)) .track-active, :host(:state(-animating)) .track-inactive.start, :host(:state(-animating)) .track-inactive.end { transition: ${i(`margin-inline-start ${b.motion.spring.fastEffects},\n width ${b.motion.spring.fastEffects}`)}; } .base { display: inline-flex; align-items: center; position: relative; width: 100%; height: 100%; border-radius: inherit; outline: none; touch-action: none; } .track { position: relative; flex: 1 1 auto; touch-action: none; } .track-inactive, .track-active { position: absolute; height: 100%; touch-action: none; } .track-active { margin-inline-start: var(--_slider-active-track-offset, 0px); width: var(--_slider-active-track-size, 0px); border-radius: var(--_slider-active-track-middle-shape, var(--_slider-active-track-shape)); } .track-inactive.start { width: var(--_slider-inactive-track-before-size, 0px); border-radius: var(--_slider-inactive-track-start-shape); } .track-inactive.end { margin-inline-start: var(--_slider-inactive-track-after-offset, 0px); width: var(--_slider-inactive-track-after-size, 0px); border-radius: var(--_slider-inactive-track-end-shape); } .ticks { position: absolute; width: 100%; height: var(--m3e-slider-tick-size, 0.25rem); overflow: visible; touch-action: none; } .tick { position: absolute; top: 0; touch-action: none; inset-inline-start: calc(var(--m3e-slider-tick-size, 0.25rem) + calc(var(--m3e-slider-tick-size, 0.25rem) / 2)); width: var(--m3e-slider-tick-size, 0.25rem); height: var(--m3e-slider-tick-size, 0.25rem); border-radius: var(--m3e-slider-tick-shape, ${b.shape.corner.full}); } :host(:not([disabled])) .track-inactive { background-color: var(--m3e-slider-inactive-track-color, ${b.color.secondaryContainer}); } :host([disabled]) .track-inactive { background-color: color-mix( in srgb, var(--m3e-slider-disabled-inactive-track-color, ${b.color.onSurface}) var(--m3e-slider-disabled-inactive-track-opacity, 12%), transparent ); } :host(:not([disabled])) .track-active { background-color: var(--m3e-slider-active-track-color, ${b.color.primary}); } :host([disabled]) .track-active { background-color: color-mix( in srgb, var(--m3e-slider-disabled-active-track-color, ${b.color.onSurface}) var(--m3e-slider-disabled-active-track-opacity, 38%), transparent ); } :host(:not([disabled])) .tick.active { background-color: var(--m3e-slider-tick-active-color, ${b.color.onPrimary}); } :host([disabled]) .tick.active { background-color: var(--m3e-slider-disabled-tick-active-color, ${b.color.inverseOnSurface}); } :host(:not([disabled])) .tick.inactive { background-color: var(--m3e-slider-tick-inactive-color, ${b.color.onSecondaryContainer}); } :host([disabled]) .tick.inactive { background-color: var(--m3e-slider-disabled-tick-inactive-color, ${b.color.onSurface}); } :host(:not([discrete])) .tick.active { display: none; } :host(:hover[labelled]) .base, :host(:focus-within[labelled]) .base { --_slider-label-visibility: visible; --_slider-label-opacity: 1; --_slider-label-transform: scale(1); } @media (forced-colors: active) { :host(:not([disabled])) .track-inactive { background-color: unset; } :host(:not([disabled])) .base.range .track-inactive.start, :host(:not([disabled])) .track-inactive.end { border: 1px solid CanvasText; box-sizing: border-box; } :host(:not([disabled])) .tick.inactive { background-color: CanvasText; } :host(:not([disabled])) .tick.active { background-color: Canvas; } :host(:not([disabled])) .track-active { background-color: CanvasText; } :host([disabled]) .base.range .track-inactive.start, :host([disabled]) .track-inactive.end { border: 1px solid GrayText; box-sizing: border-box; } :host([disabled]) .track-active { background-color: GrayText; } :host([disabled]) .tick.inactive { background-color: GrayText; } :host([disabled]) .tick.active { background-color: Canvas; } }`,T([s(".base")],Y.prototype,"_base",void 0),T([l()],Y.prototype,"_ticks",void 0),T([r({reflect:!0})],Y.prototype,"size",void 0),T([r({type:Boolean,reflect:!0})],Y.prototype,"disabled",void 0),T([r({type:Boolean,reflect:!0})],Y.prototype,"discrete",void 0),T([r({type:Number})],Y.prototype,"min",void 0),T([r({type:Number})],Y.prototype,"max",void 0),T([r({type:Number})],Y.prototype,"step",void 0),T([r({type:Boolean})],Y.prototype,"labelled",void 0),T([r({attribute:!1})],Y.prototype,"displayWith",void 0),Y=T([f("m3e-slider")],Y);export{Y as M3eSliderElement,P as M3eSliderThumbElement};
|
|
6
|
+
import{LitElement as e,html as t,unsafeCSS as i,css as a}from"lit";import{query as s,property as r,state as l}from"lit/decorators.js";import{ifDefined as n}from"lit/directives/if-defined.js";import{Dirty as o,Touched as c,FormAssociated as h,Focusable as d,Disabled as m,AttachInternals as p,Role as u,formValue as v,DesignToken as b,customElement as f,ResizeController as g,safeStyleMap as k,hasCustomState as y,deleteCustomState as x,prefersReducedMotion as w,addCustomState as $}from"@m3e/web/core";import{M3eDirectionality as _}from"@m3e/web/core/bidi";function T(e,t,i,a){var s,r=arguments.length,l=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,i):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,a);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(l=(r<3?s(l):r>3?s(t,i,l):s(t,i))||l);return r>3&&l&&Object.defineProperty(t,i,l),l}function z(e,t,i,a){if("a"===i&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?a:"a"===i?a.call(e):a?a.value:t.get(e)}function E(e,t,i,a,s){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?s.call(e,i):s?s.value=i:t.set(e,i),i}var M,S;"function"==typeof SuppressedError&&SuppressedError;let P=class extends(o(c(h(d(m(p(u(e,"slider")))))))){constructor(){super(...arguments),M.add(this),this.value=null}get[(M=new WeakSet,v)](){return this.value?.toString()??null}focus(e){this._focusRing&&(this._focusRing.disabled=!0),super.focus(e),this._focusRing&&(this._focusRing.disabled=this.disabled)}firstUpdated(e){super.firstUpdated(e),this._focusRing?.attach(this)}update(e){super.update(e),e.has("value")&&this.dispatchEvent(new Event("value-change",{bubbles:!0}))}render(){return t`<div class="label" aria-hidden="true">${z(this,M,"a",S)}</div><div class="base"><m3e-focus-ring class="focus-ring" ?disabled="${this.disabled}"></m3e-focus-ring><div class="touch" aria-hidden="true"></div><div class="wrapper"><div class="handle"></div></div></div>`}};var C,L,R,W,D,j,A,U,H,N,O,B,G,I,V,X,q,F,J,K,Q;S=function(){return this.closest("m3e-slider")?.displayWith?.(this.value)??this.value?.toString()??""},P.styles=a`:host { display: block; box-sizing: border-box; position: absolute; outline: none; top: 0; bottom: 0; border-radius: var(--m3e-slider-thumb-shape, ${b.shape.corner.full}); user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; height: 100%; border-radius: inherit; } .touch { position: absolute; height: 3rem; left: 0; right: 0; touch-action: none; } .wrapper { display: inline-flex; justify-content: center; height: 100%; border-radius: inherit; width: calc(var(--m3e-slider-thumb-width, 0.25rem) + calc(var(--m3e-slider-thumb-padding, 0.375em) * 2)); } .focus-ring { top: calc(0px - var(--m3e-focus-ring-thickness, 3px)); bottom: calc(0px - var(--m3e-focus-ring-thickness, 3px)); left: var(--m3e-focus-ring-thickness, 3px); right: var(--m3e-focus-ring-thickness, 3px); } .label { user-select: none; position: absolute; display: flex; align-items: center; justify-content: center; visibility: var(--_slider-label-visibility, hidden); opacity: var(--_slider-label-opacity, 0); transform: var(--_slider-label-transform, scale(0)); transition: ${i(`opacity ${b.motion.duration.short3} ${b.motion.easing.standard}, \n transform ${b.motion.duration.short3} ${b.motion.easing.standard},\n visibility ${b.motion.duration.short3} ${b.motion.easing.standard} allow-discrete`)}; width: var(--m3e-slider-label-width, 3rem); height: var(--_m3e-slider-label-height, 2.75rem); top: calc(0px - var(--_m3e-slider-label-height, 2.75rem) - var(--_m3e-slider-label-margin, 0.25rem)); inset-inline-start: calc(0px - 100%); border-radius: var(--m3e-slider-label-shape, ${b.shape.corner.full}); background-color: var(--m3e-slider-label-container-color, ${b.color.inverseSurface}); color: var(--m3e-slider-label-color, ${b.color.inverseOnSurface}); font-size: var(--m3e-slider-label-font-size, ${b.typescale.standard.label.medium.fontSize}); font-weight: var(--m3e-slider-label-font-weight, ${b.typescale.standard.label.medium.fontWeight}); line-height: var(--m3e-slider-label-line-height, ${b.typescale.standard.label.medium.lineHeight}); letter-spacing: var(--m3e-slider-label-tracking, ${b.typescale.standard.label.medium.tracking}); } @starting-style { .label { opacity: 0; transform: scale(0); } } .handle { height: 100%; width: var(--m3e-slider-thumb-width, 0.25rem); border-radius: inherit; transition: ${i(`width ${b.motion.duration.short2} ${b.motion.easing.standard}`)}; } :host(:active:not([aria-disabled="true"])) .handle { width: var(--m3e-slider-thumb-pressed-width, 2px); } :host(:not([aria-disabled="true"])) .handle { background-color: var(--m3e-slider-thumb-color, ${b.color.primary}); } :host([aria-disabled="true"]) .handle { opacity: var(--m3e-slider-thumb-disabled-opacity, 38%); background-color: var(--m3e-slider-thumb-disabled-color, ${b.color.onSurface}); } @media (prefers-reduced-motion) { .label { transition: none; } } @media (forced-colors: active) { .label { forced-color-adjust: none; background-color: CanvasText; color: Canvas; } :host(:not([aria-disabled="true"])) .handle { background-color: CanvasText; } :host([aria-disabled="true"]) .handle { opacity: unset; background-color: GrayText; } }`,T([s(".focus-ring")],P.prototype,"_focusRing",void 0),T([r({type:Number,reflect:!0})],P.prototype,"value",void 0),P=T([f("m3e-slider-thumb")],P);let Y=class extends(p(e)){constructor(){super(),C.add(this),L.set(this,void 0),this._ticks=new Array,R.set(this,new Array),W.set(this,void 0),D.set(this,0),j.set(this,0),A.set(this,0),this.size="extra-small",this.disabled=!1,this.discrete=!1,this.min=0,this.max=100,this.step=1,this.labelled=!1,this.displayWith=null,new g(this,{callback:()=>z(this,C,"m",I).call(this,!0)})}get thumbs(){return z(this,R,"f")}get isRange(){return z(this,R,"f").length>1}get thumb(){return z(this,R,"f")[0]??null}get lowerThumb(){return this.thumb}get upperThumb(){return z(this,R,"f")[1]??null}connectedCallback(){super.connectedCallback(),E(this,L,_.observe(()=>{z(this,C,"m",I).call(this,!0),this.requestUpdate()}),"f")}disconnectedCallback(){super.disconnectedCallback(),z(this,L,"f")?.call(this)}updated(e){super.updated(e),e.has("disabled")&&z(this,R,"f").forEach(e=>e.disabled=this.disabled)}render(){return t`<div class="base" tabindex="${n(this.disabled?void 0:"-1")}" @pointerdown="${z(this,C,"m",X)}" @pointermove="${z(this,C,"m",q)}" @pointerup="${z(this,C,"m",F)}" @keydown="${z(this,C,"m",J)}" @value-change="${z(this,C,"m",K)}"><div class="track" aria-hidden="true"><div class="track-inactive start"></div><div class="track-active"></div><div class="track-inactive end"></div></div><div class="ticks" aria-hidden="true">${this._ticks.map(e=>z(this,C,"m",U).call(this,e))}</div><slot @slotchange="${z(this,C,"m",H)}"></slot></div>`}};L=new WeakMap,R=new WeakMap,W=new WeakMap,D=new WeakMap,j=new WeakMap,A=new WeakMap,C=new WeakSet,U=function(e){return t`<div class="tick ${e.active?"active":"inactive"}" style="${k({transform:`translate(${"rtl"===_.current?-z(this,C,"m",O).call(this,e.value):z(this,C,"m",O).call(this,e.value)}px, 0)`})}"></div>`},H=function(e){E(this,R,e.target.assignedElements({flatten:!0}).filter(e=>e instanceof P),"f"),z(this,R,"f").length>2&&(z(this,R,"f").length=2),this.isRange?this._base?.style.setProperty("--_slider-active-track-middle-shape","0"):this._base?.style.removeProperty("--_slider-active-track-middle-shape"),z(this,C,"m",N).call(this)},N=function(){z(this,R,"f").forEach((e,t)=>{this.disabled&&(e.disabled=!0),e.ariaValueMin=`${z(this,R,"f")[t-1]?.value??this.min}`,e.ariaValueMax=`${z(this,R,"f")[t+1]?.value??this.max}`,e.ariaValueNow=`${e.value??z(this,R,"f")[t-1]?.value??this.min}`})},O=function(e){return(z(this,D,"f")-z(this,j,"f"))*((e-this.min)/(this.max-this.min))},B=function(e){const t="rtl"===_.current?z(this,A,"f")+z(this,D,"f")-e.clientX:e.clientX-z(this,A,"f"),i=0===this.step?1:this.step,a=Math.floor((this.max-this.min)/i),s=t/z(this,D,"f"),r=Math.round(s*a)/a*(this.max-this.min)+this.min;return Math.round(r/i)*i},G=function(e=!1){this.lowerThumb&&(E(this,D,!e&&z(this,D,"f")>0?z(this,D,"f"):this.clientWidth,"f"),E(this,j,!e&&z(this,j,"f")>0?z(this,j,"f"):this.lowerThumb.clientWidth,"f"),E(this,A,!e&&z(this,A,"f")>0?z(this,A,"f"):this.getBoundingClientRect().left,"f"))},I=function(e=!1){if(z(this,C,"m",G).call(this,e),!this.lowerThumb)return;const t=this.lowerThumb.value??this.min,i=z(this,C,"m",O).call(this,t);if(this.lowerThumb.style.transform=`translate(${"rtl"===_.current?-i:i}px, 0)`,this.upperThumb){const e=this.upperThumb.value??t,a=z(this,C,"m",O).call(this,e);this.upperThumb.style.transform=`translate(${"rtl"===_.current?-a:a}px, 0)`,this._base?.classList.toggle("range",!0),this._base?.style.setProperty("--_slider-inactive-track-before-size",`${i}px`),this._base?.style.setProperty("--_slider-active-track-offset",`${i+z(this,j,"f")}px`),this._base?.style.setProperty("--_slider-active-track-size",a-i-z(this,j,"f")+"px"),this._base?.style.setProperty("--_slider-inactive-track-after-offset",`${a+z(this,j,"f")}px`),this._base?.style.setProperty("--_slider-inactive-track-after-size",z(this,D,"f")-z(this,j,"f")-a+"px"),z(this,C,"m",V).call(this,i=>i>t&&i<e)}else this._base?.classList.toggle("range",!1),this._base?.style.setProperty("--_slider-active-track-size",`${i}px`),this._base?.style.setProperty("--_slider-inactive-track-after-offset",`${i+z(this,j,"f")}px`),this._base?.style.setProperty("--_slider-inactive-track-after-size",z(this,D,"f")-i-z(this,j,"f")+"px"),z(this,C,"m",V).call(this,e=>e<t)},V=function(e){if(this._ticks=[],this.discrete&&this.step>1)for(let t=this.min;t<=this.max;t+=this.step)this._ticks.push({value:t,active:e(t)});else this._ticks.push({value:this.min,active:e(this.min)}),this.min<0&&this.max>0&&this._ticks.push({value:0,active:e(0)}),this._ticks.push({value:this.max,active:e(this.max)})},X=function(e){if("mouse"===e.pointerType&&e.button>1)return;if(!this.lowerThumb||this.disabled)return;if(e.target instanceof HTMLElement&&e.target.setPointerCapture(e.pointerId),E(this,W,e.composedPath().find(e=>e instanceof P),"f"),z(this,W,"f"))return;const t=z(this,C,"m",B).call(this,e);if(this.upperThumb){const e=this.lowerThumb.value??this.min,i=this.upperThumb.value??e;if(t<e)this.lowerThumb.disabled||(z(this,C,"m",Q).call(this,this.lowerThumb,t,!0),E(this,W,this.lowerThumb,"f"));else if(t>i)this.upperThumb.disabled||(z(this,C,"m",Q).call(this,this.upperThumb,t,!0),E(this,W,this.upperThumb,"f"));else{t<(e+i)/2&&!this.lowerThumb.disabled?(z(this,C,"m",Q).call(this,this.lowerThumb,t,!0),E(this,W,this.lowerThumb,"f")):this.upperThumb.disabled||(z(this,C,"m",Q).call(this,this.upperThumb,t,!0),E(this,W,this.upperThumb,"f"))}}else this.lowerThumb.disabled||(z(this,C,"m",Q).call(this,this.lowerThumb,t,!0),E(this,W,this.lowerThumb,"f"))},q=function(e){if(!(e.target instanceof HTMLElement)||!e.target.hasPointerCapture(e.pointerId)||!z(this,W,"f")||z(this,W,"f").disabled)return;const t=z(this,C,"m",B).call(this,e);let i=this.min,a=this.max;z(this,W,"f")===this.upperThumb?i=Math.max(i,this.lowerThumb?.value??0):this.upperThumb&&(a=Math.min(a,this.upperThumb.value??this.max)),y(this,"-animating")&&(x(this,"-animating"),z(this,W,"f").style.transition=""),z(this,C,"m",Q).call(this,z(this,W,"f"),Math.min(a,Math.max(i,t)))},F=function(e){"mouse"===e.pointerType&&e.button>1||this.lowerThumb&&!this.disabled&&(e.target instanceof HTMLElement&&e.target.releasePointerCapture(e.pointerId),z(this,W,"f")&&!z(this,W,"f").disabled&&z(this,W,"f").focus())},J=function(e){if(E(this,W,e.composedPath().find(e=>e instanceof P),"f"),!z(this,W,"f"))return;const t=z(this,W,"f").value??0;let i=this.min,a=this.max;switch(z(this,W,"f")===this.upperThumb?i=Math.max(i,this.lowerThumb?.value??0):this.upperThumb&&(a=Math.max(a,this.upperThumb.value??this.max)),e.key){case"Home":z(this,C,"m",Q).call(this,z(this,W,"f"),i),e.preventDefault();break;case"End":z(this,C,"m",Q).call(this,z(this,W,"f"),a),e.preventDefault();break;case"PageUp":"ltr"===_.current?z(this,C,"m",Q).call(this,z(this,W,"f"),Math.min(a,t+(this.step>1?this.step:10))):z(this,C,"m",Q).call(this,z(this,W,"f"),Math.max(i,t-(this.step>1?this.step:10))),e.preventDefault();break;case"PageDown":"ltr"===_.current?z(this,C,"m",Q).call(this,z(this,W,"f"),Math.max(i,t-(this.step>1?this.step:10))):z(this,C,"m",Q).call(this,z(this,W,"f"),Math.min(a,t+(this.step>1?this.step:10))),e.preventDefault();break;case"Down":case"ArrowDown":case"Left":case"ArrowLeft":"ltr"===_.current?z(this,C,"m",Q).call(this,z(this,W,"f"),Math.max(i,t-this.step)):z(this,C,"m",Q).call(this,z(this,W,"f"),Math.min(a,t+this.step)),e.preventDefault();break;case"Up":case"ArrowUp":case"Right":case"ArrowRight":"ltr"===_.current?z(this,C,"m",Q).call(this,z(this,W,"f"),Math.min(a,t+this.step)):z(this,C,"m",Q).call(this,z(this,W,"f"),Math.max(i,t-this.step)),e.preventDefault();break;case" ":e.preventDefault()}},K=function(e){e.stopPropagation(),z(this,C,"m",N).call(this),z(this,C,"m",I).call(this)},Q=function(e,t,i=!1){if(e.value===t)return;const a=e.value;i&&!w()&&($(this,"-animating"),e.addEventListener("transitionend",()=>{e.style.transition="",x(this,"-animating")},{once:!0}),e.style.transition=`transform ${b.motion.spring.fastEffects}`),e.value=t,e.markAsDirty(),e.markAsTouched(),e.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))?e.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})):e.value=a},Y.styles=a`:host { display: inline-block; vertical-align: middle; min-inline-size: var(--m3e-slider-min-width, 12.5rem); user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([disabled])) { cursor: pointer; } :host([size="extra-small"]), :host([size="small"]) { height: var(--m3e-slider-small-height, 2.75rem); } :host(:not(:dir(rtl))[size="extra-small"]) .base, :host(:not(:dir(rtl))[size="small"]) .base { --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${b.shape.corner.smallStart}); --_slider-inactive-track-start-shape: var( --m3e-slider-small-inactive-active-track-start-shape, ${b.shape.corner.smallStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-small-inactive-track-end-shape, ${b.shape.corner.smallEnd} ); } :host(:dir(rtl)[size="extra-small"]) .base, :host(:dir(rtl)[size="small"]) .base { --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${b.shape.corner.smallEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-small-inactive-active-track-start-shape, ${b.shape.corner.smallEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-small-inactive-track-end-shape, ${b.shape.corner.smallStart} ); } :host([size="extra-small"]) .track { height: calc(var(--m3e-slider-extra-small-track-height, 1rem)); } :host([size="small"]) .track { height: calc(var(--m3e-slider-small-track-height, 1.5rem)); } :host([size="medium"]) { height: var(--m3e-slider-medium-height, 3.25rem); } :host(:not(:dir(rtl))[size="medium"]) .base { --_slider-active-track-shape: var( --m3e-slider-medium-active-track-shape, ${b.shape.corner.mediumStart} ); --_slider-inactive-track-start-shape: var( --m3e-slider-medium-inactive-active-track-start-shape, ${b.shape.corner.mediumStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-medium-inactive-track-end-shape, ${b.shape.corner.mediumEnd} ); } :host(:dir(rtl)[size="medium"]) .base { --_slider-active-track-shape: var(--m3e-slider-medium-active-track-shape, ${b.shape.corner.mediumEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-medium-inactive-active-track-start-shape, ${b.shape.corner.mediumEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-medium-inactive-track-end-shape, ${b.shape.corner.mediumStart} ); } :host([size="medium"]) .track { height: var(--m3e-slider-medium-track-height, 2.5rem); } :host([size="large"]) { height: var(--m3e-slider-large-height, 4.25rem); } :host(:not(:dir(rtl))[size="large"]) .base { --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${b.shape.corner.largeStart}); --_slider-inactive-track-start-shape: var( --m3e-slider-large-inactive-active-track-start-shape, ${b.shape.corner.largeStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-large-inactive-track-end-shape, ${b.shape.corner.largeEnd} ); } :host(:dir(rtl)[size="large"]) .base { --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${b.shape.corner.largeEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-large-inactive-active-track-start-shape, ${b.shape.corner.largeEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-large-inactive-track-end-shape, ${b.shape.corner.largeStart} ); } :host([size="large"]) .track { height: var(--m3e-slider-large-track-height, 3.5rem); } :host([size="extra-large"]) { height: var(--m3e-slider-extra-large-height, 6.75rem); } :host(:not(:dir(rtl))[size="extra-large"]) .base { --_slider-active-track-shape: var( --m3e-slider-extra-large-active-track-shape, ${b.shape.corner.extraLargeStart} ); --_slider-inactive-track-start-shape: var( --m3e-slider-extra-large-inactive-active-track-start-shape, ${b.shape.corner.extraLargeStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-extra-large-inactive-track-end-shape, ${b.shape.corner.extraLargeEnd} ); } :host(:dir(rtl)[size="extra-large"]) .base { --_slider-active-track-shape: var( --m3e-slider-extra-large-active-track-shape, ${b.shape.corner.extraLargeEnd} ); --_slider-inactive-track-start-shape: var( --m3e-slider-extra-large-inactive-active-track-start-shape, ${b.shape.corner.extraLargeEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-extra-large-inactive-track-end-shape, ${b.shape.corner.extraLargeStart} ); } :host([size="extra-large"]) .track { height: var(--m3e-slider-extra-large-track-height, 6rem); } :host(:state(-animating)) .track-active, :host(:state(-animating)) .track-inactive.start, :host(:state(-animating)) .track-inactive.end { transition: ${i(`margin-inline-start ${b.motion.spring.fastEffects},\n width ${b.motion.spring.fastEffects}`)}; } .base { display: inline-flex; align-items: center; position: relative; width: 100%; height: 100%; border-radius: inherit; outline: none; touch-action: none; } .track { position: relative; flex: 1 1 auto; touch-action: none; } .track-inactive, .track-active { position: absolute; height: 100%; touch-action: none; } .track-active { margin-inline-start: var(--_slider-active-track-offset, 0px); width: var(--_slider-active-track-size, 0px); border-radius: var(--_slider-active-track-middle-shape, var(--_slider-active-track-shape)); } .track-inactive.start { width: var(--_slider-inactive-track-before-size, 0px); border-radius: var(--_slider-inactive-track-start-shape); } .track-inactive.end { margin-inline-start: var(--_slider-inactive-track-after-offset, 0px); width: var(--_slider-inactive-track-after-size, 0px); border-radius: var(--_slider-inactive-track-end-shape); } .ticks { position: absolute; width: 100%; height: var(--m3e-slider-tick-size, 0.25rem); overflow: visible; touch-action: none; } .tick { position: absolute; top: 0; touch-action: none; inset-inline-start: calc(var(--m3e-slider-tick-size, 0.25rem) + calc(var(--m3e-slider-tick-size, 0.25rem) / 2)); width: var(--m3e-slider-tick-size, 0.25rem); height: var(--m3e-slider-tick-size, 0.25rem); border-radius: var(--m3e-slider-tick-shape, ${b.shape.corner.full}); } :host(:not([disabled])) .track-inactive { background-color: var(--m3e-slider-inactive-track-color, ${b.color.secondaryContainer}); } :host([disabled]) .track-inactive { background-color: color-mix( in srgb, var(--m3e-slider-disabled-inactive-track-color, ${b.color.onSurface}) var(--m3e-slider-disabled-inactive-track-opacity, 12%), transparent ); } :host(:not([disabled])) .track-active { background-color: var(--m3e-slider-active-track-color, ${b.color.primary}); } :host([disabled]) .track-active { background-color: color-mix( in srgb, var(--m3e-slider-disabled-active-track-color, ${b.color.onSurface}) var(--m3e-slider-disabled-active-track-opacity, 38%), transparent ); } :host(:not([disabled])) .tick.active { background-color: var(--m3e-slider-tick-active-color, ${b.color.onPrimary}); } :host([disabled]) .tick.active { background-color: var(--m3e-slider-disabled-tick-active-color, ${b.color.inverseOnSurface}); } :host(:not([disabled])) .tick.inactive { background-color: var(--m3e-slider-tick-inactive-color, ${b.color.onSecondaryContainer}); } :host([disabled]) .tick.inactive { background-color: var(--m3e-slider-disabled-tick-inactive-color, ${b.color.onSurface}); } :host(:not([discrete])) .tick.active { display: none; } :host(:hover[labelled]) .base, :host(:focus-within[labelled]) .base { --_slider-label-visibility: visible; --_slider-label-opacity: 1; --_slider-label-transform: scale(1); } @media (forced-colors: active) { :host(:not([disabled])) .track-inactive { background-color: unset; } :host(:not([disabled])) .base.range .track-inactive.start, :host(:not([disabled])) .track-inactive.end { border: 1px solid CanvasText; box-sizing: border-box; } :host(:not([disabled])) .tick.inactive { background-color: CanvasText; } :host(:not([disabled])) .tick.active { background-color: Canvas; } :host(:not([disabled])) .track-active { background-color: CanvasText; } :host([disabled]) .base.range .track-inactive.start, :host([disabled]) .track-inactive.end { border: 1px solid GrayText; box-sizing: border-box; } :host([disabled]) .track-active { background-color: GrayText; } :host([disabled]) .tick.inactive { background-color: GrayText; } :host([disabled]) .tick.active { background-color: Canvas; } }`,T([s(".base")],Y.prototype,"_base",void 0),T([l()],Y.prototype,"_ticks",void 0),T([r({reflect:!0})],Y.prototype,"size",void 0),T([r({type:Boolean,reflect:!0})],Y.prototype,"disabled",void 0),T([r({type:Boolean,reflect:!0})],Y.prototype,"discrete",void 0),T([r({type:Number})],Y.prototype,"min",void 0),T([r({type:Number})],Y.prototype,"max",void 0),T([r({type:Number})],Y.prototype,"step",void 0),T([r({type:Boolean})],Y.prototype,"labelled",void 0),T([r({attribute:!1})],Y.prototype,"displayWith",void 0),Y=T([f("m3e-slider")],Y);export{Y as M3eSliderElement,P as M3eSliderThumbElement};
|
|
7
7
|
//# sourceMappingURL=slider.min.js.map
|