@haiilo/catalyst 0.6.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/catalyst/catalyst.esm.js +1 -1
- package/dist/catalyst/catalyst.esm.js.map +1 -1
- package/dist/catalyst/p-12486027.js.map +1 -1
- package/dist/catalyst/p-12b96af6.js +2 -0
- package/dist/catalyst/p-12b96af6.js.map +1 -0
- package/dist/catalyst/p-4254363e.entry.js +2 -0
- package/dist/catalyst/p-4254363e.entry.js.map +1 -0
- package/dist/catalyst/p-5616e2cd.js +2 -0
- package/dist/catalyst/p-5616e2cd.js.map +1 -0
- package/dist/catalyst/p-dda85567.entry.js +10 -0
- package/dist/catalyst/p-dda85567.entry.js.map +1 -0
- package/dist/catalyst/scss/_mixins.scss +9 -0
- package/dist/catalyst/scss/_variables.scss +64 -0
- package/dist/catalyst/scss/_variables.tokens.scss +84 -0
- package/dist/catalyst/scss/core/_base.scss +12 -0
- package/dist/catalyst/scss/core/_nav.scss +23 -0
- package/dist/catalyst/scss/core/_typography.scss +237 -0
- package/dist/catalyst/scss/fonts/_fonts.mixins.azeret.scss +14 -0
- package/dist/catalyst/scss/fonts/_fonts.mixins.dm.scss +53 -0
- package/dist/catalyst/scss/fonts/_fonts.mixins.lato.scss +185 -0
- package/dist/catalyst/scss/fonts/_fonts.mixins.scss +3 -0
- package/dist/catalyst/scss/fonts/_fonts.scss +13 -0
- package/dist/catalyst/scss/index.scss +32 -0
- package/dist/catalyst/scss/utils/_color.scss +52 -0
- package/dist/catalyst/scss/utils/_disabled.mixins.scss +7 -0
- package/dist/catalyst/scss/utils/_display.scss +20 -0
- package/dist/catalyst/scss/utils/_elevation.mixins.scss +10 -0
- package/dist/catalyst/scss/utils/_elevation.scss +19 -0
- package/dist/catalyst/scss/utils/_layout.scss +78 -0
- package/dist/catalyst/scss/utils/_media.mixins.scss +37 -0
- package/dist/catalyst/scss/utils/_ratio.mixins.scss +12 -0
- package/dist/catalyst/scss/utils/_ratio.scss +20 -0
- package/dist/catalyst/scss/utils/_sizing.mixins.scss +15 -0
- package/dist/catalyst/scss/utils/_sizing.scss +16 -0
- package/dist/catalyst/scss/utils/_spacing.mixins.scss +5 -0
- package/dist/catalyst/scss/utils/_spacing.scss +49 -0
- package/dist/catalyst/scss/utils/_toast.scss +77 -0
- package/dist/catalyst/scss/utils/_typography.mixins.scss +102 -0
- package/dist/catalyst/scss/utils/_typography.scss +34 -0
- package/dist/catalyst/scss/utils/_visibility.mixins.scss +29 -0
- package/dist/catalyst/scss/utils/_visibility.scss +13 -0
- package/dist/cjs/app-globals-aa29ad72.js.map +1 -1
- package/dist/cjs/{cat-alert_16.cjs.entry.js → cat-alert_18.cjs.entry.js} +174 -44
- package/dist/cjs/cat-alert_18.cjs.entry.js.map +1 -0
- package/dist/cjs/cat-form-hint-93a6936b.js +22 -0
- package/dist/cjs/cat-form-hint-93a6936b.js.map +1 -0
- package/dist/cjs/cat-textarea.cjs.entry.js +13 -12
- package/dist/cjs/cat-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/catalyst.cjs.js +2 -2
- package/dist/cjs/{index-5d72f0e4.js → index-499bad41.js} +44 -1
- package/dist/cjs/index-499bad41.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/cat-checkbox/cat-checkbox.css +14 -0
- package/dist/collection/components/cat-checkbox/cat-checkbox.js +44 -11
- package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +1 -1
- package/dist/collection/components/cat-form-hint/cat-form-hint.js +16 -0
- package/dist/collection/components/cat-form-hint/cat-form-hint.js.map +1 -0
- package/dist/collection/components/cat-icon/cat-icon.css +4 -1
- package/dist/collection/components/cat-input/cat-input.css +12 -6
- package/dist/collection/components/cat-input/cat-input.js +24 -25
- package/dist/collection/components/cat-input/cat-input.js.map +1 -1
- package/dist/collection/components/cat-radio/cat-radio.css +14 -0
- package/dist/collection/components/cat-radio/cat-radio.js +41 -8
- package/dist/collection/components/cat-radio/cat-radio.js.map +1 -1
- package/dist/collection/components/cat-tab/cat-tab.css +12 -0
- package/dist/collection/components/cat-tab/cat-tab.js +203 -0
- package/dist/collection/components/cat-tab/cat-tab.js.map +1 -0
- package/dist/collection/components/cat-tabs/cat-tabs.css +33 -0
- package/dist/collection/components/cat-tabs/cat-tabs.js +122 -0
- package/dist/collection/components/cat-tabs/cat-tabs.js.map +1 -0
- package/dist/collection/components/cat-textarea/cat-textarea.css +12 -6
- package/dist/collection/components/cat-textarea/cat-textarea.js +24 -18
- package/dist/collection/components/cat-textarea/cat-textarea.js.map +1 -1
- package/dist/collection/components/cat-toggle/cat-toggle.css +14 -0
- package/dist/collection/components/cat-toggle/cat-toggle.js +40 -7
- package/dist/collection/components/cat-toggle/cat-toggle.js.map +1 -1
- package/dist/collection/components/cat-tooltip/cat-tooltip.js +13 -8
- package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +1 -1
- package/dist/collection/scss/_mixins.scss +9 -0
- package/dist/collection/scss/_variables.scss +64 -0
- package/dist/collection/scss/_variables.tokens.scss +84 -0
- package/dist/collection/scss/core/_base.scss +12 -0
- package/dist/collection/scss/core/_nav.scss +23 -0
- package/dist/collection/scss/core/_typography.scss +237 -0
- package/dist/collection/scss/fonts/_fonts.mixins.azeret.scss +14 -0
- package/dist/collection/scss/fonts/_fonts.mixins.dm.scss +53 -0
- package/dist/collection/scss/fonts/_fonts.mixins.lato.scss +185 -0
- package/dist/collection/scss/fonts/_fonts.mixins.scss +3 -0
- package/dist/collection/scss/fonts/_fonts.scss +13 -0
- package/dist/collection/scss/index.scss +32 -0
- package/dist/collection/scss/utils/_color.scss +52 -0
- package/dist/collection/scss/utils/_disabled.mixins.scss +7 -0
- package/dist/collection/scss/utils/_display.scss +20 -0
- package/dist/collection/scss/utils/_elevation.mixins.scss +10 -0
- package/dist/collection/scss/utils/_elevation.scss +19 -0
- package/dist/collection/scss/utils/_layout.scss +78 -0
- package/dist/collection/scss/utils/_media.mixins.scss +37 -0
- package/dist/collection/scss/utils/_ratio.mixins.scss +12 -0
- package/dist/collection/scss/utils/_ratio.scss +20 -0
- package/dist/collection/scss/utils/_sizing.mixins.scss +15 -0
- package/dist/collection/scss/utils/_sizing.scss +16 -0
- package/dist/collection/scss/utils/_spacing.mixins.scss +5 -0
- package/dist/collection/scss/utils/_spacing.scss +49 -0
- package/dist/collection/scss/utils/_toast.scss +77 -0
- package/dist/collection/scss/utils/_typography.mixins.scss +102 -0
- package/dist/collection/scss/utils/_typography.scss +34 -0
- package/dist/collection/scss/utils/_visibility.mixins.scss +29 -0
- package/dist/collection/scss/utils/_visibility.scss +13 -0
- package/dist/components/cat-checkbox.js +16 -5
- package/dist/components/cat-checkbox.js.map +1 -1
- package/dist/components/cat-form-hint.js +20 -0
- package/dist/components/cat-form-hint.js.map +1 -0
- package/dist/components/cat-icon2.js +1 -1
- package/dist/components/cat-icon2.js.map +1 -1
- package/dist/components/cat-input.js +16 -18
- package/dist/components/cat-input.js.map +1 -1
- package/dist/components/cat-radio.js +16 -5
- package/dist/components/cat-radio.js.map +1 -1
- package/dist/components/cat-tab.d.ts +11 -0
- package/dist/components/cat-tab.js +70 -0
- package/dist/components/cat-tab.js.map +1 -0
- package/dist/components/cat-tabs.d.ts +11 -0
- package/dist/components/cat-tabs.js +107 -0
- package/dist/components/cat-tabs.js.map +1 -0
- package/dist/components/cat-textarea.js +14 -12
- package/dist/components/cat-textarea.js.map +1 -1
- package/dist/components/cat-toggle.js +16 -5
- package/dist/components/cat-toggle.js.map +1 -1
- package/dist/components/cat-tooltip.js +13 -8
- package/dist/components/cat-tooltip.js.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/esm/app-globals-cf55f7f5.js.map +1 -1
- package/dist/esm/{cat-alert_16.entry.js → cat-alert_18.entry.js} +173 -45
- package/dist/esm/cat-alert_18.entry.js.map +1 -0
- package/dist/esm/cat-form-hint-dc443c7c.js +20 -0
- package/dist/esm/cat-form-hint-dc443c7c.js.map +1 -0
- package/dist/esm/cat-textarea.entry.js +13 -12
- package/dist/esm/cat-textarea.entry.js.map +1 -1
- package/dist/esm/catalyst.js +2 -2
- package/dist/esm/{index-fd12be19.js → index-039e6f5f.js} +44 -2
- package/dist/esm/index-039e6f5f.js.map +1 -0
- package/dist/esm/loader.js +2 -2
- package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +9 -0
- package/dist/types/components/cat-form-hint/cat-form-hint.d.ts +19 -0
- package/dist/types/components/cat-input/cat-input.d.ts +7 -5
- package/dist/types/components/cat-radio/cat-radio.d.ts +9 -0
- package/dist/types/components/cat-tab/cat-tab.d.ts +43 -0
- package/dist/types/components/cat-tabs/cat-tabs.d.ts +25 -0
- package/dist/types/components/cat-textarea/cat-textarea.d.ts +7 -2
- package/dist/types/components/cat-toggle/cat-toggle.d.ts +9 -0
- package/dist/types/components/cat-tooltip/cat-tooltip.d.ts +1 -0
- package/dist/types/components.d.ts +134 -8
- package/package.json +2 -2
- package/dist/catalyst/p-6a5f0d4a.entry.js +0 -10
- package/dist/catalyst/p-6a5f0d4a.entry.js.map +0 -1
- package/dist/catalyst/p-a8629c54.entry.js +0 -2
- package/dist/catalyst/p-a8629c54.entry.js.map +0 -1
- package/dist/catalyst/p-bfc656ca.js +0 -2
- package/dist/catalyst/p-bfc656ca.js.map +0 -1
- package/dist/cjs/cat-alert_16.cjs.entry.js.map +0 -1
- package/dist/cjs/index-5d72f0e4.js.map +0 -1
- package/dist/esm/cat-alert_16.entry.js.map +0 -1
- package/dist/esm/index-fd12be19.js.map +0 -1
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-499bad41.js');
|
|
6
6
|
const loglevel = require('./loglevel-c9b2d01f.js');
|
|
7
|
+
const catFormHint = require('./cat-form-hint-93a6936b.js');
|
|
7
8
|
const catIconRegistry = require('./cat-icon-registry-49b11b51.js');
|
|
8
9
|
const catNotification = require('./cat-notification-156f4cf5.js');
|
|
9
10
|
|
|
@@ -463,16 +464,17 @@ const CatCard = class {
|
|
|
463
464
|
};
|
|
464
465
|
CatCard.style = catCardCss;
|
|
465
466
|
|
|
466
|
-
const catCheckboxCss = ":host{display:flex;margin-bottom:1rem}:host([hidden]){display:none}label{flex:0 1 auto;display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}input{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}.box{flex:0 0 auto;display:flex;position:relative;height:1.25rem;width:1.25rem;background-color:white;border:1px solid #d7dbe0;border-radius:0.125rem;transition:background-color 0.13s ease, border-color 0.13s ease}.box svg{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all 0.13s ease;width:70%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.99)}:checked+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:checked+.box .check{stroke-dashoffset:0}:indeterminate+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:indeterminate+.box .dash{stroke-dashoffset:0}:focus-visible+.box{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.label{flex:1 1 auto}.is-hidden .label{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}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
|
|
467
|
+
const catCheckboxCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}:host([hidden]){display:none}label{flex:0 1 auto;display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}input{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}.box{flex:0 0 auto;display:flex;position:relative;height:1.25rem;width:1.25rem;background-color:white;border:1px solid #d7dbe0;border-radius:0.125rem;transition:background-color 0.13s ease, border-color 0.13s ease}.box svg{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all 0.13s ease;width:70%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.99)}:checked+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:checked+.box .check{stroke-dashoffset:0}:indeterminate+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:indeterminate+.box .dash{stroke-dashoffset:0}:focus-visible+.box{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.label{flex:1 1 auto}.is-hidden .label{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}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
|
|
467
468
|
|
|
468
|
-
let nextUniqueId$
|
|
469
|
+
let nextUniqueId$6 = 0;
|
|
469
470
|
const CatCheckbox = class {
|
|
470
471
|
constructor(hostRef) {
|
|
471
472
|
index.registerInstance(this, hostRef);
|
|
472
473
|
this.catChange = index.createEvent(this, "catChange", 7);
|
|
473
474
|
this.catFocus = index.createEvent(this, "catFocus", 7);
|
|
474
475
|
this.catBlur = index.createEvent(this, "catBlur", 7);
|
|
475
|
-
this.id = `cat-checkbox-${nextUniqueId$
|
|
476
|
+
this.id = `cat-checkbox-${nextUniqueId$6++}`;
|
|
477
|
+
this.hasSlottedLabel = false;
|
|
476
478
|
/**
|
|
477
479
|
* Checked state of the checkbox
|
|
478
480
|
*/
|
|
@@ -504,7 +506,8 @@ const CatCheckbox = class {
|
|
|
504
506
|
}
|
|
505
507
|
}
|
|
506
508
|
componentWillRender() {
|
|
507
|
-
|
|
509
|
+
this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
|
|
510
|
+
if (!this.label && !this.hasSlottedLabel) {
|
|
508
511
|
loglevel.loglevel.error('[A11y] Missing ARIA label on checkbox', this);
|
|
509
512
|
}
|
|
510
513
|
}
|
|
@@ -518,9 +521,14 @@ const CatCheckbox = class {
|
|
|
518
521
|
this.input.focus(options);
|
|
519
522
|
}
|
|
520
523
|
render() {
|
|
521
|
-
return (index.h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled } }, index.h("input", { ref: el => (this.input = el), id: this.id, type: "checkbox", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), index.h("span", { class: "box", "aria-hidden": "true", part: "checkbox" }, index.h("svg", { class: "check", viewBox: "0 0 12 10" }, index.h("polyline", { points: "1.5 6 4.5 9 10.5 1" })), index.h("svg", { class: "dash", viewBox: "0 0 12 10" }, index.h("polyline", { points: "1.5 5 10.5 5" }))), index.h("span", { class: "label", part: "label" }, this.label)));
|
|
524
|
+
return (index.h(index.Host, null, index.h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled } }, index.h("input", { ref: el => (this.input = el), id: this.id, type: "checkbox", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), index.h("span", { class: "box", "aria-hidden": "true", part: "checkbox" }, index.h("svg", { class: "check", viewBox: "0 0 12 10" }, index.h("polyline", { points: "1.5 6 4.5 9 10.5 1" })), index.h("svg", { class: "dash", viewBox: "0 0 12 10" }, index.h("polyline", { points: "1.5 5 10.5 5" }))), index.h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label)), this.hintSection));
|
|
525
|
+
}
|
|
526
|
+
get hintSection() {
|
|
527
|
+
const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
|
|
528
|
+
return ((this.hint || hasSlottedHint) && (index.h(catFormHint.CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
|
|
522
529
|
}
|
|
523
530
|
onInput(event) {
|
|
531
|
+
this.value = this.input.value;
|
|
524
532
|
this.catChange.emit(event);
|
|
525
533
|
}
|
|
526
534
|
onFocus(event) {
|
|
@@ -529,10 +537,11 @@ const CatCheckbox = class {
|
|
|
529
537
|
onBlur(event) {
|
|
530
538
|
this.catBlur.emit(event);
|
|
531
539
|
}
|
|
540
|
+
get hostElement() { return index.getElement(this); }
|
|
532
541
|
};
|
|
533
542
|
CatCheckbox.style = catCheckboxCss;
|
|
534
543
|
|
|
535
|
-
const catIconCss = ":host{display:inline-flex;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}span{display:inline-flex}svg{fill:currentColor;stroke:none;transform-origin:center center;
|
|
544
|
+
const catIconCss = ":host{display:inline-flex;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}span{display:inline-flex}svg{fill:currentColor;stroke:none;transform-origin:center center;height:1em;width:calc(var(--cat-icon-ratio, 1) * 1em)}.icon-xs svg{font-size:0.75rem}.icon-s svg{font-size:1rem}.icon-m svg{font-size:1.25rem}.icon-l svg{font-size:1.5rem}.icon-xl svg{font-size:1.75rem}";
|
|
536
545
|
|
|
537
546
|
const CatIcon = class {
|
|
538
547
|
constructor(hostRef) {
|
|
@@ -556,9 +565,9 @@ const CatIcon = class {
|
|
|
556
565
|
};
|
|
557
566
|
CatIcon.style = catIconCss;
|
|
558
567
|
|
|
559
|
-
const catInputCss = ":host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;margin-bottom:1rem}:host([hidden]){display:none}.input-wrapper{display:flex;align-items:stretch;gap:0.75rem;padding:0 0.75rem;height:2.5rem;overflow:hidden;background:white;border-radius:0.25rem;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear}.input-wrapper.input-round{border-radius:10rem}.input-wrapper.input-disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.input-wrapper:not(.input-disabled):hover{box-shadow:0 0 0 2px #d7dbe0}.input-wrapper:not(.input-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}label{align-self:flex-start}label.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}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.text-prefix,.text-suffix{display:inline-flex;align-items:center;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.text-prefix{border-right:1px solid #d7dbe0;padding-right:0.75rem}.text-suffix{border-left:1px solid #d7dbe0;padding-left:0.75rem}.icon-prefix,.icon-suffix{align-self:center}.input-inner-wrapper{display:flex;position:relative;flex:1 1 auto}input{font:inherit;margin:0;padding:0;width:100%;min-width:0;border:none;outline:none;background:none}.input-disabled input{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}input.has-clearable{padding-right:1.5rem}input::placeholder{color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.clearable{position:absolute;top:calc(50% - 1rem);right:-0.5rem}
|
|
568
|
+
const catInputCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;margin-bottom:1rem}:host([hidden]){display:none}.input-wrapper{display:flex;align-items:stretch;gap:0.75rem;padding:0 0.75rem;height:2.5rem;overflow:hidden;background:white;border-radius:0.25rem;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear}.input-wrapper.input-round{border-radius:10rem}.input-wrapper.input-disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.input-wrapper:not(.input-disabled):hover{box-shadow:0 0 0 2px #d7dbe0}.input-wrapper:not(.input-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}label{align-self:flex-start}label.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}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.text-prefix,.text-suffix{display:inline-flex;align-items:center;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.text-prefix{border-right:1px solid #d7dbe0;padding-right:0.75rem}.text-suffix{border-left:1px solid #d7dbe0;padding-left:0.75rem}.icon-prefix,.icon-suffix{align-self:center}.input-inner-wrapper{display:flex;position:relative;flex:1 1 auto}input{font:inherit;margin:0;padding:0;width:100%;min-width:0;border:none;outline:none;background:none}.input-disabled input{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}input.has-clearable{padding-right:1.5rem}input::placeholder{color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.clearable{position:absolute;top:calc(50% - 1rem);right:-0.5rem}";
|
|
560
569
|
|
|
561
|
-
let nextUniqueId$
|
|
570
|
+
let nextUniqueId$5 = 0;
|
|
562
571
|
const CatInput = class {
|
|
563
572
|
constructor(hostRef) {
|
|
564
573
|
index.registerInstance(this, hostRef);
|
|
@@ -566,8 +575,8 @@ const CatInput = class {
|
|
|
566
575
|
this.catFocus = index.createEvent(this, "catFocus", 7);
|
|
567
576
|
this.catBlur = index.createEvent(this, "catBlur", 7);
|
|
568
577
|
this.i18n = catIconRegistry.CatI18nRegistry.getInstance();
|
|
569
|
-
this.id = `cat-input-${nextUniqueId$
|
|
570
|
-
this.
|
|
578
|
+
this.id = `cat-input-${nextUniqueId$5++}`;
|
|
579
|
+
this.hasSlottedLabel = false;
|
|
571
580
|
/**
|
|
572
581
|
* Whether the input should show a clear button.
|
|
573
582
|
*/
|
|
@@ -609,14 +618,9 @@ const CatInput = class {
|
|
|
609
618
|
*/
|
|
610
619
|
this.type = 'text';
|
|
611
620
|
}
|
|
612
|
-
onValueChange(value) {
|
|
613
|
-
this.inputValue = '' + (value !== null && value !== void 0 ? value : '');
|
|
614
|
-
}
|
|
615
|
-
componentWillLoad() {
|
|
616
|
-
this.onValueChange(this.value);
|
|
617
|
-
}
|
|
618
621
|
componentWillRender() {
|
|
619
|
-
|
|
622
|
+
this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
|
|
623
|
+
if (!this.label && !this.hasSlottedLabel) {
|
|
620
624
|
loglevel.loglevel.error('[A11y] Missing ARIA label on input', this);
|
|
621
625
|
}
|
|
622
626
|
}
|
|
@@ -633,19 +637,23 @@ const CatInput = class {
|
|
|
633
637
|
* Clear the input.
|
|
634
638
|
*/
|
|
635
639
|
async clear() {
|
|
636
|
-
this.
|
|
640
|
+
this.value = '';
|
|
637
641
|
}
|
|
638
642
|
render() {
|
|
639
|
-
return (index.h(index.Host, null, this.label && (index.h("label", { htmlFor: this.id, class: { hidden: this.labelHidden } }, index.h("span", { part: "label" }, this.label, !this.required && (index.h("span", { class: "input-optional", "aria-hidden": "true" }, "(", this.i18n.getMessage('input.optional'), ")"))))), index.h("div", { class: {
|
|
643
|
+
return (index.h(index.Host, null, (this.hasSlottedLabel || this.label) && (index.h("label", { htmlFor: this.id, class: { hidden: this.labelHidden } }, index.h("span", { part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label, !this.required && (index.h("span", { class: "input-optional", "aria-hidden": "true" }, "(", this.i18n.getMessage('input.optional'), ")"))))), index.h("div", { class: {
|
|
640
644
|
'input-wrapper': true,
|
|
641
645
|
'input-round': this.round,
|
|
642
646
|
'input-disabled': this.disabled
|
|
643
647
|
}, onClick: () => this.input.focus() }, this.textPrefix && (index.h("span", { class: "text-prefix", part: "prefix" }, this.textPrefix)), this.icon && !this.iconRight && index.h("cat-icon", { icon: this.icon, class: "icon-prefix", size: "l" }), index.h("div", { class: "input-inner-wrapper" }, index.h("input", { ref: el => (this.input = el), id: this.id, class: {
|
|
644
648
|
'has-clearable': this.clearable && !this.disabled
|
|
645
|
-
}, autocomplete: this.autoComplete, disabled: this.disabled, max: this.max, maxlength: this.maxLength, min: this.max, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, type: this.type, value: this.
|
|
649
|
+
}, autocomplete: this.autoComplete, disabled: this.disabled, max: this.max, maxlength: this.maxLength, min: this.max, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, type: this.type, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), this.clearable && !this.disabled && this.value && (index.h("cat-button", { class: "clearable", icon: "cross-circle-outlined", "icon-only": "true", size: "s", variant: "text", "a11y-label": this.i18n.getMessage('input.clear'), onClick: this.clear.bind(this) }))), this.icon && this.iconRight && index.h("cat-icon", { icon: this.icon, class: "icon-suffix", size: "l" }), this.textSuffix && (index.h("span", { class: "text-suffix", part: "suffix" }, this.textSuffix))), this.hintSection));
|
|
650
|
+
}
|
|
651
|
+
get hintSection() {
|
|
652
|
+
const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
|
|
653
|
+
return ((this.hint || hasSlottedHint) && (index.h(catFormHint.CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
|
|
646
654
|
}
|
|
647
655
|
onInput(event) {
|
|
648
|
-
this.
|
|
656
|
+
this.value = this.input.value;
|
|
649
657
|
this.catChange.emit(event);
|
|
650
658
|
}
|
|
651
659
|
onFocus(event) {
|
|
@@ -654,9 +662,7 @@ const CatInput = class {
|
|
|
654
662
|
onBlur(event) {
|
|
655
663
|
this.catBlur.emit(event);
|
|
656
664
|
}
|
|
657
|
-
|
|
658
|
-
"value": ["onValueChange"]
|
|
659
|
-
}; }
|
|
665
|
+
get hostElement() { return index.getElement(this); }
|
|
660
666
|
};
|
|
661
667
|
CatInput.style = catInputCss;
|
|
662
668
|
|
|
@@ -2895,13 +2901,13 @@ const firstTabbable = (container) => {
|
|
|
2895
2901
|
|
|
2896
2902
|
const catMenuCss = ":host{display:contents}:host([hidden]){display:none}.content{padding-top:0.5rem;padding-bottom:0.5rem;position:absolute;background:white;display:none;overflow:auto;-webkit-overflow-scrolling:touch;min-width:8rem;max-width:16rem;min-height:2rem;max-height:calc(100vh - 48px);box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2);border-radius:0.25rem;z-index:100}";
|
|
2897
2903
|
|
|
2898
|
-
let nextUniqueId$
|
|
2904
|
+
let nextUniqueId$4 = 0;
|
|
2899
2905
|
const CatMenu = class {
|
|
2900
2906
|
constructor(hostRef) {
|
|
2901
2907
|
index.registerInstance(this, hostRef);
|
|
2902
2908
|
this.catOpen = index.createEvent(this, "catOpen", 7);
|
|
2903
2909
|
this.catClose = index.createEvent(this, "catClose", 7);
|
|
2904
|
-
this.id = nextUniqueId$
|
|
2910
|
+
this.id = nextUniqueId$4++;
|
|
2905
2911
|
/**
|
|
2906
2912
|
* The placement of the menu.
|
|
2907
2913
|
*/
|
|
@@ -2996,16 +3002,17 @@ const CatMenu = class {
|
|
|
2996
3002
|
CatMenu.OFFSET = 4;
|
|
2997
3003
|
CatMenu.style = catMenuCss;
|
|
2998
3004
|
|
|
2999
|
-
const catRadioCss = ":host{display:flex;margin-bottom:1rem}:host([hidden]){display:none}label{display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;cursor:pointer}.radio{display:flex;position:relative}.circle{position:absolute;width:0.75rem;height:0.75rem;background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-radius:10rem;top:calc(50% - 0.375rem);left:calc(50% - 0.375rem);visibility:hidden}input{margin:0;width:1.25rem;height:1.25rem;appearance:none;background-color:white;border:1px solid #d7dbe0;border-radius:10rem;cursor:inherit}input:checked{border-color:rgb(var(--cat-primary-bg, 32, 127, 138))}input:checked+.circle{visibility:visible}input:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.is-hidden .label{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}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.is-disabled input{background-color:#f8f8fb}.is-disabled input:checked{border-color:#d7dbe0}.is-disabled .circle{background-color:#d7dbe0}";
|
|
3005
|
+
const catRadioCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}:host([hidden]){display:none}label{display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;cursor:pointer}.radio{display:flex;position:relative}.circle{position:absolute;width:0.75rem;height:0.75rem;background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-radius:10rem;top:calc(50% - 0.375rem);left:calc(50% - 0.375rem);visibility:hidden}input{margin:0;width:1.25rem;height:1.25rem;appearance:none;background-color:white;border:1px solid #d7dbe0;border-radius:10rem;cursor:inherit}input:checked{border-color:rgb(var(--cat-primary-bg, 32, 127, 138))}input:checked+.circle{visibility:visible}input:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.is-hidden .label{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}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.is-disabled input{background-color:#f8f8fb}.is-disabled input:checked{border-color:#d7dbe0}.is-disabled .circle{background-color:#d7dbe0}";
|
|
3000
3006
|
|
|
3001
|
-
let nextUniqueId$
|
|
3007
|
+
let nextUniqueId$3 = 0;
|
|
3002
3008
|
const CatRadio = class {
|
|
3003
3009
|
constructor(hostRef) {
|
|
3004
3010
|
index.registerInstance(this, hostRef);
|
|
3005
3011
|
this.catChange = index.createEvent(this, "catChange", 7);
|
|
3006
3012
|
this.catFocus = index.createEvent(this, "catFocus", 7);
|
|
3007
3013
|
this.catBlur = index.createEvent(this, "catBlur", 7);
|
|
3008
|
-
this.id = `cat-radio-${++nextUniqueId$
|
|
3014
|
+
this.id = `cat-radio-${++nextUniqueId$3}`;
|
|
3015
|
+
this.hasSlottedLabel = false;
|
|
3009
3016
|
/**
|
|
3010
3017
|
* Whether this radio is checked.
|
|
3011
3018
|
*/
|
|
@@ -3028,7 +3035,8 @@ const CatRadio = class {
|
|
|
3028
3035
|
this.required = false;
|
|
3029
3036
|
}
|
|
3030
3037
|
componentWillRender() {
|
|
3031
|
-
|
|
3038
|
+
this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
|
|
3039
|
+
if (!this.label && !this.hasSlottedLabel) {
|
|
3032
3040
|
loglevel.loglevel.error('[A11y] Missing ARIA label on radio', this);
|
|
3033
3041
|
}
|
|
3034
3042
|
}
|
|
@@ -3042,9 +3050,14 @@ const CatRadio = class {
|
|
|
3042
3050
|
this.input.focus(options);
|
|
3043
3051
|
}
|
|
3044
3052
|
render() {
|
|
3045
|
-
return (index.h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled } }, index.h("span", { class: "radio" }, index.h("input", { ref: el => (this.input = el), id: this.id, type: "radio", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onInput: this.onChange.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), index.h("span", { class: "circle" })), index.h("span", { class: "label", part: "label" }, this.label)));
|
|
3053
|
+
return (index.h(index.Host, null, index.h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled } }, index.h("span", { class: "radio" }, index.h("input", { ref: el => (this.input = el), id: this.id, type: "radio", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onInput: this.onChange.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), index.h("span", { class: "circle" })), index.h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label)), this.hintSection));
|
|
3054
|
+
}
|
|
3055
|
+
get hintSection() {
|
|
3056
|
+
const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
|
|
3057
|
+
return ((this.hint || hasSlottedHint) && (index.h(catFormHint.CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
|
|
3046
3058
|
}
|
|
3047
3059
|
onChange(event) {
|
|
3060
|
+
this.value = this.input.value;
|
|
3048
3061
|
this.catChange.emit(event);
|
|
3049
3062
|
}
|
|
3050
3063
|
onFocus(event) {
|
|
@@ -3053,6 +3066,7 @@ const CatRadio = class {
|
|
|
3053
3066
|
onBlur(event) {
|
|
3054
3067
|
this.catBlur.emit(event);
|
|
3055
3068
|
}
|
|
3069
|
+
get hostElement() { return index.getElement(this); }
|
|
3056
3070
|
};
|
|
3057
3071
|
CatRadio.style = catRadioCss;
|
|
3058
3072
|
|
|
@@ -4455,6 +4469,107 @@ const CatSpinner = class {
|
|
|
4455
4469
|
};
|
|
4456
4470
|
CatSpinner.style = catSpinnerCss;
|
|
4457
4471
|
|
|
4472
|
+
const catTabCss = ":host{display:block}:host([hidden]){display:none}";
|
|
4473
|
+
|
|
4474
|
+
let nextUniqueId$2 = 0;
|
|
4475
|
+
const CatTab = class {
|
|
4476
|
+
constructor(hostRef) {
|
|
4477
|
+
index.registerInstance(this, hostRef);
|
|
4478
|
+
this.tabClick = index.createEvent(this, "tabClick", 7);
|
|
4479
|
+
/**
|
|
4480
|
+
* The label of the tab.
|
|
4481
|
+
*/
|
|
4482
|
+
this.label = '';
|
|
4483
|
+
/**
|
|
4484
|
+
* Hide the actual button content and only display the tab.
|
|
4485
|
+
*/
|
|
4486
|
+
this.iconOnly = false;
|
|
4487
|
+
/**
|
|
4488
|
+
* Display the icon on the right.
|
|
4489
|
+
*/
|
|
4490
|
+
this.iconRight = false;
|
|
4491
|
+
/**
|
|
4492
|
+
* Specifies that the tab should be deactivated.
|
|
4493
|
+
*/
|
|
4494
|
+
this.deactivated = false;
|
|
4495
|
+
}
|
|
4496
|
+
connectedCallback() {
|
|
4497
|
+
if (!this.hostElement.id) {
|
|
4498
|
+
this.hostElement.id = `cat-tab-${nextUniqueId$2++}`;
|
|
4499
|
+
}
|
|
4500
|
+
}
|
|
4501
|
+
onClick(event) {
|
|
4502
|
+
this.tabClick.emit(event);
|
|
4503
|
+
}
|
|
4504
|
+
render() {
|
|
4505
|
+
return index.h(index.Host, null);
|
|
4506
|
+
}
|
|
4507
|
+
get hostElement() { return index.getElement(this); }
|
|
4508
|
+
};
|
|
4509
|
+
CatTab.style = catTabCss;
|
|
4510
|
+
|
|
4511
|
+
const catTabsCss = ":host{display:flex;flex-direction:row;box-shadow:inset 0 -1px 0 0 #d7dbe0}:host([hidden]){display:none}:host([tabs-align=center]){justify-content:center}:host([tabs-align=right]){justify-content:end}:host([tabs-align=justify]) cat-button{flex:1 0 auto}.tab{padding:0.5rem}.tab.tab-active{box-shadow:inset 0 -3px 0 0 #207f8a}";
|
|
4512
|
+
|
|
4513
|
+
const CatTabs = class {
|
|
4514
|
+
constructor(hostRef) {
|
|
4515
|
+
index.registerInstance(this, hostRef);
|
|
4516
|
+
this.tabs = [];
|
|
4517
|
+
this.buttons = [];
|
|
4518
|
+
/**
|
|
4519
|
+
* The ID of the active tab.
|
|
4520
|
+
*/
|
|
4521
|
+
this.activeTab = '';
|
|
4522
|
+
/**
|
|
4523
|
+
* The alignment of the tabs.
|
|
4524
|
+
*/
|
|
4525
|
+
this.tabsAlign = 'left';
|
|
4526
|
+
}
|
|
4527
|
+
onActiveTabChanged(newActiveTab) {
|
|
4528
|
+
const activeTab = this.tabs.find(value => value.id === newActiveTab);
|
|
4529
|
+
activeTab === null || activeTab === void 0 ? void 0 : activeTab.click();
|
|
4530
|
+
}
|
|
4531
|
+
componentWillLoad() {
|
|
4532
|
+
this.tabs = Array.from(this.hostElement.querySelectorAll('cat-tab'));
|
|
4533
|
+
if (this.tabs.length) {
|
|
4534
|
+
this.activeTabId = this.activeTab;
|
|
4535
|
+
}
|
|
4536
|
+
}
|
|
4537
|
+
onKeydown(event) {
|
|
4538
|
+
var _a;
|
|
4539
|
+
if (['ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft'].includes(event.key)) {
|
|
4540
|
+
const targetElements = this.buttons.filter(button => !button.disabled);
|
|
4541
|
+
const activeElement = (_a = this.hostElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement;
|
|
4542
|
+
const activeIdx = activeElement ? targetElements.indexOf(activeElement) : -1;
|
|
4543
|
+
const activeOff = ['ArrowDown', 'ArrowRight'].includes(event.key) ? 1 : -1;
|
|
4544
|
+
const targetIdx = activeIdx < 0 ? 0 : (activeIdx + activeOff + targetElements.length) % targetElements.length;
|
|
4545
|
+
targetElements[targetIdx].setFocus();
|
|
4546
|
+
event.preventDefault();
|
|
4547
|
+
}
|
|
4548
|
+
}
|
|
4549
|
+
render() {
|
|
4550
|
+
return (index.h(index.Host, null, this.tabs.map((tab) => {
|
|
4551
|
+
return (index.h("cat-button", { ref: el => el && this.updateButtonsRef(el), buttonId: tab.id, role: "tab", part: "tab", class: {
|
|
4552
|
+
tab: true,
|
|
4553
|
+
'tab-active': Boolean(this.activeTabId && tab.id === this.activeTabId)
|
|
4554
|
+
}, color: this.activeTabId && tab.id === this.activeTabId ? 'primary' : 'secondary', variant: "text", icon: tab.icon, iconOnly: tab.iconOnly, iconRight: tab.iconRight, url: tab.url, disabled: tab.deactivated, urlTarget: tab.urlTarget, onCatClick: () => (this.activeTabId = tab.id) }, tab.label));
|
|
4555
|
+
})));
|
|
4556
|
+
}
|
|
4557
|
+
updateButtonsRef(button) {
|
|
4558
|
+
const indexOf = this.buttons.indexOf(button);
|
|
4559
|
+
if (indexOf >= 0) {
|
|
4560
|
+
this.buttons[indexOf] = button;
|
|
4561
|
+
}
|
|
4562
|
+
else {
|
|
4563
|
+
this.buttons.push(button);
|
|
4564
|
+
}
|
|
4565
|
+
}
|
|
4566
|
+
get hostElement() { return index.getElement(this); }
|
|
4567
|
+
static get watchers() { return {
|
|
4568
|
+
"activeTabId": ["onActiveTabChanged"]
|
|
4569
|
+
}; }
|
|
4570
|
+
};
|
|
4571
|
+
CatTabs.style = catTabsCss;
|
|
4572
|
+
|
|
4458
4573
|
const catToastDemoCss = ":host{display:block}";
|
|
4459
4574
|
|
|
4460
4575
|
const CatToastDemo = class {
|
|
@@ -4498,7 +4613,7 @@ const CatToastDemo = class {
|
|
|
4498
4613
|
};
|
|
4499
4614
|
CatToastDemo.style = catToastDemoCss;
|
|
4500
4615
|
|
|
4501
|
-
const catToggleCss = ":host{display:flex;margin-bottom:1rem}:host([hidden]){display:none}label{flex:0 1 auto;display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}input{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}.toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative;width:2rem;height:1.25rem;border-radius:10rem;background-color:#d7dbe0;transition:background-color 0.13s ease}:checked+.toggle{background-color:rgb(var(--cat-primary-bg, 32, 127, 138))}:focus-visible+.toggle{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.toggle::after{content:\"\";position:absolute;width:1rem;height:1rem;background:#fff;border-radius:10rem;transform:translateX(calc(2px - 0.5rem));transition:transform 0.13s linear;box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2)}:checked+.toggle::after{transform:translateX(calc(-2px + 0.5rem))}.label{flex:1 1 auto}.is-hidden .label{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}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
|
|
4616
|
+
const catToggleCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}:host([hidden]){display:none}label{flex:0 1 auto;display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}input{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}.toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative;width:2rem;height:1.25rem;border-radius:10rem;background-color:#d7dbe0;transition:background-color 0.13s ease}:checked+.toggle{background-color:rgb(var(--cat-primary-bg, 32, 127, 138))}:focus-visible+.toggle{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.toggle::after{content:\"\";position:absolute;width:1rem;height:1rem;background:#fff;border-radius:10rem;transform:translateX(calc(2px - 0.5rem));transition:transform 0.13s linear;box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2)}:checked+.toggle::after{transform:translateX(calc(-2px + 0.5rem))}.label{flex:1 1 auto}.is-hidden .label{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}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
|
|
4502
4617
|
|
|
4503
4618
|
let nextUniqueId$1 = 0;
|
|
4504
4619
|
const CatToggle = class {
|
|
@@ -4508,6 +4623,7 @@ const CatToggle = class {
|
|
|
4508
4623
|
this.catFocus = index.createEvent(this, "catFocus", 7);
|
|
4509
4624
|
this.catBlur = index.createEvent(this, "catBlur", 7);
|
|
4510
4625
|
this.id = `cat-toggle-${nextUniqueId$1++}`;
|
|
4626
|
+
this.hasSlottedLabel = false;
|
|
4511
4627
|
/**
|
|
4512
4628
|
* Checked state of the toggle.
|
|
4513
4629
|
*/
|
|
@@ -4530,7 +4646,8 @@ const CatToggle = class {
|
|
|
4530
4646
|
this.required = false;
|
|
4531
4647
|
}
|
|
4532
4648
|
componentWillRender() {
|
|
4533
|
-
|
|
4649
|
+
this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
|
|
4650
|
+
if (!this.label && !this.hasSlottedLabel) {
|
|
4534
4651
|
loglevel.loglevel.error('[A11y] Missing ARIA label on toggle', this);
|
|
4535
4652
|
}
|
|
4536
4653
|
}
|
|
@@ -4544,9 +4661,14 @@ const CatToggle = class {
|
|
|
4544
4661
|
this.input.focus(options);
|
|
4545
4662
|
}
|
|
4546
4663
|
render() {
|
|
4547
|
-
return (index.h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled } }, index.h("input", { ref: el => (this.input = el), id: this.id, type: "checkbox", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, class: "form-check-input", role: "switch", onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), index.h("span", { class: "toggle", part: "toggle" }), index.h("span", { class: "label", part: "label" }, this.label)));
|
|
4664
|
+
return (index.h(index.Host, null, index.h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled } }, index.h("input", { ref: el => (this.input = el), id: this.id, type: "checkbox", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, class: "form-check-input", role: "switch", onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), index.h("span", { class: "toggle", part: "toggle" }), index.h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label)), this.hintSection));
|
|
4665
|
+
}
|
|
4666
|
+
get hintSection() {
|
|
4667
|
+
const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
|
|
4668
|
+
return ((this.hint || hasSlottedHint) && (index.h(catFormHint.CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
|
|
4548
4669
|
}
|
|
4549
4670
|
onInput(event) {
|
|
4671
|
+
this.value = this.input.value;
|
|
4550
4672
|
this.catChange.emit(event);
|
|
4551
4673
|
}
|
|
4552
4674
|
onFocus(event) {
|
|
@@ -4555,6 +4677,7 @@ const CatToggle = class {
|
|
|
4555
4677
|
onBlur(event) {
|
|
4556
4678
|
this.catBlur.emit(event);
|
|
4557
4679
|
}
|
|
4680
|
+
get hostElement() { return index.getElement(this); }
|
|
4558
4681
|
};
|
|
4559
4682
|
CatToggle.style = catToggleCss;
|
|
4560
4683
|
|
|
@@ -4606,6 +4729,7 @@ const CatTooltip = class {
|
|
|
4606
4729
|
autoUpdate(this.trigger, this.tooltip, () => this.update());
|
|
4607
4730
|
}
|
|
4608
4731
|
if (isTouchDevice) {
|
|
4732
|
+
window.addEventListener('touchstart', this.windowTouchStartListener.bind(this));
|
|
4609
4733
|
(_b = this.trigger) === null || _b === void 0 ? void 0 : _b.addEventListener('touchstart', this.touchStartListener.bind(this));
|
|
4610
4734
|
(_c = this.trigger) === null || _c === void 0 ? void 0 : _c.addEventListener('touchend', this.touchEndListener.bind(this));
|
|
4611
4735
|
}
|
|
@@ -4619,6 +4743,7 @@ const CatTooltip = class {
|
|
|
4619
4743
|
disconnectedCallback() {
|
|
4620
4744
|
var _a, _b, _c, _d, _e, _f;
|
|
4621
4745
|
if (isTouchDevice) {
|
|
4746
|
+
window.removeEventListener('touchstart', this.windowTouchStartListener.bind(this));
|
|
4622
4747
|
(_a = this.trigger) === null || _a === void 0 ? void 0 : _a.removeEventListener('touchstart', this.touchStartListener.bind(this));
|
|
4623
4748
|
(_b = this.trigger) === null || _b === void 0 ? void 0 : _b.removeEventListener('touchend', this.touchEndListener.bind(this));
|
|
4624
4749
|
}
|
|
@@ -4653,28 +4778,31 @@ const CatTooltip = class {
|
|
|
4653
4778
|
showListener() {
|
|
4654
4779
|
window.clearTimeout(this.hideTimeout);
|
|
4655
4780
|
this.showTimeout = window.setTimeout(() => {
|
|
4656
|
-
var _a
|
|
4657
|
-
(_a = this.
|
|
4658
|
-
(_b = this.tooltip) === null || _b === void 0 ? void 0 : _b.classList.add('tooltip-show');
|
|
4781
|
+
var _a;
|
|
4782
|
+
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.classList.add('tooltip-show');
|
|
4659
4783
|
}, this.showDelay);
|
|
4660
4784
|
}
|
|
4661
4785
|
hideListener() {
|
|
4662
4786
|
window.clearTimeout(this.showTimeout);
|
|
4663
4787
|
this.hideTimeout = window.setTimeout(() => {
|
|
4664
|
-
var _a
|
|
4665
|
-
(_a = this.
|
|
4666
|
-
(_b = this.tooltip) === null || _b === void 0 ? void 0 : _b.classList.remove('tooltip-show');
|
|
4788
|
+
var _a;
|
|
4789
|
+
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.classList.remove('tooltip-show');
|
|
4667
4790
|
}, this.hideDelay);
|
|
4668
4791
|
}
|
|
4669
|
-
touchStartListener() {
|
|
4792
|
+
touchStartListener(event) {
|
|
4793
|
+
event.stopPropagation();
|
|
4670
4794
|
this.touchTimeout = window.setTimeout(() => {
|
|
4671
4795
|
var _a;
|
|
4672
4796
|
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.classList.add('tooltip-show');
|
|
4673
4797
|
}, this.longTouchDuration);
|
|
4674
4798
|
}
|
|
4675
4799
|
touchEndListener() {
|
|
4800
|
+
if (this.touchTimeout) {
|
|
4801
|
+
window.clearTimeout(this.touchTimeout);
|
|
4802
|
+
}
|
|
4803
|
+
}
|
|
4804
|
+
windowTouchStartListener() {
|
|
4676
4805
|
var _a;
|
|
4677
|
-
window.clearTimeout(this.touchTimeout);
|
|
4678
4806
|
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.classList.remove('tooltip-show');
|
|
4679
4807
|
}
|
|
4680
4808
|
};
|
|
@@ -4694,8 +4822,10 @@ exports.cat_radio = CatRadio;
|
|
|
4694
4822
|
exports.cat_scrollable = CatScrollable;
|
|
4695
4823
|
exports.cat_skeleton = CatSkeleton;
|
|
4696
4824
|
exports.cat_spinner = CatSpinner;
|
|
4825
|
+
exports.cat_tab = CatTab;
|
|
4826
|
+
exports.cat_tabs = CatTabs;
|
|
4697
4827
|
exports.cat_toast_demo = CatToastDemo;
|
|
4698
4828
|
exports.cat_toggle = CatToggle;
|
|
4699
4829
|
exports.cat_tooltip = CatTooltip;
|
|
4700
4830
|
|
|
4701
|
-
//# sourceMappingURL=cat-
|
|
4831
|
+
//# sourceMappingURL=cat-alert_18.cjs.entry.js.map
|