@haiilo/catalyst 10.28.2 → 10.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/catalyst/catalyst.css +3 -1
- package/dist/catalyst/catalyst.esm.js +1 -1
- package/dist/catalyst/catalyst.esm.js.map +1 -1
- package/dist/catalyst/index.esm.js +1 -1
- package/dist/catalyst/p-41a50f19.entry.js +10 -0
- package/dist/catalyst/p-41a50f19.entry.js.map +1 -0
- package/dist/catalyst/{p-e5aee21d.js → p-9500d6fb.js} +1 -1
- package/dist/catalyst/{p-e5aee21d.js.map → p-9500d6fb.js.map} +1 -1
- package/dist/catalyst/scss/core/_notification.scss +4 -1
- package/dist/catalyst/scss/utils/_elevation.mixins.scss +8 -2
- package/dist/cjs/cat-alert_30.cjs.entry.js +274 -180
- package/dist/cjs/cat-alert_30.cjs.entry.js.map +1 -1
- package/dist/cjs/catalyst.cjs.js +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{of-aaee31a6.js → of-958251e4.js} +1 -1
- package/dist/cjs/{of-aaee31a6.js.map → of-958251e4.js.map} +1 -1
- package/dist/collection/components/cat-button/cat-button.css +1 -1
- package/dist/collection/components/cat-date/cat-date.js +8 -7
- package/dist/collection/components/cat-date/cat-date.js.map +1 -1
- package/dist/collection/components/cat-date-inline/cat-date-inline.js +10 -8
- package/dist/collection/components/cat-date-inline/cat-date-inline.js.map +1 -1
- package/dist/collection/components/cat-date-inline/cat-date-locale.js +2 -4
- package/dist/collection/components/cat-date-inline/cat-date-locale.js.map +1 -1
- package/dist/collection/components/cat-datepicker/cat-datepicker.js +9 -8
- package/dist/collection/components/cat-datepicker/cat-datepicker.js.map +1 -1
- package/dist/collection/components/cat-dropdown/cat-dropdown.js +1 -1
- package/dist/collection/components/cat-input/cat-input.js +8 -4
- package/dist/collection/components/cat-input/cat-input.js.map +1 -1
- package/dist/collection/components/cat-select/cat-select.js +1 -1
- package/dist/collection/components/cat-textarea/cat-textarea.js +25 -3
- package/dist/collection/components/cat-textarea/cat-textarea.js.map +1 -1
- package/dist/collection/components/cat-time/cat-time.js +8 -7
- package/dist/collection/components/cat-time/cat-time.js.map +1 -1
- package/dist/collection/components/cat-tooltip/cat-tooltip.css +18 -9
- package/dist/collection/scss/core/_notification.scss +4 -1
- package/dist/collection/scss/utils/_elevation.mixins.scss +8 -2
- package/dist/components/cat-button2.js +1 -1
- package/dist/components/cat-button2.js.map +1 -1
- package/dist/components/cat-date-inline2.js +12 -12
- package/dist/components/cat-date-inline2.js.map +1 -1
- package/dist/components/cat-date.js +3 -3
- package/dist/components/cat-date.js.map +1 -1
- package/dist/components/cat-datepicker.js +4 -4
- package/dist/components/cat-datepicker.js.map +1 -1
- package/dist/components/cat-dropdown2.js +169 -118
- package/dist/components/cat-dropdown2.js.map +1 -1
- package/dist/components/cat-input2.js +7 -4
- package/dist/components/cat-input2.js.map +1 -1
- package/dist/components/cat-textarea.js +8 -3
- package/dist/components/cat-textarea.js.map +1 -1
- package/dist/components/cat-time.js +3 -3
- package/dist/components/cat-time.js.map +1 -1
- package/dist/components/cat-tooltip.js +1 -1
- package/dist/components/cat-tooltip.js.map +1 -1
- package/dist/components/floating-ui.dom.esm.js +67 -29
- package/dist/components/floating-ui.dom.esm.js.map +1 -1
- package/dist/components/loglevel.js.map +1 -1
- package/dist/esm/cat-alert_30.entry.js +274 -180
- package/dist/esm/cat-alert_30.entry.js.map +1 -1
- package/dist/esm/catalyst.js +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{of-acb1f3a9.js → of-e4ec2eb4.js} +1 -1
- package/dist/esm/{of-acb1f3a9.js.map → of-e4ec2eb4.js.map} +1 -1
- package/dist/types/components/cat-date/cat-date.d.ts +1 -1
- package/dist/types/components/cat-datepicker/cat-datepicker.d.ts +1 -1
- package/dist/types/components/cat-input/cat-input.d.ts +2 -0
- package/dist/types/components/cat-textarea/cat-textarea.d.ts +6 -0
- package/dist/types/components/cat-time/cat-time.d.ts +1 -1
- package/dist/types/components.d.ts +11 -3
- package/package.json +8 -8
- package/dist/catalyst/p-ee89e395.entry.js +0 -10
- package/dist/catalyst/p-ee89e395.entry.js.map +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-0c9af7fb.js');
|
|
6
|
-
const of = require('./of-
|
|
6
|
+
const of = require('./of-958251e4.js');
|
|
7
7
|
|
|
8
8
|
const ObjectUnsubscribedError = of.createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {
|
|
9
9
|
_super(this);
|
|
@@ -1106,7 +1106,7 @@ function findClosest(selector, element) {
|
|
|
1106
1106
|
return nextElement ? findClosest(selector, nextElement) : null;
|
|
1107
1107
|
}
|
|
1108
1108
|
|
|
1109
|
-
const catButtonCss = ":host{display:inline-block;max-width:100%;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}:host([data-button-group=middle]),:host([data-button-group=last]){margin-left:-1px}.cat-button{position:relative;font:inherit;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--cat-border-radius-m, 0.25rem);text-decoration:none;width:100%;box-sizing:border-box;cursor:pointer;transition:color 125ms linear, border-color 125ms linear, background-color 125ms linear, box-shadow 125ms linear}.cat-button:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.cat-button-content{display:flex;flex-direction:column;min-width:0}.cat-button-empty .cat-button-content{display:none}.cat-button-content-inner{word-wrap:break-word;word-break:break-word}.cat-button-ellipsed .cat-button-content-inner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.cat-button-disabled{cursor:not-allowed}.cat-button-round{border-radius:10rem}.cat-button-loading{cursor:default}.cat-button-loading cat-spinner{position:absolute}.cat-button-loading>*:not(cat-spinner){visibility:hidden}.cat-button-group-first{border-top-right-radius:0;border-bottom-right-radius:0}.cat-button-group-middle{border-radius:0}.cat-button-group-last{border-top-left-radius:0;border-bottom-left-radius:0}.cat-button-group:hover{z-index:1}.cat-button-group:focus-visible{z-index:2}.cat-button-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:var(--cat-font-weight-button, 600);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.cat-button-filled.cat-button-disabled{--bg:242, 244, 247;--fill:var(--cat-font-color-muted, 81, 92, 108)}.cat-button-outlined{background-color:white;box-shadow:inset 0 0 0 1px color-mix(in srgb, rgb(var(--base)) 20%, #fff);color:rgb(var(--text))}.cat-button-outlined.cat-button-disabled{--base:var(--cat-font-color-muted, 81, 92, 108);--text:var(--cat-font-color-muted, 81, 92, 108)}.cat-button-outlined:hover:not(.cat-button-disabled):not(.cat-button-loading){background-color:color-mix(in srgb, rgb(var(--base)) 10%, #fff)}.cat-button-outlined.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading){background-color:color-mix(in srgb, rgb(var(--base)) 10%, #fff)}.cat-button-outlined:active:not(.cat-button-disabled):not(.cat-button-loading){background-color:color-mix(in srgb, rgb(var(--base)) 10%, #fff)}.cat-button-text{background-color:transparent;color:rgb(var(--text));text-decoration:var(--cat-link-button-decoration, none)}.cat-button-text.cat-button-disabled{--text:var(--cat-font-color-muted, 81, 92, 108)}.cat-button-text:hover:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.1)}.cat-button-text.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.1)}.cat-button-link{background-color:transparent;color:rgb(var(--text))}.cat-button-link.cat-button-disabled{--text:var(--cat-font-color-muted, 81, 92, 108)}.cat-button-link:hover:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:var(--cat-link-decoration-hover, underline)}.cat-button-link.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:var(--cat-link-decoration-hover, underline)}.cat-button-primary{--bg:var(--cat-primary-bg, 0, 129, 148);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 0, 129, 148);--base:var(--cat-primary-text, 0, 129, 148)}.cat-button-primary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-hover, 1, 115, 132);--fill:var(--cat-primary-fill-hover, 255, 255, 255);--text:var(--cat-primary-text-hover, 1, 115, 132)}.cat-button-primary.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-primary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-active, 2, 99, 113);--fill:var(--cat-primary-fill-active, 255, 255, 255);--text:var(--cat-primary-text-active, 2, 99, 113)}.cat-button-secondary{--bg:var(--cat-secondary-bg, 105, 118, 135);--fill:var(--cat-secondary-fill, 255, 255, 255);--text:var(--cat-secondary-text, 0, 0, 0);--base:var(--cat-secondary-bg, 105, 118, 135)}.cat-button-secondary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-secondary-bg-hover, 105, 118, 135);--fill:var(--cat-secondary-fill-hover, 255, 255, 255);--text:var(--cat-secondary-text-hover, 0, 0, 0)}.cat-button-secondary.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-secondary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-secondary-bg-active, 105, 118, 135);--fill:var(--cat-secondary-fill-active, 255, 255, 255);--text:var(--cat-secondary-text-active, 0, 0, 0)}.cat-button-info{--bg:var(--cat-info-bg, 0, 115, 230);--fill:var(--cat-info-fill, 255, 255, 255);--text:var(--cat-info-text, 0, 115, 230);--base:var(--cat-info-text, 0, 115, 230)}.cat-button-info:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-info-bg-hover, 0, 107, 227);--fill:var(--cat-info-fill-hover, 255, 255, 255);--text:var(--cat-info-text-hover, 0, 107, 227)}.cat-button-info.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-info:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-info-bg-active, 0, 96, 223);--fill:var(--cat-info-fill-active, 255, 255, 255);--text:var(--cat-info-text-active, 0, 96, 223)}.cat-button-success{--bg:var(--cat-success-bg, 0, 132, 88);--fill:var(--cat-success-fill, 255, 255, 255);--text:var(--cat-success-text, 0, 132, 88);--base:var(--cat-success-text, 0, 132, 88)}.cat-button-success:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-success-bg-hover, 0, 117, 78);--fill:var(--cat-success-fill-hover, 255, 255, 255);--text:var(--cat-success-text-hover, 0, 117, 78)}.cat-button-success.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-success:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-success-bg-active, 0, 105, 70);--fill:var(--cat-success-fill-active, 255, 255, 255);--text:var(--cat-success-text-active, 0, 105, 70)}.cat-button-warning{--bg:var(--cat-warning-bg, 255, 206, 128);--fill:var(--cat-warning-fill, 0, 0, 0);--text:var(--cat-warning-text, 159, 97, 0);--base:var(--cat-warning-text, 159, 97, 0)}.cat-button-warning:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-warning-bg-hover, 255, 214, 148);--fill:var(--cat-warning-fill-hover, 0, 0, 0);--text:var(--cat-warning-text-hover, 159, 97, 0)}.cat-button-warning.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-warning:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-warning-bg-active, 255, 222, 168);--fill:var(--cat-warning-fill-active, 0, 0, 0);--text:var(--cat-warning-text-active, 159, 97, 0)}.cat-button-danger{--bg:var(--cat-danger-bg, 217, 52, 13);--fill:var(--cat-danger-fill, 255, 255, 255);--text:var(--cat-danger-text, 217, 52, 13);--base:var(--cat-danger-text, 217, 52, 13)}.cat-button-danger:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-danger-bg-hover, 194, 46, 11);--fill:var(--cat-danger-fill-hover, 255, 255, 255);--text:var(--cat-danger-text-hover, 194, 46, 11)}.cat-button-danger.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-danger:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-danger-bg-active, 174, 42, 10);--fill:var(--cat-danger-fill-active, 255, 255, 255);--text:var(--cat-danger-text-active, 174, 42, 10)}:host(.cat-button-pull:not([size])){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h:not([size])){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v:not([size])){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t:not([size])){margin-top:-0.625rem}:host(.cat-button-pull-l:not([size])){margin-left:-0.75rem}:host(.cat-button-pull-b:not([size])){margin-bottom:-0.625rem}:host(.cat-button-pull-r:not([size])){margin-right:-0.75rem}.cat-button-xs{min-width:1.5rem;padding:0.1875rem 0.25rem;font-size:0.875rem;line-height:1.125rem;gap:0.25rem}.cat-button-xs.cat-button-icon{width:1.5rem;height:1.5rem;padding:0}:host(.cat-button-pull[size=xs]){margin:-0.1875rem -0.25rem}:host(.cat-button-pull-h[size=xs]){margin-left:-0.25rem;margin-right:-0.25rem}:host(.cat-button-pull-v[size=xs]){margin-top:-0.1875rem;margin-bottom:-0.1875rem}:host(.cat-button-pull-t[size=xs]){margin-top:-0.1875rem}:host(.cat-button-pull-l[size=xs]){margin-left:-0.25rem}:host(.cat-button-pull-b[size=xs]){margin-bottom:-0.1875rem}:host(.cat-button-pull-r[size=xs]){margin-right:-0.25rem}.cat-button-s{min-width:2rem;padding:0.375rem 0.5rem;font-size:0.9375rem;line-height:1.25rem;gap:0.25rem}.cat-button-s cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-s.cat-button-icon{width:2rem;height:2rem;padding:0}:host(.cat-button-pull[size=s]){margin:-0.375rem -0.5rem}:host(.cat-button-pull-h[size=s]){margin-left:-0.5rem;margin-right:-0.5rem}:host(.cat-button-pull-v[size=s]){margin-top:-0.375rem;margin-bottom:-0.375rem}:host(.cat-button-pull-t[size=s]){margin-top:-0.375rem}:host(.cat-button-pull-l[size=s]){margin-left:-0.5rem}:host(.cat-button-pull-b[size=s]){margin-bottom:-0.375rem}:host(.cat-button-pull-r[size=s]){margin-right:-0.5rem}.cat-button-m{min-width:2.5rem;padding:0.625rem 0.75rem;font-size:0.9375rem;line-height:1.25rem;gap:0.25rem}.cat-button-m cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-m.cat-button-icon{width:2.5rem;height:2.5rem;padding:0}:host(.cat-button-pull[size=m]){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h[size=m]){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v[size=m]){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t[size=m]){margin-top:-0.625rem}:host(.cat-button-pull-l[size=m]){margin-left:-0.75rem}:host(.cat-button-pull-b[size=m]){margin-bottom:-0.625rem}:host(.cat-button-pull-r[size=m]){margin-right:-0.75rem}.cat-button-l{min-width:3rem;padding:0.875rem 1rem;font-size:0.9375rem;line-height:1.25rem;gap:0.25rem}.cat-button-l cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-l.cat-button-icon{width:3rem;height:3rem;padding:0}:host(.cat-button-pull[size=l]){margin:-0.875rem -1rem}:host(.cat-button-pull-h[size=l]){margin-left:-1rem;margin-right:-1rem}:host(.cat-button-pull-v[size=l]){margin-top:-0.875rem;margin-bottom:-0.875rem}:host(.cat-button-pull-t[size=l]){margin-top:-0.875rem}:host(.cat-button-pull-l[size=l]){margin-left:-1rem}:host(.cat-button-pull-b[size=l]){margin-bottom:-0.875rem}:host(.cat-button-pull-r[size=l]){margin-right:-1rem}.cat-button-xl{min-width:3.5rem;padding:1rem 1.25rem;font-size:1.125rem;line-height:1.5rem;gap:0.25rem}.cat-button-xl.cat-button-icon{width:3.5rem;height:3.5rem;padding:0}:host(.cat-button-pull[size=xl]){margin:-1rem -1.25rem}:host(.cat-button-pull-h[size=xl]){margin-left:-1.25rem;margin-right:-1.25rem}:host(.cat-button-pull-v[size=xl]){margin-top:-1rem;margin-bottom:-1rem}:host(.cat-button-pull-t[size=xl]){margin-top:-1rem}:host(.cat-button-pull-l[size=xl]){margin-left:-1.25rem}:host(.cat-button-pull-b[size=xl]){margin-bottom:-1rem}:host(.cat-button-pull-r[size=xl]){margin-right:-1.25rem}:host(.cat-tab)::part(button){padding:1.125rem 0.75rem;--cat-secondary-bg:transparent;--cat-primary-text:transparent;--cat-danger-text:transparent}:host(.cat-tab)::part(content)::before{content:attr(data-text);content:attr(data-text)/\"\";height:0;visibility:hidden;overflow:hidden;user-select:none;pointer-events:none;font-weight:700}:host(.cat-text-left) .cat-button{justify-content:left;text-align:left}:host(.cat-text-right) .cat-button{justify-content:right;text-align:right}:host(.cat-nav-item){width:100%}:host(.cat-nav-item) .cat-button{box-shadow:none;justify-content:left;gap:0.5rem}:host(.cat-nav-item) .cat-button:focus-visible{outline-offset:-2px}:host(.cat-time-format) .cat-button{border-radius:0}:host(.cat-date-toggle) .cat-button,:host(.cat-time-toggle) .cat-button{margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}:host(.cat-date-item) .cat-button:hover,:host(.cat-date-toggle) .cat-button:hover,:host(.cat-time-format) .cat-button:hover,:host(.cat-time-toggle) .cat-button:hover{z-index:1}:host(.cat-date-item) .cat-button:focus-visible,:host(.cat-date-toggle) .cat-button:focus-visible,:host(.cat-time-format) .cat-button:focus-visible,:host(.cat-time-toggle) .cat-button:focus-visible{z-index:2}:host(.cat-date-item) .cat-button{padding:0;min-width:2rem;max-height:3rem;aspect-ratio:1}:host(.date-start:not(.date-end)) .cat-button{border-top-right-radius:0;border-bottom-right-radius:0}:host(.date-end:not(.date-start)) .cat-button{border-top-left-radius:0;border-bottom-left-radius:0}";
|
|
1109
|
+
const catButtonCss = ":host{display:inline-block;max-width:100%;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}:host([data-button-group=middle]),:host([data-button-group=last]){margin-left:-1px}.cat-button{position:relative;font:inherit;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--cat-border-radius-m, 0.25rem);text-decoration:none;width:100%;box-sizing:border-box;cursor:pointer;transition:color 125ms linear, border-color 125ms linear, background-color 125ms linear, box-shadow 125ms linear}.cat-button:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.cat-button-content{display:flex;flex-direction:column;min-width:0}.cat-button-empty .cat-button-content{display:none}.cat-button-content-inner{word-wrap:break-word;word-break:break-word}.cat-button-ellipsed .cat-button-content-inner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.cat-button-disabled{cursor:not-allowed}.cat-button-round{border-radius:10rem}.cat-button-loading{cursor:default}.cat-button-loading cat-spinner{position:absolute}.cat-button-loading>*:not(cat-spinner){visibility:hidden}.cat-button-group-first{border-top-right-radius:0;border-bottom-right-radius:0}.cat-button-group-middle{border-radius:0}.cat-button-group-last{border-top-left-radius:0;border-bottom-left-radius:0}.cat-button-group:hover{z-index:1}.cat-button-group:focus-visible{z-index:2}.cat-button-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:var(--cat-font-weight-button, 600);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.cat-button-filled.cat-button-disabled{--bg:242, 244, 247;--fill:var(--cat-font-color-muted, 81, 92, 108)}.cat-button-outlined{background-color:white;box-shadow:inset 0 0 0 1px color-mix(in srgb, rgb(var(--base)) 20%, #fff);color:rgb(var(--text))}.cat-button-outlined.cat-button-disabled{--base:var(--cat-font-color-muted, 81, 92, 108);--text:var(--cat-font-color-muted, 81, 92, 108)}.cat-button-outlined:hover:not(.cat-button-disabled):not(.cat-button-loading){background-color:color-mix(in srgb, rgb(var(--base)) 10%, #fff)}.cat-button-outlined.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading){background-color:color-mix(in srgb, rgb(var(--base)) 10%, #fff)}.cat-button-outlined:active:not(.cat-button-disabled):not(.cat-button-loading){background-color:color-mix(in srgb, rgb(var(--base)) 10%, #fff)}.cat-button-text{background-color:transparent;color:rgb(var(--text));text-decoration:var(--cat-link-button-decoration, none)}.cat-button-text.cat-button-disabled{--text:var(--cat-font-color-muted, 81, 92, 108)}.cat-button-text:hover:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.1)}.cat-button-text.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.1)}.cat-button-link{background-color:transparent;color:rgb(var(--text))}.cat-button-link.cat-button-disabled{--text:var(--cat-font-color-muted, 81, 92, 108)}.cat-button-link:hover:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:var(--cat-link-decoration-hover, underline)}.cat-button-link.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:var(--cat-link-decoration-hover, underline)}.cat-button-primary{--bg:var(--cat-primary-bg, 0, 129, 148);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 0, 129, 148);--base:var(--cat-primary-text, 0, 129, 148)}.cat-button-primary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-hover, 1, 115, 132);--fill:var(--cat-primary-fill-hover, 255, 255, 255);--text:var(--cat-primary-text-hover, 1, 115, 132)}.cat-button-primary.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-primary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-active, 2, 99, 113);--fill:var(--cat-primary-fill-active, 255, 255, 255);--text:var(--cat-primary-text-active, 2, 99, 113)}.cat-button-secondary{--bg:var(--cat-secondary-bg, 105, 118, 135);--fill:var(--cat-secondary-fill, 255, 255, 255);--text:var(--cat-secondary-text, 0, 0, 0);--base:var(--cat-secondary-bg, 105, 118, 135)}.cat-button-secondary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-secondary-bg-hover, 105, 118, 135);--fill:var(--cat-secondary-fill-hover, 255, 255, 255);--text:var(--cat-secondary-text-hover, 0, 0, 0)}.cat-button-secondary.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-secondary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-secondary-bg-active, 105, 118, 135);--fill:var(--cat-secondary-fill-active, 255, 255, 255);--text:var(--cat-secondary-text-active, 0, 0, 0)}.cat-button-info{--bg:var(--cat-info-bg, 0, 115, 230);--fill:var(--cat-info-fill, 255, 255, 255);--text:var(--cat-info-text, 0, 115, 230);--base:var(--cat-info-text, 0, 115, 230)}.cat-button-info:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-info-bg-hover, 0, 107, 227);--fill:var(--cat-info-fill-hover, 255, 255, 255);--text:var(--cat-info-text-hover, 0, 107, 227)}.cat-button-info.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-info:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-info-bg-active, 0, 96, 223);--fill:var(--cat-info-fill-active, 255, 255, 255);--text:var(--cat-info-text-active, 0, 96, 223)}.cat-button-success{--bg:var(--cat-success-bg, 0, 132, 88);--fill:var(--cat-success-fill, 255, 255, 255);--text:var(--cat-success-text, 0, 132, 88);--base:var(--cat-success-text, 0, 132, 88)}.cat-button-success:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-success-bg-hover, 0, 117, 78);--fill:var(--cat-success-fill-hover, 255, 255, 255);--text:var(--cat-success-text-hover, 0, 117, 78)}.cat-button-success.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-success:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-success-bg-active, 0, 105, 70);--fill:var(--cat-success-fill-active, 255, 255, 255);--text:var(--cat-success-text-active, 0, 105, 70)}.cat-button-warning{--bg:var(--cat-warning-bg, 255, 206, 128);--fill:var(--cat-warning-fill, 0, 0, 0);--text:var(--cat-warning-text, 159, 97, 0);--base:var(--cat-warning-text, 159, 97, 0)}.cat-button-warning:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-warning-bg-hover, 255, 214, 148);--fill:var(--cat-warning-fill-hover, 0, 0, 0);--text:var(--cat-warning-text-hover, 159, 97, 0)}.cat-button-warning.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-warning:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-warning-bg-active, 255, 222, 168);--fill:var(--cat-warning-fill-active, 0, 0, 0);--text:var(--cat-warning-text-active, 159, 97, 0)}.cat-button-danger{--bg:var(--cat-danger-bg, 217, 52, 13);--fill:var(--cat-danger-fill, 255, 255, 255);--text:var(--cat-danger-text, 217, 52, 13);--base:var(--cat-danger-text, 217, 52, 13)}.cat-button-danger:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-danger-bg-hover, 194, 46, 11);--fill:var(--cat-danger-fill-hover, 255, 255, 255);--text:var(--cat-danger-text-hover, 194, 46, 11)}.cat-button-danger.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-danger:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-danger-bg-active, 174, 42, 10);--fill:var(--cat-danger-fill-active, 255, 255, 255);--text:var(--cat-danger-text-active, 174, 42, 10)}:host(.cat-button-pull:not([size])){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h:not([size])){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v:not([size])){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t:not([size])){margin-top:-0.625rem}:host(.cat-button-pull-l:not([size])){margin-left:-0.75rem}:host(.cat-button-pull-b:not([size])){margin-bottom:-0.625rem}:host(.cat-button-pull-r:not([size])){margin-right:-0.75rem}.cat-button-xs{min-width:1.5rem;padding:0.1875rem 0.25rem;font-size:0.875rem;line-height:1.125rem;gap:0.25rem}.cat-button-xs.cat-button-icon{width:1.5rem;height:1.5rem;padding:0}:host(.cat-button-pull[size=xs]){margin:-0.1875rem -0.25rem}:host(.cat-button-pull-h[size=xs]){margin-left:-0.25rem;margin-right:-0.25rem}:host(.cat-button-pull-v[size=xs]){margin-top:-0.1875rem;margin-bottom:-0.1875rem}:host(.cat-button-pull-t[size=xs]){margin-top:-0.1875rem}:host(.cat-button-pull-l[size=xs]){margin-left:-0.25rem}:host(.cat-button-pull-b[size=xs]){margin-bottom:-0.1875rem}:host(.cat-button-pull-r[size=xs]){margin-right:-0.25rem}.cat-button-s{min-width:2rem;padding:0.375rem 0.5rem;font-size:0.9375rem;line-height:1.25rem;gap:0.25rem}.cat-button-s cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-s.cat-button-icon{width:2rem;height:2rem;padding:0}:host(.cat-button-pull[size=s]){margin:-0.375rem -0.5rem}:host(.cat-button-pull-h[size=s]){margin-left:-0.5rem;margin-right:-0.5rem}:host(.cat-button-pull-v[size=s]){margin-top:-0.375rem;margin-bottom:-0.375rem}:host(.cat-button-pull-t[size=s]){margin-top:-0.375rem}:host(.cat-button-pull-l[size=s]){margin-left:-0.5rem}:host(.cat-button-pull-b[size=s]){margin-bottom:-0.375rem}:host(.cat-button-pull-r[size=s]){margin-right:-0.5rem}.cat-button-m{min-width:2.5rem;padding:0.625rem 0.75rem;font-size:0.9375rem;line-height:1.25rem;gap:0.25rem}.cat-button-m cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-m.cat-button-icon{width:2.5rem;height:2.5rem;padding:0}:host(.cat-button-pull[size=m]){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h[size=m]){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v[size=m]){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t[size=m]){margin-top:-0.625rem}:host(.cat-button-pull-l[size=m]){margin-left:-0.75rem}:host(.cat-button-pull-b[size=m]){margin-bottom:-0.625rem}:host(.cat-button-pull-r[size=m]){margin-right:-0.75rem}.cat-button-l{min-width:3rem;padding:0.875rem 1rem;font-size:0.9375rem;line-height:1.25rem;gap:0.25rem}.cat-button-l cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-l.cat-button-icon{width:3rem;height:3rem;padding:0}:host(.cat-button-pull[size=l]){margin:-0.875rem -1rem}:host(.cat-button-pull-h[size=l]){margin-left:-1rem;margin-right:-1rem}:host(.cat-button-pull-v[size=l]){margin-top:-0.875rem;margin-bottom:-0.875rem}:host(.cat-button-pull-t[size=l]){margin-top:-0.875rem}:host(.cat-button-pull-l[size=l]){margin-left:-1rem}:host(.cat-button-pull-b[size=l]){margin-bottom:-0.875rem}:host(.cat-button-pull-r[size=l]){margin-right:-1rem}.cat-button-xl{min-width:3.5rem;padding:1rem 1.25rem;font-size:1.125rem;line-height:1.5rem;gap:0.5rem}.cat-button-xl.cat-button-icon{width:3.5rem;height:3.5rem;padding:0}:host(.cat-button-pull[size=xl]){margin:-1rem -1.25rem}:host(.cat-button-pull-h[size=xl]){margin-left:-1.25rem;margin-right:-1.25rem}:host(.cat-button-pull-v[size=xl]){margin-top:-1rem;margin-bottom:-1rem}:host(.cat-button-pull-t[size=xl]){margin-top:-1rem}:host(.cat-button-pull-l[size=xl]){margin-left:-1.25rem}:host(.cat-button-pull-b[size=xl]){margin-bottom:-1rem}:host(.cat-button-pull-r[size=xl]){margin-right:-1.25rem}:host(.cat-tab)::part(button){padding:1.125rem 0.75rem;--cat-secondary-bg:transparent;--cat-primary-text:transparent;--cat-danger-text:transparent}:host(.cat-tab)::part(content)::before{content:attr(data-text);content:attr(data-text)/\"\";height:0;visibility:hidden;overflow:hidden;user-select:none;pointer-events:none;font-weight:700}:host(.cat-text-left) .cat-button{justify-content:left;text-align:left}:host(.cat-text-right) .cat-button{justify-content:right;text-align:right}:host(.cat-nav-item){width:100%}:host(.cat-nav-item) .cat-button{box-shadow:none;justify-content:left;gap:0.5rem}:host(.cat-nav-item) .cat-button:focus-visible{outline-offset:-2px}:host(.cat-time-format) .cat-button{border-radius:0}:host(.cat-date-toggle) .cat-button,:host(.cat-time-toggle) .cat-button{margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}:host(.cat-date-item) .cat-button:hover,:host(.cat-date-toggle) .cat-button:hover,:host(.cat-time-format) .cat-button:hover,:host(.cat-time-toggle) .cat-button:hover{z-index:1}:host(.cat-date-item) .cat-button:focus-visible,:host(.cat-date-toggle) .cat-button:focus-visible,:host(.cat-time-format) .cat-button:focus-visible,:host(.cat-time-toggle) .cat-button:focus-visible{z-index:2}:host(.cat-date-item) .cat-button{padding:0;min-width:2rem;max-height:3rem;aspect-ratio:1}:host(.date-start:not(.date-end)) .cat-button{border-top-right-radius:0;border-bottom-right-radius:0}:host(.date-end:not(.date-start)) .cat-button{border-top-left-radius:0;border-bottom-left-radius:0}";
|
|
1110
1110
|
const CatButtonStyle0 = catButtonCss;
|
|
1111
1111
|
|
|
1112
1112
|
const CatButton = class {
|
|
@@ -1434,14 +1434,12 @@ const CatCheckbox = class {
|
|
|
1434
1434
|
CatCheckbox.style = CatCheckboxStyle0;
|
|
1435
1435
|
|
|
1436
1436
|
function getDays(language, weekday = 'long') {
|
|
1437
|
-
const date = new Date();
|
|
1438
|
-
const firstDayOfWeek = (date.getUTCDate() - date.getUTCDay() + 7) % 7;
|
|
1439
1437
|
const format = new Intl.DateTimeFormat(language, { weekday }).format;
|
|
1440
|
-
return [...Array(7).keys()].map(day => format(new Date(
|
|
1438
|
+
return [...Array(7).keys()].map(day => format(new Date(2000, 4, 14 + day)));
|
|
1441
1439
|
}
|
|
1442
1440
|
function getMonths(language, month = 'long') {
|
|
1443
1441
|
const format = new Intl.DateTimeFormat(language, { month }).format;
|
|
1444
|
-
return [...Array(12).keys()].map(month => format(new Date(2000, month,
|
|
1442
|
+
return [...Array(12).keys()].map(month => format(new Date(2000, month, 15)));
|
|
1445
1443
|
}
|
|
1446
1444
|
function getWeekInfo(language) {
|
|
1447
1445
|
const locale = new Intl.Locale(language);
|
|
@@ -1548,7 +1546,7 @@ const CatDate = class {
|
|
|
1548
1546
|
this.inputFocused = false;
|
|
1549
1547
|
this.requiredMarker = 'optional';
|
|
1550
1548
|
this.horizontal = false;
|
|
1551
|
-
this.autoComplete =
|
|
1549
|
+
this.autoComplete = 'off';
|
|
1552
1550
|
this.clearable = false;
|
|
1553
1551
|
this.disabled = false;
|
|
1554
1552
|
this.hint = undefined;
|
|
@@ -1626,14 +1624,14 @@ const CatDate = class {
|
|
|
1626
1624
|
}
|
|
1627
1625
|
render() {
|
|
1628
1626
|
this.hostElement.tabIndex = Number(this.hostElement.getAttribute('tabindex')) || 0;
|
|
1629
|
-
return (index.h(index.Host, { key: '
|
|
1627
|
+
return (index.h(index.Host, { key: '9635d72c77b9f68f5d650a5ef9e1883672e4865f' }, index.h("cat-input", { key: '469f2bab5fd76cb6f09ee7b484cb222a154e3718', class: "cat-date-input", ref: el => (this.input = el), requiredMarker: this.requiredMarker, horizontal: this.horizontal, autoComplete: this.autoComplete, clearable: this.clearable, disabled: this.disabled, hint: this.hint, icon: this.icon, iconRight: this.iconRight, identifier: this.identifier, labelHidden: this.labelHidden, name: this.name, placeholder: this.placeholder, textPrefix: this.textPrefix, textSuffix: this.textSuffix, readonly: this.readonly, required: this.required, errors: this.errors, errorUpdate: this.errorUpdate, nativeAttributes: this.nativeAttributes, value: this.inputValue, onCatFocus: e => {
|
|
1630
1628
|
this.inputFocused = e.target === this.input;
|
|
1631
1629
|
e.stopPropagation();
|
|
1632
1630
|
this.catFocus.emit(e.detail);
|
|
1633
1631
|
}, onCatBlur: e => {
|
|
1634
1632
|
e.stopPropagation();
|
|
1635
1633
|
this.onInputBlur(e.detail);
|
|
1636
|
-
} }, index.h("span", { key: '
|
|
1634
|
+
} }, index.h("span", { key: '65e0c84bf675f0c76896f06452068acfb0326e2e', slot: "label" }, this.label, index.h("span", { key: '67f3e80eb70dd817b481ca7945edfc83d2451c78', class: "label-aria" }, " (", this.locale.formatStr, ")")), index.h("cat-dropdown", { key: 'a05ef8d20ade5dda5801e44142efdb3b532b76f7', slot: "addon", placement: this.placement, arrowNavigation: "none", noResize: true, onCatOpen: () => this.dateInline?.resetView() }, index.h("cat-button", { key: 'a4d464eead26162405655074e352e2024c04a201', slot: "trigger", icon: "$cat:datepicker-calendar", iconOnly: true, class: "cat-date-toggle", disabled: this.disabled, a11yLabel: this.getTriggerA11yLabel() }), index.h("div", { key: 'e9b8ac737e80392f98b933d4870309cb8843d166', slot: "content" }, index.h("cat-date-inline", { key: '541651169cd502dd166aa9443c6392118f3bd26a', ref: el => (this.dateInline = el), min: this.min, max: this.max, value: this.value, hint: true, weeks: true, noClear: true, onCatChange: this.onDateChange.bind(this) }))))));
|
|
1637
1635
|
}
|
|
1638
1636
|
getTriggerA11yLabel() {
|
|
1639
1637
|
const date = this.locale.fromLocalISO(this.value);
|
|
@@ -2472,14 +2470,16 @@ const CatDateInline = class {
|
|
|
2472
2470
|
}
|
|
2473
2471
|
}
|
|
2474
2472
|
navigate(direction, period) {
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2473
|
+
const offset = direction === 'prev' ? -1 : 1;
|
|
2474
|
+
const targetYear = this.viewDate.getFullYear() + (period === 'year' ? offset : 0);
|
|
2475
|
+
const targetMonth = this.viewDate.getMonth() + (period === 'month' ? offset : 0);
|
|
2476
|
+
const date = new Date(this.viewDate);
|
|
2477
|
+
date.setFullYear(targetYear);
|
|
2478
|
+
date.setMonth(targetMonth);
|
|
2479
|
+
const minDate = new Date(targetYear, targetMonth, 1);
|
|
2480
|
+
const maxDay = new Date(targetYear, targetMonth + 1, 0).getDate();
|
|
2481
|
+
const maxDate = new Date(targetYear, targetMonth, maxDay);
|
|
2482
|
+
this.viewDate = clampDate(minDate, date, maxDate);
|
|
2483
2483
|
this.setAriaLive(this.getHeadline());
|
|
2484
2484
|
}
|
|
2485
2485
|
setAriaLive(text) {
|
|
@@ -6588,7 +6588,7 @@ function isOverflowElement(element) {
|
|
|
6588
6588
|
function isTableElement(element) {
|
|
6589
6589
|
return ['table', 'td', 'th'].includes(getNodeName(element));
|
|
6590
6590
|
}
|
|
6591
|
-
function isTopLayer
|
|
6591
|
+
function isTopLayer(element) {
|
|
6592
6592
|
return [':popover-open', ':modal'].some(selector => {
|
|
6593
6593
|
try {
|
|
6594
6594
|
return element.matches(selector);
|
|
@@ -6602,14 +6602,15 @@ function isContainingBlock(elementOrCss) {
|
|
|
6602
6602
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
6603
6603
|
|
|
6604
6604
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
6605
|
-
|
|
6605
|
+
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
6606
|
+
return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));
|
|
6606
6607
|
}
|
|
6607
6608
|
function getContainingBlock(element) {
|
|
6608
6609
|
let currentNode = getParentNode(element);
|
|
6609
6610
|
while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
|
|
6610
6611
|
if (isContainingBlock(currentNode)) {
|
|
6611
6612
|
return currentNode;
|
|
6612
|
-
} else if (isTopLayer
|
|
6613
|
+
} else if (isTopLayer(currentNode)) {
|
|
6613
6614
|
return null;
|
|
6614
6615
|
}
|
|
6615
6616
|
currentNode = getParentNode(currentNode);
|
|
@@ -6786,7 +6787,7 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
|
|
|
6786
6787
|
const win = getWindow(domElement);
|
|
6787
6788
|
const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
|
|
6788
6789
|
let currentWin = win;
|
|
6789
|
-
let currentIFrame = currentWin
|
|
6790
|
+
let currentIFrame = getFrameElement(currentWin);
|
|
6790
6791
|
while (currentIFrame && offsetParent && offsetWin !== currentWin) {
|
|
6791
6792
|
const iframeScale = getScale(currentIFrame);
|
|
6792
6793
|
const iframeRect = currentIFrame.getBoundingClientRect();
|
|
@@ -6800,7 +6801,7 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
|
|
|
6800
6801
|
x += left;
|
|
6801
6802
|
y += top;
|
|
6802
6803
|
currentWin = getWindow(currentIFrame);
|
|
6803
|
-
currentIFrame = currentWin
|
|
6804
|
+
currentIFrame = getFrameElement(currentWin);
|
|
6804
6805
|
}
|
|
6805
6806
|
}
|
|
6806
6807
|
return rectToClientRect({
|
|
@@ -6811,15 +6812,29 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
|
|
|
6811
6812
|
});
|
|
6812
6813
|
}
|
|
6813
6814
|
|
|
6814
|
-
|
|
6815
|
-
|
|
6816
|
-
|
|
6817
|
-
|
|
6818
|
-
|
|
6819
|
-
|
|
6820
|
-
|
|
6821
|
-
|
|
6822
|
-
|
|
6815
|
+
// If <html> has a CSS width greater than the viewport, then this will be
|
|
6816
|
+
// incorrect for RTL.
|
|
6817
|
+
function getWindowScrollBarX(element, rect) {
|
|
6818
|
+
const leftScroll = getNodeScroll(element).scrollLeft;
|
|
6819
|
+
if (!rect) {
|
|
6820
|
+
return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
|
|
6821
|
+
}
|
|
6822
|
+
return rect.left + leftScroll;
|
|
6823
|
+
}
|
|
6824
|
+
|
|
6825
|
+
function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
|
|
6826
|
+
if (ignoreScrollbarX === void 0) {
|
|
6827
|
+
ignoreScrollbarX = false;
|
|
6828
|
+
}
|
|
6829
|
+
const htmlRect = documentElement.getBoundingClientRect();
|
|
6830
|
+
const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :
|
|
6831
|
+
// RTL <body> scrollbar.
|
|
6832
|
+
getWindowScrollBarX(documentElement, htmlRect));
|
|
6833
|
+
const y = htmlRect.top + scroll.scrollTop;
|
|
6834
|
+
return {
|
|
6835
|
+
x,
|
|
6836
|
+
y
|
|
6837
|
+
};
|
|
6823
6838
|
}
|
|
6824
6839
|
|
|
6825
6840
|
function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
@@ -6853,11 +6868,12 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
6853
6868
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
6854
6869
|
}
|
|
6855
6870
|
}
|
|
6871
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);
|
|
6856
6872
|
return {
|
|
6857
6873
|
width: rect.width * scale.x,
|
|
6858
6874
|
height: rect.height * scale.y,
|
|
6859
|
-
x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,
|
|
6860
|
-
y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y
|
|
6875
|
+
x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
|
|
6876
|
+
y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
|
|
6861
6877
|
};
|
|
6862
6878
|
}
|
|
6863
6879
|
|
|
@@ -6865,12 +6881,6 @@ function getClientRects(element) {
|
|
|
6865
6881
|
return Array.from(element.getClientRects());
|
|
6866
6882
|
}
|
|
6867
6883
|
|
|
6868
|
-
function getWindowScrollBarX(element) {
|
|
6869
|
-
// If <html> has a CSS width greater than the viewport, then this will be
|
|
6870
|
-
// incorrect for RTL.
|
|
6871
|
-
return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;
|
|
6872
|
-
}
|
|
6873
|
-
|
|
6874
6884
|
// Gets the entire size of the scrollable document area, even extending outside
|
|
6875
6885
|
// of the `<html>` and `<body>` rect bounds if horizontally scrollable.
|
|
6876
6886
|
function getDocumentRect(element) {
|
|
@@ -6945,9 +6955,10 @@ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy)
|
|
|
6945
6955
|
} else {
|
|
6946
6956
|
const visualOffsets = getVisualOffsets(element);
|
|
6947
6957
|
rect = {
|
|
6948
|
-
...clippingAncestor,
|
|
6949
6958
|
x: clippingAncestor.x - visualOffsets.x,
|
|
6950
|
-
y: clippingAncestor.y - visualOffsets.y
|
|
6959
|
+
y: clippingAncestor.y - visualOffsets.y,
|
|
6960
|
+
width: clippingAncestor.width,
|
|
6961
|
+
height: clippingAncestor.height
|
|
6951
6962
|
};
|
|
6952
6963
|
}
|
|
6953
6964
|
return rectToClientRect(rect);
|
|
@@ -7052,11 +7063,14 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
7052
7063
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
7053
7064
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
7054
7065
|
} else if (documentElement) {
|
|
7066
|
+
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
7067
|
+
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
7055
7068
|
offsets.x = getWindowScrollBarX(documentElement);
|
|
7056
7069
|
}
|
|
7057
7070
|
}
|
|
7058
|
-
const
|
|
7059
|
-
const
|
|
7071
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
7072
|
+
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
|
|
7073
|
+
const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
|
|
7060
7074
|
return {
|
|
7061
7075
|
x,
|
|
7062
7076
|
y,
|
|
@@ -7076,7 +7090,16 @@ function getTrueOffsetParent(element, polyfill) {
|
|
|
7076
7090
|
if (polyfill) {
|
|
7077
7091
|
return polyfill(element);
|
|
7078
7092
|
}
|
|
7079
|
-
|
|
7093
|
+
let rawOffsetParent = element.offsetParent;
|
|
7094
|
+
|
|
7095
|
+
// Firefox returns the <html> element as the offsetParent if it's non-static,
|
|
7096
|
+
// while Chrome and Safari return the <body> element. The <body> element must
|
|
7097
|
+
// be used to perform the correct calculations even if the <html> element is
|
|
7098
|
+
// non-static.
|
|
7099
|
+
if (getDocumentElement(element) === rawOffsetParent) {
|
|
7100
|
+
rawOffsetParent = rawOffsetParent.ownerDocument.body;
|
|
7101
|
+
}
|
|
7102
|
+
return rawOffsetParent;
|
|
7080
7103
|
}
|
|
7081
7104
|
|
|
7082
7105
|
// Gets the closest ancestor positioned element. Handles some edge cases,
|
|
@@ -7138,6 +7161,10 @@ const platform = {
|
|
|
7138
7161
|
isRTL
|
|
7139
7162
|
};
|
|
7140
7163
|
|
|
7164
|
+
function rectsAreEqual(a, b) {
|
|
7165
|
+
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
7166
|
+
}
|
|
7167
|
+
|
|
7141
7168
|
// https://samthor.au/2021/observing-dom/
|
|
7142
7169
|
function observeMove(element, onMove) {
|
|
7143
7170
|
let io = null;
|
|
@@ -7157,12 +7184,13 @@ function observeMove(element, onMove) {
|
|
|
7157
7184
|
threshold = 1;
|
|
7158
7185
|
}
|
|
7159
7186
|
cleanup();
|
|
7187
|
+
const elementRectForRootMargin = element.getBoundingClientRect();
|
|
7160
7188
|
const {
|
|
7161
7189
|
left,
|
|
7162
7190
|
top,
|
|
7163
7191
|
width,
|
|
7164
7192
|
height
|
|
7165
|
-
} =
|
|
7193
|
+
} = elementRectForRootMargin;
|
|
7166
7194
|
if (!skip) {
|
|
7167
7195
|
onMove();
|
|
7168
7196
|
}
|
|
@@ -7195,6 +7223,16 @@ function observeMove(element, onMove) {
|
|
|
7195
7223
|
refresh(false, ratio);
|
|
7196
7224
|
}
|
|
7197
7225
|
}
|
|
7226
|
+
if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
|
|
7227
|
+
// It's possible that even though the ratio is reported as 1, the
|
|
7228
|
+
// element is not actually fully within the IntersectionObserver's root
|
|
7229
|
+
// area anymore. This can happen under performance constraints. This may
|
|
7230
|
+
// be a bug in the browser's IntersectionObserver implementation. To
|
|
7231
|
+
// work around this, we compare the element's bounding rect now with
|
|
7232
|
+
// what it was at the time we created the IntersectionObserver. If they
|
|
7233
|
+
// are not equal then the element moved, so we refresh.
|
|
7234
|
+
refresh();
|
|
7235
|
+
}
|
|
7198
7236
|
isFirstUpdate = false;
|
|
7199
7237
|
}
|
|
7200
7238
|
|
|
@@ -7272,7 +7310,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
7272
7310
|
}
|
|
7273
7311
|
function frameLoop() {
|
|
7274
7312
|
const nextRefRect = getBoundingClientRect(reference);
|
|
7275
|
-
if (prevRefRect && (
|
|
7313
|
+
if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
|
|
7276
7314
|
update();
|
|
7277
7315
|
}
|
|
7278
7316
|
prevRefRect = nextRefRect;
|
|
@@ -7396,7 +7434,7 @@ const CatDatepickerFlat = class {
|
|
|
7396
7434
|
this.hasSlottedHint = false;
|
|
7397
7435
|
this.requiredMarker = 'optional';
|
|
7398
7436
|
this.horizontal = false;
|
|
7399
|
-
this.autoComplete =
|
|
7437
|
+
this.autoComplete = 'off';
|
|
7400
7438
|
this.clearable = false;
|
|
7401
7439
|
this.disabled = false;
|
|
7402
7440
|
this.hint = undefined;
|
|
@@ -7484,7 +7522,7 @@ const CatDatepickerFlat = class {
|
|
|
7484
7522
|
}
|
|
7485
7523
|
render() {
|
|
7486
7524
|
return [
|
|
7487
|
-
index.h("cat-input", { key: '
|
|
7525
|
+
index.h("cat-input", { key: '472e33835c2ac42e3e648d7b4b80551bfad276bb', ref: el => (this._input = el), requiredMarker: this.requiredMarker, horizontal: this.horizontal, autoComplete: this.autoComplete, clearable: this.clearable, disabled: this.disabled, hint: this.hint, icon: this.icon, iconRight: this.iconRight, identifier: this.identifier, label: this.label, labelHidden: this.labelHidden, name: this.name, placeholder: this.placeholder, textPrefix: this.textPrefix, textSuffix: this.textSuffix, readonly: this.readonly, required: this.required, value: this.value, errors: this.errors, errorUpdate: this.errorUpdate, nativeAttributes: this.nativeAttributes, onCatChange: e => {
|
|
7488
7526
|
e.stopPropagation();
|
|
7489
7527
|
this.value = e.detail || undefined;
|
|
7490
7528
|
}, onCatFocus: e => {
|
|
@@ -7493,8 +7531,8 @@ const CatDatepickerFlat = class {
|
|
|
7493
7531
|
}, onCatBlur: e => {
|
|
7494
7532
|
e.stopPropagation();
|
|
7495
7533
|
this.catBlur.emit(e.detail);
|
|
7496
|
-
} }, this.hasSlottedLabel && (index.h("span", { key: '
|
|
7497
|
-
index.h("div", { key: '
|
|
7534
|
+
} }, this.hasSlottedLabel && (index.h("span", { key: '9e883cc02c66b78e8be8221a5632f37b016df965', slot: "label" }, index.h("slot", { key: '892603e7cb7e645e92503a30f2eb89dc5b2be9bc', name: "label" }))), this.hasSlottedHint && (index.h("span", { key: 'b5f4e4fad0aca02ab0d9c1a94d4f5e7582634490', slot: "hint" }, index.h("slot", { key: '4d9184fd37321b6b7709a25a3cee17057b5cfcb7', name: "hint" })))),
|
|
7535
|
+
index.h("div", { key: '8eccd0924e6dfcd2fdf2d71feba880ca84d44e87', ref: el => (this._calendarWrapper = el), class: "datepicker-wrapper" })
|
|
7498
7536
|
];
|
|
7499
7537
|
}
|
|
7500
7538
|
initDatepicker(input) {
|
|
@@ -7637,10 +7675,32 @@ CatDatepickerInline.style = CatDatepickerInlineStyle0;
|
|
|
7637
7675
|
const timeTransitionS = 125;
|
|
7638
7676
|
|
|
7639
7677
|
/*!
|
|
7640
|
-
* focus-trap 7.
|
|
7678
|
+
* focus-trap 7.6.4
|
|
7641
7679
|
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
7642
7680
|
*/
|
|
7643
7681
|
|
|
7682
|
+
function _arrayLikeToArray(r, a) {
|
|
7683
|
+
(null == a || a > r.length) && (a = r.length);
|
|
7684
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
7685
|
+
return n;
|
|
7686
|
+
}
|
|
7687
|
+
function _arrayWithoutHoles(r) {
|
|
7688
|
+
if (Array.isArray(r)) return _arrayLikeToArray(r);
|
|
7689
|
+
}
|
|
7690
|
+
function _defineProperty(e, r, t) {
|
|
7691
|
+
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
7692
|
+
value: t,
|
|
7693
|
+
enumerable: true,
|
|
7694
|
+
configurable: true,
|
|
7695
|
+
writable: true
|
|
7696
|
+
}) : e[r] = t, e;
|
|
7697
|
+
}
|
|
7698
|
+
function _iterableToArray(r) {
|
|
7699
|
+
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
|
|
7700
|
+
}
|
|
7701
|
+
function _nonIterableSpread() {
|
|
7702
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
7703
|
+
}
|
|
7644
7704
|
function ownKeys(e, r) {
|
|
7645
7705
|
var t = Object.keys(e);
|
|
7646
7706
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -7654,7 +7714,7 @@ function ownKeys(e, r) {
|
|
|
7654
7714
|
function _objectSpread2(e) {
|
|
7655
7715
|
for (var r = 1; r < arguments.length; r++) {
|
|
7656
7716
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
7657
|
-
r % 2 ? ownKeys(Object(t),
|
|
7717
|
+
r % 2 ? ownKeys(Object(t), true).forEach(function (r) {
|
|
7658
7718
|
_defineProperty(e, r, t[r]);
|
|
7659
7719
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
|
|
7660
7720
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
@@ -7662,33 +7722,29 @@ function _objectSpread2(e) {
|
|
|
7662
7722
|
}
|
|
7663
7723
|
return e;
|
|
7664
7724
|
}
|
|
7665
|
-
function
|
|
7666
|
-
|
|
7667
|
-
|
|
7668
|
-
|
|
7669
|
-
|
|
7670
|
-
|
|
7671
|
-
|
|
7672
|
-
|
|
7673
|
-
|
|
7674
|
-
} else {
|
|
7675
|
-
obj[key] = value;
|
|
7676
|
-
}
|
|
7677
|
-
return obj;
|
|
7678
|
-
}
|
|
7679
|
-
function _toPrimitive(input, hint) {
|
|
7680
|
-
if (typeof input !== "object" || input === null) return input;
|
|
7681
|
-
var prim = input[Symbol.toPrimitive];
|
|
7682
|
-
if (prim !== undefined) {
|
|
7683
|
-
var res = prim.call(input, hint || "default");
|
|
7684
|
-
if (typeof res !== "object") return res;
|
|
7725
|
+
function _toConsumableArray(r) {
|
|
7726
|
+
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
|
|
7727
|
+
}
|
|
7728
|
+
function _toPrimitive(t, r) {
|
|
7729
|
+
if ("object" != typeof t || !t) return t;
|
|
7730
|
+
var e = t[Symbol.toPrimitive];
|
|
7731
|
+
if (undefined !== e) {
|
|
7732
|
+
var i = e.call(t, r || "default");
|
|
7733
|
+
if ("object" != typeof i) return i;
|
|
7685
7734
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
7686
7735
|
}
|
|
7687
|
-
return (
|
|
7736
|
+
return ("string" === r ? String : Number)(t);
|
|
7688
7737
|
}
|
|
7689
|
-
function _toPropertyKey(
|
|
7690
|
-
var
|
|
7691
|
-
return
|
|
7738
|
+
function _toPropertyKey(t) {
|
|
7739
|
+
var i = _toPrimitive(t, "string");
|
|
7740
|
+
return "symbol" == typeof i ? i : i + "";
|
|
7741
|
+
}
|
|
7742
|
+
function _unsupportedIterableToArray(r, a) {
|
|
7743
|
+
if (r) {
|
|
7744
|
+
if ("string" == typeof r) return _arrayLikeToArray(r, a);
|
|
7745
|
+
var t = {}.toString.call(r).slice(8, -1);
|
|
7746
|
+
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : undefined;
|
|
7747
|
+
}
|
|
7692
7748
|
}
|
|
7693
7749
|
|
|
7694
7750
|
var activeFocusTraps = {
|
|
@@ -7696,7 +7752,7 @@ var activeFocusTraps = {
|
|
|
7696
7752
|
if (trapStack.length > 0) {
|
|
7697
7753
|
var activeTrap = trapStack[trapStack.length - 1];
|
|
7698
7754
|
if (activeTrap !== trap) {
|
|
7699
|
-
activeTrap.
|
|
7755
|
+
activeTrap._setPausedState(true);
|
|
7700
7756
|
}
|
|
7701
7757
|
}
|
|
7702
7758
|
var trapIndex = trapStack.indexOf(trap);
|
|
@@ -7713,8 +7769,8 @@ var activeFocusTraps = {
|
|
|
7713
7769
|
if (trapIndex !== -1) {
|
|
7714
7770
|
trapStack.splice(trapIndex, 1);
|
|
7715
7771
|
}
|
|
7716
|
-
if (trapStack.length > 0) {
|
|
7717
|
-
trapStack[trapStack.length - 1].
|
|
7772
|
+
if (trapStack.length > 0 && !trapStack[trapStack.length - 1]._isManuallyPaused()) {
|
|
7773
|
+
trapStack[trapStack.length - 1]._setPausedState(false);
|
|
7718
7774
|
}
|
|
7719
7775
|
}
|
|
7720
7776
|
};
|
|
@@ -7722,10 +7778,10 @@ var isSelectableInput = function isSelectableInput(node) {
|
|
|
7722
7778
|
return node.tagName && node.tagName.toLowerCase() === 'input' && typeof node.select === 'function';
|
|
7723
7779
|
};
|
|
7724
7780
|
var isEscapeEvent = function isEscapeEvent(e) {
|
|
7725
|
-
return (e === null || e ===
|
|
7781
|
+
return (e === null || e === undefined ? undefined : e.key) === 'Escape' || (e === null || e === undefined ? undefined : e.key) === 'Esc' || (e === null || e === undefined ? undefined : e.keyCode) === 27;
|
|
7726
7782
|
};
|
|
7727
7783
|
var isTabEvent = function isTabEvent(e) {
|
|
7728
|
-
return (e === null || e ===
|
|
7784
|
+
return (e === null || e === undefined ? undefined : e.key) === 'Tab' || (e === null || e === undefined ? undefined : e.keyCode) === 9;
|
|
7729
7785
|
};
|
|
7730
7786
|
|
|
7731
7787
|
// checks for TAB by default
|
|
@@ -7741,22 +7797,6 @@ var delay = function delay(fn) {
|
|
|
7741
7797
|
return setTimeout(fn, 0);
|
|
7742
7798
|
};
|
|
7743
7799
|
|
|
7744
|
-
// Array.find/findIndex() are not supported on IE; this replicates enough
|
|
7745
|
-
// of Array.findIndex() for our needs
|
|
7746
|
-
var findIndex = function findIndex(arr, fn) {
|
|
7747
|
-
var idx = -1;
|
|
7748
|
-
arr.every(function (value, i) {
|
|
7749
|
-
if (fn(value)) {
|
|
7750
|
-
idx = i;
|
|
7751
|
-
return false; // break
|
|
7752
|
-
}
|
|
7753
|
-
|
|
7754
|
-
return true; // next
|
|
7755
|
-
});
|
|
7756
|
-
|
|
7757
|
-
return idx;
|
|
7758
|
-
};
|
|
7759
|
-
|
|
7760
7800
|
/**
|
|
7761
7801
|
* Get an option's value when it could be a plain value, or a handler that provides
|
|
7762
7802
|
* the value.
|
|
@@ -7768,7 +7808,7 @@ var valueOrHandler = function valueOrHandler(value) {
|
|
|
7768
7808
|
for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
7769
7809
|
params[_key - 1] = arguments[_key];
|
|
7770
7810
|
}
|
|
7771
|
-
return typeof value === 'function' ? value.apply(
|
|
7811
|
+
return typeof value === 'function' ? value.apply(undefined, params) : value;
|
|
7772
7812
|
};
|
|
7773
7813
|
var getActualTarget = function getActualTarget(event) {
|
|
7774
7814
|
// NOTE: If the trap is _inside_ a shadow DOM, event.target will always be the
|
|
@@ -7787,8 +7827,8 @@ var internalTrapStack = [];
|
|
|
7787
7827
|
var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
7788
7828
|
// SSR: a live trap shouldn't be created in this type of environment so this
|
|
7789
7829
|
// should be safe code to execute if the `document` option isn't specified
|
|
7790
|
-
var doc = (userOptions === null || userOptions ===
|
|
7791
|
-
var trapStack = (userOptions === null || userOptions ===
|
|
7830
|
+
var doc = (userOptions === null || userOptions === undefined ? undefined : userOptions.document) || document;
|
|
7831
|
+
var trapStack = (userOptions === null || userOptions === undefined ? undefined : userOptions.trapStack) || internalTrapStack;
|
|
7792
7832
|
var config = _objectSpread2({
|
|
7793
7833
|
returnFocusOnDeactivate: true,
|
|
7794
7834
|
escapeDeactivates: true,
|
|
@@ -7828,6 +7868,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
7828
7868
|
mostRecentlyFocusedNode: null,
|
|
7829
7869
|
active: false,
|
|
7830
7870
|
paused: false,
|
|
7871
|
+
manuallyPaused: false,
|
|
7831
7872
|
// timer ID for when delayInitialFocus is true and initial focus in this trap
|
|
7832
7873
|
// has been delayed during activation
|
|
7833
7874
|
delayInitialFocusTimer: undefined,
|
|
@@ -7859,18 +7900,18 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
7859
7900
|
* if the element isn't found.
|
|
7860
7901
|
*/
|
|
7861
7902
|
var findContainerIndex = function findContainerIndex(element, event) {
|
|
7862
|
-
var composedPath = typeof (event === null || event ===
|
|
7903
|
+
var composedPath = typeof (event === null || event === undefined ? undefined : event.composedPath) === 'function' ? event.composedPath() : undefined;
|
|
7863
7904
|
// NOTE: search `containerGroups` because it's possible a group contains no tabbable
|
|
7864
7905
|
// nodes, but still contains focusable nodes (e.g. if they all have `tabindex=-1`)
|
|
7865
7906
|
// and we still need to find the element in there
|
|
7866
7907
|
return state.containerGroups.findIndex(function (_ref) {
|
|
7867
7908
|
var container = _ref.container,
|
|
7868
7909
|
tabbableNodes = _ref.tabbableNodes;
|
|
7869
|
-
return container.contains(element) || (
|
|
7910
|
+
return container.contains(element) || (// fall back to explicit tabbable search which will take into consideration any
|
|
7870
7911
|
// web components if the `tabbableOptions.getShadowRoot` option was used for
|
|
7871
7912
|
// the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't
|
|
7872
7913
|
// look inside web components even if open)
|
|
7873
|
-
composedPath === null || composedPath ===
|
|
7914
|
+
composedPath === null || composedPath === undefined ? undefined : composedPath.includes(container)) || tabbableNodes.find(function (node) {
|
|
7874
7915
|
return node === element;
|
|
7875
7916
|
});
|
|
7876
7917
|
});
|
|
@@ -7882,25 +7923,31 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
7882
7923
|
* (if a node is explicitly NOT given), or a function that returns any of these
|
|
7883
7924
|
* values.
|
|
7884
7925
|
* @param {string} optionName
|
|
7885
|
-
* @
|
|
7886
|
-
*
|
|
7887
|
-
*
|
|
7888
|
-
*
|
|
7926
|
+
* @param {Object} options
|
|
7927
|
+
* @param {boolean} [options.hasFallback] True if the option could be a selector string
|
|
7928
|
+
* and the option allows for a fallback scenario in the case where the selector is
|
|
7929
|
+
* valid but does not match a node (i.e. the queried node doesn't exist in the DOM).
|
|
7930
|
+
* @param {Array} [options.params] Params to pass to the option if it's a function.
|
|
7931
|
+
* @returns {undefined | null | false | HTMLElement | SVGElement} Returns
|
|
7932
|
+
* `undefined` if the option is not specified; `null` if the option didn't resolve
|
|
7933
|
+
* to a node but `options.hasFallback=true`, `false` if the option resolved to `false`
|
|
7934
|
+
* (node explicitly not given); otherwise, the resolved DOM node.
|
|
7889
7935
|
* @throws {Error} If the option is set, not `false`, and is not, or does not
|
|
7890
|
-
* resolve to a node.
|
|
7936
|
+
* resolve to a node, unless the option is a selector string and `options.hasFallback=true`.
|
|
7891
7937
|
*/
|
|
7892
7938
|
var getNodeForOption = function getNodeForOption(optionName) {
|
|
7939
|
+
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
7940
|
+
_ref2$hasFallback = _ref2.hasFallback,
|
|
7941
|
+
hasFallback = _ref2$hasFallback === undefined ? false : _ref2$hasFallback,
|
|
7942
|
+
_ref2$params = _ref2.params,
|
|
7943
|
+
params = _ref2$params === undefined ? [] : _ref2$params;
|
|
7893
7944
|
var optionValue = config[optionName];
|
|
7894
7945
|
if (typeof optionValue === 'function') {
|
|
7895
|
-
|
|
7896
|
-
params[_key2 - 1] = arguments[_key2];
|
|
7897
|
-
}
|
|
7898
|
-
optionValue = optionValue.apply(void 0, params);
|
|
7946
|
+
optionValue = optionValue.apply(undefined, _toConsumableArray(params));
|
|
7899
7947
|
}
|
|
7900
7948
|
if (optionValue === true) {
|
|
7901
7949
|
optionValue = undefined; // use default value
|
|
7902
7950
|
}
|
|
7903
|
-
|
|
7904
7951
|
if (!optionValue) {
|
|
7905
7952
|
if (optionValue === undefined || optionValue === false) {
|
|
7906
7953
|
return optionValue;
|
|
@@ -7912,21 +7959,31 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
7912
7959
|
var node = optionValue; // could be HTMLElement, SVGElement, or non-empty string at this point
|
|
7913
7960
|
|
|
7914
7961
|
if (typeof optionValue === 'string') {
|
|
7915
|
-
|
|
7962
|
+
try {
|
|
7963
|
+
node = doc.querySelector(optionValue); // resolve to node, or null if fails
|
|
7964
|
+
} catch (err) {
|
|
7965
|
+
throw new Error("`".concat(optionName, "` appears to be an invalid selector; error=\"").concat(err.message, "\""));
|
|
7966
|
+
}
|
|
7916
7967
|
if (!node) {
|
|
7917
|
-
|
|
7968
|
+
if (!hasFallback) {
|
|
7969
|
+
throw new Error("`".concat(optionName, "` as selector refers to no known node"));
|
|
7970
|
+
}
|
|
7971
|
+
// else, `node` MUST be `null` because that's what `Document.querySelector()` returns
|
|
7972
|
+
// if the selector is valid but doesn't match anything
|
|
7918
7973
|
}
|
|
7919
7974
|
}
|
|
7920
7975
|
return node;
|
|
7921
7976
|
};
|
|
7922
7977
|
var getInitialFocusNode = function getInitialFocusNode() {
|
|
7923
|
-
var node = getNodeForOption('initialFocus'
|
|
7978
|
+
var node = getNodeForOption('initialFocus', {
|
|
7979
|
+
hasFallback: true
|
|
7980
|
+
});
|
|
7924
7981
|
|
|
7925
7982
|
// false explicitly indicates we want no initialFocus at all
|
|
7926
7983
|
if (node === false) {
|
|
7927
7984
|
return false;
|
|
7928
7985
|
}
|
|
7929
|
-
if (node === undefined || !isFocusable(node, config.tabbableOptions)) {
|
|
7986
|
+
if (node === undefined || node && !isFocusable(node, config.tabbableOptions)) {
|
|
7930
7987
|
// option not specified nor focusable: use fallback options
|
|
7931
7988
|
if (findContainerIndex(doc.activeElement) >= 0) {
|
|
7932
7989
|
node = doc.activeElement;
|
|
@@ -7937,6 +7994,10 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
7937
7994
|
// NOTE: `fallbackFocus` option function cannot return `false` (not supported)
|
|
7938
7995
|
node = firstTabbableNode || getNodeForOption('fallbackFocus');
|
|
7939
7996
|
}
|
|
7997
|
+
} else if (node === null) {
|
|
7998
|
+
// option is a VALID selector string that doesn't yield a node: use the `fallbackFocus`
|
|
7999
|
+
// option instead of the default behavior when the option isn't specified at all
|
|
8000
|
+
node = getNodeForOption('fallbackFocus');
|
|
7940
8001
|
}
|
|
7941
8002
|
if (!node) {
|
|
7942
8003
|
throw new Error('Your focus-trap needs to have at least one focusable element');
|
|
@@ -8046,25 +8107,25 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8046
8107
|
*
|
|
8047
8108
|
* @returns {HTMLElement} The element that currently has the focus
|
|
8048
8109
|
**/
|
|
8049
|
-
var
|
|
8110
|
+
var _getActiveElement = function getActiveElement(el) {
|
|
8050
8111
|
var activeElement = el.activeElement;
|
|
8051
8112
|
if (!activeElement) {
|
|
8052
8113
|
return;
|
|
8053
8114
|
}
|
|
8054
8115
|
if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) {
|
|
8055
|
-
return
|
|
8116
|
+
return _getActiveElement(activeElement.shadowRoot);
|
|
8056
8117
|
}
|
|
8057
8118
|
return activeElement;
|
|
8058
8119
|
};
|
|
8059
|
-
var
|
|
8120
|
+
var _tryFocus = function tryFocus(node) {
|
|
8060
8121
|
if (node === false) {
|
|
8061
8122
|
return;
|
|
8062
8123
|
}
|
|
8063
|
-
if (node ===
|
|
8124
|
+
if (node === _getActiveElement(document)) {
|
|
8064
8125
|
return;
|
|
8065
8126
|
}
|
|
8066
8127
|
if (!node || !node.focus) {
|
|
8067
|
-
|
|
8128
|
+
_tryFocus(getInitialFocusNode());
|
|
8068
8129
|
return;
|
|
8069
8130
|
}
|
|
8070
8131
|
node.focus({
|
|
@@ -8077,7 +8138,9 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8077
8138
|
}
|
|
8078
8139
|
};
|
|
8079
8140
|
var getReturnFocusNode = function getReturnFocusNode(previousActiveElement) {
|
|
8080
|
-
var node = getNodeForOption('setReturnFocus',
|
|
8141
|
+
var node = getNodeForOption('setReturnFocus', {
|
|
8142
|
+
params: [previousActiveElement]
|
|
8143
|
+
});
|
|
8081
8144
|
return node ? node : node === false ? false : previousActiveElement;
|
|
8082
8145
|
};
|
|
8083
8146
|
|
|
@@ -8092,11 +8155,11 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8092
8155
|
* @returns {Node|undefined} The next node, or `undefined` if a next node couldn't be
|
|
8093
8156
|
* determined given the current state of the trap.
|
|
8094
8157
|
*/
|
|
8095
|
-
var findNextNavNode = function findNextNavNode(
|
|
8096
|
-
var target =
|
|
8097
|
-
event =
|
|
8098
|
-
|
|
8099
|
-
isBackward =
|
|
8158
|
+
var findNextNavNode = function findNextNavNode(_ref3) {
|
|
8159
|
+
var target = _ref3.target,
|
|
8160
|
+
event = _ref3.event,
|
|
8161
|
+
_ref3$isBackward = _ref3.isBackward,
|
|
8162
|
+
isBackward = _ref3$isBackward === undefined ? false : _ref3$isBackward;
|
|
8100
8163
|
target = target || getActualTarget(event);
|
|
8101
8164
|
updateTabbableNodes();
|
|
8102
8165
|
var destinationNode = null;
|
|
@@ -8120,8 +8183,8 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8120
8183
|
// REVERSE
|
|
8121
8184
|
|
|
8122
8185
|
// is the target the first tabbable node in a group?
|
|
8123
|
-
var startOfGroupIndex =
|
|
8124
|
-
var firstTabbableNode =
|
|
8186
|
+
var startOfGroupIndex = state.tabbableGroups.findIndex(function (_ref4) {
|
|
8187
|
+
var firstTabbableNode = _ref4.firstTabbableNode;
|
|
8125
8188
|
return target === firstTabbableNode;
|
|
8126
8189
|
});
|
|
8127
8190
|
if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {
|
|
@@ -8149,8 +8212,8 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8149
8212
|
// FORWARD
|
|
8150
8213
|
|
|
8151
8214
|
// is the target the last tabbable node in a group?
|
|
8152
|
-
var lastOfGroupIndex =
|
|
8153
|
-
var lastTabbableNode =
|
|
8215
|
+
var lastOfGroupIndex = state.tabbableGroups.findIndex(function (_ref5) {
|
|
8216
|
+
var lastTabbableNode = _ref5.lastTabbableNode;
|
|
8154
8217
|
return target === lastTabbableNode;
|
|
8155
8218
|
});
|
|
8156
8219
|
if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {
|
|
@@ -8308,9 +8371,9 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8308
8371
|
});
|
|
8309
8372
|
}
|
|
8310
8373
|
if (nextNode) {
|
|
8311
|
-
|
|
8374
|
+
_tryFocus(nextNode);
|
|
8312
8375
|
} else {
|
|
8313
|
-
|
|
8376
|
+
_tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());
|
|
8314
8377
|
}
|
|
8315
8378
|
}
|
|
8316
8379
|
state.recentNavEvent = undefined; // clear
|
|
@@ -8335,19 +8398,21 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8335
8398
|
// to where it normally would
|
|
8336
8399
|
event.preventDefault();
|
|
8337
8400
|
}
|
|
8338
|
-
|
|
8401
|
+
_tryFocus(destinationNode);
|
|
8339
8402
|
}
|
|
8340
8403
|
// else, let the browser take care of [shift+]tab and move the focus
|
|
8341
8404
|
};
|
|
8405
|
+
var checkTabKey = function checkTabKey(event) {
|
|
8406
|
+
if (config.isKeyForward(event) || config.isKeyBackward(event)) {
|
|
8407
|
+
checkKeyNav(event, config.isKeyBackward(event));
|
|
8408
|
+
}
|
|
8409
|
+
};
|
|
8342
8410
|
|
|
8343
|
-
|
|
8411
|
+
// we use a different event phase for the Escape key to allow canceling the event and checking for this in escapeDeactivates
|
|
8412
|
+
var checkEscapeKey = function checkEscapeKey(event) {
|
|
8344
8413
|
if (isEscapeEvent(event) && valueOrHandler(config.escapeDeactivates, event) !== false) {
|
|
8345
8414
|
event.preventDefault();
|
|
8346
8415
|
trap.deactivate();
|
|
8347
|
-
return;
|
|
8348
|
-
}
|
|
8349
|
-
if (config.isKeyForward(event) || config.isKeyBackward(event)) {
|
|
8350
|
-
checkKeyNav(event, config.isKeyBackward(event));
|
|
8351
8416
|
}
|
|
8352
8417
|
};
|
|
8353
8418
|
var checkClick = function checkClick(e) {
|
|
@@ -8380,8 +8445,8 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8380
8445
|
// Delay ensures that the focused element doesn't capture the event
|
|
8381
8446
|
// that caused the focus trap activation.
|
|
8382
8447
|
state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function () {
|
|
8383
|
-
|
|
8384
|
-
}) :
|
|
8448
|
+
_tryFocus(getInitialFocusNode());
|
|
8449
|
+
}) : _tryFocus(getInitialFocusNode());
|
|
8385
8450
|
doc.addEventListener('focusin', checkFocusIn, true);
|
|
8386
8451
|
doc.addEventListener('mousedown', checkPointerDown, {
|
|
8387
8452
|
capture: true,
|
|
@@ -8395,10 +8460,11 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8395
8460
|
capture: true,
|
|
8396
8461
|
passive: false
|
|
8397
8462
|
});
|
|
8398
|
-
doc.addEventListener('keydown',
|
|
8463
|
+
doc.addEventListener('keydown', checkTabKey, {
|
|
8399
8464
|
capture: true,
|
|
8400
8465
|
passive: false
|
|
8401
8466
|
});
|
|
8467
|
+
doc.addEventListener('keydown', checkEscapeKey);
|
|
8402
8468
|
return trap;
|
|
8403
8469
|
};
|
|
8404
8470
|
var removeListeners = function removeListeners() {
|
|
@@ -8409,7 +8475,8 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8409
8475
|
doc.removeEventListener('mousedown', checkPointerDown, true);
|
|
8410
8476
|
doc.removeEventListener('touchstart', checkPointerDown, true);
|
|
8411
8477
|
doc.removeEventListener('click', checkClick, true);
|
|
8412
|
-
doc.removeEventListener('keydown',
|
|
8478
|
+
doc.removeEventListener('keydown', checkTabKey, true);
|
|
8479
|
+
doc.removeEventListener('keydown', checkEscapeKey);
|
|
8413
8480
|
return trap;
|
|
8414
8481
|
};
|
|
8415
8482
|
|
|
@@ -8428,7 +8495,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8428
8495
|
// If the currently focused is removed then browsers will move focus to the
|
|
8429
8496
|
// <body> element. If this happens, try to move focus back into the trap.
|
|
8430
8497
|
if (isFocusedNodeRemoved) {
|
|
8431
|
-
|
|
8498
|
+
_tryFocus(getInitialFocusNode());
|
|
8432
8499
|
}
|
|
8433
8500
|
};
|
|
8434
8501
|
|
|
@@ -8474,14 +8541,14 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8474
8541
|
state.active = true;
|
|
8475
8542
|
state.paused = false;
|
|
8476
8543
|
state.nodeFocusedBeforeActivation = doc.activeElement;
|
|
8477
|
-
onActivate === null || onActivate ===
|
|
8544
|
+
onActivate === null || onActivate === undefined || onActivate();
|
|
8478
8545
|
var finishActivation = function finishActivation() {
|
|
8479
8546
|
if (checkCanFocusTrap) {
|
|
8480
8547
|
updateTabbableNodes();
|
|
8481
8548
|
}
|
|
8482
8549
|
addListeners();
|
|
8483
8550
|
updateObservedNodes();
|
|
8484
|
-
onPostActivate === null || onPostActivate ===
|
|
8551
|
+
onPostActivate === null || onPostActivate === undefined || onPostActivate();
|
|
8485
8552
|
};
|
|
8486
8553
|
if (checkCanFocusTrap) {
|
|
8487
8554
|
checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);
|
|
@@ -8510,13 +8577,13 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8510
8577
|
var onPostDeactivate = getOption(options, 'onPostDeactivate');
|
|
8511
8578
|
var checkCanReturnFocus = getOption(options, 'checkCanReturnFocus');
|
|
8512
8579
|
var returnFocus = getOption(options, 'returnFocus', 'returnFocusOnDeactivate');
|
|
8513
|
-
onDeactivate === null || onDeactivate ===
|
|
8580
|
+
onDeactivate === null || onDeactivate === undefined || onDeactivate();
|
|
8514
8581
|
var finishDeactivation = function finishDeactivation() {
|
|
8515
8582
|
delay(function () {
|
|
8516
8583
|
if (returnFocus) {
|
|
8517
|
-
|
|
8584
|
+
_tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));
|
|
8518
8585
|
}
|
|
8519
|
-
onPostDeactivate === null || onPostDeactivate ===
|
|
8586
|
+
onPostDeactivate === null || onPostDeactivate === undefined || onPostDeactivate();
|
|
8520
8587
|
});
|
|
8521
8588
|
};
|
|
8522
8589
|
if (returnFocus && checkCanReturnFocus) {
|
|
@@ -8527,31 +8594,21 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8527
8594
|
return this;
|
|
8528
8595
|
},
|
|
8529
8596
|
pause: function pause(pauseOptions) {
|
|
8530
|
-
if (
|
|
8597
|
+
if (!state.active) {
|
|
8531
8598
|
return this;
|
|
8532
8599
|
}
|
|
8533
|
-
|
|
8534
|
-
|
|
8535
|
-
state.paused = true;
|
|
8536
|
-
onPause === null || onPause === void 0 || onPause();
|
|
8537
|
-
removeListeners();
|
|
8538
|
-
updateObservedNodes();
|
|
8539
|
-
onPostPause === null || onPostPause === void 0 || onPostPause();
|
|
8540
|
-
return this;
|
|
8600
|
+
state.manuallyPaused = true;
|
|
8601
|
+
return this._setPausedState(true, pauseOptions);
|
|
8541
8602
|
},
|
|
8542
8603
|
unpause: function unpause(unpauseOptions) {
|
|
8543
|
-
if (!state.
|
|
8604
|
+
if (!state.active) {
|
|
8544
8605
|
return this;
|
|
8545
8606
|
}
|
|
8546
|
-
|
|
8547
|
-
|
|
8548
|
-
|
|
8549
|
-
|
|
8550
|
-
|
|
8551
|
-
addListeners();
|
|
8552
|
-
updateObservedNodes();
|
|
8553
|
-
onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();
|
|
8554
|
-
return this;
|
|
8607
|
+
state.manuallyPaused = false;
|
|
8608
|
+
if (trapStack[trapStack.length - 1] !== this) {
|
|
8609
|
+
return this;
|
|
8610
|
+
}
|
|
8611
|
+
return this._setPausedState(false, unpauseOptions);
|
|
8555
8612
|
},
|
|
8556
8613
|
updateContainerElements: function updateContainerElements(containerElements) {
|
|
8557
8614
|
var elementsAsArray = [].concat(containerElements).filter(Boolean);
|
|
@@ -8565,6 +8622,38 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
|
|
|
8565
8622
|
return this;
|
|
8566
8623
|
}
|
|
8567
8624
|
};
|
|
8625
|
+
Object.defineProperties(trap, {
|
|
8626
|
+
_isManuallyPaused: {
|
|
8627
|
+
value: function value() {
|
|
8628
|
+
return state.manuallyPaused;
|
|
8629
|
+
}
|
|
8630
|
+
},
|
|
8631
|
+
_setPausedState: {
|
|
8632
|
+
value: function value(paused, options) {
|
|
8633
|
+
if (state.paused === paused) {
|
|
8634
|
+
return this;
|
|
8635
|
+
}
|
|
8636
|
+
state.paused = paused;
|
|
8637
|
+
if (paused) {
|
|
8638
|
+
var onPause = getOption(options, 'onPause');
|
|
8639
|
+
var onPostPause = getOption(options, 'onPostPause');
|
|
8640
|
+
onPause === null || onPause === undefined || onPause();
|
|
8641
|
+
removeListeners();
|
|
8642
|
+
updateObservedNodes();
|
|
8643
|
+
onPostPause === null || onPostPause === undefined || onPostPause();
|
|
8644
|
+
} else {
|
|
8645
|
+
var onUnpause = getOption(options, 'onUnpause');
|
|
8646
|
+
var onPostUnpause = getOption(options, 'onPostUnpause');
|
|
8647
|
+
onUnpause === null || onUnpause === undefined || onUnpause();
|
|
8648
|
+
updateTabbableNodes();
|
|
8649
|
+
addListeners();
|
|
8650
|
+
updateObservedNodes();
|
|
8651
|
+
onPostUnpause === null || onPostUnpause === undefined || onPostUnpause();
|
|
8652
|
+
}
|
|
8653
|
+
return this;
|
|
8654
|
+
}
|
|
8655
|
+
}
|
|
8656
|
+
});
|
|
8568
8657
|
|
|
8569
8658
|
// initialize container elements
|
|
8570
8659
|
trap.updateContainerElements(elements);
|
|
@@ -10411,6 +10500,7 @@ const CatInput = class {
|
|
|
10411
10500
|
this._id = `cat-input-${nextUniqueId$7++}`;
|
|
10412
10501
|
this.hasSlottedLabel = false;
|
|
10413
10502
|
this.hasSlottedHint = false;
|
|
10503
|
+
this.hasSlottedCounter = false;
|
|
10414
10504
|
this.isPasswordShown = false;
|
|
10415
10505
|
this.errorMap = undefined;
|
|
10416
10506
|
this.requiredMarker = 'optional';
|
|
@@ -10452,6 +10542,7 @@ const CatInput = class {
|
|
|
10452
10542
|
componentWillRender() {
|
|
10453
10543
|
this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
|
|
10454
10544
|
this.hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
|
|
10545
|
+
this.hasSlottedCounter = !!this.hostElement.querySelector('[slot="counter"]');
|
|
10455
10546
|
}
|
|
10456
10547
|
/**
|
|
10457
10548
|
* Programmatically move focus to the input. Use this method instead of
|
|
@@ -10504,19 +10595,19 @@ const CatInput = class {
|
|
|
10504
10595
|
}
|
|
10505
10596
|
render() {
|
|
10506
10597
|
this.hostElement.tabIndex = Number(this.hostElement.getAttribute('tabindex')) || 0;
|
|
10507
|
-
return (index.h("div", { key: '
|
|
10598
|
+
return (index.h("div", { key: '3d28dff29d5ced59f609ce9fcf6c2b2a14cfdda7', class: {
|
|
10508
10599
|
'input-field': true,
|
|
10509
10600
|
'input-horizontal': this.horizontal
|
|
10510
|
-
} }, index.h("div", { key: '
|
|
10601
|
+
} }, index.h("div", { key: '41399390b76c6a2e96dc3df48eede8ea2bcc4698', class: { 'label-container': true, hidden: this.labelHidden } }, (this.hasSlottedLabel || this.label) && (index.h("label", { key: '68bb767790072eb2728d680d448e1ee80e641013', htmlFor: this.id, part: "label" }, index.h("span", { key: '04c217ff1f227a1fb82b9a52b284bbd67f8d89dd', class: "label-wrapper" }, (this.hasSlottedLabel && index.h("slot", { key: '0c462827456af3b83935e569fac4fb45459c2edc', name: "label" })) || this.label, index.h("div", { key: '9415db27af950dc50efac0c60bdc47aa5efc8c97', class: "label-metadata" }, !this.required && (this.requiredMarker ?? 'optional').startsWith('optional') && (index.h("span", { key: 'fc45ea569ef7c9eec048bae75a8b5127beafcc09', class: "label-optional", "aria-hidden": "true" }, "(", of.catI18nRegistry.t('input.optional'), ")")), this.required && this.requiredMarker?.startsWith('required') && (index.h("span", { key: '20f36a7a3e2c042fa4f802ea3f71cb20f60188b3', class: "label-optional", "aria-hidden": "true" }, "(", of.catI18nRegistry.t('input.required'), ")")), (this.maxLength || this.hasSlottedCounter) && (index.h("div", { key: '58338cb0be0db04c6030e9f295428079ba2c7316', class: "label-character-count", "aria-hidden": "true" }, this.hasSlottedCounter ? (index.h("slot", { name: "counter" })) : (`${this.value?.length ?? 0}/${this.maxLength}`)))))))), index.h("div", { key: '5ed2b9c0c812c65d2e7d77d02f61cb88f33567e1', class: "input-container" }, index.h("div", { key: '9b73f259436d1f7d75f2efcaec3959759631f579', class: "input-outer-wrapper" }, index.h("div", { key: '04ba158193111283c31ea6e8d3d4e34e0dafe995', class: {
|
|
10511
10602
|
'input-wrapper': true,
|
|
10512
10603
|
'input-round': this.round,
|
|
10513
10604
|
'input-readonly': this.readonly,
|
|
10514
10605
|
'input-disabled': this.disabled,
|
|
10515
10606
|
'input-invalid': this.invalid
|
|
10516
|
-
}, onClick: () => this.input.focus() }, this.textPrefix && (index.h("span", { key: '
|
|
10607
|
+
}, onClick: () => this.input.focus() }, this.textPrefix && (index.h("span", { key: '6e834d91bca7660e24f7f917034db92a530d3901', class: "text-prefix", part: "prefix" }, this.textPrefix)), this.icon && !this.iconRight && (index.h("cat-icon", { key: '606625d78126b10f1efbdeec78d2339d9a66cf04', icon: this.icon, class: "icon-prefix", size: "l", onClick: () => this.doFocus() })), index.h("div", { key: '28776786dd55f04d60c985ed7891d85c0e4c1f7b', class: "input-inner-wrapper" }, index.h("input", { key: '7ee17b1603ed56cd4b98561c9a7f5426edfcb9e8', ...this.nativeAttributes, part: "input", ref: el => (this.input = el), id: this.id, class: {
|
|
10517
10608
|
'has-clearable': this.clearable && !this.disabled && !this.readonly && !!this.value,
|
|
10518
10609
|
'has-toggle-password': this.togglePassword && !this.disabled && !this.readonly && !!this.value
|
|
10519
|
-
}, autocomplete: this.autoComplete, disabled: this.disabled, max: this.max, maxlength: this.maxLength, min: this.min, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, type: this.isPasswordShown ? 'text' : this.type, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hasHint ? this.id + '-hint' : undefined }), this.clearable && !this.disabled && !this.readonly && this.value && (index.h("cat-button", { key: '
|
|
10610
|
+
}, autocomplete: this.autoComplete, disabled: this.disabled, max: this.max, maxlength: this.maxLength, min: this.min, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, type: this.isPasswordShown ? 'text' : this.type, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hasHint ? this.id + '-hint' : undefined }), this.clearable && !this.disabled && !this.readonly && this.value && (index.h("cat-button", { key: '5195866111feaf77f8ae6b9272443c7f2e6f6c9b', class: "clearable", icon: "$cat:input-close", "icon-only": "true", size: "s", variant: "text", "a11y-label": of.catI18nRegistry.t('input.clear'), onClick: this.clear.bind(this), "data-dropdown-no-close": true })), this.togglePassword && !this.disabled && !this.readonly && this.value && (index.h("cat-button", { key: 'ffbd5c49957d02e672d1da2710fb5a2698fe34a5', class: "toggle-password", icon: this.isPasswordShown ? '$cat:input-password-hide' : '$cat:input-password-show', "icon-only": "true", size: "s", variant: "text", "a11y-label": of.catI18nRegistry.t(this.isPasswordShown ? 'input.hidePassword' : 'input.showPassword'), onClick: this.doTogglePassword.bind(this) }))), this.loading && index.h("cat-spinner", { key: '19e83c45128e1110c4404fb266b97d9a0b23ea75', size: "m", class: "icon-loading" }), !this.invalid && this.icon && this.iconRight && (index.h("cat-icon", { key: '2363be86adba00d3748a2b4e72d968027e3cbc03', icon: this.icon, class: "icon-suffix", size: "l", onClick: () => this.doFocus() })), this.invalid && (index.h("cat-icon", { key: '158ae6c58f520b87023e534239550cd963c6c3f2', icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" })), this.textSuffix && (index.h("span", { key: '8d0148452fe5b0184ed04fbaa7e84d805ef8648f', class: "text-suffix", part: "suffix" }, this.textSuffix))), index.h("slot", { key: 'cc46bb14d556c4144c28b8901e0aac7ff2c6908e', name: "addon" })), this.hasHint && (index.h(CatFormHint, { key: '0de0feb24f62246485c054bb83237d5610c89a21', id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }), errorMap: this.errorMap })))));
|
|
10520
10611
|
}
|
|
10521
10612
|
get hasHint() {
|
|
10522
10613
|
return !!this.hint || !!this.hasSlottedHint || this.invalid;
|
|
@@ -13445,9 +13536,11 @@ const CatTextarea = class {
|
|
|
13445
13536
|
this._id = `cat-textarea-${nextUniqueId$2++}`;
|
|
13446
13537
|
this.hasSlottedLabel = false;
|
|
13447
13538
|
this.hasSlottedHint = false;
|
|
13539
|
+
this.hasSlottedCounter = false;
|
|
13448
13540
|
this.errorMap = undefined;
|
|
13449
13541
|
this.requiredMarker = 'optional';
|
|
13450
13542
|
this.horizontal = false;
|
|
13543
|
+
this.autoComplete = undefined;
|
|
13451
13544
|
this.disabled = false;
|
|
13452
13545
|
this.hint = undefined;
|
|
13453
13546
|
this.identifier = undefined;
|
|
@@ -13474,6 +13567,7 @@ const CatTextarea = class {
|
|
|
13474
13567
|
componentWillRender() {
|
|
13475
13568
|
this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
|
|
13476
13569
|
this.hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
|
|
13570
|
+
this.hasSlottedCounter = !!this.hostElement.querySelector('[slot="counter"]');
|
|
13477
13571
|
}
|
|
13478
13572
|
componentDidLoad() {
|
|
13479
13573
|
n(this.textarea);
|
|
@@ -13517,15 +13611,15 @@ const CatTextarea = class {
|
|
|
13517
13611
|
}
|
|
13518
13612
|
render() {
|
|
13519
13613
|
this.hostElement.tabIndex = Number(this.hostElement.getAttribute('tabindex')) || 0;
|
|
13520
|
-
return (index.h(index.Host, { key: '
|
|
13614
|
+
return (index.h(index.Host, { key: 'c4cab207b93c4c13de6cce9f1558b2d4fce925ef' }, index.h("div", { key: '179e2a2dfe8740447dc6ff9824e492ee02e4d47a', class: {
|
|
13521
13615
|
'textarea-field': true,
|
|
13522
13616
|
'textarea-horizontal': this.horizontal
|
|
13523
|
-
} }, index.h("div", { key: '
|
|
13617
|
+
} }, index.h("div", { key: '5ecc1e393465659830aba909126564e860143648', class: { 'label-container': true, hidden: this.labelHidden } }, (this.hasSlottedLabel || this.label) && (index.h("label", { key: '156179fd03e76824cf7ddf55d4570f717a5ec96f', htmlFor: this.id, part: "label" }, index.h("span", { key: '466b8ee054f2fa75c40b6d93dcaf6e308f499577', class: "label-wrapper" }, (this.hasSlottedLabel && index.h("slot", { key: 'ca380dd71b02626140596777c05baa1d5f2454f1', name: "label" })) || this.label, index.h("div", { key: '72a97643fbbfc3335ca46aed185228703ba15f1c', class: "label-metadata" }, !this.required && (this.requiredMarker ?? 'optional').startsWith('optional') && (index.h("span", { key: '2daf2d71efdadc2c840838e9f3b55aff31860c57', class: "label-optional", "aria-hidden": "true" }, "(", of.catI18nRegistry.t('input.optional'), ")")), this.required && this.requiredMarker?.startsWith('required') && (index.h("span", { key: '3d26ff6a20935bb3895df9a35ee3ed52bae4892d', class: "label-optional", "aria-hidden": "true" }, "(", of.catI18nRegistry.t('input.required'), ")")), (this.maxLength || this.hasSlottedCounter) && (index.h("div", { key: '9c2940f48e9ee33b48f0fdc800fb6c9b03e74cd3', class: "label-character-count", "aria-hidden": "true" }, this.hasSlottedCounter ? (index.h("slot", { name: "counter" })) : (`${this.value?.length ?? 0}/${this.maxLength}`)))))))), index.h("div", { key: 'fb1fc6a8626ae38042ee7d58e309cb8552177a5a', class: "textarea-container" }, index.h("div", { key: 'c2bc69007aa78f3f7473d7d00d5edd096e034d82', class: {
|
|
13524
13618
|
'textarea-wrapper': true,
|
|
13525
13619
|
'textarea-readonly': this.readonly,
|
|
13526
13620
|
'textarea-disabled': this.disabled,
|
|
13527
13621
|
'textarea-invalid': this.invalid
|
|
13528
|
-
} }, index.h("textarea", { key: '
|
|
13622
|
+
} }, index.h("textarea", { key: '33186afce9ab71467701ee679c7fd25ab15e48c0', ...this.nativeAttributes, part: "textarea", ref: el => (this.textarea = el), id: this.id, disabled: this.disabled, autocomplete: this.autoComplete, maxlength: this.maxLength, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, rows: this.rows, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hasHint ? this.id + '-hint' : undefined }), this.invalid && (index.h("cat-icon", { key: '19da7431db208bd34032cd22d4112b8c9b2c786f', icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l", onClick: () => this.textarea.focus() }))), this.hasHint && (index.h(CatFormHint, { key: '3f4bf8b4ac56e28ba482ef5e3883a17c3336f2b5', id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }), errorMap: this.errorMap }))))));
|
|
13529
13623
|
}
|
|
13530
13624
|
get hasHint() {
|
|
13531
13625
|
return !!this.hint || !!this.hasSlottedHint || this.invalid;
|
|
@@ -13636,7 +13730,7 @@ const CatTime = class {
|
|
|
13636
13730
|
this.valueChangedBySelection = false;
|
|
13637
13731
|
this.requiredMarker = 'optional';
|
|
13638
13732
|
this.horizontal = false;
|
|
13639
|
-
this.autoComplete =
|
|
13733
|
+
this.autoComplete = 'off';
|
|
13640
13734
|
this.clearable = false;
|
|
13641
13735
|
this.disabled = false;
|
|
13642
13736
|
this.hint = undefined;
|
|
@@ -13762,14 +13856,14 @@ const CatTime = class {
|
|
|
13762
13856
|
}
|
|
13763
13857
|
render() {
|
|
13764
13858
|
this.hostElement.tabIndex = Number(this.hostElement.getAttribute('tabindex')) || 0;
|
|
13765
|
-
return (index.h(index.Host, { key: '
|
|
13859
|
+
return (index.h(index.Host, { key: '55ddaea80f34a762b7f3b97145f3fc23678764df' }, index.h("cat-input", { key: 'b9c72fafc50c6f123478f426d771ae25fa77d7d9', class: "cat-time-input", ref: el => (this.input = el), requiredMarker: this.requiredMarker, horizontal: this.horizontal, autoComplete: this.autoComplete, clearable: this.clearable, disabled: this.disabled, hint: this.hint, icon: this.icon, iconRight: this.iconRight, identifier: this.identifier, label: this.label, labelHidden: this.labelHidden, name: this.name, placeholder: this.placeholder, textPrefix: this.textPrefix, textSuffix: this.textSuffix, readonly: this.readonly, required: this.required, value: this.format(this.selectionTime, false), errors: this.errors, errorUpdate: this.errorUpdate, nativeAttributes: this.nativeAttributes, onCatFocus: e => this.catFocus.emit(e.detail), onCatBlur: e => this.onInputBlur(e.detail) }, index.h("span", { key: 'fff1bf4b55421e1d3d0a59c6526e2a1489531c73', slot: "label" }, this.hasSlottedLabel && index.h("slot", { key: '3bf7db213bf73ed33f47b78df88445654feef6f1', name: "label" }), !this.hasSlottedLabel && this.label, index.h("span", { key: 'cd3bc1b7be142e85106f03ab84f664279f129c02', class: "label-aria" }, " (HH:mm)")), index.h("div", { key: 'c56add3522077567621147d80a327c7acfa93110', slot: "addon", class: "cat-time-addon" }, this.locale.timeFormat === '12' && (index.h("cat-button", { key: 'e895941581bd1d6a67eb3f384d6cdf4cd6663ca2', class: "cat-time-format", disabled: this.disabled || this.readonly, onCatClick: () => this.toggleAm() }, this.isAm ? 'AM' : 'PM')), index.h("cat-dropdown", { key: 'b44d49f1d06c3a78342f60b873ad57d613fe38c5', slot: "addon", placement: this.placement }, index.h("cat-button", { key: '95789ba8b632e442a41059c60a8394efa61a6e54', slot: "trigger", class: "cat-time-toggle", disabled: this.disabled || this.readonly, icon: "$cat:timepicker-clock", iconOnly: true, a11yLabel: this.selectionTime ? `${this.locale.change}, ${this.format(this.selectionTime)}` : this.locale.choose }), index.h("nav", { key: 'fd16e5301bdde5fa3f3ac929380d9f8ca7cef75b', slot: "content", class: "cat-nav" }, index.h("ul", { key: '9107c10a9533ef4cef0c0718cba17e097a7d54bd' }, this.timeArray().map(time => {
|
|
13766
13860
|
const isoTime = formatIso(time);
|
|
13767
13861
|
const disabled = isBefore(time, this.min ?? null) || isAfter(time, this.max ?? null);
|
|
13768
13862
|
return (index.h("li", null, index.h("cat-button", { class: {
|
|
13769
13863
|
'cat-nav-item': true,
|
|
13770
13864
|
'time-disabled': disabled
|
|
13771
13865
|
}, disabled: disabled, active: isoTime === this.value, color: isoTime === this.value ? 'primary' : 'secondary', variant: isoTime === this.value ? 'filled' : 'outlined', onCatClick: () => this.select(time), "data-time": isoTime }, this.format(time))));
|
|
13772
|
-
}))))), this.hasSlottedHint && (index.h("span", { key: '
|
|
13866
|
+
}))))), this.hasSlottedHint && (index.h("span", { key: '55b0ac7a0d4aa7f743d23a3f0f8461b4f1e44781', slot: "hint" }, index.h("slot", { key: '8f05bb69ab686061bebad8cc6a1364e0bea5267a', name: "hint" }))))));
|
|
13773
13867
|
}
|
|
13774
13868
|
timeArray() {
|
|
13775
13869
|
const result = [];
|
|
@@ -13929,7 +14023,7 @@ CatToggle.style = CatToggleStyle0;
|
|
|
13929
14023
|
|
|
13930
14024
|
const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0;
|
|
13931
14025
|
|
|
13932
|
-
const catTooltipCss = ":host{display:contents}:host([hidden]){display:none}.tooltip{--cat-font-color-head:var(--cat-font-color-tooltip, 255, 255, 255);--cat-font-color-body:var(--cat-font-color-tooltip, 255, 255, 255);position:fixed;width:max-content;top:0;left:0;box-sizing:border-box;
|
|
14026
|
+
const catTooltipCss = ":host{display:contents}:host([hidden]){display:none}.tooltip{--cat-font-color-head:var(--cat-font-color-tooltip, 255, 255, 255);--cat-font-color-body:var(--cat-font-color-tooltip, 255, 255, 255);position:fixed;width:max-content;top:0;left:0;box-sizing:border-box;background-color:rgb(var(--cat-bg-tooltip, 0, 0, 0));border-radius:var(--cat-border-radius-m, 0.25rem);color:rgb(var(--cat-font-color-tooltip, 255, 255, 255));transition:opacity 250ms linear, visibility 250ms linear;visibility:hidden;opacity:0;box-shadow:rgba(0, 0, 0, 0.08) 0 1px 8px 0;z-index:calc(var(--cat-z-index, 1000) + 200);max-width:min(100vw - 0.5rem, 20rem)}.tooltip-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.tooltip-show{opacity:1;visibility:visible}.tooltip p{margin:0}.tooltip-round{border-radius:10rem}.tooltip-s{padding:0.25rem 0.375rem;font-size:0.75rem;line-height:1rem;font-weight:500}.tooltip-s.tooltip-round{padding-left:0.5rem;padding-right:0.5rem}.tooltip-m{padding:0.375rem 0.5rem;font-size:0.875rem;line-height:1.125rem;font-weight:500}.tooltip-m.tooltip-round{padding-left:0.75rem;padding-right:0.75rem}.tooltip-l{padding:0.5rem 0.75rem;font-size:0.9375rem;line-height:1.25rem;font-weight:500}.tooltip-l.tooltip-round{padding-left:1rem;padding-right:1rem}";
|
|
13933
14027
|
const CatTooltipStyle0 = catTooltipCss;
|
|
13934
14028
|
|
|
13935
14029
|
let nextUniqueId = 0;
|