@nectary/components 5.1.3 → 5.2.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/bundle.js +12 -5
- package/link/index.js +1 -2
- package/package.json +1 -1
- package/radio/index.js +11 -4
package/bundle.js
CHANGED
|
@@ -1054,7 +1054,7 @@ class CodeTag extends NectaryElement {
|
|
|
1054
1054
|
}
|
|
1055
1055
|
}
|
|
1056
1056
|
defineCustomElement("sinch-code-tag", CodeTag);
|
|
1057
|
-
const templateHTML$13 = '<style>:host{display:inline}a{font:var(--sinch-comp-link-default-font-initial);font-size:inherit;line-height:inherit;text-decoration:var(--sinch-comp-link-default-text-decoration-initial);color:var(--sinch-comp-link-color-default-text-initial);border-radius:.5em;white-space:nowrap;--sinch-global-color-icon:var(--sinch-comp-link-color-default-icon-initial)}a:hover{text-decoration:var(--sinch-comp-link-default-text-decoration-hover);color:var(--sinch-comp-link-color-default-text-hover);--sinch-global-color-icon:var(--sinch-comp-link-color-default-icon-hover)}a:focus-visible{outline:2px solid var(--sinch-comp-link-color-default-outline-focus);outline-offset:2px}:host([standalone]){display:block}:host([standalone]) a{display:block;font:var(--sinch-comp-link-standalone-font-initial);font-size:inherit;line-height:inherit;text-decoration:none;width:fit-content}#external-icon,#standalone-icon{display:none;height:1em}#icon-prefix{display:none;margin-left:-.25em}:host([external]:not([standalone])) #external-icon{display:inline-block;margin-left:.25em;vertical-align:-.2em;--sinch-global-size-icon:1em}:host([standalone][external]) #external-icon{display:inline-block;vertical-align:-.4em;--sinch-global-size-icon:1.5em}:host([standalone]) #icon-prefix{display:inline}:host([standalone]:not([external])) #standalone-icon{display:inline-block;vertical-align:-.4em;--sinch-global-size-icon:1.5em}:host([disabled]) a{color:var(--sinch-comp-link-color-disabled-text-initial);pointer-events:none;cursor:initial;text-decoration:var(--sinch-comp-link-default-text-decoration-disabled);--sinch-global-color-icon:var(--sinch-comp-link-color-disabled-icon-initial)}#content{white-space:var(--sinch-global-text-white-space,normal)}</style><a referrerpolicy="no-referer"
|
|
1057
|
+
const templateHTML$13 = '<style>:host{display:inline}a{font:var(--sinch-comp-link-default-font-initial);font-size:inherit;line-height:inherit;text-decoration:var(--sinch-comp-link-default-text-decoration-initial);color:var(--sinch-comp-link-color-default-text-initial);border-radius:.5em;white-space:nowrap;--sinch-global-color-icon:var(--sinch-comp-link-color-default-icon-initial)}a:hover{text-decoration:var(--sinch-comp-link-default-text-decoration-hover);color:var(--sinch-comp-link-color-default-text-hover);--sinch-global-color-icon:var(--sinch-comp-link-color-default-icon-hover)}a:focus-visible{outline:2px solid var(--sinch-comp-link-color-default-outline-focus);outline-offset:2px}:host([standalone]){display:block}:host([standalone]) a{display:block;font:var(--sinch-comp-link-standalone-font-initial);font-size:inherit;line-height:inherit;text-decoration:none;width:fit-content}#external-icon,#standalone-icon{display:none;height:1em}#icon-prefix{display:none;margin-left:-.25em}:host([external]:not([standalone])) #external-icon{display:inline-block;margin-left:.25em;vertical-align:-.2em;--sinch-global-size-icon:1em}:host([standalone][external]) #external-icon{display:inline-block;vertical-align:-.4em;--sinch-global-size-icon:1.5em}:host([standalone]) #icon-prefix{display:inline}:host([standalone]:not([external])) #standalone-icon{display:inline-block;vertical-align:-.4em;--sinch-global-size-icon:1.5em}:host([disabled]) a{color:var(--sinch-comp-link-color-disabled-text-initial);pointer-events:none;cursor:initial;text-decoration:var(--sinch-comp-link-default-text-decoration-disabled);--sinch-global-color-icon:var(--sinch-comp-link-color-disabled-icon-initial)}#content{white-space:var(--sinch-global-text-white-space,normal)}</style><a referrerpolicy="no-referer"><span id="content"></span> <span id="icon-prefix"> </span><sinch-icon icons-version="2" name="fa-arrow-up-right" id="external-icon"></sinch-icon><sinch-icon icons-version="2" name="fa-arrow-right" id="standalone-icon"></sinch-icon></a>';
|
|
1058
1058
|
const template$13 = document.createElement("template");
|
|
1059
1059
|
template$13.innerHTML = templateHTML$13;
|
|
1060
1060
|
class Link extends NectaryElement {
|
|
@@ -1068,7 +1068,6 @@ class Link extends NectaryElement {
|
|
|
1068
1068
|
this.#$text = shadowRoot.querySelector("#content");
|
|
1069
1069
|
}
|
|
1070
1070
|
connectedCallback() {
|
|
1071
|
-
this.setAttribute("role", "link");
|
|
1072
1071
|
this.#$anchor.addEventListener("click", this.#onAnchorClick);
|
|
1073
1072
|
this.#$anchor.addEventListener("focus", this.#onAnchorFocus);
|
|
1074
1073
|
this.#$anchor.addEventListener("blur", this.#onAnchorBlur);
|
|
@@ -8093,6 +8092,10 @@ class Radio extends NectaryElement {
|
|
|
8093
8092
|
}
|
|
8094
8093
|
}
|
|
8095
8094
|
#onOptionKeyDown = (e) => {
|
|
8095
|
+
const option = e.target?.closest("sinch-radio-option") ?? null;
|
|
8096
|
+
if (option === null) {
|
|
8097
|
+
return;
|
|
8098
|
+
}
|
|
8096
8099
|
switch (e.code) {
|
|
8097
8100
|
case "ArrowUp":
|
|
8098
8101
|
case "ArrowLeft": {
|
|
@@ -8120,11 +8123,15 @@ class Radio extends NectaryElement {
|
|
|
8120
8123
|
this.#onValueChange(this.value);
|
|
8121
8124
|
};
|
|
8122
8125
|
#onOptionClick = (e) => {
|
|
8123
|
-
const target =
|
|
8124
|
-
if (target === null
|
|
8126
|
+
const target = e.target;
|
|
8127
|
+
if (target === null) {
|
|
8128
|
+
return;
|
|
8129
|
+
}
|
|
8130
|
+
const option = target.closest("sinch-radio-option");
|
|
8131
|
+
if (option === null || option.hasAttribute("disabled")) {
|
|
8125
8132
|
return;
|
|
8126
8133
|
}
|
|
8127
|
-
const value = getAttribute(
|
|
8134
|
+
const value = getAttribute(option, "value");
|
|
8128
8135
|
this.dispatchEvent(
|
|
8129
8136
|
new CustomEvent("-change", { detail: value })
|
|
8130
8137
|
);
|
package/link/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import "../icon/index.js";
|
|
|
2
2
|
import { isAttrEqual, updateAttribute, updateBooleanAttribute, isAttrTrue, getAttribute, getBooleanAttribute } from "../utils/dom.js";
|
|
3
3
|
import { defineCustomElement, NectaryElement } from "../utils/element.js";
|
|
4
4
|
import { getReactEventHandler } from "../utils/get-react-event-handler.js";
|
|
5
|
-
const templateHTML = '<style>:host{display:inline}a{font:var(--sinch-comp-link-default-font-initial);font-size:inherit;line-height:inherit;text-decoration:var(--sinch-comp-link-default-text-decoration-initial);color:var(--sinch-comp-link-color-default-text-initial);border-radius:.5em;white-space:nowrap;--sinch-global-color-icon:var(--sinch-comp-link-color-default-icon-initial)}a:hover{text-decoration:var(--sinch-comp-link-default-text-decoration-hover);color:var(--sinch-comp-link-color-default-text-hover);--sinch-global-color-icon:var(--sinch-comp-link-color-default-icon-hover)}a:focus-visible{outline:2px solid var(--sinch-comp-link-color-default-outline-focus);outline-offset:2px}:host([standalone]){display:block}:host([standalone]) a{display:block;font:var(--sinch-comp-link-standalone-font-initial);font-size:inherit;line-height:inherit;text-decoration:none;width:fit-content}#external-icon,#standalone-icon{display:none;height:1em}#icon-prefix{display:none;margin-left:-.25em}:host([external]:not([standalone])) #external-icon{display:inline-block;margin-left:.25em;vertical-align:-.2em;--sinch-global-size-icon:1em}:host([standalone][external]) #external-icon{display:inline-block;vertical-align:-.4em;--sinch-global-size-icon:1.5em}:host([standalone]) #icon-prefix{display:inline}:host([standalone]:not([external])) #standalone-icon{display:inline-block;vertical-align:-.4em;--sinch-global-size-icon:1.5em}:host([disabled]) a{color:var(--sinch-comp-link-color-disabled-text-initial);pointer-events:none;cursor:initial;text-decoration:var(--sinch-comp-link-default-text-decoration-disabled);--sinch-global-color-icon:var(--sinch-comp-link-color-disabled-icon-initial)}#content{white-space:var(--sinch-global-text-white-space,normal)}</style><a referrerpolicy="no-referer"
|
|
5
|
+
const templateHTML = '<style>:host{display:inline}a{font:var(--sinch-comp-link-default-font-initial);font-size:inherit;line-height:inherit;text-decoration:var(--sinch-comp-link-default-text-decoration-initial);color:var(--sinch-comp-link-color-default-text-initial);border-radius:.5em;white-space:nowrap;--sinch-global-color-icon:var(--sinch-comp-link-color-default-icon-initial)}a:hover{text-decoration:var(--sinch-comp-link-default-text-decoration-hover);color:var(--sinch-comp-link-color-default-text-hover);--sinch-global-color-icon:var(--sinch-comp-link-color-default-icon-hover)}a:focus-visible{outline:2px solid var(--sinch-comp-link-color-default-outline-focus);outline-offset:2px}:host([standalone]){display:block}:host([standalone]) a{display:block;font:var(--sinch-comp-link-standalone-font-initial);font-size:inherit;line-height:inherit;text-decoration:none;width:fit-content}#external-icon,#standalone-icon{display:none;height:1em}#icon-prefix{display:none;margin-left:-.25em}:host([external]:not([standalone])) #external-icon{display:inline-block;margin-left:.25em;vertical-align:-.2em;--sinch-global-size-icon:1em}:host([standalone][external]) #external-icon{display:inline-block;vertical-align:-.4em;--sinch-global-size-icon:1.5em}:host([standalone]) #icon-prefix{display:inline}:host([standalone]:not([external])) #standalone-icon{display:inline-block;vertical-align:-.4em;--sinch-global-size-icon:1.5em}:host([disabled]) a{color:var(--sinch-comp-link-color-disabled-text-initial);pointer-events:none;cursor:initial;text-decoration:var(--sinch-comp-link-default-text-decoration-disabled);--sinch-global-color-icon:var(--sinch-comp-link-color-disabled-icon-initial)}#content{white-space:var(--sinch-global-text-white-space,normal)}</style><a referrerpolicy="no-referer"><span id="content"></span> <span id="icon-prefix"> </span><sinch-icon icons-version="2" name="fa-arrow-up-right" id="external-icon"></sinch-icon><sinch-icon icons-version="2" name="fa-arrow-right" id="standalone-icon"></sinch-icon></a>';
|
|
6
6
|
const template = document.createElement("template");
|
|
7
7
|
template.innerHTML = templateHTML;
|
|
8
8
|
class Link extends NectaryElement {
|
|
@@ -16,7 +16,6 @@ class Link extends NectaryElement {
|
|
|
16
16
|
this.#$text = shadowRoot.querySelector("#content");
|
|
17
17
|
}
|
|
18
18
|
connectedCallback() {
|
|
19
|
-
this.setAttribute("role", "link");
|
|
20
19
|
this.#$anchor.addEventListener("click", this.#onAnchorClick);
|
|
21
20
|
this.#$anchor.addEventListener("focus", this.#onAnchorFocus);
|
|
22
21
|
this.#$anchor.addEventListener("blur", this.#onAnchorBlur);
|
package/package.json
CHANGED
package/radio/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { getBooleanAttribute, updateAttribute, getAttribute, updateBooleanAttribute, isAttrTrue } from "../utils/dom.js";
|
|
2
2
|
import { defineCustomElement, NectaryElement } from "../utils/element.js";
|
|
3
3
|
import { getReactEventHandler } from "../utils/get-react-event-handler.js";
|
|
4
|
-
import { getTargetByAttribute } from "../utils/event-target.js";
|
|
5
4
|
import { setFormValue } from "../utils/form.js";
|
|
6
5
|
const templateHTML = '<style>:host{display:block}#wrapper{display:flex;flex-direction:var(--sinch-comp-radio-direction,column);gap:var(--sinch-comp-radio-gap,8px);box-sizing:border-box;width:100%}</style><div id="wrapper"><slot></slot></div>';
|
|
7
6
|
const template = document.createElement("template");
|
|
@@ -85,6 +84,10 @@ class Radio extends NectaryElement {
|
|
|
85
84
|
}
|
|
86
85
|
}
|
|
87
86
|
#onOptionKeyDown = (e) => {
|
|
87
|
+
const option = e.target?.closest("sinch-radio-option") ?? null;
|
|
88
|
+
if (option === null) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
88
91
|
switch (e.code) {
|
|
89
92
|
case "ArrowUp":
|
|
90
93
|
case "ArrowLeft": {
|
|
@@ -112,11 +115,15 @@ class Radio extends NectaryElement {
|
|
|
112
115
|
this.#onValueChange(this.value);
|
|
113
116
|
};
|
|
114
117
|
#onOptionClick = (e) => {
|
|
115
|
-
const target =
|
|
116
|
-
if (target === null
|
|
118
|
+
const target = e.target;
|
|
119
|
+
if (target === null) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const option = target.closest("sinch-radio-option");
|
|
123
|
+
if (option === null || option.hasAttribute("disabled")) {
|
|
117
124
|
return;
|
|
118
125
|
}
|
|
119
|
-
const value = getAttribute(
|
|
126
|
+
const value = getAttribute(option, "value");
|
|
120
127
|
this.dispatchEvent(
|
|
121
128
|
new CustomEvent("-change", { detail: value })
|
|
122
129
|
);
|