@trendyol/baklava 3.3.0-beta.25 → 3.3.0-beta.27
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/README.md +9 -2
- package/dist/baklava.js +1 -1
- package/dist/chunk-4UO3W4WP.js +26 -0
- package/dist/chunk-4UO3W4WP.js.map +7 -0
- package/dist/chunk-G4DOH6BQ.js +25 -0
- package/dist/{chunk-TUUQIEDI.js.map → chunk-G4DOH6BQ.js.map} +3 -3
- package/dist/chunk-GISZRI4I.js +21 -0
- package/dist/chunk-GISZRI4I.js.map +7 -0
- package/dist/{chunk-IDRA37BX.js → chunk-MNNH7I24.js} +2 -2
- package/dist/components/button/bl-button.js +1 -1
- package/dist/components/calendar/bl-calendar.js +1 -1
- package/dist/components/datepicker/bl-datepicker.js +1 -1
- package/dist/components/dialog/bl-dialog.js +1 -1
- package/dist/components/drawer/bl-drawer.js +1 -1
- package/dist/components/dropdown/bl-dropdown.js +1 -1
- package/dist/components/dropdown/item/bl-dropdown-item.js +1 -1
- package/dist/components/input/bl-input.js +1 -1
- package/dist/components/notification/card/bl-notification-card.js +1 -1
- package/dist/components/pagination/bl-pagination.js +1 -1
- package/dist/components/select/bl-select.js +1 -1
- package/dist/components/split-button/bl-split-button.js +1 -1
- package/dist/components/tag/bl-tag.d.ts.map +1 -1
- package/dist/components/tag/bl-tag.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-DIGACNOH.js +0 -21
- package/dist/chunk-DIGACNOH.js.map +0 -7
- package/dist/chunk-HZV6GUII.js +0 -26
- package/dist/chunk-HZV6GUII.js.map +0 -7
- package/dist/chunk-TUUQIEDI.js +0 -25
- /package/dist/{chunk-IDRA37BX.js.map → chunk-MNNH7I24.js.map} +0 -0
package/README.md
CHANGED
|
@@ -33,10 +33,17 @@ Web implementation of the design system is created as native web components so i
|
|
|
33
33
|
Preferred way of using Baklava is using it via CDN. Just import library JS and CSS files to your main document like below:
|
|
34
34
|
|
|
35
35
|
```html
|
|
36
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@trendyol/baklava
|
|
37
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/@trendyol/baklava
|
|
36
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@trendyol/baklava/dist/themes/default.css" />
|
|
37
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/@trendyol/baklava/dist/baklava.js"></script>
|
|
38
|
+
|
|
39
|
+
<!-- We highly recommend using the manuel version of the Baklava library -->
|
|
40
|
+
|
|
41
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@trendyol/baklava@x.x.x/dist/themes/default.css" />
|
|
42
|
+
<script type="module" src="https://cdn.jsdelivr.net/npm/@trendyol/baklava@x.x.x/dist/baklava.js"></script>
|
|
43
|
+
|
|
38
44
|
```
|
|
39
45
|
|
|
46
|
+
|
|
40
47
|
This way library will be served from a very high performant CDN and all of the Baklava web components will be ready to use inside your web project.
|
|
41
48
|
|
|
42
49
|
```html
|
package/dist/baklava.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as q}from"./chunk-Q5D7W6YP.js";import{b as N}from"./chunk-
|
|
1
|
+
import{b as q}from"./chunk-Q5D7W6YP.js";import{b as N}from"./chunk-GISZRI4I.js";import{b as z}from"./chunk-ZJBBQHF3.js";import{b as j}from"./chunk-LEAVDIGF.js";import{b as O}from"./chunk-VJRVHJVZ.js";import{b as y}from"./chunk-7VMGFJ5X.js";import{d as v}from"./chunk-STMCW2R6.js";import{a as F}from"./chunk-G4DOH6BQ.js";import{a as D}from"./chunk-STZJ3LBU.js";import{a as t}from"./chunk-APLBTZ36.js";import{a as T}from"./chunk-QDYWH7BU.js";import{c as b,f as P}from"./chunk-X5XH4HTW.js";import{b as R}from"./chunk-4BLKAURK.js";import{a as C}from"./chunk-5TPDRTCU.js";import{a as g}from"./chunk-WPESQSKX.js";import{a as w}from"./chunk-QF4LGACD.js";import{a as s}from"./chunk-MWG4TBH7.js";import{b as G,d as k,f as A}from"./chunk-NXVLNG4L.js";import{b as S}from"./chunk-HYBPEELZ.js";import{b as H}from"./chunk-SBCJY5IU.js";import{a as c}from"./chunk-H4WETBHJ.js";import{a as i}from"./chunk-2IJL7HNY.js";import{a as n}from"./chunk-RER7OLAQ.js";import{b as u,e as x}from"./chunk-MWFGDECP.js";import{a as J}from"./chunk-GFBXJPT6.js";import{a as h}from"./chunk-DE3A37FL.js";import{b as I}from"./chunk-UOGCEUXK.js";import"./chunk-EZSEQHRH.js";import{a as m}from"./chunk-MNNH7I24.js";import"./chunk-23PSWIUF.js";import{b as E}from"./chunk-OTAAXK2L.js";import"./chunk-IPYZIIRV.js";import"./chunk-WEEGH2F4.js";import"./chunk-EG7U7PM3.js";import"./chunk-XDUIVR6I.js";import"./chunk-HZ6A5QFC.js";import"./chunk-AYJMIZZ3.js";import{a as B}from"./chunk-OXHRXOBD.js";import{b as d}from"./chunk-4UO3W4WP.js";import{b as p}from"./chunk-ZE7GYACV.js";import"./chunk-6LT7O7T2.js";import"./chunk-HBPBDC7T.js";import{a as o}from"./chunk-ZLJF4SVG.js";import{a as l}from"./chunk-ERL6CBPO.js";import"./chunk-ECPWEUBG.js";import"./chunk-DINNT5P2.js";import{a as f}from"./chunk-T5MEA7JO.js";import{a as e,b as a,c as r}from"./chunk-BH64QNLE.js";import"./chunk-GRL4DWKG.js";import"./chunk-3USCFSFQ.js";import"./chunk-7GK5LKBV.js";import"./chunk-5MOOXA2X.js";import"./chunk-4OT5AMS5.js";import"./chunk-IZ2LK5GK.js";export{t as BlAccordion,o as BlAccordionGroup,l as BlAlert,f as BlBadge,d as BlButton,E as BlCalendar,u as BlCheckbox,x as BlCheckboxGroup,J as BlDatePicker,B as BlDialog,s as BlDrawer,A as BlDropdown,S as BlDropdownGroup,k as BlDropdownItem,r as BlIcon,m as BlInput,H as BlNotification,N as BlNotificationCard,c as BlPagination,I as BlPopover,T as BlProgressIndicator,b as BlRadio,P as BlRadioGroup,i as BlSelect,n as BlSelectOption,p as BlSpinner,G as BlSplitButton,R as BlSwitch,g as BlTab,C as BlTabGroup,w as BlTabPanel,v as BlTable,O as BlTableBody,z as BlTableCell,y as BlTableHeader,q as BlTableHeaderCell,j as BlTableRow,F as BlTag,D as BlTextarea,h as BlTooltip,a as getIconPath,e as setIconPath};
|
|
2
2
|
//# sourceMappingURL=baklava.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{a as f}from"./chunk-6LT7O7T2.js";import{a as n}from"./chunk-DINNT5P2.js";import{a as y}from"./chunk-GRL4DWKG.js";import{a as v,b as e,c as m,e as g}from"./chunk-5MOOXA2X.js";import{a as u,b as a,f as p}from"./chunk-4OT5AMS5.js";import{d as o}from"./chunk-IZ2LK5GK.js";var _=l=>{if(!(!l.noValidate&&!l.reportValidity())){let b=new SubmitEvent("submit",{bubbles:!0,cancelable:!0});l.dispatchEvent(b),b.defaultPrevented||l.submit()}};var z=u`:host{display:var(--bl-button-display,inline-block);max-width:100%;position:relative}.button{--main-color:var(--bl-color-primary);--main-hover-color:var(--bl-color-primary-highlight);--text-hover-color:var(--bl-color-neutral-lightest);--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-color);--border-color:var(--main-color);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-m);--margin-icon:var(--padding-vertical);--icon-size:var(--bl-size-m);--font:var(--bl-font-title-3-medium);--height:var(--bl-size-2xl);display:flex;gap:var(--margin-icon);justify-content:var(--bl-button-justify,center);align-items:center;box-sizing:border-box;width:100%;height:var(--height);min-width:var(--height);border:solid 1px var(--border-color);border-radius:var(--bl-border-radius-m);text-decoration:none;padding:var(--padding-vertical) var(--padding-horizontal);cursor:pointer;background-color:var(--bg-color);color:var(--content-color);font:var(--font);font-kerning:none;user-select:none}:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button,:host(:hover) .button{--bg-color:var(--main-hover-color);--border-color:var(--main-hover-color)}.label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([size=small]) .button{--font:var(--bl-font-title-4-medium);--padding-vertical:var(--bl-size-3xs);--padding-horizontal:var(--bl-size-2xs);--icon-size:var(--bl-size-s);--height:var(--bl-size-xl)}:host([size=large]) .button{--font:var(--bl-font-title-3-medium);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-xl);--margin-icon:var(--bl-size-2xs);--height:var(--bl-size-3xl)}.button:focus{outline:0}.button:focus-visible{position:relative;outline:0}.button:focus-visible::after{border:2px solid var(--bl-button-focus-border-color,var(--main-color));border-radius:var(--bl-border-radius-l);content:"";position:absolute;inset:-4px}:host ::slotted(bl-icon){font-size:var(--icon-size)}:host([loading]) ::slotted(bl-icon){display:none}:host .has-icon:not(.has-content){--padding-horizontal:var(--padding-vertical);--margin-icon:0}:host([variant=secondary]) .button{--bg-color:transparent;--content-color:var(--main-color)}:host([variant=tertiary]) .button{--content-color:var(--main-color);--border-color:transparent;--bg-color:transparent}:host([kind=neutral]) .button{--main-color:var(--bl-color-neutral-darker);--main-hover-color:var(--bl-color-neutral-darkest)}:host([kind=success]) .button{--main-color:var(--bl-color-success);--main-hover-color:var(--bl-color-success-highlight)}:host([kind=danger]) .button{--main-color:var(--bl-color-danger);--main-hover-color:var(--bl-color-danger-highlight)}:host([disabled]){cursor:not-allowed}:host([loading]){cursor:wait}:host .button[aria-disabled=true]{--main-color:var(--bl-color-neutral-lightest);--main-hover-color:var(--bl-color-neutral-lightest);--content-color:var(--bl-color-neutral-lighter);--bg-color:var(--main-color);pointer-events:none;text-decoration:none}:host([variant=tertiary]) .button[aria-disabled=true]{--main-color:transparent}:host([variant=secondary].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled=false],:host([variant=secondary]:hover) .button[aria-disabled=false]{--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-hover-color)}:host([variant=tertiary].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled=false],:host([variant=tertiary]:hover) .button[aria-disabled=false]{--content-color:var(--main-hover-color);--bg-color:var(--text-hover-color)}:host([dropdown]) .open{display:none}:host([dropdown]) .active .open{display:inline-block}:host([dropdown]) .active .close{display:none}:host .active.button{--bg-color:var(--main-hover-color);--border-color:var(--main-hover-color)}:host([variant=secondary]) .active.button{--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-hover-color)}:host([variant=tertiary]) .active.button{--content-color:var(--main-color);--bg-color:var(--bl-color-neutral-lightest);--border-color:transparent}`,x=z;var t=class extends p{constructor(){super(...arguments);this.variant="primary";this.kind="default";this.size="medium";this.loading=!1;this.disabled=!1;this.target="_self";this.dropdown=!1;this.autofocus=!1;this.active=!1}static get styles(){return[x]}get _isActive(){return this.active}connectedCallback(){super.connectedCallback()}caretTemplate(){return a` <bl-icon class="open" name="arrow_up"></bl-icon>
|
|
2
|
+
<bl-icon class="close" name="arrow_down"></bl-icon>`}_handleClick(){if(this.type==="submit"){let r;this.form instanceof HTMLFormElement?r=this.form:typeof this.form=="string"?r=document.getElementById(this.form):r=this.closest("form"),r&&_(r)}this.onClick("Click event fired!")}focus(){this.button.focus()}get _hasIconSlot(){return this.querySelector(':scope > [slot="icon"]')!==null}get _hasDefaultSlot(){return[...this.childNodes].some(i=>{var c;let s=i.nodeType;return s===i.TEXT_NODE&&((c=i.textContent)==null?void 0:c.trim())!==""||s===i.ELEMENT_NODE&&!i.hasAttribute("slot")})}render(){let r=this.loading||this.disabled,i=this.loading&&this.loadingLabel?this.loadingLabel:a`<slot></slot>`,s=!!this.href,c=this.icon?a`<bl-icon name=${this.icon}></bl-icon>`:"",T=a`<bl-spinner
|
|
3
|
+
class="loading-spinner"
|
|
4
|
+
?disabled="${r}"
|
|
5
|
+
size="${this.size}"
|
|
6
|
+
></bl-spinner>`,d=a`<slot name="icon">${this.loading?T:c}</slot>
|
|
7
|
+
<span class="label">${i}</span>`,E=this.dropdown?this.caretTemplate():"",h=f({button:!0,"has-icon":this.icon||this._hasIconSlot,"has-content":this._hasDefaultSlot,active:!s&&this._isActive});return s?a`<a
|
|
8
|
+
class=${h}
|
|
9
|
+
?autofocus=${this.autofocus}
|
|
10
|
+
aria-disabled="${n(r)}"
|
|
11
|
+
aria-label="${n(this.label)}"
|
|
12
|
+
href=${n(this.href)}
|
|
13
|
+
target=${n(this.target)}
|
|
14
|
+
role="button"
|
|
15
|
+
>${d}
|
|
16
|
+
</a>`:a`<button
|
|
17
|
+
class=${h}
|
|
18
|
+
?autofocus=${this.autofocus}
|
|
19
|
+
aria-disabled="${n(r)}"
|
|
20
|
+
aria-label="${n(this.label)}"
|
|
21
|
+
?disabled=${r}
|
|
22
|
+
@click="${this._handleClick}"
|
|
23
|
+
>
|
|
24
|
+
${d} ${E}
|
|
25
|
+
</button>`}};o([e({type:String,reflect:!0})],t.prototype,"variant",2),o([e({type:String,reflect:!0})],t.prototype,"kind",2),o([e({type:String,reflect:!0})],t.prototype,"size",2),o([e({type:String})],t.prototype,"label",2),o([e({type:String,attribute:"loading-label"})],t.prototype,"loadingLabel",2),o([e({type:Boolean,reflect:!0})],t.prototype,"loading",2),o([e({type:Boolean,reflect:!0})],t.prototype,"disabled",2),o([e({type:String})],t.prototype,"href",2),o([e({type:String})],t.prototype,"icon",2),o([e({type:String})],t.prototype,"target",2),o([e({type:String})],t.prototype,"type",2),o([e({type:Boolean})],t.prototype,"dropdown",2),o([e({type:Boolean,reflect:!0})],t.prototype,"autofocus",2),o([e({type:String})],t.prototype,"form",2),o([m({})],t.prototype,"active",2),o([g(".button")],t.prototype,"button",2),o([y("bl-click")],t.prototype,"onClick",2),t=o([v("bl-button")],t);export{_ as a,t as b};
|
|
26
|
+
//# sourceMappingURL=chunk-4UO3W4WP.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/@open-wc/form-helpers/src/index.ts", "../src/components/button/bl-button.css", "../src/components/button/bl-button.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Implicitly submit a form by first validating all controls. If the form\n * is valid, issue a submit event and if that event is not prevented, manually\n * call the form's submit method.\n *\n * @param form {HTMLFormElement} - A form to implicitly submit\n */\nexport const submit = (form: HTMLFormElement): void => {\n if (!form.noValidate && !form.reportValidity()) {\n return;\n } else {\n const submitEvent = new SubmitEvent('submit', {\n bubbles: true,\n cancelable: true\n });\n form.dispatchEvent(submitEvent);\n if (!submitEvent.defaultPrevented) {\n form.submit();\n }\n }\n};\n\nexport type FormValue = string|FormData|File|FormValue[];\n\n/**\n * Parse a form and return a set of values based on the name/value pair.\n * If multiple controls of a similar name exist, return an array for those values;\n * otherwise return a single value.\n *\n * @param form {HTMLFormElement} - The form to parse for values\n * @returns {Record<string, any>} - An object representing the form's current values\n */\nexport const formValues = (form: HTMLFormElement): Record<string, FormValue> => {\n const formData = new FormData(form);\n const values: Record<string, FormValue> = {};\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore This does exist in all browsers. TypeScript is wrong\n for (const [key, value] of formData.entries()) {\n if (!values.hasOwnProperty(key)) {\n values[key] = value;\n } else if (Array.isArray(values[key])) {\n const pointer = values[key] as FormValue[];\n pointer.push(value);\n } else {\n values[key] = [values[key], value];\n }\n }\n\n return values;\n};\n\n/**\n * This method takes a form and parses it as an object. If any form control has a `.`\n * in its name, this utility will evaluate that name as a deep key for an object;\n * in other words, if a form has a named control, `name.first` and another, `name.last`\n * it will report back a nested object, name, with first and last properties\n * representing those controls' values.\n *\n * This can be useful when you have a complex model that you are attempting to represent\n * in declaratively in HTML.\n *\n * @param form {HTMLFormElement} - The form to grab values from\n * @returns {Object<string, FormValue>} - An object representation of the form\n */\nexport const parseFormAsObject = (form: HTMLFormElement): Record<string, FormValue> => {\n const data = formValues(form);\n const output: Record<string, FormValue> = {};\n\n Object.entries(data).forEach(([key, value]) => {\n /** If the key has a '.', parse it as an object */\n if (key.includes('.')) {\n const path = key.split('.');\n const destination: string | undefined = path.pop();\n let pointer = output;\n\n while (path.length) {\n const key = path.shift();\n pointer[key as string] = pointer[key as string] || ({} as FormValue);\n pointer = pointer[key as string] as unknown as Record<string, FormValue>;\n }\n\n pointer[destination as string] = value;\n } else {\n output[key] = data[key];\n }\n });\n\n return output;\n};\n", "import {css} from 'lit';\nexport const styles = css`:host{display:var(--bl-button-display,inline-block);max-width:100%;position:relative}.button{--main-color:var(--bl-color-primary);--main-hover-color:var(--bl-color-primary-highlight);--text-hover-color:var(--bl-color-neutral-lightest);--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-color);--border-color:var(--main-color);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-m);--margin-icon:var(--padding-vertical);--icon-size:var(--bl-size-m);--font:var(--bl-font-title-3-medium);--height:var(--bl-size-2xl);display:flex;gap:var(--margin-icon);justify-content:var(--bl-button-justify,center);align-items:center;box-sizing:border-box;width:100%;height:var(--height);min-width:var(--height);border:solid 1px var(--border-color);border-radius:var(--bl-border-radius-m);text-decoration:none;padding:var(--padding-vertical) var(--padding-horizontal);cursor:pointer;background-color:var(--bg-color);color:var(--content-color);font:var(--font);font-kerning:none;user-select:none}:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button,:host(:hover) .button{--bg-color:var(--main-hover-color);--border-color:var(--main-hover-color)}.label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([size=small]) .button{--font:var(--bl-font-title-4-medium);--padding-vertical:var(--bl-size-3xs);--padding-horizontal:var(--bl-size-2xs);--icon-size:var(--bl-size-s);--height:var(--bl-size-xl)}:host([size=large]) .button{--font:var(--bl-font-title-3-medium);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-xl);--margin-icon:var(--bl-size-2xs);--height:var(--bl-size-3xl)}.button:focus{outline:0}.button:focus-visible{position:relative;outline:0}.button:focus-visible::after{border:2px solid var(--bl-button-focus-border-color,var(--main-color));border-radius:var(--bl-border-radius-l);content:\"\";position:absolute;inset:-4px}:host ::slotted(bl-icon){font-size:var(--icon-size)}:host([loading]) ::slotted(bl-icon){display:none}:host .has-icon:not(.has-content){--padding-horizontal:var(--padding-vertical);--margin-icon:0}:host([variant=secondary]) .button{--bg-color:transparent;--content-color:var(--main-color)}:host([variant=tertiary]) .button{--content-color:var(--main-color);--border-color:transparent;--bg-color:transparent}:host([kind=neutral]) .button{--main-color:var(--bl-color-neutral-darker);--main-hover-color:var(--bl-color-neutral-darkest)}:host([kind=success]) .button{--main-color:var(--bl-color-success);--main-hover-color:var(--bl-color-success-highlight)}:host([kind=danger]) .button{--main-color:var(--bl-color-danger);--main-hover-color:var(--bl-color-danger-highlight)}:host([disabled]){cursor:not-allowed}:host([loading]){cursor:wait}:host .button[aria-disabled=true]{--main-color:var(--bl-color-neutral-lightest);--main-hover-color:var(--bl-color-neutral-lightest);--content-color:var(--bl-color-neutral-lighter);--bg-color:var(--main-color);pointer-events:none;text-decoration:none}:host([variant=tertiary]) .button[aria-disabled=true]{--main-color:transparent}:host([variant=secondary].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled=false],:host([variant=secondary]:hover) .button[aria-disabled=false]{--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-hover-color)}:host([variant=tertiary].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled=false],:host([variant=tertiary]:hover) .button[aria-disabled=false]{--content-color:var(--main-hover-color);--bg-color:var(--text-hover-color)}:host([dropdown]) .open{display:none}:host([dropdown]) .active .open{display:inline-block}:host([dropdown]) .active .close{display:none}:host .active.button{--bg-color:var(--main-hover-color);--border-color:var(--main-hover-color)}:host([variant=secondary]) .active.button{--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-hover-color)}:host([variant=tertiary]) .active.button{--content-color:var(--main-color);--bg-color:var(--bl-color-neutral-lightest);--border-color:transparent}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property, state, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { submit } from \"@open-wc/form-helpers\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../icon/bl-icon\";\nimport { BaklavaIcon } from \"../icon/icon-list\";\nimport \"../spinner/bl-spinner\";\nimport style from \"./bl-button.css\";\n\nexport type ButtonVariant = \"primary\" | \"secondary\" | \"tertiary\";\nexport type ButtonKind = \"default\" | \"neutral\" | \"success\" | \"danger\";\nexport type ButtonSize = \"small\" | \"medium\" | \"large\";\nexport type TargetType = \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n/**\n * @tag bl-button\n * @summary Baklava Button component\n *\n * @cssproperty [--bl-button-display=inline-block] Sets the display property of button\n * @cssproperty [--bl-button-justify=center] Sets the justify-content property of button\n *\n */\n@customElement(\"bl-button\")\nexport default class BlButton extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets the button variant\n */\n @property({ type: String, reflect: true })\n variant: ButtonVariant = \"primary\";\n\n /**\n * Sets the button kind\n */\n @property({ type: String, reflect: true })\n kind: ButtonKind = \"default\";\n\n /**\n * Sets the button size\n */\n @property({ type: String, reflect: true })\n size: ButtonSize = \"medium\";\n\n /**\n * Sets the button label. Used for accessibility.\n */\n @property({ type: String })\n label: string;\n\n /**\n * Sets the button label for loading status.\n */\n @property({ type: String, attribute: \"loading-label\" })\n loadingLabel: string;\n\n /**\n * Sets loading state of button\n */\n @property({ type: Boolean, reflect: true })\n loading = false;\n\n /**\n * Sets button as disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Set link url. If set, button will be rendered as anchor tag.\n */\n @property({ type: String })\n href?: string;\n\n /**\n * Sets the icon name. Shows icon with bl-icon component\n */\n @property({ type: String })\n icon?: BaklavaIcon;\n\n /**\n * Sets the anchor target. Used when `href` is set.\n */\n @property({ type: String })\n target?: TargetType = \"_self\";\n\n /**\n * Sets the type of the button. Set `submit` to use button as the submitter of parent form.\n */\n @property({ type: String })\n type: \"submit\";\n\n /**\n * Sets button type to dropdown\n */\n @property({ type: Boolean })\n dropdown = false;\n\n /**\n * Sets button to get keyboard focus automatically\n */\n @property({ type: Boolean, reflect: true })\n autofocus = false;\n\n /**\n * Sets the associated form of the button. Use when `type` is set to `submit` and button is not inside the target form.\n */\n @property({ type: String })\n form: HTMLFormElement | string;\n\n /**\n * Active state\n */\n @state({})\n active = false;\n\n @query(\".button\")\n private button: HTMLAnchorElement | HTMLButtonElement;\n\n /**\n * Fires when button clicked\n */\n @event(\"bl-click\") private onClick: EventDispatcher<string>;\n\n private get _isActive() {\n return this.active;\n }\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n private caretTemplate(): TemplateResult {\n return html` <bl-icon class=\"open\" name=\"arrow_up\"></bl-icon>\n <bl-icon class=\"close\" name=\"arrow_down\"></bl-icon>`;\n }\n\n private _handleClick() {\n if (this.type === \"submit\") {\n let targetForm: HTMLFormElement;\n\n if (this.form instanceof HTMLFormElement) {\n targetForm = this.form;\n } else if (typeof this.form === \"string\") {\n targetForm = document.getElementById(this.form) as HTMLFormElement;\n } else {\n targetForm = this.closest(\"form\") as HTMLFormElement;\n }\n\n if (targetForm) {\n submit(targetForm);\n }\n }\n\n this.onClick(\"Click event fired!\");\n }\n\n focus() {\n this.button.focus();\n }\n\n get _hasIconSlot() {\n return this.querySelector(':scope > [slot=\"icon\"]') !== null;\n }\n\n get _hasDefaultSlot() {\n const childNodes = [...this.childNodes];\n\n return childNodes.some(node => {\n const nodeType = node.nodeType;\n\n // has only text node.\n if (nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n // has element node, it should not have slot attribute.\n if (nodeType === node.ELEMENT_NODE) {\n if (!(node as HTMLElement).hasAttribute(\"slot\")) {\n return true;\n }\n }\n return false;\n });\n }\n\n render(): TemplateResult {\n const isDisabled = this.loading || this.disabled;\n const label = this.loading && this.loadingLabel ? this.loadingLabel : html`<slot></slot>`;\n const isAnchor = !!this.href;\n const icon = this.icon ? html`<bl-icon name=${this.icon}></bl-icon>` : \"\";\n const loadingIcon = html`<bl-spinner\n class=\"loading-spinner\"\n ?disabled=\"${isDisabled}\"\n size=\"${this.size}\"\n ></bl-spinner>`;\n const slots = html`<slot name=\"icon\">${this.loading ? loadingIcon : icon}</slot>\n <span class=\"label\">${label}</span>`;\n const caret = this.dropdown ? this.caretTemplate() : \"\";\n const classes = classMap({\n \"button\": true,\n \"has-icon\": this.icon || this._hasIconSlot,\n \"has-content\": this._hasDefaultSlot,\n \"active\": !isAnchor && this._isActive,\n });\n\n return isAnchor\n ? html`<a\n class=${classes}\n ?autofocus=${this.autofocus}\n aria-disabled=\"${ifDefined(isDisabled)}\"\n aria-label=\"${ifDefined(this.label)}\"\n href=${ifDefined(this.href)}\n target=${ifDefined(this.target)}\n role=\"button\"\n >${slots}\n </a>`\n : html`<button\n class=${classes}\n ?autofocus=${this.autofocus}\n aria-disabled=\"${ifDefined(isDisabled)}\"\n aria-label=\"${ifDefined(this.label)}\"\n ?disabled=${isDisabled}\n @click=\"${this._handleClick}\"\n >\n ${slots} ${caret}\n </button>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-button\": BlButton;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["submit", "form", "submitEvent", "styles", "i", "bl_button_default", "BlButton", "s", "bl_button_default", "x", "targetForm", "submit", "node", "_a", "nodeType", "isDisabled", "label", "isAnchor", "icon", "loadingIcon", "slots", "caret", "classes", "o", "l", "__decorateClass", "t", "i", "event", "e"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import{a as n}from"./chunk-GRL4DWKG.js";import{a as s,b as r}from"./chunk-5MOOXA2X.js";import{a,b as l,d as i,f as o}from"./chunk-4OT5AMS5.js";import{d as t}from"./chunk-IZ2LK5GK.js";var v=a`:host{display:inline-block;max-width:100%}.tag{--bg-color:var(--bl-color-neutral-full);--color:var(--bl-color-neutral-darker);--font:var(--bl-font-title-4-medium);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-xs);--margin-icon:var(--bl-size-3xs);--icon-size:var(--bl-size-m);--height:var(--bl-size-2xl);--border-radius:var(--bl-size-m);--remove-icon-size:var(--bl-size-s);display:flex;gap:var(--margin-icon);justify-content:center;align-items:center;box-sizing:border-box;overflow:hidden;width:100%;border:1px solid var(--bl-color-neutral-lighter);border-radius:var(--border-radius);padding-block:var(--padding-vertical);padding-inline:var(--padding-horizontal);background-color:var(--bg-color);color:var(--color,#fff);font:var(--font);font-kerning:none;height:var(--height)}:host([variant=selectable]) .tag{cursor:pointer;user-select:none}:host([variant=selectable]) .tag.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__,:host([variant=selectable]) .tag:hover{background-color:var(--bl-color-neutral-lightest)}:host([variant=selectable][selected]) .tag{border-color:var(--bl-color-neutral-darker);background-color:var(--bl-color-neutral-darker);--color:var(--bl-color-neutral-full)}:host([variant=selectable][disabled]) .tag{background-color:var(--bl-color-neutral-lightest);border-color:var(--bl-color-neutral-lightest);color:var(--bl-color-neutral-light);cursor:not-allowed}:host([variant=removable]) .remove-button{--bl-border-radius-m:var(--bl-border-radius-circle)}:host([size=small]) .tag{--font:var(--bl-font-title-4-medium);--height:var(--bl-size-xl);--icon-size:var(--bl-size-s);--border-radius:var(--bl-size-xs);--padding-vertical:0px;--padding-horizontal:var(--bl-size-2xs);--remove-icon-size:var(--bl-size-xs)}:host([size=large]) .tag{--font:var(--bl-font-title-3-medium);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-m);--height:var(--bl-size-3xl);--icon-size:var(--bl-size-m);--border-radius:var(--bl-size-l)}:host([variant=removable][size=small]) .tag{--padding-horizontal:var(--bl-size-2xs) 0px}:host([variant=removable]) .tag{--padding-horizontal:var(--bl-size-xs) var(--bl-size-3xs)}:host([variant=removable][size=large]) .tag{--padding-horizontal:var(--bl-size-m) var(--bl-size-2xs)}slot[name=icon] bl-icon{font-size:var(--icon-size);color:var(--color)}`,c=v;var e=class extends o{constructor(){super(...arguments);this.size="medium";this.variant="selectable";this.selected=!1;this.disabled=!1;this.value=null;this._handleClick=()=>{this.variant==="selectable"&&(this.selected=!this.selected),this._onBlTagClick({selected:this.selected,value:this.value})}}static get styles(){return[c]}_removeButtonTemplate(){return l`
|
|
2
|
+
<bl-button
|
|
3
|
+
icon="close"
|
|
4
|
+
size="small"
|
|
5
|
+
label="Remove"
|
|
6
|
+
variant="tertiary"
|
|
7
|
+
kind="neutral"
|
|
8
|
+
class="remove-button"
|
|
9
|
+
?disabled=${this.disabled}
|
|
10
|
+
@bl-click=${this._handleClick}
|
|
11
|
+
></bl-button>
|
|
12
|
+
`}_iconTemplate(){return this.icon?l`<bl-icon name=${this.icon}></bl-icon>`:i}render(){let b=l`<button
|
|
13
|
+
class="tag"
|
|
14
|
+
role="checkbox"
|
|
15
|
+
@click=${this._handleClick}
|
|
16
|
+
?disabled=${this.disabled}
|
|
17
|
+
>
|
|
18
|
+
${this._iconTemplate()}
|
|
19
|
+
<slot></slot>
|
|
20
|
+
</button>`,d=l`<div class="tag">
|
|
21
|
+
${this._iconTemplate()}
|
|
22
|
+
<slot></slot>
|
|
23
|
+
${this._removeButtonTemplate()}
|
|
24
|
+
</div>`;return this.variant==="selectable"?b:d}};t([r({type:String,reflect:!0})],e.prototype,"size",2),t([r({type:String,reflect:!0})],e.prototype,"variant",2),t([r({type:String})],e.prototype,"icon",2),t([r({type:Boolean,reflect:!0})],e.prototype,"selected",2),t([r({type:Boolean,reflect:!0})],e.prototype,"disabled",2),t([r({type:String,reflect:!0})],e.prototype,"value",2),t([n("bl-tag-click")],e.prototype,"_onBlTagClick",2),e=t([s("bl-tag")],e);export{e as a};
|
|
25
|
+
//# sourceMappingURL=chunk-G4DOH6BQ.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/components/tag/bl-tag.css", "../src/components/tag/bl-tag.ts"],
|
|
4
|
-
"sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:inline-block;max-width:100%}.tag{--bg-color:var(--bl-color-neutral-full);--color:var(--bl-color-neutral-darker);--font:var(--bl-font-title-4-medium);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-xs);--margin-icon:var(--bl-size-3xs);--icon-size:var(--bl-size-m);--height:var(--bl-size-2xl);--border-radius:var(--bl-size-m);--remove-icon-size:var(--bl-size-s);display:flex;gap:var(--margin-icon);justify-content:center;align-items:center;box-sizing:border-box;overflow:hidden;width:100%;border:1px solid var(--bl-color-neutral-lighter);border-radius:var(--border-radius);padding-block:var(--padding-vertical);padding-inline:var(--padding-horizontal);background-color:var(--bg-color);color:var(--color,#fff);font:var(--font);font-kerning:none;height:var(--height)}:host([variant=selectable]) .tag{cursor:pointer;user-select:none}:host([variant=selectable]) .tag.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__,:host([variant=selectable]) .tag:hover{background-color:var(--bl-color-neutral-lightest)}:host([variant=selectable][selected]) .tag{border-color:var(--bl-color-neutral-darker);background-color:var(--bl-color-neutral-darker);--color:var(--bl-color-neutral-full)}:host([variant=selectable][disabled]) .tag{background-color:var(--bl-color-neutral-lightest);border-color:var(--bl-color-neutral-lightest);color:var(--bl-color-neutral-light);cursor:not-allowed}:host([variant=removable]) .remove-button{--bl-border-radius-m:var(--bl-border-radius-circle)}:host([size=small]) .tag{--font:var(--bl-font-title-4-medium);--height:var(--bl-size-xl);--icon-size:var(--bl-size-s);--border-radius:var(--bl-size-xs);--padding-vertical:0px;--padding-horizontal:var(--bl-size-2xs);--remove-icon-size:var(--bl-size-xs)}:host([size=large]) .tag{--font:var(--bl-font-title-3-medium);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-m);--height:var(--bl-size-3xl);--icon-size:var(--bl-size-m);--border-radius:var(--bl-size-l)}:host([variant=removable][size=small]) .tag{--padding-horizontal:var(--bl-size-2xs) 0px}:host([variant=removable]) .tag{--padding-horizontal:var(--bl-size-xs) var(--bl-size-3xs)}:host([variant=removable][size=large]) .tag{--padding-horizontal:var(--bl-size-m) var(--bl-size-2xs)}slot[name=icon] bl-icon{font-size:var(--icon-size);color:var(--color)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, nothing, TemplateResult } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../button/bl-button\";\nimport \"../icon/bl-icon\";\nimport { BaklavaIcon } from \"../icon/icon-list\";\nimport style from \"./bl-tag.css\";\n\nexport type TagSize = \"small\" | \"medium\" | \"large\";\ntype TagVariant = \"selectable\" | \"removable\";\n\n/**\n * @tag bl-tag\n * @summary Baklava Tag component\n */\n@customElement(\"bl-tag\")\nexport default class BlTag extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets the tag size\n */\n @property({ type: String, reflect: true })\n size: TagSize = \"medium\";\n\n /**\n * Sets the tag variant\n */\n @property({ type: String, reflect: true })\n variant: TagVariant = \"selectable\";\n\n /**\n * Sets the name of the icon\n */\n @property({ type: String })\n icon?: BaklavaIcon;\n\n /**\n * Sets the selected state of the tag\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * Disables the tag\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets the value of the tag\n */\n @property({ type: String, reflect: true })\n value: string | null = null;\n\n /**\n * Dispatches when the tag is clicked\n */\n @event(\"bl-tag-click\") private _onBlTagClick: EventDispatcher<{\n value: string | null;\n selected: boolean;\n }>;\n\n private _handleClick = () => {\n if (this.variant === \"selectable\") this.selected = !this.selected;\n this._onBlTagClick({ selected: this.selected, value: this.value });\n };\n\n private _removeButtonTemplate() {\n
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["styles", "bl_tag_default", "BlTag", "
|
|
4
|
+
"sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:inline-block;max-width:100%}.tag{--bg-color:var(--bl-color-neutral-full);--color:var(--bl-color-neutral-darker);--font:var(--bl-font-title-4-medium);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-xs);--margin-icon:var(--bl-size-3xs);--icon-size:var(--bl-size-m);--height:var(--bl-size-2xl);--border-radius:var(--bl-size-m);--remove-icon-size:var(--bl-size-s);display:flex;gap:var(--margin-icon);justify-content:center;align-items:center;box-sizing:border-box;overflow:hidden;width:100%;border:1px solid var(--bl-color-neutral-lighter);border-radius:var(--border-radius);padding-block:var(--padding-vertical);padding-inline:var(--padding-horizontal);background-color:var(--bg-color);color:var(--color,#fff);font:var(--font);font-kerning:none;height:var(--height)}:host([variant=selectable]) .tag{cursor:pointer;user-select:none}:host([variant=selectable]) .tag.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__,:host([variant=selectable]) .tag:hover{background-color:var(--bl-color-neutral-lightest)}:host([variant=selectable][selected]) .tag{border-color:var(--bl-color-neutral-darker);background-color:var(--bl-color-neutral-darker);--color:var(--bl-color-neutral-full)}:host([variant=selectable][disabled]) .tag{background-color:var(--bl-color-neutral-lightest);border-color:var(--bl-color-neutral-lightest);color:var(--bl-color-neutral-light);cursor:not-allowed}:host([variant=removable]) .remove-button{--bl-border-radius-m:var(--bl-border-radius-circle)}:host([size=small]) .tag{--font:var(--bl-font-title-4-medium);--height:var(--bl-size-xl);--icon-size:var(--bl-size-s);--border-radius:var(--bl-size-xs);--padding-vertical:0px;--padding-horizontal:var(--bl-size-2xs);--remove-icon-size:var(--bl-size-xs)}:host([size=large]) .tag{--font:var(--bl-font-title-3-medium);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-m);--height:var(--bl-size-3xl);--icon-size:var(--bl-size-m);--border-radius:var(--bl-size-l)}:host([variant=removable][size=small]) .tag{--padding-horizontal:var(--bl-size-2xs) 0px}:host([variant=removable]) .tag{--padding-horizontal:var(--bl-size-xs) var(--bl-size-3xs)}:host([variant=removable][size=large]) .tag{--padding-horizontal:var(--bl-size-m) var(--bl-size-2xs)}slot[name=icon] bl-icon{font-size:var(--icon-size);color:var(--color)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, nothing, TemplateResult } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../button/bl-button\";\nimport \"../icon/bl-icon\";\nimport { BaklavaIcon } from \"../icon/icon-list\";\nimport style from \"./bl-tag.css\";\n\nexport type TagSize = \"small\" | \"medium\" | \"large\";\ntype TagVariant = \"selectable\" | \"removable\";\n\n/**\n * @tag bl-tag\n * @summary Baklava Tag component\n */\n@customElement(\"bl-tag\")\nexport default class BlTag extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets the tag size\n */\n @property({ type: String, reflect: true })\n size: TagSize = \"medium\";\n\n /**\n * Sets the tag variant\n */\n @property({ type: String, reflect: true })\n variant: TagVariant = \"selectable\";\n\n /**\n * Sets the name of the icon\n */\n @property({ type: String })\n icon?: BaklavaIcon;\n\n /**\n * Sets the selected state of the tag\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * Disables the tag\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets the value of the tag\n */\n @property({ type: String, reflect: true })\n value: string | null = null;\n\n /**\n * Dispatches when the tag is clicked\n */\n @event(\"bl-tag-click\") private _onBlTagClick: EventDispatcher<{\n value: string | null;\n selected: boolean;\n }>;\n\n private _handleClick = () => {\n if (this.variant === \"selectable\") this.selected = !this.selected;\n this._onBlTagClick({ selected: this.selected, value: this.value });\n };\n\n private _removeButtonTemplate() {\n return html`\n <bl-button\n icon=\"close\"\n size=\"small\"\n label=\"Remove\"\n variant=\"tertiary\"\n kind=\"neutral\"\n class=\"remove-button\"\n ?disabled=${this.disabled}\n @bl-click=${this._handleClick}\n ></bl-button>\n `;\n }\n\n private _iconTemplate() {\n if (!this.icon) return nothing;\n return html`<bl-icon name=${this.icon}></bl-icon>`;\n }\n\n render(): TemplateResult {\n const selectableVariant = html`<button\n class=\"tag\"\n role=\"checkbox\"\n @click=${this._handleClick}\n ?disabled=${this.disabled}\n >\n ${this._iconTemplate()}\n <slot></slot>\n </button>`;\n\n const removableVariant = html`<div class=\"tag\">\n ${this._iconTemplate()}\n <slot></slot>\n ${this._removeButtonTemplate()}\n </div>`;\n\n if (this.variant === \"selectable\") return selectableVariant;\n return removableVariant;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-tag\": BlTag;\n }\n}\n"],
|
|
5
|
+
"mappings": "uLACO,IAAMA,EAASC,qxEACfC,EAAQF,ECcf,IAAqBG,EAArB,cAAmCC,CAAW,CAA9C,kCASE,UAAgB,SAMhB,aAAsB,aAYtB,cAAW,GAMX,cAAW,GAMX,WAAuB,KAUvB,KAAQ,aAAe,IAAM,CACvB,KAAK,UAAY,eAAc,KAAK,SAAW,CAAC,KAAK,UACzD,KAAK,cAAc,CAAE,SAAU,KAAK,SAAU,MAAO,KAAK,KAAM,CAAC,CACnE,EAnDA,WAAW,QAAyB,CAClC,MAAO,CAACC,CAAK,CACf,CAmDQ,uBAAwB,CAC9B,OAAOC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQS,KAAK;AAAA,oBACL,KAAK;AAAA;AAAA,KAGvB,CAEQ,eAAgB,CACtB,OAAK,KAAK,KACHA,kBAAqB,KAAK,kBADVC,CAEzB,CAEA,QAAyB,CACvB,IAAMC,EAAoBF;AAAA;AAAA;AAAA,eAGf,KAAK;AAAA,kBACF,KAAK;AAAA;AAAA,QAEf,KAAK,cAAc;AAAA;AAAA,eAIjBG,EAAmBH;AAAA,QACrB,KAAK,cAAc;AAAA;AAAA,QAEnB,KAAK,sBAAsB;AAAA,YAG/B,OAAI,KAAK,UAAY,aAAqBE,EACnCC,CACT,CACF,EArFEC,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GARtBR,EASnB,oBAMAO,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAdtBR,EAenB,uBAMAO,EAAA,CADCC,EAAS,CAAE,KAAM,MAAO,CAAC,GApBPR,EAqBnB,oBAMAO,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GA1BvBR,EA2BnB,wBAMAO,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GAhCvBR,EAiCnB,wBAMAO,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAtCtBR,EAuCnB,qBAK+BO,EAAA,CAA9BE,EAAM,cAAc,GA5CFT,EA4CY,6BA5CZA,EAArBO,EAAA,CADCC,EAAc,QAAQ,GACFR",
|
|
6
|
+
"names": ["styles", "i", "bl_tag_default", "BlTag", "s", "bl_tag_default", "x", "A", "selectableVariant", "removableVariant", "__decorateClass", "e", "event"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{a as d}from"./chunk-ECPWEUBG.js";import{a as s}from"./chunk-DINNT5P2.js";import{a}from"./chunk-GRL4DWKG.js";import{a as u,b as r}from"./chunk-5MOOXA2X.js";import{a as l,b as i,f as c}from"./chunk-4OT5AMS5.js";import{d as o}from"./chunk-IZ2LK5GK.js";var p=l`:host{display:block}.notification{position:relative;border-radius:var(--bl-border-radius-m);box-shadow:0 5px 30px 0 rgba(39 49 66 / 25%)}.duration{position:absolute;inset-inline-start:0;inset-inline-end:0;bottom:0;height:var(--bl-size-2xs);width:100%}.duration>.remaining{position:absolute;height:100%;width:100%;border-radius:var(--bl-border-radius-s);border-start-start-radius:0;animation-name:to-zero;animation-duration:var(--duration, 7s);animation-timing-function:linear;animation-fill-mode:forwards;animation-play-state:running}.notification.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__ .duration>.remaining,.notification:hover .duration>.remaining{animation-play-state:paused}@keyframes to-zero{to{width:0}}.notification[variant=success] .duration>.remaining{background-color:var(--bl-color-success)}.notification[variant=warning] .duration>.remaining{background-color:var(--bl-color-warning)}.notification[variant=danger] .duration>.remaining{background-color:var(--bl-color-danger)}.notification[variant=info] .duration>.remaining{background-color:var(--bl-color-info)}`,m=p;var f=(e=>(e.DurationEnded="duration-ended",e.CloseButton="close-button",e))(f||{}),v={info:"info",success:"success",warning:"warning",error:"danger"},t=class extends c{constructor(){super(...arguments);this.caption="";this.variant="info";this.duration=7;this.permanent=!1;this.closed=!1}static get styles(){return[m]}firstUpdated(){this.setupDuration()}async setupDuration(){if(!this.permanent){if(this.duration<=0){this.close("duration-ended");return}setTimeout(()=>{var e,n;(n=(e=this.shadowRoot)==null?void 0:e.querySelector(".remaining"))==null||n.addEventListener("animationend",()=>{this.close("duration-ended")},{once:!0})},0)}}close(e){this.onRequestClose({source:e},{cancelable:!0}).defaultPrevented||(this.onClose({source:e}),this.closed=!0)}handleClose(e){let n=e.target;n.closed=!1,this.close("close-button")}renderProgress(){return this.permanent?null:i`
|
|
2
|
+
<div class="duration">
|
|
3
|
+
<div class="remaining" style="--duration: ${this.duration}s;"></div>
|
|
4
|
+
</div>
|
|
5
|
+
`}render(){let{icon:e=!0,variant:n="info"}=this;return i`
|
|
6
|
+
<bl-alert
|
|
7
|
+
class="notification"
|
|
8
|
+
caption="${s(this.caption)}"
|
|
9
|
+
icon=${e}
|
|
10
|
+
variant=${s(v[n])}
|
|
11
|
+
?closed=${this.closed}
|
|
12
|
+
?closable=${!0}
|
|
13
|
+
@bl-close=${this.handleClose}
|
|
14
|
+
>
|
|
15
|
+
<slot></slot>
|
|
16
|
+
${this.renderProgress()}
|
|
17
|
+
<slot name="primary-action" slot="action"></slot>
|
|
18
|
+
<slot name="secondary-action" slot="action-secondary"></slot>
|
|
19
|
+
</bl-alert>
|
|
20
|
+
`}};o([r({type:String})],t.prototype,"caption",2),o([r({converter:d()})],t.prototype,"icon",2),o([r({reflect:!0})],t.prototype,"variant",2),o([r({type:Number})],t.prototype,"duration",2),o([r({type:Boolean})],t.prototype,"permanent",2),o([r({type:Boolean})],t.prototype,"closed",2),o([a("bl-notification-card-request-close")],t.prototype,"onRequestClose",2),o([a("bl-notification-card-close")],t.prototype,"onClose",2),t=o([u("bl-notification-card")],t);export{f as a,t as b};
|
|
21
|
+
//# sourceMappingURL=chunk-GISZRI4I.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/notification/card/bl-notification-card.css", "../src/components/notification/card/bl-notification-card.ts"],
|
|
4
|
+
"sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:block}.notification{position:relative;border-radius:var(--bl-border-radius-m);box-shadow:0 5px 30px 0 rgba(39 49 66 / 25%)}.duration{position:absolute;inset-inline-start:0;inset-inline-end:0;bottom:0;height:var(--bl-size-2xs);width:100%}.duration>.remaining{position:absolute;height:100%;width:100%;border-radius:var(--bl-border-radius-s);border-start-start-radius:0;animation-name:to-zero;animation-duration:var(--duration, 7s);animation-timing-function:linear;animation-fill-mode:forwards;animation-play-state:running}.notification.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__ .duration>.remaining,.notification:hover .duration>.remaining{animation-play-state:paused}@keyframes to-zero{to{width:0}}.notification[variant=success] .duration>.remaining{background-color:var(--bl-color-success)}.notification[variant=warning] .duration>.remaining{background-color:var(--bl-color-warning)}.notification[variant=danger] .duration>.remaining{background-color:var(--bl-color-danger)}.notification[variant=info] .duration>.remaining{background-color:var(--bl-color-info)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { event, EventDispatcher } from \"../../../utilities/event\";\nimport { stringBooleanConverter } from \"../../../utilities/string-boolean.converter\";\nimport BlAlert, { AlertVariant } from \"../../alert/bl-alert\";\nimport { BaklavaIcon } from \"../../icon/icon-list\";\nimport style from \"./bl-notification-card.css\";\n\nexport enum CloseSource {\n DurationEnded = \"duration-ended\",\n CloseButton = \"close-button\",\n}\n\nexport type NotificationVariant = \"info\" | \"success\" | \"warning\" | \"error\";\n\nconst NOTIFICATION_VARIANT_ALERT_MAP: Readonly<Record<NotificationVariant, AlertVariant>> = {\n info: \"info\",\n success: \"success\",\n warning: \"warning\",\n error: \"danger\",\n};\n\n/**\n * @tag bl-notification-card\n * @summary Baklava Notification Card component\n */\n\n@customElement(\"bl-notification-card\")\nexport default class BlNotificationCard extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets notification caption.\n * @attr caption\n * @type {string}\n * @default \"\"\n */\n @property({ type: String })\n caption = \"\";\n\n /**\n * Allows to customize notification icon.\n * True value will display default icon.\n * False value will hide icon.\n * String value will display icon with specified name.\n * @attr icon\n * @type {boolean | BaklavaIcon}\n * @default true\n */\n @property({ converter: stringBooleanConverter() })\n icon?: boolean | BaklavaIcon;\n\n /**\n * Sets notification variant.\n * @attr variant\n * @type {NotificationVariant}\n * @default \"info\"\n */\n @property({ reflect: true })\n variant: NotificationVariant = \"info\";\n\n /**\n * Sets notification display duration in minutes.\n * Has no effect if permanent is set to true.\n * @attr closed\n * @type {boolean}\n * @default false\n */\n @property({ type: Number })\n duration = 7;\n\n /**\n * Prevents notification from being closed automatically.\n * @attr closed\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n permanent = false;\n\n /**\n * Indicates whether the notification is closed.\n */\n @property({ type: Boolean })\n closed = false;\n\n /**\n * Dispatches close request event.\n * The notification will not be closed automatically if the event is prevented.\n */\n @event(\"bl-notification-card-request-close\") private onRequestClose: EventDispatcher<{\n source: \"duration-ended\" | \"close-button\";\n }>;\n\n /**\n * Dispatches close event.\n * The notification will hidden after the event is dispatched and the closed property is set to true.\n */\n @event(\"bl-notification-card-close\") private onClose: EventDispatcher<{\n source: \"duration-ended\" | \"close-button\";\n }>;\n\n protected firstUpdated() {\n this.setupDuration();\n }\n\n /**\n * Sets up duration animation.\n * The notification will dispatch a closed event after the animation ends.\n */\n private async setupDuration() {\n if (this.permanent) {\n return;\n }\n\n if (this.duration <= 0) {\n this.close(CloseSource.DurationEnded);\n return;\n }\n\n setTimeout(() => {\n this.shadowRoot?.querySelector(\".remaining\")?.addEventListener(\n \"animationend\",\n () => {\n this.close(CloseSource.DurationEnded);\n },\n { once: true }\n );\n }, 0);\n }\n\n private close(source: CloseSource) {\n const requestCloseEvent = this.onRequestClose({ source }, { cancelable: true });\n\n if (requestCloseEvent.defaultPrevented) {\n return;\n }\n\n this.onClose({ source });\n this.closed = true;\n }\n\n private handleClose(e: CustomEvent<boolean>) {\n const target = e.target as BlAlert;\n\n target.closed = false;\n\n this.close(CloseSource.CloseButton);\n }\n\n private renderProgress() {\n if (this.permanent) {\n return null;\n }\n\n return html`\n <div class=\"duration\">\n <div class=\"remaining\" style=\"--duration: ${this.duration}s;\"></div>\n </div>\n `;\n }\n\n render(): TemplateResult {\n const { icon = true, variant = \"info\" } = this;\n\n return html`\n <bl-alert\n class=\"notification\"\n caption=\"${ifDefined(this.caption)}\"\n icon=${icon}\n variant=${ifDefined(NOTIFICATION_VARIANT_ALERT_MAP[variant])}\n ?closed=${this.closed}\n ?closable=${true}\n @bl-close=${this.handleClose}\n >\n <slot></slot>\n ${this.renderProgress()}\n <slot name=\"primary-action\" slot=\"action\"></slot>\n <slot name=\"secondary-action\" slot=\"action-secondary\"></slot>\n </bl-alert>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-notification-card\": BlNotificationCard;\n }\n}\n"],
|
|
5
|
+
"mappings": "gQACO,IAAMA,EAASC,wjCACfC,EAAQF,ECOR,IAAKG,OACVA,EAAA,cAAgB,iBAChBA,EAAA,YAAc,eAFJA,OAAA,IAONC,EAAsF,CAC1F,KAAM,OACN,QAAS,UACT,QAAS,UACT,MAAO,QACT,EAQqBC,EAArB,cAAgDC,CAAW,CAA3D,kCAYE,aAAU,GAqBV,aAA+B,OAU/B,cAAW,EASX,eAAY,GAMZ,YAAS,GAzDT,WAAW,QAAyB,CAClC,MAAO,CAACC,CAAK,CACf,CAyEU,cAAe,CACvB,KAAK,cAAc,CACrB,CAMA,MAAc,eAAgB,CAC5B,GAAI,MAAK,UAIT,IAAI,KAAK,UAAY,EAAG,CACtB,KAAK,MAAM,gBAAyB,EACpC,OAGF,WAAW,IAAM,CA3HrB,IAAAC,EAAAC,GA4HMA,GAAAD,EAAA,KAAK,aAAL,YAAAA,EAAiB,cAAc,gBAA/B,MAAAC,EAA8C,iBAC5C,eACA,IAAM,CACJ,KAAK,MAAM,gBAAyB,CACtC,EACA,CAAE,KAAM,EAAK,EAEjB,EAAG,CAAC,EACN,CAEQ,MAAMC,EAAqB,CACP,KAAK,eAAe,CAAE,OAAAA,CAAO,EAAG,CAAE,WAAY,EAAK,CAAC,EAExD,mBAItB,KAAK,QAAQ,CAAE,OAAAA,CAAO,CAAC,EACvB,KAAK,OAAS,GAChB,CAEQ,YAAY,EAAyB,CAC3C,IAAMC,EAAS,EAAE,OAEjBA,EAAO,OAAS,GAEhB,KAAK,MAAM,cAAuB,CACpC,CAEQ,gBAAiB,CACvB,OAAI,KAAK,UACA,KAGFC;AAAA;AAAA,oDAEyC,KAAK;AAAA;AAAA,KAGvD,CAEA,QAAyB,CACvB,GAAM,CAAE,KAAAC,EAAO,GAAM,QAAAC,EAAU,MAAO,EAAI,KAE1C,OAAOF;AAAA;AAAA;AAAA,mBAGQG,EAAU,KAAK,OAAO;AAAA,eAC1BF;AAAA,kBACGE,EAAUX,EAA+BU,CAAO,CAAC;AAAA,kBACjD,KAAK;AAAA,oBACH;AAAA,oBACA,KAAK;AAAA;AAAA;AAAA,UAGf,KAAK,eAAe;AAAA;AAAA;AAAA;AAAA,KAK5B,CACF,EAhJEE,EAAA,CADCC,EAAS,CAAE,KAAM,MAAO,CAAC,GAXPZ,EAYnB,uBAYAW,EAAA,CADCC,EAAS,CAAE,UAAWC,EAAuB,CAAE,CAAC,GAvB9Bb,EAwBnB,oBASAW,EAAA,CADCC,EAAS,CAAE,QAAS,EAAK,CAAC,GAhCRZ,EAiCnB,uBAUAW,EAAA,CADCC,EAAS,CAAE,KAAM,MAAO,CAAC,GA1CPZ,EA2CnB,wBASAW,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAC,GAnDRZ,EAoDnB,yBAMAW,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAC,GAzDRZ,EA0DnB,sBAMqDW,EAAA,CAApDG,EAAM,oCAAoC,GAhExBd,EAgEkC,8BAQRW,EAAA,CAA5CG,EAAM,4BAA4B,GAxEhBd,EAwE0B,uBAxE1BA,EAArBW,EAAA,CADCC,EAAc,sBAAsB,GAChBZ",
|
|
6
|
+
"names": ["styles", "i", "bl_notification_card_default", "CloseSource", "NOTIFICATION_VARIANT_ALERT_MAP", "BlNotificationCard", "s", "bl_notification_card_default", "_a", "_b", "source", "target", "x", "icon", "variant", "l", "__decorateClass", "e", "stringBooleanConverter", "event"]
|
|
7
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as x}from"./chunk-23PSWIUF.js";import{c as m}from"./chunk-EG7U7PM3.js";import{a as g}from"./chunk-XDUIVR6I.js";import{a as b}from"./chunk-
|
|
1
|
+
import{a as x}from"./chunk-23PSWIUF.js";import{c as m}from"./chunk-EG7U7PM3.js";import{a as g}from"./chunk-XDUIVR6I.js";import{a as b}from"./chunk-4UO3W4WP.js";import{a as p}from"./chunk-6LT7O7T2.js";import{a as f,c as y}from"./chunk-HBPBDC7T.js";import{a as l}from"./chunk-DINNT5P2.js";import{a as n}from"./chunk-GRL4DWKG.js";import{a as u,b as i,c,e as v}from"./chunk-5MOOXA2X.js";import{a as h,b as r,f as d}from"./chunk-4OT5AMS5.js";import{d as t}from"./chunk-IZ2LK5GK.js";var M=h`:host{display:inline-block;width:200px;position:relative}.wrapper{--border-color:var(--bl-color-neutral-lighter);--icon-color:var(--bl-color-neutral-light);--text-color:var(--bl-color-neutral-darker);--height:var(--bl-size-2xl);--input-font:var(--bl-font-body-text-2);--line-height:var(--bl-font-body-text-2-line-height);--icon-size:var(--line-height);--icon-gap:var(--bl-size-xs);--padding-vertical:calc((var(--height) - var(--line-height)) / 2);--padding-horizontal:var(--bl-size-xs);--autofill-bg-color:var(--bl-color-primary-contrast);--label-padding:var(--bl-size-3xs);--background-color:var(--bl-color-neutral-full);display:grid;position:relative;gap:var(--bl-size-3xs)}.wrapper:focus-within{--border-color:var(--bl-color-primary);--icon-color:var(--bl-color-primary)}.wrapper.dirty.invalid{--border-color:var(--bl-color-danger);--icon-color:var(--bl-color-danger)}:host([size=large]) .wrapper{--height:var(--bl-size-3xl);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-m);--icon-gap:var(--bl-size-m)}:host([size=small]) .wrapper{--height:var(--bl-size-xl);--input-font:var(--bl-font-body-text-3);--padding-vertical:var(--bl-size-3xs);--icon-size:var(--bl-font-body-text-3-line-height);--icon-gap:var(--bl-size-2xs)}.input-wrapper{--border-size:1px;outline:0;display:flex;box-sizing:border-box;gap:var(--padding-vertical);height:var(--height);border:solid var(--border-size) var(--border-color);padding:0 calc(var(--bl-input-padding-end,var(--padding-horizontal)) - var(--label-padding) - var(--border-size)) 0 calc(var(--bl-input-padding-start,var(--padding-horizontal)) - var(--label-padding) - var(--border-size));background-color:var(--background-color);border-radius:var(--bl-size-3xs);margin:0;width:0;min-width:100%}:host([disabled]) .wrapper{cursor:not-allowed;--background-color:var(--bl-color-neutral-lightest);--text-color:var(--bl-color-neutral-light)}.wrapper:has(input:autofill){--background-color:var(--autofill-bg-color)}.wrapper:has(input:-webkit-autofill){--background-color:var(--autofill-bg-color)}.input-wrapper legend,label{padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}label{position:absolute;max-width:max-content;transition:.1s ease-in;font:var(--input-font);top:var(--padding-vertical);inset-inline-start:var(--bl-input-padding-start,var(--padding-horizontal));inset-inline-end:var(--bl-input-padding-end,var(--padding-horizontal));pointer-events:none;color:var(--bl-color-neutral-light)}.has-icon label{inset-inline-end:calc(var(--bl-input-padding-end,var(--padding-horizontal)) + var(--icon-size) + var(--padding-vertical))}.input-wrapper legend{height:0;visibility:hidden;display:none}.input-wrapper legend span{padding:0 var(--label-padding);display:inline-block;opacity:0;visibility:visible}input{width:100%;align-self:stretch;outline:0;border:0;padding:0 0 0 var(--label-padding);font:var(--input-font);color:var(--text-color);-webkit-text-fill-color:var(--text-color);background-color:transparent;cursor:var(--bl-input-cursor,unset)}input::-webkit-credentials-auto-fill-button{color:red}:where(.wrapper:focus-within,.wrapper.has-value) input{padding-inline-start:var(--label-padding)}input:disabled{cursor:not-allowed}input::-webkit-calendar-picker-indicator{display:none}input::-webkit-search-cancel-button{display:none}input::-moz-calendar-picker-indicator{display:none}input:autofill{background-color:var(--autofill-bg-color);box-shadow:0 0 0 40rem var(--autofill-bg-color) inset}input:-webkit-autofill{background-color:var(--autofill-bg-color);box-shadow:0 0 0 40rem var(--autofill-bg-color) inset}.icon{display:flex;align-items:center;gap:var(--icon-gap);flex-basis:var(--icon-size);align-self:center;height:var(--icon-size);margin-inline-end:var(--label-padding)}.icon:has(.clear-icon){gap:var(--bl-size-3xs)}::slotted(bl-icon),bl-icon:not(.reveal-icon,.clear-icon){font-size:var(--icon-size);color:var(--icon-color);height:var(--icon-size)}.reveal-button bl-icon{display:none}bl-icon[name=eye_on]{display:inline-block}.password-visible bl-icon[name=eye_on]{display:none}.password-visible bl-icon[name=eye_off]{display:inline-block}.wrapper:not(.has-icon) .icon{display:none}.hint{display:none;font:var(--bl-font-body-text-3)}.hint p{padding:0;margin:0}::placeholder{color:var(--bl-color-neutral-light);-webkit-text-fill-color:var(--bl-color-neutral-light)}:host([label]) ::placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:color .4s ease-out}:host :focus-within ::placeholder,:host([label-fixed]) ::placeholder{color:var(--bl-color-neutral-light);-webkit-text-fill-color:var(--bl-color-neutral-light)}:host([label-fixed]) label{position:static;transition:none;transform:none;pointer-events:initial;font:var(--bl-font-caption);color:var(--bl-color-neutral-dark);padding:0}:host([label-fixed]) legend{display:none}:host(:not([label-fixed])) .has-value label,:host(:not([label-fixed])) :focus-within label{top:0;inset-inline-start:calc(var(--bl-input-padding-start,var(--padding-horizontal)) - var(--label-padding));inset-inline-end:calc(var(--bl-input-padding-end,var(--padding-horizontal)) - var(--label-padding));transform:translateY(-50%);font:var(--bl-font-caption);color:var(--bl-color-neutral-dark);padding:0 var(--label-padding);pointer-events:initial;z-index:var(--bl-index-base)}:host([label]:not([label-fixed])) :where(:focus-within,.has-value) legend{max-width:100%;font:var(--bl-font-caption);display:block}.error-icon,.invalid-text{display:none}.dirty.invalid label,.error-icon,.invalid-text{color:var(--bl-color-danger)}.help-text{color:var(--bl-color-neutral-dark)}.dirty.invalid .hint,:host([help-text]) .hint{display:block}.dirty.invalid .invalid-text{display:block}.dirty.invalid .help-text{display:none}.dirty.invalid .error-icon{display:inline-block}.split-divider{display:block;height:1rem;width:1px;background-color:var(--bl-color-neutral-lighter)}`,w=M;var H={date:"calendar","datetime-local":"calendar",month:"calendar",week:"calendar",time:"clock",search:"search"},e=class extends g(d){constructor(){super(...arguments);this.type="text";this.value="";this.required=!1;this.loading=!1;this.autocomplete="on";this.autofocus=!1;this.size="medium";this.disabled=!1;this.readonly=!1;this.labelFixed=!1;this.onKeydown=a=>{a.code==="Enter"&&this.form&&setTimeout(()=>{a.defaultPrevented||b(this.form)})};this.dirty=!1;this.passwordVisible=!1;this.inputId=Math.random().toString(36).substring(2)}static get styles(){return[w]}set customInvalidText(a){this._customInvalidText=a,this.setValue(this.value)}get customInvalidText(){return this._customInvalidText}connectedCallback(){var a;super.connectedCallback(),this.addEventListener("keydown",this.onKeydown),(a=this.form)==null||a.addEventListener("submit",()=>{this.reportValidity()})}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",this.onKeydown)}textVisibilityToggle(){this.passwordVisible=!this.passwordVisible}async handleSearchClear(){this.value="",await this.clearCustomError(),this.validationTarget.focus()}showPicker(){"showPicker"in HTMLInputElement.prototype&&this.validationTarget.showPicker()}validityCallback(){var a;return this.onInvalid(this.internals.validity),this.customInvalidText||((a=this.validationTarget)==null?void 0:a.validationMessage)}setCustomValidity(a){this.validationTarget.setCustomValidity(a)}async forceCustomError(){await this.updateComplete,this.setCustomValidity(this.customInvalidText||y("An error occurred",{desc:"bl-input: default custom error message"})),this.setValue(this.value),this.reportValidity()}async clearCustomError(){await this.updateComplete,this.setCustomValidity(""),this.setValue(this.value),this.reportValidity()}reportValidity(){return this.dirty=!0,this.requestUpdate(),this.checkValidity()}inputHandler(a){let o=a.target.value;this.value=o,this.setValue(this.value),this.onInput(o)}changeHandler(a){let o=a.target.value;this.dirty=!0,this.value=o,this.setValue(this.value),this.onChange(o)}firstUpdated(){this.setValue(this.value),this.icon||(this.icon=H[this.type])}async updated(a){a.size>0&&(this.setValue(this.value),await this.validationComplete,this.requestUpdate()),a.has("error")&&this.error&&!this.dirty&&this.reportValidity()}get _hasIconSlot(){return this.querySelector(':scope > [slot="icon"]')!==null}render(){let a=this.checkValidity()?"":r`<p id="errorMessage" aria-live="polite" class="invalid-text">
|
|
2
2
|
${this.validationMessage}
|
|
3
3
|
</p>`,o=this.helpText?r`<p id="helpText" class="help-text">${this.helpText}</p>`:"",k=r`
|
|
4
4
|
<slot name="icon">
|
|
@@ -56,4 +56,4 @@ import{a as x}from"./chunk-23PSWIUF.js";import{c as m}from"./chunk-EG7U7PM3.js";
|
|
|
56
56
|
</fieldset>
|
|
57
57
|
<div class="hint">${a} ${o}</div>
|
|
58
58
|
</div>`}};e.shadowRootOptions={...d.shadowRootOptions,delegatesFocus:!0},e.formControlValidators=x,t([v("input")],e.prototype,"validationTarget",2),t([i({reflect:!0})],e.prototype,"name",2),t([i({reflect:!0})],e.prototype,"type",2),t([i({reflect:!0})],e.prototype,"label",2),t([i({reflect:!0})],e.prototype,"placeholder",2),t([i({reflect:!0})],e.prototype,"value",2),t([i({type:Boolean,reflect:!0})],e.prototype,"required",2),t([i({type:Number,reflect:!0})],e.prototype,"minlength",2),t([i({type:Number,reflect:!0})],e.prototype,"maxlength",2),t([i({reflect:!0})],e.prototype,"min",2),t([i({type:Boolean,reflect:!0})],e.prototype,"loading",2),t([i({reflect:!0})],e.prototype,"max",2),t([i({type:String,reflect:!0})],e.prototype,"pattern",2),t([i({type:Number,reflect:!0})],e.prototype,"step",2),t([i({type:String,reflect:!0})],e.prototype,"autocomplete",2),t([i({type:String,reflect:!0})],e.prototype,"inputmode",2),t([i({type:Boolean,reflect:!0})],e.prototype,"autofocus",2),t([i({type:String,reflect:!0})],e.prototype,"icon",2),t([i({type:String,reflect:!0})],e.prototype,"size",2),t([i({type:Boolean,reflect:!0})],e.prototype,"disabled",2),t([i({type:Boolean,reflect:!0})],e.prototype,"readonly",2),t([i({type:Boolean,attribute:"label-fixed",reflect:!0})],e.prototype,"labelFixed",2),t([i({type:String,attribute:"invalid-text",reflect:!0})],e.prototype,"customInvalidText",1),t([i({reflect:!0,type:String})],e.prototype,"error",2),t([i({type:String,attribute:"help-text",reflect:!0})],e.prototype,"helpText",2),t([n("bl-change")],e.prototype,"onChange",2),t([n("bl-input")],e.prototype,"onInput",2),t([n("bl-invalid")],e.prototype,"onInvalid",2),t([c()],e.prototype,"dirty",2),t([c()],e.prototype,"passwordVisible",2),e=t([u("bl-input"),f()],e);export{e as a};
|
|
59
|
-
//# sourceMappingURL=chunk-
|
|
59
|
+
//# sourceMappingURL=chunk-MNNH7I24.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as a}from"../../chunk-
|
|
1
|
+
import{b as a}from"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
|
|
2
2
|
//# sourceMappingURL=bl-button.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as a}from"../../chunk-OTAAXK2L.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-WEEGH2F4.js";import"../../chunk-
|
|
1
|
+
import{b as a}from"../../chunk-OTAAXK2L.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-WEEGH2F4.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-HBPBDC7T.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
|
|
2
2
|
//# sourceMappingURL=bl-calendar.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-GFBXJPT6.js";import"../../chunk-DE3A37FL.js";import"../../chunk-UOGCEUXK.js";import"../../chunk-EZSEQHRH.js";import"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-GFBXJPT6.js";import"../../chunk-DE3A37FL.js";import"../../chunk-UOGCEUXK.js";import"../../chunk-EZSEQHRH.js";import"../../chunk-MNNH7I24.js";import"../../chunk-23PSWIUF.js";import"../../chunk-OTAAXK2L.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-WEEGH2F4.js";import"../../chunk-EG7U7PM3.js";import"../../chunk-XDUIVR6I.js";import"../../chunk-HZ6A5QFC.js";import"../../chunk-AYJMIZZ3.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-HBPBDC7T.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
|
|
2
2
|
//# sourceMappingURL=bl-datepicker.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-OXHRXOBD.js";import"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-OXHRXOBD.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
|
|
2
2
|
//# sourceMappingURL=bl-dialog.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-MWG4TBH7.js";import"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-MWG4TBH7.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
|
|
2
2
|
//# sourceMappingURL=bl-drawer.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{e as a,f as b}from"../../chunk-NXVLNG4L.js";import"../../chunk-HYBPEELZ.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-
|
|
1
|
+
import{e as a,f as b}from"../../chunk-NXVLNG4L.js";import"../../chunk-HYBPEELZ.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as blDropdownTag,b as default};
|
|
2
2
|
//# sourceMappingURL=bl-dropdown.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as a,d as b}from"../../../chunk-NXVLNG4L.js";import"../../../chunk-HYBPEELZ.js";import"../../../chunk-IPYZIIRV.js";import"../../../chunk-
|
|
1
|
+
import{c as a,d as b}from"../../../chunk-NXVLNG4L.js";import"../../../chunk-HYBPEELZ.js";import"../../../chunk-IPYZIIRV.js";import"../../../chunk-4UO3W4WP.js";import"../../../chunk-ZE7GYACV.js";import"../../../chunk-6LT7O7T2.js";import"../../../chunk-DINNT5P2.js";import"../../../chunk-BH64QNLE.js";import"../../../chunk-GRL4DWKG.js";import"../../../chunk-3USCFSFQ.js";import"../../../chunk-7GK5LKBV.js";import"../../../chunk-5MOOXA2X.js";import"../../../chunk-4OT5AMS5.js";import"../../../chunk-IZ2LK5GK.js";export{a as blDropdownItemTag,b as default};
|
|
2
2
|
//# sourceMappingURL=bl-dropdown-item.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-MNNH7I24.js";import"../../chunk-23PSWIUF.js";import"../../chunk-EG7U7PM3.js";import"../../chunk-XDUIVR6I.js";import"../../chunk-HZ6A5QFC.js";import"../../chunk-AYJMIZZ3.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-HBPBDC7T.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
|
|
2
2
|
//# sourceMappingURL=bl-input.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b}from"../../../chunk-
|
|
1
|
+
import{a,b}from"../../../chunk-GISZRI4I.js";import"../../../chunk-ECPWEUBG.js";import"../../../chunk-DINNT5P2.js";import"../../../chunk-GRL4DWKG.js";import"../../../chunk-5MOOXA2X.js";import"../../../chunk-4OT5AMS5.js";import"../../../chunk-IZ2LK5GK.js";export{a as CloseSource,b as default};
|
|
2
2
|
//# sourceMappingURL=bl-notification-card.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-H4WETBHJ.js";import"../../chunk-2IJL7HNY.js";import"../../chunk-RER7OLAQ.js";import"../../chunk-MWFGDECP.js";import"../../chunk-EZSEQHRH.js";import"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-H4WETBHJ.js";import"../../chunk-2IJL7HNY.js";import"../../chunk-RER7OLAQ.js";import"../../chunk-MWFGDECP.js";import"../../chunk-EZSEQHRH.js";import"../../chunk-MNNH7I24.js";import"../../chunk-23PSWIUF.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-EG7U7PM3.js";import"../../chunk-XDUIVR6I.js";import"../../chunk-HZ6A5QFC.js";import"../../chunk-AYJMIZZ3.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-HBPBDC7T.js";import"../../chunk-ECPWEUBG.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
|
|
2
2
|
//# sourceMappingURL=bl-pagination.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-2IJL7HNY.js";import"../../chunk-RER7OLAQ.js";import"../../chunk-MWFGDECP.js";import"../../chunk-EZSEQHRH.js";import"../../chunk-EG7U7PM3.js";import"../../chunk-XDUIVR6I.js";import"../../chunk-HZ6A5QFC.js";import"../../chunk-AYJMIZZ3.js";import"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-2IJL7HNY.js";import"../../chunk-RER7OLAQ.js";import"../../chunk-MWFGDECP.js";import"../../chunk-EZSEQHRH.js";import"../../chunk-EG7U7PM3.js";import"../../chunk-XDUIVR6I.js";import"../../chunk-HZ6A5QFC.js";import"../../chunk-AYJMIZZ3.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-HBPBDC7T.js";import"../../chunk-ECPWEUBG.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
|
|
2
2
|
//# sourceMappingURL=bl-select.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b}from"../../chunk-NXVLNG4L.js";import"../../chunk-HYBPEELZ.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-
|
|
1
|
+
import{a,b}from"../../chunk-NXVLNG4L.js";import"../../chunk-HYBPEELZ.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as blSplitButtonTag,b as default};
|
|
2
2
|
//# sourceMappingURL=bl-split-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bl-tag.d.ts","sourceRoot":"","sources":["../../../src/components/tag/bl-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAGhF,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACnD,KAAK,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAE7C;;;GAGG;AAEH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAU;IAC3C,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED;;OAEG;IAEH,IAAI,EAAE,OAAO,CAAY;IAEzB;;OAEG;IAEH,OAAO,EAAE,UAAU,CAAgB;IAEnC;;OAEG;IAEH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5B;;OAEG;IACoB,OAAO,CAAC,aAAa,CAGzC;IAEH,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"bl-tag.d.ts","sourceRoot":"","sources":["../../../src/components/tag/bl-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAGhF,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACnD,KAAK,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAE7C;;;GAGG;AAEH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAU;IAC3C,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED;;OAEG;IAEH,IAAI,EAAE,OAAO,CAAY;IAEzB;;OAEG;IAEH,OAAO,EAAE,UAAU,CAAgB;IAEnC;;OAEG;IAEH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5B;;OAEG;IACoB,OAAO,CAAC,aAAa,CAGzC;IAEH,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,aAAa;IAKrB,MAAM,IAAI,cAAc;CAoBzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,KAAK,CAAC;KACjB;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-G4DOH6BQ.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
|
|
2
2
|
//# sourceMappingURL=bl-tag.js.map
|
package/package.json
CHANGED
package/dist/chunk-DIGACNOH.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import{a as d}from"./chunk-ECPWEUBG.js";import{a as s}from"./chunk-DINNT5P2.js";import{a}from"./chunk-GRL4DWKG.js";import{a as u,b as r}from"./chunk-5MOOXA2X.js";import{a as l,b as i,f as c}from"./chunk-4OT5AMS5.js";import{d as o}from"./chunk-IZ2LK5GK.js";var p=l`:host{display:block}.notification{position:relative;border-radius:var(--bl-border-radius-m);box-shadow:0 5px 30px 0 rgba(39 49 66 / 25%)}.duration{position:absolute;inset-inline-start:0;inset-inline-end:0;bottom:0;height:var(--bl-size-2xs);width:100%}.duration>.remaining{position:absolute;height:100%;width:100%;border-radius:var(--bl-border-radius-s);border-top-left-radius:0;animation-name:to-zero;animation-duration:var(--duration, 7s);animation-timing-function:linear;animation-fill-mode:forwards;animation-play-state:running}.notification.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__ .duration>.remaining,.notification:hover .duration>.remaining{animation-play-state:paused}@keyframes to-zero{to{width:0}}.notification[variant=success] .duration>.remaining{background-color:var(--bl-color-success)}.notification[variant=warning] .duration>.remaining{background-color:var(--bl-color-warning)}.notification[variant=danger] .duration>.remaining{background-color:var(--bl-color-danger)}.notification[variant=info] .duration>.remaining{background-color:var(--bl-color-info)}`,m=p;var f=(e=>(e.DurationEnded="duration-ended",e.CloseButton="close-button",e))(f||{}),v={info:"info",success:"success",warning:"warning",error:"danger"},t=class extends c{constructor(){super(...arguments);this.caption="";this.variant="info";this.duration=7;this.permanent=!1;this.closed=!1}static get styles(){return[m]}firstUpdated(){this.setupDuration()}async setupDuration(){if(!this.permanent){if(this.duration<=0){this.close("duration-ended");return}setTimeout(()=>{var e,n;(n=(e=this.shadowRoot)==null?void 0:e.querySelector(".remaining"))==null||n.addEventListener("animationend",()=>{this.close("duration-ended")},{once:!0})},0)}}close(e){this.onRequestClose({source:e},{cancelable:!0}).defaultPrevented||(this.onClose({source:e}),this.closed=!0)}handleClose(e){let n=e.target;n.closed=!1,this.close("close-button")}renderProgress(){return this.permanent?null:i`
|
|
2
|
-
<div class="duration">
|
|
3
|
-
<div class="remaining" style="--duration: ${this.duration}s;"></div>
|
|
4
|
-
</div>
|
|
5
|
-
`}render(){let{icon:e=!0,variant:n="info"}=this;return i`
|
|
6
|
-
<bl-alert
|
|
7
|
-
class="notification"
|
|
8
|
-
caption="${s(this.caption)}"
|
|
9
|
-
icon=${e}
|
|
10
|
-
variant=${s(v[n])}
|
|
11
|
-
?closed=${this.closed}
|
|
12
|
-
?closable=${!0}
|
|
13
|
-
@bl-close=${this.handleClose}
|
|
14
|
-
>
|
|
15
|
-
<slot></slot>
|
|
16
|
-
${this.renderProgress()}
|
|
17
|
-
<slot name="primary-action" slot="action"></slot>
|
|
18
|
-
<slot name="secondary-action" slot="action-secondary"></slot>
|
|
19
|
-
</bl-alert>
|
|
20
|
-
`}};o([r({type:String})],t.prototype,"caption",2),o([r({converter:d()})],t.prototype,"icon",2),o([r({reflect:!0})],t.prototype,"variant",2),o([r({type:Number})],t.prototype,"duration",2),o([r({type:Boolean})],t.prototype,"permanent",2),o([r({type:Boolean})],t.prototype,"closed",2),o([a("bl-notification-card-request-close")],t.prototype,"onRequestClose",2),o([a("bl-notification-card-close")],t.prototype,"onClose",2),t=o([u("bl-notification-card")],t);export{f as a,t as b};
|
|
21
|
-
//# sourceMappingURL=chunk-DIGACNOH.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/components/notification/card/bl-notification-card.css", "../src/components/notification/card/bl-notification-card.ts"],
|
|
4
|
-
"sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:block}.notification{position:relative;border-radius:var(--bl-border-radius-m);box-shadow:0 5px 30px 0 rgba(39 49 66 / 25%)}.duration{position:absolute;inset-inline-start:0;inset-inline-end:0;bottom:0;height:var(--bl-size-2xs);width:100%}.duration>.remaining{position:absolute;height:100%;width:100%;border-radius:var(--bl-border-radius-s);border-top-left-radius:0;animation-name:to-zero;animation-duration:var(--duration, 7s);animation-timing-function:linear;animation-fill-mode:forwards;animation-play-state:running}.notification.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__ .duration>.remaining,.notification:hover .duration>.remaining{animation-play-state:paused}@keyframes to-zero{to{width:0}}.notification[variant=success] .duration>.remaining{background-color:var(--bl-color-success)}.notification[variant=warning] .duration>.remaining{background-color:var(--bl-color-warning)}.notification[variant=danger] .duration>.remaining{background-color:var(--bl-color-danger)}.notification[variant=info] .duration>.remaining{background-color:var(--bl-color-info)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { event, EventDispatcher } from \"../../../utilities/event\";\nimport { stringBooleanConverter } from \"../../../utilities/string-boolean.converter\";\nimport BlAlert, { AlertVariant } from \"../../alert/bl-alert\";\nimport { BaklavaIcon } from \"../../icon/icon-list\";\nimport style from \"./bl-notification-card.css\";\n\nexport enum CloseSource {\n DurationEnded = \"duration-ended\",\n CloseButton = \"close-button\",\n}\n\nexport type NotificationVariant = \"info\" | \"success\" | \"warning\" | \"error\";\n\nconst NOTIFICATION_VARIANT_ALERT_MAP: Readonly<Record<NotificationVariant, AlertVariant>> = {\n info: \"info\",\n success: \"success\",\n warning: \"warning\",\n error: \"danger\",\n};\n\n/**\n * @tag bl-notification-card\n * @summary Baklava Notification Card component\n */\n\n@customElement(\"bl-notification-card\")\nexport default class BlNotificationCard extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets notification caption.\n * @attr caption\n * @type {string}\n * @default \"\"\n */\n @property({ type: String })\n caption = \"\";\n\n /**\n * Allows to customize notification icon.\n * True value will display default icon.\n * False value will hide icon.\n * String value will display icon with specified name.\n * @attr icon\n * @type {boolean | BaklavaIcon}\n * @default true\n */\n @property({ converter: stringBooleanConverter() })\n icon?: boolean | BaklavaIcon;\n\n /**\n * Sets notification variant.\n * @attr variant\n * @type {NotificationVariant}\n * @default \"info\"\n */\n @property({ reflect: true })\n variant: NotificationVariant = \"info\";\n\n /**\n * Sets notification display duration in minutes.\n * Has no effect if permanent is set to true.\n * @attr closed\n * @type {boolean}\n * @default false\n */\n @property({ type: Number })\n duration = 7;\n\n /**\n * Prevents notification from being closed automatically.\n * @attr closed\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n permanent = false;\n\n /**\n * Indicates whether the notification is closed.\n */\n @property({ type: Boolean })\n closed = false;\n\n /**\n * Dispatches close request event.\n * The notification will not be closed automatically if the event is prevented.\n */\n @event(\"bl-notification-card-request-close\") private onRequestClose: EventDispatcher<{\n source: \"duration-ended\" | \"close-button\";\n }>;\n\n /**\n * Dispatches close event.\n * The notification will hidden after the event is dispatched and the closed property is set to true.\n */\n @event(\"bl-notification-card-close\") private onClose: EventDispatcher<{\n source: \"duration-ended\" | \"close-button\";\n }>;\n\n protected firstUpdated() {\n this.setupDuration();\n }\n\n /**\n * Sets up duration animation.\n * The notification will dispatch a closed event after the animation ends.\n */\n private async setupDuration() {\n if (this.permanent) {\n return;\n }\n\n if (this.duration <= 0) {\n this.close(CloseSource.DurationEnded);\n return;\n }\n\n setTimeout(() => {\n this.shadowRoot?.querySelector(\".remaining\")?.addEventListener(\n \"animationend\",\n () => {\n this.close(CloseSource.DurationEnded);\n },\n { once: true }\n );\n }, 0);\n }\n\n private close(source: CloseSource) {\n const requestCloseEvent = this.onRequestClose({ source }, { cancelable: true });\n\n if (requestCloseEvent.defaultPrevented) {\n return;\n }\n\n this.onClose({ source });\n this.closed = true;\n }\n\n private handleClose(e: CustomEvent<boolean>) {\n const target = e.target as BlAlert;\n\n target.closed = false;\n\n this.close(CloseSource.CloseButton);\n }\n\n private renderProgress() {\n if (this.permanent) {\n return null;\n }\n\n return html`\n <div class=\"duration\">\n <div class=\"remaining\" style=\"--duration: ${this.duration}s;\"></div>\n </div>\n `;\n }\n\n render(): TemplateResult {\n const { icon = true, variant = \"info\" } = this;\n\n return html`\n <bl-alert\n class=\"notification\"\n caption=\"${ifDefined(this.caption)}\"\n icon=${icon}\n variant=${ifDefined(NOTIFICATION_VARIANT_ALERT_MAP[variant])}\n ?closed=${this.closed}\n ?closable=${true}\n @bl-close=${this.handleClose}\n >\n <slot></slot>\n ${this.renderProgress()}\n <slot name=\"primary-action\" slot=\"action\"></slot>\n <slot name=\"secondary-action\" slot=\"action-secondary\"></slot>\n </bl-alert>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-notification-card\": BlNotificationCard;\n }\n}\n"],
|
|
5
|
-
"mappings": "gQACO,IAAMA,EAASC,qjCACfC,EAAQF,ECOR,IAAKG,OACVA,EAAA,cAAgB,iBAChBA,EAAA,YAAc,eAFJA,OAAA,IAONC,EAAsF,CAC1F,KAAM,OACN,QAAS,UACT,QAAS,UACT,MAAO,QACT,EAQqBC,EAArB,cAAgDC,CAAW,CAA3D,kCAYE,aAAU,GAqBV,aAA+B,OAU/B,cAAW,EASX,eAAY,GAMZ,YAAS,GAzDT,WAAW,QAAyB,CAClC,MAAO,CAACC,CAAK,CACf,CAyEU,cAAe,CACvB,KAAK,cAAc,CACrB,CAMA,MAAc,eAAgB,CAC5B,GAAI,MAAK,UAIT,IAAI,KAAK,UAAY,EAAG,CACtB,KAAK,MAAM,gBAAyB,EACpC,OAGF,WAAW,IAAM,CA3HrB,IAAAC,EAAAC,GA4HMA,GAAAD,EAAA,KAAK,aAAL,YAAAA,EAAiB,cAAc,gBAA/B,MAAAC,EAA8C,iBAC5C,eACA,IAAM,CACJ,KAAK,MAAM,gBAAyB,CACtC,EACA,CAAE,KAAM,EAAK,EAEjB,EAAG,CAAC,EACN,CAEQ,MAAMC,EAAqB,CACP,KAAK,eAAe,CAAE,OAAAA,CAAO,EAAG,CAAE,WAAY,EAAK,CAAC,EAExD,mBAItB,KAAK,QAAQ,CAAE,OAAAA,CAAO,CAAC,EACvB,KAAK,OAAS,GAChB,CAEQ,YAAY,EAAyB,CAC3C,IAAMC,EAAS,EAAE,OAEjBA,EAAO,OAAS,GAEhB,KAAK,MAAM,cAAuB,CACpC,CAEQ,gBAAiB,CACvB,OAAI,KAAK,UACA,KAGFC;AAAA;AAAA,oDAEyC,KAAK;AAAA;AAAA,KAGvD,CAEA,QAAyB,CACvB,GAAM,CAAE,KAAAC,EAAO,GAAM,QAAAC,EAAU,MAAO,EAAI,KAE1C,OAAOF;AAAA;AAAA;AAAA,mBAGQG,EAAU,KAAK,OAAO;AAAA,eAC1BF;AAAA,kBACGE,EAAUX,EAA+BU,CAAO,CAAC;AAAA,kBACjD,KAAK;AAAA,oBACH;AAAA,oBACA,KAAK;AAAA;AAAA;AAAA,UAGf,KAAK,eAAe;AAAA;AAAA;AAAA;AAAA,KAK5B,CACF,EAhJEE,EAAA,CADCC,EAAS,CAAE,KAAM,MAAO,CAAC,GAXPZ,EAYnB,uBAYAW,EAAA,CADCC,EAAS,CAAE,UAAWC,EAAuB,CAAE,CAAC,GAvB9Bb,EAwBnB,oBASAW,EAAA,CADCC,EAAS,CAAE,QAAS,EAAK,CAAC,GAhCRZ,EAiCnB,uBAUAW,EAAA,CADCC,EAAS,CAAE,KAAM,MAAO,CAAC,GA1CPZ,EA2CnB,wBASAW,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAC,GAnDRZ,EAoDnB,yBAMAW,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,CAAC,GAzDRZ,EA0DnB,sBAMqDW,EAAA,CAApDG,EAAM,oCAAoC,GAhExBd,EAgEkC,8BAQRW,EAAA,CAA5CG,EAAM,4BAA4B,GAxEhBd,EAwE0B,uBAxE1BA,EAArBW,EAAA,CADCC,EAAc,sBAAsB,GAChBZ",
|
|
6
|
-
"names": ["styles", "i", "bl_notification_card_default", "CloseSource", "NOTIFICATION_VARIANT_ALERT_MAP", "BlNotificationCard", "s", "bl_notification_card_default", "_a", "_b", "source", "target", "x", "icon", "variant", "l", "__decorateClass", "e", "stringBooleanConverter", "event"]
|
|
7
|
-
}
|
package/dist/chunk-HZV6GUII.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import{a as f}from"./chunk-6LT7O7T2.js";import{a as n}from"./chunk-DINNT5P2.js";import{a as y}from"./chunk-GRL4DWKG.js";import{a as v,b as e,c as m,e as g}from"./chunk-5MOOXA2X.js";import{a as u,b as a,f as p}from"./chunk-4OT5AMS5.js";import{d as o}from"./chunk-IZ2LK5GK.js";var _=l=>{if(!(!l.noValidate&&!l.reportValidity())){let b=new SubmitEvent("submit",{bubbles:!0,cancelable:!0});l.dispatchEvent(b),b.defaultPrevented||l.submit()}};var z=u`:host{display:var(--bl-button-display,inline-block);max-width:100%;position:relative}.button{--main-color:var(--bl-color-primary);--main-hover-color:var(--bl-color-primary-highlight);--text-hover-color:var(--bl-color-neutral-lightest);--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-color);--border-color:var(--main-color);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-m);--margin-icon:var(--padding-vertical);--icon-size:var(--bl-size-m);--font:var(--bl-font-title-3-medium);--height:var(--bl-size-2xl);display:flex;gap:var(--margin-icon);justify-content:var(--bl-button-justify,center);align-items:center;box-sizing:border-box;width:100%;height:var(--height);border:solid 1px var(--border-color);border-radius:var(--bl-border-radius-m);text-decoration:none;padding:var(--padding-vertical) var(--padding-horizontal);cursor:pointer;background-color:var(--bg-color);color:var(--content-color);font:var(--font);font-kerning:none;user-select:none}:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button,:host(:hover) .button{--bg-color:var(--main-hover-color);--border-color:var(--main-hover-color)}.label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([size=small]) .button{--font:var(--bl-font-title-4-medium);--padding-vertical:var(--bl-size-3xs);--padding-horizontal:var(--bl-size-2xs);--icon-size:var(--bl-size-s);--height:var(--bl-size-xl)}:host([size=large]) .button{--font:var(--bl-font-title-3-medium);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-xl);--margin-icon:var(--bl-size-2xs);--height:var(--bl-size-3xl)}.button:focus{outline:0}.button:focus-visible{position:relative;outline:0}.button:focus-visible::after{border:2px solid var(--bl-button-focus-border-color,var(--main-color));border-radius:var(--bl-border-radius-l);content:"";position:absolute;inset:-4px}:host ::slotted(bl-icon){font-size:var(--icon-size)}:host([loading]) ::slotted(bl-icon){display:none}:host .has-icon:not(.has-content){--padding-horizontal:var(--padding-vertical);--margin-icon:0}:host([variant=secondary]) .button{--bg-color:transparent;--content-color:var(--main-color)}:host([variant=tertiary]) .button{--content-color:var(--main-color);--border-color:transparent;--bg-color:transparent}:host([kind=neutral]) .button{--main-color:var(--bl-color-neutral-darker);--main-hover-color:var(--bl-color-neutral-darkest)}:host([kind=success]) .button{--main-color:var(--bl-color-success);--main-hover-color:var(--bl-color-success-highlight)}:host([kind=danger]) .button{--main-color:var(--bl-color-danger);--main-hover-color:var(--bl-color-danger-highlight)}:host([disabled]){cursor:not-allowed}:host([loading]){cursor:wait}:host .button[aria-disabled=true]{--main-color:var(--bl-color-neutral-lightest);--main-hover-color:var(--bl-color-neutral-lightest);--content-color:var(--bl-color-neutral-lighter);--bg-color:var(--main-color);pointer-events:none;text-decoration:none}:host([variant=tertiary]) .button[aria-disabled=true]{--main-color:transparent}:host([variant=secondary].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled=false],:host([variant=secondary]:hover) .button[aria-disabled=false]{--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-hover-color)}:host([variant=tertiary].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled=false],:host([variant=tertiary]:hover) .button[aria-disabled=false]{--content-color:var(--main-hover-color);--bg-color:var(--text-hover-color)}:host([dropdown]) .open{display:none}:host([dropdown]) .active .open{display:inline-block}:host([dropdown]) .active .close{display:none}:host .active.button{--bg-color:var(--main-hover-color);--border-color:var(--main-hover-color)}:host([variant=secondary]) .active.button{--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-hover-color)}:host([variant=tertiary]) .active.button{--content-color:var(--main-color);--bg-color:var(--bl-color-neutral-lightest);--border-color:transparent}`,x=z;var t=class extends p{constructor(){super(...arguments);this.variant="primary";this.kind="default";this.size="medium";this.loading=!1;this.disabled=!1;this.target="_self";this.dropdown=!1;this.autofocus=!1;this.active=!1}static get styles(){return[x]}get _isActive(){return this.active}connectedCallback(){super.connectedCallback()}caretTemplate(){return a` <bl-icon class="open" name="arrow_up"></bl-icon>
|
|
2
|
-
<bl-icon class="close" name="arrow_down"></bl-icon>`}_handleClick(){if(this.type==="submit"){let r;this.form instanceof HTMLFormElement?r=this.form:typeof this.form=="string"?r=document.getElementById(this.form):r=this.closest("form"),r&&_(r)}this.onClick("Click event fired!")}focus(){this.button.focus()}get _hasIconSlot(){return this.querySelector(':scope > [slot="icon"]')!==null}get _hasDefaultSlot(){return[...this.childNodes].some(i=>{var c;let s=i.nodeType;return s===i.TEXT_NODE&&((c=i.textContent)==null?void 0:c.trim())!==""||s===i.ELEMENT_NODE&&!i.hasAttribute("slot")})}render(){let r=this.loading||this.disabled,i=this.loading&&this.loadingLabel?this.loadingLabel:a`<slot></slot>`,s=!!this.href,c=this.icon?a`<bl-icon name=${this.icon}></bl-icon>`:"",T=a`<bl-spinner
|
|
3
|
-
class="loading-spinner"
|
|
4
|
-
?disabled="${r}"
|
|
5
|
-
size="${this.size}"
|
|
6
|
-
></bl-spinner>`,d=a`<slot name="icon">${this.loading?T:c}</slot>
|
|
7
|
-
<span class="label">${i}</span>`,E=this.dropdown?this.caretTemplate():"",h=f({button:!0,"has-icon":this.icon||this._hasIconSlot,"has-content":this._hasDefaultSlot,active:!s&&this._isActive});return s?a`<a
|
|
8
|
-
class=${h}
|
|
9
|
-
?autofocus=${this.autofocus}
|
|
10
|
-
aria-disabled="${n(r)}"
|
|
11
|
-
aria-label="${n(this.label)}"
|
|
12
|
-
href=${n(this.href)}
|
|
13
|
-
target=${n(this.target)}
|
|
14
|
-
role="button"
|
|
15
|
-
>${d}
|
|
16
|
-
</a>`:a`<button
|
|
17
|
-
class=${h}
|
|
18
|
-
?autofocus=${this.autofocus}
|
|
19
|
-
aria-disabled="${n(r)}"
|
|
20
|
-
aria-label="${n(this.label)}"
|
|
21
|
-
?disabled=${r}
|
|
22
|
-
@click="${this._handleClick}"
|
|
23
|
-
>
|
|
24
|
-
${d} ${E}
|
|
25
|
-
</button>`}};o([e({type:String,reflect:!0})],t.prototype,"variant",2),o([e({type:String,reflect:!0})],t.prototype,"kind",2),o([e({type:String,reflect:!0})],t.prototype,"size",2),o([e({type:String})],t.prototype,"label",2),o([e({type:String,attribute:"loading-label"})],t.prototype,"loadingLabel",2),o([e({type:Boolean,reflect:!0})],t.prototype,"loading",2),o([e({type:Boolean,reflect:!0})],t.prototype,"disabled",2),o([e({type:String})],t.prototype,"href",2),o([e({type:String})],t.prototype,"icon",2),o([e({type:String})],t.prototype,"target",2),o([e({type:String})],t.prototype,"type",2),o([e({type:Boolean})],t.prototype,"dropdown",2),o([e({type:Boolean,reflect:!0})],t.prototype,"autofocus",2),o([e({type:String})],t.prototype,"form",2),o([m({})],t.prototype,"active",2),o([g(".button")],t.prototype,"button",2),o([y("bl-click")],t.prototype,"onClick",2),t=o([v("bl-button")],t);export{_ as a,t as b};
|
|
26
|
-
//# sourceMappingURL=chunk-HZV6GUII.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../node_modules/@open-wc/form-helpers/src/index.ts", "../src/components/button/bl-button.css", "../src/components/button/bl-button.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Implicitly submit a form by first validating all controls. If the form\n * is valid, issue a submit event and if that event is not prevented, manually\n * call the form's submit method.\n *\n * @param form {HTMLFormElement} - A form to implicitly submit\n */\nexport const submit = (form: HTMLFormElement): void => {\n if (!form.noValidate && !form.reportValidity()) {\n return;\n } else {\n const submitEvent = new SubmitEvent('submit', {\n bubbles: true,\n cancelable: true\n });\n form.dispatchEvent(submitEvent);\n if (!submitEvent.defaultPrevented) {\n form.submit();\n }\n }\n};\n\nexport type FormValue = string|FormData|File|FormValue[];\n\n/**\n * Parse a form and return a set of values based on the name/value pair.\n * If multiple controls of a similar name exist, return an array for those values;\n * otherwise return a single value.\n *\n * @param form {HTMLFormElement} - The form to parse for values\n * @returns {Record<string, any>} - An object representing the form's current values\n */\nexport const formValues = (form: HTMLFormElement): Record<string, FormValue> => {\n const formData = new FormData(form);\n const values: Record<string, FormValue> = {};\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore This does exist in all browsers. TypeScript is wrong\n for (const [key, value] of formData.entries()) {\n if (!values.hasOwnProperty(key)) {\n values[key] = value;\n } else if (Array.isArray(values[key])) {\n const pointer = values[key] as FormValue[];\n pointer.push(value);\n } else {\n values[key] = [values[key], value];\n }\n }\n\n return values;\n};\n\n/**\n * This method takes a form and parses it as an object. If any form control has a `.`\n * in its name, this utility will evaluate that name as a deep key for an object;\n * in other words, if a form has a named control, `name.first` and another, `name.last`\n * it will report back a nested object, name, with first and last properties\n * representing those controls' values.\n *\n * This can be useful when you have a complex model that you are attempting to represent\n * in declaratively in HTML.\n *\n * @param form {HTMLFormElement} - The form to grab values from\n * @returns {Object<string, FormValue>} - An object representation of the form\n */\nexport const parseFormAsObject = (form: HTMLFormElement): Record<string, FormValue> => {\n const data = formValues(form);\n const output: Record<string, FormValue> = {};\n\n Object.entries(data).forEach(([key, value]) => {\n /** If the key has a '.', parse it as an object */\n if (key.includes('.')) {\n const path = key.split('.');\n const destination: string | undefined = path.pop();\n let pointer = output;\n\n while (path.length) {\n const key = path.shift();\n pointer[key as string] = pointer[key as string] || ({} as FormValue);\n pointer = pointer[key as string] as unknown as Record<string, FormValue>;\n }\n\n pointer[destination as string] = value;\n } else {\n output[key] = data[key];\n }\n });\n\n return output;\n};\n", "import {css} from 'lit';\nexport const styles = css`:host{display:var(--bl-button-display,inline-block);max-width:100%;position:relative}.button{--main-color:var(--bl-color-primary);--main-hover-color:var(--bl-color-primary-highlight);--text-hover-color:var(--bl-color-neutral-lightest);--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-color);--border-color:var(--main-color);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-m);--margin-icon:var(--padding-vertical);--icon-size:var(--bl-size-m);--font:var(--bl-font-title-3-medium);--height:var(--bl-size-2xl);display:flex;gap:var(--margin-icon);justify-content:var(--bl-button-justify,center);align-items:center;box-sizing:border-box;width:100%;height:var(--height);border:solid 1px var(--border-color);border-radius:var(--bl-border-radius-m);text-decoration:none;padding:var(--padding-vertical) var(--padding-horizontal);cursor:pointer;background-color:var(--bg-color);color:var(--content-color);font:var(--font);font-kerning:none;user-select:none}:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button,:host(:hover) .button{--bg-color:var(--main-hover-color);--border-color:var(--main-hover-color)}.label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([size=small]) .button{--font:var(--bl-font-title-4-medium);--padding-vertical:var(--bl-size-3xs);--padding-horizontal:var(--bl-size-2xs);--icon-size:var(--bl-size-s);--height:var(--bl-size-xl)}:host([size=large]) .button{--font:var(--bl-font-title-3-medium);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-xl);--margin-icon:var(--bl-size-2xs);--height:var(--bl-size-3xl)}.button:focus{outline:0}.button:focus-visible{position:relative;outline:0}.button:focus-visible::after{border:2px solid var(--bl-button-focus-border-color,var(--main-color));border-radius:var(--bl-border-radius-l);content:\"\";position:absolute;inset:-4px}:host ::slotted(bl-icon){font-size:var(--icon-size)}:host([loading]) ::slotted(bl-icon){display:none}:host .has-icon:not(.has-content){--padding-horizontal:var(--padding-vertical);--margin-icon:0}:host([variant=secondary]) .button{--bg-color:transparent;--content-color:var(--main-color)}:host([variant=tertiary]) .button{--content-color:var(--main-color);--border-color:transparent;--bg-color:transparent}:host([kind=neutral]) .button{--main-color:var(--bl-color-neutral-darker);--main-hover-color:var(--bl-color-neutral-darkest)}:host([kind=success]) .button{--main-color:var(--bl-color-success);--main-hover-color:var(--bl-color-success-highlight)}:host([kind=danger]) .button{--main-color:var(--bl-color-danger);--main-hover-color:var(--bl-color-danger-highlight)}:host([disabled]){cursor:not-allowed}:host([loading]){cursor:wait}:host .button[aria-disabled=true]{--main-color:var(--bl-color-neutral-lightest);--main-hover-color:var(--bl-color-neutral-lightest);--content-color:var(--bl-color-neutral-lighter);--bg-color:var(--main-color);pointer-events:none;text-decoration:none}:host([variant=tertiary]) .button[aria-disabled=true]{--main-color:transparent}:host([variant=secondary].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled=false],:host([variant=secondary]:hover) .button[aria-disabled=false]{--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-hover-color)}:host([variant=tertiary].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled=false],:host([variant=tertiary]:hover) .button[aria-disabled=false]{--content-color:var(--main-hover-color);--bg-color:var(--text-hover-color)}:host([dropdown]) .open{display:none}:host([dropdown]) .active .open{display:inline-block}:host([dropdown]) .active .close{display:none}:host .active.button{--bg-color:var(--main-hover-color);--border-color:var(--main-hover-color)}:host([variant=secondary]) .active.button{--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-hover-color)}:host([variant=tertiary]) .active.button{--content-color:var(--main-color);--bg-color:var(--bl-color-neutral-lightest);--border-color:transparent}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property, state, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { submit } from \"@open-wc/form-helpers\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../icon/bl-icon\";\nimport { BaklavaIcon } from \"../icon/icon-list\";\nimport \"../spinner/bl-spinner\";\nimport style from \"./bl-button.css\";\n\nexport type ButtonVariant = \"primary\" | \"secondary\" | \"tertiary\";\nexport type ButtonKind = \"default\" | \"neutral\" | \"success\" | \"danger\";\nexport type ButtonSize = \"small\" | \"medium\" | \"large\";\nexport type TargetType = \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n/**\n * @tag bl-button\n * @summary Baklava Button component\n *\n * @cssproperty [--bl-button-display=inline-block] Sets the display property of button\n * @cssproperty [--bl-button-justify=center] Sets the justify-content property of button\n *\n */\n@customElement(\"bl-button\")\nexport default class BlButton extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets the button variant\n */\n @property({ type: String, reflect: true })\n variant: ButtonVariant = \"primary\";\n\n /**\n * Sets the button kind\n */\n @property({ type: String, reflect: true })\n kind: ButtonKind = \"default\";\n\n /**\n * Sets the button size\n */\n @property({ type: String, reflect: true })\n size: ButtonSize = \"medium\";\n\n /**\n * Sets the button label. Used for accessibility.\n */\n @property({ type: String })\n label: string;\n\n /**\n * Sets the button label for loading status.\n */\n @property({ type: String, attribute: \"loading-label\" })\n loadingLabel: string;\n\n /**\n * Sets loading state of button\n */\n @property({ type: Boolean, reflect: true })\n loading = false;\n\n /**\n * Sets button as disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Set link url. If set, button will be rendered as anchor tag.\n */\n @property({ type: String })\n href?: string;\n\n /**\n * Sets the icon name. Shows icon with bl-icon component\n */\n @property({ type: String })\n icon?: BaklavaIcon;\n\n /**\n * Sets the anchor target. Used when `href` is set.\n */\n @property({ type: String })\n target?: TargetType = \"_self\";\n\n /**\n * Sets the type of the button. Set `submit` to use button as the submitter of parent form.\n */\n @property({ type: String })\n type: \"submit\";\n\n /**\n * Sets button type to dropdown\n */\n @property({ type: Boolean })\n dropdown = false;\n\n /**\n * Sets button to get keyboard focus automatically\n */\n @property({ type: Boolean, reflect: true })\n autofocus = false;\n\n /**\n * Sets the associated form of the button. Use when `type` is set to `submit` and button is not inside the target form.\n */\n @property({ type: String })\n form: HTMLFormElement | string;\n\n /**\n * Active state\n */\n @state({})\n active = false;\n\n @query(\".button\")\n private button: HTMLAnchorElement | HTMLButtonElement;\n\n /**\n * Fires when button clicked\n */\n @event(\"bl-click\") private onClick: EventDispatcher<string>;\n\n private get _isActive() {\n return this.active;\n }\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n private caretTemplate(): TemplateResult {\n return html` <bl-icon class=\"open\" name=\"arrow_up\"></bl-icon>\n <bl-icon class=\"close\" name=\"arrow_down\"></bl-icon>`;\n }\n\n private _handleClick() {\n if (this.type === \"submit\") {\n let targetForm: HTMLFormElement;\n\n if (this.form instanceof HTMLFormElement) {\n targetForm = this.form;\n } else if (typeof this.form === \"string\") {\n targetForm = document.getElementById(this.form) as HTMLFormElement;\n } else {\n targetForm = this.closest(\"form\") as HTMLFormElement;\n }\n\n if (targetForm) {\n submit(targetForm);\n }\n }\n\n this.onClick(\"Click event fired!\");\n }\n\n focus() {\n this.button.focus();\n }\n\n get _hasIconSlot() {\n return this.querySelector(':scope > [slot=\"icon\"]') !== null;\n }\n\n get _hasDefaultSlot() {\n const childNodes = [...this.childNodes];\n\n return childNodes.some(node => {\n const nodeType = node.nodeType;\n\n // has only text node.\n if (nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n // has element node, it should not have slot attribute.\n if (nodeType === node.ELEMENT_NODE) {\n if (!(node as HTMLElement).hasAttribute(\"slot\")) {\n return true;\n }\n }\n return false;\n });\n }\n\n render(): TemplateResult {\n const isDisabled = this.loading || this.disabled;\n const label = this.loading && this.loadingLabel ? this.loadingLabel : html`<slot></slot>`;\n const isAnchor = !!this.href;\n const icon = this.icon ? html`<bl-icon name=${this.icon}></bl-icon>` : \"\";\n const loadingIcon = html`<bl-spinner\n class=\"loading-spinner\"\n ?disabled=\"${isDisabled}\"\n size=\"${this.size}\"\n ></bl-spinner>`;\n const slots = html`<slot name=\"icon\">${this.loading ? loadingIcon : icon}</slot>\n <span class=\"label\">${label}</span>`;\n const caret = this.dropdown ? this.caretTemplate() : \"\";\n const classes = classMap({\n \"button\": true,\n \"has-icon\": this.icon || this._hasIconSlot,\n \"has-content\": this._hasDefaultSlot,\n \"active\": !isAnchor && this._isActive,\n });\n\n return isAnchor\n ? html`<a\n class=${classes}\n ?autofocus=${this.autofocus}\n aria-disabled=\"${ifDefined(isDisabled)}\"\n aria-label=\"${ifDefined(this.label)}\"\n href=${ifDefined(this.href)}\n target=${ifDefined(this.target)}\n role=\"button\"\n >${slots}\n </a>`\n : html`<button\n class=${classes}\n ?autofocus=${this.autofocus}\n aria-disabled=\"${ifDefined(isDisabled)}\"\n aria-label=\"${ifDefined(this.label)}\"\n ?disabled=${isDisabled}\n @click=\"${this._handleClick}\"\n >\n ${slots} ${caret}\n </button>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-button\": BlButton;\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["submit", "form", "submitEvent", "styles", "i", "bl_button_default", "BlButton", "s", "bl_button_default", "x", "targetForm", "submit", "node", "_a", "nodeType", "isDisabled", "label", "isAnchor", "icon", "loadingIcon", "slots", "caret", "classes", "o", "l", "__decorateClass", "t", "i", "event", "e"]
|
|
7
|
-
}
|
package/dist/chunk-TUUQIEDI.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import{a as c}from"./chunk-GRL4DWKG.js";import{a as n,b as r}from"./chunk-5MOOXA2X.js";import{a as i,b as l,d as o,f as s}from"./chunk-4OT5AMS5.js";import{d as t}from"./chunk-IZ2LK5GK.js";var v=i`:host{display:inline-block;max-width:100%}.tag{--bg-color:var(--bl-color-neutral-full);--color:var(--bl-color-neutral-darker);--font:var(--bl-font-title-4-medium);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-xs);--margin-icon:var(--bl-size-3xs);--icon-size:var(--bl-size-m);--height:var(--bl-size-2xl);--border-radius:var(--bl-size-m);--remove-icon-size:var(--bl-size-s);display:flex;gap:var(--margin-icon);justify-content:center;align-items:center;box-sizing:border-box;overflow:hidden;width:100%;border:1px solid var(--bl-color-neutral-lighter);border-radius:var(--border-radius);padding-block:var(--padding-vertical);padding-inline:var(--padding-horizontal);background-color:var(--bg-color);color:var(--color,#fff);font:var(--font);font-kerning:none;height:var(--height)}:host([variant=selectable]) .tag{cursor:pointer;user-select:none}:host([variant=selectable]) .tag.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__,:host([variant=selectable]) .tag:hover{background-color:var(--bl-color-neutral-lightest)}:host([variant=selectable][selected]) .tag{border-color:var(--bl-color-neutral-darker);background-color:var(--bl-color-neutral-darker);--color:var(--bl-color-neutral-full)}:host([variant=selectable][disabled]) .tag{background-color:var(--bl-color-neutral-lightest);border-color:var(--bl-color-neutral-lightest);color:var(--bl-color-neutral-light);cursor:not-allowed}:host([variant=removable]) .remove-button{--bl-border-radius-m:var(--bl-border-radius-circle)}:host([size=small]) .tag{--font:var(--bl-font-title-4-medium);--height:var(--bl-size-xl);--icon-size:var(--bl-size-s);--border-radius:var(--bl-size-xs);--padding-vertical:0px;--padding-horizontal:var(--bl-size-2xs);--remove-icon-size:var(--bl-size-xs)}:host([size=large]) .tag{--font:var(--bl-font-title-3-medium);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-m);--height:var(--bl-size-3xl);--icon-size:var(--bl-size-m);--border-radius:var(--bl-size-l)}:host([variant=removable][size=small]) .tag{--padding-horizontal:var(--bl-size-2xs) 0px}:host([variant=removable]) .tag{--padding-horizontal:var(--bl-size-xs) var(--bl-size-3xs)}:host([variant=removable][size=large]) .tag{--padding-horizontal:var(--bl-size-m) var(--bl-size-2xs)}slot[name=icon] bl-icon{font-size:var(--icon-size);color:var(--color)}`,b=v;var e=class extends s{constructor(){super(...arguments);this.size="medium";this.variant="selectable";this.selected=!1;this.disabled=!1;this.value=null;this._handleClick=()=>{this.variant==="selectable"&&(this.selected=!this.selected),this._onBlTagClick({selected:this.selected,value:this.value})}}static get styles(){return[b]}_removeButtonTemplate(){let a=this.size==="large"?"medium":"small";return l`
|
|
2
|
-
<bl-button
|
|
3
|
-
icon="close"
|
|
4
|
-
size=${a}
|
|
5
|
-
label="Remove"
|
|
6
|
-
variant="tertiary"
|
|
7
|
-
kind="neutral"
|
|
8
|
-
class="remove-button"
|
|
9
|
-
?disabled=${this.disabled}
|
|
10
|
-
@bl-click=${this._handleClick}
|
|
11
|
-
></bl-button>
|
|
12
|
-
`}_iconTemplate(){return this.icon?l`<bl-icon name=${this.icon}></bl-icon>`:o}render(){let a=l`<button
|
|
13
|
-
class="tag"
|
|
14
|
-
role="checkbox"
|
|
15
|
-
@click=${this._handleClick}
|
|
16
|
-
?disabled=${this.disabled}
|
|
17
|
-
>
|
|
18
|
-
${this._iconTemplate()}
|
|
19
|
-
<slot></slot>
|
|
20
|
-
</button>`,d=l`<div class="tag">
|
|
21
|
-
${this._iconTemplate()}
|
|
22
|
-
<slot></slot>
|
|
23
|
-
${this._removeButtonTemplate()}
|
|
24
|
-
</div>`;return this.variant==="selectable"?a:d}};t([r({type:String,reflect:!0})],e.prototype,"size",2),t([r({type:String,reflect:!0})],e.prototype,"variant",2),t([r({type:String})],e.prototype,"icon",2),t([r({type:Boolean,reflect:!0})],e.prototype,"selected",2),t([r({type:Boolean,reflect:!0})],e.prototype,"disabled",2),t([r({type:String,reflect:!0})],e.prototype,"value",2),t([c("bl-tag-click")],e.prototype,"_onBlTagClick",2),e=t([n("bl-tag")],e);export{e as a};
|
|
25
|
-
//# sourceMappingURL=chunk-TUUQIEDI.js.map
|
|
File without changes
|