@supersoniks/concorde 3.1.87 → 3.1.90

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.
@@ -105,7 +105,7 @@ export class Pop extends LitElement {
105
105
 
106
106
  show() {
107
107
  this.setMaxZindex();
108
- this.popContent.style.removeProperty("display");
108
+ this.popContent?.style?.removeProperty("display");
109
109
  this.open = true;
110
110
  this.popContent.setAttribute("tabindex", "0");
111
111
  if (this.popBtn && this.popContent && !this.positioningRuns) {
File without changes
@@ -1,4 +1,4 @@
1
- import { html, LitElement, css } from "lit";
1
+ import { html, LitElement, css, PropertyValues } from "lit";
2
2
  import { customElement, property } from "lit/decorators.js";
3
3
  const tagName = "sonic-tooltip";
4
4
  @customElement(tagName)
@@ -35,12 +35,20 @@ export class Tooltip extends LitElement {
35
35
  scale: 0.9;
36
36
  will-change: opacity, transform;
37
37
  }
38
- :host(:focus-within) .tooltip:not(.disabled):before,
39
- .tooltip:not(.disabled):hover:before {
38
+
39
+ /* désactive au focus-within cause persistance du tooltip au clic */
40
+ /* :host(:focus-within) .tooltip:before, */
41
+ :host(:focus-visible) .tooltip:before,
42
+ .tooltip:hover:before {
40
43
  opacity: 1;
41
44
  scale: 1;
42
45
  }
43
46
 
47
+ .disabled:before {
48
+ opacity: 0 !important;
49
+ scale: 0.9 !important;
50
+ }
51
+
44
52
  :host(:not([placement])) .tooltip:before,
45
53
  :host([placement="top"]) .tooltip:before {
46
54
  bottom: var(--sc-tooltip-position);
@@ -120,15 +128,22 @@ export class Tooltip extends LitElement {
120
128
  | "left"
121
129
  | "left-start"
122
130
  | "left-end";
131
+
123
132
  @property({ type: Boolean }) disabled = false;
124
133
  @property({ type: Boolean }) focusable = false;
125
134
 
126
- connectedCallback(): void {
127
- if (this.focusable) {
128
- this.setAttribute("tabindex", "0");
135
+ protected willUpdate(_changedProperties: PropertyValues): void {
136
+ if (_changedProperties.has("disabled")) {
137
+ const wasDisabledBefore = _changedProperties.get("disabled") === true;
138
+ if (this.disabled) {
139
+ this.setAttribute("tabindex", "-1");
140
+ } else if (!this.disabled && wasDisabledBefore) {
141
+ this.removeAttribute("tabindex");
142
+ }
129
143
  }
130
- super.connectedCallback();
144
+ super.willUpdate(_changedProperties);
131
145
  }
146
+
132
147
  render() {
133
148
  const disabledClass = this.disabled || this.label == "" ? "disabled" : "";
134
149
  return html`<div
@@ -308,7 +308,11 @@ const Form = <T extends Constructor<SubscriberInterface>>(superClass: T) => {
308
308
  focus() {
309
309
  const inputElement = this.shadowRoot?.querySelector(
310
310
  "[data-form-element], button"
311
- ) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
311
+ ) as
312
+ | HTMLInputElement
313
+ | HTMLSelectElement
314
+ | HTMLTextAreaElement
315
+ | HTMLButtonElement;
312
316
  inputElement?.focus();
313
317
  }
314
318