@awc-ui/core 1.0.0-beta.13 → 1.0.0-beta.14
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/bin/templates/astro/package.json +2 -2
- package/bin/templates/html/index.html +2 -2
- package/bin/templates/html/package.json +2 -2
- package/bin/templates/next/package.json +3 -3
- package/bin/templates/nuxt/package.json +2 -2
- package/bin/templates/sveltekit/package.json +2 -2
- package/dist/cjs/md-text-field.cjs.entry.js +19 -9
- package/dist/cjs/md-text-field.cjs.entry.js.map +1 -1
- package/dist/collection/components/md-text-field/md-text-field.js +19 -11
- package/dist/collection/components/md-text-field/md-text-field.js.map +1 -1
- package/dist/components/md-autocomplete.js +1 -1
- package/dist/components/md-date-picker.js +1 -1
- package/dist/components/md-multi-select.js +1 -1
- package/dist/components/md-number-field.js +1 -1
- package/dist/components/md-select.js +1 -1
- package/dist/components/md-table-pagination.js +1 -1
- package/dist/components/md-text-field.js +1 -1
- package/dist/components/md-time-picker.js +1 -1
- package/dist/components/md-transfer-list.js +1 -1
- package/dist/components/{p-yTagOl1N.js → p-B89I5ETZ.js} +2 -2
- package/dist/components/{p-oa3iIi7G.js → p-CpQwlYEw.js} +2 -2
- package/dist/components/p-CpQwlYEw.js.map +1 -0
- package/dist/components-csr/md-autocomplete.js +1 -1
- package/dist/components-csr/md-date-picker.js +1 -1
- package/dist/components-csr/md-multi-select.js +1 -1
- package/dist/components-csr/md-number-field.js +1 -1
- package/dist/components-csr/md-select.js +1 -1
- package/dist/components-csr/md-table-pagination.js +1 -1
- package/dist/components-csr/md-text-field.js +1 -1
- package/dist/components-csr/md-time-picker.js +1 -1
- package/dist/components-csr/md-transfer-list.js +1 -1
- package/dist/components-csr/{p-DfiO8Z3H.js → p-CAZGJ13q.js} +2 -2
- package/dist/components-csr/{p-mlihRBVo.js → p-Dlwb8Ytw.js} +2 -2
- package/dist/components-csr/p-Dlwb8Ytw.js.map +1 -0
- package/dist/esm/md-text-field.entry.js +19 -9
- package/dist/esm/md-text-field.entry.js.map +1 -1
- package/dist/md3/md3.esm.js +1 -1
- package/dist/md3/{p-8ddddeea.entry.js → p-f1566dea.entry.js} +2 -2
- package/dist/md3/p-f1566dea.entry.js.map +1 -0
- package/dist/sources/{fa66a646f8a88412406c9a78776ca3a57d863ce80aa53d65eb860ff680bf2d97 → 08be276da49a9f7b46a1b5780107c9d03e37acea47fdcd7126baf12e2e943237}/md-text-field.tsx +10 -4
- package/hydrate/index.js +19 -9
- package/hydrate/index.mjs +19 -9
- package/package.json +2 -2
- package/dist/components/p-oa3iIi7G.js.map +0 -1
- package/dist/components-csr/p-mlihRBVo.js.map +0 -1
- package/dist/md3/p-8ddddeea.entry.js.map +0 -1
- /package/dist/components/{p-yTagOl1N.js.map → p-B89I5ETZ.js.map} +0 -0
- /package/dist/components-csr/{p-DfiO8Z3H.js.map → p-CAZGJ13q.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as i,H as t,c as e,h as r,d as a,t as s}from"./p-CB5yqdO-.js";import{g as n}from"./p-DrC4gWIo.js";import{d as o}from"./p-B6_eXaO5.js";import{d}from"./p-Cqg4krGd.js";import{d as l}from"./p-CfwUHJJY.js";import{d as c}from"./p-oa3iIi7G.js";const h=()=>`:host{--_trigger-color:var(--md-time-picker-trigger-color, var(--md-sys-color-on-surface, #1c1b1f));--_trigger-outline-color:var(--md-time-picker-trigger-outline-color, var(--md-sys-color-outline, #79747e));--_trigger-hover-color:var(--md-time-picker-trigger-hover-color, var(--md-sys-color-on-surface, #1c1b1f));--_trigger-focus-color:var(--md-time-picker-trigger-focus-color, var(--md-sys-color-primary, #6750a4));--_trigger-icon-color:var(--md-time-picker-trigger-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_dialog-color:var(--md-time-picker-dialog-color, var(--md-sys-color-surface-container-high, #ece6f0));--_dialog-on-color:var(--md-time-picker-dialog-on-color, var(--md-sys-color-on-surface, #1c1b1f));--_dialog-shape:var(--md-time-picker-dialog-shape, var(--md-sys-shape-corner-extra-large, 28px));--_dialog-elevation:var(--md-time-picker-dialog-elevation, var(--md-sys-elevation-3, 0 4px 8px 3px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.3)));--_scrim-color:var(--md-time-picker-scrim-color, rgba(0, 0, 0, 0.32));--_headline-color:var(--md-time-picker-headline-color, var(--md-sys-color-on-surface-variant, #49454f));--_time-display-shape:var( --md-time-picker-input-shape, var(--md-time-picker-time-display-shape, var(--md-sys-shape-corner-small, 8px)) );--_period-bg:var(--md-time-picker-period-bg, transparent);--_period-color:var(--md-time-picker-period-color, var(--md-sys-color-on-surface, #1c1b1f));--_period-active-bg:var(--md-time-picker-period-active-bg, var(--md-sys-color-tertiary-container, #ffd8e4));--_period-active-color:var(--md-time-picker-period-active-color, var(--md-sys-color-on-tertiary-container, #370b1e));--_period-outline-color:var(--md-time-picker-period-outline-color, var(--md-sys-color-outline, #79747e));--_dial-bg:var(--md-time-picker-dial-bg, var(--md-sys-color-surface-container-highest, #e6e0e9));--_dial-number-color:var(--md-time-picker-dial-number-color, var(--md-sys-color-on-surface, #1c1b1f));--_dial-number-active-color:var(--md-time-picker-dial-number-active-color, var(--md-sys-color-on-primary, #ffffff));--_dial-hand-color:var(--md-time-picker-dial-hand-color, var(--md-sys-color-primary, #6750a4));--_dial-target-size:var(--md-time-picker-dial-target-size, 48px);--_input-bg:var(--md-time-picker-input-bg, var(--md-sys-color-surface-container-highest, #e6e0e9));--_input-color:var(--md-time-picker-input-color, var(--md-sys-color-on-surface, #1c1b1f));--_input-outline-color:var(--md-time-picker-input-outline-color, transparent);--_input-active-outline-color:var(--md-time-picker-input-active-outline-color, var(--md-sys-color-primary, #6750a4));--_input-error-color:var(--md-time-picker-input-error-color, var(--md-sys-color-error, #b3261e));--_input-hint-color:var(--md-time-picker-input-hint-color, var(--md-sys-color-on-surface-variant, #49454f));--_action-color:var(--md-time-picker-action-color, var(--md-sys-color-primary, #6750a4));--_action-primary-color:var(--md-time-picker-action-primary-color, var(--md-sys-color-primary, #6750a4));--_toggle-icon-color:var(--md-time-picker-toggle-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_dialog-padding:var(--md-time-picker-dialog-padding, var(--md-sys-spacing-inset-xl, 24px));--_dialog-min-width:var(--md-time-picker-dialog-min-width, 328px);--_dialog-horizontal-width-12h:var(--md-time-picker-dialog-horizontal-width-12h, 572px);--_dialog-horizontal-width-24h:var(--md-time-picker-dialog-horizontal-width-24h, 608px);--_dialog-enter-duration:var(--md-time-picker-dialog-enter-duration, var(--md-sys-motion-duration-long2, 500ms));--_mode-swap-duration:var(--md-time-picker-mode-swap-duration, var(--md-sys-motion-duration-long1, 450ms));--_motion-easing:var(--md-time-picker-motion-easing, var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1)));--_trigger-min-width:var(--md-time-picker-trigger-min-width, 240px);--_trigger-icon-size:var(--md-time-picker-trigger-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_trigger-shape:var(--md-time-picker-trigger-shape, var(--md-sys-shape-corner-extra-small, 4px));--_headline-font-size:var(--md-time-picker-headline-font-size, max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px)));--_headline-font-weight:var(--md-time-picker-headline-font-weight, var(--md-sys-typescale-label-medium-font-weight, 500));--_headline-spacing:var(--md-time-picker-headline-spacing, max(4px, calc(20px + var(--md-sys-density-scale, 0) * 2px)));--_input-height:var(--md-time-picker-input-height, calc(var(--_input-font-size) * 1.6));--_input-width:var(--md-time-picker-input-width, calc(var(--_input-height) * 4 / 3));--_input-border-width:var(--md-time-picker-input-border-width, 2px);--_input-font-size:var(--md-time-picker-input-font-size, max(32px, calc(45px + var(--md-sys-density-scale, 0) * 2px)));--_input-font-weight:var(--md-time-picker-input-font-weight, var(--md-sys-typescale-display-medium-font-weight, 400));--_input-active-bg:var(--md-time-picker-input-active-bg, var(--md-sys-color-primary-container, #eaddff));--_input-active-color:var(--md-time-picker-input-active-color, var(--md-sys-color-on-primary-container, #21005d));--_input-separator-color:var(--md-time-picker-input-separator-color, var(--_dialog-on-color));--_input-separator-width:var(--md-time-picker-input-separator-width, 24px);--_input-hint-gap:var(--md-time-picker-input-hint-gap, var(--md-sys-spacing-gap-xs, 4px));--_input-hover-opacity:var(--md-time-picker-input-hover-opacity, 8%);--_period-shape:var(--md-time-picker-period-shape, var(--md-sys-shape-corner-small, 8px));--_period-outline-width:var(--md-time-picker-period-outline-width, 1px);--_period-vertical-width:var(--md-time-picker-period-vertical-width, 52px);--_period-vertical-height:var(--md-time-picker-period-vertical-height, 80px);--_period-vertical-height-input:var(--md-time-picker-period-vertical-height-input, 72px);--_period-horizontal-width:var(--md-time-picker-period-horizontal-width, 216px);--_period-horizontal-height:var(--md-time-picker-period-horizontal-height, 38px);--_period-font-size:var(--md-time-picker-period-font-size, max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px)));--_period-font-weight:var(--md-time-picker-period-font-weight, 500);--_period-hover-opacity:var(--md-time-picker-period-hover-opacity, 8%);--_dial-size:var(--md-time-picker-dial-size, 256px);--_dial-center-size:var(--md-time-picker-dial-center-size, 8px);--_dial-hand-width:var(--md-time-picker-dial-hand-width, 2px);--_dial-number-font-size:var(--md-time-picker-dial-number-font-size, max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px)));--_dial-number-font-weight:var(--md-time-picker-dial-number-font-weight, var(--md-sys-typescale-body-large-font-weight, 400));--_dial-number-active-font-weight:var(--md-time-picker-dial-number-active-font-weight, 500);--_footer-gap:var(--md-time-picker-footer-gap, var(--md-sys-spacing-gap-sm, 8px));--_actions-gap:var(--md-time-picker-actions-gap, var(--md-sys-spacing-gap-sm, 8px));--_action-shape:var(--md-time-picker-action-shape, var(--md-sys-shape-corner-full, 9999px));--_action-confirm-bg:var(--md-time-picker-action-confirm-bg, transparent);--_action-cancel-bg:var(--md-time-picker-action-cancel-bg, transparent);--_toggle-bg:var(--md-time-picker-toggle-bg, transparent);--_toggle-icon-size:var(--md-time-picker-toggle-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_toggle-shape:var(--md-time-picker-toggle-shape, var(--md-sys-shape-corner-full, 9999px));display:inline-block;position:relative;font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);color:var(--_dialog-on-color)}:host([hide-trigger]){display:contents}:host([disabled]){cursor:not-allowed}.md-time-picker__field{min-inline-size:var(--_trigger-min-width);display:inline-flex;inline-size:auto;cursor:pointer;--md-text-field-label-color:var(--_trigger-icon-color);--md-text-field-input-color:var(--_trigger-color);--md-text-field-outline-color:var(--_trigger-outline-color);--md-text-field-active-indicator-color:var(--_trigger-focus-color);--md-text-field-icon-color:var(--_trigger-icon-color);--md-text-field-container-shape:var(--_trigger-shape)}.md-time-picker__field--disabled{cursor:not-allowed}.md-time-picker__field-icon{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons'), sans-serif;font-size:var(--_trigger-icon-size);line-height:1;color:var(--_trigger-icon-color);flex-shrink:0}.md-time-picker__field:hover:not(.md-time-picker__field--disabled) .md-time-picker__field-icon{color:var(--_trigger-hover-color)}:host(.md-time-picker--open) .md-time-picker__field{--md-text-field-active-indicator-color:var(--_trigger-focus-color);--md-text-field-icon-color:var(--_trigger-focus-color)}.md-time-picker__scrim{position:fixed;inset:0;z-index:var(--md-sys-z-index-popup, 1000);display:flex;align-items:center;justify-content:center;background:var(--_scrim-color);padding:var(--md-sys-spacing-inset-xl, 24px);animation:md-time-picker-scrim-in var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)) forwards;box-sizing:border-box}@keyframes md-time-picker-scrim-in{from{opacity:0}to{opacity:1}}.md-time-picker__dialog{background:var(--_dialog-color);color:var(--_dialog-on-color);border-radius:var(--_dialog-shape);box-shadow:var(--_dialog-elevation);padding:var(--_dialog-padding);width:min(var(--_dialog-min-width), calc(100vw - 48px));max-block-size:calc(100vh - 48px);max-block-size:calc(100dvh - 48px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;animation:md-time-picker-dialog-in var(--_dialog-enter-duration) var(--_motion-easing) both;transform-origin:center top}.md-time-picker__dialog--input{width:min(var(--_dialog-min-width), calc(100vw - 48px))}.md-time-picker__dialog--horizontal{width:min(var(--_dialog-horizontal-width-12h), calc(100vw - 48px))}:host(.md-time-picker--format-24h) .md-time-picker__dialog--horizontal{width:min(var(--_dialog-horizontal-width-24h), calc(100vw - 48px))}@keyframes md-time-picker-dialog-in{from{opacity:0;transform:translateY(12px) scale(0.88)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes md-time-picker-mode-in{from{opacity:0;transform:translateY(8px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}.md-time-picker__headline{font-size:var(--_headline-font-size);font-weight:var(--_headline-font-weight);letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing, 0.5px);line-height:var(--md-sys-typescale-label-medium-line-height, 16px);color:var(--_headline-color);text-transform:none;margin-block-end:var(--_headline-spacing);text-align:start}.md-time-picker__body{display:flex;flex-direction:column}.md-time-picker__body--horizontal{flex-direction:row;align-items:flex-start;column-gap:52px}.md-time-picker__time-area{display:flex;flex-direction:column;flex:0 0 auto}.md-time-picker__body--horizontal .md-time-picker__dial-wrap{flex:0 0 auto}.md-time-picker__body--horizontal .md-time-picker__input-area{margin-block-end:0}.md-time-picker__body--horizontal .md-time-picker__period--horizontal{margin-block-start:var(--md-sys-spacing-inset-lg, 16px);margin-block-end:0;margin-inline:0}.md-time-picker__period{display:inline-flex;border:var(--_period-outline-width) solid var(--_period-outline-color);box-sizing:border-box}.md-time-picker__period--vertical{flex-direction:column;border-radius:var(--_period-shape);margin-inline-start:var(--md-sys-spacing-inset-md, 12px);inline-size:var(--_period-vertical-width);block-size:var(--_period-vertical-height)}.md-time-picker__input-area .md-time-picker__period--vertical{block-size:var(--_period-vertical-height-input)}.md-time-picker__period--horizontal{flex-direction:row;border-radius:var(--_period-shape);margin-block-start:var(--md-sys-spacing-inset-md, 12px);margin-block-end:var(--md-sys-spacing-inset-xl, 24px);margin-inline:auto;inline-size:var(--_period-horizontal-width);block-size:var(--_period-horizontal-height);align-self:center}.md-time-picker__period-btn{flex:1 1 0;background:var(--_period-bg);color:var(--_period-color);border:none;font:inherit;font-size:var(--_period-font-size);font-weight:var(--_period-font-weight);letter-spacing:0.1px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative;overflow:hidden;transition:background-color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}.md-time-picker__period-btn-label{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center}.md-time-picker__period--vertical .md-time-picker__period-btn{block-size:50%}.md-time-picker__period--horizontal .md-time-picker__period-btn{inline-size:50%;block-size:100%}.md-time-picker__period-btn:hover{background:color-mix(in srgb, var(--_period-color) var(--_period-hover-opacity), transparent)}.md-time-picker__period-btn--active{background:var(--_period-active-bg);color:var(--_period-active-color)}.md-time-picker__period-btn--active:hover{background:color-mix(in srgb, var(--_period-active-color) var(--_period-hover-opacity), var(--_period-active-bg))}.md-time-picker__period-btn:focus-visible{outline:3px solid var(--md-sys-color-secondary, #625b71);outline-offset:2px;z-index:1}.md-time-picker__period--vertical .md-time-picker__period-btn--am{border-block-end:var(--_period-outline-width) solid var(--_period-outline-color);border-start-start-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-start-end-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__period--vertical .md-time-picker__period-btn--pm{border-end-start-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-end-end-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__period--horizontal .md-time-picker__period-btn--am{border-inline-end:var(--_period-outline-width) solid var(--_period-outline-color);border-start-start-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-end-start-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__period--horizontal .md-time-picker__period-btn--pm{border-start-end-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-end-end-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__dial-wrap{display:flex;justify-content:center;align-items:center;margin-block-end:var(--md-sys-spacing-inset-xl, 24px);animation:md-time-picker-mode-in var(--_mode-swap-duration) var(--_motion-easing) both;transform-origin:center top}.md-time-picker__dial{position:relative;width:var(--_dial-size);height:var(--_dial-size);background:var(--_dial-bg);border-radius:50%;touch-action:none;user-select:none;cursor:pointer;box-sizing:border-box}:host([disabled]) .md-time-picker__dial{pointer-events:none;opacity:0.38}.md-time-picker__dial-center{position:absolute;width:var(--_dial-center-size);height:var(--_dial-center-size);border-radius:50%;background:var(--_dial-hand-color);left:50%;top:50%;transform:translate(-50%, -50%);z-index:2}.md-time-picker__dial-hand{position:absolute;left:50%;top:auto;bottom:50%;width:0;height:50%;background:transparent;transform-origin:50% 100%;transform:rotate(0deg);transition:transform 200ms var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));pointer-events:none;z-index:1}.md-time-picker__dial-hand-line{position:absolute;left:50%;top:auto;bottom:0;width:var(--_dial-hand-width);height:var(--md-time-picker-hand-length, var(--_hand-length-dynamic, 100%));background:var(--_dial-hand-color);transform:translateX(-50%)}.md-time-picker__dial-hand-tip{position:absolute;left:50%;top:calc(100% - var(--md-time-picker-hand-length, var(--_hand-length-dynamic, 100%)));bottom:auto;width:var(--_dial-target-size);height:var(--_dial-target-size);background:var(--_dial-hand-color);border-radius:50%;transform:translate(-50%, -50%)}.md-time-picker__dial-hand-dot{display:none}.md-time-picker__dial-number{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:var(--_dial-target-size);height:var(--_dial-target-size);margin-left:calc(-1 * var(--_dial-target-size) / 2);margin-top:calc(-1 * var(--_dial-target-size) / 2);border-radius:50%;font-family:var(--md-sys-typescale-body-large-font-family, var(--md-sys-typescale-body-large-font, inherit));font-size:var(--_dial-number-font-size);font-weight:var(--_dial-number-font-weight);line-height:1;letter-spacing:0;color:var(--_dial-number-color);pointer-events:none;user-select:none;z-index:2;transition:color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));font-variant-numeric:tabular-nums}.md-time-picker__dial-number--inner{color:var(--_dial-number-color);opacity:1}.md-time-picker__dial-number--active{color:var(--_dial-number-active-color);font-weight:var(--_dial-number-active-font-weight);opacity:1}.md-time-picker__input-area{margin-block-end:var(--md-sys-spacing-inset-xl, 24px);animation:md-time-picker-mode-in var(--_mode-swap-duration) var(--_motion-easing) both;transform-origin:center top}.md-time-picker__input-time{display:flex;align-items:flex-start;justify-content:center;gap:0}.md-time-picker__input-group{display:flex;flex-direction:column;align-items:center;gap:var(--_input-hint-gap)}.md-time-picker__input{font-family:inherit;font-size:var(--_input-font-size);font-weight:var(--_input-font-weight);line-height:1;letter-spacing:var(--md-sys-typescale-display-medium-letter-spacing, 0);background:var(--_input-bg);color:var(--_input-color);border:var(--_input-border-width) solid var(--_input-outline-color);border-radius:var(--_time-display-shape);padding-block:0;padding-inline:16px;inline-size:var(--_input-width);block-size:var(--_input-height);text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;box-sizing:border-box}.md-time-picker__input::-webkit-outer-spin-button,.md-time-picker__input::-webkit-inner-spin-button{appearance:none;margin:0}.md-time-picker__input:hover{background:color-mix(in srgb, var(--_input-color) var(--_input-hover-opacity), var(--_input-bg))}.md-time-picker__input:focus{outline:none;background:var(--_input-bg);border-color:var(--_input-active-outline-color)}.md-time-picker__input--active{background:var(--_input-active-bg);color:var(--_input-active-color);border-color:transparent}.md-time-picker__input--active:focus{background:var(--_input-active-bg);color:var(--_input-active-color);border-color:var(--_input-active-outline-color)}.md-time-picker__input--active:hover{background:color-mix( in srgb, var(--_input-active-color) var(--_input-hover-opacity), var(--_input-active-bg) )}.md-time-picker__input--error,.md-time-picker__input--error:focus{border-color:var(--_input-error-color);color:var(--_input-error-color)}.md-time-picker__input-separator{font-size:var(--_input-font-size);font-weight:var(--_input-font-weight);line-height:1;color:var(--_input-separator-color);display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_input-separator-width);block-size:var(--_input-height);align-self:flex-start}.md-time-picker__input-hint{font-size:var(--md-sys-typescale-body-small-font-size, 12px);letter-spacing:var(--md-sys-typescale-body-small-letter-spacing, 0.4px);color:var(--_input-hint-color)}.md-time-picker__input--error~.md-time-picker__input-hint{color:var(--_input-error-color)}.md-time-picker__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--_footer-gap)}.md-time-picker__toggle-mode{--md-icon-button-color:var(--_toggle-icon-color);--md-icon-button-icon-color:var(--_toggle-icon-color);--md-icon-button-icon-size:var(--_toggle-icon-size);--md-icon-button-container-color:var(--_toggle-bg);--md-icon-button-container-shape:var(--_toggle-shape)}.md-time-picker__actions{display:inline-flex;align-items:center;gap:var(--_actions-gap)}.md-time-picker__action-btn{--md-button-label-color:var(--_action-color);--md-button-container-color:var(--_action-cancel-bg);--md-button-container-shape:var(--_action-shape)}.md-time-picker__action-btn--primary{--md-button-label-color:var(--_action-primary-color);--md-button-container-color:var(--_action-confirm-bg);--md-button-container-shape:var(--_action-shape)}@media (prefers-reduced-motion: reduce){.md-time-picker__scrim,.md-time-picker__dialog,.md-time-picker__dial-wrap,.md-time-picker__input-area,.md-time-picker__dial-hand,.md-time-picker__period-btn,.md-time-picker__dial-number,.md-time-picker__input{animation:none !important;transition:none !important}}.md-time-picker__sr-status{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (forced-colors: active){.md-time-picker__dialog{border:1px solid CanvasText}.md-time-picker__period,.md-time-picker__input,.md-time-picker__dial{border:1px solid CanvasText}.md-time-picker__input:hover,.md-time-picker__period-btn:hover{background:Canvas;color:CanvasText;forced-color-adjust:none}.md-time-picker__input:focus{background:Canvas;color:CanvasText;border-color:Highlight;forced-color-adjust:none}.md-time-picker__input--active,.md-time-picker__input--active:hover,.md-time-picker__input--active:focus,.md-time-picker__period-btn--active,.md-time-picker__period-btn--active:hover,.md-time-picker__dial-hand-line,.md-time-picker__dial-hand-tip,.md-time-picker__dial-center{background:Highlight;color:HighlightText;forced-color-adjust:none}.md-time-picker__input--error,.md-time-picker__input--error:focus,.md-time-picker__input--error:hover{background:Canvas;border-color:LinkText;color:LinkText;forced-color-adjust:none}.md-time-picker__period-btn:focus-visible{outline-color:Highlight}.md-time-picker__period--vertical .md-time-picker__period-btn--am{border-block-end-color:CanvasText}.md-time-picker__period--horizontal .md-time-picker__period-btn--am{border-inline-end-color:CanvasText}.md-time-picker__period-btn md-ripple{display:none}}:host-context([data-theme='dark']){--_scrim-color:var(--md-time-picker-scrim-color, rgba(0, 0, 0, 0.6))}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}:host([hidden]){display:none !important}`;const p=[];let m="";let u=0;const _=i(class i extends t{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdChange=e(this,"mdChange",7);this.mdInput=e(this,"mdInput",7);this.mdOpen=e(this,"mdOpen",7);this.mdClose=e(this,"mdClose",7);this.mdCancel=e(this,"mdCancel",7);this.mdModeChange=e(this,"mdModeChange",7);this.mdValidityChange=e(this,"mdValidityChange",5);this.internals=this.attachInternals();this.variant="input";this.format="12h";this.value="";this.name="";this.min="";this.max="";this.required=false;this.label="Select time";this.supportingText="";this.error=false;this.errorText="";this.reserveSupportingSpace=false;this.headline="";this.headlineInputLabel="Enter time";this.headlineDialLabel="Select time";this.valueMissingLabel="Please select a time.";this.rangeUnderflowLabel="Please select a time at or after {min}.";this.rangeOverflowLabel="Please select a time at or before {max}.";this.rangeOutsideLabel="Please select a time at or after {min} or at or before {max}.";this.disabled=false;this.open=false;this.minuteStep=1;this.cancelLabel="Cancel";this.okLabel="OK";this.hideTrigger=false;this.amLabel="AM";this.pmLabel="PM";this.hourLabel="Hour";this.minuteLabel="Minute";this.toggleDialLabel="Toggle dial picker";this.toggleInputLabel="Toggle keyboard input";this.periodLabel="Period";this.periodLayout="vertical";this.orientation="vertical";this.responsive=false;this.density=0;this.isOpen=false;this.mode="dial";this.selecting="hour";this.draftHours=12;this.draftMinutes=0;this.hourInputValue="";this.minuteInputValue="";this.hourInputError=false;this.minuteInputError=false;this.viewportWidth=0;this.viewportHeight=0;this.formDisabled=false;this.committedHours=12;this.committedMinutes=0;this.committedValue="";this.defaultValue="";this.isDragging=false;this.hourInputSeeded=false;this.minuteInputSeeded=false;this.previousFocus=null;this.openSeq=0;this.uid=Math.random().toString(36).slice(2,11);this.headlineId=`md-time-picker-headline-${this.uid}`;this.hourCumulativeAngle=0;this.minuteCumulativeAngle=0;this.lastHandMode=null;this.lastValidityKey=null;this.lastInputEmitKey=-1;this.openPicker=()=>{if(this.isDisabled||this.isOpen)return;this.previousFocus=i.deepActiveElement();this.sampleViewport();this.attachOpenEnvironment();this.draftHours=this.committedHours;this.draftMinutes=this.committedMinutes;this.lastInputEmitKey=this.draftHours*60+this.draftMinutes;this.selecting="hour";this.mode=this.effectiveVariant;this.hourInputValue=String(this.displayHour);this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");this.hourInputError=false;this.minuteInputError=false;this.hourInputSeeded=false;this.minuteInputSeeded=false;this.hourCumulativeAngle=0;this.minuteCumulativeAngle=0;this.lastHandMode=null;this.openSeq=++u;this.isOpen=true;this.open=true;this.mdOpen.emit();requestAnimationFrame((()=>this.focusInitial()))};this.closePicker=()=>{if(!this.isOpen)return;this.isOpen=false;this.open=false;this.detachOpenEnvironment();this.mdClose.emit();this.restoreFocusAfterClose()};this.cancel=()=>{if(!this.isOpen)return;this.draftHours=this.committedHours;this.draftMinutes=this.committedMinutes;this.mdCancel.emit();this.closePicker()};this.confirm=()=>{if(this.isDisabled)return;this.commitInputs();if(this.hourInputError||this.minuteInputError)return;this.committedHours=this.draftHours;this.committedMinutes=this.draftMinutes;const i=this.buildChangeDetail(this.draftHours,this.draftMinutes);this.committedValue=i.value;this.value=i.value;this.updateFormValue();this.mdChange.emit(i);this.closePicker()};this.setSelecting=i=>{this.selecting=i};this.togglePeriod=i=>{if(this.format==="24h")return;if(this.period===i)return;if(i==="AM"&&this.draftHours>=12)this.draftHours-=12;else if(i==="PM"&&this.draftHours<12)this.draftHours+=12;this.emitInputIfChanged();this.syncInputsFromDraft()};this.onPeriodKeyDown=i=>{if(this.format==="24h")return;const t=i.key;const e=t==="ArrowLeft"||t==="ArrowRight"||t==="ArrowUp"||t==="ArrowDown"||t==="Home"||t==="End";if(!e&&t!==" "&&t!=="Spacebar")return;i.preventDefault();let r;if(t==="Home")r="AM";else if(t==="End")r="PM";else if(t===" "||t==="Spacebar")r=this.period;else r=this.period==="AM"?"PM":"AM";this.togglePeriod(r);requestAnimationFrame((()=>{const i=this.el.shadowRoot;if(!i)return;const t=i.querySelector(r==="AM"?'[part="period-am"]':'[part="period-pm"]');t?.focus()}))};this.toggleMode=()=>{const i=this.mode;this.mode=this.mode==="dial"?"input":"dial";this.mdModeChange.emit({mode:this.mode,previousMode:i});this.selecting="hour";this.hourInputValue=String(this.displayHour);this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");this.hourInputError=false;this.minuteInputError=false;this.hourInputSeeded=false;this.minuteInputSeeded=false;requestAnimationFrame((()=>{this.syncInputFields();this.focusInputSelectingAll(this.hourInputEl)}))};this.bindHourInput=i=>{if(!i){this.hourInputSeeded=false;this.hourInputEl=undefined;return}this.hourInputEl=i;if(!this.hourInputSeeded){i.value=this.hourInputValue;this.hourInputSeeded=true}};this.bindMinuteInput=i=>{if(!i){this.minuteInputSeeded=false;this.minuteInputEl=undefined;return}this.minuteInputEl=i;if(!this.minuteInputSeeded){i.value=this.minuteInputValue;this.minuteInputSeeded=true}};this.applyDialPointer=i=>{const t=this.dialPointFromEvent(i);if(!t)return;const{angle:e,distance:r,radius:a}=t;if(this.selecting==="hour"){const i=Math.round(e/30)%12;if(this.format==="12h"){const t=i===0?12:i;this.setHour24FromDisplay(t,this.period)}else{const t=r<a*.66;if(t){this.draftHours=i===0?0:12+i}else{this.draftHours=i===0?12:i}}}else{const i=Math.max(1,Math.min(30,this.minuteStep||1));let t=Math.round(e/6);t=Math.round(t/i)*i%60;this.draftMinutes=t}this.emitInputIfChanged();this.syncInputsFromDraft()};this.onDialPointerDown=i=>{if(this.isDisabled)return;i.preventDefault();this.isDragging=true;i.currentTarget?.setPointerCapture?.(i.pointerId);this.applyDialPointer(i)};this.onDialPointerMove=i=>{if(!this.isDragging)return;this.applyDialPointer(i)};this.onDialPointerUp=i=>{if(!this.isDragging)return;this.isDragging=false;i.currentTarget?.releasePointerCapture?.(i.pointerId);if(this.selecting==="hour"){this.selecting="minute";requestAnimationFrame((()=>{this.focusInputSelectingAll(this.minuteInputEl)}))}};this.onHostKeyDown=i=>{if(!this.isOpen)return;if(i.key==="Escape"){i.preventDefault();i.stopPropagation();this.cancel()}};this.commitInputs=()=>{this.applyInputsToDraft("both")};this.onHourInput=i=>{const t=i.target;const e=t.value.replace(/\D/g,"").slice(0,2);if(t.value!==e)t.value=e;this.hourInputValue=e;this.applyInputsToDraft("hour")};this.onMinuteInput=i=>{const t=i.target;const e=t.value.replace(/\D/g,"").slice(0,2);if(t.value!==e)t.value=e;this.minuteInputValue=e;this.applyInputsToDraft("minute")};this.onHourBlur=()=>{if(this.hourInputEl)this.hourInputValue=this.hourInputEl.value;this.commitInputs();if(!this.hourInputError&&parseInt(this.hourInputValue,10)===this.displayHour){this.hourInputValue=String(this.displayHour);if(this.hourInputEl)this.hourInputEl.value=this.hourInputValue}};this.onMinuteBlur=()=>{if(this.minuteInputEl)this.minuteInputValue=this.minuteInputEl.value;this.commitInputs();if(!this.minuteInputError&&parseInt(this.minuteInputValue,10)===this.draftMinutes){this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");if(this.minuteInputEl)this.minuteInputEl.value=this.minuteInputValue}};this.onInputKeyDown=i=>{if(i.key==="Enter"){i.preventDefault();if(this.hourInputEl)this.hourInputValue=this.hourInputEl.value;if(this.minuteInputEl)this.minuteInputValue=this.minuteInputEl.value;this.confirm();return}if(i.key==="ArrowUp"||i.key==="ArrowDown"){const t=i.target;const e=t===this.hourInputEl||t?.classList?.contains("md-time-picker__input-hour")===true;const r=t===this.minuteInputEl||t?.classList?.contains("md-time-picker__input-minute")===true;if(!e&&!r)return;i.preventDefault();this.bumpFocusedInput(i.key==="ArrowUp"?1:-1,e?"hour":"minute")}};this.onTriggerClick=i=>{if(this.isDisabled)return;i.preventDefault();this.openPicker()};this.onTriggerKeyDown=i=>{if(this.isDisabled)return;if(i.key==="Enter"||i.key===" "||i.key==="Spacebar"){i.preventDefault();i.stopPropagation();this.openPicker()}}}componentWillLoad(){if(!this.parseValueInto(this.value)){this.value=""}else if(this.value){this.value=this.toIso(this.draftHours,this.draftMinutes)}this.committedHours=this.draftHours;this.committedMinutes=this.draftMinutes;this.committedValue=this.value;this.defaultValue=this.value;this.hourInputValue=String(this.computeDisplayHour(this.draftHours));this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");if(this.responsive)this.sampleViewport();this.mode=this.effectiveVariant;if(this.open&&!this.disabled){this.isOpen=true;this.selecting="hour"}else if(this.open&&this.disabled){this.open=false}this.updateFormValue()}componentDidLoad(){this.updateValidity();if(this.isOpen){this.openSeq=++u;this.previousFocus=i.deepActiveElement();this.attachOpenEnvironment();this.mdOpen.emit();requestAnimationFrame((()=>this.focusInitial()))}}connectedCallback(){if(this.isOpen)this.attachOpenEnvironment()}disconnectedCallback(){this.detachOpenEnvironment()}formResetCallback(){this.value=this.defaultValue;this.updateFormValue()}formDisabledCallback(i){this.formDisabled=i;if(i&&this.isOpen)this.cancel()}formStateRestoreCallback(i){if(typeof i==="string")this.value=i}handleVariantChange(i){if(!this.isOpen)this.mode=i}handleValueChange(i){let t;if(i===""){this.parseValueInto("");t=""}else if(this.parseValueInto(i)){t=this.toIso(this.draftHours,this.draftMinutes)}else{this.parseValueInto("");t=""}if(t!==i){this.value=t;return}this.committedHours=this.draftHours;this.committedMinutes=this.draftMinutes;this.committedValue=i;if(this.isOpen){this.syncInputsFromDraft();this.lastInputEmitKey=this.draftHours*60+this.draftMinutes}else{this.hourInputValue=String(this.computeDisplayHour(this.draftHours));this.minuteInputValue=String(this.draftMinutes).padStart(2,"0")}this.updateFormValue()}handleConstraintChange(){this.updateValidity()}handleDisabledChange(i){if(i&&this.isOpen)this.cancel()}handleResponsiveChange(t){if(!this.isOpen)return;if(t){this.sampleViewport();this.attachViewportListener();if(this.mode==="dial"&&this.viewportHeight>0&&this.viewportHeight<i.ADAPTIVE_MIN_DIAL_HEIGHT){this.mode="input"}}else{this.detachViewportListener()}}handleOpenPropChange(i){if(i&&!this.isOpen){this.openPicker()}else if(!i&&this.isOpen){this.closePicker()}}emitValidityChange(){const i=n(this.internals);const t=`${i.valid}|${i.validationMessage}`;if(this.lastValidityKey===t)return;const e=this.lastValidityKey!==null;this.lastValidityKey=t;if(e)this.mdValidityChange.emit(i)}async show(){this.openPicker()}async hide(){this.cancel()}async checkValidity(){if(typeof this.internals?.checkValidity!=="function")return true;return this.internals.checkValidity()}async reportValidity(){if(typeof this.internals?.reportValidity!=="function")return true;return this.internals.reportValidity()}async getValidity(){const i=this.internals?.validity;if(!i)return{valid:true,validationMessage:""};return{valid:i.valid,valueMissing:i.valueMissing,rangeUnderflow:i.rangeUnderflow,rangeOverflow:i.rangeOverflow,validationMessage:this.internals.validationMessage}}parseValueInto(i){if(!i){this.draftHours=12;this.draftMinutes=0;return true}const t=/^(\d{1,2}):(\d{2})$/.exec(i);if(!t)return false;const e=parseInt(t[1],10);const r=parseInt(t[2],10);if(e<0||e>23||r<0||r>59)return false;this.draftHours=e;this.draftMinutes=r;return true}get isDisabled(){return this.disabled||this.formDisabled}parseHHMM(i){const t=/^(\d{1,2}):(\d{2})$/.exec(i||"");if(!t)return null;const e=parseInt(t[1],10);const r=parseInt(t[2],10);if(e>23||r>59)return null;return e*60+r}toIso(i,t){return`${String(i).padStart(2,"0")}:${String(t).padStart(2,"0")}`}emitInputIfChanged(){if(!this.isOpen)return;const i=this.draftHours*60+this.draftMinutes;if(i===this.lastInputEmitKey)return;this.lastInputEmitKey=i;this.mdInput.emit(this.buildChangeDetail(this.draftHours,this.draftMinutes))}buildChangeDetail(i,t){const e=this.toIso(i,t);const r=`${e}:00`;const a=new Date;a.setHours(i,t,0,0);return{value:e,iso:r,isoDateTime:a.toISOString(),date:a,hours:i,minutes:t,period:i>=12?"PM":"AM"}}get period(){return this.draftHours>=12?"PM":"AM"}computeDisplayHour(i){if(this.format==="24h")return i;if(i===0)return 12;if(i>12)return i-12;return i}get displayHour(){return this.computeDisplayHour(this.draftHours)}setHour24FromDisplay(i,t){let e;if(this.format==="24h"){e=(i%24+24)%24}else{const r=i===0?12:i;if(r===12)e=t==="AM"?0:12;else e=t==="AM"?r:r+12}this.draftHours=e}formatDisplayTime(i,t){if(this.format==="24h"){return`${String(i).padStart(2,"0")}:${String(t).padStart(2,"0")}`}const e=i>=12?this.pmLabel:this.amLabel;const r=i===0?12:i>12?i-12:i;return`${r}:${String(t).padStart(2,"0")} ${e}`}focusInitial(){const i=this.el.shadowRoot;if(!i)return;this.syncInputFields();this.focusInputSelectingAll(this.hourInputEl)}focusInputSelectingAll(i){if(!i)return;i.focus();this.selectInputContents(i)}attachOpenEnvironment(){if(typeof document==="undefined"||this.docKeyHandler)return;if(!p.includes(this))p.push(this);if(document.body){if(p.length===1){m=document.body.style.overflow}document.body.style.overflow="hidden"}this.docKeyHandler=t=>{if(!this.isOpen)return;if(!i.isTopmostOpen(this))return;if(t.key==="Escape"){t.preventDefault();t.stopImmediatePropagation();this.cancel()}else if(t.key==="Tab"){this.trapFocus(t)}};document.addEventListener("keydown",this.docKeyHandler,true);this.attachViewportListener()}detachOpenEnvironment(){if(typeof document!=="undefined"&&this.docKeyHandler){document.removeEventListener("keydown",this.docKeyHandler,true);this.docKeyHandler=undefined;const i=p.indexOf(this);if(i!==-1)p.splice(i,1);if(document.body&&p.length===0){document.body.style.overflow=m}}this.detachViewportListener()}static isTopmostOpen(i){let t=null;for(const i of p){if(!t||i.openSeq>t.openSeq)t=i}return t===i}static deepActiveElement(){if(typeof document==="undefined")return null;let i=document.activeElement;while(i?.shadowRoot?.activeElement)i=i.shadowRoot.activeElement;return i??null}static composedContains(i,t){let e=t;while(e){if(e===i)return true;e=e instanceof ShadowRoot?e.host:e.parentNode}return false}restoreFocusAfterClose(){const t=this.previousFocus;this.previousFocus=null;const e=!!t&&t.isConnected&&typeof t.focus==="function"&&(typeof document==="undefined"||t!==document.body);if(e&&!i.composedContains(this.el,t)){t.focus();const e=i.deepActiveElement();if(e&&i.composedContains(t,e))return}if(this.isDisabled)return;if(this.triggerFieldEl)this.focusTrigger()}focusTrigger(){const i=this.triggerFieldEl;if(!i)return;if(typeof i.setFocus==="function")void i.setFocus();else i.focus?.()}dialogFocusables(){const i=this.el.shadowRoot?.querySelector(".md-time-picker__dialog");if(!i)return[];const t=Array.from(i.querySelectorAll("input, button, md-button, md-icon-button, [tabindex]"));return t.filter((i=>!i.hasAttribute("disabled")&&i.getAttribute("tabindex")!=="-1"))}focusItem(i){const t=i;if(typeof t.setFocus==="function"){void t.setFocus();return}const e=i.shadowRoot?.querySelector("button, input, [tabindex]");const r=e??i;r.focus();if(r instanceof HTMLInputElement)this.selectInputContents(r)}trapFocus(t){const e=this.dialogFocusables();if(!e.length)return;const r=i.deepActiveElement();const a=r?e.findIndex((t=>i.composedContains(t,r))):-1;const s=!t.shiftKey;if(a===-1){t.preventDefault();this.focusItem(e[s?0:e.length-1]);return}if(s&&a===e.length-1){t.preventDefault();this.focusItem(e[0])}else if(!s&&a===0){t.preventDefault();this.focusItem(e[e.length-1])}}sampleViewport(){if(typeof window==="undefined")return;this.viewportWidth=window.innerWidth||0;this.viewportHeight=window.innerHeight||0}attachViewportListener(){if(!this.responsive||typeof window==="undefined")return;if(this.viewportResizeHandler)return;let t=0;this.viewportResizeHandler=()=>{if(t)cancelAnimationFrame(t);t=requestAnimationFrame((()=>{this.sampleViewport();if(this.mode==="dial"&&this.viewportHeight>0&&this.viewportHeight<i.ADAPTIVE_MIN_DIAL_HEIGHT){this.mode="input"}t=0}))};window.addEventListener("resize",this.viewportResizeHandler,{passive:true});window.addEventListener("orientationchange",this.viewportResizeHandler,{passive:true})}detachViewportListener(){if(typeof window==="undefined")return;if(!this.viewportResizeHandler)return;window.removeEventListener("resize",this.viewportResizeHandler);window.removeEventListener("orientationchange",this.viewportResizeHandler);this.viewportResizeHandler=undefined}updateFormValue(){try{this.internals?.setFormValue(this.committedValue??"")}catch{}this.updateValidity()}updateValidity(){if(typeof this.internals?.setValidity!=="function")return;const i=this.triggerFieldEl;const t=(t,e)=>{if(e&&i)this.internals.setValidity(t,e,i);else if(e)this.internals.setValidity(t,e);else this.internals.setValidity(t)};const e=this.parseHHMM(this.committedValue);const r=this.parseHHMM(this.min);const a=this.parseHHMM(this.max);const s=i=>i.replace(/\{min\}/g,this.min).replace(/\{max\}/g,this.max);try{if(this.required&&e===null){t({valueMissing:true},this.valueMissingLabel)}else if(e!==null&&r!==null&&a!==null&&r>a){if(e<r&&e>a){t({rangeUnderflow:true,rangeOverflow:true},s(this.rangeOutsideLabel))}else{t({})}}else if(e!==null&&r!==null&&e<r){t({rangeUnderflow:true},s(this.rangeUnderflowLabel))}else if(e!==null&&a!==null&&e>a){t({rangeOverflow:true},s(this.rangeOverflowLabel))}else{t({})}}catch{}this.emitValidityChange()}syncInputFields(){if(this.hourInputEl)this.hourInputEl.value=String(this.displayHour);if(this.minuteInputEl)this.minuteInputEl.value=String(this.draftMinutes).padStart(2,"0")}syncInputsFromDraft(){const t=String(this.displayHour);const e=String(this.draftMinutes).padStart(2,"0");this.hourInputValue=t;this.minuteInputValue=e;this.hourInputError=false;this.minuteInputError=false;if(this.hourInputEl&&this.hourInputEl.value!==t){this.hourInputEl.value=t;if(i.deepActiveElement()===this.hourInputEl){this.selectInputContents(this.hourInputEl)}}if(this.minuteInputEl&&this.minuteInputEl.value!==e){this.minuteInputEl.value=e;if(i.deepActiveElement()===this.minuteInputEl){this.selectInputContents(this.minuteInputEl)}}}dialPointFromEvent(i){if(!this.dialEl)return null;const t=this.dialEl.getBoundingClientRect();const e=t.left+t.width/2;const r=t.top+t.height/2;const a=i.clientX-e;const s=i.clientY-r;const n=Math.hypot(a,s);let o=Math.atan2(s,a)*(180/Math.PI);o=(o+90+360)%360;return{angle:o,distance:n,radius:t.width/2}}applyInputsToDraft(i){const t=parseInt(this.hourInputValue,10);const e=parseInt(this.minuteInputValue,10);const r=this.format==="24h"?0:1;const a=this.format==="24h"?23:12;const s=!isNaN(t)&&t>=r&&t<=a;const n=!isNaN(e)&&e>=0&&e<=59;if(i==="hour"||i==="both")this.hourInputError=!s;if(i==="minute"||i==="both")this.minuteInputError=!n;if(s&&n){this.draftMinutes=e;this.setHour24FromDisplay(t,this.period);this.emitInputIfChanged();return true}return false}get hourValueNow(){const i=parseInt(this.hourInputValue,10);return Number.isNaN(i)?this.displayHour:i}get minuteValueNow(){const i=parseInt(this.minuteInputValue,10);return Number.isNaN(i)?this.draftMinutes:i}bumpFocusedInput(i,t){if(t==="hour"){const t=this.hourInputError?this.displayHour:this.hourValueNow;if(this.format==="24h"){this.draftHours=((t+i)%24+24)%24}else{const e=t;let r=e+i;if(r>12)r=1;else if(r<1)r=12;this.setHour24FromDisplay(r,this.period)}this.hourInputError=false;this.hourInputValue=String(this.displayHour);if(this.hourInputEl){this.hourInputEl.value=this.hourInputValue;this.selectInputContents(this.hourInputEl)}}else{const t=Math.max(1,Math.min(30,this.minuteStep||1));const e=this.minuteInputError?this.draftMinutes:this.minuteValueNow;const r=Math.round(e/t)*t;this.draftMinutes=((r+i*t)%60+60)%60;this.minuteInputError=false;this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");if(this.minuteInputEl){this.minuteInputEl.value=this.minuteInputValue;this.selectInputContents(this.minuteInputEl)}}this.emitInputIfChanged()}selectInputContents(i){if(typeof i.select!=="function")return;try{i.select()}catch{}}renderTrigger(){if(this.hideTrigger)return null;const i=this.committedValue?this.formatDisplayTime(this.committedHours,this.committedMinutes):"";const t=i?`${this.label}, ${i}`:this.label;return r("md-text-field",{class:{"md-time-picker__field":true,"md-time-picker__field--disabled":this.isDisabled,"md-time-picker__field--filled":!!i,"md-time-picker__field--open":this.isOpen},variant:"outlined",readOnly:true,label:this.label,value:i,supportingText:this.error&&this.errorText?"":this.supportingText,error:this.error,errorText:this.errorText,reserveSupportingSpace:this.reserveSupportingSpace,disabled:this.isDisabled,required:this.required,part:"trigger","aria-haspopup":"dialog","aria-expanded":String(this.isOpen),"aria-label":t,appearFocused:this.isOpen,ref:i=>{this.triggerFieldEl=i},onClick:this.onTriggerClick,onKeyDown:this.onTriggerKeyDown},r("span",{slot:"leading-icon",class:"md-time-picker__field-icon material-symbols-outlined",part:"trigger-icon","aria-hidden":"true"},"schedule"))}get effectivePeriodLayout(){if(this.mode==="input")return"vertical";if(this.effectiveOrientation==="horizontal"&&this.mode==="dial")return"horizontal";return this.periodLayout}get effectiveVariant(){if(!this.responsive)return this.variant;if(!this.viewportHeight)return this.variant;if(this.viewportHeight<i.ADAPTIVE_MIN_DIAL_HEIGHT)return"input";return this.variant}get effectiveOrientation(){if(!this.responsive)return this.orientation;if(!this.viewportWidth||!this.viewportHeight)return this.orientation;if(this.mode!=="dial")return this.orientation;if(this.orientation==="vertical"&&this.viewportWidth>=i.ADAPTIVE_LANDSCAPE_WIDTH&&this.viewportWidth>this.viewportHeight){return"horizontal"}if(this.orientation==="horizontal"&&this.viewportWidth<i.ADAPTIVE_DEMOTE_WIDTH){return"vertical"}return this.orientation}renderPeriodToggle(){const i=this.period;const t=this.effectivePeriodLayout==="horizontal";return r("div",{class:{"md-time-picker__period":true,"md-time-picker__period--vertical":!t,"md-time-picker__period--horizontal":t},role:"radiogroup","aria-label":this.periodLabel,"aria-orientation":t?"horizontal":"vertical",onKeyDown:this.onPeriodKeyDown,part:"period-toggle"},r("button",{type:"button",class:{"md-time-picker__period-btn":true,"md-time-picker__period-btn--am":true,"md-time-picker__period-btn--active":i==="AM"},role:"radio","aria-checked":String(i==="AM"),tabindex:i==="AM"?0:-1,onClick:()=>this.togglePeriod("AM"),part:"period-am"},r("md-ripple",{disabled:this.isDisabled,part:"period-am-ripple"}),r("span",{class:"md-time-picker__period-btn-label"},this.amLabel)),r("button",{type:"button",class:{"md-time-picker__period-btn":true,"md-time-picker__period-btn--pm":true,"md-time-picker__period-btn--active":i==="PM"},role:"radio","aria-checked":String(i==="PM"),tabindex:i==="PM"?0:-1,onClick:()=>this.togglePeriod("PM"),part:"period-pm"},r("md-ripple",{disabled:this.isDisabled,part:"period-pm-ripple"}),r("span",{class:"md-time-picker__period-btn-label"},this.pmLabel)))}advanceHandAngle(i,t){if(this.lastHandMode!==i){this.lastHandMode=i;if(i==="hour"){this.hourCumulativeAngle=t;return t}this.minuteCumulativeAngle=t;return t}const e=i==="hour"?this.hourCumulativeAngle:this.minuteCumulativeAngle;const r=((t-e)%360+540)%360-180;const a=e+r;if(i==="hour")this.hourCumulativeAngle=a;else this.minuteCumulativeAngle=a;return a}renderDial(){const i=this.selecting==="hour";const t=50;const e=.8;const a=.52;let s=0;let n=e;if(i){if(this.format==="12h"){const i=this.displayHour===12?0:this.displayHour;s=i*30}else{const i=this.draftHours;if(i===0){s=0;n=a}else if(i>=1&&i<=12){s=(i===12?0:i)*30}else{s=(i-12)*30;n=a}}}else{s=this.draftMinutes*6}const o=this.advanceHandAngle(i?"hour":"minute",s);return r("div",{class:"md-time-picker__dial-wrap",part:"dial-wrap"},r("div",{class:{"md-time-picker__dial":true,"md-time-picker__dial--minute":!i,"md-time-picker__dial--24h-hour":i&&this.format==="24h"},ref:i=>this.dialEl=i,onPointerDown:this.onDialPointerDown,onPointerMove:this.onDialPointerMove,onPointerUp:this.onDialPointerUp,onPointerCancel:this.onDialPointerUp,role:"presentation",part:"dial"},r("div",{class:"md-time-picker__dial-hand",style:{transform:`rotate(${o}deg)`,["--_hand-length-dynamic"]:`${n*100}%`},"aria-hidden":"true",part:"dial-hand"},r("span",{class:"md-time-picker__dial-hand-dot","aria-hidden":"true"}),r("span",{class:"md-time-picker__dial-hand-line","aria-hidden":"true"}),r("span",{class:"md-time-picker__dial-hand-tip","aria-hidden":"true"})),r("span",{class:"md-time-picker__dial-center","aria-hidden":"true"}),i?this.renderHourNumbers(t,e,a):this.renderMinuteNumbers(t,e)))}renderHourNumbers(i,t,e){const r=[];if(this.format==="12h"){for(let i=0;i<12;i++){const t=i===0?"12":String(i);r.push({label:t,angle:i*30,inner:false,value:i===0?12:i})}}else{for(let i=0;i<12;i++){const t=i===0?"12":String(i);r.push({label:t,angle:i*30,inner:false,value:i===0?12:i})}for(let i=0;i<12;i++){const t=i===0?"00":String(12+i);r.push({label:t,angle:i*30,inner:true,value:i===0?0:12+i})}}return r.map((r=>this.renderDialNumber(r.label,r.angle,r.inner,this.isHourActive(r.value),i,t,e,r.value)))}isHourActive(i){if(this.format==="12h"){return this.displayHour===i}return this.draftHours===i}renderMinuteNumbers(i,t){const e=[];for(let i=0;i<12;i++){const t=i*5;e.push({label:String(t).padStart(2,"0"),angle:t*6,value:t})}return e.map((e=>this.renderDialNumber(e.label,e.angle,false,this.draftMinutes===e.value,i,t,t,e.value)))}renderDialNumber(i,t,e,a,s,n,o,d){const l=e?s*o:s*n;const c=(t-90)*Math.PI/180;const h=50+Math.cos(c)*l;const p=50+Math.sin(c)*l;return r("span",{class:{"md-time-picker__dial-number":true,"md-time-picker__dial-number--inner":e,"md-time-picker__dial-number--active":a},style:{left:`${h}%`,top:`${p}%`},"data-value":String(d),"aria-hidden":"true"},i)}renderInputs(i=true){const t=this.selecting==="hour";return r("div",{class:"md-time-picker__input-area",part:"input-area"},r("div",{class:"md-time-picker__input-time"},r("div",{class:"md-time-picker__input-group"},r("input",{type:"text",inputmode:"numeric",autocomplete:"off",class:{"md-time-picker__input":true,"md-time-picker__input-hour":true,"md-time-picker__input--active":t,"md-time-picker__input--error":this.hourInputError},maxLength:2,ref:this.bindHourInput,role:"spinbutton","aria-valuemin":this.format==="24h"?0:1,"aria-valuemax":this.format==="24h"?23:12,"aria-valuenow":this.hourInputError?undefined:this.hourValueNow,"aria-label":this.hourLabel,"aria-invalid":String(this.hourInputError),onInput:this.onHourInput,onFocus:()=>this.setSelecting("hour"),onBlur:this.onHourBlur,onKeyDown:this.onInputKeyDown,part:"input-hour"}),r("span",{class:"md-time-picker__input-hint"},this.hourLabel)),r("span",{class:"md-time-picker__input-separator","aria-hidden":"true"},":"),r("div",{class:"md-time-picker__input-group"},r("input",{type:"text",inputmode:"numeric",autocomplete:"off",class:{"md-time-picker__input":true,"md-time-picker__input-minute":true,"md-time-picker__input--active":!t,"md-time-picker__input--error":this.minuteInputError},maxLength:2,ref:this.bindMinuteInput,role:"spinbutton","aria-valuemin":0,"aria-valuemax":59,"aria-valuenow":this.minuteInputError?undefined:this.minuteValueNow,"aria-label":this.minuteLabel,"aria-invalid":String(this.minuteInputError),onInput:this.onMinuteInput,onFocus:()=>this.setSelecting("minute"),onBlur:this.onMinuteBlur,onKeyDown:this.onInputKeyDown,part:"input-minute"}),r("span",{class:"md-time-picker__input-hint"},this.minuteLabel)),this.format==="12h"&&i&&this.renderPeriodToggle()))}renderDialog(){if(!this.isOpen)return null;const i=this.mode==="input";const t=!i&&this.effectiveOrientation==="horizontal";const e=this.effectivePeriodLayout;const a=this.headline||(i?this.headlineInputLabel:this.headlineDialLabel);const s=!i&&this.format==="12h"&&e==="horizontal";const n=i?null:r("div",{class:"md-time-picker__time-area",part:"time-area"},this.renderInputs(!s),s&&this.renderPeriodToggle());return r("div",{class:"md-time-picker__scrim",part:"scrim",onClick:i=>{if(i.target===i.currentTarget)this.cancel()}},r("div",{class:{"md-time-picker__dialog":true,"md-time-picker__dialog--dial":!i,"md-time-picker__dialog--input":i,"md-time-picker__dialog--horizontal":t,"md-time-picker__dialog--vertical":!t},role:"dialog","aria-modal":"true","aria-labelledby":this.headlineId,part:"dialog"},r("div",{class:"md-time-picker__headline",id:this.headlineId,part:"headline"},a),r("span",{class:"md-time-picker__sr-status","aria-live":"polite"},this.selecting==="hour"?this.hourLabel:this.minuteLabel),r("div",{class:{"md-time-picker__body":true,"md-time-picker__body--horizontal":t},part:"body"},n,i?this.renderInputs():this.renderDial()),r("div",{class:"md-time-picker__footer",part:"footer"},r("md-icon-button",{class:"md-time-picker__toggle-mode",variant:"standard",size:"sm",icon:i?"schedule":"keyboard","aria-label":i?this.toggleDialLabel:this.toggleInputLabel,onMdClick:this.toggleMode,part:"toggle-mode"}),r("div",{class:"md-time-picker__actions",part:"actions"},r("md-button",{class:"md-time-picker__action-btn",variant:"text",size:"sm",onMdClick:this.cancel,part:"cancel-button"},this.cancelLabel),r("md-button",{class:"md-time-picker__action-btn md-time-picker__action-btn--primary",variant:"text",size:"sm",onMdClick:this.confirm,part:"confirm-button"},this.okLabel)))))}render(){return r(a,{key:"e694ce53bf3bdbef5bb887e5a6889abdee648c47",class:{"md-time-picker":true,[`md-time-picker--${this.variant}`]:true,[`md-time-picker--format-${this.format}`]:true,"md-time-picker--open":this.isOpen,"md-time-picker--disabled":this.isDisabled},onKeyDown:this.onHostKeyDown},this.renderTrigger(),this.renderDialog())}static get formAssociated(){return true}get el(){return this}static get watchers(){return{variant:[{handleVariantChange:0}],value:[{handleValueChange:0}],min:[{handleConstraintChange:0}],max:[{handleConstraintChange:0}],required:[{handleConstraintChange:0}],valueMissingLabel:[{handleConstraintChange:0}],rangeUnderflowLabel:[{handleConstraintChange:0}],rangeOverflowLabel:[{handleConstraintChange:0}],rangeOutsideLabel:[{handleConstraintChange:0}],disabled:[{handleDisabledChange:0}],responsive:[{handleResponsiveChange:0}],open:[{handleOpenPropChange:0}]}}static get style(){return h()}},[65,"md-time-picker",{variant:[1],format:[1],value:[1537],name:[513],min:[1],max:[1],required:[516],label:[1],supportingText:[1,"supporting-text"],error:[1540],errorText:[1025,"error-text"],reserveSupportingSpace:[4,"reserve-supporting-space"],headline:[1],headlineInputLabel:[1,"headline-input-label"],headlineDialLabel:[1,"headline-dial-label"],valueMissingLabel:[1,"value-missing-label"],rangeUnderflowLabel:[1,"range-underflow-label"],rangeOverflowLabel:[1,"range-overflow-label"],rangeOutsideLabel:[1,"range-outside-label"],disabled:[516],open:[1540],minuteStep:[2,"minute-step"],cancelLabel:[1,"cancel-label"],okLabel:[1,"ok-label"],hideTrigger:[516,"hide-trigger"],amLabel:[1,"am-label"],pmLabel:[1,"pm-label"],hourLabel:[1,"hour-label"],minuteLabel:[1,"minute-label"],toggleDialLabel:[1,"toggle-dial-label"],toggleInputLabel:[1,"toggle-input-label"],periodLabel:[1,"period-label"],periodLayout:[1,"period-layout"],orientation:[1],responsive:[4],density:[514],isOpen:[32],mode:[32],selecting:[32],draftHours:[32],draftMinutes:[32],hourInputValue:[32],minuteInputValue:[32],hourInputError:[32],minuteInputError:[32],viewportWidth:[32],viewportHeight:[32],formDisabled:[32],show:[64],hide:[64],checkValidity:[64],reportValidity:[64],getValidity:[64]},undefined,{variant:[{handleVariantChange:0}],value:[{handleValueChange:0}],min:[{handleConstraintChange:0}],max:[{handleConstraintChange:0}],required:[{handleConstraintChange:0}],valueMissingLabel:[{handleConstraintChange:0}],rangeUnderflowLabel:[{handleConstraintChange:0}],rangeOverflowLabel:[{handleConstraintChange:0}],rangeOutsideLabel:[{handleConstraintChange:0}],disabled:[{handleDisabledChange:0}],responsive:[{handleResponsiveChange:0}],open:[{handleOpenPropChange:0}]}]);_.ADAPTIVE_MIN_DIAL_HEIGHT=460;_.ADAPTIVE_LANDSCAPE_WIDTH=720;_.ADAPTIVE_DEMOTE_WIDTH=620;function g(){if(typeof customElements==="undefined"){return}const i=["md-time-picker","md-button","md-icon-button","md-ripple","md-text-field"];i.forEach((i=>{switch(i){case"md-time-picker":if(!customElements.get(s(i))){customElements.define(s(i),_)}break;case"md-button":if(!customElements.get(s(i))){o()}break;case"md-icon-button":if(!customElements.get(s(i))){d()}break;case"md-ripple":if(!customElements.get(s(i))){l()}break;case"md-text-field":if(!customElements.get(s(i))){c()}break}}))}g();const f=_;const v=g;export{f as MdTimePicker,v as defineCustomElement};
|
|
1
|
+
import{p as i,H as t,c as e,h as r,d as a,t as s}from"./p-CB5yqdO-.js";import{g as n}from"./p-DrC4gWIo.js";import{d as o}from"./p-B6_eXaO5.js";import{d}from"./p-Cqg4krGd.js";import{d as l}from"./p-CfwUHJJY.js";import{d as c}from"./p-CpQwlYEw.js";const h=()=>`:host{--_trigger-color:var(--md-time-picker-trigger-color, var(--md-sys-color-on-surface, #1c1b1f));--_trigger-outline-color:var(--md-time-picker-trigger-outline-color, var(--md-sys-color-outline, #79747e));--_trigger-hover-color:var(--md-time-picker-trigger-hover-color, var(--md-sys-color-on-surface, #1c1b1f));--_trigger-focus-color:var(--md-time-picker-trigger-focus-color, var(--md-sys-color-primary, #6750a4));--_trigger-icon-color:var(--md-time-picker-trigger-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_dialog-color:var(--md-time-picker-dialog-color, var(--md-sys-color-surface-container-high, #ece6f0));--_dialog-on-color:var(--md-time-picker-dialog-on-color, var(--md-sys-color-on-surface, #1c1b1f));--_dialog-shape:var(--md-time-picker-dialog-shape, var(--md-sys-shape-corner-extra-large, 28px));--_dialog-elevation:var(--md-time-picker-dialog-elevation, var(--md-sys-elevation-3, 0 4px 8px 3px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.3)));--_scrim-color:var(--md-time-picker-scrim-color, rgba(0, 0, 0, 0.32));--_headline-color:var(--md-time-picker-headline-color, var(--md-sys-color-on-surface-variant, #49454f));--_time-display-shape:var( --md-time-picker-input-shape, var(--md-time-picker-time-display-shape, var(--md-sys-shape-corner-small, 8px)) );--_period-bg:var(--md-time-picker-period-bg, transparent);--_period-color:var(--md-time-picker-period-color, var(--md-sys-color-on-surface, #1c1b1f));--_period-active-bg:var(--md-time-picker-period-active-bg, var(--md-sys-color-tertiary-container, #ffd8e4));--_period-active-color:var(--md-time-picker-period-active-color, var(--md-sys-color-on-tertiary-container, #370b1e));--_period-outline-color:var(--md-time-picker-period-outline-color, var(--md-sys-color-outline, #79747e));--_dial-bg:var(--md-time-picker-dial-bg, var(--md-sys-color-surface-container-highest, #e6e0e9));--_dial-number-color:var(--md-time-picker-dial-number-color, var(--md-sys-color-on-surface, #1c1b1f));--_dial-number-active-color:var(--md-time-picker-dial-number-active-color, var(--md-sys-color-on-primary, #ffffff));--_dial-hand-color:var(--md-time-picker-dial-hand-color, var(--md-sys-color-primary, #6750a4));--_dial-target-size:var(--md-time-picker-dial-target-size, 48px);--_input-bg:var(--md-time-picker-input-bg, var(--md-sys-color-surface-container-highest, #e6e0e9));--_input-color:var(--md-time-picker-input-color, var(--md-sys-color-on-surface, #1c1b1f));--_input-outline-color:var(--md-time-picker-input-outline-color, transparent);--_input-active-outline-color:var(--md-time-picker-input-active-outline-color, var(--md-sys-color-primary, #6750a4));--_input-error-color:var(--md-time-picker-input-error-color, var(--md-sys-color-error, #b3261e));--_input-hint-color:var(--md-time-picker-input-hint-color, var(--md-sys-color-on-surface-variant, #49454f));--_action-color:var(--md-time-picker-action-color, var(--md-sys-color-primary, #6750a4));--_action-primary-color:var(--md-time-picker-action-primary-color, var(--md-sys-color-primary, #6750a4));--_toggle-icon-color:var(--md-time-picker-toggle-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_dialog-padding:var(--md-time-picker-dialog-padding, var(--md-sys-spacing-inset-xl, 24px));--_dialog-min-width:var(--md-time-picker-dialog-min-width, 328px);--_dialog-horizontal-width-12h:var(--md-time-picker-dialog-horizontal-width-12h, 572px);--_dialog-horizontal-width-24h:var(--md-time-picker-dialog-horizontal-width-24h, 608px);--_dialog-enter-duration:var(--md-time-picker-dialog-enter-duration, var(--md-sys-motion-duration-long2, 500ms));--_mode-swap-duration:var(--md-time-picker-mode-swap-duration, var(--md-sys-motion-duration-long1, 450ms));--_motion-easing:var(--md-time-picker-motion-easing, var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1)));--_trigger-min-width:var(--md-time-picker-trigger-min-width, 240px);--_trigger-icon-size:var(--md-time-picker-trigger-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_trigger-shape:var(--md-time-picker-trigger-shape, var(--md-sys-shape-corner-extra-small, 4px));--_headline-font-size:var(--md-time-picker-headline-font-size, max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px)));--_headline-font-weight:var(--md-time-picker-headline-font-weight, var(--md-sys-typescale-label-medium-font-weight, 500));--_headline-spacing:var(--md-time-picker-headline-spacing, max(4px, calc(20px + var(--md-sys-density-scale, 0) * 2px)));--_input-height:var(--md-time-picker-input-height, calc(var(--_input-font-size) * 1.6));--_input-width:var(--md-time-picker-input-width, calc(var(--_input-height) * 4 / 3));--_input-border-width:var(--md-time-picker-input-border-width, 2px);--_input-font-size:var(--md-time-picker-input-font-size, max(32px, calc(45px + var(--md-sys-density-scale, 0) * 2px)));--_input-font-weight:var(--md-time-picker-input-font-weight, var(--md-sys-typescale-display-medium-font-weight, 400));--_input-active-bg:var(--md-time-picker-input-active-bg, var(--md-sys-color-primary-container, #eaddff));--_input-active-color:var(--md-time-picker-input-active-color, var(--md-sys-color-on-primary-container, #21005d));--_input-separator-color:var(--md-time-picker-input-separator-color, var(--_dialog-on-color));--_input-separator-width:var(--md-time-picker-input-separator-width, 24px);--_input-hint-gap:var(--md-time-picker-input-hint-gap, var(--md-sys-spacing-gap-xs, 4px));--_input-hover-opacity:var(--md-time-picker-input-hover-opacity, 8%);--_period-shape:var(--md-time-picker-period-shape, var(--md-sys-shape-corner-small, 8px));--_period-outline-width:var(--md-time-picker-period-outline-width, 1px);--_period-vertical-width:var(--md-time-picker-period-vertical-width, 52px);--_period-vertical-height:var(--md-time-picker-period-vertical-height, 80px);--_period-vertical-height-input:var(--md-time-picker-period-vertical-height-input, 72px);--_period-horizontal-width:var(--md-time-picker-period-horizontal-width, 216px);--_period-horizontal-height:var(--md-time-picker-period-horizontal-height, 38px);--_period-font-size:var(--md-time-picker-period-font-size, max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px)));--_period-font-weight:var(--md-time-picker-period-font-weight, 500);--_period-hover-opacity:var(--md-time-picker-period-hover-opacity, 8%);--_dial-size:var(--md-time-picker-dial-size, 256px);--_dial-center-size:var(--md-time-picker-dial-center-size, 8px);--_dial-hand-width:var(--md-time-picker-dial-hand-width, 2px);--_dial-number-font-size:var(--md-time-picker-dial-number-font-size, max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px)));--_dial-number-font-weight:var(--md-time-picker-dial-number-font-weight, var(--md-sys-typescale-body-large-font-weight, 400));--_dial-number-active-font-weight:var(--md-time-picker-dial-number-active-font-weight, 500);--_footer-gap:var(--md-time-picker-footer-gap, var(--md-sys-spacing-gap-sm, 8px));--_actions-gap:var(--md-time-picker-actions-gap, var(--md-sys-spacing-gap-sm, 8px));--_action-shape:var(--md-time-picker-action-shape, var(--md-sys-shape-corner-full, 9999px));--_action-confirm-bg:var(--md-time-picker-action-confirm-bg, transparent);--_action-cancel-bg:var(--md-time-picker-action-cancel-bg, transparent);--_toggle-bg:var(--md-time-picker-toggle-bg, transparent);--_toggle-icon-size:var(--md-time-picker-toggle-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_toggle-shape:var(--md-time-picker-toggle-shape, var(--md-sys-shape-corner-full, 9999px));display:inline-block;position:relative;font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);color:var(--_dialog-on-color)}:host([hide-trigger]){display:contents}:host([disabled]){cursor:not-allowed}.md-time-picker__field{min-inline-size:var(--_trigger-min-width);display:inline-flex;inline-size:auto;cursor:pointer;--md-text-field-label-color:var(--_trigger-icon-color);--md-text-field-input-color:var(--_trigger-color);--md-text-field-outline-color:var(--_trigger-outline-color);--md-text-field-active-indicator-color:var(--_trigger-focus-color);--md-text-field-icon-color:var(--_trigger-icon-color);--md-text-field-container-shape:var(--_trigger-shape)}.md-time-picker__field--disabled{cursor:not-allowed}.md-time-picker__field-icon{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons'), sans-serif;font-size:var(--_trigger-icon-size);line-height:1;color:var(--_trigger-icon-color);flex-shrink:0}.md-time-picker__field:hover:not(.md-time-picker__field--disabled) .md-time-picker__field-icon{color:var(--_trigger-hover-color)}:host(.md-time-picker--open) .md-time-picker__field{--md-text-field-active-indicator-color:var(--_trigger-focus-color);--md-text-field-icon-color:var(--_trigger-focus-color)}.md-time-picker__scrim{position:fixed;inset:0;z-index:var(--md-sys-z-index-popup, 1000);display:flex;align-items:center;justify-content:center;background:var(--_scrim-color);padding:var(--md-sys-spacing-inset-xl, 24px);animation:md-time-picker-scrim-in var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)) forwards;box-sizing:border-box}@keyframes md-time-picker-scrim-in{from{opacity:0}to{opacity:1}}.md-time-picker__dialog{background:var(--_dialog-color);color:var(--_dialog-on-color);border-radius:var(--_dialog-shape);box-shadow:var(--_dialog-elevation);padding:var(--_dialog-padding);width:min(var(--_dialog-min-width), calc(100vw - 48px));max-block-size:calc(100vh - 48px);max-block-size:calc(100dvh - 48px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;animation:md-time-picker-dialog-in var(--_dialog-enter-duration) var(--_motion-easing) both;transform-origin:center top}.md-time-picker__dialog--input{width:min(var(--_dialog-min-width), calc(100vw - 48px))}.md-time-picker__dialog--horizontal{width:min(var(--_dialog-horizontal-width-12h), calc(100vw - 48px))}:host(.md-time-picker--format-24h) .md-time-picker__dialog--horizontal{width:min(var(--_dialog-horizontal-width-24h), calc(100vw - 48px))}@keyframes md-time-picker-dialog-in{from{opacity:0;transform:translateY(12px) scale(0.88)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes md-time-picker-mode-in{from{opacity:0;transform:translateY(8px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}.md-time-picker__headline{font-size:var(--_headline-font-size);font-weight:var(--_headline-font-weight);letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing, 0.5px);line-height:var(--md-sys-typescale-label-medium-line-height, 16px);color:var(--_headline-color);text-transform:none;margin-block-end:var(--_headline-spacing);text-align:start}.md-time-picker__body{display:flex;flex-direction:column}.md-time-picker__body--horizontal{flex-direction:row;align-items:flex-start;column-gap:52px}.md-time-picker__time-area{display:flex;flex-direction:column;flex:0 0 auto}.md-time-picker__body--horizontal .md-time-picker__dial-wrap{flex:0 0 auto}.md-time-picker__body--horizontal .md-time-picker__input-area{margin-block-end:0}.md-time-picker__body--horizontal .md-time-picker__period--horizontal{margin-block-start:var(--md-sys-spacing-inset-lg, 16px);margin-block-end:0;margin-inline:0}.md-time-picker__period{display:inline-flex;border:var(--_period-outline-width) solid var(--_period-outline-color);box-sizing:border-box}.md-time-picker__period--vertical{flex-direction:column;border-radius:var(--_period-shape);margin-inline-start:var(--md-sys-spacing-inset-md, 12px);inline-size:var(--_period-vertical-width);block-size:var(--_period-vertical-height)}.md-time-picker__input-area .md-time-picker__period--vertical{block-size:var(--_period-vertical-height-input)}.md-time-picker__period--horizontal{flex-direction:row;border-radius:var(--_period-shape);margin-block-start:var(--md-sys-spacing-inset-md, 12px);margin-block-end:var(--md-sys-spacing-inset-xl, 24px);margin-inline:auto;inline-size:var(--_period-horizontal-width);block-size:var(--_period-horizontal-height);align-self:center}.md-time-picker__period-btn{flex:1 1 0;background:var(--_period-bg);color:var(--_period-color);border:none;font:inherit;font-size:var(--_period-font-size);font-weight:var(--_period-font-weight);letter-spacing:0.1px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative;overflow:hidden;transition:background-color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}.md-time-picker__period-btn-label{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center}.md-time-picker__period--vertical .md-time-picker__period-btn{block-size:50%}.md-time-picker__period--horizontal .md-time-picker__period-btn{inline-size:50%;block-size:100%}.md-time-picker__period-btn:hover{background:color-mix(in srgb, var(--_period-color) var(--_period-hover-opacity), transparent)}.md-time-picker__period-btn--active{background:var(--_period-active-bg);color:var(--_period-active-color)}.md-time-picker__period-btn--active:hover{background:color-mix(in srgb, var(--_period-active-color) var(--_period-hover-opacity), var(--_period-active-bg))}.md-time-picker__period-btn:focus-visible{outline:3px solid var(--md-sys-color-secondary, #625b71);outline-offset:2px;z-index:1}.md-time-picker__period--vertical .md-time-picker__period-btn--am{border-block-end:var(--_period-outline-width) solid var(--_period-outline-color);border-start-start-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-start-end-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__period--vertical .md-time-picker__period-btn--pm{border-end-start-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-end-end-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__period--horizontal .md-time-picker__period-btn--am{border-inline-end:var(--_period-outline-width) solid var(--_period-outline-color);border-start-start-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-end-start-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__period--horizontal .md-time-picker__period-btn--pm{border-start-end-radius:calc(var(--_period-shape) - var(--_period-outline-width));border-end-end-radius:calc(var(--_period-shape) - var(--_period-outline-width))}.md-time-picker__dial-wrap{display:flex;justify-content:center;align-items:center;margin-block-end:var(--md-sys-spacing-inset-xl, 24px);animation:md-time-picker-mode-in var(--_mode-swap-duration) var(--_motion-easing) both;transform-origin:center top}.md-time-picker__dial{position:relative;width:var(--_dial-size);height:var(--_dial-size);background:var(--_dial-bg);border-radius:50%;touch-action:none;user-select:none;cursor:pointer;box-sizing:border-box}:host([disabled]) .md-time-picker__dial{pointer-events:none;opacity:0.38}.md-time-picker__dial-center{position:absolute;width:var(--_dial-center-size);height:var(--_dial-center-size);border-radius:50%;background:var(--_dial-hand-color);left:50%;top:50%;transform:translate(-50%, -50%);z-index:2}.md-time-picker__dial-hand{position:absolute;left:50%;top:auto;bottom:50%;width:0;height:50%;background:transparent;transform-origin:50% 100%;transform:rotate(0deg);transition:transform 200ms var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));pointer-events:none;z-index:1}.md-time-picker__dial-hand-line{position:absolute;left:50%;top:auto;bottom:0;width:var(--_dial-hand-width);height:var(--md-time-picker-hand-length, var(--_hand-length-dynamic, 100%));background:var(--_dial-hand-color);transform:translateX(-50%)}.md-time-picker__dial-hand-tip{position:absolute;left:50%;top:calc(100% - var(--md-time-picker-hand-length, var(--_hand-length-dynamic, 100%)));bottom:auto;width:var(--_dial-target-size);height:var(--_dial-target-size);background:var(--_dial-hand-color);border-radius:50%;transform:translate(-50%, -50%)}.md-time-picker__dial-hand-dot{display:none}.md-time-picker__dial-number{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:var(--_dial-target-size);height:var(--_dial-target-size);margin-left:calc(-1 * var(--_dial-target-size) / 2);margin-top:calc(-1 * var(--_dial-target-size) / 2);border-radius:50%;font-family:var(--md-sys-typescale-body-large-font-family, var(--md-sys-typescale-body-large-font, inherit));font-size:var(--_dial-number-font-size);font-weight:var(--_dial-number-font-weight);line-height:1;letter-spacing:0;color:var(--_dial-number-color);pointer-events:none;user-select:none;z-index:2;transition:color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));font-variant-numeric:tabular-nums}.md-time-picker__dial-number--inner{color:var(--_dial-number-color);opacity:1}.md-time-picker__dial-number--active{color:var(--_dial-number-active-color);font-weight:var(--_dial-number-active-font-weight);opacity:1}.md-time-picker__input-area{margin-block-end:var(--md-sys-spacing-inset-xl, 24px);animation:md-time-picker-mode-in var(--_mode-swap-duration) var(--_motion-easing) both;transform-origin:center top}.md-time-picker__input-time{display:flex;align-items:flex-start;justify-content:center;gap:0}.md-time-picker__input-group{display:flex;flex-direction:column;align-items:center;gap:var(--_input-hint-gap)}.md-time-picker__input{font-family:inherit;font-size:var(--_input-font-size);font-weight:var(--_input-font-weight);line-height:1;letter-spacing:var(--md-sys-typescale-display-medium-letter-spacing, 0);background:var(--_input-bg);color:var(--_input-color);border:var(--_input-border-width) solid var(--_input-outline-color);border-radius:var(--_time-display-shape);padding-block:0;padding-inline:16px;inline-size:var(--_input-width);block-size:var(--_input-height);text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;box-sizing:border-box}.md-time-picker__input::-webkit-outer-spin-button,.md-time-picker__input::-webkit-inner-spin-button{appearance:none;margin:0}.md-time-picker__input:hover{background:color-mix(in srgb, var(--_input-color) var(--_input-hover-opacity), var(--_input-bg))}.md-time-picker__input:focus{outline:none;background:var(--_input-bg);border-color:var(--_input-active-outline-color)}.md-time-picker__input--active{background:var(--_input-active-bg);color:var(--_input-active-color);border-color:transparent}.md-time-picker__input--active:focus{background:var(--_input-active-bg);color:var(--_input-active-color);border-color:var(--_input-active-outline-color)}.md-time-picker__input--active:hover{background:color-mix( in srgb, var(--_input-active-color) var(--_input-hover-opacity), var(--_input-active-bg) )}.md-time-picker__input--error,.md-time-picker__input--error:focus{border-color:var(--_input-error-color);color:var(--_input-error-color)}.md-time-picker__input-separator{font-size:var(--_input-font-size);font-weight:var(--_input-font-weight);line-height:1;color:var(--_input-separator-color);display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_input-separator-width);block-size:var(--_input-height);align-self:flex-start}.md-time-picker__input-hint{font-size:var(--md-sys-typescale-body-small-font-size, 12px);letter-spacing:var(--md-sys-typescale-body-small-letter-spacing, 0.4px);color:var(--_input-hint-color)}.md-time-picker__input--error~.md-time-picker__input-hint{color:var(--_input-error-color)}.md-time-picker__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--_footer-gap)}.md-time-picker__toggle-mode{--md-icon-button-color:var(--_toggle-icon-color);--md-icon-button-icon-color:var(--_toggle-icon-color);--md-icon-button-icon-size:var(--_toggle-icon-size);--md-icon-button-container-color:var(--_toggle-bg);--md-icon-button-container-shape:var(--_toggle-shape)}.md-time-picker__actions{display:inline-flex;align-items:center;gap:var(--_actions-gap)}.md-time-picker__action-btn{--md-button-label-color:var(--_action-color);--md-button-container-color:var(--_action-cancel-bg);--md-button-container-shape:var(--_action-shape)}.md-time-picker__action-btn--primary{--md-button-label-color:var(--_action-primary-color);--md-button-container-color:var(--_action-confirm-bg);--md-button-container-shape:var(--_action-shape)}@media (prefers-reduced-motion: reduce){.md-time-picker__scrim,.md-time-picker__dialog,.md-time-picker__dial-wrap,.md-time-picker__input-area,.md-time-picker__dial-hand,.md-time-picker__period-btn,.md-time-picker__dial-number,.md-time-picker__input{animation:none !important;transition:none !important}}.md-time-picker__sr-status{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (forced-colors: active){.md-time-picker__dialog{border:1px solid CanvasText}.md-time-picker__period,.md-time-picker__input,.md-time-picker__dial{border:1px solid CanvasText}.md-time-picker__input:hover,.md-time-picker__period-btn:hover{background:Canvas;color:CanvasText;forced-color-adjust:none}.md-time-picker__input:focus{background:Canvas;color:CanvasText;border-color:Highlight;forced-color-adjust:none}.md-time-picker__input--active,.md-time-picker__input--active:hover,.md-time-picker__input--active:focus,.md-time-picker__period-btn--active,.md-time-picker__period-btn--active:hover,.md-time-picker__dial-hand-line,.md-time-picker__dial-hand-tip,.md-time-picker__dial-center{background:Highlight;color:HighlightText;forced-color-adjust:none}.md-time-picker__input--error,.md-time-picker__input--error:focus,.md-time-picker__input--error:hover{background:Canvas;border-color:LinkText;color:LinkText;forced-color-adjust:none}.md-time-picker__period-btn:focus-visible{outline-color:Highlight}.md-time-picker__period--vertical .md-time-picker__period-btn--am{border-block-end-color:CanvasText}.md-time-picker__period--horizontal .md-time-picker__period-btn--am{border-inline-end-color:CanvasText}.md-time-picker__period-btn md-ripple{display:none}}:host-context([data-theme='dark']){--_scrim-color:var(--md-time-picker-scrim-color, rgba(0, 0, 0, 0.6))}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}:host([hidden]){display:none !important}`;const p=[];let m="";let u=0;const _=i(class i extends t{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdChange=e(this,"mdChange",7);this.mdInput=e(this,"mdInput",7);this.mdOpen=e(this,"mdOpen",7);this.mdClose=e(this,"mdClose",7);this.mdCancel=e(this,"mdCancel",7);this.mdModeChange=e(this,"mdModeChange",7);this.mdValidityChange=e(this,"mdValidityChange",5);this.internals=this.attachInternals();this.variant="input";this.format="12h";this.value="";this.name="";this.min="";this.max="";this.required=false;this.label="Select time";this.supportingText="";this.error=false;this.errorText="";this.reserveSupportingSpace=false;this.headline="";this.headlineInputLabel="Enter time";this.headlineDialLabel="Select time";this.valueMissingLabel="Please select a time.";this.rangeUnderflowLabel="Please select a time at or after {min}.";this.rangeOverflowLabel="Please select a time at or before {max}.";this.rangeOutsideLabel="Please select a time at or after {min} or at or before {max}.";this.disabled=false;this.open=false;this.minuteStep=1;this.cancelLabel="Cancel";this.okLabel="OK";this.hideTrigger=false;this.amLabel="AM";this.pmLabel="PM";this.hourLabel="Hour";this.minuteLabel="Minute";this.toggleDialLabel="Toggle dial picker";this.toggleInputLabel="Toggle keyboard input";this.periodLabel="Period";this.periodLayout="vertical";this.orientation="vertical";this.responsive=false;this.density=0;this.isOpen=false;this.mode="dial";this.selecting="hour";this.draftHours=12;this.draftMinutes=0;this.hourInputValue="";this.minuteInputValue="";this.hourInputError=false;this.minuteInputError=false;this.viewportWidth=0;this.viewportHeight=0;this.formDisabled=false;this.committedHours=12;this.committedMinutes=0;this.committedValue="";this.defaultValue="";this.isDragging=false;this.hourInputSeeded=false;this.minuteInputSeeded=false;this.previousFocus=null;this.openSeq=0;this.uid=Math.random().toString(36).slice(2,11);this.headlineId=`md-time-picker-headline-${this.uid}`;this.hourCumulativeAngle=0;this.minuteCumulativeAngle=0;this.lastHandMode=null;this.lastValidityKey=null;this.lastInputEmitKey=-1;this.openPicker=()=>{if(this.isDisabled||this.isOpen)return;this.previousFocus=i.deepActiveElement();this.sampleViewport();this.attachOpenEnvironment();this.draftHours=this.committedHours;this.draftMinutes=this.committedMinutes;this.lastInputEmitKey=this.draftHours*60+this.draftMinutes;this.selecting="hour";this.mode=this.effectiveVariant;this.hourInputValue=String(this.displayHour);this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");this.hourInputError=false;this.minuteInputError=false;this.hourInputSeeded=false;this.minuteInputSeeded=false;this.hourCumulativeAngle=0;this.minuteCumulativeAngle=0;this.lastHandMode=null;this.openSeq=++u;this.isOpen=true;this.open=true;this.mdOpen.emit();requestAnimationFrame((()=>this.focusInitial()))};this.closePicker=()=>{if(!this.isOpen)return;this.isOpen=false;this.open=false;this.detachOpenEnvironment();this.mdClose.emit();this.restoreFocusAfterClose()};this.cancel=()=>{if(!this.isOpen)return;this.draftHours=this.committedHours;this.draftMinutes=this.committedMinutes;this.mdCancel.emit();this.closePicker()};this.confirm=()=>{if(this.isDisabled)return;this.commitInputs();if(this.hourInputError||this.minuteInputError)return;this.committedHours=this.draftHours;this.committedMinutes=this.draftMinutes;const i=this.buildChangeDetail(this.draftHours,this.draftMinutes);this.committedValue=i.value;this.value=i.value;this.updateFormValue();this.mdChange.emit(i);this.closePicker()};this.setSelecting=i=>{this.selecting=i};this.togglePeriod=i=>{if(this.format==="24h")return;if(this.period===i)return;if(i==="AM"&&this.draftHours>=12)this.draftHours-=12;else if(i==="PM"&&this.draftHours<12)this.draftHours+=12;this.emitInputIfChanged();this.syncInputsFromDraft()};this.onPeriodKeyDown=i=>{if(this.format==="24h")return;const t=i.key;const e=t==="ArrowLeft"||t==="ArrowRight"||t==="ArrowUp"||t==="ArrowDown"||t==="Home"||t==="End";if(!e&&t!==" "&&t!=="Spacebar")return;i.preventDefault();let r;if(t==="Home")r="AM";else if(t==="End")r="PM";else if(t===" "||t==="Spacebar")r=this.period;else r=this.period==="AM"?"PM":"AM";this.togglePeriod(r);requestAnimationFrame((()=>{const i=this.el.shadowRoot;if(!i)return;const t=i.querySelector(r==="AM"?'[part="period-am"]':'[part="period-pm"]');t?.focus()}))};this.toggleMode=()=>{const i=this.mode;this.mode=this.mode==="dial"?"input":"dial";this.mdModeChange.emit({mode:this.mode,previousMode:i});this.selecting="hour";this.hourInputValue=String(this.displayHour);this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");this.hourInputError=false;this.minuteInputError=false;this.hourInputSeeded=false;this.minuteInputSeeded=false;requestAnimationFrame((()=>{this.syncInputFields();this.focusInputSelectingAll(this.hourInputEl)}))};this.bindHourInput=i=>{if(!i){this.hourInputSeeded=false;this.hourInputEl=undefined;return}this.hourInputEl=i;if(!this.hourInputSeeded){i.value=this.hourInputValue;this.hourInputSeeded=true}};this.bindMinuteInput=i=>{if(!i){this.minuteInputSeeded=false;this.minuteInputEl=undefined;return}this.minuteInputEl=i;if(!this.minuteInputSeeded){i.value=this.minuteInputValue;this.minuteInputSeeded=true}};this.applyDialPointer=i=>{const t=this.dialPointFromEvent(i);if(!t)return;const{angle:e,distance:r,radius:a}=t;if(this.selecting==="hour"){const i=Math.round(e/30)%12;if(this.format==="12h"){const t=i===0?12:i;this.setHour24FromDisplay(t,this.period)}else{const t=r<a*.66;if(t){this.draftHours=i===0?0:12+i}else{this.draftHours=i===0?12:i}}}else{const i=Math.max(1,Math.min(30,this.minuteStep||1));let t=Math.round(e/6);t=Math.round(t/i)*i%60;this.draftMinutes=t}this.emitInputIfChanged();this.syncInputsFromDraft()};this.onDialPointerDown=i=>{if(this.isDisabled)return;i.preventDefault();this.isDragging=true;i.currentTarget?.setPointerCapture?.(i.pointerId);this.applyDialPointer(i)};this.onDialPointerMove=i=>{if(!this.isDragging)return;this.applyDialPointer(i)};this.onDialPointerUp=i=>{if(!this.isDragging)return;this.isDragging=false;i.currentTarget?.releasePointerCapture?.(i.pointerId);if(this.selecting==="hour"){this.selecting="minute";requestAnimationFrame((()=>{this.focusInputSelectingAll(this.minuteInputEl)}))}};this.onHostKeyDown=i=>{if(!this.isOpen)return;if(i.key==="Escape"){i.preventDefault();i.stopPropagation();this.cancel()}};this.commitInputs=()=>{this.applyInputsToDraft("both")};this.onHourInput=i=>{const t=i.target;const e=t.value.replace(/\D/g,"").slice(0,2);if(t.value!==e)t.value=e;this.hourInputValue=e;this.applyInputsToDraft("hour")};this.onMinuteInput=i=>{const t=i.target;const e=t.value.replace(/\D/g,"").slice(0,2);if(t.value!==e)t.value=e;this.minuteInputValue=e;this.applyInputsToDraft("minute")};this.onHourBlur=()=>{if(this.hourInputEl)this.hourInputValue=this.hourInputEl.value;this.commitInputs();if(!this.hourInputError&&parseInt(this.hourInputValue,10)===this.displayHour){this.hourInputValue=String(this.displayHour);if(this.hourInputEl)this.hourInputEl.value=this.hourInputValue}};this.onMinuteBlur=()=>{if(this.minuteInputEl)this.minuteInputValue=this.minuteInputEl.value;this.commitInputs();if(!this.minuteInputError&&parseInt(this.minuteInputValue,10)===this.draftMinutes){this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");if(this.minuteInputEl)this.minuteInputEl.value=this.minuteInputValue}};this.onInputKeyDown=i=>{if(i.key==="Enter"){i.preventDefault();if(this.hourInputEl)this.hourInputValue=this.hourInputEl.value;if(this.minuteInputEl)this.minuteInputValue=this.minuteInputEl.value;this.confirm();return}if(i.key==="ArrowUp"||i.key==="ArrowDown"){const t=i.target;const e=t===this.hourInputEl||t?.classList?.contains("md-time-picker__input-hour")===true;const r=t===this.minuteInputEl||t?.classList?.contains("md-time-picker__input-minute")===true;if(!e&&!r)return;i.preventDefault();this.bumpFocusedInput(i.key==="ArrowUp"?1:-1,e?"hour":"minute")}};this.onTriggerClick=i=>{if(this.isDisabled)return;i.preventDefault();this.openPicker()};this.onTriggerKeyDown=i=>{if(this.isDisabled)return;if(i.key==="Enter"||i.key===" "||i.key==="Spacebar"){i.preventDefault();i.stopPropagation();this.openPicker()}}}componentWillLoad(){if(!this.parseValueInto(this.value)){this.value=""}else if(this.value){this.value=this.toIso(this.draftHours,this.draftMinutes)}this.committedHours=this.draftHours;this.committedMinutes=this.draftMinutes;this.committedValue=this.value;this.defaultValue=this.value;this.hourInputValue=String(this.computeDisplayHour(this.draftHours));this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");if(this.responsive)this.sampleViewport();this.mode=this.effectiveVariant;if(this.open&&!this.disabled){this.isOpen=true;this.selecting="hour"}else if(this.open&&this.disabled){this.open=false}this.updateFormValue()}componentDidLoad(){this.updateValidity();if(this.isOpen){this.openSeq=++u;this.previousFocus=i.deepActiveElement();this.attachOpenEnvironment();this.mdOpen.emit();requestAnimationFrame((()=>this.focusInitial()))}}connectedCallback(){if(this.isOpen)this.attachOpenEnvironment()}disconnectedCallback(){this.detachOpenEnvironment()}formResetCallback(){this.value=this.defaultValue;this.updateFormValue()}formDisabledCallback(i){this.formDisabled=i;if(i&&this.isOpen)this.cancel()}formStateRestoreCallback(i){if(typeof i==="string")this.value=i}handleVariantChange(i){if(!this.isOpen)this.mode=i}handleValueChange(i){let t;if(i===""){this.parseValueInto("");t=""}else if(this.parseValueInto(i)){t=this.toIso(this.draftHours,this.draftMinutes)}else{this.parseValueInto("");t=""}if(t!==i){this.value=t;return}this.committedHours=this.draftHours;this.committedMinutes=this.draftMinutes;this.committedValue=i;if(this.isOpen){this.syncInputsFromDraft();this.lastInputEmitKey=this.draftHours*60+this.draftMinutes}else{this.hourInputValue=String(this.computeDisplayHour(this.draftHours));this.minuteInputValue=String(this.draftMinutes).padStart(2,"0")}this.updateFormValue()}handleConstraintChange(){this.updateValidity()}handleDisabledChange(i){if(i&&this.isOpen)this.cancel()}handleResponsiveChange(t){if(!this.isOpen)return;if(t){this.sampleViewport();this.attachViewportListener();if(this.mode==="dial"&&this.viewportHeight>0&&this.viewportHeight<i.ADAPTIVE_MIN_DIAL_HEIGHT){this.mode="input"}}else{this.detachViewportListener()}}handleOpenPropChange(i){if(i&&!this.isOpen){this.openPicker()}else if(!i&&this.isOpen){this.closePicker()}}emitValidityChange(){const i=n(this.internals);const t=`${i.valid}|${i.validationMessage}`;if(this.lastValidityKey===t)return;const e=this.lastValidityKey!==null;this.lastValidityKey=t;if(e)this.mdValidityChange.emit(i)}async show(){this.openPicker()}async hide(){this.cancel()}async checkValidity(){if(typeof this.internals?.checkValidity!=="function")return true;return this.internals.checkValidity()}async reportValidity(){if(typeof this.internals?.reportValidity!=="function")return true;return this.internals.reportValidity()}async getValidity(){const i=this.internals?.validity;if(!i)return{valid:true,validationMessage:""};return{valid:i.valid,valueMissing:i.valueMissing,rangeUnderflow:i.rangeUnderflow,rangeOverflow:i.rangeOverflow,validationMessage:this.internals.validationMessage}}parseValueInto(i){if(!i){this.draftHours=12;this.draftMinutes=0;return true}const t=/^(\d{1,2}):(\d{2})$/.exec(i);if(!t)return false;const e=parseInt(t[1],10);const r=parseInt(t[2],10);if(e<0||e>23||r<0||r>59)return false;this.draftHours=e;this.draftMinutes=r;return true}get isDisabled(){return this.disabled||this.formDisabled}parseHHMM(i){const t=/^(\d{1,2}):(\d{2})$/.exec(i||"");if(!t)return null;const e=parseInt(t[1],10);const r=parseInt(t[2],10);if(e>23||r>59)return null;return e*60+r}toIso(i,t){return`${String(i).padStart(2,"0")}:${String(t).padStart(2,"0")}`}emitInputIfChanged(){if(!this.isOpen)return;const i=this.draftHours*60+this.draftMinutes;if(i===this.lastInputEmitKey)return;this.lastInputEmitKey=i;this.mdInput.emit(this.buildChangeDetail(this.draftHours,this.draftMinutes))}buildChangeDetail(i,t){const e=this.toIso(i,t);const r=`${e}:00`;const a=new Date;a.setHours(i,t,0,0);return{value:e,iso:r,isoDateTime:a.toISOString(),date:a,hours:i,minutes:t,period:i>=12?"PM":"AM"}}get period(){return this.draftHours>=12?"PM":"AM"}computeDisplayHour(i){if(this.format==="24h")return i;if(i===0)return 12;if(i>12)return i-12;return i}get displayHour(){return this.computeDisplayHour(this.draftHours)}setHour24FromDisplay(i,t){let e;if(this.format==="24h"){e=(i%24+24)%24}else{const r=i===0?12:i;if(r===12)e=t==="AM"?0:12;else e=t==="AM"?r:r+12}this.draftHours=e}formatDisplayTime(i,t){if(this.format==="24h"){return`${String(i).padStart(2,"0")}:${String(t).padStart(2,"0")}`}const e=i>=12?this.pmLabel:this.amLabel;const r=i===0?12:i>12?i-12:i;return`${r}:${String(t).padStart(2,"0")} ${e}`}focusInitial(){const i=this.el.shadowRoot;if(!i)return;this.syncInputFields();this.focusInputSelectingAll(this.hourInputEl)}focusInputSelectingAll(i){if(!i)return;i.focus();this.selectInputContents(i)}attachOpenEnvironment(){if(typeof document==="undefined"||this.docKeyHandler)return;if(!p.includes(this))p.push(this);if(document.body){if(p.length===1){m=document.body.style.overflow}document.body.style.overflow="hidden"}this.docKeyHandler=t=>{if(!this.isOpen)return;if(!i.isTopmostOpen(this))return;if(t.key==="Escape"){t.preventDefault();t.stopImmediatePropagation();this.cancel()}else if(t.key==="Tab"){this.trapFocus(t)}};document.addEventListener("keydown",this.docKeyHandler,true);this.attachViewportListener()}detachOpenEnvironment(){if(typeof document!=="undefined"&&this.docKeyHandler){document.removeEventListener("keydown",this.docKeyHandler,true);this.docKeyHandler=undefined;const i=p.indexOf(this);if(i!==-1)p.splice(i,1);if(document.body&&p.length===0){document.body.style.overflow=m}}this.detachViewportListener()}static isTopmostOpen(i){let t=null;for(const i of p){if(!t||i.openSeq>t.openSeq)t=i}return t===i}static deepActiveElement(){if(typeof document==="undefined")return null;let i=document.activeElement;while(i?.shadowRoot?.activeElement)i=i.shadowRoot.activeElement;return i??null}static composedContains(i,t){let e=t;while(e){if(e===i)return true;e=e instanceof ShadowRoot?e.host:e.parentNode}return false}restoreFocusAfterClose(){const t=this.previousFocus;this.previousFocus=null;const e=!!t&&t.isConnected&&typeof t.focus==="function"&&(typeof document==="undefined"||t!==document.body);if(e&&!i.composedContains(this.el,t)){t.focus();const e=i.deepActiveElement();if(e&&i.composedContains(t,e))return}if(this.isDisabled)return;if(this.triggerFieldEl)this.focusTrigger()}focusTrigger(){const i=this.triggerFieldEl;if(!i)return;if(typeof i.setFocus==="function")void i.setFocus();else i.focus?.()}dialogFocusables(){const i=this.el.shadowRoot?.querySelector(".md-time-picker__dialog");if(!i)return[];const t=Array.from(i.querySelectorAll("input, button, md-button, md-icon-button, [tabindex]"));return t.filter((i=>!i.hasAttribute("disabled")&&i.getAttribute("tabindex")!=="-1"))}focusItem(i){const t=i;if(typeof t.setFocus==="function"){void t.setFocus();return}const e=i.shadowRoot?.querySelector("button, input, [tabindex]");const r=e??i;r.focus();if(r instanceof HTMLInputElement)this.selectInputContents(r)}trapFocus(t){const e=this.dialogFocusables();if(!e.length)return;const r=i.deepActiveElement();const a=r?e.findIndex((t=>i.composedContains(t,r))):-1;const s=!t.shiftKey;if(a===-1){t.preventDefault();this.focusItem(e[s?0:e.length-1]);return}if(s&&a===e.length-1){t.preventDefault();this.focusItem(e[0])}else if(!s&&a===0){t.preventDefault();this.focusItem(e[e.length-1])}}sampleViewport(){if(typeof window==="undefined")return;this.viewportWidth=window.innerWidth||0;this.viewportHeight=window.innerHeight||0}attachViewportListener(){if(!this.responsive||typeof window==="undefined")return;if(this.viewportResizeHandler)return;let t=0;this.viewportResizeHandler=()=>{if(t)cancelAnimationFrame(t);t=requestAnimationFrame((()=>{this.sampleViewport();if(this.mode==="dial"&&this.viewportHeight>0&&this.viewportHeight<i.ADAPTIVE_MIN_DIAL_HEIGHT){this.mode="input"}t=0}))};window.addEventListener("resize",this.viewportResizeHandler,{passive:true});window.addEventListener("orientationchange",this.viewportResizeHandler,{passive:true})}detachViewportListener(){if(typeof window==="undefined")return;if(!this.viewportResizeHandler)return;window.removeEventListener("resize",this.viewportResizeHandler);window.removeEventListener("orientationchange",this.viewportResizeHandler);this.viewportResizeHandler=undefined}updateFormValue(){try{this.internals?.setFormValue(this.committedValue??"")}catch{}this.updateValidity()}updateValidity(){if(typeof this.internals?.setValidity!=="function")return;const i=this.triggerFieldEl;const t=(t,e)=>{if(e&&i)this.internals.setValidity(t,e,i);else if(e)this.internals.setValidity(t,e);else this.internals.setValidity(t)};const e=this.parseHHMM(this.committedValue);const r=this.parseHHMM(this.min);const a=this.parseHHMM(this.max);const s=i=>i.replace(/\{min\}/g,this.min).replace(/\{max\}/g,this.max);try{if(this.required&&e===null){t({valueMissing:true},this.valueMissingLabel)}else if(e!==null&&r!==null&&a!==null&&r>a){if(e<r&&e>a){t({rangeUnderflow:true,rangeOverflow:true},s(this.rangeOutsideLabel))}else{t({})}}else if(e!==null&&r!==null&&e<r){t({rangeUnderflow:true},s(this.rangeUnderflowLabel))}else if(e!==null&&a!==null&&e>a){t({rangeOverflow:true},s(this.rangeOverflowLabel))}else{t({})}}catch{}this.emitValidityChange()}syncInputFields(){if(this.hourInputEl)this.hourInputEl.value=String(this.displayHour);if(this.minuteInputEl)this.minuteInputEl.value=String(this.draftMinutes).padStart(2,"0")}syncInputsFromDraft(){const t=String(this.displayHour);const e=String(this.draftMinutes).padStart(2,"0");this.hourInputValue=t;this.minuteInputValue=e;this.hourInputError=false;this.minuteInputError=false;if(this.hourInputEl&&this.hourInputEl.value!==t){this.hourInputEl.value=t;if(i.deepActiveElement()===this.hourInputEl){this.selectInputContents(this.hourInputEl)}}if(this.minuteInputEl&&this.minuteInputEl.value!==e){this.minuteInputEl.value=e;if(i.deepActiveElement()===this.minuteInputEl){this.selectInputContents(this.minuteInputEl)}}}dialPointFromEvent(i){if(!this.dialEl)return null;const t=this.dialEl.getBoundingClientRect();const e=t.left+t.width/2;const r=t.top+t.height/2;const a=i.clientX-e;const s=i.clientY-r;const n=Math.hypot(a,s);let o=Math.atan2(s,a)*(180/Math.PI);o=(o+90+360)%360;return{angle:o,distance:n,radius:t.width/2}}applyInputsToDraft(i){const t=parseInt(this.hourInputValue,10);const e=parseInt(this.minuteInputValue,10);const r=this.format==="24h"?0:1;const a=this.format==="24h"?23:12;const s=!isNaN(t)&&t>=r&&t<=a;const n=!isNaN(e)&&e>=0&&e<=59;if(i==="hour"||i==="both")this.hourInputError=!s;if(i==="minute"||i==="both")this.minuteInputError=!n;if(s&&n){this.draftMinutes=e;this.setHour24FromDisplay(t,this.period);this.emitInputIfChanged();return true}return false}get hourValueNow(){const i=parseInt(this.hourInputValue,10);return Number.isNaN(i)?this.displayHour:i}get minuteValueNow(){const i=parseInt(this.minuteInputValue,10);return Number.isNaN(i)?this.draftMinutes:i}bumpFocusedInput(i,t){if(t==="hour"){const t=this.hourInputError?this.displayHour:this.hourValueNow;if(this.format==="24h"){this.draftHours=((t+i)%24+24)%24}else{const e=t;let r=e+i;if(r>12)r=1;else if(r<1)r=12;this.setHour24FromDisplay(r,this.period)}this.hourInputError=false;this.hourInputValue=String(this.displayHour);if(this.hourInputEl){this.hourInputEl.value=this.hourInputValue;this.selectInputContents(this.hourInputEl)}}else{const t=Math.max(1,Math.min(30,this.minuteStep||1));const e=this.minuteInputError?this.draftMinutes:this.minuteValueNow;const r=Math.round(e/t)*t;this.draftMinutes=((r+i*t)%60+60)%60;this.minuteInputError=false;this.minuteInputValue=String(this.draftMinutes).padStart(2,"0");if(this.minuteInputEl){this.minuteInputEl.value=this.minuteInputValue;this.selectInputContents(this.minuteInputEl)}}this.emitInputIfChanged()}selectInputContents(i){if(typeof i.select!=="function")return;try{i.select()}catch{}}renderTrigger(){if(this.hideTrigger)return null;const i=this.committedValue?this.formatDisplayTime(this.committedHours,this.committedMinutes):"";const t=i?`${this.label}, ${i}`:this.label;return r("md-text-field",{class:{"md-time-picker__field":true,"md-time-picker__field--disabled":this.isDisabled,"md-time-picker__field--filled":!!i,"md-time-picker__field--open":this.isOpen},variant:"outlined",readOnly:true,label:this.label,value:i,supportingText:this.error&&this.errorText?"":this.supportingText,error:this.error,errorText:this.errorText,reserveSupportingSpace:this.reserveSupportingSpace,disabled:this.isDisabled,required:this.required,part:"trigger","aria-haspopup":"dialog","aria-expanded":String(this.isOpen),"aria-label":t,appearFocused:this.isOpen,ref:i=>{this.triggerFieldEl=i},onClick:this.onTriggerClick,onKeyDown:this.onTriggerKeyDown},r("span",{slot:"leading-icon",class:"md-time-picker__field-icon material-symbols-outlined",part:"trigger-icon","aria-hidden":"true"},"schedule"))}get effectivePeriodLayout(){if(this.mode==="input")return"vertical";if(this.effectiveOrientation==="horizontal"&&this.mode==="dial")return"horizontal";return this.periodLayout}get effectiveVariant(){if(!this.responsive)return this.variant;if(!this.viewportHeight)return this.variant;if(this.viewportHeight<i.ADAPTIVE_MIN_DIAL_HEIGHT)return"input";return this.variant}get effectiveOrientation(){if(!this.responsive)return this.orientation;if(!this.viewportWidth||!this.viewportHeight)return this.orientation;if(this.mode!=="dial")return this.orientation;if(this.orientation==="vertical"&&this.viewportWidth>=i.ADAPTIVE_LANDSCAPE_WIDTH&&this.viewportWidth>this.viewportHeight){return"horizontal"}if(this.orientation==="horizontal"&&this.viewportWidth<i.ADAPTIVE_DEMOTE_WIDTH){return"vertical"}return this.orientation}renderPeriodToggle(){const i=this.period;const t=this.effectivePeriodLayout==="horizontal";return r("div",{class:{"md-time-picker__period":true,"md-time-picker__period--vertical":!t,"md-time-picker__period--horizontal":t},role:"radiogroup","aria-label":this.periodLabel,"aria-orientation":t?"horizontal":"vertical",onKeyDown:this.onPeriodKeyDown,part:"period-toggle"},r("button",{type:"button",class:{"md-time-picker__period-btn":true,"md-time-picker__period-btn--am":true,"md-time-picker__period-btn--active":i==="AM"},role:"radio","aria-checked":String(i==="AM"),tabindex:i==="AM"?0:-1,onClick:()=>this.togglePeriod("AM"),part:"period-am"},r("md-ripple",{disabled:this.isDisabled,part:"period-am-ripple"}),r("span",{class:"md-time-picker__period-btn-label"},this.amLabel)),r("button",{type:"button",class:{"md-time-picker__period-btn":true,"md-time-picker__period-btn--pm":true,"md-time-picker__period-btn--active":i==="PM"},role:"radio","aria-checked":String(i==="PM"),tabindex:i==="PM"?0:-1,onClick:()=>this.togglePeriod("PM"),part:"period-pm"},r("md-ripple",{disabled:this.isDisabled,part:"period-pm-ripple"}),r("span",{class:"md-time-picker__period-btn-label"},this.pmLabel)))}advanceHandAngle(i,t){if(this.lastHandMode!==i){this.lastHandMode=i;if(i==="hour"){this.hourCumulativeAngle=t;return t}this.minuteCumulativeAngle=t;return t}const e=i==="hour"?this.hourCumulativeAngle:this.minuteCumulativeAngle;const r=((t-e)%360+540)%360-180;const a=e+r;if(i==="hour")this.hourCumulativeAngle=a;else this.minuteCumulativeAngle=a;return a}renderDial(){const i=this.selecting==="hour";const t=50;const e=.8;const a=.52;let s=0;let n=e;if(i){if(this.format==="12h"){const i=this.displayHour===12?0:this.displayHour;s=i*30}else{const i=this.draftHours;if(i===0){s=0;n=a}else if(i>=1&&i<=12){s=(i===12?0:i)*30}else{s=(i-12)*30;n=a}}}else{s=this.draftMinutes*6}const o=this.advanceHandAngle(i?"hour":"minute",s);return r("div",{class:"md-time-picker__dial-wrap",part:"dial-wrap"},r("div",{class:{"md-time-picker__dial":true,"md-time-picker__dial--minute":!i,"md-time-picker__dial--24h-hour":i&&this.format==="24h"},ref:i=>this.dialEl=i,onPointerDown:this.onDialPointerDown,onPointerMove:this.onDialPointerMove,onPointerUp:this.onDialPointerUp,onPointerCancel:this.onDialPointerUp,role:"presentation",part:"dial"},r("div",{class:"md-time-picker__dial-hand",style:{transform:`rotate(${o}deg)`,["--_hand-length-dynamic"]:`${n*100}%`},"aria-hidden":"true",part:"dial-hand"},r("span",{class:"md-time-picker__dial-hand-dot","aria-hidden":"true"}),r("span",{class:"md-time-picker__dial-hand-line","aria-hidden":"true"}),r("span",{class:"md-time-picker__dial-hand-tip","aria-hidden":"true"})),r("span",{class:"md-time-picker__dial-center","aria-hidden":"true"}),i?this.renderHourNumbers(t,e,a):this.renderMinuteNumbers(t,e)))}renderHourNumbers(i,t,e){const r=[];if(this.format==="12h"){for(let i=0;i<12;i++){const t=i===0?"12":String(i);r.push({label:t,angle:i*30,inner:false,value:i===0?12:i})}}else{for(let i=0;i<12;i++){const t=i===0?"12":String(i);r.push({label:t,angle:i*30,inner:false,value:i===0?12:i})}for(let i=0;i<12;i++){const t=i===0?"00":String(12+i);r.push({label:t,angle:i*30,inner:true,value:i===0?0:12+i})}}return r.map((r=>this.renderDialNumber(r.label,r.angle,r.inner,this.isHourActive(r.value),i,t,e,r.value)))}isHourActive(i){if(this.format==="12h"){return this.displayHour===i}return this.draftHours===i}renderMinuteNumbers(i,t){const e=[];for(let i=0;i<12;i++){const t=i*5;e.push({label:String(t).padStart(2,"0"),angle:t*6,value:t})}return e.map((e=>this.renderDialNumber(e.label,e.angle,false,this.draftMinutes===e.value,i,t,t,e.value)))}renderDialNumber(i,t,e,a,s,n,o,d){const l=e?s*o:s*n;const c=(t-90)*Math.PI/180;const h=50+Math.cos(c)*l;const p=50+Math.sin(c)*l;return r("span",{class:{"md-time-picker__dial-number":true,"md-time-picker__dial-number--inner":e,"md-time-picker__dial-number--active":a},style:{left:`${h}%`,top:`${p}%`},"data-value":String(d),"aria-hidden":"true"},i)}renderInputs(i=true){const t=this.selecting==="hour";return r("div",{class:"md-time-picker__input-area",part:"input-area"},r("div",{class:"md-time-picker__input-time"},r("div",{class:"md-time-picker__input-group"},r("input",{type:"text",inputmode:"numeric",autocomplete:"off",class:{"md-time-picker__input":true,"md-time-picker__input-hour":true,"md-time-picker__input--active":t,"md-time-picker__input--error":this.hourInputError},maxLength:2,ref:this.bindHourInput,role:"spinbutton","aria-valuemin":this.format==="24h"?0:1,"aria-valuemax":this.format==="24h"?23:12,"aria-valuenow":this.hourInputError?undefined:this.hourValueNow,"aria-label":this.hourLabel,"aria-invalid":String(this.hourInputError),onInput:this.onHourInput,onFocus:()=>this.setSelecting("hour"),onBlur:this.onHourBlur,onKeyDown:this.onInputKeyDown,part:"input-hour"}),r("span",{class:"md-time-picker__input-hint"},this.hourLabel)),r("span",{class:"md-time-picker__input-separator","aria-hidden":"true"},":"),r("div",{class:"md-time-picker__input-group"},r("input",{type:"text",inputmode:"numeric",autocomplete:"off",class:{"md-time-picker__input":true,"md-time-picker__input-minute":true,"md-time-picker__input--active":!t,"md-time-picker__input--error":this.minuteInputError},maxLength:2,ref:this.bindMinuteInput,role:"spinbutton","aria-valuemin":0,"aria-valuemax":59,"aria-valuenow":this.minuteInputError?undefined:this.minuteValueNow,"aria-label":this.minuteLabel,"aria-invalid":String(this.minuteInputError),onInput:this.onMinuteInput,onFocus:()=>this.setSelecting("minute"),onBlur:this.onMinuteBlur,onKeyDown:this.onInputKeyDown,part:"input-minute"}),r("span",{class:"md-time-picker__input-hint"},this.minuteLabel)),this.format==="12h"&&i&&this.renderPeriodToggle()))}renderDialog(){if(!this.isOpen)return null;const i=this.mode==="input";const t=!i&&this.effectiveOrientation==="horizontal";const e=this.effectivePeriodLayout;const a=this.headline||(i?this.headlineInputLabel:this.headlineDialLabel);const s=!i&&this.format==="12h"&&e==="horizontal";const n=i?null:r("div",{class:"md-time-picker__time-area",part:"time-area"},this.renderInputs(!s),s&&this.renderPeriodToggle());return r("div",{class:"md-time-picker__scrim",part:"scrim",onClick:i=>{if(i.target===i.currentTarget)this.cancel()}},r("div",{class:{"md-time-picker__dialog":true,"md-time-picker__dialog--dial":!i,"md-time-picker__dialog--input":i,"md-time-picker__dialog--horizontal":t,"md-time-picker__dialog--vertical":!t},role:"dialog","aria-modal":"true","aria-labelledby":this.headlineId,part:"dialog"},r("div",{class:"md-time-picker__headline",id:this.headlineId,part:"headline"},a),r("span",{class:"md-time-picker__sr-status","aria-live":"polite"},this.selecting==="hour"?this.hourLabel:this.minuteLabel),r("div",{class:{"md-time-picker__body":true,"md-time-picker__body--horizontal":t},part:"body"},n,i?this.renderInputs():this.renderDial()),r("div",{class:"md-time-picker__footer",part:"footer"},r("md-icon-button",{class:"md-time-picker__toggle-mode",variant:"standard",size:"sm",icon:i?"schedule":"keyboard","aria-label":i?this.toggleDialLabel:this.toggleInputLabel,onMdClick:this.toggleMode,part:"toggle-mode"}),r("div",{class:"md-time-picker__actions",part:"actions"},r("md-button",{class:"md-time-picker__action-btn",variant:"text",size:"sm",onMdClick:this.cancel,part:"cancel-button"},this.cancelLabel),r("md-button",{class:"md-time-picker__action-btn md-time-picker__action-btn--primary",variant:"text",size:"sm",onMdClick:this.confirm,part:"confirm-button"},this.okLabel)))))}render(){return r(a,{key:"e694ce53bf3bdbef5bb887e5a6889abdee648c47",class:{"md-time-picker":true,[`md-time-picker--${this.variant}`]:true,[`md-time-picker--format-${this.format}`]:true,"md-time-picker--open":this.isOpen,"md-time-picker--disabled":this.isDisabled},onKeyDown:this.onHostKeyDown},this.renderTrigger(),this.renderDialog())}static get formAssociated(){return true}get el(){return this}static get watchers(){return{variant:[{handleVariantChange:0}],value:[{handleValueChange:0}],min:[{handleConstraintChange:0}],max:[{handleConstraintChange:0}],required:[{handleConstraintChange:0}],valueMissingLabel:[{handleConstraintChange:0}],rangeUnderflowLabel:[{handleConstraintChange:0}],rangeOverflowLabel:[{handleConstraintChange:0}],rangeOutsideLabel:[{handleConstraintChange:0}],disabled:[{handleDisabledChange:0}],responsive:[{handleResponsiveChange:0}],open:[{handleOpenPropChange:0}]}}static get style(){return h()}},[65,"md-time-picker",{variant:[1],format:[1],value:[1537],name:[513],min:[1],max:[1],required:[516],label:[1],supportingText:[1,"supporting-text"],error:[1540],errorText:[1025,"error-text"],reserveSupportingSpace:[4,"reserve-supporting-space"],headline:[1],headlineInputLabel:[1,"headline-input-label"],headlineDialLabel:[1,"headline-dial-label"],valueMissingLabel:[1,"value-missing-label"],rangeUnderflowLabel:[1,"range-underflow-label"],rangeOverflowLabel:[1,"range-overflow-label"],rangeOutsideLabel:[1,"range-outside-label"],disabled:[516],open:[1540],minuteStep:[2,"minute-step"],cancelLabel:[1,"cancel-label"],okLabel:[1,"ok-label"],hideTrigger:[516,"hide-trigger"],amLabel:[1,"am-label"],pmLabel:[1,"pm-label"],hourLabel:[1,"hour-label"],minuteLabel:[1,"minute-label"],toggleDialLabel:[1,"toggle-dial-label"],toggleInputLabel:[1,"toggle-input-label"],periodLabel:[1,"period-label"],periodLayout:[1,"period-layout"],orientation:[1],responsive:[4],density:[514],isOpen:[32],mode:[32],selecting:[32],draftHours:[32],draftMinutes:[32],hourInputValue:[32],minuteInputValue:[32],hourInputError:[32],minuteInputError:[32],viewportWidth:[32],viewportHeight:[32],formDisabled:[32],show:[64],hide:[64],checkValidity:[64],reportValidity:[64],getValidity:[64]},undefined,{variant:[{handleVariantChange:0}],value:[{handleValueChange:0}],min:[{handleConstraintChange:0}],max:[{handleConstraintChange:0}],required:[{handleConstraintChange:0}],valueMissingLabel:[{handleConstraintChange:0}],rangeUnderflowLabel:[{handleConstraintChange:0}],rangeOverflowLabel:[{handleConstraintChange:0}],rangeOutsideLabel:[{handleConstraintChange:0}],disabled:[{handleDisabledChange:0}],responsive:[{handleResponsiveChange:0}],open:[{handleOpenPropChange:0}]}]);_.ADAPTIVE_MIN_DIAL_HEIGHT=460;_.ADAPTIVE_LANDSCAPE_WIDTH=720;_.ADAPTIVE_DEMOTE_WIDTH=620;function g(){if(typeof customElements==="undefined"){return}const i=["md-time-picker","md-button","md-icon-button","md-ripple","md-text-field"];i.forEach((i=>{switch(i){case"md-time-picker":if(!customElements.get(s(i))){customElements.define(s(i),_)}break;case"md-button":if(!customElements.get(s(i))){o()}break;case"md-icon-button":if(!customElements.get(s(i))){d()}break;case"md-ripple":if(!customElements.get(s(i))){l()}break;case"md-text-field":if(!customElements.get(s(i))){c()}break}}))}g();const f=_;const v=g;export{f as MdTimePicker,v as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=md-time-picker.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as s,c as e,h as i,d as r,t as a}from"./p-CB5yqdO-.js";import{p as n}from"./p-CxhZdOPw.js";import{d as o}from"./p-BVX8IDbb.js";import{d as l}from"./p-Cqg4krGd.js";import{d as c}from"./p-CfwUHJJY.js";import{d}from"./p-oa3iIi7G.js";const m=()=>`:host{--_column-min-width:var(--md-transfer-list-column-min-width, 260px);--_column-max-block:var(--md-transfer-list-column-max-block, var(--md-transfer-list-height, 360px));--_width:var(--md-transfer-list-width, auto);--_min-width:var(--md-transfer-list-min-width, auto);--_max-width:var(--md-transfer-list-max-width, none);--_height:var(--md-transfer-list-height, auto);--_min-height:var(--md-transfer-list-min-height, auto);--_max-height:var(--md-transfer-list-max-height, none);--_container-shape:var(--md-transfer-list-container-shape, var(--md-sys-shape-corner-large, 16px));--_container-color:var(--md-transfer-list-container-color, var(--md-sys-color-surface-container-low));--_header-color:var(--md-transfer-list-header-color, var(--md-sys-color-surface-container));--_header-text-color:var(--md-transfer-list-header-text-color, var(--md-sys-color-on-surface));--_item-inset:var(--md-transfer-list-item-inset, 6px);--_item-padding:var( --md-transfer-list-item-padding, var(--md-sys-spacing-inset-sm, 8px) calc(var(--md-sys-spacing-inset-lg, 16px) - var(--_item-inset)) );--_item-gap:var(--md-transfer-list-item-gap, var(--md-sys-spacing-gap-md, 12px));--_divider-color:var(--md-transfer-list-divider-color, var(--md-sys-color-outline-variant));--_controls-gap:var(--md-transfer-list-controls-gap, var(--md-sys-spacing-gap-md, 12px));--_control-size:var(--md-transfer-list-control-size, max(24px, calc(40px + var(--md-sys-density-scale, 0) * 4px)));--_control-icon-size:var(--md-transfer-list-control-icon-size, max(16px, calc(24px + var(--md-sys-density-scale, 0) * 2px)));display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:minmax(0, 1fr);gap:var(--md-sys-spacing-gap-lg, 16px);align-items:stretch;box-sizing:border-box;inline-size:var(--_width);min-inline-size:var(--_min-width);max-inline-size:var(--_max-width);block-size:var(--_height);min-block-size:var(--_min-height);max-block-size:var(--_max-height);font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, system-ui, sans-serif);color:var(--md-sys-color-on-surface, #1d1b20)}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}:host([full-width]){inline-size:100%}:host([full-height]){block-size:100%;--_column-max-block:var(--md-transfer-list-column-max-block, 100%)}@media (max-width: 640px){:host{grid-template-columns:1fr;grid-template-rows:auto auto auto}}.md-transfer-list__column{display:flex;flex-direction:column;min-inline-size:var(--_column-min-width);max-block-size:var(--_column-max-block);background:var(--_container-color);border-radius:var(--_container-shape);overflow:hidden;border:1px solid var(--_divider-color);box-sizing:border-box}:host([searchable]) .md-transfer-list__column{block-size:var(--_column-max-block)}.md-transfer-list__header{display:flex;align-items:center;gap:var(--md-sys-spacing-gap-md, 12px);padding:var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-lg, 16px);background:var(--_header-color);color:var(--_header-text-color);border-block-end:1px solid var(--_divider-color);flex:0 0 auto}.md-transfer-list__header-title{display:flex;flex-direction:column;min-inline-size:0;flex:1}.md-transfer-list__title{font-family:var(--md-sys-typescale-title-small-font-family, Roboto, system-ui, sans-serif);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-title-small-weight, 500);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__count{align-self:flex-start;margin-block-start:2px;padding:1px 8px;border-radius:var(--md-sys-shape-corner-full, 999px);background:var(--md-sys-color-secondary-container, #e8def8);color:var(--md-sys-color-on-secondary-container, #1d192b);font-size:max(10px, calc(11px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-label-small-weight, 500);line-height:max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));letter-spacing:0.4px;white-space:nowrap}.md-transfer-list__search{padding:calc(8px + max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px))) var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-sm, 8px);flex:0 0 auto}.md-transfer-list__list{margin:0;padding:var(--md-sys-spacing-inset-xs, 4px) 0;list-style:none;overflow-y:auto;flex:1 1 auto}.md-transfer-list__item{position:relative;display:flex;align-items:center;gap:var(--_item-gap);padding:var(--_item-padding);margin-inline:var(--_item-inset);border-radius:var(--md-sys-shape-corner-small, 8px);cursor:pointer;transition:background-color var(--md-sys-motion-duration-short2, 100ms) ease;outline:none}.md-transfer-list__item+.md-transfer-list__item{margin-block-start:2px}.md-transfer-list__item:hover{background:color-mix(in srgb, var(--md-sys-color-on-surface) 8%, transparent)}.md-transfer-list__item--checked{background:color-mix(in srgb, var(--md-sys-color-primary) 8%, transparent)}.md-transfer-list__item--checked:hover{background:color-mix(in srgb, var(--md-sys-color-primary) 12%, transparent)}.md-transfer-list__item:focus-visible{outline:3px solid var(--md-sys-color-secondary);outline-offset:-3px;background:color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent)}.md-transfer-list__item--disabled{opacity:var(--md-sys-state-disabled-content-opacity, 0.38);pointer-events:none}.md-transfer-list__labels{display:flex;flex-direction:column;min-inline-size:0;flex:1}.md-transfer-list__label{color:var(--md-sys-color-on-surface);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__description{color:var(--md-sys-color-on-surface-variant);font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__empty{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-gap-sm, 8px);padding:max(4px, calc(32px + var(--md-sys-density-scale, 0) * 2px)) var(--md-sys-spacing-inset-lg, 16px);text-align:center;color:var(--md-sys-color-on-surface-variant);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px))}.md-transfer-list__empty-icon{font-size:var(--md-transfer-list-empty-icon-size, max(24px, calc(32px + var(--md-sys-density-scale, 0) * 2px)));opacity:0.9}.md-transfer-list__controls{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--_controls-gap);padding-inline:var(--md-sys-spacing-inset-xs, 4px)}.md-transfer-list__controls md-icon-button{--md-icon-button-container-width:var(--_control-size);--md-icon-button-container-height:var(--_control-size);--md-icon-button-icon-size:var(--_control-icon-size)}@media (max-width: 640px){.md-transfer-list__controls{flex-direction:row;justify-content:center;padding-block:var(--md-sys-spacing-inset-md, 12px)}.md-transfer-list__controls md-icon-button,:host-context([dir='rtl']) .md-transfer-list__controls md-icon-button,:host([dir='rtl']) .md-transfer-list__controls md-icon-button{transform:rotate(90deg)}}:host(.md-transfer-list--disabled) .md-transfer-list__item{pointer-events:none;cursor:default}:host-context([dir='rtl']) .md-transfer-list__controls md-icon-button,:host([dir='rtl']) .md-transfer-list__controls md-icon-button{transform:scaleX(-1)}@media (prefers-reduced-motion: reduce){.md-transfer-list__item{transition:none}}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;overflow-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}:host([hidden]){display:none !important}`;const h=t(class t extends s{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdChange=e(this,"mdChange",7);this.mdMove=e(this,"mdMove",7);this.items=[];this.value=[];this.sourceTitle="Choices";this.targetTitle="Chosen";this.searchable=true;this.sourceSearchPlaceholder="Search choices";this.targetSearchPlaceholder="Search chosen";this.showSelectAll=true;this.searchIcon="search";this.moveRightIcon="chevron_right";this.moveLeftIcon="chevron_left";this.moveAllRightIcon="keyboard_double_arrow_right";this.moveAllLeftIcon="keyboard_double_arrow_left";this.emptyIcon="";this.emptyText="No items";this.countTemplate="{checked}/{total} selected";this.density=0;this.disabled=false;this.singleStepOnly=false;this.moveRightLabel="Move selected to target";this.moveLeftLabel="Move selected to source";this.moveAllRightLabel="Move all to target";this.moveAllLeftLabel="Move all to source";this.sourceChecked=new Set;this.targetChecked=new Set;this.sourceQuery="";this.targetQuery="";this.moveRight=()=>{if(this.disabled)return;const t=this.getEligibleChecked("source");if(t.length===0)return;const s=[...this.value,...t];this.sourceChecked=new Set;this.commit(s,"right",t)};this.moveLeft=()=>{if(this.disabled)return;const t=this.getEligibleChecked("target");if(t.length===0)return;const s=this.value.filter((s=>!t.includes(s)));this.targetChecked=new Set;this.commit(s,"left",t)};this.moveAllRight=()=>{if(this.disabled)return;const t=this.sourceItems.filter((t=>!t.disabled)).map((t=>t.value));if(t.length===0)return;const s=[...this.value,...t];this.sourceChecked=new Set;this.commit(s,"right",t)};this.moveAllLeft=()=>{if(this.disabled)return;const t=this.targetItems.filter((t=>!t.disabled)).map((t=>t.value));if(t.length===0)return;const s=this.value.filter((s=>!t.includes(s)));this.targetChecked=new Set;this.commit(s,"left",t)};this.toggleItem=(t,s)=>{if(this.disabled)return;const e=this.itemList.find((t=>t.value===s));if(e?.disabled)return;const i=new Set(t==="source"?this.sourceChecked:this.targetChecked);if(i.has(s))i.delete(s);else i.add(s);if(t==="source")this.sourceChecked=i;else this.targetChecked=i};this.toggleSelectAll=t=>()=>{if(this.disabled)return;const s=this.getVisible(t).filter((t=>!t.disabled));const e=t==="source"?this.sourceChecked:this.targetChecked;const i=s.length>0&&s.every((t=>e.has(t.value)));const r=new Set(e);if(i){s.forEach((t=>r.delete(t.value)))}else{s.forEach((t=>r.add(t.value)))}if(t==="source")this.sourceChecked=r;else this.targetChecked=r}}get itemList(){return n(this.items,"md-transfer-list","items")}syncCheckedSets(){const t=new Set(this.itemList.map((t=>t.value)));this.sourceChecked=new Set(Array.from(this.sourceChecked).filter((s=>t.has(s))));this.targetChecked=new Set(Array.from(this.targetChecked).filter((s=>t.has(s))))}async moveSelectedRight(){this.moveRight()}async moveSelectedLeft(){this.moveLeft()}get sourceItems(){return this.itemList.filter((t=>!this.value.includes(t.value)))}get targetItems(){return this.itemList.filter((t=>this.value.includes(t.value)))}filter(t,s){if(!s)return t;const e=s.trim().toLowerCase();return t.filter((t=>t.label.toLowerCase().includes(e)||(t.description?.toLowerCase().includes(e)??false)))}getVisible(t){return t==="source"?this.filter(this.sourceItems,this.sourceQuery):this.filter(this.targetItems,this.targetQuery)}getEligibleChecked(t){const s=new Set(this.getVisible(t).filter((t=>!t.disabled)).map((t=>t.value)));const e=t==="source"?this.sourceChecked:this.targetChecked;return Array.from(e).filter((t=>s.has(t)))}commit(t,s,e){this.value=t;this.mdChange.emit(t);this.mdMove.emit({direction:s,moved:e,target:t})}renderHeader(t){const s=t==="source"?this.sourceTitle:this.targetTitle;const e=this.getVisible(t);const r=e.filter((t=>!t.disabled));const a=t==="source"?this.sourceChecked:this.targetChecked;const n=r.filter((t=>a.has(t.value))).length;const o=r.length>0&&n===r.length;const l=n>0&&!o;return i("div",{class:"md-transfer-list__header",part:"header"},this.showSelectAll&&i("md-checkbox",{class:"md-transfer-list__select-all",checked:o,indeterminate:l,disabled:this.disabled||r.length===0,onMdChange:this.toggleSelectAll(t),"aria-label":`Select all ${s}`}),i("div",{class:"md-transfer-list__header-title",part:"header-title"},i("span",{class:"md-transfer-list__title"},s),i("span",{class:"md-transfer-list__count",part:"count"},this.countTemplate.replace("{checked}",String(n)).replace("{total}",String(r.length)))))}renderSearch(t){if(!this.searchable)return null;const s=t==="source"?this.sourceSearchPlaceholder:this.targetSearchPlaceholder;const e=t==="source"?this.sourceQuery:this.targetQuery;return i("md-text-field",{class:"md-transfer-list__search",part:"search",variant:"outlined",density:this.density,label:s,value:e,clearable:"internal",disabled:this.disabled,onMdInput:s=>{if(t==="source")this.sourceQuery=s.detail??"";else this.targetQuery=s.detail??""}},this.searchIcon&&i("span",{slot:"leading-icon",class:"material-symbols-outlined","aria-hidden":"true"},this.searchIcon))}renderList(t){const s=this.getVisible(t);const e=t==="source"?this.sourceChecked:this.targetChecked;const r=t==="source"?this.sourceTitle:this.targetTitle;if(s.length===0){return i("div",{class:"md-transfer-list__empty",role:"status",part:"empty"},this.emptyIcon&&i("span",{class:"md-transfer-list__empty-icon material-symbols-outlined",part:"empty-icon","aria-hidden":"true"},this.emptyIcon),this.emptyText)}return i("ul",{class:"md-transfer-list__list",role:"listbox","aria-multiselectable":"true","aria-label":r,tabindex:this.disabled?"0":undefined,part:"list"},s.map((s=>{const r=e.has(s.value);return i("li",{class:{"md-transfer-list__item":true,"md-transfer-list__item--checked":r,"md-transfer-list__item--disabled":!!s.disabled},role:"option","aria-selected":String(r),"aria-disabled":s.disabled?"true":"false",key:s.value,onClick:()=>this.toggleItem(t,s.value),onKeyDown:e=>{if(e.key===" "||e.key==="Enter"){e.preventDefault();this.toggleItem(t,s.value)}},tabindex:s.disabled||this.disabled?"-1":"0",part:"item"},i("md-ripple",{disabled:s.disabled||this.disabled}),i("md-checkbox",{checked:r,disabled:s.disabled||this.disabled,inert:true,"aria-hidden":"true"}),i("div",{class:"md-transfer-list__labels"},i("span",{class:"md-transfer-list__label"},s.label),s.description&&i("span",{class:"md-transfer-list__description"},s.description)))})))}renderColumn(t){return i("div",{class:"md-transfer-list__column",part:`column column-${t}`},this.renderHeader(t),this.renderSearch(t),this.renderList(t))}renderControls(){const t=this.getEligibleChecked("source").length;const s=this.getEligibleChecked("target").length;const e=this.sourceItems.some((t=>!t.disabled));const r=this.targetItems.some((t=>!t.disabled));return i("div",{class:"md-transfer-list__controls",part:"controls"},!this.singleStepOnly&&i("md-icon-button",{variant:"tonal",icon:this.moveAllRightIcon,disabled:this.disabled||!e,"aria-label":this.moveAllRightLabel,onClick:this.moveAllRight}),i("md-icon-button",{variant:"filled",icon:this.moveRightIcon,disabled:this.disabled||t===0,"aria-label":this.moveRightLabel,onClick:this.moveRight}),i("md-icon-button",{variant:"filled",icon:this.moveLeftIcon,disabled:this.disabled||s===0,"aria-label":this.moveLeftLabel,onClick:this.moveLeft}),!this.singleStepOnly&&i("md-icon-button",{variant:"tonal",icon:this.moveAllLeftIcon,disabled:this.disabled||!r,"aria-label":this.moveAllLeftLabel,onClick:this.moveAllLeft}))}render(){return i(r,{key:"acac9592489748fab0415b91bdf0d6814476e401",class:{"md-transfer-list":true,"md-transfer-list--disabled":this.disabled},role:"group","aria-disabled":this.disabled?"true":"false"},this.renderColumn("source"),this.renderControls(),this.renderColumn("target"))}get el(){return this}static get watchers(){return{value:[{syncCheckedSets:0}]}}static get style(){return m()}},[1,"md-transfer-list",{items:[1],value:[1040],sourceTitle:[1,"source-title"],targetTitle:[1,"target-title"],searchable:[516],sourceSearchPlaceholder:[1,"source-search-placeholder"],targetSearchPlaceholder:[1,"target-search-placeholder"],showSelectAll:[516,"show-select-all"],searchIcon:[1,"search-icon"],moveRightIcon:[1,"move-right-icon"],moveLeftIcon:[1,"move-left-icon"],moveAllRightIcon:[1,"move-all-right-icon"],moveAllLeftIcon:[1,"move-all-left-icon"],emptyIcon:[1,"empty-icon"],emptyText:[1,"empty-text"],countTemplate:[1,"count-template"],density:[514],disabled:[516],singleStepOnly:[516,"single-step-only"],moveRightLabel:[1,"move-right-label"],moveLeftLabel:[1,"move-left-label"],moveAllRightLabel:[1,"move-all-right-label"],moveAllLeftLabel:[1,"move-all-left-label"],sourceChecked:[32],targetChecked:[32],sourceQuery:[32],targetQuery:[32],moveSelectedRight:[64],moveSelectedLeft:[64]},undefined,{value:[{syncCheckedSets:0}]}]);function f(){if(typeof customElements==="undefined"){return}const t=["md-transfer-list","md-checkbox","md-icon-button","md-ripple","md-text-field"];t.forEach((t=>{switch(t){case"md-transfer-list":if(!customElements.get(a(t))){customElements.define(a(t),h)}break;case"md-checkbox":if(!customElements.get(a(t))){o()}break;case"md-icon-button":if(!customElements.get(a(t))){l()}break;case"md-ripple":if(!customElements.get(a(t))){c()}break;case"md-text-field":if(!customElements.get(a(t))){d()}break}}))}f();const p=h;const u=f;export{p as MdTransferList,u as defineCustomElement};
|
|
1
|
+
import{p as t,H as s,c as e,h as i,d as r,t as a}from"./p-CB5yqdO-.js";import{p as n}from"./p-CxhZdOPw.js";import{d as o}from"./p-BVX8IDbb.js";import{d as l}from"./p-Cqg4krGd.js";import{d as c}from"./p-CfwUHJJY.js";import{d}from"./p-CpQwlYEw.js";const m=()=>`:host{--_column-min-width:var(--md-transfer-list-column-min-width, 260px);--_column-max-block:var(--md-transfer-list-column-max-block, var(--md-transfer-list-height, 360px));--_width:var(--md-transfer-list-width, auto);--_min-width:var(--md-transfer-list-min-width, auto);--_max-width:var(--md-transfer-list-max-width, none);--_height:var(--md-transfer-list-height, auto);--_min-height:var(--md-transfer-list-min-height, auto);--_max-height:var(--md-transfer-list-max-height, none);--_container-shape:var(--md-transfer-list-container-shape, var(--md-sys-shape-corner-large, 16px));--_container-color:var(--md-transfer-list-container-color, var(--md-sys-color-surface-container-low));--_header-color:var(--md-transfer-list-header-color, var(--md-sys-color-surface-container));--_header-text-color:var(--md-transfer-list-header-text-color, var(--md-sys-color-on-surface));--_item-inset:var(--md-transfer-list-item-inset, 6px);--_item-padding:var( --md-transfer-list-item-padding, var(--md-sys-spacing-inset-sm, 8px) calc(var(--md-sys-spacing-inset-lg, 16px) - var(--_item-inset)) );--_item-gap:var(--md-transfer-list-item-gap, var(--md-sys-spacing-gap-md, 12px));--_divider-color:var(--md-transfer-list-divider-color, var(--md-sys-color-outline-variant));--_controls-gap:var(--md-transfer-list-controls-gap, var(--md-sys-spacing-gap-md, 12px));--_control-size:var(--md-transfer-list-control-size, max(24px, calc(40px + var(--md-sys-density-scale, 0) * 4px)));--_control-icon-size:var(--md-transfer-list-control-icon-size, max(16px, calc(24px + var(--md-sys-density-scale, 0) * 2px)));display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:minmax(0, 1fr);gap:var(--md-sys-spacing-gap-lg, 16px);align-items:stretch;box-sizing:border-box;inline-size:var(--_width);min-inline-size:var(--_min-width);max-inline-size:var(--_max-width);block-size:var(--_height);min-block-size:var(--_min-height);max-block-size:var(--_max-height);font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, system-ui, sans-serif);color:var(--md-sys-color-on-surface, #1d1b20)}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}:host([full-width]){inline-size:100%}:host([full-height]){block-size:100%;--_column-max-block:var(--md-transfer-list-column-max-block, 100%)}@media (max-width: 640px){:host{grid-template-columns:1fr;grid-template-rows:auto auto auto}}.md-transfer-list__column{display:flex;flex-direction:column;min-inline-size:var(--_column-min-width);max-block-size:var(--_column-max-block);background:var(--_container-color);border-radius:var(--_container-shape);overflow:hidden;border:1px solid var(--_divider-color);box-sizing:border-box}:host([searchable]) .md-transfer-list__column{block-size:var(--_column-max-block)}.md-transfer-list__header{display:flex;align-items:center;gap:var(--md-sys-spacing-gap-md, 12px);padding:var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-lg, 16px);background:var(--_header-color);color:var(--_header-text-color);border-block-end:1px solid var(--_divider-color);flex:0 0 auto}.md-transfer-list__header-title{display:flex;flex-direction:column;min-inline-size:0;flex:1}.md-transfer-list__title{font-family:var(--md-sys-typescale-title-small-font-family, Roboto, system-ui, sans-serif);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-title-small-weight, 500);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__count{align-self:flex-start;margin-block-start:2px;padding:1px 8px;border-radius:var(--md-sys-shape-corner-full, 999px);background:var(--md-sys-color-secondary-container, #e8def8);color:var(--md-sys-color-on-secondary-container, #1d192b);font-size:max(10px, calc(11px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-label-small-weight, 500);line-height:max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));letter-spacing:0.4px;white-space:nowrap}.md-transfer-list__search{padding:calc(8px + max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px))) var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-sm, 8px);flex:0 0 auto}.md-transfer-list__list{margin:0;padding:var(--md-sys-spacing-inset-xs, 4px) 0;list-style:none;overflow-y:auto;flex:1 1 auto}.md-transfer-list__item{position:relative;display:flex;align-items:center;gap:var(--_item-gap);padding:var(--_item-padding);margin-inline:var(--_item-inset);border-radius:var(--md-sys-shape-corner-small, 8px);cursor:pointer;transition:background-color var(--md-sys-motion-duration-short2, 100ms) ease;outline:none}.md-transfer-list__item+.md-transfer-list__item{margin-block-start:2px}.md-transfer-list__item:hover{background:color-mix(in srgb, var(--md-sys-color-on-surface) 8%, transparent)}.md-transfer-list__item--checked{background:color-mix(in srgb, var(--md-sys-color-primary) 8%, transparent)}.md-transfer-list__item--checked:hover{background:color-mix(in srgb, var(--md-sys-color-primary) 12%, transparent)}.md-transfer-list__item:focus-visible{outline:3px solid var(--md-sys-color-secondary);outline-offset:-3px;background:color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent)}.md-transfer-list__item--disabled{opacity:var(--md-sys-state-disabled-content-opacity, 0.38);pointer-events:none}.md-transfer-list__labels{display:flex;flex-direction:column;min-inline-size:0;flex:1}.md-transfer-list__label{color:var(--md-sys-color-on-surface);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__description{color:var(--md-sys-color-on-surface-variant);font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-transfer-list__empty{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-gap-sm, 8px);padding:max(4px, calc(32px + var(--md-sys-density-scale, 0) * 2px)) var(--md-sys-spacing-inset-lg, 16px);text-align:center;color:var(--md-sys-color-on-surface-variant);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px))}.md-transfer-list__empty-icon{font-size:var(--md-transfer-list-empty-icon-size, max(24px, calc(32px + var(--md-sys-density-scale, 0) * 2px)));opacity:0.9}.md-transfer-list__controls{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--_controls-gap);padding-inline:var(--md-sys-spacing-inset-xs, 4px)}.md-transfer-list__controls md-icon-button{--md-icon-button-container-width:var(--_control-size);--md-icon-button-container-height:var(--_control-size);--md-icon-button-icon-size:var(--_control-icon-size)}@media (max-width: 640px){.md-transfer-list__controls{flex-direction:row;justify-content:center;padding-block:var(--md-sys-spacing-inset-md, 12px)}.md-transfer-list__controls md-icon-button,:host-context([dir='rtl']) .md-transfer-list__controls md-icon-button,:host([dir='rtl']) .md-transfer-list__controls md-icon-button{transform:rotate(90deg)}}:host(.md-transfer-list--disabled) .md-transfer-list__item{pointer-events:none;cursor:default}:host-context([dir='rtl']) .md-transfer-list__controls md-icon-button,:host([dir='rtl']) .md-transfer-list__controls md-icon-button{transform:scaleX(-1)}@media (prefers-reduced-motion: reduce){.md-transfer-list__item{transition:none}}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;overflow-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}:host([hidden]){display:none !important}`;const h=t(class t extends s{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdChange=e(this,"mdChange",7);this.mdMove=e(this,"mdMove",7);this.items=[];this.value=[];this.sourceTitle="Choices";this.targetTitle="Chosen";this.searchable=true;this.sourceSearchPlaceholder="Search choices";this.targetSearchPlaceholder="Search chosen";this.showSelectAll=true;this.searchIcon="search";this.moveRightIcon="chevron_right";this.moveLeftIcon="chevron_left";this.moveAllRightIcon="keyboard_double_arrow_right";this.moveAllLeftIcon="keyboard_double_arrow_left";this.emptyIcon="";this.emptyText="No items";this.countTemplate="{checked}/{total} selected";this.density=0;this.disabled=false;this.singleStepOnly=false;this.moveRightLabel="Move selected to target";this.moveLeftLabel="Move selected to source";this.moveAllRightLabel="Move all to target";this.moveAllLeftLabel="Move all to source";this.sourceChecked=new Set;this.targetChecked=new Set;this.sourceQuery="";this.targetQuery="";this.moveRight=()=>{if(this.disabled)return;const t=this.getEligibleChecked("source");if(t.length===0)return;const s=[...this.value,...t];this.sourceChecked=new Set;this.commit(s,"right",t)};this.moveLeft=()=>{if(this.disabled)return;const t=this.getEligibleChecked("target");if(t.length===0)return;const s=this.value.filter((s=>!t.includes(s)));this.targetChecked=new Set;this.commit(s,"left",t)};this.moveAllRight=()=>{if(this.disabled)return;const t=this.sourceItems.filter((t=>!t.disabled)).map((t=>t.value));if(t.length===0)return;const s=[...this.value,...t];this.sourceChecked=new Set;this.commit(s,"right",t)};this.moveAllLeft=()=>{if(this.disabled)return;const t=this.targetItems.filter((t=>!t.disabled)).map((t=>t.value));if(t.length===0)return;const s=this.value.filter((s=>!t.includes(s)));this.targetChecked=new Set;this.commit(s,"left",t)};this.toggleItem=(t,s)=>{if(this.disabled)return;const e=this.itemList.find((t=>t.value===s));if(e?.disabled)return;const i=new Set(t==="source"?this.sourceChecked:this.targetChecked);if(i.has(s))i.delete(s);else i.add(s);if(t==="source")this.sourceChecked=i;else this.targetChecked=i};this.toggleSelectAll=t=>()=>{if(this.disabled)return;const s=this.getVisible(t).filter((t=>!t.disabled));const e=t==="source"?this.sourceChecked:this.targetChecked;const i=s.length>0&&s.every((t=>e.has(t.value)));const r=new Set(e);if(i){s.forEach((t=>r.delete(t.value)))}else{s.forEach((t=>r.add(t.value)))}if(t==="source")this.sourceChecked=r;else this.targetChecked=r}}get itemList(){return n(this.items,"md-transfer-list","items")}syncCheckedSets(){const t=new Set(this.itemList.map((t=>t.value)));this.sourceChecked=new Set(Array.from(this.sourceChecked).filter((s=>t.has(s))));this.targetChecked=new Set(Array.from(this.targetChecked).filter((s=>t.has(s))))}async moveSelectedRight(){this.moveRight()}async moveSelectedLeft(){this.moveLeft()}get sourceItems(){return this.itemList.filter((t=>!this.value.includes(t.value)))}get targetItems(){return this.itemList.filter((t=>this.value.includes(t.value)))}filter(t,s){if(!s)return t;const e=s.trim().toLowerCase();return t.filter((t=>t.label.toLowerCase().includes(e)||(t.description?.toLowerCase().includes(e)??false)))}getVisible(t){return t==="source"?this.filter(this.sourceItems,this.sourceQuery):this.filter(this.targetItems,this.targetQuery)}getEligibleChecked(t){const s=new Set(this.getVisible(t).filter((t=>!t.disabled)).map((t=>t.value)));const e=t==="source"?this.sourceChecked:this.targetChecked;return Array.from(e).filter((t=>s.has(t)))}commit(t,s,e){this.value=t;this.mdChange.emit(t);this.mdMove.emit({direction:s,moved:e,target:t})}renderHeader(t){const s=t==="source"?this.sourceTitle:this.targetTitle;const e=this.getVisible(t);const r=e.filter((t=>!t.disabled));const a=t==="source"?this.sourceChecked:this.targetChecked;const n=r.filter((t=>a.has(t.value))).length;const o=r.length>0&&n===r.length;const l=n>0&&!o;return i("div",{class:"md-transfer-list__header",part:"header"},this.showSelectAll&&i("md-checkbox",{class:"md-transfer-list__select-all",checked:o,indeterminate:l,disabled:this.disabled||r.length===0,onMdChange:this.toggleSelectAll(t),"aria-label":`Select all ${s}`}),i("div",{class:"md-transfer-list__header-title",part:"header-title"},i("span",{class:"md-transfer-list__title"},s),i("span",{class:"md-transfer-list__count",part:"count"},this.countTemplate.replace("{checked}",String(n)).replace("{total}",String(r.length)))))}renderSearch(t){if(!this.searchable)return null;const s=t==="source"?this.sourceSearchPlaceholder:this.targetSearchPlaceholder;const e=t==="source"?this.sourceQuery:this.targetQuery;return i("md-text-field",{class:"md-transfer-list__search",part:"search",variant:"outlined",density:this.density,label:s,value:e,clearable:"internal",disabled:this.disabled,onMdInput:s=>{if(t==="source")this.sourceQuery=s.detail??"";else this.targetQuery=s.detail??""}},this.searchIcon&&i("span",{slot:"leading-icon",class:"material-symbols-outlined","aria-hidden":"true"},this.searchIcon))}renderList(t){const s=this.getVisible(t);const e=t==="source"?this.sourceChecked:this.targetChecked;const r=t==="source"?this.sourceTitle:this.targetTitle;if(s.length===0){return i("div",{class:"md-transfer-list__empty",role:"status",part:"empty"},this.emptyIcon&&i("span",{class:"md-transfer-list__empty-icon material-symbols-outlined",part:"empty-icon","aria-hidden":"true"},this.emptyIcon),this.emptyText)}return i("ul",{class:"md-transfer-list__list",role:"listbox","aria-multiselectable":"true","aria-label":r,tabindex:this.disabled?"0":undefined,part:"list"},s.map((s=>{const r=e.has(s.value);return i("li",{class:{"md-transfer-list__item":true,"md-transfer-list__item--checked":r,"md-transfer-list__item--disabled":!!s.disabled},role:"option","aria-selected":String(r),"aria-disabled":s.disabled?"true":"false",key:s.value,onClick:()=>this.toggleItem(t,s.value),onKeyDown:e=>{if(e.key===" "||e.key==="Enter"){e.preventDefault();this.toggleItem(t,s.value)}},tabindex:s.disabled||this.disabled?"-1":"0",part:"item"},i("md-ripple",{disabled:s.disabled||this.disabled}),i("md-checkbox",{checked:r,disabled:s.disabled||this.disabled,inert:true,"aria-hidden":"true"}),i("div",{class:"md-transfer-list__labels"},i("span",{class:"md-transfer-list__label"},s.label),s.description&&i("span",{class:"md-transfer-list__description"},s.description)))})))}renderColumn(t){return i("div",{class:"md-transfer-list__column",part:`column column-${t}`},this.renderHeader(t),this.renderSearch(t),this.renderList(t))}renderControls(){const t=this.getEligibleChecked("source").length;const s=this.getEligibleChecked("target").length;const e=this.sourceItems.some((t=>!t.disabled));const r=this.targetItems.some((t=>!t.disabled));return i("div",{class:"md-transfer-list__controls",part:"controls"},!this.singleStepOnly&&i("md-icon-button",{variant:"tonal",icon:this.moveAllRightIcon,disabled:this.disabled||!e,"aria-label":this.moveAllRightLabel,onClick:this.moveAllRight}),i("md-icon-button",{variant:"filled",icon:this.moveRightIcon,disabled:this.disabled||t===0,"aria-label":this.moveRightLabel,onClick:this.moveRight}),i("md-icon-button",{variant:"filled",icon:this.moveLeftIcon,disabled:this.disabled||s===0,"aria-label":this.moveLeftLabel,onClick:this.moveLeft}),!this.singleStepOnly&&i("md-icon-button",{variant:"tonal",icon:this.moveAllLeftIcon,disabled:this.disabled||!r,"aria-label":this.moveAllLeftLabel,onClick:this.moveAllLeft}))}render(){return i(r,{key:"acac9592489748fab0415b91bdf0d6814476e401",class:{"md-transfer-list":true,"md-transfer-list--disabled":this.disabled},role:"group","aria-disabled":this.disabled?"true":"false"},this.renderColumn("source"),this.renderControls(),this.renderColumn("target"))}get el(){return this}static get watchers(){return{value:[{syncCheckedSets:0}]}}static get style(){return m()}},[1,"md-transfer-list",{items:[1],value:[1040],sourceTitle:[1,"source-title"],targetTitle:[1,"target-title"],searchable:[516],sourceSearchPlaceholder:[1,"source-search-placeholder"],targetSearchPlaceholder:[1,"target-search-placeholder"],showSelectAll:[516,"show-select-all"],searchIcon:[1,"search-icon"],moveRightIcon:[1,"move-right-icon"],moveLeftIcon:[1,"move-left-icon"],moveAllRightIcon:[1,"move-all-right-icon"],moveAllLeftIcon:[1,"move-all-left-icon"],emptyIcon:[1,"empty-icon"],emptyText:[1,"empty-text"],countTemplate:[1,"count-template"],density:[514],disabled:[516],singleStepOnly:[516,"single-step-only"],moveRightLabel:[1,"move-right-label"],moveLeftLabel:[1,"move-left-label"],moveAllRightLabel:[1,"move-all-right-label"],moveAllLeftLabel:[1,"move-all-left-label"],sourceChecked:[32],targetChecked:[32],sourceQuery:[32],targetQuery:[32],moveSelectedRight:[64],moveSelectedLeft:[64]},undefined,{value:[{syncCheckedSets:0}]}]);function f(){if(typeof customElements==="undefined"){return}const t=["md-transfer-list","md-checkbox","md-icon-button","md-ripple","md-text-field"];t.forEach((t=>{switch(t){case"md-transfer-list":if(!customElements.get(a(t))){customElements.define(a(t),h)}break;case"md-checkbox":if(!customElements.get(a(t))){o()}break;case"md-icon-button":if(!customElements.get(a(t))){l()}break;case"md-ripple":if(!customElements.get(a(t))){c()}break;case"md-text-field":if(!customElements.get(a(t))){d()}break}}))}f();const p=h;const u=f;export{p as MdTransferList,u as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=md-transfer-list.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as s,c as i,f as e,h as a,d as n,t as r}from"./p-CB5yqdO-.js";import{L as o}from"./p-AILMdNGi.js";import{V as l,i as h,n as d,r as c,c as p,l as m}from"./p-Bz-JaJcA.js";import{s as u,a as f,g,c as y,r as b}from"./p-DrC4gWIo.js";import{p as _}from"./p-CxhZdOPw.js";import{d as x}from"./p-Cqg4krGd.js";import{d as v}from"./p-CbrAhhzl.js";import{d as w}from"./p-Xb-C4QMR.js";import{d as k}from"./p-qCIbHWSZ.js";import{d as C}from"./p-CfwUHJJY.js";import{d as z}from"./p-oa3iIi7G.js";const V=()=>`:host{--md-text-field-padding-inline-end:var(--md-sys-spacing-inset-lg, 16px);display:inline-block;inline-size:var(--md-select-width, 100%);min-inline-size:var(--md-select-min-width, 0);box-sizing:border-box;font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif)}.md-select__field{inline-size:100%;cursor:pointer;--md-text-field-cursor:pointer}.md-select__field::part(input){cursor:pointer}:host(.md-select--disabled) .md-select__field::part(input){cursor:not-allowed}.md-select__field .md-select__trailing{display:inline-flex;align-items:center;gap:var(--md-select-trailing-gap, 2px);width:auto;height:auto}.md-select__caret{font-size:var(--md-select-caret-size, 24px);line-height:1;color:var(--md-select-caret-color, var(--md-sys-color-on-surface-variant, #49454F));transition:transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-select--open) .md-select__caret{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.md-select__caret{transition:none}}.md-select__loader{display:inline-flex;align-items:center;justify-content:center;inline-size:24px;block-size:24px;--md-loading-indicator-size:var(--md-select-spinner-size, 22px);--md-loading-indicator-shape-size:var(--md-select-spinner-size, 22px)}:host([full-width]){display:block;inline-size:100%}.md-select__loading{display:flex;align-items:center;padding-block:var(--md-sys-spacing-inset-lg, 16px);padding-inline:var(--md-sys-spacing-inset-lg, 16px)}.md-select__loading md-progress-indicator{inline-size:100%}.md-select__field .md-select__clear{--_clear-color:var(--md-select-clear-color, var(--md-select-caret-color, var(--md-sys-color-on-surface-variant, #49454F)));--md-icon-button-container-width:24px;--md-icon-button-container-height:24px;--md-icon-button-icon-size:18px;--md-icon-button-icon-color:var(--_clear-color);--md-icon-button-state-layer-color:var(--_clear-color)}.md-select__option-icon{font-size:20px;line-height:1;color:var(--md-select-option-icon-color, var(--md-sys-color-on-surface-variant, #49454F))}:host(.md-select--disabled){cursor:default}:host(.md-select--disabled) .md-select__field{--md-text-field-cursor:not-allowed}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;overflow-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.md-select__vspacer{display:block;flex:none;pointer-events:none}.md-select__search-wrap{position:relative;display:block}.md-select__search{box-sizing:border-box;width:100%;border:none;outline:none;padding:12px 44px 12px 16px;font:inherit;color:var(--md-sys-color-on-surface, #1d1b20);background:var(--md-sys-color-surface-container, #f3edf7);border-bottom:1px solid var(--md-sys-color-outline-variant, #cac4d0)}.md-select__search::placeholder{color:var(--md-sys-color-on-surface-variant, #49454f)}.md-select__search-spinner{position:absolute;inset-block-start:50%;inset-inline-end:12px;margin-block-start:-12px;--md-loading-indicator-size:24px;--md-loading-indicator-shape-size:18px;pointer-events:none}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}:host([hidden]){display:none !important}`;let M=0;const O=200;const T=180;const $=t(class t extends s{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdChange=i(this,"mdChange",7);this.mdOpen=i(this,"mdOpen",7);this.mdClose=i(this,"mdClose",7);this.mdValidityChange=i(this,"mdValidityChange",5);this.internals=this.attachInternals();this.valueMissingLabel="Please select an item in the list.";this.reserveSupportingSpace=false;this.customValidityMessage="";this.variant="outlined";this.label="";this.placeholder="";this.value="";this.disabled=false;this.required=false;this.error=false;this.errorText="";this.supportingText="";this.density=0;this.clearable=false;this.matchTriggerWidth=true;this.placement="bottom-start";this.options=[];this.virtualize="auto";this.filterable=false;this.filterMode="substring";this.name="";this.searchPlaceholder="Search…";this.filterLabel="";this.noResultsText="No results";this.noOptionsText="No options";this.clearLabel="Clear selection";this.searchingLabel="Searching";this.loadingText="Loading…";this.clearIcon="close";this.dropdownIcon="arrow_drop_down";this.loading=false;this.fullWidth=false;this.open=false;this.optionsData=[];this.triggerId=`md-select-${++M}`;this.vc=new l({queryItem:t=>this.el.shadowRoot?.querySelector(`md-menu-item[data-vindex="${t}"]`)??null,requestRender:()=>e(this)});this.providerSet=false;this.selectedLabel="";this.query="";this.searching=false;this.queryText=null;this.defaultValue="";this.lastValidityKey=null;this._syncGuard=false;this._lastEmit=null;this.toggleOpen=()=>{if(this.disabled)return;this.open=!this.open};this.selectValue=t=>{if(this.value===t){this.open=false;return}this.value=t;this.mdChange.emit(t);this.open=false;this.fieldEl?.focus?.()};this.clearValue=t=>{t.stopPropagation();if(this.disabled||!this.value)return;this.value="";this.mdChange.emit("")};this.vpWired=false;this.handleMenuOpen=()=>{this._syncGuard=true;this.open=true;this._syncGuard=false;if(this._lastEmit!=="open"){this._lastEmit="open";this.mdOpen.emit()}if(this.vc.active){this.wireViewport();if(this.filterable){requestAnimationFrame((()=>{const t=this.el.shadowRoot?.querySelector(".md-select__search");t?.focus();void this.menuEl?.setComboboxElement?.(t)}))}}};this.handleMenuClose=()=>{this._syncGuard=true;this.open=false;this._syncGuard=false;if(this.query)this.query="";if(this._lastEmit!=="close"){this._lastEmit="close";this.mdClose.emit()}void this.menuEl?.setComboboxElement?.(null);this.vc.detachViewport();this.vpWired=false};this.onSearchInput=t=>{const s=t.target.value;this.queryText=null;if(!this.vc.active){this.query=s;return}if(!this.searching){this.searching=true;e(this)}clearTimeout(this.searchDebounce);this.searchDebounce=setTimeout((()=>{this.vc.setQuery(s);this.searching=false;e(this)}),T)}}get optionList(){return _(this.options,"md-select","options")}async show(){if(this.disabled)return;this.open=true}async close(){this.open=false}async focusTrigger(){this.fieldEl?.focus?.()}async reset(){if(!this.value)return;this.value="";this.mdChange.emit("")}async loadOptions(t){if(this.virtualize==="never"||!h()){this.vc.reset();this.optionsData=d(c(t));return}this.optionsData=[];this.vc.setFixedRowHeight(this.rowHeight);this.vc.setFilterMode(this.filterMode);const s=await this.vc.load(t);if(!s){this.vc.reset();this.optionsData=d(c(t))}else{this.updateSelectedLabel()}e(this)}async setQuery(t){this.vc.setQuery(t);if(!this.vc.active)this.query=t;this.queryText=t;this.syncSearchField();e(this)}syncSearchField(){if(this.queryText===null)return;const t=this.el.shadowRoot?.querySelector(".md-select__search");if(!t)return;t.value=this.queryText;this.queryText=null}async getLabels(t){return Object.fromEntries(this.vc.getLabels(t))}componentWillLoad(){this.refreshOptions();if(!this.value){const t=this.optionsData.find((t=>t.selected&&!t.disabled));if(t)this.value=t.value}this.defaultValue=this.value;this.syncFormValue()}syncFormValue(){u(this.internals,this.value||null);this.updateSelectedLabel();this.syncValidity()}syncValidity(){f(this.internals,{missing:this.required&&!this.value,missingMessage:this.valueMissingLabel,customMessage:this.customValidityMessage});this.emitValidityChange()}async getValidity(){return g(this.internals)}emitValidityChange(){const t=g(this.internals);const s=`${t.valid}|${t.validationMessage}`;if(this.lastValidityKey===s)return;const i=this.lastValidityKey!==null;this.lastValidityKey=s;if(i)this.mdValidityChange.emit(t)}async checkValidity(){return y(this.internals)}async reportValidity(){return b(this.internals)}async setCustomValidity(t){this.customValidityMessage=t;this.syncValidity()}formResetCallback(){this.value=this.defaultValue}refreshOptions(){const t=p(this.el,this.optionList);const s=this.virtualize==="always"||this.virtualize==="auto"&&t.length>O;if(s&&h()&&t.length>0){this.optionsData=[];this.vc.setFixedRowHeight(this.rowHeight);this.vc.setFilterMode(this.filterMode);void this.vc.load(t).then((s=>{if(!s){this.optionsData=t;e(this)}else{this.updateSelectedLabel()}}))}else{this.vc.reset();this.optionsData=t}}updateSelectedLabel(){if(!this.value){this.selectedLabel=""}else if(this.vc.active){this.selectedLabel=this.vc.getLabels([this.value]).get(this.value)??this.selectedLabel}e(this)}onOptionChange(t){t.stopPropagation();this.refreshOptions()}syncMenu(t){if(this._syncGuard||!this.menuEl)return;if(t){this.menuEl.show?.({autoFocus:!(this.filterable&&this.vc.active)})}else{this.menuEl.close?.()}}handleKeyDown(t){if(this.disabled)return;if(!this.open&&(t.key==="ArrowDown"||t.key==="Enter"||t.key===" ")){t.preventDefault();this.open=true}else if(this.open&&t.key==="Escape"){t.preventDefault();t.stopPropagation();this.open=false;this.fieldEl?.focus?.()}}wireViewport(){void(async()=>{const t=await(this.menuEl?.getScrollViewport?.())??null;if(!t||this.vpWired)return;this.vpWired=true;await this.vc.attachViewport((async()=>t))})()}componentDidRender(){this.syncSearchField();if(!this.menuEl)return;if(this.vc.active&&!this.providerSet){void this.menuEl.setVirtualProvider?.(this.vc.provider);this.providerSet=true}else if(!this.vc.active&&this.providerSet){void this.menuEl.setVirtualProvider?.(null);this.providerSet=false}if(this.open&&this.vc.active&&!this.vpWired)this.wireViewport()}disconnectedCallback(){clearTimeout(this.searchDebounce);this.vc.detachViewport()}get accessibleName(){if(this.label)return this.label;const t=this.el.getAttribute("aria-label");if(t&&t.trim())return t.trim();const s=this.el.getAttribute("aria-labelledby");if(s){const t=this.el.getRootNode();const i=s.trim().split(/\s+/).map((s=>t.getElementById?.(s)?.textContent?.trim()??"")).filter(Boolean).join(" ");if(i)return i}return""}renderTrigger(){const t=this.vc.active?this.selectedLabel:m(this.optionsData,this.value);const s=!!this.value&&!!t;const i=this.clearable&&s&&!this.disabled;const e=this.label?undefined:this.accessibleName||undefined;return a("md-text-field",{ref:t=>this.fieldEl=t,id:this.triggerId,class:"md-select__field",part:"field",exportparts:"container:field-container",variant:this.variant,label:this.label,"aria-label":e,placeholder:s?"":this.placeholder,value:t,readOnly:true,disabled:this.disabled,required:this.required,error:this.error,errorText:this.errorText,reserveSupportingSpace:this.reserveSupportingSpace,supportingText:this.supportingText,density:this.density,appearFocused:this.open,onClick:this.toggleOpen},a("span",{slot:"trailing-icon",class:"md-select__trailing",part:"trailing","aria-hidden":"true"},this.loading?a("span",{class:"md-select__loader",part:"loading-spinner"},a("slot",{name:"loader"},a(o,{label:this.loadingText}))):[i&&a("md-icon-button",{class:"md-select__clear",part:"clear",size:"xs",icon:this.clearIcon,"aria-label":this.clearLabel,shapeMorph:false,groupTabindex:-1,onClick:this.clearValue}),a("span",{class:"md-select__caret material-symbols-outlined",part:"caret"},a("slot",{name:"dropdown-icon"},this.dropdownIcon))]))}renderVirtualOptions(){return a("div",{class:"md-select__listbox",role:"listbox",id:`${this.triggerId}-listbox`,"aria-label":this.accessibleName||"Options"},a("div",{class:"md-select__vspacer",style:{height:`${this.vc.topPad}px`},"aria-hidden":"true"}),this.vc.windowRows.map(((t,s)=>{const i=this.vc.windowStart+s;const e=t.value===this.value;return a("md-menu-item",{key:t.index,id:`${this.triggerId}-opt-${i}`,"data-vindex":i,presentation:"option",type:"radio","check-position":"start","keep-open":true,part:e?"option option-selected":"option",disabled:t.disabled,selected:e,headline:t.label,"supporting-text":t.supportingText||"","aria-setsize":this.vc.filteredLength,"aria-posinset":i+1,onMdClick:()=>this.selectValue(t.value)},t.icon?a("span",{slot:"leading-icon",part:"option-icon",class:"material-symbols-outlined md-select__option-icon","aria-hidden":"true"},t.icon):null,t.label)})),a("div",{class:"md-select__vspacer",style:{height:`${this.vc.bottomPad}px`},"aria-hidden":"true"}))}renderMenu(){const t=this.vc.active;const s=this.filterable&&!t?this.query.trim().toLowerCase():"";const i=s?this.optionsData.filter((t=>t.label.toLowerCase().includes(s)||(t.supportingText||"").toLowerCase().includes(s))):this.optionsData;const e=this.loading?"":t?this.vc.filteredLength===0?this.noResultsText:"":this.optionsData.length===0?this.noOptionsText:s&&i.length===0?this.noResultsText:"";const n=t?this.maxHeight??250:this.maxHeight;return a("md-menu",{ref:t=>this.menuEl=t,anchor:this.triggerId,placement:this.placement,"match-anchor-width":this.matchTriggerWidth||this.fullWidth,"max-height":n,"empty-text":e,listbox:true,"list-label":this.accessibleName||"Options",part:"menu",onMdOpen:this.handleMenuOpen,onMdClose:this.handleMenuClose},this.filterable&&!this.loading&&a("div",{slot:"header",class:"md-select__search-wrap",part:"search-wrap"},a("input",{class:"md-select__search",part:"search",type:"text",role:"combobox","aria-haspopup":"listbox","aria-expanded":String(this.open),"aria-controls":`${this.triggerId}-listbox`,"aria-autocomplete":"list",autocomplete:"off",placeholder:this.searchPlaceholder,"aria-label":this.filterLabel||(this.label?`Filter ${this.label}`:"Filter options"),onInput:this.onSearchInput,onClick:t=>t.stopPropagation()}),this.searching&&a(o,{class:"md-select__search-spinner",part:"search-spinner",label:this.searchingLabel,"aria-hidden":"true"})),this.loading?a("div",{class:"md-select__loading",part:"loading-bar",role:"status","aria-label":this.loadingText},a("md-progress-indicator",{variant:"linear",indeterminate:true,wave:true,part:"loading-progress",label:this.loadingText})):t?this.renderVirtualOptions():a("div",{class:"md-select__listbox",role:"listbox",id:`${this.triggerId}-listbox`,"aria-label":this.accessibleName||"Options"},i.map((t=>a("md-menu-item",{key:t.value,id:`${this.triggerId}-opt-${t.value}`,presentation:"option",type:"radio","check-position":"start","keep-open":true,part:t.value===this.value?"option option-selected":"option",disabled:t.disabled,selected:t.value===this.value,headline:t.label,"supporting-text":t.supportingText||"",onMdClick:()=>this.selectValue(t.value)},t.icon?a("span",{slot:"leading-icon",part:"option-icon",class:"material-symbols-outlined md-select__option-icon",style:t.iconColor?{color:t.iconColor}:undefined,"aria-hidden":"true"},t.icon):null)))))}render(){return a(n,{key:"f5e534545787c2343e91897fe2fff2c6148cb9f7",class:{"md-select":true,[`md-select--${this.variant}`]:true,"md-select--open":this.open,"md-select--disabled":this.disabled,"md-select--loading":this.loading},"aria-haspopup":"listbox","aria-busy":this.loading?"true":undefined},this.renderTrigger(),this.renderMenu(),a("div",{key:"420222968597b21da22fb7fe6f53753954e19c2e",class:"md-select__options",hidden:true},a("slot",{key:"bcea2f715318a8fd75f81fa3c3bda1fbdb3d9084",onSlotchange:()=>this.refreshOptions()})))}static get formAssociated(){return true}get el(){return this}static get watchers(){return{value:[{syncFormValue:0}],required:[{syncValidity:0}],valueMissingLabel:[{syncValidity:0}],options:[{refreshOptions:0}],open:[{syncMenu:0}]}}static get style(){return V()}},[321,"md-select",{valueMissingLabel:[1,"value-missing-label"],reserveSupportingSpace:[4,"reserve-supporting-space"],variant:[513],label:[1],placeholder:[1],value:[1537],disabled:[516],required:[516],error:[516],errorText:[1,"error-text"],supportingText:[1,"supporting-text"],density:[514],clearable:[516],matchTriggerWidth:[516,"match-trigger-width"],placement:[1],maxHeight:[8,"max-height"],options:[1],virtualize:[1],filterable:[4],filterMode:[1,"filter-mode"],rowHeight:[2,"row-height"],name:[513],searchPlaceholder:[1,"search-placeholder"],filterLabel:[1,"filter-label"],noResultsText:[1,"no-results-text"],noOptionsText:[1,"no-options-text"],clearLabel:[1,"clear-label"],searchingLabel:[1,"searching-label"],loadingText:[1,"loading-text"],clearIcon:[1,"clear-icon"],dropdownIcon:[1,"dropdown-icon"],loading:[516],fullWidth:[516,"full-width"],open:[1540],optionsData:[32],triggerId:[32],query:[32],show:[64],close:[64],focusTrigger:[64],reset:[64],loadOptions:[64],setQuery:[64],getLabels:[64],getValidity:[64],checkValidity:[64],reportValidity:[64],setCustomValidity:[64]},[[0,"mdSelectOptionChange","onOptionChange"],[0,"keydown","handleKeyDown"]],{value:[{syncFormValue:0}],required:[{syncValidity:0}],valueMissingLabel:[{syncValidity:0}],options:[{refreshOptions:0}],open:[{syncMenu:0}]}]);function L(){if(typeof customElements==="undefined"){return}const t=["md-select","md-icon-button","md-menu","md-menu-item","md-progress-indicator","md-ripple","md-text-field"];t.forEach((t=>{switch(t){case"md-select":if(!customElements.get(r(t))){customElements.define(r(t),$)}break;case"md-icon-button":if(!customElements.get(r(t))){x()}break;case"md-menu":if(!customElements.get(r(t))){v()}break;case"md-menu-item":if(!customElements.get(r(t))){w()}break;case"md-progress-indicator":if(!customElements.get(r(t))){k()}break;case"md-ripple":if(!customElements.get(r(t))){C()}break;case"md-text-field":if(!customElements.get(r(t))){z()}break}}))}L();export{$ as M,L as d};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as t,H as s,c as i,f as e,h as a,d as n,t as r}from"./p-CB5yqdO-.js";import{L as o}from"./p-AILMdNGi.js";import{V as l,i as h,n as d,r as c,c as p,l as m}from"./p-Bz-JaJcA.js";import{s as u,a as f,g,c as y,r as b}from"./p-DrC4gWIo.js";import{p as _}from"./p-CxhZdOPw.js";import{d as x}from"./p-Cqg4krGd.js";import{d as v}from"./p-CbrAhhzl.js";import{d as w}from"./p-Xb-C4QMR.js";import{d as k}from"./p-qCIbHWSZ.js";import{d as C}from"./p-CfwUHJJY.js";import{d as z}from"./p-CpQwlYEw.js";const V=()=>`:host{--md-text-field-padding-inline-end:var(--md-sys-spacing-inset-lg, 16px);display:inline-block;inline-size:var(--md-select-width, 100%);min-inline-size:var(--md-select-min-width, 0);box-sizing:border-box;font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif)}.md-select__field{inline-size:100%;cursor:pointer;--md-text-field-cursor:pointer}.md-select__field::part(input){cursor:pointer}:host(.md-select--disabled) .md-select__field::part(input){cursor:not-allowed}.md-select__field .md-select__trailing{display:inline-flex;align-items:center;gap:var(--md-select-trailing-gap, 2px);width:auto;height:auto}.md-select__caret{font-size:var(--md-select-caret-size, 24px);line-height:1;color:var(--md-select-caret-color, var(--md-sys-color-on-surface-variant, #49454F));transition:transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-select--open) .md-select__caret{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.md-select__caret{transition:none}}.md-select__loader{display:inline-flex;align-items:center;justify-content:center;inline-size:24px;block-size:24px;--md-loading-indicator-size:var(--md-select-spinner-size, 22px);--md-loading-indicator-shape-size:var(--md-select-spinner-size, 22px)}:host([full-width]){display:block;inline-size:100%}.md-select__loading{display:flex;align-items:center;padding-block:var(--md-sys-spacing-inset-lg, 16px);padding-inline:var(--md-sys-spacing-inset-lg, 16px)}.md-select__loading md-progress-indicator{inline-size:100%}.md-select__field .md-select__clear{--_clear-color:var(--md-select-clear-color, var(--md-select-caret-color, var(--md-sys-color-on-surface-variant, #49454F)));--md-icon-button-container-width:24px;--md-icon-button-container-height:24px;--md-icon-button-icon-size:18px;--md-icon-button-icon-color:var(--_clear-color);--md-icon-button-state-layer-color:var(--_clear-color)}.md-select__option-icon{font-size:20px;line-height:1;color:var(--md-select-option-icon-color, var(--md-sys-color-on-surface-variant, #49454F))}:host(.md-select--disabled){cursor:default}:host(.md-select--disabled) .md-select__field{--md-text-field-cursor:not-allowed}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;overflow-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.md-select__vspacer{display:block;flex:none;pointer-events:none}.md-select__search-wrap{position:relative;display:block}.md-select__search{box-sizing:border-box;width:100%;border:none;outline:none;padding:12px 44px 12px 16px;font:inherit;color:var(--md-sys-color-on-surface, #1d1b20);background:var(--md-sys-color-surface-container, #f3edf7);border-bottom:1px solid var(--md-sys-color-outline-variant, #cac4d0)}.md-select__search::placeholder{color:var(--md-sys-color-on-surface-variant, #49454f)}.md-select__search-spinner{position:absolute;inset-block-start:50%;inset-inline-end:12px;margin-block-start:-12px;--md-loading-indicator-size:24px;--md-loading-indicator-shape-size:18px;pointer-events:none}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}:host([hidden]){display:none !important}`;let M=0;const O=200;const T=180;const $=t(class t extends s{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdChange=i(this,"mdChange",7);this.mdOpen=i(this,"mdOpen",7);this.mdClose=i(this,"mdClose",7);this.mdValidityChange=i(this,"mdValidityChange",5);this.internals=this.attachInternals();this.valueMissingLabel="Please select an item in the list.";this.reserveSupportingSpace=false;this.customValidityMessage="";this.variant="outlined";this.label="";this.placeholder="";this.value="";this.disabled=false;this.required=false;this.error=false;this.errorText="";this.supportingText="";this.density=0;this.clearable=false;this.matchTriggerWidth=true;this.placement="bottom-start";this.options=[];this.virtualize="auto";this.filterable=false;this.filterMode="substring";this.name="";this.searchPlaceholder="Search…";this.filterLabel="";this.noResultsText="No results";this.noOptionsText="No options";this.clearLabel="Clear selection";this.searchingLabel="Searching";this.loadingText="Loading…";this.clearIcon="close";this.dropdownIcon="arrow_drop_down";this.loading=false;this.fullWidth=false;this.open=false;this.optionsData=[];this.triggerId=`md-select-${++M}`;this.vc=new l({queryItem:t=>this.el.shadowRoot?.querySelector(`md-menu-item[data-vindex="${t}"]`)??null,requestRender:()=>e(this)});this.providerSet=false;this.selectedLabel="";this.query="";this.searching=false;this.queryText=null;this.defaultValue="";this.lastValidityKey=null;this._syncGuard=false;this._lastEmit=null;this.toggleOpen=()=>{if(this.disabled)return;this.open=!this.open};this.selectValue=t=>{if(this.value===t){this.open=false;return}this.value=t;this.mdChange.emit(t);this.open=false;this.fieldEl?.focus?.()};this.clearValue=t=>{t.stopPropagation();if(this.disabled||!this.value)return;this.value="";this.mdChange.emit("")};this.vpWired=false;this.handleMenuOpen=()=>{this._syncGuard=true;this.open=true;this._syncGuard=false;if(this._lastEmit!=="open"){this._lastEmit="open";this.mdOpen.emit()}if(this.vc.active){this.wireViewport();if(this.filterable){requestAnimationFrame((()=>{const t=this.el.shadowRoot?.querySelector(".md-select__search");t?.focus();void this.menuEl?.setComboboxElement?.(t)}))}}};this.handleMenuClose=()=>{this._syncGuard=true;this.open=false;this._syncGuard=false;if(this.query)this.query="";if(this._lastEmit!=="close"){this._lastEmit="close";this.mdClose.emit()}void this.menuEl?.setComboboxElement?.(null);this.vc.detachViewport();this.vpWired=false};this.onSearchInput=t=>{const s=t.target.value;this.queryText=null;if(!this.vc.active){this.query=s;return}if(!this.searching){this.searching=true;e(this)}clearTimeout(this.searchDebounce);this.searchDebounce=setTimeout((()=>{this.vc.setQuery(s);this.searching=false;e(this)}),T)}}get optionList(){return _(this.options,"md-select","options")}async show(){if(this.disabled)return;this.open=true}async close(){this.open=false}async focusTrigger(){this.fieldEl?.focus?.()}async reset(){if(!this.value)return;this.value="";this.mdChange.emit("")}async loadOptions(t){if(this.virtualize==="never"||!h()){this.vc.reset();this.optionsData=d(c(t));return}this.optionsData=[];this.vc.setFixedRowHeight(this.rowHeight);this.vc.setFilterMode(this.filterMode);const s=await this.vc.load(t);if(!s){this.vc.reset();this.optionsData=d(c(t))}else{this.updateSelectedLabel()}e(this)}async setQuery(t){this.vc.setQuery(t);if(!this.vc.active)this.query=t;this.queryText=t;this.syncSearchField();e(this)}syncSearchField(){if(this.queryText===null)return;const t=this.el.shadowRoot?.querySelector(".md-select__search");if(!t)return;t.value=this.queryText;this.queryText=null}async getLabels(t){return Object.fromEntries(this.vc.getLabels(t))}componentWillLoad(){this.refreshOptions();if(!this.value){const t=this.optionsData.find((t=>t.selected&&!t.disabled));if(t)this.value=t.value}this.defaultValue=this.value;this.syncFormValue()}syncFormValue(){u(this.internals,this.value||null);this.updateSelectedLabel();this.syncValidity()}syncValidity(){f(this.internals,{missing:this.required&&!this.value,missingMessage:this.valueMissingLabel,customMessage:this.customValidityMessage});this.emitValidityChange()}async getValidity(){return g(this.internals)}emitValidityChange(){const t=g(this.internals);const s=`${t.valid}|${t.validationMessage}`;if(this.lastValidityKey===s)return;const i=this.lastValidityKey!==null;this.lastValidityKey=s;if(i)this.mdValidityChange.emit(t)}async checkValidity(){return y(this.internals)}async reportValidity(){return b(this.internals)}async setCustomValidity(t){this.customValidityMessage=t;this.syncValidity()}formResetCallback(){this.value=this.defaultValue}refreshOptions(){const t=p(this.el,this.optionList);const s=this.virtualize==="always"||this.virtualize==="auto"&&t.length>O;if(s&&h()&&t.length>0){this.optionsData=[];this.vc.setFixedRowHeight(this.rowHeight);this.vc.setFilterMode(this.filterMode);void this.vc.load(t).then((s=>{if(!s){this.optionsData=t;e(this)}else{this.updateSelectedLabel()}}))}else{this.vc.reset();this.optionsData=t}}updateSelectedLabel(){if(!this.value){this.selectedLabel=""}else if(this.vc.active){this.selectedLabel=this.vc.getLabels([this.value]).get(this.value)??this.selectedLabel}e(this)}onOptionChange(t){t.stopPropagation();this.refreshOptions()}syncMenu(t){if(this._syncGuard||!this.menuEl)return;if(t){this.menuEl.show?.({autoFocus:!(this.filterable&&this.vc.active)})}else{this.menuEl.close?.()}}handleKeyDown(t){if(this.disabled)return;if(!this.open&&(t.key==="ArrowDown"||t.key==="Enter"||t.key===" ")){t.preventDefault();this.open=true}else if(this.open&&t.key==="Escape"){t.preventDefault();t.stopPropagation();this.open=false;this.fieldEl?.focus?.()}}wireViewport(){void(async()=>{const t=await(this.menuEl?.getScrollViewport?.())??null;if(!t||this.vpWired)return;this.vpWired=true;await this.vc.attachViewport((async()=>t))})()}componentDidRender(){this.syncSearchField();if(!this.menuEl)return;if(this.vc.active&&!this.providerSet){void this.menuEl.setVirtualProvider?.(this.vc.provider);this.providerSet=true}else if(!this.vc.active&&this.providerSet){void this.menuEl.setVirtualProvider?.(null);this.providerSet=false}if(this.open&&this.vc.active&&!this.vpWired)this.wireViewport()}disconnectedCallback(){clearTimeout(this.searchDebounce);this.vc.detachViewport()}get accessibleName(){if(this.label)return this.label;const t=this.el.getAttribute("aria-label");if(t&&t.trim())return t.trim();const s=this.el.getAttribute("aria-labelledby");if(s){const t=this.el.getRootNode();const i=s.trim().split(/\s+/).map((s=>t.getElementById?.(s)?.textContent?.trim()??"")).filter(Boolean).join(" ");if(i)return i}return""}renderTrigger(){const t=this.vc.active?this.selectedLabel:m(this.optionsData,this.value);const s=!!this.value&&!!t;const i=this.clearable&&s&&!this.disabled;const e=this.label?undefined:this.accessibleName||undefined;return a("md-text-field",{ref:t=>this.fieldEl=t,id:this.triggerId,class:"md-select__field",part:"field",exportparts:"container:field-container",variant:this.variant,label:this.label,"aria-label":e,placeholder:s?"":this.placeholder,value:t,readOnly:true,disabled:this.disabled,required:this.required,error:this.error,errorText:this.errorText,reserveSupportingSpace:this.reserveSupportingSpace,supportingText:this.supportingText,density:this.density,appearFocused:this.open,onClick:this.toggleOpen},a("span",{slot:"trailing-icon",class:"md-select__trailing",part:"trailing","aria-hidden":"true"},this.loading?a("span",{class:"md-select__loader",part:"loading-spinner"},a("slot",{name:"loader"},a(o,{label:this.loadingText}))):[i&&a("md-icon-button",{class:"md-select__clear",part:"clear",size:"xs",icon:this.clearIcon,"aria-label":this.clearLabel,shapeMorph:false,groupTabindex:-1,onClick:this.clearValue}),a("span",{class:"md-select__caret material-symbols-outlined",part:"caret"},a("slot",{name:"dropdown-icon"},this.dropdownIcon))]))}renderVirtualOptions(){return a("div",{class:"md-select__listbox",role:"listbox",id:`${this.triggerId}-listbox`,"aria-label":this.accessibleName||"Options"},a("div",{class:"md-select__vspacer",style:{height:`${this.vc.topPad}px`},"aria-hidden":"true"}),this.vc.windowRows.map(((t,s)=>{const i=this.vc.windowStart+s;const e=t.value===this.value;return a("md-menu-item",{key:t.index,id:`${this.triggerId}-opt-${i}`,"data-vindex":i,presentation:"option",type:"radio","check-position":"start","keep-open":true,part:e?"option option-selected":"option",disabled:t.disabled,selected:e,headline:t.label,"supporting-text":t.supportingText||"","aria-setsize":this.vc.filteredLength,"aria-posinset":i+1,onMdClick:()=>this.selectValue(t.value)},t.icon?a("span",{slot:"leading-icon",part:"option-icon",class:"material-symbols-outlined md-select__option-icon","aria-hidden":"true"},t.icon):null,t.label)})),a("div",{class:"md-select__vspacer",style:{height:`${this.vc.bottomPad}px`},"aria-hidden":"true"}))}renderMenu(){const t=this.vc.active;const s=this.filterable&&!t?this.query.trim().toLowerCase():"";const i=s?this.optionsData.filter((t=>t.label.toLowerCase().includes(s)||(t.supportingText||"").toLowerCase().includes(s))):this.optionsData;const e=this.loading?"":t?this.vc.filteredLength===0?this.noResultsText:"":this.optionsData.length===0?this.noOptionsText:s&&i.length===0?this.noResultsText:"";const n=t?this.maxHeight??250:this.maxHeight;return a("md-menu",{ref:t=>this.menuEl=t,anchor:this.triggerId,placement:this.placement,"match-anchor-width":this.matchTriggerWidth||this.fullWidth,"max-height":n,"empty-text":e,listbox:true,"list-label":this.accessibleName||"Options",part:"menu",onMdOpen:this.handleMenuOpen,onMdClose:this.handleMenuClose},this.filterable&&!this.loading&&a("div",{slot:"header",class:"md-select__search-wrap",part:"search-wrap"},a("input",{class:"md-select__search",part:"search",type:"text",role:"combobox","aria-haspopup":"listbox","aria-expanded":String(this.open),"aria-controls":`${this.triggerId}-listbox`,"aria-autocomplete":"list",autocomplete:"off",placeholder:this.searchPlaceholder,"aria-label":this.filterLabel||(this.label?`Filter ${this.label}`:"Filter options"),onInput:this.onSearchInput,onClick:t=>t.stopPropagation()}),this.searching&&a(o,{class:"md-select__search-spinner",part:"search-spinner",label:this.searchingLabel,"aria-hidden":"true"})),this.loading?a("div",{class:"md-select__loading",part:"loading-bar",role:"status","aria-label":this.loadingText},a("md-progress-indicator",{variant:"linear",indeterminate:true,wave:true,part:"loading-progress",label:this.loadingText})):t?this.renderVirtualOptions():a("div",{class:"md-select__listbox",role:"listbox",id:`${this.triggerId}-listbox`,"aria-label":this.accessibleName||"Options"},i.map((t=>a("md-menu-item",{key:t.value,id:`${this.triggerId}-opt-${t.value}`,presentation:"option",type:"radio","check-position":"start","keep-open":true,part:t.value===this.value?"option option-selected":"option",disabled:t.disabled,selected:t.value===this.value,headline:t.label,"supporting-text":t.supportingText||"",onMdClick:()=>this.selectValue(t.value)},t.icon?a("span",{slot:"leading-icon",part:"option-icon",class:"material-symbols-outlined md-select__option-icon",style:t.iconColor?{color:t.iconColor}:undefined,"aria-hidden":"true"},t.icon):null)))))}render(){return a(n,{key:"f5e534545787c2343e91897fe2fff2c6148cb9f7",class:{"md-select":true,[`md-select--${this.variant}`]:true,"md-select--open":this.open,"md-select--disabled":this.disabled,"md-select--loading":this.loading},"aria-haspopup":"listbox","aria-busy":this.loading?"true":undefined},this.renderTrigger(),this.renderMenu(),a("div",{key:"420222968597b21da22fb7fe6f53753954e19c2e",class:"md-select__options",hidden:true},a("slot",{key:"bcea2f715318a8fd75f81fa3c3bda1fbdb3d9084",onSlotchange:()=>this.refreshOptions()})))}static get formAssociated(){return true}get el(){return this}static get watchers(){return{value:[{syncFormValue:0}],required:[{syncValidity:0}],valueMissingLabel:[{syncValidity:0}],options:[{refreshOptions:0}],open:[{syncMenu:0}]}}static get style(){return V()}},[321,"md-select",{valueMissingLabel:[1,"value-missing-label"],reserveSupportingSpace:[4,"reserve-supporting-space"],variant:[513],label:[1],placeholder:[1],value:[1537],disabled:[516],required:[516],error:[516],errorText:[1,"error-text"],supportingText:[1,"supporting-text"],density:[514],clearable:[516],matchTriggerWidth:[516,"match-trigger-width"],placement:[1],maxHeight:[8,"max-height"],options:[1],virtualize:[1],filterable:[4],filterMode:[1,"filter-mode"],rowHeight:[2,"row-height"],name:[513],searchPlaceholder:[1,"search-placeholder"],filterLabel:[1,"filter-label"],noResultsText:[1,"no-results-text"],noOptionsText:[1,"no-options-text"],clearLabel:[1,"clear-label"],searchingLabel:[1,"searching-label"],loadingText:[1,"loading-text"],clearIcon:[1,"clear-icon"],dropdownIcon:[1,"dropdown-icon"],loading:[516],fullWidth:[516,"full-width"],open:[1540],optionsData:[32],triggerId:[32],query:[32],show:[64],close:[64],focusTrigger:[64],reset:[64],loadOptions:[64],setQuery:[64],getLabels:[64],getValidity:[64],checkValidity:[64],reportValidity:[64],setCustomValidity:[64]},[[0,"mdSelectOptionChange","onOptionChange"],[0,"keydown","handleKeyDown"]],{value:[{syncFormValue:0}],required:[{syncValidity:0}],valueMissingLabel:[{syncValidity:0}],options:[{refreshOptions:0}],open:[{syncMenu:0}]}]);function L(){if(typeof customElements==="undefined"){return}const t=["md-select","md-icon-button","md-menu","md-menu-item","md-progress-indicator","md-ripple","md-text-field"];t.forEach((t=>{switch(t){case"md-select":if(!customElements.get(r(t))){customElements.define(r(t),$)}break;case"md-icon-button":if(!customElements.get(r(t))){x()}break;case"md-menu":if(!customElements.get(r(t))){v()}break;case"md-menu-item":if(!customElements.get(r(t))){w()}break;case"md-progress-indicator":if(!customElements.get(r(t))){k()}break;case"md-ripple":if(!customElements.get(r(t))){C()}break;case"md-text-field":if(!customElements.get(r(t))){z()}break}}))}L();export{$ as M,L as d};
|
|
2
|
+
//# sourceMappingURL=p-B89I5ETZ.js.map
|