timepicker-ui 4.1.1 → 4.1.2
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/LICENSE +1 -1
- package/README.md +1 -0
- package/dist/css/index.css +1 -1
- package/dist/css/themes/theme-crane-straight.css +1 -1
- package/dist/css/themes/theme-crane.css +1 -1
- package/dist/css/themes/theme-cyberpunk.css +1 -1
- package/dist/css/themes/theme-dark.css +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.umd.js +1 -1
- package/package.json +1 -1
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@ Modern time picker library built with TypeScript. Works with any framework or va
|
|
|
7
7
|
[](https://img.shields.io/npm/l/timepicker-ui)
|
|
8
8
|
[](https://coveralls.io/github/pglejzer/timepicker-ui?branch=main)
|
|
9
9
|
[](https://github.com/pglejzer/timepicker-ui/actions/workflows/tests.yml)
|
|
10
|
+
[](https://badge.socket.dev/npm/package/timepicker-ui/4.1.1)
|
|
10
11
|
|
|
11
12
|
[Live Demo](https://timepicker-ui.vercel.app/) • [Documentation](https://timepicker-ui.vercel.app/docs) • [React Wrapper](https://github.com/pglejzer/timepicker-ui-react) • [Changelog](./CHANGELOG.md)
|
|
12
13
|
|
package/dist/css/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";:root{--tp-bg:#ece6ee;--tp-surface:#e6e0e9;--tp-surface-hover:#c8b3fd;--tp-input-bg:#e6e0e9;--tp-text:#1d1b20;--tp-text-secondary:#49454f;--tp-text-disabled:hsla(0,1%,61%,.6);--tp-text-type-time:#49454f;--tp-text-icon:#4e545a;--tp-am-pm-active:#ffd8e4;--tp-am-pm-text-selected:#633b48;--tp-am-pm-text-unselected:#49454f;--tp-primary:#6750a4;--tp-on-primary:#fff;--tp-primary-container:#eaddff;--tp-on-primary-container:#21005d;--tp-primary-rgb:103,80,164;--tp-on-surface:#1d1b20;--tp-on-surface-variant:#49454f;--tp-on-surface-rgb:29,27,32;--tp-surface-container:#f3edf7;--tp-outline-variant:#cac4d0;--tp-tertiary-container:#ffd8e4;--tp-on-tertiary-container:#633b48;--tp-border:#000;--tp-outline:#6750a4;--tp-hover-bg:#d6d6d6;--tp-backdrop:rgba(0,0,0,.5);--tp-backdrop-filter:unset;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000;--tp-shadow:unset;--tp-border-radius:28px;--tp-spacing-xs:4px;--tp-spacing-sm:8px;--tp-spacing-md:12px;--tp-spacing-lg:16px;--tp-spacing-xl:24px;--tp-spacing-2xl:36px;--tp-spacing-3xl:48px;--tp-border-width:1px;--tp-border-width-thick:2px;--tp-border-width-half:0.3752px;--tp-border-width-pm:1.5008px;--tp-outline-width:2px;--tp-outline-width-thick:3px;--tp-outline-width-contrast:4px;--tp-outline-offset:2px;--tp-font-size-xs:12px;--tp-font-size-sm:12.8px;--tp-font-size-base:14px;--tp-font-size-lg:16px;--tp-font-size-number:17.6px;--tp-font-size-xl:51.2px;--tp-radius-sm:7px;--tp-radius-md:8px;--tp-radius-lg:20px;--tp-radius-circle:50%;--tp-radius-full:100%;--tp-size-clock:256px;--tp-size-wrapper:328px;--tp-size-wrapper-expanded:584px;--tp-size-wrapper-portrait:315px;--tp-size-wrapper-landscape-height:360px;--tp-size-wrapper-mobile-height:258px;--tp-size-input:96px;--tp-size-input-height:80px;--tp-size-input-mobile:72px;--tp-size-hand-circle:46px;--tp-size-hand-circle-small:36px;--tp-size-hand-width:2px;--tp-size-hand-offset:calc(50% - 1px);--tp-size-hand-top:4px;--tp-size-hand-left:1px;--tp-size-button-min:44px;--tp-size-dot:6px;--tp-size-dot-center:8px;--tp-size-am-pm-width:54px;--tp-size-am-pm-height:40px;--tp-size-am-pm-height-landscape:44px;--tp-size-icon:24px;--tp-size-colon-width:24px;--tp-size-colon-height:48px;--tp-size-number:32px;--tp-size-inner-circle:200px;--tp-size-inline-min-height:500px;--tp-size-padding:10px;--tp-duration-fast:150ms;--tp-duration-base:200ms;--tp-duration-slow:300ms;--tp-duration-slower:400ms;--tp-duration-slowest:450ms;--tp-duration-animation:350ms;--tp-duration-ripple:700ms;--tp-duration-ripple-fade:500ms;--tp-duration-reduced:0.01ms;--tp-easing-standard:cubic-bezier(0.4,0,0.2,1);--tp-easing-ease:ease;--tp-easing-linear:linear;--tp-z-backdrop:5000;--tp-z-modal:5001;--tp-z-keyboard-icon:10;--tp-z-hidden:-9999;--tp-opacity-hover:0.08;--tp-opacity-focus:0.12;--tp-opacity-active:0.16;--tp-opacity-disabled:0.38;--tp-opacity-backdrop:0.6;--tp-shadow-inline:0 2px 8px rgba(0,0,0,.15);--tp-shadow-focus:0 0 0 4px rgba(98,0,238,.2);--tp-gap-sm:8px;--tp-gap-md:12px;--tp-position-hidden:-10000px}.tp-ui *{box-sizing:border-box!important}.tp-ui-open-element.disabled{pointer-events:none;touch-action:none;user-select:none}.opacity{transition:opacity .15s linear}.opacity.show{opacity:1}.invalid-value,.invalid-value:active,.invalid-value:focus,.invalid-value:hover{border-color:#d50000!important;color:#d50000!important}.tp-ui-invalid-format{border:2px solid red;color:red}.tp-ui-invalid-text{color:red}.sr-only,.tp-ui .sr-only{clip:rect(0,0,0,0);border-width:0;margin:-1px;padding:0;white-space:nowrap}.sr-only,.timepicker-announcer,.tp-ui .sr-only{height:1px;overflow:hidden;position:absolute;width:1px}.timepicker-announcer{left:-10000px}.tp-ui-modal{backdrop-filter:var(--tp-backdrop-filter);background-color:hsla(0,1%,61%,.6);bottom:0;font-family:Roboto,sans-serif;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;z-index:5000}.tp-ui-modal.show{pointer-events:auto}.tp-ui-modal.removed{background-color:transparent;bottom:auto;left:auto;right:auto;top:auto}.tp-ui-measure{height:3.125rem;overflow:scroll;position:absolute;top:-9999px;width:3.125rem}.tp-ui-wrapper,.tp-ui-wrapper.mobile{background-color:var(--tp-bg);border-radius:var(--tp-border-radius);box-shadow:var(--tp-shadow);display:flex;flex-direction:column;left:50%;outline:none;position:fixed;top:50%;transform:translate(-50%,-50%);width:328px;z-index:5001}.tp-ui-wrapper.expanded{will-change:width,height,flex-direction}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-wrapper.expanded{flex-direction:row;height:360px;transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),flex-direction 0ms cubic-bezier(.4,0,.2,1);width:584px}}@media screen and (max-width:330px) and (orientation:portrait){.tp-ui-wrapper.expanded{width:315px}}.tp-ui-wrapper.mobile{height:auto;transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),flex-direction 0ms cubic-bezier(.4,0,.2,1) .4s}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-wrapper.mobile{height:258px;transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),flex-direction 0ms cubic-bezier(.4,0,.2,1) .4s;width:328px}}@media screen and (max-width:330px){.tp-ui-wrapper.mobile{width:315px}}.tp-ui-mobile-clock-wrapper{align-items:center;display:flex;height:0;justify-content:center;opacity:0;overflow:hidden;transform:scale(0);transform-origin:center;transition:height .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.tp-ui-mobile-clock-wrapper.expanded{height:256px;opacity:1;transform:scale(1)}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-mobile-clock-wrapper.expanded{height:100%;transform-origin:left center;transition:height .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1) 0ms,transform .4s cubic-bezier(.4,0,.2,1);width:100%}}.tp-ui-header,.tp-ui-header.mobile{display:flex;flex-direction:row;justify-content:center;padding-bottom:var(--tp-spacing-2xl);padding-left:var(--tp-spacing-xl);padding-right:var(--tp-spacing-xl);position:relative}.tp-ui-header.mobile,.tp-ui-header.show{padding-bottom:0}.tp-ui-header.mobile.expanded{align-items:unset;height:auto;padding-bottom:var(--tp-spacing-2xl)}.tp-ui-header.mobile.expanded .tp-ui-wrapper-time.mobile{align-items:unset}.tp-ui-header.mobile.expanded .tp-ui-wrapper-time.mobile.expanded{align-items:center}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-header.expanded{flex-direction:column;height:auto}.tp-ui-wrapper.expanded .tp-ui-select-time{position:absolute}.tp-ui-mobile-clock-wrapper.expanded{height:100%!important;justify-content:unset;width:100%}}.tp-ui-select-time,.tp-ui-select-time.mobile{color:var(--tp-text-secondary);font-size:var(--tp-font-size-xs);padding:var(--tp-spacing-xl)}.tp-ui-body{border-radius:100%;height:256px;margin:0 auto;position:relative;width:256px}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-body.expanded{display:flex;height:100%;margin-top:48px;padding-left:0;padding-right:0}}.tp-ui-footer,.tp-ui-footer-mobile{display:flex;justify-content:space-between;margin-bottom:4px;padding:var(--tp-spacing-xl)}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-footer.expanded{bottom:0;justify-content:space-between;left:0;position:absolute;right:0}.tp-ui-footer.expanded .tp-ui-keyboard-icon-wrapper{left:0}}.tp-ui-footer.mobile{padding:var(--tp-spacing-xl)}.tp-ui-clock-face{background-color:var(--tp-surface);border-radius:100%;height:100%;opacity:0;position:relative;transform:scale(0);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);width:100%}.tp-ui-clock-face.scale-in{opacity:1;transform:scale(1)}.tp-ui-clock-face:active .tp-ui-hour-time-12,.tp-ui-clock-face:active .tp-ui-hour-time-24,.tp-ui-clock-face:active .tp-ui-minutes-time{pointer-events:none}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-clock-face{height:256px;width:256px}}.tp-ui-dot{background-color:var(--tp-primary);border-radius:100%;height:8px;left:50%;position:absolute;top:50%;touch-action:none;transform:translate(-50%,-50%);user-select:none;width:8px}.tp-ui-tips-wrapper{height:100%;width:100%}.tp-ui-tips-wrapper-24h{border-radius:50%;height:200px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:200px;z-index:0}.tp-ui-tips-wrapper-24h-disabled{pointer-events:none;touch-action:none;user-select:none}.tp-ui-tips-wrapper-24h.none{display:none}.tp-ui-hour-time-12,.tp-ui-hour-time-24,.tp-ui-minutes-time{align-items:center;cursor:pointer;display:flex;font-size:17.6px;height:32px;justify-content:center;position:absolute;text-align:center;touch-action:none;user-select:none;width:32px}.tp-ui-hour-time-12 span,.tp-ui-hour-time-24 span,.tp-ui-minutes-time span{pointer-events:none;touch-action:none;user-select:none}.tp-ui-hour-time-12{align-items:center;display:block;display:flex;justify-content:center}.tp-ui-clock-hand{bottom:50%;height:31%;left:calc(50% - 1px);transform-origin:center bottom 0;width:2px}.tp-ui-circle-hand,.tp-ui-clock-hand{background-color:var(--tp-primary);position:absolute}.tp-ui-circle-hand{align-items:center;border-radius:50%;box-sizing:border-box;display:flex;height:46px;justify-content:center;left:50%;top:0;transform:translate(-50%,-100%);transition:transform .3s cubic-bezier(.4,0,.2,1),width .15s ease,height .15s ease;width:46px}.tp-ui-circle-hand.small-circle{box-sizing:border-box!important;height:36px;width:36px}.tp-ui-circle-hand-24h{left:1px;top:4px;transform:translate(-50%,-50%)}.tp-ui-value-tips,.tp-ui-value-tips-24h{align-items:center;border-radius:50%;color:var(--tp-text);display:flex;height:100%;justify-content:center;line-height:1;transition:color .3s ease;width:100%}.tp-ui-value-tips-24h.active,.tp-ui-value-tips.active{color:var(--tp-on-primary);transition:none}.tp-ui-clock-animation{animation:clockanimation .35s linear}.tp-ui-tips-animation{transition:transform .4s cubic-bezier(.4,0,.2,1) 0ms,height .4s cubic-bezier(.4,0,.2,1) 0ms}.tp-ui-tips-disabled{color:var(--tp-text-disabled);pointer-events:none}.tp-ui-input-wrapper{border-radius:var(--tp-radius-md);display:flex;overflow:visible;position:relative;width:96px}.tp-ui-input-wrapper.mobile input{height:var(--tp-size-input-mobile)}.tp-ui-input-wrapper.mobile{flex-direction:column}.tp-ui-input-ripple-wrapper{border-radius:var(--tp-radius-md);display:flex;height:80px;overflow:hidden;position:relative;width:100%}.tp-ui-input-ripple-wrapper.mobile{height:72px}.tp-ui-input-ripple-wrapper.expanded{height:80px}.tp-ui-input-ripple-wrapper.mobile{height:var(--tp-size-input-mobile)}.tp-ui-input-ripple-wrapper.mobile.expanded{height:var(--tp-size-input-height)}.tp-ui-wrapper-time,.tp-ui-wrapper-time.mobile{align-items:center;display:flex;height:100%;justify-content:center}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-wrapper-time.expanded{height:auto;margin-bottom:var(--tp-spacing-lg);margin-right:0}}.tp-ui-wrapper-time-24h{margin-right:0}.tp-ui-wrapper-time.mobile{height:auto;max-width:fit-content;position:relative;width:100%}.tp-ui-hour,.tp-ui-hour.mobile,.tp-ui-minutes,.tp-ui-minutes.mobile{align-items:center;background-color:var(--tp-input-bg);border:var(--tp-border-width-thick) solid transparent;border-radius:var(--tp-radius-md);color:var(--tp-text);cursor:pointer;display:flex;font-size:var(--tp-font-size-xl);height:var(--tp-size-input-height);justify-content:center;outline:none;padding:var(--tp-size-padding);text-align:center;transition:all .3s ease;width:var(--tp-size-input)}.tp-ui-hour.mobile,.tp-ui-hour.mobile.mobile,.tp-ui-minutes.mobile,.tp-ui-minutes.mobile.mobile{height:72px}.tp-ui-hour.expanded,.tp-ui-hour.mobile.expanded,.tp-ui-minutes.expanded,.tp-ui-minutes.mobile.expanded{height:80px}.tp-ui-hour.mobile:focus-visible,.tp-ui-hour:focus-visible,.tp-ui-minutes.mobile:focus-visible,.tp-ui-minutes:focus-visible{border:2px solid var(--tp-outline);outline:none}.tp-ui-hour.mobile:hover,.tp-ui-hour:hover,.tp-ui-minutes.mobile:hover,.tp-ui-minutes:hover{background-color:var(--tp-surface-hover);color:var(--tp-text)}.tp-ui-hour.active,.tp-ui-hour.mobile.active,.tp-ui-minutes.active,.tp-ui-minutes.mobile.active{background-color:var(--tp-primary-container);color:var(--tp-on-primary-container)}.tp-ui-hour.active:hover,.tp-ui-hour.mobile.active:hover,.tp-ui-minutes.active:hover,.tp-ui-minutes.mobile.active:hover{color:var(--tp-on-primary-container)}.tp-ui-hour.mobile::-webkit-inner-spin-button,.tp-ui-hour.mobile::-webkit-outer-spin-button,.tp-ui-hour::-webkit-inner-spin-button,.tp-ui-hour::-webkit-outer-spin-button,.tp-ui-minutes.mobile::-webkit-inner-spin-button,.tp-ui-minutes.mobile::-webkit-outer-spin-button,.tp-ui-minutes::-webkit-inner-spin-button,.tp-ui-minutes::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}.tp-ui-hour,.tp-ui-minutes{border:2px solid transparent;outline:none}.tp-ui-hour[contenteditable=true]:active,.tp-ui-hour[contenteditable=true]:focus,.tp-ui-minutes[contenteditable=true]:active,.tp-ui-minutes[contenteditable=true]:focus{border:2px solid var(--tp-outline);outline-color:var(--tp-outline);user-select:all}.tp-ui-hour.mobile,.tp-ui-minutes.mobile{border:2px solid transparent;outline:none}.tp-ui-hour.mobile[contenteditable=true]:active,.tp-ui-hour.mobile[contenteditable=true]:focus,.tp-ui-minutes.mobile[contenteditable=true]:active,.tp-ui-minutes.mobile[contenteditable=true]:focus{border:2px solid var(--tp-outline);outline-color:var(--tp-outline);user-select:all}.tp-ui-dots,.tp-ui-dots.mobile{align-items:center;background-color:transparent;border-radius:50%;display:flex;flex-direction:column;gap:12px;height:48px;justify-content:center;width:24px}.tp-ui-dots span,.tp-ui-dots.mobile span{background-color:var(--tp-text);border-radius:50%;display:block;height:var(--tp-size-dot);width:var(--tp-size-dot)}.tp-ui-dots.mobile{justify-content:normal}.tp-ui-hour-text,.tp-ui-minute-text{color:var(--tp-text-secondary);display:none;font-size:12.8px;margin-top:8px;pointer-events:none}.tp-ui-hour-text.mobile,.tp-ui-hour-text.show,.tp-ui-minute-text.mobile,.tp-ui-minute-text.show{display:block}.tp-ui-hour-text.mobile.expanded,.tp-ui-minute-text.mobile.expanded{display:none}.tp-ui-wrapper-type-time,.tp-ui-wrapper-type-time.mobile{align-self:stretch;color:var(--tp-text-type-time);display:flex;flex-direction:column;font-size:var(--tp-font-size-lg);font-weight:500;justify-content:center;margin-left:var(--tp-spacing-md)}.tp-ui-wrapper-type-time.mobile{justify-content:flex-start}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-wrapper-type-time.expanded:not(.mobile){flex-direction:row;margin-left:0;width:100%}}.tp-ui-wrapper-type-time.mobile{align-self:auto}.tp-ui-am,.tp-ui-am.mobile,.tp-ui-pm,.tp-ui-pm.mobile{align-items:center;border:var(--tp-border-width) solid var(--tp-border);color:var(--tp-am-pm-text-unselected);cursor:pointer;display:flex;height:100%;justify-content:center;transition:all .3s ease;width:100%}.tp-ui-am.mobile:hover,.tp-ui-am:hover,.tp-ui-pm.mobile:hover,.tp-ui-pm:hover{background-color:var(--tp-am-pm-active);color:var(--tp-am-pm-text-unselected)}.tp-ui-am.active,.tp-ui-am.mobile.active,.tp-ui-pm.active,.tp-ui-pm.mobile.active{background-color:var(--tp-am-pm-active);color:var(--tp-am-pm-text-selected);pointer-events:none}.tp-ui-am.active:hover,.tp-ui-am.mobile.active:hover,.tp-ui-pm.active:hover,.tp-ui-pm.mobile.active:hover{color:var(--tp-am-pm-text-selected)}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-am.expanded,.tp-ui-pm.expanded{height:var(--tp-size-am-pm-height-landscape);width:50%}.tp-ui-am.expanded{border-bottom:var(--tp-border-width) solid #000;border-right:unset}}.tp-ui-am,.tp-ui-am.mobile{border-top-left-radius:var(--tp-radius-sm);border-top-right-radius:var(--tp-radius-sm)}.tp-ui-am.mobile{border-bottom-left-radius:0}.tp-ui-am.mobile,.tp-ui-pm.mobile{max-height:var(--tp-size-am-pm-height)}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-am.expanded{border-bottom-left-radius:var(--tp-radius-sm);border-right-width:var(--tp-border-width-half);border-top-left-radius:var(--tp-radius-sm);border-top-right-radius:0}}.tp-ui-am,.tp-ui-am.mobile{border-bottom:unset}.tp-ui-pm,.tp-ui-pm.mobile{border-bottom-left-radius:var(--tp-radius-sm);border-bottom-right-radius:var(--tp-radius-sm);width:var(--tp-size-am-pm-width)}.tp-ui-pm.mobile{border-top-right-radius:0}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-pm.expanded{border-bottom-left-radius:0;border-bottom-right-radius:var(--tp-radius-sm);border-bottom-width:var(--tp-border-width-pm);border-left-width:var(--tp-border-width-half);border-top-right-radius:var(--tp-radius-sm);height:var(--tp-size-am-pm-height-landscape);width:50%}}.tp-ui-cancel-btn{margin-right:var(--tp-spacing-xs)}.tp-ui-cancel-btn,.tp-ui-cancel-btn.mobile,.tp-ui-ok-btn,.tp-ui-ok.btn-mobile{background-color:transparent;border-radius:20px;color:var(--tp-primary);cursor:pointer;font-size:14px;font-weight:500;overflow:hidden;padding:var(--tp-size-padding) var(--tp-spacing-xl);position:relative;text-align:center;transition:background-color .2s ease,opacity .2s ease;user-select:none}.tp-ui-cancel-btn.mobile:after,.tp-ui-cancel-btn:after,.tp-ui-ok-btn:after,.tp-ui-ok.btn-mobile:after{background-color:currentColor;border-radius:inherit;bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .2s ease}.tp-ui-cancel-btn.mobile:hover:after,.tp-ui-cancel-btn:hover:after,.tp-ui-ok-btn:hover:after,.tp-ui-ok.btn-mobile:hover:after{opacity:.08}.tp-ui-cancel-btn.mobile:focus-visible,.tp-ui-cancel-btn:focus-visible,.tp-ui-ok-btn:focus-visible,.tp-ui-ok.btn-mobile:focus-visible{outline:none}.tp-ui-cancel-btn.mobile:focus-visible:after,.tp-ui-cancel-btn:focus-visible:after,.tp-ui-ok-btn:focus-visible:after,.tp-ui-ok.btn-mobile:focus-visible:after{opacity:.12}.tp-ui-cancel-btn.mobile:active:after,.tp-ui-cancel-btn:active:after,.tp-ui-ok-btn:active:after,.tp-ui-ok.btn-mobile:active:after{opacity:.16}.tp-ui-cancel-btn.mobile[aria-disabled=true],.tp-ui-cancel-btn.mobile[disabled],.tp-ui-cancel-btn[aria-disabled=true],.tp-ui-cancel-btn[disabled],.tp-ui-ok-btn[aria-disabled=true],.tp-ui-ok-btn[disabled],.tp-ui-ok.btn-mobile[aria-disabled=true],.tp-ui-ok.btn-mobile[disabled]{cursor:not-allowed;opacity:.38;pointer-events:none}.tp-ui-cancel-btn.mobile[aria-disabled=true]:after,.tp-ui-cancel-btn.mobile[disabled]:after,.tp-ui-cancel-btn[aria-disabled=true]:after,.tp-ui-cancel-btn[disabled]:after,.tp-ui-ok-btn[aria-disabled=true]:after,.tp-ui-ok-btn[disabled]:after,.tp-ui-ok.btn-mobile[aria-disabled=true]:after,.tp-ui-ok.btn-mobile[disabled]:after{opacity:0}.tp-ui-keyboard-icon,.tp-ui-keyboard-icon-mobile,.tp-ui-wrapper-btn,.tp-ui-wrapper-btn-mobile{align-items:center;display:flex;justify-content:center}.tp-ui-keyboard-icon,.tp-ui-keyboard-icon-mobile{-webkit-tap-highlight-color:transparent;all:unset;align-items:center;border-radius:inherit;cursor:pointer;display:inline-flex;justify-content:center;line-height:0;position:relative;touch-action:manipulation}.tp-ui-keyboard-icon-wrapper,.tp-ui-keyboard-icon-wrapper.mobile{cursor:pointer;display:flex;transition:all .3s ease;z-index:10}.tp-ui-keyboard-icon-wrapper.mobile:hover svg,.tp-ui-keyboard-icon-wrapper:hover svg{fill:var(--tp-primary)}.tp-ui-keyboard-icon svg,.tp-ui-keyboard-icon.mobile svg{fill:var(--tp-text-icon);cursor:pointer;pointer-events:none;transition:all .3s ease}@keyframes clockanimation{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tp-ui--inline{background-color:transparent!important;bottom:auto!important;opacity:1!important;pointer-events:auto!important;right:auto!important;z-index:auto!important}.tp-ui--inline,.tp-ui--inline .tp-ui-wrapper,.tp-ui--inline .tp-ui-wrapper.mobile{display:block!important;left:auto!important;position:static!important;top:auto!important;transform:none!important}.tp-ui--inline .tp-ui-wrapper,.tp-ui--inline .tp-ui-wrapper.mobile{border-radius:8px!important;box-shadow:0 2px 8px rgba(0,0,0,.15)!important;height:auto!important;margin:0 auto!important;max-width:328px!important;min-height:500px!important;width:100%!important}.tp-ui--inline .tp-ui-footer .tp-ui-wrapper-btn[style*="display: none"]~*{justify-content:center!important}.tp-ui--inline .tp-ui-wrapper-btn:not([style*="display: none"]){display:flex!important;gap:8px!important;justify-content:flex-end!important}.tp-ui-am:focus-visible,.tp-ui-cancel-btn:focus-visible,.tp-ui-hour-time-12:focus-visible,.tp-ui-hour-time-24:focus-visible,.tp-ui-keyboard-icon-wrapper:focus-visible,.tp-ui-minutes-time:focus-visible,.tp-ui-ok-btn:focus-visible,.tp-ui-pm:focus-visible{box-shadow:var(--tp-shadow-focus);outline:var(--tp-outline-width-thick) solid var(--tp-primary);outline-offset:var(--tp-outline-offset)}@media (prefers-contrast:high){.tp-ui-am:focus-visible,.tp-ui-cancel-btn:focus-visible,.tp-ui-hour-time-12:focus-visible,.tp-ui-hour-time-24:focus-visible,.tp-ui-minutes-time:focus-visible,.tp-ui-ok-btn:focus-visible,.tp-ui-pm:focus-visible{font-weight:700;outline-width:var(--tp-outline-width-contrast)}}@media (prefers-reduced-motion:reduce){.tp-ui-clock-animation{animation:none!important}.tp-ui-clock-hand,.tp-ui-modal,.tp-ui-tips-animation{transition:none!important}.tp-ui *{animation-duration:var(--tp-duration-reduced)!important;animation-iteration-count:1!important;transition-duration:var(--tp-duration-reduced)!important}}@media (prefers-contrast:high){.tp-ui-clock-face,.tp-ui-wrapper{border:var(--tp-border-width-thick) solid}}[data-md3-ripple]{position:relative}[data-md3-ripple]:before{background:var(--tp-primary);border-radius:50%;content:"";height:var(--ripple-size,0);left:var(--ripple-x,50%);opacity:0;pointer-events:none;position:absolute;top:var(--ripple-y,50%);transform:translate(-50%,-50%) scale(0);width:var(--ripple-size,0);z-index:1}[data-md3-ripple].is-rippling:before,[data-md3-ripple].ripple-hold:before{animation:ripple-expand .7s cubic-bezier(.4,0,.2,1) forwards}[data-md3-ripple]:not(.ripple-hold).is-rippling:before{animation:ripple-expand .7s cubic-bezier(.4,0,.2,1) forwards,ripple-fade .5s cubic-bezier(.4,0,.2,1) .7s forwards}.tp-ui-am,.tp-ui-input-wrapper,.tp-ui-pm{overflow:hidden}@keyframes ripple-expand{0%{opacity:.4;transform:translate(-50%,-50%) scale(0)}to{opacity:.2;transform:translate(-50%,-50%) scale(2.5)}}@keyframes ripple-fade{0%{opacity:.2}to{opacity:0}}.tp-ui-timezone{border-top:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:4px;margin:0;padding:8px 24px}.tp-ui-timezone.mobile{padding:6px 16px}.tp-ui-timezone-label{color:var(--tp-text-secondary);font-size:11px;font-weight:500;letter-spacing:.4px;margin:0;padding:0 0 2px;text-transform:uppercase}.tp-ui-timezone-dropdown{background-color:var(--tp-input-bg);border:none;border-bottom:1px solid var(--tp-outline);border-radius:var(--tp-radius-sm) var(--tp-radius-sm) 0 0;cursor:pointer;height:40px;position:relative;transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);user-select:none;width:100%}.tp-ui-timezone-dropdown:hover{background-color:var(--tp-surface-hover);border-bottom-color:var(--tp-text)}.tp-ui-timezone-dropdown:focus{background-color:var(--tp-input-bg);border-bottom:2px solid var(--tp-primary);outline:none}.tp-ui-timezone-dropdown:focus .tp-ui-timezone-selected{padding-bottom:5px}.tp-ui-timezone-dropdown[aria-expanded=true]{border-bottom:2px solid var(--tp-primary);border-radius:var(--tp-radius-sm) var(--tp-radius-sm) 0 0;z-index:1000}.tp-ui-timezone-dropdown[aria-expanded=true] .tp-ui-timezone-selected{padding-bottom:5px}.tp-ui-timezone-dropdown[aria-expanded=true] .tp-ui-timezone-arrow{transform:rotate(180deg)}.tp-ui-timezone-dropdown[aria-expanded=true] .tp-ui-timezone-menu{opacity:1;transform:translateY(0) scaleY(1);visibility:visible}.mobile .tp-ui-timezone-dropdown{height:36px}.tp-ui-timezone-selected{align-items:center;color:var(--tp-text);display:flex;font-size:14px;font-weight:400;height:100%;line-height:1.4;overflow:hidden;padding:10px 32px 6px 10px;text-overflow:ellipsis;white-space:nowrap}.tp-ui-timezone-selected[data-placeholder]{color:var(--tp-text-secondary)}.mobile .tp-ui-timezone-selected{font-size:13px;padding:8px 28px 4px 8px}.tp-ui-timezone-arrow{color:var(--tp-text-secondary);height:18px;pointer-events:none;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:transform .2s cubic-bezier(.4,0,.2,1);width:18px}.mobile .tp-ui-timezone-arrow{height:16px;right:6px;width:16px}.tp-ui-timezone-menu{background-color:var(--tp-dropdown-option-bg);border-radius:0 0 var(--tp-radius-md) var(--tp-radius-md);box-shadow:var(--tp-shadow);left:0;margin-top:-1px;max-height:280px;opacity:0;overflow-y:auto;position:absolute;right:0;top:100%;transform:translateY(-8px) scaleY(.9);transform-origin:top center;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),visibility .2s cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:999}.tp-ui-timezone-menu::-webkit-scrollbar{width:6px}.tp-ui-timezone-menu::-webkit-scrollbar-track{background:transparent}.tp-ui-timezone-menu::-webkit-scrollbar-thumb{background-color:var(--tp-text-secondary);border-radius:3px;opacity:.3}.mobile .tp-ui-timezone-menu{max-height:220px}.tp-ui-timezone-option{align-items:center;color:var(--tp-dropdown-option-text);cursor:pointer;display:flex;font-size:14px;overflow:hidden;padding:12px 16px;position:relative;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.tp-ui-timezone-option:hover,.tp-ui-timezone-option[data-focused=true]{background-color:var(--tp-surface-hover)}.tp-ui-timezone-option[data-selected=true]{background-color:var(--tp-primary-container);color:var(--tp-on-primary-container);font-weight:500}.tp-ui-timezone-option[data-selected=true]:after{content:"✓";font-size:16px;font-weight:600;position:absolute;right:16px}.tp-ui-timezone-option:active{background-color:var(--tp-primary-container)}.mobile .tp-ui-timezone-option{font-size:13px;padding:10px 14px}.tp-ui-range-header{align-items:stretch;display:flex;gap:var(--tp-spacing-md);justify-content:center;margin-bottom:var(--tp-spacing-lg);padding:var(--tp-spacing-lg) var(--tp-spacing-xl) 0}.tp-ui-range-tab{align-items:center;background:transparent;border:none;border-radius:var(--tp-radius-md);cursor:pointer;display:flex;flex:1;flex-direction:column;font-family:inherit;gap:2px;justify-content:center;max-width:120px;padding:var(--tp-spacing-sm) var(--tp-spacing-md);position:relative;transition:background-color var(--tp-duration-fast) var(--tp-easing-standard)}.tp-ui-range-tab:after{background:var(--tp-primary);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width var(--tp-duration-base) var(--tp-easing-standard);width:0}.tp-ui-range-tab:focus-visible{outline:var(--tp-outline-width) solid var(--tp-primary);outline-offset:var(--tp-outline-offset)}.tp-ui-range-tab:not(.active):hover{background:rgba(var(--tp-on-surface-rgb),var(--tp-opacity-hover))}.tp-ui-range-tab.active:after{width:100%}.tp-ui-range-tab.active .tp-ui-range-tab-value{color:var(--tp-primary)}.tp-ui-range-tab.disabled{cursor:not-allowed;opacity:var(--tp-opacity-disabled);pointer-events:none}.tp-ui-range-tab-label{color:var(--tp-text-secondary);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.tp-ui-range-tab-value{color:var(--tp-on-surface);font-size:16px;font-weight:400;min-height:28px;transition:color var(--tp-duration-fast) var(--tp-easing-standard)}.tp-ui-range-mode .tp-ui-select-time{display:none}.tp-ui-range-mode .tp-ui-ok-btn.disabled{opacity:var(--tp-opacity-disabled);pointer-events:none}[data-theme=crane]{--tp-bg:#5d1049;--tp-surface:#71135c;--tp-surface-hover:#71135c;--tp-input-bg:#71135c;--tp-text:#fff;--tp-text-secondary:#e5e5e5;--tp-text-disabled:hsla(0,0%,100%,.6);--tp-text-type-time:#fff;--tp-text-icon:#fff;--tp-am-pm-active:#f7363e;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#fff;--tp-primary:#f7363e;--tp-on-primary:#fff;--tp-primary-container:#f7363e;--tp-on-primary-container:#fff;--tp-tertiary-container:#f7363e;--tp-on-tertiary-container:#fff;--tp-border:transparent;--tp-outline:#ff4c52;--tp-radius:1.25rem;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000}[data-theme=crane-straight]{--tp-bg:#5d1049;--tp-surface:#71135c;--tp-surface-hover:#71135c;--tp-input-bg:#71135c;--tp-text:#fff;--tp-text-secondary:#e5e5e5;--tp-text-disabled:hsla(0,0%,100%,.6);--tp-text-type-time:#fff;--tp-text-icon:#fff;--tp-am-pm-active:#f7363e;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#fff;--tp-primary:#f7363e;--tp-on-primary:#fff;--tp-primary-container:#f7363e;--tp-on-primary-container:#fff;--tp-tertiary-container:#f7363e;--tp-on-tertiary-container:#fff;--tp-border:transparent;--tp-outline:#ff4c52;--tp-radius:0;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000}[data-theme=m2]{--tp-bg:#fff;--tp-surface:#e0e0e0;--tp-surface-hover:#ece0fd;--tp-input-bg:#e4e4e4;--tp-text:#000;--tp-text-secondary:#a9a9a9;--tp-text-disabled:hsla(0,1%,61%,.6);--tp-text-type-time:#787878;--tp-text-icon:#4e545a;--tp-am-pm-active:#ece0fd;--tp-am-pm-text-selected:#6200ee;--tp-am-pm-text-unselected:#787878;--tp-primary:#6200ee;--tp-on-primary:#fff;--tp-primary-container:#ece0fd;--tp-on-primary-container:#6200ee;--tp-tertiary-container:#ece0fd;--tp-on-tertiary-container:#6200ee;--tp-border:#d6d6d6;--tp-outline:#8b5cf6;--tp-hover-bg:#d6d6d6;--tp-shadow:0px 3px 5px -1px rgba(0,0,0,.2),0px 5px 8px 0px rgba(0,0,0,.14),0px 1px 14px 0px rgba(0,0,0,.12);--tp-radius:4px;--tp-border-radius:4px;--tp-radius-md:2px;--tp-radius-sm:4px;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000}[data-theme=m3-green]{--tp-bg:#e5eadc;--tp-surface:#dfe4d6;--tp-surface-hover:#dfe4d6;--tp-input-bg:#dfe4d6;--tp-text:#1a1c18;--tp-text-secondary:#6b7165;--tp-text-disabled:hsla(0,1%,61%,.6);--tp-text-type-time:#6b7165;--tp-text-icon:#6b7165;--tp-am-pm-active:#bbebeb;--tp-am-pm-text-selected:#002021;--tp-am-pm-text-unselected:#6b7165;--tp-primary:#386a20;--tp-on-primary:#042100;--tp-primary-container:#b8f397;--tp-on-primary-container:#042100;--tp-tertiary-container:#bbebeb;--tp-on-tertiary-container:#002021;--tp-border:#74796e;--tp-outline:#4ade80;--tp-shadow:unset;--tp-radius:35px;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#1a1c18}[data-theme=dark]{--tp-bg:#1c1b1f;--tp-surface:#2c2b30;--tp-surface-hover:#3b3940;--tp-input-bg:#2c2b30;--tp-text:#e5e5e5;--tp-text-secondary:#a1a1a1;--tp-text-disabled:hsla(0,0%,63%,.6);--tp-text-type-time:#a1a1a1;--tp-text-icon:#a1a1a1;--tp-am-pm-active:#bb86fc;--tp-am-pm-text-selected:#000;--tp-am-pm-text-unselected:#a1a1a1;--tp-primary:#bb86fc;--tp-on-primary:#000;--tp-primary-container:#bb86fc;--tp-on-primary-container:#000;--tp-tertiary-container:#bb86fc;--tp-on-tertiary-container:#000;--tp-border:hsla(0,0%,100%,.12);--tp-outline:#d8b4fe;--tp-hover-bg:#3b3940;--tp-shadow:0px 8px 16px rgba(0,0,0,.6);--tp-dropdown-option-bg:#2c2b30;--tp-dropdown-option-text:#e5e5e5}[data-theme=glassmorphic]{--tp-bg:hsla(0,0%,100%,.12);--tp-surface:hsla(0,0%,100%,.18);--tp-surface-hover:hsla(0,0%,100%,.22);--tp-input-bg:hsla(0,0%,100%,.16);--tp-text:hsla(0,0%,100%,.95);--tp-text-secondary:hsla(0,0%,100%,.75);--tp-text-disabled:hsla(0,0%,100%,.45);--tp-text-type-time:#fff;--tp-text-icon:#fff;--tp-am-pm-active:hsla(0,0%,100%,.75);--tp-am-pm-text-selected:#000;--tp-am-pm-text-unselected:hsla(0,0%,100%,.75);--tp-primary:hsla(0,0%,100%,.75);--tp-on-primary:#000;--tp-primary-container:hsla(0,0%,100%,.6);--tp-on-primary-container:#000;--tp-tertiary-container:hsla(0,0%,100%,.55);--tp-on-tertiary-container:#000;--tp-border:hsla(0,0%,100%,.35);--tp-outline:hsla(0,0%,100%,.9);--tp-shadow:0 10px 32px hsla(0,0%,6%,.25),0 4px 8px rgba(0,0,0,.12);--tp-backdrop-filter:blur(12px) saturate(180%);--tp-radius:1.25rem;--tp-dropdown-option-bg:hsla(0,0%,100%,.85);--tp-dropdown-option-text:#000}[data-theme=pastel]{--tp-bg:#fdf6f0;--tp-surface:#fae3d9;--tp-surface-hover:#fef0e8;--tp-input-bg:#fae3d9;--tp-text:#3b3b3b;--tp-text-secondary:#a58f86;--tp-text-disabled:rgba(59,59,59,.6);--tp-text-type-time:#a58f86;--tp-text-icon:#a58f86;--tp-am-pm-active:#ffb6b9;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#a58f86;--tp-primary:#ffb6b9;--tp-on-primary:#fff;--tp-primary-container:#ffb6b9;--tp-on-primary-container:#fff;--tp-tertiary-container:#ffb6b9;--tp-on-tertiary-container:#fff;--tp-border:#efdcd2;--tp-outline:#ff8a8f;--tp-shadow:0 4px 16px rgba(0,0,0,.05);--tp-radius:1.25rem;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#3b3b3b}[data-theme=ai]{--tp-bg:#f3f4f6;--tp-surface:#e5e7eb;--tp-surface-hover:#f9fafb;--tp-input-bg:#e5e7eb;--tp-text:#111827;--tp-text-secondary:#6b7280;--tp-text-disabled:hsla(220,9%,46%,.6);--tp-text-type-time:#374151;--tp-text-icon:#6b7280;--tp-am-pm-active:#3b82f6;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#6b7280;--tp-primary:#3b82f6;--tp-on-primary:#fff;--tp-primary-container:#3b82f6;--tp-on-primary-container:#fff;--tp-tertiary-container:#3b82f6;--tp-on-tertiary-container:#fff;--tp-border:#d1d5db;--tp-outline:#3b82f6;--tp-shadow:0 4px 12px rgba(0,0,0,.04);--tp-radius:0.75rem;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#111827}[data-theme=cyberpunk]{--tp-bg:#0f0c29;--tp-surface:#1a1a2e;--tp-surface-hover:#1a1a2e;--tp-input-bg:#1a1a2e;--tp-text:#f8f8ff;--tp-text-secondary:#00f0ff;--tp-text-disabled:rgba(0,240,255,.4);--tp-text-type-time:#00f0ff;--tp-text-icon:#00f0ff;--tp-am-pm-active:#00f0ff;--tp-am-pm-text-selected:#0f0c29;--tp-am-pm-text-unselected:#00f0ff;--tp-primary:#00f0ff;--tp-on-primary:#0f0c29;--tp-primary-container:#00f0ff;--tp-on-primary-container:#0f0c29;--tp-tertiary-container:#00f0ff;--tp-on-tertiary-container:#0f0c29;--tp-border:rgba(0,240,255,.3);--tp-outline:#fff;--tp-shadow:0 0 12px #00f0ff;--tp-radius:1rem;--tp-dropdown-option-bg:#1a1a2e;--tp-dropdown-option-text:#f8f8ff}
|
|
1
|
+
@charset "UTF-8";:root{--tp-bg:#ece6ee;--tp-surface:#e6e0e9;--tp-surface-hover:#c8b3fd;--tp-input-bg:#e6e0e9;--tp-text:#1d1b20;--tp-text-secondary:#49454f;--tp-text-disabled:hsla(0,1%,61%,.6);--tp-text-type-time:#49454f;--tp-text-icon:#4e545a;--tp-am-pm-active:#ffd8e4;--tp-am-pm-text-selected:#633b48;--tp-am-pm-text-unselected:#49454f;--tp-primary:#6750a4;--tp-on-primary:#fff;--tp-primary-container:#eaddff;--tp-on-primary-container:#21005d;--tp-primary-rgb:103,80,164;--tp-on-surface:#1d1b20;--tp-on-surface-variant:#49454f;--tp-on-surface-rgb:29,27,32;--tp-surface-container:#f3edf7;--tp-outline-variant:#cac4d0;--tp-tertiary-container:#ffd8e4;--tp-on-tertiary-container:#633b48;--tp-border:#000;--tp-outline:#6750a4;--tp-hover-bg:#d6d6d6;--tp-backdrop:rgba(0,0,0,.5);--tp-backdrop-filter:unset;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000;--tp-shadow:unset;--tp-border-radius:28px;--tp-spacing-xs:4px;--tp-spacing-sm:8px;--tp-spacing-md:12px;--tp-spacing-lg:16px;--tp-spacing-xl:24px;--tp-spacing-2xl:36px;--tp-spacing-3xl:48px;--tp-border-width:1px;--tp-border-width-thick:2px;--tp-border-width-half:0.3752px;--tp-border-width-pm:1.5008px;--tp-outline-width:2px;--tp-outline-width-thick:3px;--tp-outline-width-contrast:4px;--tp-outline-offset:2px;--tp-font-size-xs:12px;--tp-font-size-sm:12.8px;--tp-font-size-base:14px;--tp-font-size-lg:16px;--tp-font-size-number:17.6px;--tp-font-size-xl:51.2px;--tp-radius-sm:7px;--tp-radius-md:8px;--tp-radius-lg:20px;--tp-radius-circle:50%;--tp-radius-full:100%;--tp-size-clock:256px;--tp-size-wrapper:328px;--tp-size-wrapper-expanded:584px;--tp-size-wrapper-portrait:315px;--tp-size-wrapper-landscape-height:360px;--tp-size-wrapper-mobile-height:258px;--tp-size-input:96px;--tp-size-input-height:80px;--tp-size-input-mobile:72px;--tp-size-hand-circle:46px;--tp-size-hand-circle-small:36px;--tp-size-hand-width:2px;--tp-size-hand-offset:calc(50% - 1px);--tp-size-hand-top:4px;--tp-size-hand-left:1px;--tp-size-button-min:44px;--tp-size-dot:6px;--tp-size-dot-center:8px;--tp-size-am-pm-width:54px;--tp-size-am-pm-height:40px;--tp-size-am-pm-height-landscape:44px;--tp-size-icon:24px;--tp-size-colon-width:24px;--tp-size-colon-height:48px;--tp-size-number:32px;--tp-size-inner-circle:200px;--tp-size-inline-min-height:500px;--tp-size-padding:10px;--tp-duration-fast:150ms;--tp-duration-base:200ms;--tp-duration-slow:300ms;--tp-duration-slower:400ms;--tp-duration-slowest:450ms;--tp-duration-animation:350ms;--tp-duration-ripple:700ms;--tp-duration-ripple-fade:500ms;--tp-duration-reduced:0.01ms;--tp-easing-standard:cubic-bezier(0.4,0,0.2,1);--tp-easing-ease:ease;--tp-easing-linear:linear;--tp-z-backdrop:5000;--tp-z-modal:5001;--tp-z-keyboard-icon:10;--tp-z-hidden:-9999;--tp-opacity-hover:0.08;--tp-opacity-focus:0.12;--tp-opacity-active:0.16;--tp-opacity-disabled:0.38;--tp-opacity-backdrop:0.6;--tp-shadow-inline:0 2px 8px rgba(0,0,0,.15);--tp-shadow-focus:0 0 0 4px rgba(98,0,238,.2);--tp-gap-sm:8px;--tp-gap-md:12px;--tp-position-hidden:-10000px}.tp-ui *{box-sizing:border-box!important}.tp-ui-open-element.disabled{pointer-events:none;touch-action:none;user-select:none}.opacity{transition:opacity .15s linear}.opacity.show{opacity:1}.invalid-value,.invalid-value:active,.invalid-value:focus,.invalid-value:hover{border-color:#d50000!important;color:#d50000!important}.tp-ui-invalid-format{border:2px solid red;color:red}.tp-ui-invalid-text{color:red}.sr-only,.tp-ui .sr-only{clip:rect(0,0,0,0);border-width:0;margin:-1px;padding:0;white-space:nowrap}.sr-only,.timepicker-announcer,.tp-ui .sr-only{height:1px;overflow:hidden;position:absolute;width:1px}.timepicker-announcer{left:-10000px}.tp-ui-modal{backdrop-filter:var(--tp-backdrop-filter);background-color:hsla(0,1%,61%,.6);bottom:0;font-family:Roboto,sans-serif;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;z-index:5000}.tp-ui-modal.show{pointer-events:auto}.tp-ui-modal.removed{background-color:transparent;bottom:auto;left:auto;right:auto;top:auto}.tp-ui-measure{height:3.125rem;overflow:scroll;position:absolute;top:-9999px;width:3.125rem}.tp-ui-wrapper,.tp-ui-wrapper.mobile{background-color:var(--tp-bg);border-radius:var(--tp-border-radius);box-shadow:var(--tp-shadow);display:flex;flex-direction:column;left:50%;outline:none;position:fixed;top:50%;transform:translate(-50%,-50%);width:328px;z-index:5001}.tp-ui-wrapper.expanded{will-change:width,height,flex-direction}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-wrapper.expanded{flex-direction:row;height:360px;transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),flex-direction 0ms cubic-bezier(.4,0,.2,1);width:584px}}@media screen and (max-width:330px) and (orientation:portrait){.tp-ui-wrapper.expanded{width:315px}}.tp-ui-wrapper.mobile{height:auto;transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),flex-direction 0ms cubic-bezier(.4,0,.2,1) .4s}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-wrapper.mobile{height:258px;transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),flex-direction 0ms cubic-bezier(.4,0,.2,1) .4s;width:328px}}@media screen and (max-width:330px){.tp-ui-wrapper.mobile{width:315px}}.tp-ui-mobile-clock-wrapper{align-items:center;display:flex;height:0;justify-content:center;opacity:0;overflow:hidden;transform:scale(0);transform-origin:center;transition:height .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.tp-ui-mobile-clock-wrapper.expanded{height:256px;opacity:1;transform:scale(1)}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-mobile-clock-wrapper.expanded{height:100%;transform-origin:left center;transition:height .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1) 0ms,transform .4s cubic-bezier(.4,0,.2,1);width:100%}}.tp-ui-header,.tp-ui-header.mobile{display:flex;flex-direction:row;justify-content:center;padding-bottom:var(--tp-spacing-2xl);padding-left:var(--tp-spacing-xl);padding-right:var(--tp-spacing-xl);position:relative}.tp-ui-header.mobile,.tp-ui-header.show{padding-bottom:0}.tp-ui-header.mobile.expanded{align-items:unset;height:auto;padding-bottom:var(--tp-spacing-2xl)}.tp-ui-header.mobile.expanded .tp-ui-wrapper-time.mobile{align-items:unset}.tp-ui-header.mobile.expanded .tp-ui-wrapper-time.mobile.expanded{align-items:center}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-header.expanded{flex-direction:column;height:auto}.tp-ui-wrapper.expanded .tp-ui-select-time{position:absolute}.tp-ui-mobile-clock-wrapper.expanded{height:100%!important;justify-content:unset;width:100%}}.tp-ui-select-time,.tp-ui-select-time.mobile{color:var(--tp-text-secondary);font-size:var(--tp-font-size-xs);padding:var(--tp-spacing-xl)}.tp-ui-body{border-radius:100%;height:256px;margin:0 auto;position:relative;width:256px}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-body.expanded{display:flex;height:100%;margin-top:48px;padding-left:0;padding-right:0}}.tp-ui-footer,.tp-ui-footer-mobile{display:flex;justify-content:space-between;margin-bottom:4px;padding:var(--tp-spacing-xl)}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-footer.expanded{bottom:0;justify-content:space-between;left:0;position:absolute;right:0}.tp-ui-footer.expanded .tp-ui-keyboard-icon-wrapper{left:0}}.tp-ui-footer.mobile{padding:var(--tp-spacing-xl)}.tp-ui-clock-face{background-color:var(--tp-surface);border-radius:100%;height:100%;opacity:0;position:relative;transform:scale(0);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);width:100%}.tp-ui-clock-face.scale-in{opacity:1;transform:scale(1)}.tp-ui-clock-face:active .tp-ui-hour-time-12,.tp-ui-clock-face:active .tp-ui-hour-time-24,.tp-ui-clock-face:active .tp-ui-minutes-time{pointer-events:none}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-clock-face{height:256px;width:256px}}.tp-ui-dot{background-color:var(--tp-primary);border-radius:100%;height:8px;left:50%;position:absolute;top:50%;touch-action:none;transform:translate(-50%,-50%);user-select:none;width:8px}.tp-ui-tips-wrapper{height:100%;width:100%}.tp-ui-tips-wrapper-24h{border-radius:50%;height:200px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:200px;z-index:0}.tp-ui-tips-wrapper-24h-disabled{pointer-events:none;touch-action:none;user-select:none}.tp-ui-tips-wrapper-24h.none{display:none}.tp-ui-hour-time-12,.tp-ui-hour-time-24,.tp-ui-minutes-time{align-items:center;cursor:pointer;display:flex;font-size:17.6px;height:32px;justify-content:center;position:absolute;text-align:center;touch-action:none;user-select:none;width:32px}.tp-ui-hour-time-12 span,.tp-ui-hour-time-24 span,.tp-ui-minutes-time span{pointer-events:none;touch-action:none;user-select:none}.tp-ui-hour-time-12{align-items:center;display:block;display:flex;justify-content:center}.tp-ui-clock-hand{bottom:50%;height:31%;left:calc(50% - 1px);transform-origin:center bottom 0;width:2px}.tp-ui-circle-hand,.tp-ui-clock-hand{background-color:var(--tp-primary);position:absolute}.tp-ui-circle-hand{align-items:center;border-radius:50%;box-sizing:border-box;display:flex;height:46px;justify-content:center;left:50%;top:0;transform:translate(-50%,-100%);transition:transform .3s cubic-bezier(.4,0,.2,1),width .15s ease,height .15s ease;width:46px}.tp-ui-circle-hand.small-circle{box-sizing:border-box!important;height:36px;width:36px}.tp-ui-circle-hand-24h{left:1px;top:4px;transform:translate(-50%,-50%)}.tp-ui-value-tips,.tp-ui-value-tips-24h{align-items:center;border-radius:50%;color:var(--tp-text);display:flex;height:100%;justify-content:center;line-height:1;transition:color .3s ease;width:100%}.tp-ui-value-tips-24h.active,.tp-ui-value-tips.active{color:var(--tp-on-primary);transition:none}.tp-ui-clock-animation{animation:clockanimation .35s linear}.tp-ui-tips-animation{transition:transform .4s cubic-bezier(.4,0,.2,1) 0ms,height .4s cubic-bezier(.4,0,.2,1) 0ms}.tp-ui-tips-disabled{color:var(--tp-text-disabled);pointer-events:none}.tp-ui-input-wrapper{border-radius:var(--tp-radius-md);display:flex;overflow:visible;position:relative;width:96px}.tp-ui-input-wrapper.mobile input{height:var(--tp-size-input-mobile)}.tp-ui-input-wrapper.mobile{flex-direction:column}.tp-ui-input-ripple-wrapper{border-radius:var(--tp-radius-md);display:flex;height:80px;overflow:hidden;position:relative;width:100%}.tp-ui-input-ripple-wrapper.mobile{height:72px}.tp-ui-input-ripple-wrapper.expanded{height:80px}.tp-ui-input-ripple-wrapper.mobile{height:var(--tp-size-input-mobile)}.tp-ui-input-ripple-wrapper.mobile.expanded{height:var(--tp-size-input-height)}.tp-ui-wrapper-time,.tp-ui-wrapper-time.mobile{align-items:center;display:flex;height:100%;justify-content:center}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-wrapper-time.expanded{height:auto;margin-bottom:var(--tp-spacing-lg);margin-right:0}}.tp-ui-wrapper-time-24h{margin-right:0}.tp-ui-wrapper-time.mobile{height:auto;max-width:fit-content;position:relative;width:100%}.tp-ui-hour,.tp-ui-hour.mobile,.tp-ui-minutes,.tp-ui-minutes.mobile{align-items:center;background-color:var(--tp-input-bg);border:var(--tp-border-width-thick) solid transparent;border-radius:var(--tp-radius-md);color:var(--tp-text);cursor:pointer;display:flex;font-size:var(--tp-font-size-xl);height:var(--tp-size-input-height);justify-content:center;outline:none;padding:var(--tp-size-padding);text-align:center;transition:all .3s ease;width:var(--tp-size-input)}.tp-ui-hour.mobile,.tp-ui-hour.mobile.mobile,.tp-ui-minutes.mobile,.tp-ui-minutes.mobile.mobile{height:72px}.tp-ui-hour.expanded,.tp-ui-hour.mobile.expanded,.tp-ui-minutes.expanded,.tp-ui-minutes.mobile.expanded{height:80px}.tp-ui-hour.mobile:focus-visible,.tp-ui-hour:focus-visible,.tp-ui-minutes.mobile:focus-visible,.tp-ui-minutes:focus-visible{border:2px solid var(--tp-outline);outline:none}.tp-ui-hour.mobile:hover,.tp-ui-hour:hover,.tp-ui-minutes.mobile:hover,.tp-ui-minutes:hover{background-color:var(--tp-surface-hover);color:var(--tp-text)}.tp-ui-hour.active,.tp-ui-hour.mobile.active,.tp-ui-minutes.active,.tp-ui-minutes.mobile.active{background-color:var(--tp-primary-container);color:var(--tp-on-primary-container)}.tp-ui-hour.active:hover,.tp-ui-hour.mobile.active:hover,.tp-ui-minutes.active:hover,.tp-ui-minutes.mobile.active:hover{color:var(--tp-on-primary-container)}.tp-ui-hour.mobile::-webkit-inner-spin-button,.tp-ui-hour.mobile::-webkit-outer-spin-button,.tp-ui-hour::-webkit-inner-spin-button,.tp-ui-hour::-webkit-outer-spin-button,.tp-ui-minutes.mobile::-webkit-inner-spin-button,.tp-ui-minutes.mobile::-webkit-outer-spin-button,.tp-ui-minutes::-webkit-inner-spin-button,.tp-ui-minutes::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}.tp-ui-hour,.tp-ui-minutes{border:2px solid transparent;outline:none}.tp-ui-hour[contenteditable=true]:active,.tp-ui-hour[contenteditable=true]:focus,.tp-ui-minutes[contenteditable=true]:active,.tp-ui-minutes[contenteditable=true]:focus{border:2px solid var(--tp-outline);outline-color:var(--tp-outline);user-select:all}.tp-ui-hour.mobile,.tp-ui-minutes.mobile{border:2px solid transparent;outline:none}.tp-ui-hour.mobile[contenteditable=true]:active,.tp-ui-hour.mobile[contenteditable=true]:focus,.tp-ui-minutes.mobile[contenteditable=true]:active,.tp-ui-minutes.mobile[contenteditable=true]:focus{border:2px solid var(--tp-outline);outline-color:var(--tp-outline);user-select:all}.tp-ui-dots,.tp-ui-dots.mobile{align-items:center;background-color:transparent;border-radius:50%;display:flex;flex-direction:column;gap:12px;height:48px;justify-content:center;width:24px}.tp-ui-dots span,.tp-ui-dots.mobile span{background-color:var(--tp-text);border-radius:50%;display:block;height:var(--tp-size-dot);width:var(--tp-size-dot)}.tp-ui-dots.mobile{justify-content:normal}.tp-ui-hour-text,.tp-ui-minute-text{color:var(--tp-text-secondary);display:none;font-size:12.8px;margin-top:8px;pointer-events:none}.tp-ui-hour-text.mobile,.tp-ui-hour-text.show,.tp-ui-minute-text.mobile,.tp-ui-minute-text.show{display:block}.tp-ui-hour-text.mobile.expanded,.tp-ui-minute-text.mobile.expanded{display:none}.tp-ui-wrapper-type-time,.tp-ui-wrapper-type-time.mobile{align-self:stretch;color:var(--tp-text-type-time);display:flex;flex-direction:column;font-size:var(--tp-font-size-lg);font-weight:500;justify-content:center;margin-left:var(--tp-spacing-md)}.tp-ui-wrapper-type-time.mobile{justify-content:flex-start}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-wrapper-type-time.expanded:not(.mobile){flex-direction:row;margin-left:0;width:100%}}.tp-ui-wrapper-type-time.mobile{align-self:auto}.tp-ui-am,.tp-ui-am.mobile,.tp-ui-pm,.tp-ui-pm.mobile{align-items:center;border:var(--tp-border-width) solid var(--tp-border);color:var(--tp-am-pm-text-unselected);cursor:pointer;display:flex;height:100%;justify-content:center;transition:all .3s ease;width:100%}.tp-ui-am.mobile:hover,.tp-ui-am:hover,.tp-ui-pm.mobile:hover,.tp-ui-pm:hover{background-color:var(--tp-am-pm-active);color:var(--tp-am-pm-text-unselected)}.tp-ui-am.active,.tp-ui-am.mobile.active,.tp-ui-pm.active,.tp-ui-pm.mobile.active{background-color:var(--tp-am-pm-active);color:var(--tp-am-pm-text-selected);pointer-events:none}.tp-ui-am.active:hover,.tp-ui-am.mobile.active:hover,.tp-ui-pm.active:hover,.tp-ui-pm.mobile.active:hover{color:var(--tp-am-pm-text-selected)}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-am.expanded,.tp-ui-pm.expanded{height:var(--tp-size-am-pm-height-landscape);width:50%}.tp-ui-am.expanded{border-bottom:var(--tp-border-width) solid #000;border-right:unset}}.tp-ui-am,.tp-ui-am.mobile{border-top-left-radius:var(--tp-radius-sm);border-top-right-radius:var(--tp-radius-sm)}.tp-ui-am.mobile{border-bottom-left-radius:0}.tp-ui-am.mobile,.tp-ui-pm.mobile{max-height:var(--tp-size-am-pm-height)}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-am.expanded{border-bottom-left-radius:var(--tp-radius-sm);border-right-width:var(--tp-border-width-half);border-top-left-radius:var(--tp-radius-sm);border-top-right-radius:0}}.tp-ui-am,.tp-ui-am.mobile{border-bottom:unset}.tp-ui-pm,.tp-ui-pm.mobile{border-bottom-left-radius:var(--tp-radius-sm);border-bottom-right-radius:var(--tp-radius-sm);width:var(--tp-size-am-pm-width)}.tp-ui-pm.mobile{border-top-right-radius:0}@media screen and (min-width:320px) and (max-width:825px) and (orientation:landscape){.tp-ui-pm.expanded{border-bottom-left-radius:0;border-bottom-right-radius:var(--tp-radius-sm);border-bottom-width:var(--tp-border-width-pm);border-left-width:var(--tp-border-width-half);border-top-right-radius:var(--tp-radius-sm);height:var(--tp-size-am-pm-height-landscape);width:50%}}.tp-ui-cancel-btn{margin-right:var(--tp-spacing-xs)}.tp-ui-cancel-btn,.tp-ui-cancel-btn.mobile,.tp-ui-ok-btn,.tp-ui-ok.btn-mobile{background-color:transparent;border-radius:20px;color:var(--tp-primary);cursor:pointer;font-size:14px;font-weight:500;overflow:hidden;padding:var(--tp-size-padding) var(--tp-spacing-xl);position:relative;text-align:center;transition:background-color .2s ease,opacity .2s ease;user-select:none}.tp-ui-cancel-btn.mobile:after,.tp-ui-cancel-btn:after,.tp-ui-ok-btn:after,.tp-ui-ok.btn-mobile:after{background-color:currentColor;border-radius:inherit;bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .2s ease}.tp-ui-cancel-btn.mobile:hover:after,.tp-ui-cancel-btn:hover:after,.tp-ui-ok-btn:hover:after,.tp-ui-ok.btn-mobile:hover:after{opacity:.08}.tp-ui-cancel-btn.mobile:focus-visible,.tp-ui-cancel-btn:focus-visible,.tp-ui-ok-btn:focus-visible,.tp-ui-ok.btn-mobile:focus-visible{outline:none}.tp-ui-cancel-btn.mobile:focus-visible:after,.tp-ui-cancel-btn:focus-visible:after,.tp-ui-ok-btn:focus-visible:after,.tp-ui-ok.btn-mobile:focus-visible:after{opacity:.12}.tp-ui-cancel-btn.mobile:active:after,.tp-ui-cancel-btn:active:after,.tp-ui-ok-btn:active:after,.tp-ui-ok.btn-mobile:active:after{opacity:.16}.tp-ui-cancel-btn.mobile[aria-disabled=true],.tp-ui-cancel-btn.mobile[disabled],.tp-ui-cancel-btn[aria-disabled=true],.tp-ui-cancel-btn[disabled],.tp-ui-ok-btn[aria-disabled=true],.tp-ui-ok-btn[disabled],.tp-ui-ok.btn-mobile[aria-disabled=true],.tp-ui-ok.btn-mobile[disabled]{cursor:not-allowed;opacity:.38;pointer-events:none}.tp-ui-cancel-btn.mobile[aria-disabled=true]:after,.tp-ui-cancel-btn.mobile[disabled]:after,.tp-ui-cancel-btn[aria-disabled=true]:after,.tp-ui-cancel-btn[disabled]:after,.tp-ui-ok-btn[aria-disabled=true]:after,.tp-ui-ok-btn[disabled]:after,.tp-ui-ok.btn-mobile[aria-disabled=true]:after,.tp-ui-ok.btn-mobile[disabled]:after{opacity:0}.tp-ui-keyboard-icon,.tp-ui-keyboard-icon-mobile,.tp-ui-wrapper-btn,.tp-ui-wrapper-btn-mobile{align-items:center;display:flex;justify-content:center}.tp-ui-keyboard-icon,.tp-ui-keyboard-icon-mobile{-webkit-tap-highlight-color:transparent;all:unset;align-items:center;border-radius:inherit;cursor:pointer;display:inline-flex;justify-content:center;line-height:0;position:relative;touch-action:manipulation}.tp-ui-keyboard-icon-wrapper,.tp-ui-keyboard-icon-wrapper.mobile{cursor:pointer;display:flex;transition:all .3s ease;z-index:10}.tp-ui-keyboard-icon-wrapper.mobile:hover svg,.tp-ui-keyboard-icon-wrapper:hover svg{fill:var(--tp-primary)}.tp-ui-keyboard-icon svg,.tp-ui-keyboard-icon.mobile svg{fill:var(--tp-text-icon);cursor:pointer;pointer-events:none;transition:all .3s ease}@keyframes clockanimation{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tp-ui--inline{background-color:transparent!important;bottom:auto!important;opacity:1!important;pointer-events:auto!important;right:auto!important;z-index:auto!important}.tp-ui--inline,.tp-ui--inline .tp-ui-wrapper,.tp-ui--inline .tp-ui-wrapper.mobile{display:block!important;left:auto!important;position:static!important;top:auto!important;transform:none!important}.tp-ui--inline .tp-ui-wrapper,.tp-ui--inline .tp-ui-wrapper.mobile{border-radius:8px!important;box-shadow:0 2px 8px rgba(0,0,0,.15)!important;height:auto!important;margin:0 auto!important;max-width:328px!important;min-height:500px!important;width:100%!important}.tp-ui--inline .tp-ui-footer .tp-ui-wrapper-btn[style*="display: none"]~*{justify-content:center!important}.tp-ui--inline .tp-ui-wrapper-btn:not([style*="display: none"]){display:flex!important;gap:8px!important;justify-content:flex-end!important}.tp-ui-am:focus-visible,.tp-ui-cancel-btn:focus-visible,.tp-ui-hour-time-12:focus-visible,.tp-ui-hour-time-24:focus-visible,.tp-ui-keyboard-icon-wrapper:focus-visible,.tp-ui-minutes-time:focus-visible,.tp-ui-ok-btn:focus-visible,.tp-ui-pm:focus-visible{box-shadow:var(--tp-shadow-focus);outline:var(--tp-outline-width-thick) solid var(--tp-primary);outline-offset:var(--tp-outline-offset)}@media (prefers-contrast:high){.tp-ui-am:focus-visible,.tp-ui-cancel-btn:focus-visible,.tp-ui-hour-time-12:focus-visible,.tp-ui-hour-time-24:focus-visible,.tp-ui-minutes-time:focus-visible,.tp-ui-ok-btn:focus-visible,.tp-ui-pm:focus-visible{font-weight:700;outline-width:var(--tp-outline-width-contrast)}}@media (prefers-reduced-motion:reduce){.tp-ui-clock-animation{animation:none!important}.tp-ui-clock-hand,.tp-ui-modal,.tp-ui-tips-animation{transition:none!important}.tp-ui *{animation-duration:var(--tp-duration-reduced)!important;animation-iteration-count:1!important;transition-duration:var(--tp-duration-reduced)!important}}@media (prefers-contrast:high){.tp-ui-clock-face,.tp-ui-wrapper{border:var(--tp-border-width-thick) solid}}[data-md3-ripple]{position:relative}[data-md3-ripple]:before{background:var(--tp-primary);border-radius:50%;content:"";height:var(--ripple-size,0);left:var(--ripple-x,50%);opacity:0;pointer-events:none;position:absolute;top:var(--ripple-y,50%);transform:translate(-50%,-50%) scale(0);width:var(--ripple-size,0);z-index:1}[data-md3-ripple].is-rippling:before,[data-md3-ripple].ripple-hold:before{animation:ripple-expand .7s cubic-bezier(.4,0,.2,1) forwards}[data-md3-ripple]:not(.ripple-hold).is-rippling:before{animation:ripple-expand .7s cubic-bezier(.4,0,.2,1) forwards,ripple-fade .5s cubic-bezier(.4,0,.2,1) .7s forwards}.tp-ui-am,.tp-ui-input-wrapper,.tp-ui-pm{overflow:hidden}@keyframes ripple-expand{0%{opacity:.4;transform:translate(-50%,-50%) scale(0)}to{opacity:.2;transform:translate(-50%,-50%) scale(2.5)}}@keyframes ripple-fade{0%{opacity:.2}to{opacity:0}}.tp-ui-timezone{border-top:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:4px;margin:0;padding:8px 24px}.tp-ui-timezone.mobile{padding:6px 16px}.tp-ui-timezone-label{color:var(--tp-text-secondary);font-size:11px;font-weight:500;letter-spacing:.4px;margin:0;padding:0 0 2px;text-transform:uppercase}.tp-ui-timezone-dropdown{background-color:var(--tp-input-bg);border:none;border-bottom:1px solid var(--tp-outline);border-radius:var(--tp-radius-sm) var(--tp-radius-sm) 0 0;cursor:pointer;height:40px;position:relative;transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);user-select:none;width:100%}.tp-ui-timezone-dropdown:hover{background-color:var(--tp-surface-hover);border-bottom-color:var(--tp-text)}.tp-ui-timezone-dropdown:focus{background-color:var(--tp-input-bg);border-bottom:2px solid var(--tp-primary);outline:none}.tp-ui-timezone-dropdown:focus .tp-ui-timezone-selected{padding-bottom:5px}.tp-ui-timezone-dropdown[aria-expanded=true]{border-bottom:2px solid var(--tp-primary);border-radius:var(--tp-radius-sm) var(--tp-radius-sm) 0 0;z-index:1000}.tp-ui-timezone-dropdown[aria-expanded=true] .tp-ui-timezone-selected{padding-bottom:5px}.tp-ui-timezone-dropdown[aria-expanded=true] .tp-ui-timezone-arrow{transform:rotate(180deg)}.tp-ui-timezone-dropdown[aria-expanded=true] .tp-ui-timezone-menu{opacity:1;transform:translateY(0) scaleY(1);visibility:visible}.mobile .tp-ui-timezone-dropdown{height:36px}.tp-ui-timezone-selected{align-items:center;color:var(--tp-text);display:flex;font-size:14px;font-weight:400;height:100%;line-height:1.4;overflow:hidden;padding:10px 32px 6px 10px;text-overflow:ellipsis;white-space:nowrap}.tp-ui-timezone-selected[data-placeholder]{color:var(--tp-text-secondary)}.mobile .tp-ui-timezone-selected{font-size:13px;padding:8px 28px 4px 8px}.tp-ui-timezone-arrow{color:var(--tp-text-secondary);height:18px;pointer-events:none;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:transform .2s cubic-bezier(.4,0,.2,1);width:18px}.mobile .tp-ui-timezone-arrow{height:16px;right:6px;width:16px}.tp-ui-timezone-menu{background-color:var(--tp-dropdown-option-bg);border-radius:0 0 var(--tp-radius-md) var(--tp-radius-md);box-shadow:var(--tp-shadow);left:0;margin-top:-1px;max-height:280px;opacity:0;overflow-y:auto;position:absolute;right:0;top:100%;transform:translateY(-8px) scaleY(.9);transform-origin:top center;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),visibility .2s cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:999}.tp-ui-timezone-menu::-webkit-scrollbar{width:6px}.tp-ui-timezone-menu::-webkit-scrollbar-track{background:transparent}.tp-ui-timezone-menu::-webkit-scrollbar-thumb{background-color:var(--tp-text-secondary);border-radius:3px;opacity:.3}.mobile .tp-ui-timezone-menu{max-height:220px}.tp-ui-timezone-option{align-items:center;color:var(--tp-dropdown-option-text);cursor:pointer;display:flex;font-size:14px;overflow:hidden;padding:12px 16px;position:relative;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.tp-ui-timezone-option:hover,.tp-ui-timezone-option[data-focused=true]{background-color:var(--tp-surface-hover)}.tp-ui-timezone-option[data-selected=true]{background-color:var(--tp-primary-container);color:var(--tp-on-primary-container);font-weight:500}.tp-ui-timezone-option[data-selected=true]:after{content:"✓";font-size:16px;font-weight:600;position:absolute;right:16px}.tp-ui-timezone-option:active{background-color:var(--tp-primary-container)}.mobile .tp-ui-timezone-option{font-size:13px;padding:10px 14px}.tp-ui-range-header{align-items:stretch;display:flex;gap:var(--tp-spacing-md);justify-content:center;margin-bottom:var(--tp-spacing-lg);padding:var(--tp-spacing-lg) var(--tp-spacing-xl) 0}.tp-ui-range-tab{align-items:center;background:transparent;border:none;border-radius:var(--tp-radius-md);cursor:pointer;display:flex;flex:1;flex-direction:column;font-family:inherit;gap:2px;justify-content:center;max-width:120px;padding:var(--tp-spacing-sm) var(--tp-spacing-md);position:relative;transition:background-color var(--tp-duration-fast) var(--tp-easing-standard)}.tp-ui-range-tab:after{background:var(--tp-primary);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width var(--tp-duration-base) var(--tp-easing-standard);width:0}.tp-ui-range-tab:focus-visible{outline:var(--tp-outline-width) solid var(--tp-primary);outline-offset:var(--tp-outline-offset)}.tp-ui-range-tab:not(.active):hover{background:rgba(var(--tp-on-surface-rgb),var(--tp-opacity-hover))}.tp-ui-range-tab.active:after{width:100%}.tp-ui-range-tab.active .tp-ui-range-tab-value{color:var(--tp-primary)}.tp-ui-range-tab.disabled{cursor:not-allowed;opacity:var(--tp-opacity-disabled);pointer-events:none}.tp-ui-range-tab-label{color:var(--tp-text-secondary);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.tp-ui-range-tab-value{color:var(--tp-on-surface);font-size:16px;font-weight:400;min-height:28px;transition:color var(--tp-duration-fast) var(--tp-easing-standard)}.tp-ui-range-mode .tp-ui-select-time{display:none}.tp-ui-range-mode .tp-ui-ok-btn.disabled{opacity:var(--tp-opacity-disabled);pointer-events:none}[data-theme=crane]{--tp-bg:#5d1049;--tp-surface:#71135c;--tp-surface-hover:#71135c;--tp-input-bg:#71135c;--tp-text:#fff;--tp-text-secondary:#e5e5e5;--tp-text-disabled:hsla(0,0%,100%,.6);--tp-text-type-time:#fff;--tp-text-icon:#fff;--tp-on-surface:#fff;--tp-on-surface-rgb:255,255,255;--tp-am-pm-active:#f7363e;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#fff;--tp-primary:#f7363e;--tp-on-primary:#fff;--tp-primary-container:#f7363e;--tp-on-primary-container:#fff;--tp-tertiary-container:#f7363e;--tp-on-tertiary-container:#fff;--tp-border:transparent;--tp-outline:#ff4c52;--tp-radius:1.25rem;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000}[data-theme=crane-straight]{--tp-bg:#5d1049;--tp-surface:#71135c;--tp-surface-hover:#71135c;--tp-input-bg:#71135c;--tp-text:#fff;--tp-text-secondary:#e5e5e5;--tp-text-disabled:hsla(0,0%,100%,.6);--tp-text-type-time:#fff;--tp-text-icon:#fff;--tp-on-surface:#fff;--tp-on-surface-rgb:255,255,255;--tp-am-pm-active:#f7363e;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#fff;--tp-primary:#f7363e;--tp-on-primary:#fff;--tp-primary-container:#f7363e;--tp-on-primary-container:#fff;--tp-tertiary-container:#f7363e;--tp-on-tertiary-container:#fff;--tp-border:transparent;--tp-outline:#ff4c52;--tp-radius:0;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000}[data-theme=m2]{--tp-bg:#fff;--tp-surface:#e0e0e0;--tp-surface-hover:#ece0fd;--tp-input-bg:#e4e4e4;--tp-text:#000;--tp-text-secondary:#a9a9a9;--tp-text-disabled:hsla(0,1%,61%,.6);--tp-text-type-time:#787878;--tp-text-icon:#4e545a;--tp-am-pm-active:#ece0fd;--tp-am-pm-text-selected:#6200ee;--tp-am-pm-text-unselected:#787878;--tp-primary:#6200ee;--tp-on-primary:#fff;--tp-primary-container:#ece0fd;--tp-on-primary-container:#6200ee;--tp-tertiary-container:#ece0fd;--tp-on-tertiary-container:#6200ee;--tp-border:#d6d6d6;--tp-outline:#8b5cf6;--tp-hover-bg:#d6d6d6;--tp-shadow:0px 3px 5px -1px rgba(0,0,0,.2),0px 5px 8px 0px rgba(0,0,0,.14),0px 1px 14px 0px rgba(0,0,0,.12);--tp-radius:4px;--tp-border-radius:4px;--tp-radius-md:2px;--tp-radius-sm:4px;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000}[data-theme=m3-green]{--tp-bg:#e5eadc;--tp-surface:#dfe4d6;--tp-surface-hover:#dfe4d6;--tp-input-bg:#dfe4d6;--tp-text:#1a1c18;--tp-text-secondary:#6b7165;--tp-text-disabled:hsla(0,1%,61%,.6);--tp-text-type-time:#6b7165;--tp-text-icon:#6b7165;--tp-am-pm-active:#bbebeb;--tp-am-pm-text-selected:#002021;--tp-am-pm-text-unselected:#6b7165;--tp-primary:#386a20;--tp-on-primary:#042100;--tp-primary-container:#b8f397;--tp-on-primary-container:#042100;--tp-tertiary-container:#bbebeb;--tp-on-tertiary-container:#002021;--tp-border:#74796e;--tp-outline:#4ade80;--tp-shadow:unset;--tp-radius:35px;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#1a1c18}[data-theme=dark]{--tp-bg:#1c1b1f;--tp-surface:#2c2b30;--tp-surface-hover:#3b3940;--tp-input-bg:#2c2b30;--tp-text:#e5e5e5;--tp-text-secondary:#a1a1a1;--tp-text-disabled:hsla(0,0%,63%,.6);--tp-text-type-time:#a1a1a1;--tp-text-icon:#a1a1a1;--tp-on-surface:#e5e5e5;--tp-on-surface-rgb:229,229,229;--tp-am-pm-active:#bb86fc;--tp-am-pm-text-selected:#000;--tp-am-pm-text-unselected:#a1a1a1;--tp-primary:#bb86fc;--tp-on-primary:#000;--tp-primary-container:#bb86fc;--tp-on-primary-container:#000;--tp-tertiary-container:#bb86fc;--tp-on-tertiary-container:#000;--tp-border:hsla(0,0%,100%,.12);--tp-outline:#d8b4fe;--tp-hover-bg:#3b3940;--tp-shadow:0px 8px 16px rgba(0,0,0,.6);--tp-dropdown-option-bg:#2c2b30;--tp-dropdown-option-text:#e5e5e5}[data-theme=glassmorphic]{--tp-bg:hsla(0,0%,100%,.12);--tp-surface:hsla(0,0%,100%,.18);--tp-surface-hover:hsla(0,0%,100%,.22);--tp-input-bg:hsla(0,0%,100%,.16);--tp-text:hsla(0,0%,100%,.95);--tp-text-secondary:hsla(0,0%,100%,.75);--tp-text-disabled:hsla(0,0%,100%,.45);--tp-text-type-time:#fff;--tp-text-icon:#fff;--tp-am-pm-active:hsla(0,0%,100%,.75);--tp-am-pm-text-selected:#000;--tp-am-pm-text-unselected:hsla(0,0%,100%,.75);--tp-primary:hsla(0,0%,100%,.75);--tp-on-primary:#000;--tp-primary-container:hsla(0,0%,100%,.6);--tp-on-primary-container:#000;--tp-tertiary-container:hsla(0,0%,100%,.55);--tp-on-tertiary-container:#000;--tp-border:hsla(0,0%,100%,.35);--tp-outline:hsla(0,0%,100%,.9);--tp-shadow:0 10px 32px hsla(0,0%,6%,.25),0 4px 8px rgba(0,0,0,.12);--tp-backdrop-filter:blur(12px) saturate(180%);--tp-radius:1.25rem;--tp-dropdown-option-bg:hsla(0,0%,100%,.85);--tp-dropdown-option-text:#000}[data-theme=pastel]{--tp-bg:#fdf6f0;--tp-surface:#fae3d9;--tp-surface-hover:#fef0e8;--tp-input-bg:#fae3d9;--tp-text:#3b3b3b;--tp-text-secondary:#a58f86;--tp-text-disabled:rgba(59,59,59,.6);--tp-text-type-time:#a58f86;--tp-text-icon:#a58f86;--tp-am-pm-active:#ffb6b9;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#a58f86;--tp-primary:#ffb6b9;--tp-on-primary:#fff;--tp-primary-container:#ffb6b9;--tp-on-primary-container:#fff;--tp-tertiary-container:#ffb6b9;--tp-on-tertiary-container:#fff;--tp-border:#efdcd2;--tp-outline:#ff8a8f;--tp-shadow:0 4px 16px rgba(0,0,0,.05);--tp-radius:1.25rem;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#3b3b3b}[data-theme=ai]{--tp-bg:#f3f4f6;--tp-surface:#e5e7eb;--tp-surface-hover:#f9fafb;--tp-input-bg:#e5e7eb;--tp-text:#111827;--tp-text-secondary:#6b7280;--tp-text-disabled:hsla(220,9%,46%,.6);--tp-text-type-time:#374151;--tp-text-icon:#6b7280;--tp-am-pm-active:#3b82f6;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#6b7280;--tp-primary:#3b82f6;--tp-on-primary:#fff;--tp-primary-container:#3b82f6;--tp-on-primary-container:#fff;--tp-tertiary-container:#3b82f6;--tp-on-tertiary-container:#fff;--tp-border:#d1d5db;--tp-outline:#3b82f6;--tp-shadow:0 4px 12px rgba(0,0,0,.04);--tp-radius:0.75rem;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#111827}[data-theme=cyberpunk]{--tp-bg:#0f0c29;--tp-surface:#1a1a2e;--tp-surface-hover:#1a1a2e;--tp-input-bg:#1a1a2e;--tp-text:#f8f8ff;--tp-text-secondary:#00f0ff;--tp-text-disabled:rgba(0,240,255,.4);--tp-text-type-time:#00f0ff;--tp-text-icon:#00f0ff;--tp-on-surface:#00f0ff;--tp-on-surface-rgb:0,240,255;--tp-am-pm-active:#00f0ff;--tp-am-pm-text-selected:#0f0c29;--tp-am-pm-text-unselected:#00f0ff;--tp-primary:#00f0ff;--tp-on-primary:#0f0c29;--tp-primary-container:#00f0ff;--tp-on-primary-container:#0f0c29;--tp-tertiary-container:#00f0ff;--tp-on-tertiary-container:#0f0c29;--tp-border:rgba(0,240,255,.3);--tp-outline:#fff;--tp-shadow:0 0 12px #00f0ff;--tp-radius:1rem;--tp-dropdown-option-bg:#1a1a2e;--tp-dropdown-option-text:#f8f8ff}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-theme=crane-straight]{--tp-bg:#5d1049;--tp-surface:#71135c;--tp-surface-hover:#71135c;--tp-input-bg:#71135c;--tp-text:#fff;--tp-text-secondary:#e5e5e5;--tp-text-disabled:hsla(0,0%,100%,.6);--tp-text-type-time:#fff;--tp-text-icon:#fff;--tp-am-pm-active:#f7363e;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#fff;--tp-primary:#f7363e;--tp-on-primary:#fff;--tp-primary-container:#f7363e;--tp-on-primary-container:#fff;--tp-tertiary-container:#f7363e;--tp-on-tertiary-container:#fff;--tp-border:transparent;--tp-outline:#ff4c52;--tp-radius:0;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000}
|
|
1
|
+
[data-theme=crane-straight]{--tp-bg:#5d1049;--tp-surface:#71135c;--tp-surface-hover:#71135c;--tp-input-bg:#71135c;--tp-text:#fff;--tp-text-secondary:#e5e5e5;--tp-text-disabled:hsla(0,0%,100%,.6);--tp-text-type-time:#fff;--tp-text-icon:#fff;--tp-on-surface:#fff;--tp-on-surface-rgb:255,255,255;--tp-am-pm-active:#f7363e;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#fff;--tp-primary:#f7363e;--tp-on-primary:#fff;--tp-primary-container:#f7363e;--tp-on-primary-container:#fff;--tp-tertiary-container:#f7363e;--tp-on-tertiary-container:#fff;--tp-border:transparent;--tp-outline:#ff4c52;--tp-radius:0;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-theme=crane]{--tp-bg:#5d1049;--tp-surface:#71135c;--tp-surface-hover:#71135c;--tp-input-bg:#71135c;--tp-text:#fff;--tp-text-secondary:#e5e5e5;--tp-text-disabled:hsla(0,0%,100%,.6);--tp-text-type-time:#fff;--tp-text-icon:#fff;--tp-am-pm-active:#f7363e;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#fff;--tp-primary:#f7363e;--tp-on-primary:#fff;--tp-primary-container:#f7363e;--tp-on-primary-container:#fff;--tp-tertiary-container:#f7363e;--tp-on-tertiary-container:#fff;--tp-border:transparent;--tp-outline:#ff4c52;--tp-radius:1.25rem;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000}
|
|
1
|
+
[data-theme=crane]{--tp-bg:#5d1049;--tp-surface:#71135c;--tp-surface-hover:#71135c;--tp-input-bg:#71135c;--tp-text:#fff;--tp-text-secondary:#e5e5e5;--tp-text-disabled:hsla(0,0%,100%,.6);--tp-text-type-time:#fff;--tp-text-icon:#fff;--tp-on-surface:#fff;--tp-on-surface-rgb:255,255,255;--tp-am-pm-active:#f7363e;--tp-am-pm-text-selected:#fff;--tp-am-pm-text-unselected:#fff;--tp-primary:#f7363e;--tp-on-primary:#fff;--tp-primary-container:#f7363e;--tp-on-primary-container:#fff;--tp-tertiary-container:#f7363e;--tp-on-tertiary-container:#fff;--tp-border:transparent;--tp-outline:#ff4c52;--tp-radius:1.25rem;--tp-dropdown-option-bg:#fff;--tp-dropdown-option-text:#000}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-theme=cyberpunk]{--tp-bg:#0f0c29;--tp-surface:#1a1a2e;--tp-surface-hover:#1a1a2e;--tp-input-bg:#1a1a2e;--tp-text:#f8f8ff;--tp-text-secondary:#00f0ff;--tp-text-disabled:rgba(0,240,255,.4);--tp-text-type-time:#00f0ff;--tp-text-icon:#00f0ff;--tp-am-pm-active:#00f0ff;--tp-am-pm-text-selected:#0f0c29;--tp-am-pm-text-unselected:#00f0ff;--tp-primary:#00f0ff;--tp-on-primary:#0f0c29;--tp-primary-container:#00f0ff;--tp-on-primary-container:#0f0c29;--tp-tertiary-container:#00f0ff;--tp-on-tertiary-container:#0f0c29;--tp-border:rgba(0,240,255,.3);--tp-outline:#fff;--tp-shadow:0 0 12px #00f0ff;--tp-radius:1rem;--tp-dropdown-option-bg:#1a1a2e;--tp-dropdown-option-text:#f8f8ff}
|
|
1
|
+
[data-theme=cyberpunk]{--tp-bg:#0f0c29;--tp-surface:#1a1a2e;--tp-surface-hover:#1a1a2e;--tp-input-bg:#1a1a2e;--tp-text:#f8f8ff;--tp-text-secondary:#00f0ff;--tp-text-disabled:rgba(0,240,255,.4);--tp-text-type-time:#00f0ff;--tp-text-icon:#00f0ff;--tp-on-surface:#00f0ff;--tp-on-surface-rgb:0,240,255;--tp-am-pm-active:#00f0ff;--tp-am-pm-text-selected:#0f0c29;--tp-am-pm-text-unselected:#00f0ff;--tp-primary:#00f0ff;--tp-on-primary:#0f0c29;--tp-primary-container:#00f0ff;--tp-on-primary-container:#0f0c29;--tp-tertiary-container:#00f0ff;--tp-on-tertiary-container:#0f0c29;--tp-border:rgba(0,240,255,.3);--tp-outline:#fff;--tp-shadow:0 0 12px #00f0ff;--tp-radius:1rem;--tp-dropdown-option-bg:#1a1a2e;--tp-dropdown-option-text:#f8f8ff}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-theme=dark]{--tp-bg:#1c1b1f;--tp-surface:#2c2b30;--tp-surface-hover:#3b3940;--tp-input-bg:#2c2b30;--tp-text:#e5e5e5;--tp-text-secondary:#a1a1a1;--tp-text-disabled:hsla(0,0%,63%,.6);--tp-text-type-time:#a1a1a1;--tp-text-icon:#a1a1a1;--tp-am-pm-active:#bb86fc;--tp-am-pm-text-selected:#000;--tp-am-pm-text-unselected:#a1a1a1;--tp-primary:#bb86fc;--tp-on-primary:#000;--tp-primary-container:#bb86fc;--tp-on-primary-container:#000;--tp-tertiary-container:#bb86fc;--tp-on-tertiary-container:#000;--tp-border:hsla(0,0%,100%,.12);--tp-outline:#d8b4fe;--tp-hover-bg:#3b3940;--tp-shadow:0px 8px 16px rgba(0,0,0,.6);--tp-dropdown-option-bg:#2c2b30;--tp-dropdown-option-text:#e5e5e5}
|
|
1
|
+
[data-theme=dark]{--tp-bg:#1c1b1f;--tp-surface:#2c2b30;--tp-surface-hover:#3b3940;--tp-input-bg:#2c2b30;--tp-text:#e5e5e5;--tp-text-secondary:#a1a1a1;--tp-text-disabled:hsla(0,0%,63%,.6);--tp-text-type-time:#a1a1a1;--tp-text-icon:#a1a1a1;--tp-on-surface:#e5e5e5;--tp-on-surface-rgb:229,229,229;--tp-am-pm-active:#bb86fc;--tp-am-pm-text-selected:#000;--tp-am-pm-text-unselected:#a1a1a1;--tp-primary:#bb86fc;--tp-on-primary:#000;--tp-primary-container:#bb86fc;--tp-on-primary-container:#000;--tp-tertiary-container:#bb86fc;--tp-on-tertiary-container:#000;--tp-border:hsla(0,0%,100%,.12);--tp-outline:#d8b4fe;--tp-hover-bg:#3b3940;--tp-shadow:0px 8px 16px rgba(0,0,0,.6);--tp-dropdown-option-bg:#2c2b30;--tp-dropdown-option-text:#e5e5e5}
|
package/dist/index.cjs
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
<svg class="tp-ui-timezone-arrow" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
|
6
6
|
<div class="tp-ui-timezone-menu" role="listbox" aria-labelledby="tp-tz-label-${e}"></div>
|
|
7
7
|
</div>
|
|
8
|
-
</div>`:"",Ge=y?`<div class="tp-ui-range-header" role="tablist" aria-label="Range selection"><button type="button" class="tp-ui-range-tab tp-ui-range-from active" role="tab" tabindex="0" aria-selected="true"><span class="tp-ui-range-tab-label">${M}</span><span class="tp-ui-range-tab-value tp-ui-range-from-time">--:--</span></button><button type="button" class="tp-ui-range-tab tp-ui-range-to" role="tab" tabindex="-1" aria-selected="false"><span class="tp-ui-range-tab-label">${v}</span><span class="tp-ui-range-tab-value tp-ui-range-to-time">--:--</span></button></div>`:"";return`<div class="tp-ui-modal normalize ${m}${y?" tp-ui-range-mode":""}" data-theme="${r}" role="dialog" aria-modal="true" aria-labelledby="tp-ui-label-${e}" data-owner-id="${e}" style='transition:${n?"opacity 0.15s linear":"none"}'><div class="tp-ui-wrapper ${m}" tabindex="0">${Ge}<div class="tp-ui-select-time ${m}" id="tp-ui-label-${e}">${m?u:l}</div><div class="tp-ui-header ${m}"><div class="tp-ui-wrapper-time ${m} ${k==="24h"?"tp-ui-wrapper-time-24h":""}" role="group" aria-label="${m?u:l}"><div class="tp-ui-input-wrapper ${m}"><div class="tp-ui-input-ripple-wrapper ${m}" data-md3-ripple><input name="hour" ${!o&&!m?"readonly":""} class="tp-ui-hour ${m}" tabindex="0" type="number" min="0" max="${k==="12h"?"12":"23"}" aria-label="${m?T:"Hour"}" role="spinbutton" aria-valuenow="12"></div><div class="tp-ui-hour-text ${m}">${T}</div></div><div class="tp-ui-dots ${m}" aria-hidden="true"><span></span><span></span></div><div class="tp-ui-input-wrapper ${m}"><div class="tp-ui-input-ripple-wrapper ${m}" data-md3-ripple><input name="minutes" ${!o&&!m?"readonly":""} class="tp-ui-minutes ${m}" tabindex="0" type="number" min="0" max="59" aria-label="${m?H:"Minute"}" role="spinbutton" aria-valuenow="0"></div><div class="tp-ui-minute-text ${m}">${H}</div></div></div>${k!=="24h"?`<div class="tp-ui-wrapper-type-time ${m}" role="group" aria-label="Period"><div class="tp-ui-type-mode tp-ui-am ${m?"mobile":"tp-ui-ripple"}" data-md3-ripple tabindex="0" role="button" aria-label="${d}" aria-pressed="false" data-type="AM">${d}</div><div class="tp-ui-type-mode tp-ui-pm ${m?"mobile":"tp-ui-ripple"}" data-md3-ripple tabindex="0" role="button" aria-label="${p}" aria-pressed="false" data-type="PM">${p}</div></div>`:""}</div>${P}<div class="tp-ui-mobile-clock-wrapper ${m}"><div class="tp-ui-body ${m}"><div class="tp-ui-clock-face ${m}" role="group" aria-label="Clock"><div class="tp-ui-dot ${m}" aria-hidden="true"></div><div class="tp-ui-clock-hand ${m}" aria-hidden="true"><div class="tp-ui-circle-hand ${m}"></div></div><div class="tp-ui-tips-wrapper ${m}" role="listbox" aria-label="Time"></div>${k==="24h"?`<div class="tp-ui-tips-wrapper-24h ${m}" role="listbox" aria-label="24h"></div>`:""}</div></div></div><div class="tp-ui-footer ${m}" ${m?'data-view="mobile"':""}>${i?`<div class="tp-ui-keyboard-icon-wrapper ${m}" tabindex="0" role="button" aria-pressed="false" aria-label="Toggle" data-view="desktop">${m?A:S}</div>`:""}<div class="tp-ui-wrapper-btn ${m}"><div class="tp-ui-cancel-btn ${m}" data-md3-ripple tabindex="0" role="button" aria-pressed="false" aria-label="${g}">${g}</div><div class="tp-ui-ok-btn ${m}" data-md3-ripple tabindex="0" role="button" aria-pressed="false" aria-label="${b}">${b}</div></div></div></div><div class="timepicker-announcer sr-only" role="status" aria-live="polite" aria-atomic="true"></div></div>`};var U=class{core;emitter;timeouts=[];originalOverflow;originalPaddingRight;constructor(e,t){this.core=e,this.emitter=t}runWithTimeout(e,t=C.DEFAULT_DELAY){let i=setTimeout(e,t);this.timeouts.push(i)}clearAllTimeouts(){this.timeouts.forEach(clearTimeout),this.timeouts=[]}clearExistingModal(){if(f()===!1)return;let e=document.querySelector(".tp-ui-modal");e&&e.remove()}setModalTemplate(){if(f()===!1)return;this.clearExistingModal();let e=Fe(this.core.options,this.core.instanceId);if(this.core.options.ui.inline?.enabled){let i=document.getElementById(this.core.options.ui.inline.containerId);if(!i)return;i.innerHTML="",i.insertAdjacentHTML("beforeend",e);let n=i.querySelector(".tp-ui-modal");if(n){n.classList.add("tp-ui--inline");let{showButtons:r}=this.core.options.ui.inline;(r===!1||r===void 0)&&n.querySelectorAll(".tp-ui-wrapper-btn, .tp-ui-wrapper-btn.mobile").forEach(s=>s.style.display="none")}return}let{appendModalSelector:t}=this.core.options.ui;t?document.querySelector(t)?.insertAdjacentHTML("beforeend",e):document.body.insertAdjacentHTML("beforeend",e)}setScrollbarOrNot(){f()!==!1&&(this.core.options.ui.inline?.enabled||(this.core.options.ui.enableScrollbar?this.runWithTimeout(()=>{L()||this.runWithTimeout(()=>{typeof document<"u"&&(document.body.style.overflowY=this.originalOverflow||"",document.body.style.paddingRight=this.originalPaddingRight||"")},C.SCROLLBAR_RESTORE)},400):(this.originalOverflow=document.body.style.overflowY,this.originalPaddingRight=document.body.style.paddingRight,document.body.style.paddingRight=`${Re()}px`,document.body.style.overflowY="hidden")))}removeBackdrop(){if(this.core.options.ui.inline?.enabled||this.core.options.ui.backdrop)return;let e=this.core.getModalElement(),t=this.core.getOpenElement();e?.classList.add("removed"),t.forEach(i=>i?.classList.add("disabled"))}setNormalizeClass(){let e=this.core.getModalElement();if(!e)return;e.classList.add("tp-ui-normalize"),e.querySelectorAll(":scope > div").forEach(i=>i.classList.add("tp-ui-normalize"))}setShowClassToBackdrop(){if(this.core.options.ui.inline?.enabled){this.core.getModalElement()?.classList.add("show"),this.setInitialFocus();return}this.core.options.ui.backdrop&&this.runWithTimeout(()=>{this.core.getModalElement()?.classList.add("show"),this.setInitialFocus()},C.MODAL_ANIMATION)}setInitialFocus(){if(!this.core.options.behavior.focusTrap)return;let e=this.core.getWrapper();e&&typeof requestAnimationFrame<"u"&&requestAnimationFrame(()=>{e.focus()})}setFlexEndToFooterIfNoKeyboardIcon(){let e=this.core.getFooter();!this.core.options.ui.enableSwitchIcon&&e&&(e.style.justifyContent="flex-end")}destroy(){this.clearAllTimeouts(),!L()&&!this.core.options.ui.inline?.enabled&&(document.body.style.overflowY=this.originalOverflow||"",document.body.style.paddingRight=this.originalPaddingRight||""),this.clearExistingModal()}};var I=(a,e,t,i)=>{let n={hour:"12",minutes:"00",type:e==="24h"?void 0:"PM"};if(!a)return n;let r=a.value.trim();if(!t&&!r)return n;if(typeof t=="boolean"&&t){let H=new Date,[T,k]=H.toLocaleTimeString().split(":"),h=T.padStart(2,"0");if(/[a-z]/i.test(k)&&e==="12h"){let[E,y]=k.split(" ");return{hour:h,minutes:E,type:y}}return{hour:h,minutes:k,type:void 0}}if(typeof t=="object"){let{time:H,locales:T,preventClockType:k}=t,h=H??new Date;if(k&&i){let[v,m]=new Date(h).toLocaleTimeString().split(":");if(/[a-z]/i.test(m)){let[S,A]=m.split(" ");return{hour:v,minutes:S,type:A}}return{hour:v.padStart(2,"0"),minutes:m,type:void 0}}let E=new Date(h).toLocaleTimeString(T||"en-US",{hour:"2-digit",minute:"2-digit",hour12:e==="12h"}),[y,M]=E.split(":");if(e==="12h"&&/[a-z]/i.test(M)){let v=M.trim().split(" "),m=v[0],S=v[1]||"AM";return{hour:y,minutes:m,type:S}}return{hour:y,minutes:M.replace(/\D/g,""),type:void 0}}let[s,o]=r.split(" "),[c="",l=""]=s.split(":"),u=c.replace(/\D/g,""),d=l.replace(/\D/g,""),p={hour:u.padStart(2,"0"),minutes:d.padStart(2,"0"),type:e==="12h"?o:void 0};if(u.length>2||d.length>2)return{...p,error:"Invalid input: too many digits.",currentHour:c,currentMin:l};if(/[a-z]/i.test(s))return{...p,error:"Input contains invalid letters."};if(r.includes(" ")&&(!o||r.length>8||o!=="AM"&&o!=="PM"))return{...p,error:"Invalid AM/PM format or length.",currentLength:r.length,currentType:o};let g=Number(u),b=Number(d);if(e==="12h"){if(g<1||g>12||b<0||b>59||o!=="AM"&&o!=="PM")return{...p,error:"Invalid 12h time.",currentHour:g,currentMin:b,currentType:o}}else if(g<0||g>23||b<0||b>59)return{...p,error:"Invalid 24h time.",currentHour:g,currentMin:b};return p},we=(a,e,t)=>{let i=Number(a);if(Number.isNaN(i))return!1;switch(e){case"hour":return t==="24h"?i>=0&&i<=23:i>0&&i<=12;case"minutes":return i>=0&&i<=59;default:return}};var De="tp-ui",rt="mousedown mouseup mousemove mouseleave mouseover",st="touchstart touchmove touchend",qe=`${rt} ${st}`,N="active";var le=class{core;emitter;constructor(e,t){this.core=e,this.emitter=t}isCurrentTimeEnabled(e){let t=this.core.options.clock.currentTime;return typeof t=="boolean"?t:!!t?.[e]}preventClockTypeByCurrentTime(){if(!this.isCurrentTimeEnabled("preventClockType"))return;let e=this.core.getInput();if(!e)return;let{currentTime:t,clockType:i}={currentTime:this.core.options.clock.currentTime,clockType:this.core.options.clock.type},{type:n}=I(e,i,t,!0);this.core.updateOptions({clock:{type:n?"12h":"24h"}})}updateInputValueWithCurrentTimeOnStart(){if(!this.isCurrentTimeEnabled("updateInput"))return;let e=this.core.getInput();if(!e)return;let{hour:t,minutes:i,type:n}=I(e,this.core.options.clock.type,this.core.options.clock.currentTime);e.value=n?`${t}:${i} ${n}`:`${t}:${i}`}getInputValueOnOpenAndSet(){let e=this.core.getInput();if(!e)return;let t=I(e,this.core.options.clock.type,this.core.options.clock.currentTime),i=this.core.getHour(),n=this.core.getMinutes(),r=this.core.getActiveTypeMode(),s=this.core.getAM();if(t===void 0){i&&(i.value="12"),n&&(n.value="00");let g={hour:i?.value||"12",minutes:n?.value||"00",type:r?.dataset.type,degreesHours:this.core.degreesHours,degreesMinutes:this.core.degreesMinutes};this.emitter.emit("open",g);let b=this.core.options.range?.enabled===!0;this.core.options.clock.type!=="24h"&&s&&!b&&s.classList.add(N);return}let[o,c,l]=e.value.split(":").join(" ").split(" ");e.value.length===0&&(o=t.hour,c=t.minutes,l=t.type),i&&(i.value=o.padStart(2,"0")),n&&(n.value=c.padStart(2,"0"));let d=this.core.getModalElement()?.querySelector(`[data-type='${l}']`);this.core.options.clock.type!=="24h"&&d&&d.classList.add(N);let p={...t,type:r?.dataset.type,degreesHours:this.core.degreesHours,degreesMinutes:this.core.degreesMinutes};this.emitter.emit("open",p)}getInputValue(e,t,i){return I(e,t,i)}destroy(){}};var ce=class{core;emitter;isAnimating=!1;constructor(e,t){this.core=e,this.emitter=t,this.setupEventListeners()}setupEventListeners(){this.emitter.on("switch:view",()=>{this.toggleMobileClockFace()})}checkMobileOption(){this.core.setIsMobileView(!!this.core.options.ui.mobile),this.core.options.ui.mobile&&this.core.updateOptions({ui:{editable:!0}})}toggleMobileClockFace(){if(this.isAnimating)return;let e=this.core.getModalElement();if(!e)return;let t=e.querySelector(".tp-ui-wrapper"),i=this.core.getKeyboardClockIcon(),n=e.querySelector(".tp-ui-mobile-clock-wrapper"),r=e.querySelectorAll("*"),s=e.querySelector(".tp-ui-select-time"),o=this.core.getHour(),c=this.core.getMinutes(),l=this.core.getClockFace();if(!t)return;let u=t.classList.contains("expanded"),d=this.core.isMobileView;u?this.collapseClockFace(t,n,r,i,s,o,c,l,d):this.expandClockFace(t,n,r,i,s,o,c,l)}collapseClockFace(e,t,i,n,r,s,o,c,l){this.isAnimating=!0,this.switchView(r,n,s,o,!0),i.forEach(u=>{u!==t&&u!==e&&u!==r&&(u.classList.remove("expanded"),l&&u.classList.add("mobile"))}),r&&(r.classList.remove("expanded"),l&&r.classList.add("mobile")),typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>{t?.classList.remove("expanded"),l&&t?.classList.add("mobile"),e?.classList.remove("expanded"),l&&e?.classList.add("mobile"),l?c?.classList.remove("scale-in"):c?.classList.add("scale-in"),setTimeout(()=>{this.isAnimating=!1},C.MOBILE_TOGGLE)}):this.isAnimating=!1,n?.setAttribute("aria-label","Show clock face"),n?.setAttribute("aria-pressed","false")}expandClockFace(e,t,i,n,r,s,o,c){this.isAnimating=!0,o?.classList.contains("active")&&o?this.emitter.emit("select:minute",{minutes:o.value}):s&&this.emitter.emit("select:hour",{hour:s.value}),i.forEach(u=>{u!==t&&u!==e&&u!==r&&(u.classList.remove("mobile"),u.classList.add("expanded"))}),r&&(r.classList.remove("mobile"),r.classList.add("expanded")),this.switchView(r,n,s,o,!1),typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>{e.classList.remove("mobile"),e.classList.add("expanded"),requestAnimationFrame(()=>{t&&(t.classList.remove("mobile"),t.classList.add("expanded")),c&&c.classList.remove("scale-in"),setTimeout(()=>{c&&c.classList.add("scale-in")},C.CLOCK_SCALE_DELAY),setTimeout(()=>{this.isAnimating=!1},C.MOBILE_TOGGLE)})}):this.isAnimating=!1,n?.setAttribute("aria-label","Hide clock face"),n?.setAttribute("aria-pressed","true")}switchView(e,t,i,n,r){let s=this.core.getModalElement(),o=s?.querySelector(".tp-ui-hour-text"),c=s?.querySelector(".tp-ui-minute-text"),l=t?.querySelector(".tp-ui-keyboard-icon"),u=this.core.getInputWrappers(),d=this.core.getHeader(),{iconTemplate:p,iconTemplateMobile:g}=this.core.options.ui,{time:b,mobileTime:H}=this.core.options.labels;r?(e?.classList.add("mobile"),t?.classList.add("mobile"),i?.classList.add("mobile"),n?.classList.add("mobile"),o?.classList.add("mobile"),c?.classList.add("mobile"),d?.classList.add("mobile"),u?.forEach(T=>{T.classList.add("mobile")}),e&&H&&(e.textContent=H),l&&(l.innerHTML=g||ae),this.updateClockFaceAccessibility(!0)):(e?.classList.remove("mobile"),t?.classList.remove("mobile"),i?.classList.remove("mobile"),n?.classList.remove("mobile"),o?.classList.remove("mobile"),c?.classList.remove("mobile"),d?.classList.remove("mobile"),u?.forEach(T=>{T.classList.remove("mobile")}),e&&b&&(e.textContent=b),l&&(l.innerHTML=p||oe),this.updateClockFaceAccessibility(!1))}updateClockFaceAccessibility(e){let t=this.core.getClockFace();if(!t)return;let i=t.querySelector(".tp-ui-tips-wrapper"),n=t.querySelector(".tp-ui-tips-wrapper-24h"),r=t.querySelectorAll(".tp-ui-tip");e?(t.setAttribute("aria-hidden","true"),i?.setAttribute("aria-hidden","true"),n?.setAttribute("aria-hidden","true"),r.forEach(s=>{s.setAttribute("tabindex","-1"),s.setAttribute("aria-hidden","true")})):(t.removeAttribute("aria-hidden"),i?.removeAttribute("aria-hidden"),n?.removeAttribute("aria-hidden"),r.forEach(s=>{s.setAttribute("tabindex","0"),s.removeAttribute("aria-hidden")}))}destroy(){}};var ze=a=>{if(!a)return;let{disabledTime:e,type:t}=a.clock;if(!e||!Object.keys(e).length)return;let{hours:i,minutes:n,interval:r}=e;if(r){delete e.hours,delete e.minutes;let s=Array.isArray(r)?r:[r];if(!t)throw new Error("clockType required for interval");return se(s,t),{value:s.map(l=>{let[u,d]=l.trim().split("-"),{hour:p,minutes:g,type:b}=I({value:u.trim()},t),{hour:H,minutes:T,type:k}=I({value:d.trim()},t),h=W(p,H).map(v=>Number(v)===0?"00":String(Number(v))),E=[],y=Number(g),M=Number(T);if(k===b)return y>0&&M<=0?(E.push(h[0],h[h.length-1]),h=h.slice(1,-1)):M<59&&M>0&&y<=0?(E.push(void 0,h[h.length-1]),h=h.slice(0,-1)):M>0&&y>0?(E.push(h[0],h[h.length-1]),h=h.slice(1,-1)):M===0&&y===0&&(E.push(void 0,h[h.length-1]),h.pop()),{removedStartedHour:E[0]!==void 0&&Number(E[0])<=9?`0${E[0]}`:E[0],removedEndHour:E[1]!==void 0&&Number(E[1])<=9?`0${E[1]}`:E[1],rangeArrHour:h,startMinutes:W(g,59).map(v=>Number(v)<=9?`0${v}`:`${v}`),endMinutes:re(0,T).map(v=>Number(v)<=9?`0${v}`:`${v}`),startType:b,endType:k};{let v=W(p,12).map(String),m=re(1,H).map(String),S=[],A=[];return y>0&&M<=0?(A.push(m[m.length-1]),S.push(v[0]),m.pop(),v.shift()):M<59&&M>0&&y<=0?(S.push(v[0]),A.push(m[m.length-1]),m.pop()):M>0&&y>0?(A.push(m[m.length-1]),S.push(v[0]),m.pop(),v.shift()):M===0&&y===0&&(A.push(m[m.length-1]),S.push(v[0]),m.pop()),{startType:b,endType:k,amHours:v,pmHours:m,removedAmHour:S[0]&&Number(S[0])<=9?`0${S[0]}`:S[0],removedPmHour:A[0]&&Number(A[0])<=9?`0${A[0]}`:A[0],startMinutes:Number(g)===0?[]:W(g,59).map(P=>Number(P)<=9?`0${P}`:`${P}`),endMinutes:re(0,T).map(P=>Number(P)<=9?`0${P}`:`${P}`)}}}).reduce((l,u)=>(Object.entries(u).forEach(([d,p])=>{Array.isArray(p)?l[d]=Array.isArray(l[d])?[...l[d],...p]:[...p]:l[d]=p}),l),{isInterval:!0,clockType:t,intervals:s})}}return i?.forEach(s=>{if(t==="12h"&&Number(s)>12)throw new Error("The disabled hours value has to be less than 13");if(t==="24h"&&Number(s)>23)throw new Error("The disabled hours value has to be less than 24")}),n?.forEach(s=>{if(Number(s)>59)throw new Error("The disabled minutes value has to be less than 60")}),{value:{hours:i?.map(s=>s==="00"||Number(s)===0?`0${Number(s)}`:`${Number(s)}`),minutes:n?.map(s=>Number(s)<=9?`0${s}`:`${s}`)}}},xe=(a,e,t,i)=>{if(a){if(Array.isArray(a)&&a.length>0)return!a.map(r=>we(r,e,t)).some(r=>r===!1);if(typeof a=="string"||typeof a=="number"){let n=we(a,e,t),r=i?.map(Number).includes(Number(a));return!!(n&&!r)}}};var ue=class{core;constructor(e){this.core=e}getDisableTime(){let e=ze(this.core.options);this.core.setDisabledTime(e||null)}destroy(){}};var K=class{inputValueHandler;mobileViewHandler;disabledTimeHandler;core;constructor(e,t){this.core=e,this.inputValueHandler=new le(e,t),this.mobileViewHandler=new ce(e,t),this.disabledTimeHandler=new ue(e)}preventClockTypeByCurrentTime(){this.inputValueHandler.preventClockTypeByCurrentTime()}updateInputValueWithCurrentTimeOnStart(){this.inputValueHandler.updateInputValueWithCurrentTimeOnStart()}getInputValueOnOpenAndSet(){this.inputValueHandler.getInputValueOnOpenAndSet()}getInputValue(e,t,i){return this.inputValueHandler.getInputValue(e,t,i)}checkMobileOption(){this.mobileViewHandler.checkMobileOption()}toggleMobileClockFace(){this.mobileViewHandler.toggleMobileClockFace()}updateClockFaceAccessibility(e){this.mobileViewHandler.updateClockFaceAccessibility(e)}getDisableTime(){this.disabledTimeHandler.getDisableTime()}destroy(){this.inputValueHandler.destroy(),this.mobileViewHandler.destroy(),this.disabledTimeHandler.destroy()}};var Y=class{core;emitter;constructor(e,t){this.core=e,this.emitter=t}setTheme(){let e=this.core.getModalElement();if(!e)return;let{theme:t}=this.core.options.ui;t&&e.setAttribute("data-theme",t)}setInputClassToInputElement(){let e=this.core.getInput();e&&(Ne(e,"tp-ui-input")||e.classList.add("tp-ui-input"))}setDataOpenToInputIfDoesntExistInWrapper(){let e=this.core.getOpenElementData(),t=this.core.getInput();e===null&&t&&t.setAttribute("data-open","tp-ui-input")}setClassTopOpenElement(){let e=this.core.getOpenElement();for(let t of e)t&&t.classList.add("tp-ui-open-element")}setTimepickerClassToElement(){let e=this.core.element;if(!e)return;e.classList.add(De);let t=this.core.options.ui.cssClass;t&&t!==De&&e.classList.add(t)}destroy(){let e=this.core.getModalElement();e&&e.removeAttribute("data-theme")}};var V=class a extends Error{constructor(t,i){super(`[TimepickerUI] ${t}`);this.code=i;this.name="TimepickerError",Object.setPrototypeOf(this,a.prototype)}},me={ELEMENT_NOT_FOUND:"ELEMENT_NOT_FOUND",INVALID_PARAMETER:"INVALID_PARAMETER",NO_INPUT_ELEMENT:"NO_INPUT_ELEMENT",INSTANCE_DESTROYED:"INSTANCE_DESTROYED",NOT_INITIALIZED:"NOT_INITIALIZED",INVALID_TIME_FORMAT:"INVALID_TIME_FORMAT",INLINE_CONFIG_ERROR:"INLINE_CONFIG_ERROR",CONTAINER_NOT_FOUND:"CONTAINER_NOT_FOUND",SSR_ENVIRONMENT:"SSR_ENVIRONMENT"};var Z=class{core;emitter;constructor(e,t){this.core=e,this.emitter=t}setErrorHandler(){let e=this.core.getInput();if(!e)return!0;let{error:t,currentHour:i,currentMin:n,currentType:r,currentLength:s}=I(e,this.core.options.clock.type);if(this.removeErrorHandler(),t){if(f()===!1)return!1;let o=document.createElement("div");o.classList.add("tp-ui-invalid-text"),o.innerHTML="<b>Invalid Time Format</b>",e.classList.add("tp-ui-invalid-format"),e.nextElementSibling?.classList.contains("tp-ui-invalid-text")||e.after(o);let c={error:t,rejectedHour:void 0,rejectedMinute:void 0,inputHour:i,inputMinute:n,inputType:r,inputLength:s};return this.emitter.emit("error",c),!1}return!0}removeErrorHandler(){let e=this.core.getInput();if(!e)return;e.classList.remove("tp-ui-invalid-format");let t=e.nextElementSibling;t?.classList.contains("tp-ui-invalid-text")&&t.remove()}checkDisabledValuesOnStart(){if(!this.core.options.clock.disabledTime)return;let{disabledTime:e,type:t}=this.core.options.clock;if(e.interval){if(!t)throw new V("clockType is required when using disabledTime.interval",me.INVALID_PARAMETER);let o=Array.isArray(e.interval)?e.interval:[e.interval];try{se(o,t)}catch(c){throw new V(`Invalid disabledTime.interval: ${c.message}`,me.INVALID_PARAMETER)}return}let{hours:i,minutes:n}=e,r=i?xe(i,"hour",t):!0,s=n?xe(n,"minutes",t):!0;if(!r||!s)throw new V("Invalid hours or minutes in disabledTime option",me.INVALID_PARAMETER)}destroy(){this.removeErrorHandler()}};var O=(a,e)=>{if(!a)return;let t=a.querySelector(".timepicker-announcer");t&&(t.textContent="",setTimeout(()=>{t.textContent=e},100))},G=(a,e)=>{a&&a.setAttribute("aria-pressed",String(e))};var de=class{core;emitter;cleanupHandlers=[];constructor(e,t){this.core=e,this.emitter=t}handleOpenOnClick(){let e=this.core.getOpenElement();if(!e)return;let t=()=>{this.core.isDestroyed||this.emitter.emit("show",{})};e.forEach(i=>{i.addEventListener("click",t),this.cleanupHandlers.push(()=>i.removeEventListener("click",t))})}handleCancelButton(){let e=this.core.getCancelButton();if(!e)return;let t=()=>{this.core.isDestroyed||this.emitter.emit("cancel",{})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}handleOkButton(){let e=this.core.getOkButton();if(!e)return;let t=()=>{if(this.core.isDestroyed)return;let i=this.core.getHour(),n=this.core.getMinutes(),r=this.core.getActiveTypeMode();this.emitter.emit("confirm",{hour:i?.value,minutes:n?.value,type:r?.textContent||void 0})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}handleAmClick(){let e=this.core.getAM();if(!e)return;let t=()=>{if(this.core.isDestroyed)return;let i=this.core.getPM();e.classList.add("active"),i?.classList.remove("active"),G(e,!0),G(i,!1);let n=this.core.getModalElement();O(n,"AM selected"),this.emitter.emit("select:am",{});let r=this.core.getHour(),s=this.core.getMinutes();this.emitter.emit("update",{hour:r?.value,minutes:s?.value,type:"AM"})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}handlePmClick(){let e=this.core.getPM();if(!e)return;let t=()=>{if(this.core.isDestroyed)return;let i=this.core.getAM();e.classList.add("active"),i?.classList.remove("active"),G(e,!0),G(i,!1);let n=this.core.getModalElement();O(n,"PM selected"),this.emitter.emit("select:pm",{});let r=this.core.getHour(),s=this.core.getMinutes();this.emitter.emit("update",{hour:r?.value,minutes:s?.value,type:"PM"})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}handleSwitchViewButton(){let e=this.core.getKeyboardClockIcon();if(!e)return;let t=()=>{this.core.isDestroyed||this.emitter.emit("switch:view",{})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}destroy(){this.cleanupHandlers.forEach(e=>e()),this.cleanupHandlers=[]}};var Be=(a,e,t)=>Math.max(e,Math.min(t,a)),We=(a,e)=>{if(a==="")return"";let t=parseInt(a,10);return Number.isNaN(t)?"":Be(t,e?1:0,e?12:23).toString().padStart(2,"0")},_e=a=>{if(a==="")return"";let e=parseInt(a,10);return Number.isNaN(e)?"":Be(e,0,59).toString().padStart(2,"0")};var pe=class{core;emitter;cleanupHandlers=[];constructor(e,t){this.core=e,this.emitter=t}handleHourEvents(){let e=this.core.getHour();if(!e)return;let t=()=>{if(this.core.isDestroyed)return;e.classList.add("active");let i=this.core.getMinutes();i?.classList.remove("active"),this.emitter.emit("select:hour",{hour:e.value});let n=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:e.value,minutes:i?.value,type:n?.textContent||void 0})};if(e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t)),this.core.options.ui.editable||this.core.options.ui.mobile){let i=e.value,n=()=>{if(this.core.isDestroyed)return;let r=this.core.options.clock.type==="12h",s=We(e.value,r);if(e.value=s,e.setAttribute("aria-valuenow",s),e.value!==i){i=e.value,this.emitter.emit("animation:clock",{}),this.emitter.emit("select:hour",{hour:e.value});let o=this.core.getMinutes(),c=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:e.value,minutes:o?.value,type:c?.textContent||void 0})}};e.addEventListener("blur",n),this.cleanupHandlers.push(()=>e.removeEventListener("blur",n))}}handleMinutesEvents(){let e=this.core.getMinutes();if(!e)return;let t=()=>{if(this.core.isDestroyed)return;e.classList.add("active");let i=this.core.getHour();i?.classList.remove("active"),this.emitter.emit("select:minute",{minutes:e.value});let n=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:i?.value,minutes:e.value,type:n?.textContent||void 0})};if(e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t)),this.core.options.ui.editable||this.core.options.ui.mobile){let i=e.value,n=()=>{if(this.core.isDestroyed)return;let r=_e(e.value);if(e.value=r,e.setAttribute("aria-valuenow",r),e.value!==i){i=e.value,this.emitter.emit("animation:clock",{}),this.emitter.emit("select:minute",{minutes:e.value});let s=this.core.getHour(),o=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:s?.value,minutes:e.value,type:o?.textContent||void 0})}};e.addEventListener("blur",n),this.cleanupHandlers.push(()=>e.removeEventListener("blur",n))}}destroy(){this.cleanupHandlers.forEach(e=>e()),this.cleanupHandlers=[]}};var he=class{core;emitter;cleanupHandlers=[];constructor(e,t){this.core=e,this.emitter=t}handleOpenOnEnterFocus(){let e=this.core.getInput();if(!e)return;let t=i=>{i.key==="Enter"&&!this.core.isDestroyed&&this.emitter.emit("show",{})};e.addEventListener("keydown",t),this.cleanupHandlers.push(()=>e.removeEventListener("keydown",t))}handleEscClick(){if(f()===!1)return;let e=t=>{this.core.isDestroyed||t.key==="Escape"&&this.emitter.emit("cancel",{})};document.addEventListener("keydown",e),this.cleanupHandlers.push(()=>document.removeEventListener("keydown",e))}handleKeyboardInput(){let e=this.core.getHour(),t=this.core.getMinutes();if(e){let i=n=>{if(this.core.isDestroyed||n.key!=="ArrowUp"&&n.key!=="ArrowDown")return;n.preventDefault();let r=parseInt(e.value)||0,s=parseInt(e.getAttribute("max")||"23"),o=parseInt(e.getAttribute("min")||"0"),c=this.core.options.clock.type==="12h",l;n.key==="ArrowUp"?c?l=r>=12?1:r+1:l=r>=s?0:r+1:c?l=r<=1?12:r-1:l=r<=0?s:r-1,e.value=l.toString().padStart(2,"0"),e.setAttribute("aria-valuenow",e.value);let u=this.core.getModalElement();O(u,`Hour: ${e.value}`),this.emitter.emit("animation:clock",{}),this.emitter.emit("select:hour",{hour:e.value});let d=this.core.getMinutes(),p=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:e.value,minutes:d?.value,type:p?.textContent||void 0})};e.addEventListener("keydown",i),this.cleanupHandlers.push(()=>e.removeEventListener("keydown",i))}if(t){let i=n=>{if(this.core.isDestroyed||n.key!=="ArrowUp"&&n.key!=="ArrowDown")return;n.preventDefault();let r=parseInt(t.value)||0,s=59,o=0,c;n.key==="ArrowUp"?c=r>=s?o:r+1:c=r<=o?s:r-1,t.value=c.toString().padStart(2,"0"),t.setAttribute("aria-valuenow",t.value);let l=this.core.getModalElement();O(l,`Minutes: ${t.value}`),this.emitter.emit("animation:clock",{}),this.emitter.emit("select:minute",{minutes:t.value});let u=this.core.getHour(),d=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:u?.value,minutes:t.value,type:d?.textContent||void 0})};t.addEventListener("keydown",i),this.cleanupHandlers.push(()=>t.removeEventListener("keydown",i))}}focusTrapHandler(){if(f()===!1)return;let e=this.core.getWrapper();if(!e)return;let t=i=>{if(this.core.isDestroyed||i.key!=="Tab")return;let n=e.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),r=n[0],s=n[n.length-1];i.shiftKey&&document.activeElement===r?(s?.focus(),i.preventDefault()):!i.shiftKey&&document.activeElement===s&&(r?.focus(),i.preventDefault())};e.addEventListener("keydown",t),this.cleanupHandlers.push(()=>e.removeEventListener("keydown",t))}destroy(){this.cleanupHandlers.forEach(e=>e()),this.cleanupHandlers=[]}};var ve=class{core;emitter;cleanupHandlers=[];constructor(e,t){this.core=e,this.emitter=t}handleBackdropClick(){let e=this.core.getModalElement();if(!e)return;let t=i=>{this.core.isDestroyed||i.target===e&&this.emitter.emit("cancel",{})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}handleMoveHand(){if(f()===!1)return;let e=t=>{this.core.isDestroyed||t.preventDefault()};document.addEventListener("mousedown",e,!1),document.addEventListener("touchstart",e,{passive:!1}),this.cleanupHandlers.push(()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)})}destroy(){this.cleanupHandlers.forEach(e=>e()),this.cleanupHandlers=[]}};var j=class{buttonHandlers;inputHandlers;keyboardHandlers;modalHandlers;constructor(e,t){this.buttonHandlers=new de(e,t),this.inputHandlers=new pe(e,t),this.keyboardHandlers=new he(e,t),this.modalHandlers=new ve(e,t)}handleOpenOnClick(){this.buttonHandlers.handleOpenOnClick()}handleOpenOnEnterFocus(){this.keyboardHandlers.handleOpenOnEnterFocus()}handleCancelButton(){this.buttonHandlers.handleCancelButton()}handleOkButton(){this.buttonHandlers.handleOkButton()}handleBackdropClick(){this.modalHandlers.handleBackdropClick()}handleEscClick(){this.keyboardHandlers.handleEscClick()}handleAmClick(){this.buttonHandlers.handleAmClick()}handlePmClick(){this.buttonHandlers.handlePmClick()}handleHourEvents(){this.inputHandlers.handleHourEvents()}handleMinutesEvents(){this.inputHandlers.handleMinutesEvents()}handleKeyboardInput(){this.keyboardHandlers.handleKeyboardInput()}focusTrapHandler(){this.keyboardHandlers.focusTrapHandler()}handleMoveHand(){this.modalHandlers.handleMoveHand()}handleSwitchViewButton(){this.buttonHandlers.handleSwitchViewButton()}destroy(){this.buttonHandlers.destroy(),this.inputHandlers.destroy(),this.keyboardHandlers.destroy(),this.modalHandlers.destroy()}};var X=class{emitter;getClockSystem;setHoursToClock;setMinutesToClock;updateAmPm;convertDisabledTime;constructor(e,t,i,n,r,s){this.emitter=e,this.getClockSystem=t,this.setHoursToClock=i,this.setMinutesToClock=n,this.updateAmPm=r,this.convertDisabledTime=s}setup(){this.emitter.on("select:hour",({hour:e})=>{this.emitter.emit("animation:clock",{}),this.setHoursToClock(e||null)}),this.emitter.on("select:minute",({minutes:e})=>{this.emitter.emit("animation:clock",{}),this.setMinutesToClock(e||null)}),this.emitter.on("select:am",()=>{this.updateAmPm()}),this.emitter.on("select:pm",()=>{this.updateAmPm()}),this.emitter.on("animation:start",()=>{this.getClockSystem()?.blockInteractions()}),this.emitter.on("animation:end",()=>{this.getClockSystem()?.unblockInteractions()}),this.emitter.on("range:switch",e=>{this.refreshDisabledTimeForRange(e.disabledTime)})}refreshDisabledTimeForRange(e){let t=this.getClockSystem();if(!t)return;let i=this.convertDisabledTime(),n=i;if(e){let r=[...i?.hours||[],...e.hours||[]],s=[...i?.minutes||[],...e.minutes||[]];n={...i,hours:r.length>0?r:void 0,minutes:s.length>0?s:void 0,rangeFromType:e.fromType,rangeFromHour:e.fromHour}}t.updateDisabledTime(n)}};var w=class{static angleToIndex(e,t,i){let n=Math.round(e/30)%12;if(t==="24h")if(i){let r=n+12;return r===12?0:r}else return n===0?12:n;return n===0?12:n}static indexToValue(e,t,i){if(t==="24h")return e.toString().padStart(2,"0");let n=e;return n===0&&(n=12),n>12&&(n=n-12),n.toString().padStart(2,"0")}static indexToAngle(e,t){return t==="24h"?e>=12?(e-12)%12*30:e%12*30:(e===0?12:e)%12*30}static isDisabled(e,t,i){return i?i.isInterval&&i.intervals&&i.clockType?this.isDisabledByInterval(e,t,i):i.rangeFromType!==void 0&&i.rangeFromHour!==void 0?this.isDisabledForRange12h(e,t,i):i.hours?i.hours.some(n=>String(n)===e||Number(n)===Number(e)||n===e):!1:!1}static isDisabledForRange12h(e,t,i){let n=i.rangeFromType,r=i.rangeFromHour,s=parseInt(e,10);return n===null||r===void 0?!1:t==="AM"&&n==="PM"?!0:t==="AM"&&n==="AM"?r===12?!1:s===12?!0:s<r:t==="PM"&&n==="AM"?!1:t==="PM"&&n==="PM"?r===12?!1:s===12?!0:s<r:!1}static isDisabledByInterval(e,t,i){if(!i.intervals)return!1;for(let n=0;n<60;n++){let r=n.toString().padStart(2,"0");if(!this.isTimeInIntervals(e,r,t,i.intervals,i.clockType))return!1}return!0}static isTimeInIntervals(e,t,i,n,r){let s=r==="12h"?`${e}:${t} ${i}`:`${e}:${t}`;for(let o of n){let[c,l]=o.split("-").map(u=>u.trim());if(this.isTimeBetween(s,c,l,r))return!0}return!1}static isTimeBetween(e,t,i,n){let r=this.timeToMinutes(e,n),s=this.timeToMinutes(t,n),o=this.timeToMinutes(i,n);return r>=s&&r<=o}static timeToMinutes(e,t){if(t==="12h"){let i=e.match(/(\d{1,2}):(\d{2})\s*(AM|PM)/i);if(!i)return 0;let n=parseInt(i[1]),r=parseInt(i[2]),s=i[3].toUpperCase();return s==="PM"&&n!==12&&(n+=12),s==="AM"&&n===12&&(n=0),n*60+r}else{let[i,n]=e.split(":").map(Number);return i*60+n}}static findNearestValid(e,t,i,n,r){let s=t==="24h"?23:12;for(let o=0;o<=s;o++){let c=o===0?[e]:[e+o,e-o];for(let l of c){let u=l;u<0&&(u+=s+1),u>s&&(u=u%(s+1));let d=this.indexToValue(u,t,i);if(!this.isDisabled(d,i,n))return u}}return e}};var D=class{static angleToIndex(e){return Math.round(e/6)%60}static indexToValue(e){return e.toString().padStart(2,"0")}static indexToAngle(e){return e%60*6}static isDisabled(e,t,i,n,r){return n?n.isInterval&&n.intervals?this.isDisabledByInterval(e,t,i,n,r):n.rangeFromType!==void 0&&n.rangeFromHour!==void 0?this.isDisabledForRange12h(e,t,i,n):n.minutes?n.minutes.some(s=>String(s)===e||Number(s)===Number(e)||s===e):!1:!1}static isDisabledForRange12h(e,t,i,n){let r=n.rangeFromType,s=n.rangeFromHour,o=parseInt(t,10),c=parseInt(e,10);if(r===null||s===void 0)return!1;let l=n.minutes||[],u=l.length>0?parseInt(l[l.length-1],10)+1:0;return i==="AM"&&r==="PM"?!0:i==="PM"&&r==="AM"?!1:o===s||o===12&&s===12||i===r&&o===s?c<u:!1}static isDisabledByInterval(e,t,i,n,r){if(!n.intervals)return!1;let s=r==="12h"?`${t}:${e} ${i}`:`${t}:${e}`;for(let o of n.intervals){let[c,l]=o.split("-").map(u=>u.trim());if(this.isTimeBetween(s,c,l,r))return!0}return!1}static isTimeBetween(e,t,i,n){let r=this.timeToMinutes(e,n),s=this.timeToMinutes(t,n),o=this.timeToMinutes(i,n);return r>=s&&r<=o}static timeToMinutes(e,t){if(t==="12h"){let i=e.match(/(\d{1,2}):(\d{2})\s*(AM|PM)/i);if(!i)return 0;let n=parseInt(i[1]),r=parseInt(i[2]),s=i[3].toUpperCase();return s==="PM"&&n!==12&&(n+=12),s==="AM"&&n===12&&(n=0),n*60+r}else{let[i,n]=e.split(":").map(Number);return i*60+n}}static findNearestValid(e,t,i,n,r){for(let s=0;s<60;s++){let o=s===0?[e]:[e+s,e-s];for(let c of o){let l=c;l<0&&(l+=60),l>=60&&(l=l%60);let u=this.indexToValue(l);if(!this.isDisabled(u,t,i,n,r))return l}}return e}};var x=class{static normalizeAngle(e){let t=e%360;return t<0&&(t+=360),t}static calculateRawAngle(e,t){let i=e.x-t.x,n=e.y-t.y,s=Math.atan2(n,i)*180/Math.PI+90;return this.normalizeAngle(s)}static snapToIncrement(e,t){let i=Math.round(e/t)*t;return this.normalizeAngle(i)}static calculateDistance(e,t){let i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)}static isInnerCircle(e,t){return e<t*.75}static calculateShortestPath(e,t){let i=this.normalizeAngle(e),r=this.normalizeAngle(t)-i,s=r>=0?r:r+360,o=r<=0?r:r-360,c=Math.abs(s)<Math.abs(o)?s:o;return e+c}};var fe=class{config;currentAngle=0;tipsCache=new Map;cachedDimensions=new Map;constructor(e){this.config=e}getCachedDimensions(e){let t=this.cachedDimensions.get(e);if(!t){let i=(e.offsetWidth-32)/2,n=(e.offsetHeight-32)/2,r=i-9;t={width:i,height:n,radius:r},this.cachedDimensions.set(e,t)}return t}setHandAngle(e){let t=x.calculateShortestPath(this.currentAngle,e);Math.abs(this.currentAngle-t)<.01||(this.currentAngle=t,this.config.clockHand.style.transform=`rotateZ(${t}deg)`)}animateToAngle(e){let t=x.calculateShortestPath(this.currentAngle,e);this.currentAngle=t,this.config.tipsWrapper.classList.add("tp-ui-tips-animation"),this.config.clockHand.style.transform=`rotateZ(${t}deg)`,setTimeout(()=>{this.config.tipsWrapper.classList.remove("tp-ui-tips-animation")},401)}setActiveValue(e){let t=[this.config.tipsWrapper];this.config.tipsWrapperFor24h&&t.push(this.config.tipsWrapperFor24h),t.forEach(i=>{i.querySelectorAll(".tp-ui-value-tips, .tp-ui-value-tips-24h").forEach(r=>{let s=r;s.textContent===e||Number(s.textContent)===Number(e)?(s.classList.add("active"),s.setAttribute("aria-selected","true")):(s.classList.remove("active"),s.setAttribute("aria-selected","false"))})})}renderTips(e,t,i,n,r,s=!0,o,c="",l="12"){if(f()===!1)return;let u=o||this.config.tipsWrapper;s&&(u.innerHTML="",this.tipsCache.clear());let{width:d,height:p,radius:g}=this.getCachedDimensions(u),b=document.createDocumentFragment(),H=`${t}-${this.config.theme||"default"}`;e.forEach((T,k)=>{let h=`${H}-${T}`,E=this.tipsCache.get(h);E||(E=this.createTip(T,t,r),this.tipsCache.set(h,E));let{wrapper:y,tip:M}=E;this.updateTipState(y,M,T,i,n,r,c,l);let v=k*(360/e.length)*(Math.PI/180);y.style.left=`${d+Math.sin(v)*g}px`,y.style.bottom=`${p+Math.cos(v)*g}px`,b.appendChild(y)}),u.appendChild(b)}createTip(e,t,i){if(f()===!1){let o={};return{wrapper:o,tip:o}}let n=document.createElement("span"),r=document.createElement("span");r.textContent=e,r.setAttribute("role","option"),r.setAttribute("aria-selected","false"),r.tabIndex=0;let s=i==="24h"&&t.includes("24")?"tp-ui-value-tips-24h":"tp-ui-value-tips";return r.classList.add(s),n.classList.add(t),this.config.theme&&(n.classList.add(this.config.theme),r.classList.add(this.config.theme)),n.appendChild(r),{wrapper:n,tip:r}}updateTipState(e,t,i,n,r,s,o,c){e.classList.remove("tp-ui-tips-disabled"),t.classList.remove("tp-ui-tips-disabled"),t.removeAttribute("aria-disabled"),t.tabIndex=0,this.checkIfDisabled(i,n,r,s,o,c)&&(e.classList.add("tp-ui-tips-disabled"),t.classList.add("tp-ui-tips-disabled"),t.setAttribute("aria-disabled","true"),t.tabIndex=-1)}checkIfDisabled(e,t,i,n,r,s){return i?t==="hours"?w.isDisabled(e,r,i):t==="minutes"?D.isDisabled(e,s,r,i,n):!1:!1}setCircleSize(e){e?this.config.circle.classList.remove("small-circle"):this.config.circle.classList.add("small-circle")}setCircle24hMode(e){e?(this.config.circle.classList.add("tp-ui-circle-hand-24h"),this.config.clockHand.classList.add("tp-ui-clock-hand-24h")):(this.config.circle.classList.remove("tp-ui-circle-hand-24h"),this.config.clockHand.classList.remove("tp-ui-clock-hand-24h"))}destroy(){this.tipsCache.clear(),this.cachedDimensions.clear(),this.config.tipsWrapper.innerHTML=""}};var $=class{static processPointerInput(e){let t=x.calculateRawAngle(e.pointerPosition,e.clockCenter);return e.mode==="hours"?this.processHours(t,e):this.processMinutes(t,e)}static processHours(e,t){let i=t.smoothHourSnap??!0,n;if(i)n=e;else{let p=t.incrementHours*30;n=x.snapToIncrement(e,p)}let r=x.calculateDistance(t.pointerPosition,t.clockCenter),s=t.clockType==="24h"&&x.isInnerCircle(r,t.clockRadius),o=w.angleToIndex(n,t.clockType,s),c=w.indexToValue(o,t.clockType,t.amPm),l=w.isDisabled(c,t.amPm,t.disabledTime);l&&(o=w.findNearestValid(o,t.clockType,t.amPm,t.disabledTime,s));let u=w.indexToValue(o,t.clockType,t.amPm),d;return i?d=e:d=w.indexToAngle(o,t.clockType),{angle:d,value:u,index:o,isValid:!l,isInnerCircle:t.clockType==="24h"?s:void 0}}static processMinutes(e,t){let i=t.incrementMinutes*6,n=x.snapToIncrement(e,i),r=D.angleToIndex(n),s=D.indexToValue(r),o=t.currentHour||"00",c=D.isDisabled(s,o,t.amPm,t.disabledTime,t.clockType);c&&(r=D.findNearestValid(r,o,t.amPm,t.disabledTime,t.clockType));let l=D.indexToValue(r);return{angle:D.indexToAngle(r),value:l,index:r,isValid:!c}}static valueToAngle(e,t,i){let n=parseInt(e,10);return t==="hours"?w.indexToAngle(n,i):D.indexToAngle(n)}};var ge=class{state;renderer;clockType;disabledTime;incrementHours;incrementMinutes;smoothHourSnap;isDragging=!1;callbacks;lastProcessedX=null;lastProcessedY=null;constructor(e,t,i,n,r=1,s=1,o=!0,c={}){this.renderer=e,this.state={...t},this.clockType=i,this.disabledTime=n,this.incrementHours=r,this.incrementMinutes=s,this.smoothHourSnap=o,this.callbacks=c}handlePointerMove(e,t,i){if(this.isDragging=!0,this.lastProcessedX===e.x&&this.lastProcessedY===e.y)return;this.lastProcessedX=e.x,this.lastProcessedY=e.y;let n={pointerPosition:e,clockCenter:t,clockRadius:i,mode:this.state.mode,clockType:this.clockType,amPm:this.state.amPm,disabledTime:this.disabledTime,incrementHours:this.incrementHours,incrementMinutes:this.incrementMinutes,smoothHourSnap:this.smoothHourSnap,currentHour:this.state.hour},r=$.processPointerInput(n);if(r.isValid){if(this.state.mode==="hours"){let s=this.state.hour;this.state.hour=r.value,this.state.hourAngle=r.angle,this.clockType==="24h"&&r.isInnerCircle!==void 0&&(this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(r.isInnerCircle)),this.callbacks.onHourChange&&s!==r.value&&this.callbacks.onHourChange(r.value)}else{let s=this.state.minute;this.state.minute=r.value,this.state.minuteAngle=r.angle,this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(!1),this.callbacks.onMinuteChange&&s!==r.value&&this.callbacks.onMinuteChange(r.value)}this.renderer.setHandAngle(r.angle),this.renderer.setActiveValue(r.value)}}handlePointerUp(){this.isDragging=!1,this.lastProcessedX=null,this.lastProcessedY=null}snapToNearestHour(){if(this.state.mode!=="hours")return;let e=$.valueToAngle(this.state.hour,"hours",this.clockType);this.state.hourAngle=e,this.renderer.animateToAngle(e)}switchMode(e){this.state.mode=e;let t=e==="hours"?this.state.hourAngle:this.state.minuteAngle,i=e==="hours"?this.state.hour:this.state.minute;if(e==="hours"&&this.clockType==="24h"){let n=parseInt(i,10),r=n===0||n>=13;this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(r)}else this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(!1);this.renderer.setHandAngle(t),this.renderer.setActiveValue(i)}setValue(e,t){let i=$.valueToAngle(t,e,this.clockType);if(e==="hours")if(this.state.hour=t,this.state.hourAngle=i,this.clockType==="24h"){let n=parseInt(t,10),r=n===0||n>=13;this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(r)}else this.renderer.setCircle24hMode(!1);else this.state.minute=t,this.state.minuteAngle=i,this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(!1);this.state.mode===e&&(this.renderer.setHandAngle(i),this.renderer.setActiveValue(t))}setAmPm(e){this.state.amPm=e}getState(){return{...this.state}}getHour(){return this.state.hour}getMinute(){return this.state.minute}getAmPm(){return this.state.amPm}updateDisabledTime(e){this.disabledTime=e}destroy(){this.renderer.destroy()}};var Ee=class{controller;clockFace;isActive=!1;isBlocked=!1;config;cachedRect=null;cachedCenter=null;cachedRadius=null;rafId=null;constructor(e,t,i={}){this.controller=e,this.clockFace=t,this.config=i}attach(){this.clockFace.addEventListener("mousedown",this.handlePointerDown),this.clockFace.addEventListener("touchstart",this.handlePointerDown,{passive:!1})}detach(){this.clockFace.removeEventListener("mousedown",this.handlePointerDown),this.clockFace.removeEventListener("touchstart",this.handlePointerDown),this.removeGlobalListeners()}block(){this.isBlocked=!0}unblock(){this.isBlocked=!1}handlePointerDown=e=>{if(L()||this.isBlocked)return;let t=e.target;t&&t.classList&&t.classList.contains("tp-ui-tips-disabled")||(e.preventDefault(),this.isActive=!0,this.cachedRect=this.clockFace.getBoundingClientRect(),this.cachedCenter=this.getClockCenter(),this.cachedRadius=this.getClockRadius(),this.processPointerEvent(e),document.addEventListener("mousemove",this.handlePointerMove),document.addEventListener("touchmove",this.handlePointerMove,{passive:!1}),document.addEventListener("mouseup",this.handlePointerUp),document.addEventListener("touchend",this.handlePointerUp))};handlePointerMove=e=>{if(!this.isActive||this.isBlocked)return;let t=this.getTargetElement(e);t&&t.classList&&t.classList.contains("tp-ui-tips-disabled")||(e.preventDefault(),this.rafId===null&&(this.rafId=requestAnimationFrame(()=>{this.rafId=null,this.processPointerEvent(e)})))};handlePointerUp=()=>{if(!this.isActive)return;this.rafId!==null&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.isActive=!1,this.cachedRect=null,this.cachedCenter=null,this.cachedRadius=null,this.controller.handlePointerUp();let{autoSwitchToMinutes:e,isMobileView:t,smoothHourSnap:i,hourElement:n,minutesElement:r}=this.config;i&&n?.classList.contains("active")&&this.controller.snapToNearestHour(),this.removeGlobalListeners(),e&&n?.classList.contains("active")&&!t?(r?.click(),r?.focus()):r?.classList.contains("active")&&this.config.onMinuteCommit&&this.config.onMinuteCommit()};processPointerEvent(e){let t=this.getPointerPosition(e),i=this.cachedCenter||this.getClockCenter(),n=this.cachedRadius||this.getClockRadius();this.controller.handlePointerMove(t,i,n)}getPointerPosition(e){let t=this.cachedRect||this.clockFace.getBoundingClientRect();if("touches"in e){let i=e.touches[0]||e.changedTouches[0];return{x:i.clientX-t.left,y:i.clientY-t.top}}else return{x:e.clientX-t.left,y:e.clientY-t.top}}getTargetElement(e){if("touches"in e){let t=e.touches[0]||e.changedTouches[0];if(t&&!L())return document.elementFromPoint(t.clientX,t.clientY)}return e.target}getClockCenter(){let e=this.clockFace.offsetWidth,t=this.clockFace.offsetHeight;return{x:e/2,y:t/2}}getClockRadius(){return this.clockFace.offsetWidth/2}removeGlobalListeners(){f()!==!1&&(document.removeEventListener("mousemove",this.handlePointerMove),document.removeEventListener("touchmove",this.handlePointerMove),document.removeEventListener("mouseup",this.handlePointerUp),document.removeEventListener("touchend",this.handlePointerUp))}};var be=class{renderer;controller;dragHandlers;clockType;disabledTime;tipsWrapper;tipsWrapperFor24h;constructor(e){this.clockType=e.clockType,this.disabledTime=e.disabledTime,this.tipsWrapper=e.tipsWrapper,this.tipsWrapperFor24h=e.tipsWrapperFor24h;let t={clockFace:e.clockFace,tipsWrapper:e.tipsWrapper,tipsWrapperFor24h:e.tipsWrapperFor24h,clockHand:e.clockHand,circle:e.circle,theme:e.theme};this.renderer=new fe(t);let i={hour:e.initialHour,minute:e.initialMinute,amPm:e.initialAmPm,hourAngle:this.calculateInitialAngle("hours",e.initialHour),minuteAngle:this.calculateInitialAngle("minutes",e.initialMinute),mode:"hours"},n={onHourChange:e.onHourChange,onMinuteChange:e.onMinuteChange};this.controller=new ge(this.renderer,i,e.clockType,e.disabledTime,e.incrementHours||1,e.incrementMinutes||1,e.smoothHourSnap??!0,n),this.dragHandlers=new Ee(this.controller,e.clockFace,e.dragConfig||{})}initialize(){this.dragHandlers.attach(),this.switchToHours()}switchToHours(){this.controller.switchMode("hours"),this.clockType==="24h"&&this.tipsWrapperFor24h&&this.tipsWrapperFor24h.classList.remove("none"),this.renderHourTips();let e=this.controller.getState();this.renderer.setActiveValue(e.hour)}switchToMinutes(){this.controller.switchMode("minutes"),this.tipsWrapperFor24h&&this.tipsWrapperFor24h.classList.add("none"),this.renderMinuteTips();let e=this.controller.getState();this.renderer.setActiveValue(e.minute)}setHour(e){this.controller.setValue("hours",e)}setMinute(e){this.controller.setValue("minutes",e)}setAmPm(e){this.controller.setAmPm(e);let t=this.controller.getState();t.mode==="hours"?(this.renderHourTips(),this.renderer.setHandAngle(t.hourAngle),this.renderer.setActiveValue(t.hour)):(this.renderMinuteTips(),this.renderer.setHandAngle(t.minuteAngle),this.renderer.setActiveValue(t.minute))}getHour(){return this.controller.getHour()}getMinute(){return this.controller.getMinute()}getAmPm(){return this.controller.getAmPm()}updateDisabledTime(e){this.disabledTime=e,this.controller.updateDisabledTime(e),this.controller.getState().mode==="hours"?this.renderHourTips():this.renderMinuteTips()}renderHourTips(){let t=this.controller.getState().amPm;this.clockType==="24h"?(this.renderer.renderTips(Ie,"tp-ui-hour-time-12","hours",this.disabledTime,this.clockType,!0,this.tipsWrapper,t),this.tipsWrapperFor24h&&this.renderer.renderTips($e,"tp-ui-hour-time-24","hours",this.disabledTime,this.clockType,!0,this.tipsWrapperFor24h,t)):this.renderer.renderTips(Ie,"tp-ui-hour-time-12","hours",this.disabledTime,this.clockType,!0,void 0,t)}renderMinuteTips(){let e=this.controller.getState(),t=e.amPm,i=e.hour;this.renderer.renderTips(_,"tp-ui-minutes-time","minutes",this.disabledTime,this.clockType,!0,void 0,t,i)}calculateInitialAngle(e,t){let i=parseInt(t,10);return e==="hours"?i%12*30:i*6}destroy(){this.dragHandlers.detach(),this.controller.destroy()}blockInteractions(){this.dragHandlers.block()}unblockInteractions(){this.dragHandlers.unblock()}};var J=class{core;emitter;clockSystem=null;constructor(e,t){this.core=e,this.emitter=t}getClockSystem(){return this.clockSystem}initialize(){let e=this.core.getClockFace(),t=this.core.getClockHand(),i=this.core.getCircle();if(!e||!t||!i)return;let n=this.core.options.clock.type==="24h",r=this.core.getTipsWrapper();if(!r)return;let s=this.core.getHour(),o=this.core.getMinutes(),c={clockFace:e,tipsWrapper:r,tipsWrapperFor24h:n&&this.core.getTipsWrapperFor24h()||void 0,clockHand:t,circle:i,clockType:this.core.options.clock.type||"12h",disabledTime:this.convertDisabledTime(),initialHour:s?.value||"12",initialMinute:o?.value||"00",initialAmPm:this.getAmPmValue(),theme:this.core.options.ui.theme,incrementHours:this.core.options.clock.incrementHours||1,incrementMinutes:this.core.options.clock.incrementMinutes||1,smoothHourSnap:this.core.options.clock.smoothHourSnap??!0,timepicker:null,dragConfig:{autoSwitchToMinutes:this.core.options.clock.autoSwitchToMinutes,isMobileView:this.core.isMobileView,smoothHourSnap:this.core.options.clock.smoothHourSnap??!0,hourElement:s,minutesElement:o,onMinuteCommit:()=>{let l=this.core.getMinutes(),u=this.core.getHour(),d=this.core.getActiveTypeMode();this.emitter.emit("range:minute:commit",{hour:u?.value??"12",minutes:l?.value??"00",type:d?.textContent??void 0})}},onHourChange:l=>{let u=this.core.getHour();u&&(u.value=l,u.setAttribute("aria-valuenow",l));let d=this.core.getModalElement();O(d,`Hour: ${l}`);let p=this.core.getMinutes(),g=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:l,minutes:p?.value,type:g?.textContent||void 0})},onMinuteChange:l=>{let u=this.core.getMinutes();u&&(u.value=l,u.setAttribute("aria-valuenow",l));let d=this.core.getModalElement();O(d,`Minutes: ${l}`);let p=this.core.getHour(),g=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:p?.value,minutes:l,type:g?.textContent||void 0})}};this.clockSystem=new be(c),this.clockSystem.initialize()}convertDisabledTime(){let e=this.core.disabledTime?.value;if(!e)return null;let t;return e.intervals&&(t=Array.isArray(e.intervals)?e.intervals:[e.intervals]),{hours:e.hours,minutes:e.minutes,isInterval:e.isInterval,intervals:t,clockType:e.clockType}}getAmPmValue(){if(this.core.options.clock.type==="24h")return"";let e=this.core.getActiveTypeMode();if(e){let n=e.textContent?.trim();if(n==="AM"||n==="PM")return n}let t=this.core.getAM();return this.core.options.range?.enabled===!0?t?.classList.contains("active")?"AM":"":t?.classList.contains("active")?"AM":"PM"}destroy(){this.clockSystem&&(this.clockSystem.destroy(),this.clockSystem=null)}};var Q=class{core;constructor(e){this.core=e}removeCircleClockClasses24h(){let e=this.core.getCircle(),t=this.core.getClockHand();e?.classList.remove("tp-ui-circle-hand-24h"),t?.classList.remove("tp-ui-clock-hand-24h")}setCircleClockClasses24h(){let e=this.core.getCircle(),t=this.core.getClockHand();e&&e.classList.add("tp-ui-circle-hand-24h"),t&&t.classList.add("tp-ui-clock-hand-24h")}setOnStartCSSClassesIfClockType24h(){if(this.core.options.clock.type==="24h"){let e=this.core.getInput();if(!e)return;let t;e.value.length>0&&(t=e.value.split(":")[0]),t&&(Number(t)>12||Number(t)===0)&&this.setCircleClockClasses24h()}}setBgColorToCircleWithMinutesTips(){let e=this.core.getMinutes(),t=this.core.getCircle();if(!(!e||!t)&&e.value&&_.includes(e.value)){let i=getComputedStyle(t).getPropertyValue("--timepicker-primary").trim();i&&(t.style.backgroundColor=i),t.classList.remove("small-circle")}}removeBgColorToCirleWithMinutesTips(){let e=this.core.getMinutes(),t=this.core.getCircle();!e||!t||e.value&&_.includes(e.value)||(t.style.backgroundColor="",t.classList.add("small-circle"))}setClassActiveToHourOnOpen(){if(this.core.options.ui.mobile||this.core.isMobileView)return;this.core.getHour()?.classList.add(N)}toggleClassActiveToValueTips(e,t){if(e)return;let i=this.core.getAllValueTips();if(!i)return;let n=i.find(r=>Number(r.innerText)===Number(t));i.forEach(r=>{r.classList.remove(N),r.setAttribute("aria-selected","false")}),n!==void 0&&(n.classList.add(N),n.setAttribute("aria-selected","true"))}};var ee=class{getClockSystem;styleHandler;getAmPmValue;clockType;constructor(e,t,i,n){this.getClockSystem=e,this.styleHandler=t,this.getAmPmValue=i,this.clockType=n}setMinutesToClock(e){let t=this.getClockSystem();t&&(this.styleHandler.removeBgColorToCirleWithMinutesTips(),e&&t.setMinute(e),t.switchToMinutes())}setHoursToClock(e){let t=this.getClockSystem();t&&(e&&t.setHour(e),t.switchToHours())}setTransformToCircleWithSwitchesHour(e){let t=this.getClockSystem();!t||!e||t.setHour(e)}setTransformToCircleWithSwitchesMinutes(e){let t=this.getClockSystem();!t||!e||t.setMinute(e)}updateAmPm(){let e=this.getClockSystem();if(!e||this.clockType==="24h")return;let t=this.getAmPmValue();t!==""&&e.setAmPm(t)}};var te=class{systemInitializer;styleHandler;timeHandler;eventHandler;constructor(e,t){this.systemInitializer=new J(e,t),this.styleHandler=new Q(e);let i=e.options.clock.type||"12h";this.timeHandler=new ee(()=>this.systemInitializer.getClockSystem(),this.styleHandler,()=>this.systemInitializer.getAmPmValue(),i),this.eventHandler=new X(t,()=>this.systemInitializer.getClockSystem(),n=>this.timeHandler.setHoursToClock(n),n=>this.timeHandler.setMinutesToClock(n),()=>this.timeHandler.updateAmPm(),()=>this.systemInitializer.convertDisabledTime()),this.eventHandler.setup()}initializeClockSystem(){this.systemInitializer.initialize()}destroyClockSystem(){this.systemInitializer.destroy()}removeCircleClockClasses24h(){this.styleHandler.removeCircleClockClasses24h()}setCircleClockClasses24h(){this.styleHandler.setCircleClockClasses24h()}setOnStartCSSClassesIfClockType24h(){this.styleHandler.setOnStartCSSClassesIfClockType24h()}setBgColorToCircleWithMinutesTips=()=>{this.styleHandler.setBgColorToCircleWithMinutesTips()};removeBgColorToCirleWithMinutesTips=()=>{this.styleHandler.removeBgColorToCirleWithMinutesTips()};setClassActiveToHourOnOpen=()=>{this.styleHandler.setClassActiveToHourOnOpen()};setMinutesToClock=e=>{this.timeHandler.setMinutesToClock(e)};setHoursToClock=e=>{this.timeHandler.setHoursToClock(e)};setTransformToCircleWithSwitchesHour=e=>{this.timeHandler.setTransformToCircleWithSwitchesHour(e)};setTransformToCircleWithSwitchesMinutes=e=>{this.timeHandler.setTransformToCircleWithSwitchesMinutes(e)};updateAmPm=()=>{this.timeHandler.updateAmPm()};toggleClassActiveToValueTips=e=>{let t=this.systemInitializer.getClockSystem()!==null;this.styleHandler.toggleClassActiveToValueTips(t,e)};destroy(){this.destroyClockSystem()}};var Pe=class{plugins=new Map;register(e){this.plugins.has(e.name)||this.plugins.set(e.name,e)}getAll(){return Array.from(this.plugins.values())}has(e){return this.plugins.has(e)}get(e){return this.plugins.get(e)}},ye=new Pe;var Te=class{animation;modal;config;theme;validation;events;clock;plugins=new Map;constructor(e,t){this.animation=new B(e,t),this.modal=new U(e,t),this.config=new K(e,t),this.theme=new Y(e,t),this.validation=new Z(e,t),this.events=new j(e,t),this.clock=new te(e,t),ye.getAll().forEach(n=>{let r=n.factory(e,t);this.plugins.set(n.name,r)})}getPlugin(e){return this.plugins.get(e)}destroy(){this.animation.destroy(),this.modal.destroy(),this.config.destroy(),this.theme.destroy(),this.validation.destroy(),this.events.destroy(),this.clock.destroy(),this.plugins.forEach(e=>e.destroy()),this.plugins.clear()}};var Me="is-rippling",ke="ripple-hold",F=null;function ot(a){let e=a.target,t=e.hasAttribute("data-md3-ripple")?e:e.closest("[data-md3-ripple]");if(!t||a.button!==0&&a.pointerType==="mouse")return;let i=t.getBoundingClientRect(),r=Math.max(i.width,i.height)*2,s=a.clientX-i.left,o=a.clientY-i.top;t.style.setProperty("--ripple-size",`${r}px`),t.style.setProperty("--ripple-x",`${s}px`),t.style.setProperty("--ripple-y",`${o}px`),t.classList.remove(Me,ke),t.offsetWidth,t.classList.add(Me,ke),t._rippleHold=!0,F=t}function Ue(a){let e=a.target,i=(e.hasAttribute("data-md3-ripple")?e:e.closest("[data-md3-ripple]"))||F;i&&(i._rippleHold=!1,i.classList.remove(ke),setTimeout(()=>{i.classList.remove(Me),F===i&&(F=null)},1e3))}function at(a){let e=a.currentTarget;!e||!e._rippleHold||(e._rippleHold=!1,e.classList.remove(ke),setTimeout(()=>{e.classList.remove(Me),F===e&&(F=null)},1e3))}function Ke(a){if(f()===!1)return;let e=a||document;e.addEventListener("pointerdown",ot),e.addEventListener("pointerup",Ue),e.addEventListener("pointercancel",Ue),e.querySelectorAll("[data-md3-ripple]").forEach(i=>{i.addEventListener("mouseleave",at)})}var Ye=(a,e)=>{let t;return(...i)=>{clearTimeout(t),t=setTimeout(()=>{a(...i)},e)}};var Ce=class{core;managers;emitter;eventsClickMobileHandler=()=>{};mutliEventsMoveHandler=()=>{};constructor(e,t,i){this.core=e,this.managers=t,this.emitter=i}init(){if(!this.core.isDestroyed&&!this.core.isInitialized){try{this.managers.config.updateInputValueWithCurrentTimeOnStart(),this.managers.validation.checkDisabledValuesOnStart()}catch{this.core.setIsDestroyed(!0);return}this.managers.theme.setTimepickerClassToElement(),this.managers.theme.setInputClassToInputElement(),this.managers.theme.setDataOpenToInputIfDoesntExistInWrapper(),this.managers.theme.setClassTopOpenElement(),this.managers.config.getDisableTime(),this.core.options.ui.inline?.enabled||this.managers.events.handleOpenOnClick(),this.managers.events.handleOpenOnEnterFocus(),this.setupCallbackBridge(),this.core.setIsInitialized(!0)}}setupCallbackBridge(){let{callbacks:e}=this.core.options;e.onOpen&&this.emitter.on("open",e.onOpen),e.onCancel&&this.emitter.on("cancel",e.onCancel),e.onConfirm&&this.emitter.on("confirm",e.onConfirm),e.onUpdate&&this.emitter.on("update",e.onUpdate),e.onSelectHour&&this.emitter.on("select:hour",e.onSelectHour),e.onSelectMinute&&this.emitter.on("select:minute",e.onSelectMinute),e.onSelectAM&&this.emitter.on("select:am",e.onSelectAM),e.onSelectPM&&this.emitter.on("select:pm",e.onSelectPM),e.onError&&this.emitter.on("error",e.onError),e.onTimezoneChange&&this.emitter.on("timezone:change",e.onTimezoneChange),e.onRangeConfirm&&this.emitter.on("range:confirm",e.onRangeConfirm),e.onRangeSwitch&&this.emitter.on("range:switch",e.onRangeSwitch),e.onRangeValidation&&this.emitter.on("range:validation",e.onRangeValidation)}mount(){this.core.isDestroyed||(this.core.isInitialized||this.init(),this.eventsBundle())}unmount(e){let t=Ye((...i)=>{if(i.length>2||!this.core.getModalElement())return;let[n]=i.filter(o=>typeof o=="boolean"),[r]=i.filter(o=>typeof o=="function");this.core.setIsMobileView(!!this.core.options.ui.mobile),n&&this.core.getOkButton()?.click(),this.core.setIsTouchMouseMove(!1),this.removeEventListeners(),this.managers.animation.removeAnimationToClose(),this.core.getOpenElement().forEach(o=>o?.classList.remove("disabled")),setTimeout(()=>{f()&&(document.body.style.overflowY="",document.body.style.paddingRight="")},C.SCROLLBAR_RESTORE),setTimeout(()=>{let o=this.core.getInput();this.core.options.behavior.focusInputAfterClose&&o?.focus();let c=this.core.getModalElement();c!==null&&(c.remove(),this.core.setIsModalRemove(!0))},C.MODAL_REMOVE),r&&r()},this.core.options.behavior.delayHandler||C.DEFAULT_DELAY);e?t(e):t()}destroy(e){if(this.core.isDestroyed)return;let t=typeof e=="function"?{callback:e}:e||{},{keepInputValue:i=!1,callback:n}=t,r=this.core.getInput(),s=i?r?.value:null;this.removeEventListeners(),this.core.getModalElement()?.remove(),this.core.getOpenElement()?.forEach(d=>{d&&(d.classList.remove("disabled","active","tp-ui-open-element"),d.classList.remove("basic","crane-straight","crane","m2","m3-green"))}),r&&(r.classList.remove("tp-ui-invalid-format","invalid-value","error","active","tp-ui-input"),r.removeAttribute("data-open"),r.removeAttribute("data-owner-id"),i&&s&&(r.value=s));let l=this.core.element;l&&(l.classList.remove("basic","crane-straight","crane","m2","m3-green"),l.classList.remove("error","active","disabled"),l.removeAttribute("data-owner-id"),l.removeAttribute("data-open"),this.core.options.ui.cssClass&&l.classList.remove(this.core.options.ui.cssClass)),l?.querySelectorAll(".tp-ui-invalid-text")?.forEach(d=>d.remove()),this.mutliEventsMoveHandler=()=>{},this.eventsClickMobileHandler=()=>{},this.core.reset(),this.managers.destroy(),this.emitter.clear(),L()||(document.body.style.overflowY="",document.body.style.paddingRight=""),n&&n()}eventsBundle(){if(this.core.isDestroyed||!this.core.isModalRemove)return;if(this.managers.validation.setErrorHandler(),this.managers.validation.removeErrorHandler(),!this.core.options.ui.inline?.enabled){let r=this.core.getOpenElement(),s=this.core.getInput();r.forEach(o=>o?.classList.add("disabled")),s?.blur()}if(this.managers.modal.setScrollbarOrNot(),this.managers.modal.setModalTemplate(),this.managers.modal.setNormalizeClass(),this.managers.modal.removeBackdrop(),this.core.isMobileView)this.managers.config.updateClockFaceAccessibility(!0);else{let r=this.core.getModalElement(),s=r?.querySelector(".tp-ui-mobile-clock-wrapper"),o=r?.querySelector(".tp-ui-wrapper"),c=r?.querySelectorAll("*");s?.classList.add("expanded"),o?.classList.add("expanded"),c?.forEach(l=>{!l.classList.contains("tp-ui-select-time")&&!l.classList.contains("tp-ui-mobile-clock-wrapper")&&!l.classList.contains("tp-ui-wrapper")&&l.classList.add("expanded")})}this.managers.modal.setFlexEndToFooterIfNoKeyboardIcon(),setTimeout(()=>{this.managers.theme.setTheme();let r=this.core.getWrapper();r&&this.core.options.ui.cssClass&&r.classList.add(this.core.options.ui.cssClass)},0),this.managers.animation.setAnimationToOpen(),this.managers.config.getInputValueOnOpenAndSet(),this.managers.clock.initializeClockSystem(),this.managers.clock.setOnStartCSSClassesIfClockType24h(),this.managers.clock.setClassActiveToHourOnOpen();let e=this.managers.getPlugin("timezone");e&&e.init();let t=this.managers.getPlugin("range");t&&t.init(),this.managers.events.handleCancelButton(),this.managers.events.handleOkButton(),this.managers.events.handleHourEvents(),this.managers.events.handleMinutesEvents(),this.managers.events.handleKeyboardInput(),this.core.options.ui.enableSwitchIcon&&this.managers.events.handleSwitchViewButton(),this.core.options.clock.type!=="24h"&&(this.managers.events.handleAmClick(),this.managers.events.handlePmClick()),this.core.options.behavior.focusTrap&&this.managers.events.focusTrapHandler(),this.core.options.ui.inline?.enabled||(this.managers.events.handleEscClick(),this.managers.events.handleBackdropClick());let i=this.core.getModalElement();i&&Ke(i);let n=this.core.getClockFace();n&&typeof requestAnimationFrame<"u"&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{n?.classList.add("scale-in")})}),this.managers.modal.setShowClassToBackdrop()}removeEventListeners(){if(f()===!1)return;qe.split(" ").forEach(t=>{document.removeEventListener(t,this.mutliEventsMoveHandler,!1)}),document.removeEventListener("mousedown",this.eventsClickMobileHandler)}};var q=class{events=new Map;on(e,t){this.events.has(e)||this.events.set(e,new Set),this.events.get(e).add(t)}once(e,t){let i=n=>{t(n),this.off(e,i)};this.on(e,i)}off(e,t){t?this.events.get(e)?.delete(t):this.events.delete(e)}emit(e,t){this.events.get(e)?.forEach(i=>{i(t)})}clear(){this.events.clear()}hasListeners(e){return(this.events.get(e)?.size??0)>0}};var R={clock:{type:"12h",incrementHours:1,incrementMinutes:1,autoSwitchToMinutes:!0,disabledTime:void 0,currentTime:void 0},ui:{theme:"basic",animation:!0,backdrop:!0,mobile:!1,enableSwitchIcon:!1,editable:!1,enableScrollbar:!1,cssClass:void 0,appendModalSelector:"",iconTemplate:"",iconTemplateMobile:"",inline:void 0},labels:{am:"AM",pm:"PM",ok:"OK",cancel:"Cancel",time:"Select time",mobileTime:"Enter Time",mobileHour:"Hour",mobileMinute:"Minute"},behavior:{focusInputAfterClose:!1,focusTrap:!0,delayHandler:300,id:void 0},callbacks:{onOpen:void 0,onCancel:void 0,onConfirm:void 0,onUpdate:void 0,onSelectHour:void 0,onSelectMinute:void 0,onSelectAM:void 0,onSelectPM:void 0,onError:void 0,onTimezoneChange:void 0,onRangeConfirm:void 0,onRangeSwitch:void 0,onRangeValidation:void 0},timezone:{enabled:!1,default:void 0,whitelist:void 0,label:"Timezone"},range:{enabled:!1,minDuration:void 0,maxDuration:void 0,fromLabel:"From",toLabel:"To"}};function Oe(a={}){return{clock:{...R.clock,...a.clock||{}},ui:{...R.ui,...a.ui||{}},labels:{...R.labels,...a.labels||{}},behavior:{...R.behavior,...a.behavior||{}},callbacks:{...R.callbacks,...a.callbacks||{}},timezone:{...R.timezone,...a.timezone||{}},range:{...R.range,...a.range||{}}}}var Ze=a=>a.replace(/[^0-9:APMapm\s]/g,"");var z=new Map,ie=class{core;managers;lifecycle;emitter;constructor(e,t){if(L())throw new Error("TimepickerUI requires browser environment");let i=this.resolveInputElement(e);if(!i)throw new Error("Input element not found");let n=t?.behavior?.id,r=n||`tp-ui-${Ve()}`,s=this.createWrapperElement(i),o=Oe(t||{});if(o.ui.inline?.enabled&&typeof t?.behavior?.focusTrap>"u"&&(o.behavior.focusTrap=!1),o.ui.inline?.enabled){if(!o.ui.inline.containerId)throw new Error("inline.containerId is required when inline mode is enabled");if(!L()&&!document.getElementById(o.ui.inline.containerId))throw new Error(`Container element with id "${o.ui.inline.containerId}" not found`)}this.emitter=new q,this.core=new ne(s,o,r,n);let c=this.core.getInput();if(c){let l=I(c,o.clock.type),u=Number(l.hour)*30,d=Number(l.minutes)*6;this.core.setDegreesHours(u),this.core.setDegreesMinutes(d)}this.managers=new Te(this.core,this.emitter),this.lifecycle=new Ce(this.core,this.managers,this.emitter),this.managers.config.checkMobileOption(),this.managers.config.preventClockTypeByCurrentTime(),this.setupInternalEventListeners(),z.set(this.core.instanceId,this)}setupInternalEventListeners(){this.emitter.on("show",()=>{this.core.isDestroyed||this.lifecycle.mount()}),this.emitter.on("cancel",()=>{this.core.isDestroyed||this.lifecycle.unmount()}),this.emitter.on("confirm",e=>{if(!this.core.isDestroyed){if(this.core.options.range?.enabled)return;let t=this.core.getInput();if(t&&e.hour&&e.minutes){let i=e.type?` ${e.type}`:"";t.value=`${e.hour}:${e.minutes}${i}`}this.lifecycle.unmount()}}),this.emitter.on("range:confirm",e=>{if(this.core.isDestroyed)return;let t=this.core.getInput();t&&(t.value=`${e.from} - ${e.to}`),this.lifecycle.unmount()})}create(){this.lifecycle.init(),this.core.options.ui.inline?.enabled&&this.lifecycle.mount()}open(e){this.lifecycle.mount(),e&&e()}close(e,t){this.lifecycle.unmount(e?t:void 0),!e&&t&&t()}destroy(e){z.delete(this.core.instanceId),this.lifecycle.destroy(e)}update(e,t){this.core.isDestroyed||(this.core.updateOptions(e.options),this.managers.config.checkMobileOption(),e.create&&this.create(),t&&t())}getValue(){if(this.core.isDestroyed)return{hour:"",minutes:"",type:void 0,time:"",degreesHours:null,degreesMinutes:null};let e=this.core.getHour(),t=this.core.getMinutes(),i=this.core.getActiveTypeMode(),n=e?.value||"12",r=t?.value||"00",s=this.core.options.clock.type==="24h"?void 0:i?.textContent||"AM",o="";return this.core.options.clock.type==="24h"?o=`${n.padStart(2,"0")}:${r.padStart(2,"0")}`:o=`${n}:${r.padStart(2,"0")} ${s}`,{hour:n,minutes:r,type:s,time:o,degreesHours:this.core.degreesHours,degreesMinutes:this.core.degreesMinutes}}setValue(e,t=!0){if(this.core.isDestroyed||!e||typeof e!="string")return;this.core.isInitialized||this.create();let i=Ze(e.trim()),n="12",r="00",s="AM";try{if(this.core.options.clock.type==="24h"){let p=i.match(/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/);if(!p)throw new Error("Invalid 24h format. Expected HH:MM");n=p[1].padStart(2,"0"),r=p[2]}else{let p=i.match(/^(1[0-2]|[1-9]):([0-5][0-9])\s*(AM|PM)$/i);if(!p)throw new Error("Invalid 12h format. Expected HH:MM AM/PM");n=p[1],r=p[2],s=p[3].toUpperCase()}let o=this.core.getHour(),c=this.core.getMinutes(),l=this.core.getAM(),u=this.core.getPM();if(o&&(o.value=n,o.setAttribute("aria-valuenow",n),this.core.setDegreesHours(Number(n)*30)),c&&(c.value=r,c.setAttribute("aria-valuenow",r),this.core.setDegreesMinutes(Number(r)*6)),this.core.options.clock.type!=="24h"&&l&&u&&(s==="AM"?(l.classList.add("active"),u.classList.remove("active")):(u.classList.add("active"),l.classList.remove("active"))),t){let p=this.core.getInput();p&&(p.value=i)}let d=this.core.getClockHand();d&&(d.style.transform=`rotateZ(${this.core.degreesHours||0}deg)`)}catch{return}}getElement(){return this.core.element}get instanceId(){return this.core.instanceId}get options(){return this.core.options}get isInitialized(){return this.core.isInitialized}get isDestroyed(){return this.core.isDestroyed}get hour(){return this.core.getHour()}get minutes(){return this.core.getMinutes()}get okButton(){return this.core.getOkButton()}get cancelButton(){return this.core.getCancelButton()}get clockHand(){return this.core.getClockHand()}on(e,t){this.core.isDestroyed||this.emitter.on(e,t)}once(e,t){this.core.isDestroyed||this.emitter.once(e,t)}off(e,t){this.core.isDestroyed||this.emitter.off(e,t)}resolveInputElement(e){if(f()===!1)return null;let t=null;if(typeof e=="string"){if(t=document.querySelector(e),!t)return null}else if(e instanceof HTMLElement)t=e;else return null;return t.tagName==="INPUT"?t:t.querySelector("input")}createWrapperElement(e){if(f()===!1)return e;let t=e.parentElement;if(e.tagName==="INPUT"&&!t?.classList.contains("tp-ui")){let i=document.createElement("div");return i.className="tp-ui",e.parentNode?.insertBefore(i,e),i.appendChild(e),i}return t&&!t.classList.contains("tp-ui")&&t.classList.add("tp-ui"),t||e}static getById(e){return z.get(e)}static getAllInstances(){return Array.from(z.values())}static isAvailable(e){return L()?!1:typeof e=="string"?document.querySelector(e)!==null:e instanceof HTMLElement?document.contains(e):!1}static destroyAll(){Array.from(z.values()).forEach(t=>t.destroy()),z.clear()}};var He=ie;var lt=He;0&&(module.exports={EventEmitter,PluginRegistry,TimepickerUI});
|
|
8
|
+
</div>`:"",Ge=y?`<div class="tp-ui-range-header" role="tablist" aria-label="Range selection"><button type="button" class="tp-ui-range-tab tp-ui-range-from active" role="tab" tabindex="0" aria-selected="true"><span class="tp-ui-range-tab-label">${M}</span><span class="tp-ui-range-tab-value tp-ui-range-from-time">--:--</span></button><button type="button" class="tp-ui-range-tab tp-ui-range-to" role="tab" tabindex="-1" aria-selected="false"><span class="tp-ui-range-tab-label">${v}</span><span class="tp-ui-range-tab-value tp-ui-range-to-time">--:--</span></button></div>`:"";return`<div class="tp-ui-modal normalize ${m}${y?" tp-ui-range-mode":""}" data-theme="${r}" role="dialog" aria-modal="true" aria-labelledby="tp-ui-label-${e}" data-owner-id="${e}" style='transition:${n?"opacity 0.15s linear":"none"}'><div class="tp-ui-wrapper ${m}" tabindex="0">${Ge}<div class="tp-ui-select-time ${m}" id="tp-ui-label-${e}">${m?u:l}</div><div class="tp-ui-header ${m}"><div class="tp-ui-wrapper-time ${m} ${k==="24h"?"tp-ui-wrapper-time-24h":""}" role="group" aria-label="${m?u:l}"><div class="tp-ui-input-wrapper ${m}"><div class="tp-ui-input-ripple-wrapper ${m}" data-md3-ripple><input name="hour" ${!o&&!m?"readonly":""} class="tp-ui-hour ${m}" tabindex="0" type="number" min="0" max="${k==="12h"?"12":"23"}" aria-label="${m?T:"Hour"}" role="spinbutton" aria-valuenow="12"></div><div class="tp-ui-hour-text ${m}">${T}</div></div><div class="tp-ui-dots ${m}" aria-hidden="true"><span></span><span></span></div><div class="tp-ui-input-wrapper ${m}"><div class="tp-ui-input-ripple-wrapper ${m}" data-md3-ripple><input name="minutes" ${!o&&!m?"readonly":""} class="tp-ui-minutes ${m}" tabindex="0" type="number" min="0" max="59" aria-label="${m?H:"Minute"}" role="spinbutton" aria-valuenow="0"></div><div class="tp-ui-minute-text ${m}">${H}</div></div></div>${k!=="24h"?`<div class="tp-ui-wrapper-type-time ${m}" role="group" aria-label="Period"><div class="tp-ui-type-mode tp-ui-am ${m?"mobile":"tp-ui-ripple"}" data-md3-ripple tabindex="0" role="button" aria-label="${d}" aria-pressed="false" data-type="AM">${d}</div><div class="tp-ui-type-mode tp-ui-pm ${m?"mobile":"tp-ui-ripple"}" data-md3-ripple tabindex="0" role="button" aria-label="${p}" aria-pressed="false" data-type="PM">${p}</div></div>`:""}</div>${P}<div class="tp-ui-mobile-clock-wrapper ${m}"><div class="tp-ui-body ${m}"><div class="tp-ui-clock-face ${m}" role="group" aria-label="Clock"><div class="tp-ui-dot ${m}" aria-hidden="true"></div><div class="tp-ui-clock-hand ${m}" aria-hidden="true"><div class="tp-ui-circle-hand ${m}"></div></div><div class="tp-ui-tips-wrapper ${m}" role="listbox" aria-label="Time"></div>${k==="24h"?`<div class="tp-ui-tips-wrapper-24h ${m}" role="listbox" aria-label="24h"></div>`:""}</div></div></div><div class="tp-ui-footer ${m}" ${m?'data-view="mobile"':""}>${i?`<div class="tp-ui-keyboard-icon-wrapper ${m}" tabindex="0" role="button" aria-pressed="false" aria-label="Toggle" data-view="desktop">${m?A:S}</div>`:""}<div class="tp-ui-wrapper-btn ${m}"><div class="tp-ui-cancel-btn ${m}" data-md3-ripple tabindex="0" role="button" aria-pressed="false" aria-label="${g}">${g}</div><div class="tp-ui-ok-btn ${m}" data-md3-ripple tabindex="0" role="button" aria-pressed="false" aria-label="${b}">${b}</div></div></div></div><div class="timepicker-announcer sr-only" role="status" aria-live="polite" aria-atomic="true"></div></div>`};var U=class{core;emitter;timeouts=[];originalOverflow;originalPaddingRight;constructor(e,t){this.core=e,this.emitter=t}runWithTimeout(e,t=C.DEFAULT_DELAY){let i=setTimeout(e,t);this.timeouts.push(i)}clearAllTimeouts(){this.timeouts.forEach(clearTimeout),this.timeouts=[]}clearExistingModal(){if(f()===!1)return;let e=document.querySelector(".tp-ui-modal");e&&e.remove()}setModalTemplate(){if(f()===!1)return;this.clearExistingModal();let e=Fe(this.core.options,this.core.instanceId);if(this.core.options.ui.inline?.enabled){let i=document.getElementById(this.core.options.ui.inline.containerId);if(!i)return;i.innerHTML="",i.insertAdjacentHTML("beforeend",e);let n=i.querySelector(".tp-ui-modal");if(n){n.classList.add("tp-ui--inline");let{showButtons:r}=this.core.options.ui.inline;(r===!1||r===void 0)&&n.querySelectorAll(".tp-ui-wrapper-btn, .tp-ui-wrapper-btn.mobile").forEach(s=>s.style.display="none")}return}let{appendModalSelector:t}=this.core.options.ui;t?document.querySelector(t)?.insertAdjacentHTML("beforeend",e):document.body.insertAdjacentHTML("beforeend",e)}setScrollbarOrNot(){f()!==!1&&(this.core.options.ui.inline?.enabled||(this.core.options.ui.enableScrollbar?this.runWithTimeout(()=>{L()||this.runWithTimeout(()=>{typeof document<"u"&&(document.body.style.overflowY=this.originalOverflow||"",document.body.style.paddingRight=this.originalPaddingRight||"")},C.SCROLLBAR_RESTORE)},400):(this.originalOverflow=document.body.style.overflowY,this.originalPaddingRight=document.body.style.paddingRight,document.body.style.paddingRight=`${Re()}px`,document.body.style.overflowY="hidden")))}removeBackdrop(){if(this.core.options.ui.inline?.enabled||this.core.options.ui.backdrop)return;let e=this.core.getModalElement(),t=this.core.getOpenElement();e?.classList.add("removed"),t.forEach(i=>i?.classList.add("disabled"))}setNormalizeClass(){let e=this.core.getModalElement();if(!e)return;e.classList.add("tp-ui-normalize"),e.querySelectorAll(":scope > div").forEach(i=>i.classList.add("tp-ui-normalize"))}setShowClassToBackdrop(){if(this.core.options.ui.inline?.enabled){this.core.getModalElement()?.classList.add("show"),this.setInitialFocus();return}this.core.options.ui.backdrop&&this.runWithTimeout(()=>{this.core.getModalElement()?.classList.add("show"),this.setInitialFocus()},C.MODAL_ANIMATION)}setInitialFocus(){if(!this.core.options.behavior.focusTrap)return;let e=this.core.getWrapper();e&&typeof requestAnimationFrame<"u"&&requestAnimationFrame(()=>{e.focus()})}setFlexEndToFooterIfNoKeyboardIcon(){let e=this.core.getFooter();!this.core.options.ui.enableSwitchIcon&&e&&(e.style.justifyContent="flex-end")}destroy(){this.clearAllTimeouts(),!L()&&!this.core.options.ui.inline?.enabled&&(document.body.style.overflowY=this.originalOverflow||"",document.body.style.paddingRight=this.originalPaddingRight||""),this.clearExistingModal()}};var I=(a,e,t,i)=>{let n={hour:"12",minutes:"00",type:e==="24h"?void 0:"PM"};if(!a)return n;let r=a.value.trim();if(!t&&!r)return n;if(typeof t=="boolean"&&t){let H=new Date,[T,k]=H.toLocaleTimeString().split(":"),h=T.padStart(2,"0");if(/[a-z]/i.test(k)&&e==="12h"){let[E,y]=k.split(" ");return{hour:h,minutes:E,type:y}}return{hour:h,minutes:k,type:void 0}}if(typeof t=="object"){let{time:H,locales:T,preventClockType:k}=t,h=H??new Date;if(k&&i){let[v,m]=new Date(h).toLocaleTimeString().split(":");if(/[a-z]/i.test(m)){let[S,A]=m.split(" ");return{hour:v,minutes:S,type:A}}return{hour:v.padStart(2,"0"),minutes:m,type:void 0}}let E=new Date(h).toLocaleTimeString(T||"en-US",{hour:"2-digit",minute:"2-digit",hour12:e==="12h"}),[y,M]=E.split(":");if(e==="12h"&&/[a-z]/i.test(M)){let v=M.trim().split(" "),m=v[0],S=v[1]||"AM";return{hour:y,minutes:m,type:S}}return{hour:y,minutes:M.replace(/\D/g,""),type:void 0}}let[s,o]=r.split(" "),[c="",l=""]=s.split(":"),u=c.replace(/\D/g,""),d=l.replace(/\D/g,""),p={hour:u.padStart(2,"0"),minutes:d.padStart(2,"0"),type:e==="12h"?o:void 0};if(u.length>2||d.length>2)return{...p,error:"Invalid input: too many digits.",currentHour:c,currentMin:l};if(/[a-z]/i.test(s))return{...p,error:"Input contains invalid letters."};if(r.includes(" ")&&(!o||r.length>8||o!=="AM"&&o!=="PM"))return{...p,error:"Invalid AM/PM format or length.",currentLength:r.length,currentType:o};let g=Number(u),b=Number(d);if(e==="12h"){if(g<1||g>12||b<0||b>59||o!=="AM"&&o!=="PM")return{...p,error:"Invalid 12h time.",currentHour:g,currentMin:b,currentType:o}}else if(g<0||g>23||b<0||b>59)return{...p,error:"Invalid 24h time.",currentHour:g,currentMin:b};return p},we=(a,e,t)=>{let i=Number(a);if(Number.isNaN(i))return!1;switch(e){case"hour":return t==="24h"?i>=0&&i<=23:i>0&&i<=12;case"minutes":return i>=0&&i<=59;default:return}};var De="tp-ui",rt="mousedown mouseup mousemove mouseleave mouseover",st="touchstart touchmove touchend",qe=`${rt} ${st}`,N="active";var le=class{core;emitter;constructor(e,t){this.core=e,this.emitter=t}isCurrentTimeEnabled(e){let t=this.core.options.clock.currentTime;return typeof t=="boolean"?t:!!t?.[e]}preventClockTypeByCurrentTime(){if(!this.isCurrentTimeEnabled("preventClockType"))return;let e=this.core.getInput();if(!e)return;let{currentTime:t,clockType:i}={currentTime:this.core.options.clock.currentTime,clockType:this.core.options.clock.type},{type:n}=I(e,i,t,!0);this.core.updateOptions({clock:{type:n?"12h":"24h"}})}updateInputValueWithCurrentTimeOnStart(){if(!this.isCurrentTimeEnabled("updateInput"))return;let e=this.core.getInput();if(!e)return;let{hour:t,minutes:i,type:n}=I(e,this.core.options.clock.type,this.core.options.clock.currentTime);e.value=n?`${t}:${i} ${n}`:`${t}:${i}`}getInputValueOnOpenAndSet(){let e=this.core.getInput();if(!e)return;let t=I(e,this.core.options.clock.type,this.core.options.clock.currentTime),i=this.core.getHour(),n=this.core.getMinutes(),r=this.core.getActiveTypeMode(),s=this.core.getAM();if(t===void 0){i&&(i.value="12"),n&&(n.value="00");let g={hour:i?.value||"12",minutes:n?.value||"00",type:r?.dataset.type,degreesHours:this.core.degreesHours,degreesMinutes:this.core.degreesMinutes};this.emitter.emit("open",g);let b=this.core.options.range?.enabled===!0;this.core.options.clock.type!=="24h"&&s&&!b&&s.classList.add(N);return}let[o,c,l]=e.value.split(":").join(" ").split(" ");e.value.length===0&&(o=t.hour,c=t.minutes,l=t.type),i&&(i.value=o.padStart(2,"0")),n&&(n.value=c.padStart(2,"0"));let d=this.core.getModalElement()?.querySelector(`[data-type='${l}']`);this.core.options.clock.type!=="24h"&&d&&d.classList.add(N);let p={...t,type:r?.dataset.type,degreesHours:this.core.degreesHours,degreesMinutes:this.core.degreesMinutes};this.emitter.emit("open",p)}getInputValue(e,t,i){return I(e,t,i)}destroy(){}};var ce=class{core;emitter;isAnimating=!1;constructor(e,t){this.core=e,this.emitter=t,this.setupEventListeners()}setupEventListeners(){this.emitter.on("switch:view",()=>{this.toggleMobileClockFace()})}checkMobileOption(){this.core.setIsMobileView(!!this.core.options.ui.mobile),this.core.options.ui.mobile&&this.core.updateOptions({ui:{editable:!0}})}toggleMobileClockFace(){if(this.isAnimating)return;let e=this.core.getModalElement();if(!e)return;let t=e.querySelector(".tp-ui-wrapper"),i=this.core.getKeyboardClockIcon(),n=e.querySelector(".tp-ui-mobile-clock-wrapper"),r=e.querySelectorAll("*"),s=e.querySelector(".tp-ui-select-time"),o=this.core.getHour(),c=this.core.getMinutes(),l=this.core.getClockFace();if(!t)return;let u=t.classList.contains("expanded"),d=this.core.isMobileView;u?this.collapseClockFace(t,n,r,i,s,o,c,l,d):this.expandClockFace(t,n,r,i,s,o,c,l)}collapseClockFace(e,t,i,n,r,s,o,c,l){this.isAnimating=!0,this.switchView(r,n,s,o,!0),i.forEach(u=>{u!==t&&u!==e&&u!==r&&(u.classList.remove("expanded"),l&&u.classList.add("mobile"))}),r&&(r.classList.remove("expanded"),l&&r.classList.add("mobile")),typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>{t?.classList.remove("expanded"),l&&t?.classList.add("mobile"),e?.classList.remove("expanded"),l&&e?.classList.add("mobile"),l?c?.classList.remove("scale-in"):c?.classList.add("scale-in"),setTimeout(()=>{this.isAnimating=!1},C.MOBILE_TOGGLE)}):this.isAnimating=!1,n?.setAttribute("aria-label","Show clock face"),n?.setAttribute("aria-pressed","false")}expandClockFace(e,t,i,n,r,s,o,c){this.isAnimating=!0,o?.classList.contains("active")&&o?this.emitter.emit("select:minute",{minutes:o.value}):s&&this.emitter.emit("select:hour",{hour:s.value}),i.forEach(u=>{u!==t&&u!==e&&u!==r&&(u.classList.remove("mobile"),u.classList.add("expanded"))}),r&&(r.classList.remove("mobile"),r.classList.add("expanded")),this.switchView(r,n,s,o,!1),typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>{e.classList.remove("mobile"),e.classList.add("expanded"),requestAnimationFrame(()=>{t&&(t.classList.remove("mobile"),t.classList.add("expanded")),c&&c.classList.remove("scale-in"),setTimeout(()=>{c&&c.classList.add("scale-in")},C.CLOCK_SCALE_DELAY),setTimeout(()=>{this.isAnimating=!1},C.MOBILE_TOGGLE)})}):this.isAnimating=!1,n?.setAttribute("aria-label","Hide clock face"),n?.setAttribute("aria-pressed","true")}switchView(e,t,i,n,r){let s=this.core.getModalElement(),o=s?.querySelector(".tp-ui-hour-text"),c=s?.querySelector(".tp-ui-minute-text"),l=t?.querySelector(".tp-ui-keyboard-icon"),u=this.core.getInputWrappers(),d=this.core.getHeader(),{iconTemplate:p,iconTemplateMobile:g}=this.core.options.ui,{time:b,mobileTime:H}=this.core.options.labels;r?(e?.classList.add("mobile"),t?.classList.add("mobile"),i?.classList.add("mobile"),n?.classList.add("mobile"),o?.classList.add("mobile"),c?.classList.add("mobile"),d?.classList.add("mobile"),u?.forEach(T=>{T.classList.add("mobile")}),e&&H&&(e.textContent=H),l&&(l.innerHTML=g||ae),this.updateClockFaceAccessibility(!0)):(e?.classList.remove("mobile"),t?.classList.remove("mobile"),i?.classList.remove("mobile"),n?.classList.remove("mobile"),o?.classList.remove("mobile"),c?.classList.remove("mobile"),d?.classList.remove("mobile"),u?.forEach(T=>{T.classList.remove("mobile")}),e&&b&&(e.textContent=b),l&&(l.innerHTML=p||oe),this.updateClockFaceAccessibility(!1))}updateClockFaceAccessibility(e){let t=this.core.getClockFace();if(!t)return;let i=t.querySelector(".tp-ui-tips-wrapper"),n=t.querySelector(".tp-ui-tips-wrapper-24h"),r=t.querySelectorAll(".tp-ui-tip");e?(t.setAttribute("aria-hidden","true"),i?.setAttribute("aria-hidden","true"),n?.setAttribute("aria-hidden","true"),r.forEach(s=>{s.setAttribute("tabindex","-1"),s.setAttribute("aria-hidden","true")})):(t.removeAttribute("aria-hidden"),i?.removeAttribute("aria-hidden"),n?.removeAttribute("aria-hidden"),r.forEach(s=>{s.setAttribute("tabindex","0"),s.removeAttribute("aria-hidden")}))}destroy(){}};var ze=a=>{if(!a)return;let{disabledTime:e,type:t}=a.clock;if(!e||!Object.keys(e).length)return;let{hours:i,minutes:n,interval:r}=e;if(r){delete e.hours,delete e.minutes;let s=Array.isArray(r)?r:[r];if(!t)throw new Error("clockType required for interval");return se(s,t),{value:s.map(l=>{let[u,d]=l.trim().split("-"),{hour:p,minutes:g,type:b}=I({value:u.trim()},t),{hour:H,minutes:T,type:k}=I({value:d.trim()},t),h=W(p,H).map(v=>Number(v)===0?"00":String(Number(v))),E=[],y=Number(g),M=Number(T);if(k===b)return y>0&&M<=0?(E.push(h[0],h[h.length-1]),h=h.slice(1,-1)):M<59&&M>0&&y<=0?(E.push(void 0,h[h.length-1]),h=h.slice(0,-1)):M>0&&y>0?(E.push(h[0],h[h.length-1]),h=h.slice(1,-1)):M===0&&y===0&&(E.push(void 0,h[h.length-1]),h.pop()),{removedStartedHour:E[0]!==void 0&&Number(E[0])<=9?`0${E[0]}`:E[0],removedEndHour:E[1]!==void 0&&Number(E[1])<=9?`0${E[1]}`:E[1],rangeArrHour:h,startMinutes:W(g,59).map(v=>Number(v)<=9?`0${v}`:`${v}`),endMinutes:re(0,T).map(v=>Number(v)<=9?`0${v}`:`${v}`),startType:b,endType:k};{let v=W(p,12).map(String),m=re(1,H).map(String),S=[],A=[];return y>0&&M<=0?(A.push(m[m.length-1]),S.push(v[0]),m.pop(),v.shift()):M<59&&M>0&&y<=0?(S.push(v[0]),A.push(m[m.length-1]),m.pop()):M>0&&y>0?(A.push(m[m.length-1]),S.push(v[0]),m.pop(),v.shift()):M===0&&y===0&&(A.push(m[m.length-1]),S.push(v[0]),m.pop()),{startType:b,endType:k,amHours:v,pmHours:m,removedAmHour:S[0]&&Number(S[0])<=9?`0${S[0]}`:S[0],removedPmHour:A[0]&&Number(A[0])<=9?`0${A[0]}`:A[0],startMinutes:Number(g)===0?[]:W(g,59).map(P=>Number(P)<=9?`0${P}`:`${P}`),endMinutes:re(0,T).map(P=>Number(P)<=9?`0${P}`:`${P}`)}}}).reduce((l,u)=>(Object.entries(u).forEach(([d,p])=>{Array.isArray(p)?l[d]=Array.isArray(l[d])?[...l[d],...p]:[...p]:l[d]=p}),l),{isInterval:!0,clockType:t,intervals:s})}}return i?.forEach(s=>{if(t==="12h"&&Number(s)>12)throw new Error("The disabled hours value has to be less than 13");if(t==="24h"&&Number(s)>23)throw new Error("The disabled hours value has to be less than 24")}),n?.forEach(s=>{if(Number(s)>59)throw new Error("The disabled minutes value has to be less than 60")}),{value:{hours:i?.map(s=>s==="00"||Number(s)===0?`0${Number(s)}`:`${Number(s)}`),minutes:n?.map(s=>Number(s)<=9?`0${s}`:`${s}`)}}},xe=(a,e,t,i)=>{if(a){if(Array.isArray(a)&&a.length>0)return!a.map(r=>we(r,e,t)).some(r=>r===!1);if(typeof a=="string"||typeof a=="number"){let n=we(a,e,t),r=i?.map(Number).includes(Number(a));return!!(n&&!r)}}};var ue=class{core;constructor(e){this.core=e}getDisableTime(){let e=ze(this.core.options);this.core.setDisabledTime(e||null)}destroy(){}};var K=class{inputValueHandler;mobileViewHandler;disabledTimeHandler;core;constructor(e,t){this.core=e,this.inputValueHandler=new le(e,t),this.mobileViewHandler=new ce(e,t),this.disabledTimeHandler=new ue(e)}preventClockTypeByCurrentTime(){this.inputValueHandler.preventClockTypeByCurrentTime()}updateInputValueWithCurrentTimeOnStart(){this.inputValueHandler.updateInputValueWithCurrentTimeOnStart()}getInputValueOnOpenAndSet(){this.inputValueHandler.getInputValueOnOpenAndSet()}getInputValue(e,t,i){return this.inputValueHandler.getInputValue(e,t,i)}checkMobileOption(){this.mobileViewHandler.checkMobileOption()}toggleMobileClockFace(){this.mobileViewHandler.toggleMobileClockFace()}updateClockFaceAccessibility(e){this.mobileViewHandler.updateClockFaceAccessibility(e)}getDisableTime(){this.disabledTimeHandler.getDisableTime()}destroy(){this.inputValueHandler.destroy(),this.mobileViewHandler.destroy(),this.disabledTimeHandler.destroy()}};var Y=class{core;emitter;constructor(e,t){this.core=e,this.emitter=t}setTheme(){let e=this.core.getModalElement();if(!e)return;let{theme:t}=this.core.options.ui;t&&e.setAttribute("data-theme",t)}setInputClassToInputElement(){let e=this.core.getInput();e&&(Ne(e,"tp-ui-input")||e.classList.add("tp-ui-input"))}setDataOpenToInputIfDoesntExistInWrapper(){let e=this.core.getOpenElementData(),t=this.core.getInput();e===null&&t&&t.setAttribute("data-open","tp-ui-input")}setClassTopOpenElement(){let e=this.core.getOpenElement();for(let t of e)t&&t.classList.add("tp-ui-open-element")}setTimepickerClassToElement(){let e=this.core.element;if(!e)return;e.classList.add(De);let t=this.core.options.ui.cssClass;t&&t!==De&&e.classList.add(t)}destroy(){let e=this.core.getModalElement();e&&e.removeAttribute("data-theme")}};var V=class a extends Error{constructor(t,i){super(`[TimepickerUI] ${t}`);this.code=i;this.name="TimepickerError",Object.setPrototypeOf(this,a.prototype)}},me={ELEMENT_NOT_FOUND:"ELEMENT_NOT_FOUND",INVALID_PARAMETER:"INVALID_PARAMETER",NO_INPUT_ELEMENT:"NO_INPUT_ELEMENT",INSTANCE_DESTROYED:"INSTANCE_DESTROYED",NOT_INITIALIZED:"NOT_INITIALIZED",INVALID_TIME_FORMAT:"INVALID_TIME_FORMAT",INLINE_CONFIG_ERROR:"INLINE_CONFIG_ERROR",CONTAINER_NOT_FOUND:"CONTAINER_NOT_FOUND",SSR_ENVIRONMENT:"SSR_ENVIRONMENT"};var Z=class{core;emitter;constructor(e,t){this.core=e,this.emitter=t}setErrorHandler(){let e=this.core.getInput();if(!e)return!0;let{error:t,currentHour:i,currentMin:n,currentType:r,currentLength:s}=I(e,this.core.options.clock.type);if(this.removeErrorHandler(),t){if(f()===!1)return!1;let o=document.createElement("div");o.classList.add("tp-ui-invalid-text"),o.innerHTML="<b>Invalid Time Format</b>",e.classList.add("tp-ui-invalid-format"),e.nextElementSibling?.classList.contains("tp-ui-invalid-text")||e.after(o);let c={error:t,rejectedHour:void 0,rejectedMinute:void 0,inputHour:i,inputMinute:n,inputType:r,inputLength:s};return this.emitter.emit("error",c),!1}return!0}removeErrorHandler(){let e=this.core.getInput();if(!e)return;e.classList.remove("tp-ui-invalid-format");let t=e.nextElementSibling;t?.classList.contains("tp-ui-invalid-text")&&t.remove()}checkDisabledValuesOnStart(){if(!this.core.options.clock.disabledTime)return;let{disabledTime:e,type:t}=this.core.options.clock;if(e.interval){if(!t)throw new V("clockType is required when using disabledTime.interval",me.INVALID_PARAMETER);let o=Array.isArray(e.interval)?e.interval:[e.interval];try{se(o,t)}catch(c){throw new V(`Invalid disabledTime.interval: ${c.message}`,me.INVALID_PARAMETER)}return}let{hours:i,minutes:n}=e,r=i?xe(i,"hour",t):!0,s=n?xe(n,"minutes",t):!0;if(!r||!s)throw new V("Invalid hours or minutes in disabledTime option",me.INVALID_PARAMETER)}destroy(){this.removeErrorHandler()}};var O=(a,e)=>{if(!a)return;let t=a.querySelector(".timepicker-announcer");t&&(t.textContent="",setTimeout(()=>{t.textContent=e},100))},G=(a,e)=>{a&&a.setAttribute("aria-pressed",String(e))};var de=class{core;emitter;cleanupHandlers=[];constructor(e,t){this.core=e,this.emitter=t}handleOpenOnClick(){let e=this.core.getOpenElement();if(!e)return;let t=()=>{this.core.isDestroyed||this.emitter.emit("show",{})};e.forEach(i=>{i.addEventListener("click",t),this.cleanupHandlers.push(()=>i.removeEventListener("click",t))})}handleCancelButton(){let e=this.core.getCancelButton();if(!e)return;let t=()=>{this.core.isDestroyed||this.emitter.emit("cancel",{})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}handleOkButton(){let e=this.core.getOkButton();if(!e)return;let t=()=>{if(this.core.isDestroyed)return;let i=this.core.getHour(),n=this.core.getMinutes(),r=this.core.getActiveTypeMode();this.emitter.emit("confirm",{hour:i?.value,minutes:n?.value,type:r?.textContent||void 0})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}handleAmClick(){let e=this.core.getAM();if(!e)return;let t=()=>{if(this.core.isDestroyed)return;let i=this.core.getPM();e.classList.add("active"),i?.classList.remove("active"),G(e,!0),G(i,!1);let n=this.core.getModalElement();O(n,"AM selected"),this.emitter.emit("select:am",{});let r=this.core.getHour(),s=this.core.getMinutes();this.emitter.emit("update",{hour:r?.value,minutes:s?.value,type:"AM"})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}handlePmClick(){let e=this.core.getPM();if(!e)return;let t=()=>{if(this.core.isDestroyed)return;let i=this.core.getAM();e.classList.add("active"),i?.classList.remove("active"),G(e,!0),G(i,!1);let n=this.core.getModalElement();O(n,"PM selected"),this.emitter.emit("select:pm",{});let r=this.core.getHour(),s=this.core.getMinutes();this.emitter.emit("update",{hour:r?.value,minutes:s?.value,type:"PM"})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}handleSwitchViewButton(){let e=this.core.getKeyboardClockIcon();if(!e)return;let t=()=>{this.core.isDestroyed||this.emitter.emit("switch:view",{})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}destroy(){this.cleanupHandlers.forEach(e=>e()),this.cleanupHandlers=[]}};var Be=(a,e,t)=>Math.max(e,Math.min(t,a)),We=(a,e)=>{if(a==="")return"";let t=parseInt(a,10);return Number.isNaN(t)?"":Be(t,e?1:0,e?12:23).toString().padStart(2,"0")},_e=a=>{if(a==="")return"";let e=parseInt(a,10);return Number.isNaN(e)?"":Be(e,0,59).toString().padStart(2,"0")};var pe=class{core;emitter;cleanupHandlers=[];constructor(e,t){this.core=e,this.emitter=t}handleHourEvents(){let e=this.core.getHour();if(!e)return;let t=()=>{if(this.core.isDestroyed)return;e.classList.add("active");let i=this.core.getMinutes();i?.classList.remove("active"),this.emitter.emit("select:hour",{hour:e.value});let n=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:e.value,minutes:i?.value,type:n?.textContent||void 0})};if(e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t)),this.core.options.ui.editable||this.core.options.ui.mobile){let i=e.value,n=()=>{if(this.core.isDestroyed)return;let r=this.core.options.clock.type==="12h",s=We(e.value,r);if(e.value=s,e.setAttribute("aria-valuenow",s),e.value!==i){i=e.value,this.emitter.emit("animation:clock",{}),this.emitter.emit("select:hour",{hour:e.value});let o=this.core.getMinutes(),c=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:e.value,minutes:o?.value,type:c?.textContent||void 0})}};e.addEventListener("blur",n),this.cleanupHandlers.push(()=>e.removeEventListener("blur",n))}}handleMinutesEvents(){let e=this.core.getMinutes();if(!e)return;let t=()=>{if(this.core.isDestroyed)return;e.classList.add("active");let i=this.core.getHour();i?.classList.remove("active"),this.emitter.emit("select:minute",{minutes:e.value});let n=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:i?.value,minutes:e.value,type:n?.textContent||void 0})};if(e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t)),this.core.options.ui.editable||this.core.options.ui.mobile){let i=e.value,n=()=>{if(this.core.isDestroyed)return;let r=_e(e.value);if(e.value=r,e.setAttribute("aria-valuenow",r),e.value!==i){i=e.value,this.emitter.emit("animation:clock",{}),this.emitter.emit("select:minute",{minutes:e.value});let s=this.core.getHour(),o=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:s?.value,minutes:e.value,type:o?.textContent||void 0})}};e.addEventListener("blur",n),this.cleanupHandlers.push(()=>e.removeEventListener("blur",n))}}destroy(){this.cleanupHandlers.forEach(e=>e()),this.cleanupHandlers=[]}};var he=class{core;emitter;cleanupHandlers=[];constructor(e,t){this.core=e,this.emitter=t}handleOpenOnEnterFocus(){let e=this.core.getInput();if(!e)return;let t=i=>{i.key==="Enter"&&!this.core.isDestroyed&&this.emitter.emit("show",{})};e.addEventListener("keydown",t),this.cleanupHandlers.push(()=>e.removeEventListener("keydown",t))}handleEscClick(){if(f()===!1)return;let e=t=>{this.core.isDestroyed||t.key==="Escape"&&this.emitter.emit("cancel",{})};document.addEventListener("keydown",e),this.cleanupHandlers.push(()=>document.removeEventListener("keydown",e))}handleKeyboardInput(){let e=this.core.getHour(),t=this.core.getMinutes();if(e){let i=n=>{if(this.core.isDestroyed||n.key!=="ArrowUp"&&n.key!=="ArrowDown")return;n.preventDefault();let r=parseInt(e.value)||0,s=parseInt(e.getAttribute("max")||"23"),o=parseInt(e.getAttribute("min")||"0"),c=this.core.options.clock.type==="12h",l;n.key==="ArrowUp"?c?l=r>=12?1:r+1:l=r>=s?0:r+1:c?l=r<=1?12:r-1:l=r<=0?s:r-1,e.value=l.toString().padStart(2,"0"),e.setAttribute("aria-valuenow",e.value);let u=this.core.getModalElement();O(u,`Hour: ${e.value}`),this.emitter.emit("animation:clock",{}),this.emitter.emit("select:hour",{hour:e.value});let d=this.core.getMinutes(),p=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:e.value,minutes:d?.value,type:p?.textContent||void 0})};e.addEventListener("keydown",i),this.cleanupHandlers.push(()=>e.removeEventListener("keydown",i))}if(t){let i=n=>{if(this.core.isDestroyed||n.key!=="ArrowUp"&&n.key!=="ArrowDown")return;n.preventDefault();let r=parseInt(t.value)||0,s=59,o=0,c;n.key==="ArrowUp"?c=r>=s?o:r+1:c=r<=o?s:r-1,t.value=c.toString().padStart(2,"0"),t.setAttribute("aria-valuenow",t.value);let l=this.core.getModalElement();O(l,`Minutes: ${t.value}`),this.emitter.emit("animation:clock",{}),this.emitter.emit("select:minute",{minutes:t.value});let u=this.core.getHour(),d=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:u?.value,minutes:t.value,type:d?.textContent||void 0})};t.addEventListener("keydown",i),this.cleanupHandlers.push(()=>t.removeEventListener("keydown",i))}}focusTrapHandler(){if(f()===!1)return;let e=this.core.getWrapper();if(!e)return;let t=i=>{if(this.core.isDestroyed||i.key!=="Tab")return;let n=e.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),r=n[0],s=n[n.length-1];i.shiftKey&&document.activeElement===r?(s?.focus(),i.preventDefault()):!i.shiftKey&&document.activeElement===s&&(r?.focus(),i.preventDefault())};e.addEventListener("keydown",t),this.cleanupHandlers.push(()=>e.removeEventListener("keydown",t))}destroy(){this.cleanupHandlers.forEach(e=>e()),this.cleanupHandlers=[]}};var ve=class{core;emitter;cleanupHandlers=[];constructor(e,t){this.core=e,this.emitter=t}handleBackdropClick(){let e=this.core.getModalElement();if(!e)return;let t=i=>{this.core.isDestroyed||i.target===e&&this.emitter.emit("cancel",{})};e.addEventListener("click",t),this.cleanupHandlers.push(()=>e.removeEventListener("click",t))}handleMoveHand(){if(f()===!1)return;let e=t=>{this.core.isDestroyed||t.preventDefault()};document.addEventListener("mousedown",e,!1),document.addEventListener("touchstart",e,{passive:!1}),this.cleanupHandlers.push(()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)})}destroy(){this.cleanupHandlers.forEach(e=>e()),this.cleanupHandlers=[]}};var j=class{buttonHandlers;inputHandlers;keyboardHandlers;modalHandlers;constructor(e,t){this.buttonHandlers=new de(e,t),this.inputHandlers=new pe(e,t),this.keyboardHandlers=new he(e,t),this.modalHandlers=new ve(e,t)}handleOpenOnClick(){this.buttonHandlers.handleOpenOnClick()}handleOpenOnEnterFocus(){this.keyboardHandlers.handleOpenOnEnterFocus()}handleCancelButton(){this.buttonHandlers.handleCancelButton()}handleOkButton(){this.buttonHandlers.handleOkButton()}handleBackdropClick(){this.modalHandlers.handleBackdropClick()}handleEscClick(){this.keyboardHandlers.handleEscClick()}handleAmClick(){this.buttonHandlers.handleAmClick()}handlePmClick(){this.buttonHandlers.handlePmClick()}handleHourEvents(){this.inputHandlers.handleHourEvents()}handleMinutesEvents(){this.inputHandlers.handleMinutesEvents()}handleKeyboardInput(){this.keyboardHandlers.handleKeyboardInput()}focusTrapHandler(){this.keyboardHandlers.focusTrapHandler()}handleMoveHand(){this.modalHandlers.handleMoveHand()}handleSwitchViewButton(){this.buttonHandlers.handleSwitchViewButton()}destroy(){this.buttonHandlers.destroy(),this.inputHandlers.destroy(),this.keyboardHandlers.destroy(),this.modalHandlers.destroy()}};var X=class{emitter;getClockSystem;setHoursToClock;setMinutesToClock;updateAmPm;convertDisabledTime;constructor(e,t,i,n,r,s){this.emitter=e,this.getClockSystem=t,this.setHoursToClock=i,this.setMinutesToClock=n,this.updateAmPm=r,this.convertDisabledTime=s}setup(){this.emitter.on("select:hour",({hour:e})=>{this.emitter.emit("animation:clock",{}),this.setHoursToClock(e||null)}),this.emitter.on("select:minute",({minutes:e})=>{this.emitter.emit("animation:clock",{}),this.setMinutesToClock(e||null)}),this.emitter.on("select:am",()=>{this.updateAmPm()}),this.emitter.on("select:pm",()=>{this.updateAmPm()}),this.emitter.on("animation:start",()=>{this.getClockSystem()?.blockInteractions()}),this.emitter.on("animation:end",()=>{this.getClockSystem()?.unblockInteractions()}),this.emitter.on("range:switch",e=>{this.refreshDisabledTimeForRange(e.disabledTime)})}refreshDisabledTimeForRange(e){let t=this.getClockSystem();if(!t)return;let i=this.convertDisabledTime(),n=i;if(e){let r=[...i?.hours||[],...e.hours||[]],s=[...i?.minutes||[],...e.minutes||[]];n={...i,hours:r.length>0?r:void 0,minutes:s.length>0?s:void 0,rangeFromType:e.fromType,rangeFromHour:e.fromHour}}t.updateDisabledTime(n)}};var w=class{static angleToIndex(e,t,i){let n=Math.round(e/30)%12;if(t==="24h")if(i){let r=n+12;return r===12?0:r}else return n===0?12:n;return n===0?12:n}static indexToValue(e,t,i){if(t==="24h")return e.toString().padStart(2,"0");let n=e;return n===0&&(n=12),n>12&&(n=n-12),n.toString().padStart(2,"0")}static indexToAngle(e,t){return t==="24h"?e>=12?(e-12)%12*30:e%12*30:(e===0?12:e)%12*30}static isDisabled(e,t,i){return i?i.isInterval&&i.intervals&&i.clockType?this.isDisabledByInterval(e,t,i):i.rangeFromType!==void 0&&i.rangeFromHour!==void 0?this.isDisabledForRange12h(e,t,i):i.hours?i.hours.some(n=>String(n)===e||Number(n)===Number(e)||n===e):!1:!1}static isDisabledForRange12h(e,t,i){let n=i.rangeFromType,r=i.rangeFromHour,s=parseInt(e,10);return n===null||r===void 0?!1:t==="AM"&&n==="PM"?!0:t==="AM"&&n==="AM"?r===12?!1:s===12?!0:s<r:t==="PM"&&n==="AM"?!1:t==="PM"&&n==="PM"?r===12?!1:s===12?!0:s<r:!1}static isDisabledByInterval(e,t,i){if(!i.intervals)return!1;for(let n=0;n<60;n++){let r=n.toString().padStart(2,"0");if(!this.isTimeInIntervals(e,r,t,i.intervals,i.clockType))return!1}return!0}static isTimeInIntervals(e,t,i,n,r){let s=r==="12h"?`${e}:${t} ${i}`:`${e}:${t}`;for(let o of n){let[c,l]=o.split("-").map(u=>u.trim());if(this.isTimeBetween(s,c,l,r))return!0}return!1}static isTimeBetween(e,t,i,n){let r=this.timeToMinutes(e,n),s=this.timeToMinutes(t,n),o=this.timeToMinutes(i,n);return r>=s&&r<=o}static timeToMinutes(e,t){if(t==="12h"){let i=e.match(/(\d{1,2}):(\d{2})\s*(AM|PM)/i);if(!i)return 0;let n=parseInt(i[1]),r=parseInt(i[2]),s=i[3].toUpperCase();return s==="PM"&&n!==12&&(n+=12),s==="AM"&&n===12&&(n=0),n*60+r}else{let[i,n]=e.split(":").map(Number);return i*60+n}}static findNearestValid(e,t,i,n,r){let s=t==="24h"?23:12;for(let o=0;o<=s;o++){let c=o===0?[e]:[e+o,e-o];for(let l of c){let u=l;u<0&&(u+=s+1),u>s&&(u=u%(s+1));let d=this.indexToValue(u,t,i);if(!this.isDisabled(d,i,n))return u}}return e}};var D=class{static angleToIndex(e){return Math.round(e/6)%60}static indexToValue(e){return e.toString().padStart(2,"0")}static indexToAngle(e){return e%60*6}static isDisabled(e,t,i,n,r){return n?n.isInterval&&n.intervals?this.isDisabledByInterval(e,t,i,n,r):n.rangeFromType!==void 0&&n.rangeFromHour!==void 0?this.isDisabledForRange12h(e,t,i,n):n.minutes?n.minutes.some(s=>String(s)===e||Number(s)===Number(e)||s===e):!1:!1}static isDisabledForRange12h(e,t,i,n){let r=n.rangeFromType,s=n.rangeFromHour,o=parseInt(t,10),c=parseInt(e,10);if(r===null||s===void 0)return!1;let l=n.minutes||[],u=l.length>0?parseInt(l[l.length-1],10)+1:0;return i==="AM"&&r==="PM"?!0:i==="PM"&&r==="AM"?!1:o===s||o===12&&s===12||i===r&&o===s?c<u:!1}static isDisabledByInterval(e,t,i,n,r){if(!n.intervals)return!1;let s=r==="12h"?`${t}:${e} ${i}`:`${t}:${e}`;for(let o of n.intervals){let[c,l]=o.split("-").map(u=>u.trim());if(this.isTimeBetween(s,c,l,r))return!0}return!1}static isTimeBetween(e,t,i,n){let r=this.timeToMinutes(e,n),s=this.timeToMinutes(t,n),o=this.timeToMinutes(i,n);return r>=s&&r<=o}static timeToMinutes(e,t){if(t==="12h"){let i=e.match(/(\d{1,2}):(\d{2})\s*(AM|PM)/i);if(!i)return 0;let n=parseInt(i[1]),r=parseInt(i[2]),s=i[3].toUpperCase();return s==="PM"&&n!==12&&(n+=12),s==="AM"&&n===12&&(n=0),n*60+r}else{let[i,n]=e.split(":").map(Number);return i*60+n}}static findNearestValid(e,t,i,n,r){for(let s=0;s<60;s++){let o=s===0?[e]:[e+s,e-s];for(let c of o){let l=c;l<0&&(l+=60),l>=60&&(l=l%60);let u=this.indexToValue(l);if(!this.isDisabled(u,t,i,n,r))return l}}return e}};var x=class{static normalizeAngle(e){let t=e%360;return t<0&&(t+=360),t}static calculateRawAngle(e,t){let i=e.x-t.x,n=e.y-t.y,s=Math.atan2(n,i)*180/Math.PI+90;return this.normalizeAngle(s)}static snapToIncrement(e,t){let i=Math.round(e/t)*t;return this.normalizeAngle(i)}static calculateDistance(e,t){let i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)}static isInnerCircle(e,t){return e<t*.75}static calculateShortestPath(e,t){let i=this.normalizeAngle(e),r=this.normalizeAngle(t)-i,s=r>=0?r:r+360,o=r<=0?r:r-360,c=Math.abs(s)<Math.abs(o)?s:o;return e+c}};var fe=class{config;currentAngle=0;tipsCache=new Map;cachedDimensions=new Map;constructor(e){this.config=e}getCachedDimensions(e){let t=this.cachedDimensions.get(e);if(!t){let i=(e.offsetWidth-32)/2,n=(e.offsetHeight-32)/2,r=i-9;t={width:i,height:n,radius:r},this.cachedDimensions.set(e,t)}return t}setHandAngle(e){let t=x.calculateShortestPath(this.currentAngle,e);Math.abs(this.currentAngle-t)<.01||(this.currentAngle=t,this.config.clockHand.style.transform=`rotateZ(${t}deg)`)}animateToAngle(e){let t=x.calculateShortestPath(this.currentAngle,e);this.currentAngle=t,this.config.tipsWrapper.classList.add("tp-ui-tips-animation"),this.config.clockHand.style.transform=`rotateZ(${t}deg)`,setTimeout(()=>{this.config.tipsWrapper.classList.remove("tp-ui-tips-animation")},401)}setActiveValue(e){let t=[this.config.tipsWrapper];this.config.tipsWrapperFor24h&&t.push(this.config.tipsWrapperFor24h),t.forEach(i=>{i.querySelectorAll(".tp-ui-value-tips, .tp-ui-value-tips-24h").forEach(r=>{let s=r;s.textContent===e||Number(s.textContent)===Number(e)?(s.classList.add("active"),s.setAttribute("aria-selected","true")):(s.classList.remove("active"),s.setAttribute("aria-selected","false"))})})}renderTips(e,t,i,n,r,s=!0,o,c="",l="12"){if(f()===!1)return;let u=o||this.config.tipsWrapper;s&&(u.innerHTML="",this.tipsCache.clear());let{width:d,height:p,radius:g}=this.getCachedDimensions(u),b=document.createDocumentFragment(),H=`${t}-${this.config.theme||"default"}`;e.forEach((T,k)=>{let h=`${H}-${T}`,E=this.tipsCache.get(h);E||(E=this.createTip(T,t,r),this.tipsCache.set(h,E));let{wrapper:y,tip:M}=E;this.updateTipState(y,M,T,i,n,r,c,l);let v=k*(360/e.length)*(Math.PI/180);y.style.left=`${d+Math.sin(v)*g}px`,y.style.bottom=`${p+Math.cos(v)*g}px`,b.appendChild(y)}),u.appendChild(b)}createTip(e,t,i){if(f()===!1){let o={};return{wrapper:o,tip:o}}let n=document.createElement("span"),r=document.createElement("span");r.textContent=e,r.setAttribute("role","option"),r.setAttribute("aria-selected","false"),r.tabIndex=0;let s=i==="24h"&&t.includes("24")?"tp-ui-value-tips-24h":"tp-ui-value-tips";return r.classList.add(s),n.classList.add(t),this.config.theme&&(n.classList.add(this.config.theme),r.classList.add(this.config.theme)),n.appendChild(r),{wrapper:n,tip:r}}updateTipState(e,t,i,n,r,s,o,c){e.classList.remove("tp-ui-tips-disabled"),t.classList.remove("tp-ui-tips-disabled"),t.removeAttribute("aria-disabled"),t.tabIndex=0,this.checkIfDisabled(i,n,r,s,o,c)&&(e.classList.add("tp-ui-tips-disabled"),t.classList.add("tp-ui-tips-disabled"),t.setAttribute("aria-disabled","true"),t.tabIndex=-1)}checkIfDisabled(e,t,i,n,r,s){return i?t==="hours"?w.isDisabled(e,r,i):t==="minutes"?D.isDisabled(e,s,r,i,n):!1:!1}setCircleSize(e){e?this.config.circle.classList.remove("small-circle"):this.config.circle.classList.add("small-circle")}setCircle24hMode(e){e?(this.config.circle.classList.add("tp-ui-circle-hand-24h"),this.config.clockHand.classList.add("tp-ui-clock-hand-24h")):(this.config.circle.classList.remove("tp-ui-circle-hand-24h"),this.config.clockHand.classList.remove("tp-ui-clock-hand-24h"))}destroy(){this.tipsCache.clear(),this.cachedDimensions.clear(),this.config.tipsWrapper.innerHTML=""}};var $=class{static processPointerInput(e){let t=x.calculateRawAngle(e.pointerPosition,e.clockCenter);return e.mode==="hours"?this.processHours(t,e):this.processMinutes(t,e)}static processHours(e,t){let i=t.smoothHourSnap??!0,n;if(i)n=e;else{let p=t.incrementHours*30;n=x.snapToIncrement(e,p)}let r=x.calculateDistance(t.pointerPosition,t.clockCenter),s=t.clockType==="24h"&&x.isInnerCircle(r,t.clockRadius),o=w.angleToIndex(n,t.clockType,s),c=w.indexToValue(o,t.clockType,t.amPm),l=w.isDisabled(c,t.amPm,t.disabledTime);l&&(o=w.findNearestValid(o,t.clockType,t.amPm,t.disabledTime,s));let u=w.indexToValue(o,t.clockType,t.amPm),d;return i?d=e:d=w.indexToAngle(o,t.clockType),{angle:d,value:u,index:o,isValid:!l,isInnerCircle:t.clockType==="24h"?s:void 0}}static processMinutes(e,t){let i=t.incrementMinutes*6,n=x.snapToIncrement(e,i),r=D.angleToIndex(n),s=D.indexToValue(r),o=t.currentHour||"00",c=D.isDisabled(s,o,t.amPm,t.disabledTime,t.clockType);c&&(r=D.findNearestValid(r,o,t.amPm,t.disabledTime,t.clockType));let l=D.indexToValue(r);return{angle:D.indexToAngle(r),value:l,index:r,isValid:!c}}static valueToAngle(e,t,i){let n=parseInt(e,10);return t==="hours"?w.indexToAngle(n,i):D.indexToAngle(n)}};var ge=class{state;renderer;clockType;disabledTime;incrementHours;incrementMinutes;smoothHourSnap;isDragging=!1;callbacks;lastProcessedX=null;lastProcessedY=null;constructor(e,t,i,n,r=1,s=1,o=!0,c={}){this.renderer=e,this.state={...t},this.clockType=i,this.disabledTime=n,this.incrementHours=r,this.incrementMinutes=s,this.smoothHourSnap=o,this.callbacks=c}handlePointerMove(e,t,i){if(this.isDragging=!0,this.lastProcessedX===e.x&&this.lastProcessedY===e.y)return;this.lastProcessedX=e.x,this.lastProcessedY=e.y;let n={pointerPosition:e,clockCenter:t,clockRadius:i,mode:this.state.mode,clockType:this.clockType,amPm:this.state.amPm,disabledTime:this.disabledTime,incrementHours:this.incrementHours,incrementMinutes:this.incrementMinutes,smoothHourSnap:this.smoothHourSnap,currentHour:this.state.hour},r=$.processPointerInput(n);if(r.isValid){if(this.state.mode==="hours"){let s=this.state.hour;this.state.hour=r.value,this.state.hourAngle=r.angle,this.clockType==="24h"&&r.isInnerCircle!==void 0&&(this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(r.isInnerCircle)),this.callbacks.onHourChange&&s!==r.value&&this.callbacks.onHourChange(r.value)}else{let s=this.state.minute;this.state.minute=r.value,this.state.minuteAngle=r.angle,this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(!1),this.callbacks.onMinuteChange&&s!==r.value&&this.callbacks.onMinuteChange(r.value)}this.renderer.setHandAngle(r.angle),this.renderer.setActiveValue(r.value)}}handlePointerUp(){this.isDragging=!1,this.lastProcessedX=null,this.lastProcessedY=null}snapToNearestHour(){if(this.state.mode!=="hours")return;let e=$.valueToAngle(this.state.hour,"hours",this.clockType);this.state.hourAngle=e,this.renderer.animateToAngle(e)}switchMode(e){this.state.mode=e;let t=e==="hours"?this.state.hourAngle:this.state.minuteAngle,i=e==="hours"?this.state.hour:this.state.minute;if(e==="hours"&&this.clockType==="24h"){let n=parseInt(i,10),r=n===0||n>=13;this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(r)}else this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(!1);this.renderer.setHandAngle(t),this.renderer.setActiveValue(i)}setValue(e,t){let i=$.valueToAngle(t,e,this.clockType);if(e==="hours")if(this.state.hour=t,this.state.hourAngle=i,this.clockType==="24h"){let n=parseInt(t,10),r=n===0||n>=13;this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(r)}else this.renderer.setCircle24hMode(!1);else this.state.minute=t,this.state.minuteAngle=i,this.renderer.setCircleSize(!0),this.renderer.setCircle24hMode(!1);this.state.mode===e&&(this.renderer.setHandAngle(i),this.renderer.setActiveValue(t))}setAmPm(e){this.state.amPm=e}getState(){return{...this.state}}getHour(){return this.state.hour}getMinute(){return this.state.minute}getAmPm(){return this.state.amPm}updateDisabledTime(e){this.disabledTime=e}destroy(){this.renderer.destroy()}};var Ee=class{controller;clockFace;isActive=!1;isBlocked=!1;config;cachedRect=null;cachedCenter=null;cachedRadius=null;rafId=null;constructor(e,t,i={}){this.controller=e,this.clockFace=t,this.config=i}attach(){this.clockFace.addEventListener("mousedown",this.handlePointerDown),this.clockFace.addEventListener("touchstart",this.handlePointerDown,{passive:!1})}detach(){this.clockFace.removeEventListener("mousedown",this.handlePointerDown),this.clockFace.removeEventListener("touchstart",this.handlePointerDown),this.removeGlobalListeners()}block(){this.isBlocked=!0}unblock(){this.isBlocked=!1}handlePointerDown=e=>{if(L()||this.isBlocked)return;let t=e.target;t&&t.classList&&t.classList.contains("tp-ui-tips-disabled")||(e.preventDefault(),this.isActive=!0,this.cachedRect=this.clockFace.getBoundingClientRect(),this.cachedCenter=this.getClockCenter(),this.cachedRadius=this.getClockRadius(),this.processPointerEvent(e),document.addEventListener("mousemove",this.handlePointerMove),document.addEventListener("touchmove",this.handlePointerMove,{passive:!1}),document.addEventListener("mouseup",this.handlePointerUp),document.addEventListener("touchend",this.handlePointerUp))};handlePointerMove=e=>{if(!this.isActive||this.isBlocked)return;let t=this.getTargetElement(e);t&&t.classList&&t.classList.contains("tp-ui-tips-disabled")||(e.preventDefault(),this.rafId===null&&(this.rafId=requestAnimationFrame(()=>{this.rafId=null,this.processPointerEvent(e)})))};handlePointerUp=()=>{if(!this.isActive)return;this.rafId!==null&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.isActive=!1,this.cachedRect=null,this.cachedCenter=null,this.cachedRadius=null,this.controller.handlePointerUp();let{autoSwitchToMinutes:e,isMobileView:t,smoothHourSnap:i,hourElement:n,minutesElement:r}=this.config;i&&n?.classList.contains("active")&&this.controller.snapToNearestHour(),this.removeGlobalListeners(),e&&n?.classList.contains("active")&&!t?(n.classList.remove("active"),r?.classList.add("active"),r?.click(),r?.focus()):r?.classList.contains("active")&&this.config.onMinuteCommit&&this.config.onMinuteCommit()};processPointerEvent(e){let t=this.getPointerPosition(e),i=this.cachedCenter||this.getClockCenter(),n=this.cachedRadius||this.getClockRadius();this.controller.handlePointerMove(t,i,n)}getPointerPosition(e){let t=this.cachedRect||this.clockFace.getBoundingClientRect();if("touches"in e){let i=e.touches[0]||e.changedTouches[0];return{x:i.clientX-t.left,y:i.clientY-t.top}}else return{x:e.clientX-t.left,y:e.clientY-t.top}}getTargetElement(e){if("touches"in e){let t=e.touches[0]||e.changedTouches[0];if(t&&!L())return document.elementFromPoint(t.clientX,t.clientY)}return e.target}getClockCenter(){let e=this.clockFace.offsetWidth,t=this.clockFace.offsetHeight;return{x:e/2,y:t/2}}getClockRadius(){return this.clockFace.offsetWidth/2}removeGlobalListeners(){f()!==!1&&(document.removeEventListener("mousemove",this.handlePointerMove),document.removeEventListener("touchmove",this.handlePointerMove),document.removeEventListener("mouseup",this.handlePointerUp),document.removeEventListener("touchend",this.handlePointerUp))}};var be=class{renderer;controller;dragHandlers;clockType;disabledTime;tipsWrapper;tipsWrapperFor24h;constructor(e){this.clockType=e.clockType,this.disabledTime=e.disabledTime,this.tipsWrapper=e.tipsWrapper,this.tipsWrapperFor24h=e.tipsWrapperFor24h;let t={clockFace:e.clockFace,tipsWrapper:e.tipsWrapper,tipsWrapperFor24h:e.tipsWrapperFor24h,clockHand:e.clockHand,circle:e.circle,theme:e.theme};this.renderer=new fe(t);let i={hour:e.initialHour,minute:e.initialMinute,amPm:e.initialAmPm,hourAngle:this.calculateInitialAngle("hours",e.initialHour),minuteAngle:this.calculateInitialAngle("minutes",e.initialMinute),mode:"hours"},n={onHourChange:e.onHourChange,onMinuteChange:e.onMinuteChange};this.controller=new ge(this.renderer,i,e.clockType,e.disabledTime,e.incrementHours||1,e.incrementMinutes||1,e.smoothHourSnap??!0,n),this.dragHandlers=new Ee(this.controller,e.clockFace,e.dragConfig||{})}initialize(){this.dragHandlers.attach(),this.switchToHours()}switchToHours(){this.controller.switchMode("hours"),this.clockType==="24h"&&this.tipsWrapperFor24h&&this.tipsWrapperFor24h.classList.remove("none"),this.renderHourTips();let e=this.controller.getState();this.renderer.setActiveValue(e.hour)}switchToMinutes(){this.controller.switchMode("minutes"),this.tipsWrapperFor24h&&this.tipsWrapperFor24h.classList.add("none"),this.renderMinuteTips();let e=this.controller.getState();this.renderer.setActiveValue(e.minute)}setHour(e){this.controller.setValue("hours",e)}setMinute(e){this.controller.setValue("minutes",e)}setAmPm(e){this.controller.setAmPm(e);let t=this.controller.getState();t.mode==="hours"?(this.renderHourTips(),this.renderer.setHandAngle(t.hourAngle),this.renderer.setActiveValue(t.hour)):(this.renderMinuteTips(),this.renderer.setHandAngle(t.minuteAngle),this.renderer.setActiveValue(t.minute))}getHour(){return this.controller.getHour()}getMinute(){return this.controller.getMinute()}getAmPm(){return this.controller.getAmPm()}updateDisabledTime(e){this.disabledTime=e,this.controller.updateDisabledTime(e),this.controller.getState().mode==="hours"?this.renderHourTips():this.renderMinuteTips()}renderHourTips(){let t=this.controller.getState().amPm;this.clockType==="24h"?(this.renderer.renderTips(Ie,"tp-ui-hour-time-12","hours",this.disabledTime,this.clockType,!0,this.tipsWrapper,t),this.tipsWrapperFor24h&&this.renderer.renderTips($e,"tp-ui-hour-time-24","hours",this.disabledTime,this.clockType,!0,this.tipsWrapperFor24h,t)):this.renderer.renderTips(Ie,"tp-ui-hour-time-12","hours",this.disabledTime,this.clockType,!0,void 0,t)}renderMinuteTips(){let e=this.controller.getState(),t=e.amPm,i=e.hour;this.renderer.renderTips(_,"tp-ui-minutes-time","minutes",this.disabledTime,this.clockType,!0,void 0,t,i)}calculateInitialAngle(e,t){let i=parseInt(t,10);return e==="hours"?i%12*30:i*6}destroy(){this.dragHandlers.detach(),this.controller.destroy()}blockInteractions(){this.dragHandlers.block()}unblockInteractions(){this.dragHandlers.unblock()}};var J=class{core;emitter;clockSystem=null;constructor(e,t){this.core=e,this.emitter=t}getClockSystem(){return this.clockSystem}initialize(){let e=this.core.getClockFace(),t=this.core.getClockHand(),i=this.core.getCircle();if(!e||!t||!i)return;let n=this.core.options.clock.type==="24h",r=this.core.getTipsWrapper();if(!r)return;let s=this.core.getHour(),o=this.core.getMinutes(),c={clockFace:e,tipsWrapper:r,tipsWrapperFor24h:n&&this.core.getTipsWrapperFor24h()||void 0,clockHand:t,circle:i,clockType:this.core.options.clock.type||"12h",disabledTime:this.convertDisabledTime(),initialHour:s?.value||"12",initialMinute:o?.value||"00",initialAmPm:this.getAmPmValue(),theme:this.core.options.ui.theme,incrementHours:this.core.options.clock.incrementHours||1,incrementMinutes:this.core.options.clock.incrementMinutes||1,smoothHourSnap:this.core.options.clock.smoothHourSnap??!0,timepicker:null,dragConfig:{autoSwitchToMinutes:this.core.options.clock.autoSwitchToMinutes,isMobileView:this.core.isMobileView,smoothHourSnap:this.core.options.clock.smoothHourSnap??!0,hourElement:s,minutesElement:o,onMinuteCommit:()=>{let l=this.core.getMinutes(),u=this.core.getHour(),d=this.core.getActiveTypeMode();this.emitter.emit("range:minute:commit",{hour:u?.value??"12",minutes:l?.value??"00",type:d?.textContent??void 0})}},onHourChange:l=>{let u=this.core.getHour();u&&(u.value=l,u.setAttribute("aria-valuenow",l));let d=this.core.getModalElement();O(d,`Hour: ${l}`);let p=this.core.getMinutes(),g=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:l,minutes:p?.value,type:g?.textContent||void 0})},onMinuteChange:l=>{let u=this.core.getMinutes();u&&(u.value=l,u.setAttribute("aria-valuenow",l));let d=this.core.getModalElement();O(d,`Minutes: ${l}`);let p=this.core.getHour(),g=this.core.getActiveTypeMode();this.emitter.emit("update",{hour:p?.value,minutes:l,type:g?.textContent||void 0})}};this.clockSystem=new be(c),this.clockSystem.initialize()}convertDisabledTime(){let e=this.core.disabledTime?.value;if(!e)return null;let t;return e.intervals&&(t=Array.isArray(e.intervals)?e.intervals:[e.intervals]),{hours:e.hours,minutes:e.minutes,isInterval:e.isInterval,intervals:t,clockType:e.clockType}}getAmPmValue(){if(this.core.options.clock.type==="24h")return"";let e=this.core.getActiveTypeMode();if(e){let n=e.textContent?.trim();if(n==="AM"||n==="PM")return n}let t=this.core.getAM();return this.core.options.range?.enabled===!0?t?.classList.contains("active")?"AM":"":t?.classList.contains("active")?"AM":"PM"}destroy(){this.clockSystem&&(this.clockSystem.destroy(),this.clockSystem=null)}};var Q=class{core;constructor(e){this.core=e}removeCircleClockClasses24h(){let e=this.core.getCircle(),t=this.core.getClockHand();e?.classList.remove("tp-ui-circle-hand-24h"),t?.classList.remove("tp-ui-clock-hand-24h")}setCircleClockClasses24h(){let e=this.core.getCircle(),t=this.core.getClockHand();e&&e.classList.add("tp-ui-circle-hand-24h"),t&&t.classList.add("tp-ui-clock-hand-24h")}setOnStartCSSClassesIfClockType24h(){if(this.core.options.clock.type==="24h"){let e=this.core.getInput();if(!e)return;let t;e.value.length>0&&(t=e.value.split(":")[0]),t&&(Number(t)>12||Number(t)===0)&&this.setCircleClockClasses24h()}}setBgColorToCircleWithMinutesTips(){let e=this.core.getMinutes(),t=this.core.getCircle();if(!(!e||!t)&&e.value&&_.includes(e.value)){let i=getComputedStyle(t).getPropertyValue("--timepicker-primary").trim();i&&(t.style.backgroundColor=i),t.classList.remove("small-circle")}}removeBgColorToCirleWithMinutesTips(){let e=this.core.getMinutes(),t=this.core.getCircle();!e||!t||e.value&&_.includes(e.value)||(t.style.backgroundColor="",t.classList.add("small-circle"))}setClassActiveToHourOnOpen(){if(this.core.options.ui.mobile||this.core.isMobileView)return;this.core.getHour()?.classList.add(N)}toggleClassActiveToValueTips(e,t){if(e)return;let i=this.core.getAllValueTips();if(!i)return;let n=i.find(r=>Number(r.innerText)===Number(t));i.forEach(r=>{r.classList.remove(N),r.setAttribute("aria-selected","false")}),n!==void 0&&(n.classList.add(N),n.setAttribute("aria-selected","true"))}};var ee=class{getClockSystem;styleHandler;getAmPmValue;clockType;constructor(e,t,i,n){this.getClockSystem=e,this.styleHandler=t,this.getAmPmValue=i,this.clockType=n}setMinutesToClock(e){let t=this.getClockSystem();t&&(this.styleHandler.removeBgColorToCirleWithMinutesTips(),e&&t.setMinute(e),t.switchToMinutes())}setHoursToClock(e){let t=this.getClockSystem();t&&(e&&t.setHour(e),t.switchToHours())}setTransformToCircleWithSwitchesHour(e){let t=this.getClockSystem();!t||!e||t.setHour(e)}setTransformToCircleWithSwitchesMinutes(e){let t=this.getClockSystem();!t||!e||t.setMinute(e)}updateAmPm(){let e=this.getClockSystem();if(!e||this.clockType==="24h")return;let t=this.getAmPmValue();t!==""&&e.setAmPm(t)}};var te=class{systemInitializer;styleHandler;timeHandler;eventHandler;constructor(e,t){this.systemInitializer=new J(e,t),this.styleHandler=new Q(e);let i=e.options.clock.type||"12h";this.timeHandler=new ee(()=>this.systemInitializer.getClockSystem(),this.styleHandler,()=>this.systemInitializer.getAmPmValue(),i),this.eventHandler=new X(t,()=>this.systemInitializer.getClockSystem(),n=>this.timeHandler.setHoursToClock(n),n=>this.timeHandler.setMinutesToClock(n),()=>this.timeHandler.updateAmPm(),()=>this.systemInitializer.convertDisabledTime()),this.eventHandler.setup()}initializeClockSystem(){this.systemInitializer.initialize()}destroyClockSystem(){this.systemInitializer.destroy()}removeCircleClockClasses24h(){this.styleHandler.removeCircleClockClasses24h()}setCircleClockClasses24h(){this.styleHandler.setCircleClockClasses24h()}setOnStartCSSClassesIfClockType24h(){this.styleHandler.setOnStartCSSClassesIfClockType24h()}setBgColorToCircleWithMinutesTips=()=>{this.styleHandler.setBgColorToCircleWithMinutesTips()};removeBgColorToCirleWithMinutesTips=()=>{this.styleHandler.removeBgColorToCirleWithMinutesTips()};setClassActiveToHourOnOpen=()=>{this.styleHandler.setClassActiveToHourOnOpen()};setMinutesToClock=e=>{this.timeHandler.setMinutesToClock(e)};setHoursToClock=e=>{this.timeHandler.setHoursToClock(e)};setTransformToCircleWithSwitchesHour=e=>{this.timeHandler.setTransformToCircleWithSwitchesHour(e)};setTransformToCircleWithSwitchesMinutes=e=>{this.timeHandler.setTransformToCircleWithSwitchesMinutes(e)};updateAmPm=()=>{this.timeHandler.updateAmPm()};toggleClassActiveToValueTips=e=>{let t=this.systemInitializer.getClockSystem()!==null;this.styleHandler.toggleClassActiveToValueTips(t,e)};destroy(){this.destroyClockSystem()}};var Pe=class{plugins=new Map;register(e){this.plugins.has(e.name)||this.plugins.set(e.name,e)}getAll(){return Array.from(this.plugins.values())}has(e){return this.plugins.has(e)}get(e){return this.plugins.get(e)}},ye=new Pe;var Te=class{animation;modal;config;theme;validation;events;clock;plugins=new Map;constructor(e,t){this.animation=new B(e,t),this.modal=new U(e,t),this.config=new K(e,t),this.theme=new Y(e,t),this.validation=new Z(e,t),this.events=new j(e,t),this.clock=new te(e,t),ye.getAll().forEach(n=>{let r=n.factory(e,t);this.plugins.set(n.name,r)})}getPlugin(e){return this.plugins.get(e)}destroy(){this.animation.destroy(),this.modal.destroy(),this.config.destroy(),this.theme.destroy(),this.validation.destroy(),this.events.destroy(),this.clock.destroy(),this.plugins.forEach(e=>e.destroy()),this.plugins.clear()}};var Me="is-rippling",ke="ripple-hold",F=null;function ot(a){let e=a.target,t=e.hasAttribute("data-md3-ripple")?e:e.closest("[data-md3-ripple]");if(!t||a.button!==0&&a.pointerType==="mouse")return;let i=t.getBoundingClientRect(),r=Math.max(i.width,i.height)*2,s=a.clientX-i.left,o=a.clientY-i.top;t.style.setProperty("--ripple-size",`${r}px`),t.style.setProperty("--ripple-x",`${s}px`),t.style.setProperty("--ripple-y",`${o}px`),t.classList.remove(Me,ke),t.offsetWidth,t.classList.add(Me,ke),t._rippleHold=!0,F=t}function Ue(a){let e=a.target,i=(e.hasAttribute("data-md3-ripple")?e:e.closest("[data-md3-ripple]"))||F;i&&(i._rippleHold=!1,i.classList.remove(ke),setTimeout(()=>{i.classList.remove(Me),F===i&&(F=null)},1e3))}function at(a){let e=a.currentTarget;!e||!e._rippleHold||(e._rippleHold=!1,e.classList.remove(ke),setTimeout(()=>{e.classList.remove(Me),F===e&&(F=null)},1e3))}function Ke(a){if(f()===!1)return;let e=a||document;e.addEventListener("pointerdown",ot),e.addEventListener("pointerup",Ue),e.addEventListener("pointercancel",Ue),e.querySelectorAll("[data-md3-ripple]").forEach(i=>{i.addEventListener("mouseleave",at)})}var Ye=(a,e)=>{let t;return(...i)=>{clearTimeout(t),t=setTimeout(()=>{a(...i)},e)}};var Ce=class{core;managers;emitter;eventsClickMobileHandler=()=>{};mutliEventsMoveHandler=()=>{};constructor(e,t,i){this.core=e,this.managers=t,this.emitter=i}init(){if(!this.core.isDestroyed&&!this.core.isInitialized){try{this.managers.config.updateInputValueWithCurrentTimeOnStart(),this.managers.validation.checkDisabledValuesOnStart()}catch{this.core.setIsDestroyed(!0);return}this.managers.theme.setTimepickerClassToElement(),this.managers.theme.setInputClassToInputElement(),this.managers.theme.setDataOpenToInputIfDoesntExistInWrapper(),this.managers.theme.setClassTopOpenElement(),this.managers.config.getDisableTime(),this.core.options.ui.inline?.enabled||this.managers.events.handleOpenOnClick(),this.managers.events.handleOpenOnEnterFocus(),this.setupCallbackBridge(),this.core.setIsInitialized(!0)}}setupCallbackBridge(){let{callbacks:e}=this.core.options;e.onOpen&&this.emitter.on("open",e.onOpen),e.onCancel&&this.emitter.on("cancel",e.onCancel),e.onConfirm&&this.emitter.on("confirm",e.onConfirm),e.onUpdate&&this.emitter.on("update",e.onUpdate),e.onSelectHour&&this.emitter.on("select:hour",e.onSelectHour),e.onSelectMinute&&this.emitter.on("select:minute",e.onSelectMinute),e.onSelectAM&&this.emitter.on("select:am",e.onSelectAM),e.onSelectPM&&this.emitter.on("select:pm",e.onSelectPM),e.onError&&this.emitter.on("error",e.onError),e.onTimezoneChange&&this.emitter.on("timezone:change",e.onTimezoneChange),e.onRangeConfirm&&this.emitter.on("range:confirm",e.onRangeConfirm),e.onRangeSwitch&&this.emitter.on("range:switch",e.onRangeSwitch),e.onRangeValidation&&this.emitter.on("range:validation",e.onRangeValidation)}mount(){this.core.isDestroyed||(this.core.isInitialized||this.init(),this.eventsBundle())}unmount(e){let t=Ye((...i)=>{if(i.length>2||!this.core.getModalElement())return;let[n]=i.filter(o=>typeof o=="boolean"),[r]=i.filter(o=>typeof o=="function");this.core.setIsMobileView(!!this.core.options.ui.mobile),n&&this.core.getOkButton()?.click(),this.core.setIsTouchMouseMove(!1),this.removeEventListeners(),this.managers.animation.removeAnimationToClose(),this.core.getOpenElement().forEach(o=>o?.classList.remove("disabled")),setTimeout(()=>{f()&&(document.body.style.overflowY="",document.body.style.paddingRight="")},C.SCROLLBAR_RESTORE),setTimeout(()=>{let o=this.core.getInput();this.core.options.behavior.focusInputAfterClose&&o?.focus();let c=this.core.getModalElement();c!==null&&(c.remove(),this.core.setIsModalRemove(!0))},C.MODAL_REMOVE),r&&r()},this.core.options.behavior.delayHandler||C.DEFAULT_DELAY);e?t(e):t()}destroy(e){if(this.core.isDestroyed)return;let t=typeof e=="function"?{callback:e}:e||{},{keepInputValue:i=!1,callback:n}=t,r=this.core.getInput(),s=i?r?.value:null;this.removeEventListeners(),this.core.getModalElement()?.remove(),this.core.getOpenElement()?.forEach(d=>{d&&(d.classList.remove("disabled","active","tp-ui-open-element"),d.classList.remove("basic","crane-straight","crane","m2","m3-green"))}),r&&(r.classList.remove("tp-ui-invalid-format","invalid-value","error","active","tp-ui-input"),r.removeAttribute("data-open"),r.removeAttribute("data-owner-id"),i&&s&&(r.value=s));let l=this.core.element;l&&(l.classList.remove("basic","crane-straight","crane","m2","m3-green"),l.classList.remove("error","active","disabled"),l.removeAttribute("data-owner-id"),l.removeAttribute("data-open"),this.core.options.ui.cssClass&&l.classList.remove(this.core.options.ui.cssClass)),l?.querySelectorAll(".tp-ui-invalid-text")?.forEach(d=>d.remove()),this.mutliEventsMoveHandler=()=>{},this.eventsClickMobileHandler=()=>{},this.core.reset(),this.managers.destroy(),this.emitter.clear(),L()||(document.body.style.overflowY="",document.body.style.paddingRight=""),n&&n()}eventsBundle(){if(this.core.isDestroyed||!this.core.isModalRemove)return;if(this.managers.validation.setErrorHandler(),this.managers.validation.removeErrorHandler(),!this.core.options.ui.inline?.enabled){let r=this.core.getOpenElement(),s=this.core.getInput();r.forEach(o=>o?.classList.add("disabled")),s?.blur()}if(this.managers.modal.setScrollbarOrNot(),this.managers.modal.setModalTemplate(),this.managers.modal.setNormalizeClass(),this.managers.modal.removeBackdrop(),this.core.isMobileView)this.managers.config.updateClockFaceAccessibility(!0);else{let r=this.core.getModalElement(),s=r?.querySelector(".tp-ui-mobile-clock-wrapper"),o=r?.querySelector(".tp-ui-wrapper"),c=r?.querySelectorAll("*");s?.classList.add("expanded"),o?.classList.add("expanded"),c?.forEach(l=>{!l.classList.contains("tp-ui-select-time")&&!l.classList.contains("tp-ui-mobile-clock-wrapper")&&!l.classList.contains("tp-ui-wrapper")&&l.classList.add("expanded")})}this.managers.modal.setFlexEndToFooterIfNoKeyboardIcon(),setTimeout(()=>{this.managers.theme.setTheme();let r=this.core.getWrapper();r&&this.core.options.ui.cssClass&&r.classList.add(this.core.options.ui.cssClass)},0),this.managers.animation.setAnimationToOpen(),this.managers.config.getInputValueOnOpenAndSet(),this.managers.clock.initializeClockSystem(),this.managers.clock.setOnStartCSSClassesIfClockType24h(),this.managers.clock.setClassActiveToHourOnOpen();let e=this.managers.getPlugin("timezone");e&&e.init();let t=this.managers.getPlugin("range");t&&t.init(),this.managers.events.handleCancelButton(),this.managers.events.handleOkButton(),this.managers.events.handleHourEvents(),this.managers.events.handleMinutesEvents(),this.managers.events.handleKeyboardInput(),this.core.options.ui.enableSwitchIcon&&this.managers.events.handleSwitchViewButton(),this.core.options.clock.type!=="24h"&&(this.managers.events.handleAmClick(),this.managers.events.handlePmClick()),this.core.options.behavior.focusTrap&&this.managers.events.focusTrapHandler(),this.core.options.ui.inline?.enabled||(this.managers.events.handleEscClick(),this.managers.events.handleBackdropClick());let i=this.core.getModalElement();i&&Ke(i);let n=this.core.getClockFace();n&&typeof requestAnimationFrame<"u"&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{n?.classList.add("scale-in")})}),this.managers.modal.setShowClassToBackdrop()}removeEventListeners(){if(f()===!1)return;qe.split(" ").forEach(t=>{document.removeEventListener(t,this.mutliEventsMoveHandler,!1)}),document.removeEventListener("mousedown",this.eventsClickMobileHandler)}};var q=class{events=new Map;on(e,t){this.events.has(e)||this.events.set(e,new Set),this.events.get(e).add(t)}once(e,t){let i=n=>{t(n),this.off(e,i)};this.on(e,i)}off(e,t){t?this.events.get(e)?.delete(t):this.events.delete(e)}emit(e,t){this.events.get(e)?.forEach(i=>{i(t)})}clear(){this.events.clear()}hasListeners(e){return(this.events.get(e)?.size??0)>0}};var R={clock:{type:"12h",incrementHours:1,incrementMinutes:1,autoSwitchToMinutes:!0,disabledTime:void 0,currentTime:void 0},ui:{theme:"basic",animation:!0,backdrop:!0,mobile:!1,enableSwitchIcon:!1,editable:!1,enableScrollbar:!1,cssClass:void 0,appendModalSelector:"",iconTemplate:"",iconTemplateMobile:"",inline:void 0},labels:{am:"AM",pm:"PM",ok:"OK",cancel:"Cancel",time:"Select time",mobileTime:"Enter Time",mobileHour:"Hour",mobileMinute:"Minute"},behavior:{focusInputAfterClose:!1,focusTrap:!0,delayHandler:300,id:void 0},callbacks:{onOpen:void 0,onCancel:void 0,onConfirm:void 0,onUpdate:void 0,onSelectHour:void 0,onSelectMinute:void 0,onSelectAM:void 0,onSelectPM:void 0,onError:void 0,onTimezoneChange:void 0,onRangeConfirm:void 0,onRangeSwitch:void 0,onRangeValidation:void 0},timezone:{enabled:!1,default:void 0,whitelist:void 0,label:"Timezone"},range:{enabled:!1,minDuration:void 0,maxDuration:void 0,fromLabel:"From",toLabel:"To"}};function Oe(a={}){return{clock:{...R.clock,...a.clock||{}},ui:{...R.ui,...a.ui||{}},labels:{...R.labels,...a.labels||{}},behavior:{...R.behavior,...a.behavior||{}},callbacks:{...R.callbacks,...a.callbacks||{}},timezone:{...R.timezone,...a.timezone||{}},range:{...R.range,...a.range||{}}}}var Ze=a=>a.replace(/[^0-9:APMapm\s]/g,"");var z=new Map,ie=class{core;managers;lifecycle;emitter;constructor(e,t){if(L())throw new Error("TimepickerUI requires browser environment");let i=this.resolveInputElement(e);if(!i)throw new Error("Input element not found");let n=t?.behavior?.id,r=n||`tp-ui-${Ve()}`,s=this.createWrapperElement(i),o=Oe(t||{});if(o.ui.inline?.enabled&&typeof t?.behavior?.focusTrap>"u"&&(o.behavior.focusTrap=!1),o.ui.inline?.enabled){if(!o.ui.inline.containerId)throw new Error("inline.containerId is required when inline mode is enabled");if(!L()&&!document.getElementById(o.ui.inline.containerId))throw new Error(`Container element with id "${o.ui.inline.containerId}" not found`)}this.emitter=new q,this.core=new ne(s,o,r,n);let c=this.core.getInput();if(c){let l=I(c,o.clock.type),u=Number(l.hour)*30,d=Number(l.minutes)*6;this.core.setDegreesHours(u),this.core.setDegreesMinutes(d)}this.managers=new Te(this.core,this.emitter),this.lifecycle=new Ce(this.core,this.managers,this.emitter),this.managers.config.checkMobileOption(),this.managers.config.preventClockTypeByCurrentTime(),this.setupInternalEventListeners(),z.set(this.core.instanceId,this)}setupInternalEventListeners(){this.emitter.on("show",()=>{this.core.isDestroyed||this.lifecycle.mount()}),this.emitter.on("cancel",()=>{this.core.isDestroyed||this.lifecycle.unmount()}),this.emitter.on("confirm",e=>{if(!this.core.isDestroyed){if(this.core.options.range?.enabled)return;let t=this.core.getInput();if(t&&e.hour&&e.minutes){let i=e.type?` ${e.type}`:"";t.value=`${e.hour}:${e.minutes}${i}`}this.lifecycle.unmount()}}),this.emitter.on("range:confirm",e=>{if(this.core.isDestroyed)return;let t=this.core.getInput();t&&(t.value=`${e.from} - ${e.to}`),this.lifecycle.unmount()})}create(){this.lifecycle.init(),this.core.options.ui.inline?.enabled&&this.lifecycle.mount()}open(e){this.lifecycle.mount(),e&&e()}close(e,t){this.lifecycle.unmount(e?t:void 0),!e&&t&&t()}destroy(e){z.delete(this.core.instanceId),this.lifecycle.destroy(e)}update(e,t){this.core.isDestroyed||(this.core.updateOptions(e.options),this.managers.config.checkMobileOption(),e.create&&this.create(),t&&t())}getValue(){if(this.core.isDestroyed)return{hour:"",minutes:"",type:void 0,time:"",degreesHours:null,degreesMinutes:null};let e=this.core.getHour(),t=this.core.getMinutes(),i=this.core.getActiveTypeMode(),n=e?.value||"12",r=t?.value||"00",s=this.core.options.clock.type==="24h"?void 0:i?.textContent||"AM",o="";return this.core.options.clock.type==="24h"?o=`${n.padStart(2,"0")}:${r.padStart(2,"0")}`:o=`${n}:${r.padStart(2,"0")} ${s}`,{hour:n,minutes:r,type:s,time:o,degreesHours:this.core.degreesHours,degreesMinutes:this.core.degreesMinutes}}setValue(e,t=!0){if(this.core.isDestroyed||!e||typeof e!="string")return;this.core.isInitialized||this.create();let i=Ze(e.trim()),n="12",r="00",s="AM";try{if(this.core.options.clock.type==="24h"){let p=i.match(/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/);if(!p)throw new Error("Invalid 24h format. Expected HH:MM");n=p[1].padStart(2,"0"),r=p[2]}else{let p=i.match(/^(1[0-2]|[1-9]):([0-5][0-9])\s*(AM|PM)$/i);if(!p)throw new Error("Invalid 12h format. Expected HH:MM AM/PM");n=p[1],r=p[2],s=p[3].toUpperCase()}let o=this.core.getHour(),c=this.core.getMinutes(),l=this.core.getAM(),u=this.core.getPM();if(o&&(o.value=n,o.setAttribute("aria-valuenow",n),this.core.setDegreesHours(Number(n)*30)),c&&(c.value=r,c.setAttribute("aria-valuenow",r),this.core.setDegreesMinutes(Number(r)*6)),this.core.options.clock.type!=="24h"&&l&&u&&(s==="AM"?(l.classList.add("active"),u.classList.remove("active")):(u.classList.add("active"),l.classList.remove("active"))),t){let p=this.core.getInput();p&&(p.value=i)}let d=this.core.getClockHand();d&&(d.style.transform=`rotateZ(${this.core.degreesHours||0}deg)`)}catch{return}}getElement(){return this.core.element}get instanceId(){return this.core.instanceId}get options(){return this.core.options}get isInitialized(){return this.core.isInitialized}get isDestroyed(){return this.core.isDestroyed}get hour(){return this.core.getHour()}get minutes(){return this.core.getMinutes()}get okButton(){return this.core.getOkButton()}get cancelButton(){return this.core.getCancelButton()}get clockHand(){return this.core.getClockHand()}on(e,t){this.core.isDestroyed||this.emitter.on(e,t)}once(e,t){this.core.isDestroyed||this.emitter.once(e,t)}off(e,t){this.core.isDestroyed||this.emitter.off(e,t)}resolveInputElement(e){if(f()===!1)return null;let t=null;if(typeof e=="string"){if(t=document.querySelector(e),!t)return null}else if(e instanceof HTMLElement)t=e;else return null;return t.tagName==="INPUT"?t:t.querySelector("input")}createWrapperElement(e){if(f()===!1)return e;let t=e.parentElement;if(e.tagName==="INPUT"&&!t?.classList.contains("tp-ui")){let i=document.createElement("div");return i.className="tp-ui",e.parentNode?.insertBefore(i,e),i.appendChild(e),i}return t&&!t.classList.contains("tp-ui")&&t.classList.add("tp-ui"),t||e}static getById(e){return z.get(e)}static getAllInstances(){return Array.from(z.values())}static isAvailable(e){return L()?!1:typeof e=="string"?document.querySelector(e)!==null:e instanceof HTMLElement?document.contains(e):!1}static destroyAll(){Array.from(z.values()).forEach(t=>t.destroy()),z.clear()}};var He=ie;var lt=He;0&&(module.exports={EventEmitter,PluginRegistry,TimepickerUI});
|