@solid-design-system/components 1.19.0 → 1.21.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/components/es/accordion-group.js +1 -1
- package/dist/components/es/accordion.js +1 -1
- package/dist/components/es/brandshape.js +1 -1
- package/dist/components/es/button.js +1 -1
- package/dist/components/es/carousel.js +2 -2
- package/dist/components/es/drawer.js +1 -1
- package/dist/components/es/dropdown.js +1 -1
- package/dist/components/es/form.js +1 -0
- package/dist/components/es/icon.js +3 -3
- package/dist/components/es/if-defined.js +2 -2
- package/dist/components/es/link.js +1 -1
- package/dist/components/es/lit-element.js +4 -4
- package/dist/components/es/navigation-item.js +2 -2
- package/dist/components/es/popup.js +1 -1
- package/dist/components/es/query-assigned-elements.js +6 -0
- package/dist/components/es/query.js +7 -2
- package/dist/components/es/radio-group.js +1 -0
- package/dist/components/es/radio.js +1 -0
- package/dist/components/es/solid-components2.js +1 -1
- package/dist/components/es/solid-element.js +2 -12
- package/dist/components/es/state.js +1 -1
- package/dist/components/es/static.js +1 -1
- package/dist/components/es/tag.js +1 -1
- package/dist/components/es/teaser.js +1 -1
- package/dist/components/es/video.js +1 -1
- package/dist/components/umd/solid-components.js +18 -18
- package/dist/custom-elements.json +1 -1
- package/dist/package/_components/button-group/button-group.d.ts +19 -0
- package/dist/package/_components/button-group/button-group.js +76 -0
- package/dist/package/_components/button-group/button-group.styles.d.ts +2 -0
- package/dist/package/_components/button-group/button-group.styles.js +6 -0
- package/dist/package/components/button/button.d.ts +4 -0
- package/dist/package/components/button/button.js +25 -3
- package/dist/package/components/radio/radio.d.ts +27 -0
- package/dist/package/components/radio/radio.js +130 -0
- package/dist/package/components/radio-group/radio-group.d.ts +52 -0
- package/dist/package/components/radio-group/radio-group.js +321 -0
- package/dist/package/internal/form.d.ts +7 -1
- package/dist/package/internal/form.js +110 -49
- package/dist/package/internal/solid-element.d.ts +2 -0
- package/dist/package/node_modules/.pnpm/{@shoelace-style_localize@3.1.0 → @shoelace-style_localize@3.1.2}/node_modules/@shoelace-style/localize/dist/index.js +1 -1
- package/dist/package/solid-components.d.ts +2 -0
- package/dist/package/solid-components.js +12 -8
- package/dist/package/styles/tailwind.css.js +1 -1
- package/dist/package/translations/en.js +1 -1
- package/dist/package/utilities/localize.js +1 -1
- package/dist/versioned-components/es/accordion-group.js +1 -1
- package/dist/versioned-components/es/accordion.js +1 -1
- package/dist/versioned-components/es/badge.js +1 -1
- package/dist/versioned-components/es/brandshape.js +1 -1
- package/dist/versioned-components/es/button.js +1 -1
- package/dist/versioned-components/es/carousel-item.js +1 -1
- package/dist/versioned-components/es/carousel.js +3 -3
- package/dist/versioned-components/es/divider.js +1 -1
- package/dist/versioned-components/es/drawer.js +1 -1
- package/dist/versioned-components/es/dropdown.js +1 -1
- package/dist/versioned-components/es/form.js +1 -0
- package/dist/versioned-components/es/icon.js +3 -3
- package/dist/versioned-components/es/if-defined.js +2 -2
- package/dist/versioned-components/es/include.js +1 -1
- package/dist/versioned-components/es/link.js +1 -1
- package/dist/versioned-components/es/lit-element.js +4 -4
- package/dist/versioned-components/es/navigation-item.js +2 -2
- package/dist/versioned-components/es/popup.js +1 -1
- package/dist/versioned-components/es/query-assigned-elements.js +6 -0
- package/dist/versioned-components/es/query.js +7 -2
- package/dist/versioned-components/es/radio-group.js +1 -0
- package/dist/versioned-components/es/radio.js +1 -0
- package/dist/versioned-components/es/solid-components2.js +1 -1
- package/dist/versioned-components/es/solid-element.js +2 -12
- package/dist/versioned-components/es/spinner.js +1 -1
- package/dist/versioned-components/es/state.js +1 -1
- package/dist/versioned-components/es/static.js +1 -1
- package/dist/versioned-components/es/tag.js +1 -1
- package/dist/versioned-components/es/teaser.js +1 -1
- package/dist/versioned-components/es/video.js +1 -1
- package/dist/versioned-package/_components/button-group/button-group.d.ts +19 -0
- package/dist/versioned-package/_components/button-group/button-group.js +76 -0
- package/dist/versioned-package/_components/button-group/button-group.styles.d.ts +2 -0
- package/dist/versioned-package/_components/button-group/button-group.styles.js +6 -0
- package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
- package/dist/versioned-package/components/accordion/accordion.js +2 -2
- package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
- package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
- package/dist/versioned-package/components/badge/badge.d.ts +1 -1
- package/dist/versioned-package/components/badge/badge.js +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
- package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
- package/dist/versioned-package/components/button/button.d.ts +5 -1
- package/dist/versioned-package/components/button/button.js +29 -7
- package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
- package/dist/versioned-package/components/carousel/carousel.js +6 -6
- package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
- package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
- package/dist/versioned-package/components/divider/divider.d.ts +1 -1
- package/dist/versioned-package/components/divider/divider.js +2 -2
- package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
- package/dist/versioned-package/components/drawer/drawer.js +2 -2
- package/dist/versioned-package/components/dropdown/dropdown.d.ts +1 -1
- package/dist/versioned-package/components/dropdown/dropdown.js +6 -6
- package/dist/versioned-package/components/icon/icon.d.ts +1 -1
- package/dist/versioned-package/components/icon/icon.js +1 -1
- package/dist/versioned-package/components/include/include.d.ts +1 -1
- package/dist/versioned-package/components/include/include.js +1 -1
- package/dist/versioned-package/components/link/link.d.ts +1 -1
- package/dist/versioned-package/components/link/link.js +2 -2
- package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +1 -1
- package/dist/versioned-package/components/navigation-item/navigation-item.js +3 -3
- package/dist/versioned-package/components/popup/popup.d.ts +1 -1
- package/dist/versioned-package/components/popup/popup.js +1 -1
- package/dist/versioned-package/components/radio/radio.d.ts +27 -0
- package/dist/versioned-package/components/radio/radio.js +130 -0
- package/dist/versioned-package/components/radio-group/radio-group.d.ts +52 -0
- package/dist/versioned-package/components/radio-group/radio-group.js +321 -0
- package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
- package/dist/versioned-package/components/spinner/spinner.js +1 -1
- package/dist/versioned-package/components/tag/tag.d.ts +1 -1
- package/dist/versioned-package/components/tag/tag.js +2 -2
- package/dist/versioned-package/components/teaser/teaser.js +1 -1
- package/dist/versioned-package/components/video/video.d.ts +1 -1
- package/dist/versioned-package/components/video/video.js +2 -2
- package/dist/versioned-package/internal/form.d.ts +7 -1
- package/dist/versioned-package/internal/form.js +110 -49
- package/dist/versioned-package/internal/solid-element.d.ts +2 -0
- package/dist/versioned-package/node_modules/.pnpm/{@shoelace-style_localize@3.1.0 → @shoelace-style_localize@3.1.2}/node_modules/@shoelace-style/localize/dist/index.js +1 -1
- package/dist/versioned-package/solid-components.d.ts +2 -0
- package/dist/versioned-package/solid-components.js +12 -8
- package/dist/versioned-package/styles/tailwind.css.js +1 -1
- package/dist/versioned-package/translations/en.js +1 -1
- package/dist/versioned-package/utilities/localize.js +1 -1
- package/dist/versioned-styles/solid-styles.css +1 -1
- package/dist/vscode.html-custom-data.json +201 -21
- package/dist/web-types.json +910 -122
- package/package.json +51 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./lit-element.js";import{c as t}from"./register-custom-element.js";import{
|
|
1
|
+
import{i as e}from"./lit-element.js";import{c as t}from"./register-custom-element.js";import{s as r,n as s}from"./static.js";import{o}from"./if-defined.js";import{S as i,n as a}from"./solid-element.js";import{e as l}from"./query.js";import{t as d}from"./classix.js";var n=Object.defineProperty,p=Object.getOwnPropertyDescriptor,h=(e,t,r,s)=>{for(var o,i=s>1?void 0:s?p(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(s?o(t,r,i):o(i))||i);return s&&i&&n(t,r,i),i};let b=class extends i{constructor(){super(...arguments),this.size="lg",this.selected=!1,this.removable=!1,this.disabled=!1,this.href=""}handleBlur(){this.emit("sd-blur")}handleFocus(){this.emit("sd-focus")}isLink(){return!!this.href}click(){this.tag.click()}focus(e){this.tag.focus(e)}blur(){this.tag.blur()}render(){const e=this.isLink(),t=e?r`a`:r`button`;return s`<${t} part="base" type="${o(e?void 0:"button")}" href="${o(e?this.href:void 0)}" rel="${o(e&&this.target?"noreferrer noopener":void 0)}" target="${o(e?this.target:void 0)}" download="${o(e?this.download:void 0)}" ?disabled="${o(e?void 0:this.disabled)}" aria-disabled="${this.disabled?"true":"false"}" tabindex="${this.disabled?"-1":"0"}" @blur="${this.handleBlur}" @focus="${this.handleFocus}" class="${d("inline-flex border box-border rounded-full items-center leading-none whitespace-nowrap focus-visible:focus-outline",{lg:"h-8 text-base gap-2",sm:"h-6 text-sm gap-1"}[this.size],{lg:this.removable?"pl-4 pr-3 py-2":"px-4 py-2",sm:this.removable?"pl-3 pr-2 py-2":"px-3 py-[5px]"}[this.size],this.selected?"bg-primary border-primary text-white hover:bg-primary-500 hover:border-primary-500 disabled:bg-neutral-500 disabled:border-neutral-500":"border-primary text-primary hover:border-primary-500 hover:bg-neutral-100 hover:text-primary-500 disabled:border-neutral-500 disabled:text-neutral-500",this.disabled&&!e&&"cursor-not-allowed")}"><slot part="content"></slot><slot part="removable-indicator" name="removable-indicator" class="${d(!this.removable&&"hidden",{lg:"text-base",sm:"text-[12px]"}[this.size])}"><sd-1-21-0-icon library="system" name="close" label="remove"></sd-1-21-0-icon></slot></${t}>`}};b.styles=[i.styles,e`:host{display:inline-block}`],h([l("a, button")],b.prototype,"tag",2),h([a({reflect:!0})],b.prototype,"size",2),h([a({type:Boolean,reflect:!0})],b.prototype,"selected",2),h([a({type:Boolean,reflect:!0})],b.prototype,"removable",2),h([a({type:Boolean,reflect:!0})],b.prototype,"disabled",2),h([a()],b.prototype,"href",2),h([a()],b.prototype,"target",2),h([a()],b.prototype,"download",2),b=h([t("sd-1-21-0-tag")],b);export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{x as t,i as e}from"./lit-element.js";import{c as i}from"./register-custom-element.js";import{H as r}from"./slot.js";import{S as o,n as s}from"./solid-element.js";import{
|
|
1
|
+
import{x as t,i as e}from"./lit-element.js";import{c as i}from"./register-custom-element.js";import{H as r}from"./slot.js";import{S as o,n as s}from"./solid-element.js";import{r as a}from"./state.js";import{e as n}from"./query.js";import{t as l}from"./classix.js";var h=Object.defineProperty,d=Object.getOwnPropertyDescriptor,p=(t,e,i,r)=>{for(var o,s=r>1?void 0:r?d(e,i):e,a=t.length-1;a>=0;a--)(o=t[a])&&(s=(r?o(e,i,s):o(s))||s);return r&&s&&h(e,i,s),s};let c=class extends o{constructor(){super(...arguments),this.variant="white",this.breakpoint=448,this.inset=!1,this.hasSlotController=new r(this,"[default]","media","meta","headline")}connectedCallback(){super.connectedCallback(),0===this.breakpoint?this._orientation="horizontal":9999===this.breakpoint?this._orientation="vertical":window.ResizeObserver&&(this.resizeObserver=new ResizeObserver((()=>this.updateOrientation())),this.resizeObserver.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this.resizeObserver&&this.resizeObserver.disconnect()}updated(t){super.updated(t),t.has("breakpoint")&&this.updateOrientation()}updateOrientation(){this._orientation=this.offsetWidth>=this.breakpoint?"horizontal":"vertical"}render(){const e="white border-neutral-300"===this.variant||this.inset,i=this.hasSlotController.test("[default]"),r=this.hasSlotController.test("media"),o=this.hasSlotController.test("meta");return this.hasSlotController.test("headline"),t`<div class="${l("flex",{white:"bg-white","white border-neutral-300":"bg-white border border-neutral-300","neutral-100":"bg-neutral-100",primary:"bg-primary text-white","primary-100":"bg-primary-100"}[this.variant],"vertical"===this._orientation&&"flex-col","horizontal"===this._orientation&&"flex-row gap-8","horizontal"===this._orientation&&e&&"py-8 px-10")}" part="base"><div style="${"horizontal"===this._orientation?"width: var(--distribution-media, 100%);":""}" class="${l(!e&&"vertical"===this._orientation&&"mb-4",!r&&"hidden")}" part="media"><slot name="media"></slot></div><div style="${"horizontal"===this._orientation?"width: var(--distribution-content, 100%); "+(e?"width: var(--distribution-content, calc(100% - 2rem));":""):""}" class="${l("flex flex-col text-left","horizontal"===this._orientation&&"flex flex-col","vertical"===this._orientation&&e&&"m-4")}" part="content"><div part="meta" class="${l("gap-2 mb-4",!o&&"hidden")}"><slot name="meta"></slot></div><div part="headline" class="${l("text-lg font-bold m-0","primary"===this.variant?"text-white":"text-black")}"><slot name="headline">Always insert one semantically correct heading element here (e. g. <h2>)</slot></div><div part="main" class="${l(!i&&"hidden")}"><slot></slot></div></div></div>`}};c.styles=[o.styles,e`:host{display:block}::slotted(*){margin:0}::slotted([slot=headline]){font-size:var(--sd-font-size-lg,1.25rem)!important;font-weight:700;margin:0!important}`],p([s({reflect:!0})],c.prototype,"variant",2),p([s({reflect:!0,type:Number})],c.prototype,"breakpoint",2),p([s({type:Boolean,reflect:!0})],c.prototype,"inset",2),p([n('[part="base"]')],c.prototype,"teaser",2),p([a()],c.prototype,"_orientation",2),c=p([i("sd-1-21-0-teaser")],c);export{c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{x as t,i as e}from"./lit-element.js";import{c as s}from"./register-custom-element.js";import{H as o}from"./slot.js";import{S as i,n as l}from"./solid-element.js";import{
|
|
1
|
+
import{x as t,i as e}from"./lit-element.js";import{c as s}from"./register-custom-element.js";import{H as o}from"./slot.js";import{S as i,n as l}from"./solid-element.js";import{e as a}from"./query.js";import{t as r}from"./classix.js";var n=Object.defineProperty,p=Object.getOwnPropertyDescriptor,h=(t,e,s,o)=>{for(var i,l=o>1?void 0:o?p(e,s):e,a=t.length-1;a>=0;a--)(i=t[a])&&(l=(o?i(e,s,l):i(l))||l);return o&&l&&n(e,s,l),l};let d=class extends i{constructor(){super(...arguments),this.playing=!1,this.overlay=!1,this.isBelowBreakpoint=!1,this.hasSlotController=new o(this,"[default]","play-icon","poster")}get poster(){const t=this.shadowRoot.querySelector("slot[name=poster]");return(null==t?void 0:t.assignedElements().length)>0?t.assignedElements()[0]:null}fadeoutPoster(){this.poster instanceof HTMLImageElement&&(this.poster.style.opacity="0")}hidePoster(){this.poster instanceof HTMLImageElement&&(this.poster.style.display="none")}play(){this.emit("sd-play"),this.playing=!0,this.fadeoutPoster()}handleKeydown(t){t instanceof KeyboardEvent&&("Enter"===t.key||" "===t.key)&&(this.play(),setTimeout((()=>{var t;null==(t=this.querySelector("video"))||t.focus()})))}handleButtonResize(){this.hostEl.clientWidth<=414&&!this.isBelowBreakpoint&&(this.isBelowBreakpoint=!0),this.hostEl.clientWidth>414&&this.isBelowBreakpoint&&(this.isBelowBreakpoint=!1)}connectedCallback(){super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>this.handleButtonResize())),this.updateComplete.then((()=>{this.resizeObserver.observe(this.hostEl)}))}disconnectedCallback(){super.disconnectedCallback(),this.resizeObserver.unobserve(this.hostEl)}render(){return t`<div part="base" aria-label="Video Player" class="cursor-pointer"><button part="play-button" aria-label="Play video" tabindex="0" @click="${this.play}" @keydown="${this.handleKeydown}" class="${r(this.playing&&"pointer-events-none","w-full h-full absolute top-0 left-0 z-30 text-primary hover:text-primary-500 sd-interactive sd-interactive--reset focus-visible:focus-outline")}"><div part="play-button-bg" class="${r(this.playing?"opacity-0":"opacity-100",this.isBelowBreakpoint?"w-[48px] h-[48px]":"w-[96px] h-[96px]","absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 p-4 bg-white bg-opacity-75 rounded-full play-pause-transition")}"><slot name="play-icon" part="play-icon" class="${r(this.isBelowBreakpoint?"text-[2rem]":"text-[4rem]")}"><sd-1-21-0-icon id="default-play-icon" library="system" name="start"></sd-1-21-0-icon></slot></div></button> ${this.hasSlotController.test("poster")?t`<slot name="poster" role="presentation" @transitionend="${this.hidePoster}"></slot>`:null}<div part="overlay" id="overlay" role="presentation" class="${r(this.overlay&&!this.playing?"opacity-100":"opacity-0","bg-[rgba(0,0,0,0.65)] w-full h-full absolute top-0 left-0 pointer-events-none z-20 play-pause-transition")}"></div><slot></slot></div>`}};d.styles=[i.styles,e`:host{position:relative;display:inline-block;overflow:hidden}.play-pause-transition,::slotted([slot=poster]){transition:opacity .3s}::slotted([slot=poster]){position:absolute;left:0;top:0;width:100%;z-index:10}#default-play-icon,::slotted([slot=play-icon]){position:absolute;left:50%;top:50%;translate:-50% -50%}`],h([a("[part=base]")],d.prototype,"hostEl",2),h([l({type:Boolean,reflect:!0})],d.prototype,"playing",2),h([l({type:Boolean,reflect:!0})],d.prototype,"overlay",2),h([l({type:Boolean})],d.prototype,"isBelowBreakpoint",2),d=h([s("sd-1-21-0-video")],d);export{d as default};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import SolidElement from '../../internal/solid-element';
|
|
2
|
+
import type { CSSResultGroup } from 'lit';
|
|
3
|
+
export default class SdButtonGroup extends SolidElement {
|
|
4
|
+
static styles: CSSResultGroup;
|
|
5
|
+
defaultSlot: HTMLSlotElement;
|
|
6
|
+
disableRole: boolean;
|
|
7
|
+
label: string;
|
|
8
|
+
private handleFocus;
|
|
9
|
+
private handleBlur;
|
|
10
|
+
private handleMouseOver;
|
|
11
|
+
private handleMouseOut;
|
|
12
|
+
private handleSlotChange;
|
|
13
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
14
|
+
}
|
|
15
|
+
declare global {
|
|
16
|
+
interface HTMLElementTagNameMap {
|
|
17
|
+
'sd-1-21-0-button-group': SdButtonGroup;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { customElement } from "../../internal/register-custom-element.js";
|
|
2
|
+
import { query, state, property } from "lit/decorators.js";
|
|
3
|
+
import { html } from "lit";
|
|
4
|
+
import SolidElement from "../../internal/solid-element.js";
|
|
5
|
+
import styles from "./button-group.styles.js";
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
8
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
9
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
10
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
11
|
+
if (decorator = decorators[i])
|
|
12
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
13
|
+
if (kind && result)
|
|
14
|
+
__defProp(target, key, result);
|
|
15
|
+
return result;
|
|
16
|
+
};
|
|
17
|
+
let SdButtonGroup = class extends SolidElement {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
this.disableRole = false;
|
|
21
|
+
this.label = "";
|
|
22
|
+
}
|
|
23
|
+
handleFocus(event) {
|
|
24
|
+
const button = findButton(event.target);
|
|
25
|
+
button == null ? void 0 : button.classList.add("sd-1-21-0-button-group__button--focus");
|
|
26
|
+
}
|
|
27
|
+
handleBlur(event) {
|
|
28
|
+
const button = findButton(event.target);
|
|
29
|
+
button == null ? void 0 : button.classList.remove("sd-1-21-0-button-group__button--focus");
|
|
30
|
+
}
|
|
31
|
+
handleMouseOver(event) {
|
|
32
|
+
const button = findButton(event.target);
|
|
33
|
+
button == null ? void 0 : button.classList.add("sd-1-21-0-button-group__button--hover");
|
|
34
|
+
}
|
|
35
|
+
handleMouseOut(event) {
|
|
36
|
+
const button = findButton(event.target);
|
|
37
|
+
button == null ? void 0 : button.classList.remove("sd-1-21-0-button-group__button--hover");
|
|
38
|
+
}
|
|
39
|
+
handleSlotChange() {
|
|
40
|
+
const slottedElements = [...this.defaultSlot.assignedElements({ flatten: true })];
|
|
41
|
+
slottedElements.forEach((el) => {
|
|
42
|
+
const index = slottedElements.indexOf(el);
|
|
43
|
+
const button = findButton(el);
|
|
44
|
+
if (button !== null) {
|
|
45
|
+
button.classList.add("sd-1-21-0-button-group__button");
|
|
46
|
+
button.classList.toggle("sd-1-21-0-button-group__button--first", index === 0);
|
|
47
|
+
button.classList.toggle("sd-1-21-0-button-group__button--inner", index > 0 && index < slottedElements.length - 1);
|
|
48
|
+
button.classList.toggle("sd-1-21-0-button-group__button--last", index === slottedElements.length - 1);
|
|
49
|
+
button.classList.toggle("sd-1-21-0-button-group__button--radio", button.tagName.toLowerCase() === "sd-1-21-0-radio-button");
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
render() {
|
|
54
|
+
return html`<slot part="base" class="button-group" role="${this.disableRole ? "presentation" : "group"}" aria-label="${this.label}" @focusout="${this.handleBlur}" @focusin="${this.handleFocus}" @mouseover="${this.handleMouseOver}" @mouseout="${this.handleMouseOut}" @slotchange="${this.handleSlotChange}"></slot>`;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
SdButtonGroup.styles = styles;
|
|
58
|
+
__decorateClass([
|
|
59
|
+
query("slot")
|
|
60
|
+
], SdButtonGroup.prototype, "defaultSlot", 2);
|
|
61
|
+
__decorateClass([
|
|
62
|
+
state()
|
|
63
|
+
], SdButtonGroup.prototype, "disableRole", 2);
|
|
64
|
+
__decorateClass([
|
|
65
|
+
property()
|
|
66
|
+
], SdButtonGroup.prototype, "label", 2);
|
|
67
|
+
SdButtonGroup = __decorateClass([
|
|
68
|
+
customElement("sd-1-21-0-button-group")
|
|
69
|
+
], SdButtonGroup);
|
|
70
|
+
function findButton(el) {
|
|
71
|
+
const selector = "sd-1-21-0-button, sd-1-21-0-radio-button";
|
|
72
|
+
return el.closest(selector) ?? el.querySelector(selector);
|
|
73
|
+
}
|
|
74
|
+
export {
|
|
75
|
+
SdButtonGroup as default
|
|
76
|
+
};
|
|
@@ -106,7 +106,7 @@ let SdAccordion = class extends SolidElement {
|
|
|
106
106
|
)}" role="button" aria-expanded="${this.open ? "true" : "false"}" aria-controls="content" tabindex="0" @click="${this.handleSummaryClick}" @keydown="${this.handleSummaryKeyDown}"><slot name="summary" part="summary" class="flex flex-auto items-center text-left">${this.summary}</slot><span part="summary-icon" class="${cx(
|
|
107
107
|
"flex flex-grow-0 flex-shrink-0 flex-auto items-center transition-all ease-in-out duration-300 text-xl",
|
|
108
108
|
this.open && "rotate-180"
|
|
109
|
-
)}"><slot name="expand-icon" class="${cx(this.open && "hidden")}"><sd-1-
|
|
109
|
+
)}"><slot name="expand-icon" class="${cx(this.open && "hidden")}"><sd-1-21-0-icon library="system" name="chevron-down"></sd-1-21-0-icon></slot><slot name="collapse-icon" class="${cx(!this.open && "hidden")}"><sd-1-21-0-icon library="system" name="chevron-down"></sd-1-21-0-icon></slot></span></header><div part="content" id="content" class="overflow-hidden"><slot part="content__slot" class="block px-4 py-6" role="region" aria-labelledby="header"></slot></div></div>`;
|
|
110
110
|
}
|
|
111
111
|
};
|
|
112
112
|
SdAccordion.styles = [
|
|
@@ -132,7 +132,7 @@ __decorateClass([
|
|
|
132
132
|
watch("open", { waitUntilFirstUpdate: true })
|
|
133
133
|
], SdAccordion.prototype, "handleOpenChange", 1);
|
|
134
134
|
SdAccordion = __decorateClass([
|
|
135
|
-
customElement("sd-1-
|
|
135
|
+
customElement("sd-1-21-0-accordion")
|
|
136
136
|
], SdAccordion);
|
|
137
137
|
setDefaultAnimation("accordion.show", {
|
|
138
138
|
keyframes: [
|
|
@@ -48,16 +48,16 @@ let SdAccordionGroup = class extends SolidElement {
|
|
|
48
48
|
SdAccordionGroup.styles = [
|
|
49
49
|
componentStyles,
|
|
50
50
|
SolidElement.styles,
|
|
51
|
-
css`:host{display:block}::slotted(sd-1-
|
|
51
|
+
css`:host{display:block}::slotted(sd-1-21-0-accordion:not(:first-of-type)){margin-top:-1px}`
|
|
52
52
|
];
|
|
53
53
|
__decorateClass([
|
|
54
|
-
queryAssignedElements({ selector: "sd-1-
|
|
54
|
+
queryAssignedElements({ selector: "sd-1-21-0-accordion" })
|
|
55
55
|
], SdAccordionGroup.prototype, "_accordionsInDefaultSlot", 2);
|
|
56
56
|
__decorateClass([
|
|
57
57
|
property({ attribute: "close-others", type: Boolean })
|
|
58
58
|
], SdAccordionGroup.prototype, "closeOthers", 2);
|
|
59
59
|
SdAccordionGroup = __decorateClass([
|
|
60
|
-
customElement("sd-1-
|
|
60
|
+
customElement("sd-1-21-0-accordion-group")
|
|
61
61
|
], SdAccordionGroup);
|
|
62
62
|
export {
|
|
63
63
|
SdAccordionGroup as default
|
|
@@ -123,7 +123,7 @@ __decorateClass([
|
|
|
123
123
|
state()
|
|
124
124
|
], SdBrandshape.prototype, "componentBreakpoint", 2);
|
|
125
125
|
SdBrandshape = __decorateClass([
|
|
126
|
-
customElement("sd-1-
|
|
126
|
+
customElement("sd-1-21-0-brandshape")
|
|
127
127
|
], SdBrandshape);
|
|
128
128
|
export {
|
|
129
129
|
SdBrandshape as default
|
|
@@ -25,10 +25,13 @@ export default class SdButton extends SolidElement implements SolidFormControl {
|
|
|
25
25
|
formMethod: 'post' | 'get';
|
|
26
26
|
formNoValidate: boolean;
|
|
27
27
|
formTarget: '_self' | '_blank' | '_parent' | '_top';
|
|
28
|
+
get validity(): ValidityState;
|
|
29
|
+
get validationMessage(): string;
|
|
28
30
|
firstUpdated(): void;
|
|
29
31
|
private handleBlur;
|
|
30
32
|
private handleFocus;
|
|
31
33
|
private handleClick;
|
|
34
|
+
private handleInvalid;
|
|
32
35
|
private isButton;
|
|
33
36
|
private isLink;
|
|
34
37
|
handleDisabledChange(): void;
|
|
@@ -36,6 +39,7 @@ export default class SdButton extends SolidElement implements SolidFormControl {
|
|
|
36
39
|
focus(options?: FocusOptions): void;
|
|
37
40
|
blur(): void;
|
|
38
41
|
checkValidity(): boolean;
|
|
42
|
+
getForm(): HTMLFormElement | null;
|
|
39
43
|
reportValidity(): boolean;
|
|
40
44
|
setCustomValidity(message: string): void;
|
|
41
45
|
render(): import("lit-html").TemplateResult;
|
|
@@ -43,6 +47,6 @@ export default class SdButton extends SolidElement implements SolidFormControl {
|
|
|
43
47
|
}
|
|
44
48
|
declare global {
|
|
45
49
|
interface HTMLElementTagNameMap {
|
|
46
|
-
'sd-1-
|
|
50
|
+
'sd-1-21-0-button': SdButton;
|
|
47
51
|
}
|
|
48
52
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../spinner/spinner.js";
|
|
2
2
|
import { css } from "lit";
|
|
3
3
|
import { customElement } from "../../internal/register-custom-element.js";
|
|
4
|
-
import { FormControlController } from "../../internal/form.js";
|
|
4
|
+
import { FormControlController, validValidityState } from "../../internal/form.js";
|
|
5
5
|
import { HasSlotController } from "../../internal/slot.js";
|
|
6
6
|
import { literal, html } from "lit/static-html.js";
|
|
7
7
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
@@ -47,6 +47,20 @@ let SdButton = class extends SolidElement {
|
|
|
47
47
|
this.value = "";
|
|
48
48
|
this.href = "";
|
|
49
49
|
}
|
|
50
|
+
/** Gets the validity state object */
|
|
51
|
+
get validity() {
|
|
52
|
+
if (this.isButton()) {
|
|
53
|
+
return this.button.validity;
|
|
54
|
+
}
|
|
55
|
+
return validValidityState;
|
|
56
|
+
}
|
|
57
|
+
/** Gets the validation message */
|
|
58
|
+
get validationMessage() {
|
|
59
|
+
if (this.isButton()) {
|
|
60
|
+
return this.button.validationMessage;
|
|
61
|
+
}
|
|
62
|
+
return "";
|
|
63
|
+
}
|
|
50
64
|
firstUpdated() {
|
|
51
65
|
if (this.isButton()) {
|
|
52
66
|
this.formControlController.updateValidity();
|
|
@@ -71,6 +85,10 @@ let SdButton = class extends SolidElement {
|
|
|
71
85
|
this.formControlController.reset(this);
|
|
72
86
|
}
|
|
73
87
|
}
|
|
88
|
+
handleInvalid(event) {
|
|
89
|
+
this.formControlController.setValidity(false);
|
|
90
|
+
this.formControlController.emitInvalidEvent(event);
|
|
91
|
+
}
|
|
74
92
|
isButton() {
|
|
75
93
|
return this.href ? false : true;
|
|
76
94
|
}
|
|
@@ -94,13 +112,17 @@ let SdButton = class extends SolidElement {
|
|
|
94
112
|
blur() {
|
|
95
113
|
this.button.blur();
|
|
96
114
|
}
|
|
97
|
-
/** Checks for validity but does not show the browser's validation message. */
|
|
115
|
+
/** Checks for validity but does not show the browser's validation message. Returns `true` when valid and `false` when invalid. */
|
|
98
116
|
checkValidity() {
|
|
99
117
|
if (this.isButton()) {
|
|
100
118
|
return this.button.checkValidity();
|
|
101
119
|
}
|
|
102
120
|
return true;
|
|
103
121
|
}
|
|
122
|
+
/** Gets the associated form, if one exists. */
|
|
123
|
+
getForm() {
|
|
124
|
+
return this.formControlController.getForm();
|
|
125
|
+
}
|
|
104
126
|
/** Checks for validity and shows the browser's validation message if the control is invalid. */
|
|
105
127
|
reportValidity() {
|
|
106
128
|
if (this.isButton()) {
|
|
@@ -170,7 +192,7 @@ let SdButton = class extends SolidElement {
|
|
|
170
192
|
active:bg-accent-700
|
|
171
193
|
${!this.inverted ? "disabled:bg-neutral-500" : "disabled:bg-neutral-600"} disabled:text-white`
|
|
172
194
|
}[this.variant]
|
|
173
|
-
)}" ?disabled="${ifDefined(isLink ? void 0 : this.disabled)}" type="${ifDefined(isLink ? void 0 : this.type)}" title="${this.title}" name="${ifDefined(isLink ? void 0 : this.name)}" value="${ifDefined(isLink ? void 0 : this.value)}" href="${ifDefined(isLink ? this.href : void 0)}" target="${ifDefined(isLink ? this.target : void 0)}" download="${ifDefined(isLink ? this.download : void 0)}" rel="${ifDefined(isLink && this.target ? "noreferrer noopener" : void 0)}" role="${ifDefined(isLink ? void 0 : "button")}" aria-disabled="${this.disabled ? "true" : "false"}" tabindex="${this.disabled ? "-1" : "0"}" @blur="${this.handleBlur}" @focus="${this.handleFocus}" @click="${this.handleClick}"><slot name="icon-left" part="icon-left" class="${cx(
|
|
195
|
+
)}" ?disabled="${ifDefined(isLink ? void 0 : this.disabled)}" type="${ifDefined(isLink ? void 0 : this.type)}" title="${this.title}" name="${ifDefined(isLink ? void 0 : this.name)}" value="${ifDefined(isLink ? void 0 : this.value)}" href="${ifDefined(isLink ? this.href : void 0)}" target="${ifDefined(isLink ? this.target : void 0)}" download="${ifDefined(isLink ? this.download : void 0)}" rel="${ifDefined(isLink && this.target ? "noreferrer noopener" : void 0)}" role="${ifDefined(isLink ? void 0 : "button")}" aria-disabled="${this.disabled ? "true" : "false"}" tabindex="${this.disabled ? "-1" : "0"}" @blur="${this.handleBlur}" @focus="${this.handleFocus}" @invalid="${this.isButton() ? this.handleInvalid : null}" @click="${this.handleClick}"><slot name="icon-left" part="icon-left" class="${cx(
|
|
174
196
|
"flex flex-auto items-center pointer-events-none",
|
|
175
197
|
slots["icon-only"] && "hidden",
|
|
176
198
|
this.loading && "invisible",
|
|
@@ -191,19 +213,19 @@ let SdButton = class extends SolidElement {
|
|
|
191
213
|
md: "ml-2",
|
|
192
214
|
lg: "ml-2"
|
|
193
215
|
}[this.size]
|
|
194
|
-
)}"></slot>${this.loading ? html`<sd-1-
|
|
216
|
+
)}"></slot>${this.loading ? html`<sd-1-21-0-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-1-21-0-spinner>` : ""}</${tag}>`;
|
|
195
217
|
}
|
|
196
218
|
};
|
|
197
219
|
SdButton.styles = [
|
|
198
220
|
componentStyles,
|
|
199
221
|
SolidElement.styles,
|
|
200
|
-
css`:host{display:inline-block;position:relative;width:auto;cursor:pointer}sd-1-
|
|
222
|
+
css`:host{display:inline-block;position:relative;width:auto;cursor:pointer}sd-1-21-0-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-1-21-0-badge){position:absolute;top:0;right:0;translate:50% -50%;pointer-events:none}::slotted(sd-1-21-0-icon),sd-1-21-0-spinner{font-size:calc(var(--tw-varspacing)/ 2)}`
|
|
201
223
|
];
|
|
202
224
|
__decorateClass([
|
|
203
225
|
query("a, button")
|
|
204
226
|
], SdButton.prototype, "button", 2);
|
|
205
227
|
__decorateClass([
|
|
206
|
-
queryAssignedElements({ selector: "sd-1-
|
|
228
|
+
queryAssignedElements({ selector: "sd-1-21-0-icon" })
|
|
207
229
|
], SdButton.prototype, "_iconsInDefaultSlot", 2);
|
|
208
230
|
__decorateClass([
|
|
209
231
|
state()
|
|
@@ -266,7 +288,7 @@ __decorateClass([
|
|
|
266
288
|
watch("disabled", { waitUntilFirstUpdate: true })
|
|
267
289
|
], SdButton.prototype, "handleDisabledChange", 1);
|
|
268
290
|
SdButton = __decorateClass([
|
|
269
|
-
customElement("sd-1-
|
|
291
|
+
customElement("sd-1-21-0-button")
|
|
270
292
|
], SdButton);
|
|
271
293
|
export {
|
|
272
294
|
SdButton as default
|
|
@@ -39,7 +39,7 @@ let SdCarousel = class extends SolidElement {
|
|
|
39
39
|
this.pausedAutoplay = false;
|
|
40
40
|
this.autoplayController = new AutoplayController(this, () => this.next());
|
|
41
41
|
this.scrollController = new ScrollController(this);
|
|
42
|
-
this.slides = this.getElementsByTagName("sd-1-
|
|
42
|
+
this.slides = this.getElementsByTagName("sd-1-21-0-carousel-item");
|
|
43
43
|
this.intersectionObserverEntries = /* @__PURE__ */ new Map();
|
|
44
44
|
this.localize = new LocalizeController(this);
|
|
45
45
|
this.handleSlotChange = (mutations) => {
|
|
@@ -276,7 +276,7 @@ let SdCarousel = class extends SolidElement {
|
|
|
276
276
|
"!mr-6 !rounded-sm sd-interactive",
|
|
277
277
|
!prevEnabled && "sd-interactive--disabled",
|
|
278
278
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset"
|
|
279
|
-
)}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? () => this.previous() : null}"><slot name="previous-icon"><sd-1-
|
|
279
|
+
)}" aria-label="${this.localize.term("previousSlide")}" aria-controls="scroll-container" aria-disabled="${prevEnabled ? "false" : "true"}" @click="${prevEnabled ? () => this.previous() : null}"><slot name="previous-icon"><sd-1-21-0-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-down" : "chevron-up"}"></sd-1-21-0-icon></slot></button> ${this.variant === "dot" ? html`<div part="pagination-dot" role="tablist" class="${cx("carousel__pagination dot flex wrap items-center gap-2")}" aria-controls="scroll-container">${map(range(pagesCount), (index) => {
|
|
280
280
|
const isActive = index === currentPage;
|
|
281
281
|
return html`<button part="pagination-item ${isActive ? "pagination-item--active" : ""}" class="${cx(
|
|
282
282
|
"carousel__pagination-item",
|
|
@@ -296,18 +296,18 @@ let SdCarousel = class extends SolidElement {
|
|
|
296
296
|
)}" aria-label="${this.localize.term("nextSlide")}" aria-controls="scroll-container" aria-disabled="${nextEnabled ? "false" : "true"}" @click="${nextEnabled ? () => {
|
|
297
297
|
console.log("click-next");
|
|
298
298
|
this.next();
|
|
299
|
-
} : null}"><slot name="next-icon"><sd-1-
|
|
299
|
+
} : null}"><slot name="next-icon"><sd-1-21-0-icon class="${cx("h-6 w-6 rotate-90 grid place-items-center")}" library="system" name="${isLtr ? "chevron-up" : "chevron-down"}"></sd-1-21-0-icon></slot></button></div><button class="${cx(
|
|
300
300
|
"ml-6 !rounded-sm",
|
|
301
301
|
"!absolute !right-0 sd-interactive",
|
|
302
302
|
this.inverted ? "sd-interactive--inverted" : "sd-interactive--reset",
|
|
303
303
|
!this.autoplay && "!hidden"
|
|
304
|
-
)}" part="autoplay-controls" @click="${() => this.pausedAutoplay = !this.pausedAutoplay}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-1-
|
|
304
|
+
)}" part="autoplay-controls" @click="${() => this.pausedAutoplay = !this.pausedAutoplay}"><slot name="autoplay-start" class="${cx(!this.pausedAutoplay ? "hidden" : "")}"><sd-1-21-0-icon class="h-6 w-6 grid place-items-center" library="system" name="start"></sd-1-21-0-icon></slot><slot name="autoplay-pause" class="${cx(this.pausedAutoplay ? "hidden" : "")}"><sd-1-21-0-icon class="h-6 w-6 grid place-items-center" library="system" name="pause"></sd-1-21-0-icon></slot></button></div></div>`;
|
|
305
305
|
}
|
|
306
306
|
};
|
|
307
307
|
SdCarousel.styles = [
|
|
308
308
|
SolidElement.styles,
|
|
309
309
|
unsafeCSS(InteractiveStyles),
|
|
310
|
-
css`${componentStyles}:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__slides--dragging,.carousel__slides--dropping{scroll-snap-type:unset}.carousel__slides::-webkit-scrollbar{display:none}.carousel__navigation{grid-area:navigation}sd-1-
|
|
310
|
+
css`${componentStyles}:host{--slide-gap:var(--sl-spacing-medium, 1rem);--scroll-hint:0px;display:flex}.carousel{grid-template-areas:'. slides .' '. pagination .'}.carousel__pagination{grid-area:pagination}.carousel__slides{grid-area:slides;scrollbar-width:none;--slide-size:calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));grid-auto-columns:var(--slide-size);column-gap:var(--slide-gap);scroll-padding-inline:var(--scroll-hint);padding-inline:var(--scroll-hint)}@media (prefers-reduced-motion){:where(.carousel__slides){scroll-behavior:auto}}.carousel__slides--dragging,.carousel__slides--dropping{scroll-snap-type:unset}.carousel__slides::-webkit-scrollbar{display:none}.carousel__navigation{grid-area:navigation}sd-1-21-0-button::part(label){display:flex;flex:1 1 auto;align-items:center;pointer-events:none}`
|
|
311
311
|
];
|
|
312
312
|
__decorateClass([
|
|
313
313
|
property({ type: String, reflect: true })
|
|
@@ -359,7 +359,7 @@ __decorateClass([
|
|
|
359
359
|
watch("autoplay")
|
|
360
360
|
], SdCarousel.prototype, "handleAutoplayChange", 1);
|
|
361
361
|
SdCarousel = __decorateClass([
|
|
362
|
-
customElement("sd-1-
|
|
362
|
+
customElement("sd-1-21-0-carousel")
|
|
363
363
|
], SdCarousel);
|
|
364
364
|
export {
|
|
365
365
|
SdCarousel as default
|
|
@@ -30,7 +30,7 @@ SdCarouselItem.styles = [
|
|
|
30
30
|
css`${componentStyles}:host{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;aspect-ratio:var(--aspect-ratio);scroll-snap-align:start;scroll-snap-stop:always}::slotted(img){width:100%;height:100%;object-fit:cover}`
|
|
31
31
|
];
|
|
32
32
|
SdCarouselItem = __decorateClass([
|
|
33
|
-
customElement("sd-1-
|
|
33
|
+
customElement("sd-1-21-0-carousel-item")
|
|
34
34
|
], SdCarouselItem);
|
|
35
35
|
export {
|
|
36
36
|
SdCarouselItem as default
|
|
@@ -35,7 +35,7 @@ let SdDivider = class extends SolidElement {
|
|
|
35
35
|
SdDivider.styles = [
|
|
36
36
|
componentStyles,
|
|
37
37
|
SolidElement.styles,
|
|
38
|
-
css`:host{margin:0}:host(sd-1-
|
|
38
|
+
css`:host{margin:0}:host(sd-1-21-0-divider[orientation=horizontal]){display:block}:host(sd-1-21-0-divider[orientation=vertical]){display:inline-block}`
|
|
39
39
|
];
|
|
40
40
|
__decorateClass([
|
|
41
41
|
property({ reflect: true })
|
|
@@ -44,7 +44,7 @@ __decorateClass([
|
|
|
44
44
|
property({ type: Boolean, reflect: true })
|
|
45
45
|
], SdDivider.prototype, "inverted", 2);
|
|
46
46
|
SdDivider = __decorateClass([
|
|
47
|
-
customElement("sd-1-
|
|
47
|
+
customElement("sd-1-21-0-divider")
|
|
48
48
|
], SdDivider);
|
|
49
49
|
export {
|
|
50
50
|
SdDivider as default
|
|
@@ -183,7 +183,7 @@ let SdDrawer = class extends SolidElement {
|
|
|
183
183
|
end: "top-0 end-0 bottom-auto start-auto w-[--width] h-full",
|
|
184
184
|
start: "top-0 end-auto bottom-auto start-0 w-[--width] h-full"
|
|
185
185
|
}[this.placement]
|
|
186
|
-
)}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.label}" aria-labelledby="${ifDefined(!this.noHeader ? "title" : void 0)}" tabindex="0">${!this.noHeader ? html`<header part="header" class="flex justify-between py-2 px-4 items-center flex-shrink-0" style="min-height:56px"><div part="title"><slot name="header" part="title" class="flex-auto text-xl m-0" id="title"></slot></div><div class="shrink-0 flex flex-wrap justify-end gap-1 ml-4 absolute top-2 right-2"><sd-1-
|
|
186
|
+
)}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.label}" aria-labelledby="${ifDefined(!this.noHeader ? "title" : void 0)}" tabindex="0">${!this.noHeader ? html`<header part="header" class="flex justify-between py-2 px-4 items-center flex-shrink-0" style="min-height:56px"><div part="title"><slot name="header" part="title" class="flex-auto text-xl m-0" id="title"></slot></div><div class="shrink-0 flex flex-wrap justify-end gap-1 ml-4 absolute top-2 right-2"><sd-1-21-0-button variant="tertiary" size="lg" part="close-button" @click="${() => this.requestClose("close-button")}"><sd-1-21-0-icon name="close" library="system"></sd-1-21-0-icon></sd-1-21-0-button></div></header>` : ""}<div part="body" class="flex-auto block px-4"><slot></slot></div><footer part="footer" class="${cx(this.hasSlotController.test("footer") ? "text-left p-4" : "hidden")}"><slot name="footer"></slot></footer></div></div>`;
|
|
187
187
|
}
|
|
188
188
|
};
|
|
189
189
|
SdDrawer.styles = [
|
|
@@ -221,7 +221,7 @@ __decorateClass([
|
|
|
221
221
|
watch("contained", { waitUntilFirstUpdate: true })
|
|
222
222
|
], SdDrawer.prototype, "handleNoModalChange", 1);
|
|
223
223
|
SdDrawer = __decorateClass([
|
|
224
|
-
customElement("sd-1-
|
|
224
|
+
customElement("sd-1-21-0-drawer")
|
|
225
225
|
], SdDrawer);
|
|
226
226
|
setDefaultAnimation("drawer.showStart", {
|
|
227
227
|
keyframes: [
|
|
@@ -170,7 +170,7 @@ let SdDropdown = class extends SolidElement {
|
|
|
170
170
|
// that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
|
|
171
171
|
// a child of the slotted element, or an element in the slotted element's shadow root.
|
|
172
172
|
//
|
|
173
|
-
// For example, the accessible trigger of an <sd-1-
|
|
173
|
+
// For example, the accessible trigger of an <sd-1-21-0-button> is a <button> located inside its shadow root.
|
|
174
174
|
//
|
|
175
175
|
// To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
|
|
176
176
|
//
|
|
@@ -180,8 +180,8 @@ let SdDropdown = class extends SolidElement {
|
|
|
180
180
|
let target;
|
|
181
181
|
if (accessibleTrigger) {
|
|
182
182
|
switch (accessibleTrigger.tagName.toLowerCase()) {
|
|
183
|
-
case "sd-1-
|
|
184
|
-
case "sd-1-
|
|
183
|
+
case "sd-1-21-0-button":
|
|
184
|
+
case "sd-1-21-0-icon-button":
|
|
185
185
|
target = accessibleTrigger.button;
|
|
186
186
|
break;
|
|
187
187
|
default:
|
|
@@ -257,11 +257,11 @@ let SdDropdown = class extends SolidElement {
|
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
259
|
render() {
|
|
260
|
-
return html`<sd-1-
|
|
260
|
+
return html`<sd-1-21-0-popup part="base" id="dropdown" placement="${this.placement}" distance="${this.rounded && this.distance < 1 ? 1 : this.distance}" skidding="${this.skidding}" strategy="${this.hoist ? "fixed" : "absolute"}" ?flip="${!this.noFlip}" shift auto-size="vertical" auto-size-padding="10" ?active="${this.open}"><slot name="trigger" slot="anchor" part="trigger" class="block" @click="${this.handleTriggerClick}" @keydown="${this.handleTriggerKeyDown}" @keyup="${this.handleTriggerKeyUp}" @slotchange="${this.handleTriggerSlotChange}"></slot><slot part="panel" class="${cx(
|
|
261
261
|
"shadow bg-white",
|
|
262
262
|
this.open ? "block pointer-events-auto" : "pointer-events-none",
|
|
263
263
|
this.rounded && "rounded-md"
|
|
264
|
-
)}" aria-hidden="${this.open ? "false" : "true"}" aria-labelledby="dropdown"></slot></sd-1-
|
|
264
|
+
)}" aria-hidden="${this.open ? "false" : "true"}" aria-labelledby="dropdown"></slot></sd-1-21-0-popup>`;
|
|
265
265
|
}
|
|
266
266
|
};
|
|
267
267
|
SdDropdown.styles = [
|
|
@@ -315,7 +315,7 @@ __decorateClass([
|
|
|
315
315
|
watch("open", { waitUntilFirstUpdate: true })
|
|
316
316
|
], SdDropdown.prototype, "handleOpenChange", 1);
|
|
317
317
|
SdDropdown = __decorateClass([
|
|
318
|
-
customElement("sd-1-
|
|
318
|
+
customElement("sd-1-21-0-dropdown")
|
|
319
319
|
], SdDropdown);
|
|
320
320
|
setDefaultAnimation("dropdown.show", {
|
|
321
321
|
keyframes: [
|