@trendyol/baklava 2.0.0-beta.79 → 2.0.0-beta.81

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.
Files changed (70) hide show
  1. package/dist/baklava-react.d.ts +5 -3
  2. package/dist/baklava-react.d.ts.map +1 -1
  3. package/dist/baklava-react.js +1 -1
  4. package/dist/baklava-react.js.map +2 -2
  5. package/dist/baklava.js +1 -1
  6. package/dist/{chunk-VHM6RRSN.js → chunk-2FBI46AY.js} +3 -3
  7. package/dist/chunk-2FBI46AY.js.map +7 -0
  8. package/dist/chunk-3B64VOWB.js +2 -0
  9. package/dist/{chunk-AEVRCHAZ.js.map → chunk-3B64VOWB.js.map} +4 -4
  10. package/dist/chunk-AYSPIQ23.js +26 -0
  11. package/dist/chunk-AYSPIQ23.js.map +7 -0
  12. package/dist/{chunk-2E7PEDV6.js → chunk-BD5KXTYS.js} +2 -2
  13. package/dist/chunk-DJOD4BTL.js +2 -0
  14. package/dist/chunk-DJOD4BTL.js.map +7 -0
  15. package/dist/{chunk-F3CGCLRX.js → chunk-DSM6T5MC.js} +2 -2
  16. package/dist/chunk-J774WKKH.js +51 -0
  17. package/dist/chunk-J774WKKH.js.map +7 -0
  18. package/dist/{chunk-VGPPX6IG.js → chunk-KUOLIJCN.js} +3 -3
  19. package/dist/{chunk-VGPPX6IG.js.map → chunk-KUOLIJCN.js.map} +2 -2
  20. package/dist/chunk-MCWRM3WC.js +19 -0
  21. package/dist/chunk-MCWRM3WC.js.map +7 -0
  22. package/dist/chunk-RST5NVHY.js +2 -0
  23. package/dist/chunk-RST5NVHY.js.map +7 -0
  24. package/dist/chunk-THIPCHAK.js +13 -0
  25. package/dist/chunk-THIPCHAK.js.map +7 -0
  26. package/dist/chunk-VAF7XRXM.js +42 -0
  27. package/dist/chunk-VAF7XRXM.js.map +7 -0
  28. package/dist/components/button/bl-button.d.ts +8 -0
  29. package/dist/components/button/bl-button.d.ts.map +1 -1
  30. package/dist/components/button/bl-button.js +1 -1
  31. package/dist/components/checkbox-group/bl-checkbox-group.js +1 -1
  32. package/dist/components/checkbox-group/checkbox/bl-checkbox.js +1 -1
  33. package/dist/components/dialog/bl-dialog.js +1 -1
  34. package/dist/components/drawer/bl-drawer.js +1 -1
  35. package/dist/components/dropdown/bl-dropdown.js +1 -1
  36. package/dist/components/dropdown/item/bl-dropdown-item.js +1 -1
  37. package/dist/components/input/bl-input.d.ts +3 -3
  38. package/dist/components/input/bl-input.d.ts.map +1 -1
  39. package/dist/components/input/bl-input.js +1 -1
  40. package/dist/components/pagination/bl-pagination.d.ts.map +1 -1
  41. package/dist/components/pagination/bl-pagination.js +1 -1
  42. package/dist/components/radio-group/bl-radio-group.js +1 -1
  43. package/dist/components/radio-group/radio/bl-radio.js +1 -1
  44. package/dist/components/select/bl-select.d.ts +48 -18
  45. package/dist/components/select/bl-select.d.ts.map +1 -1
  46. package/dist/components/select/bl-select.js +1 -1
  47. package/dist/components/select/option/bl-select-option.d.ts +24 -3
  48. package/dist/components/select/option/bl-select-option.d.ts.map +1 -1
  49. package/dist/components/select/option/bl-select-option.js +1 -1
  50. package/dist/components/textarea/bl-textarea.d.ts +1 -1
  51. package/dist/components/textarea/bl-textarea.d.ts.map +1 -1
  52. package/dist/components/textarea/bl-textarea.js +1 -1
  53. package/dist/custom-elements.json +78 -3
  54. package/package.json +3 -3
  55. package/dist/chunk-2PVZLIDX.js +0 -19
  56. package/dist/chunk-2PVZLIDX.js.map +0 -7
  57. package/dist/chunk-4WJJQP4L.js +0 -13
  58. package/dist/chunk-4WJJQP4L.js.map +0 -7
  59. package/dist/chunk-7K5FMQLQ.js +0 -2
  60. package/dist/chunk-7K5FMQLQ.js.map +0 -7
  61. package/dist/chunk-7R56R3UM.js +0 -35
  62. package/dist/chunk-7R56R3UM.js.map +0 -7
  63. package/dist/chunk-A6IEG6S5.js +0 -52
  64. package/dist/chunk-A6IEG6S5.js.map +0 -7
  65. package/dist/chunk-AEVRCHAZ.js +0 -2
  66. package/dist/chunk-TAU2CM6U.js +0 -26
  67. package/dist/chunk-TAU2CM6U.js.map +0 -7
  68. package/dist/chunk-VHM6RRSN.js.map +0 -7
  69. /package/dist/{chunk-2E7PEDV6.js.map → chunk-BD5KXTYS.js.map} +0 -0
  70. /package/dist/{chunk-F3CGCLRX.js.map → chunk-DSM6T5MC.js.map} +0 -0
@@ -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`@keyframes spin{from{transform:rotate(0)}to{transform:rotate(359deg)}}: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-hover);--text-hover-color:var(--bl-color-secondary-background);--content-color:var(--bl-color-content-primary-contrast);--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:6px;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(:hover) .button,:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_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(--main-color);border-radius:var(--bl-border-radius-l);content:'';position:absolute;inset:-4px}.loading-icon{animation:spin 1s linear infinite;font-size:var(--icon-size)}: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-secondary);--main-hover-color:var(--bl-color-secondary-hover)}:host([kind='success']) .button{--main-color:var(--bl-color-success);--main-hover-color:var(--bl-color-success-hover)}:host([kind='danger']) .button{--main-color:var(--bl-color-danger);--main-hover-color:var(--bl-color-danger-hover)}:host([disabled]){cursor:not-allowed}:host([loading]){cursor:wait}:host([loading]) bl-icon:not(.loading-icon){display:none}:host .button[aria-disabled='true']{--main-color:var(--bl-color-tertiary);--main-hover-color:var(--bl-color-tertiary);--content-color:var(--bl-color-content-passive);--bg-color:var(--main-color);pointer-events:none;text-decoration:none}:host([variant='tertiary']) .button[aria-disabled='true']{--main-color:transparent}:host([variant='secondary']:hover) .button[aria-disabled='false'],:host([variant='secondary'].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled='false']{--content-color:var(--bl-color-content-primary-contrast);--bg-color:var(--main-hover-color)}:host([variant='tertiary']:hover) .button[aria-disabled='false'],:host([variant='tertiary'].__ONLY_FOR_STORYBOOK_DEMONSTRATION_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-content-primary-contrast);--bg-color:var(--main-hover-color)}:host([variant='tertiary']) .active.button{--content-color:var(--main-color);--bg-color:var(--bl-color-tertiary);--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 style from './bl-button.css';\nimport '../icon/bl-icon';\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 - Sets the display property of button. Default value is 'inline-block'.\n * @cssproperty --bl-button-justify - Sets the justify-content property of button. Default value is 'center'.\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?: string;\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' | null;\n\n /**\n * Sets button type to dropdown\n */\n @property({ type: Boolean })\n dropdown = false;\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 private form: HTMLFormElement | null;\n\n connectedCallback() {\n super.connectedCallback();\n this.form = this.closest('form');\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' && this.form) {\n submit(this.form);\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 return childNodes.some(node => {\n const nodeType = node.nodeType;\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 = this.loading ? html`<bl-icon class=\"loading-icon\" name=\"loading\"></bl-icon>` : '';\n const slots = html`<slot name=\"icon\">${icon}</slot> <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 aria-disabled=\"${ifDefined(isDisabled)}\"\n aria-label=\"${ifDefined(this.label)}\"\n href=${ifDefined(this.href)}\n target=${ifDefined(this.target)}\n role=\"button\"\n >${loadingIcon} ${slots}\n </a>`\n : html`<button\n class=${classes}\n aria-disabled=\"${ifDefined(isDisabled)}\"\n aria-label=\"${ifDefined(this.label)}\"\n ?disabled=${isDisabled}\n @click=\"${this._handleClick}\"\n >\n ${loadingIcon} ${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", "y", "submit", "node", "_a", "nodeType", "isDisabled", "label", "isAnchor", "icon", "loadingIcon", "slots", "caret", "classes", "o", "l", "__decorateClass", "e", "t", "i", "event"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{b as a}from"./chunk-3B64VOWB.js";var r=["valueMissing","typeMismatch","tooLong","tooShort","rangeUnderflow","rangeOverflow","badInput","customError"],i=r.map(t=>({key:t,isValid(e){return e.validationTarget?!e.validationTarget.validity[t]:!0}})),o={...a,isValid(t){return t.validationTarget&&t.getAttribute("maxlength")?Number(t.getAttribute("maxlength"))>=t.validationTarget.value.length:!0}},n=[...i,o];export{i as a,n as b};
2
+ //# sourceMappingURL=chunk-RST5NVHY.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/utilities/form-control.ts"],
4
+ "sourcesContent": ["import { maxLengthValidator } from \"@open-wc/form-control\";\n\n\nconst validityStates: Array<keyof ValidityState> = [\n 'valueMissing',\n 'typeMismatch',\n 'tooLong',\n 'tooShort',\n 'rangeUnderflow',\n 'rangeOverflow',\n 'badInput',\n 'customError',\n];\n\nexport const innerInputValidators = validityStates.map(key => ({\n key,\n isValid(instance: HTMLElement & { validationTarget: HTMLInputElement }) {\n if (instance.validationTarget) {\n return !instance.validationTarget.validity[key];\n }\n return true;\n },\n}));\n\nexport const textareaLengthValidator = {\n ...maxLengthValidator,\n isValid(instance: HTMLElement & { validationTarget: HTMLTextAreaElement }) {\n if(instance.validationTarget && instance.getAttribute('maxlength')){\n return (Number(instance.getAttribute('maxlength')) >= instance.validationTarget.value.length);\n }\n return true;\n }\n};\n\nexport const textAreaValidators = [\n ...innerInputValidators,\n textareaLengthValidator\n]\n"],
5
+ "mappings": "wCAGA,IAAMA,EAA6C,CACjD,eACA,eACA,UACA,WACA,iBACA,gBACA,WACA,aACF,EAEaC,EAAuBD,EAAe,IAAIE,IAAQ,CAC7D,IAAAA,EACA,QAAQC,EAAgE,CACtE,OAAIA,EAAS,iBACJ,CAACA,EAAS,iBAAiB,SAASD,CAAG,EAEzC,EACT,CACF,EAAE,EAEWE,EAA0B,CACrC,GAAGC,EACH,QAAQF,EAAmE,CACzE,OAAGA,EAAS,kBAAoBA,EAAS,aAAa,WAAW,EACvD,OAAOA,EAAS,aAAa,WAAW,CAAC,GAAKA,EAAS,iBAAiB,MAAM,OAEjF,EACT,CACF,EAEaG,EAAqB,CAChC,GAAGL,EACHG,CACF",
6
+ "names": ["validityStates", "innerInputValidators", "key", "instance", "textareaLengthValidator", "maxLengthValidator", "textAreaValidators"]
7
+ }
@@ -0,0 +1,13 @@
1
+ import{a as s}from"./chunk-23UFIOHV.js";import{a as n,b as l,f as a,g as c,h as i,i as p,j as u}from"./chunk-57PTZNIL.js";import{a as o}from"./chunk-NZ3RGSR6.js";var d=n`:host{position:relative}.option-container{--option-font:var(--bl-font-title-3-regular);--option-spacing:var(--bl-size-xs) 0;--option-selected-color:var(--bl-color-primary);--option-hover-color:var(--bl-color-primary-hover);--option-color:var(--bl-color-secondary);--option-disabled-color:var(--bl-color-content-passive);--option-separator:1px solid var(--bl-color-border);--option-gap:var(--bl-size-2xs);--option-transition:color 120ms ease-out}.option-container::after{position:absolute;content:'';width:100%;bottom:0;border-bottom:var(--option-separator)}:host(:last-of-type) .option-container::after{border-bottom:0}.single-option{width:100%;display:block;cursor:pointer;color:var(--option-color);margin:var(--option-spacing);transition:var(--option-transition);font:var(--option-font);user-select:none;position:relative;outline:0}.single-option:focus-visible::after{content:'';position:absolute;inset:calc(var(--bl-size-3xs) * -1);border:var(--bl-size-4xs) solid var(--option-hover-color);border-radius:var(--bl-size-4xs)}:host(:hover) .single-option,:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .single-option{color:var(--option-hover-color)}:host([selected]) .single-option{color:var(--option-selected-color)}:host([disabled]){cursor:not-allowed}:host([disabled]) .single-option{color:var(--option-disabled-color);cursor:not-allowed;pointer-events:none}.checkbox-option{width:100%;display:block;color:var(--option-color);padding:var(--option-spacing)}`,h=d;var t=class extends a{constructor(){super(...arguments);this.disabled=!1;this.selected=!1;this.multiple=!1}static get styles(){return[h]}get value(){return this._value||this.textContent}set value(e){this._value=e}focus(){this.multiple||(this.focusTarget.tabIndex=0),this.focusTarget.focus(),this.onFocus(this.value)}blur(){this.onBlur(this.value),this.focusTarget.tabIndex=-1}singleOptionTemplate(){return l`<div class="single-option focus-target" @blur=${this.blur} @keydown=${this.handleKeydown} @click="${this._onClickOption}">
2
+ <slot></slot>
3
+ </div>`}checkboxOptionTemplate(){return l`<bl-checkbox
4
+ class="checkbox-option focus-target"
5
+ .checked="${this.selected}"
6
+ .disabled="${this.disabled}"
7
+ @bl-checkbox-change="${this._onCheckboxChange}"
8
+ >
9
+ <slot></slot>
10
+ </bl-checkbox>`}render(){return l`<div class="option-container">
11
+ ${this.multiple?this.checkboxOptionTemplate():this.singleOptionTemplate()}
12
+ </div>`}handleKeydown(e){(e.code==="Enter"||e.code==="Space")&&(this._onClickOption(),e.preventDefault())}_handleEvent(){this._onSelect(this.value)}_onClickOption(){this.selected=!this.selected,this._handleEvent()}_onCheckboxChange(e){this.selected=e.detail,this._handleEvent()}connectedCallback(){super.connectedCallback(),this.updateComplete.then(()=>{var e,r;this.blSelect=this.closest("bl-select"),this.multiple=((e=this.blSelect)==null?void 0:e.multiple)||!1,(r=this.blSelect)==null||r.registerOption(this)})}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.blSelect)==null||e.unregisterOption(this)}};o([i({})],t.prototype,"value",1),o([i({type:Boolean,reflect:!0})],t.prototype,"disabled",2),o([i({type:Boolean,reflect:!0})],t.prototype,"selected",2),o([p()],t.prototype,"multiple",2),o([s("bl-select-option")],t.prototype,"_onSelect",2),o([s("bl-focus")],t.prototype,"onFocus",2),o([s("bl-blur")],t.prototype,"onBlur",2),o([u(".focus-target")],t.prototype,"focusTarget",2),t=o([c("bl-select-option")],t);export{t as a};
13
+ //# sourceMappingURL=chunk-THIPCHAK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/components/select/option/bl-select-option.css", "../src/components/select/option/bl-select-option.ts"],
4
+ "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{position:relative}.option-container{--option-font:var(--bl-font-title-3-regular);--option-spacing:var(--bl-size-xs) 0;--option-selected-color:var(--bl-color-primary);--option-hover-color:var(--bl-color-primary-hover);--option-color:var(--bl-color-secondary);--option-disabled-color:var(--bl-color-content-passive);--option-separator:1px solid var(--bl-color-border);--option-gap:var(--bl-size-2xs);--option-transition:color 120ms ease-out}.option-container::after{position:absolute;content:'';width:100%;bottom:0;border-bottom:var(--option-separator)}:host(:last-of-type) .option-container::after{border-bottom:0}.single-option{width:100%;display:block;cursor:pointer;color:var(--option-color);margin:var(--option-spacing);transition:var(--option-transition);font:var(--option-font);user-select:none;position:relative;outline:0}.single-option:focus-visible::after{content:'';position:absolute;inset:calc(var(--bl-size-3xs) * -1);border:var(--bl-size-4xs) solid var(--option-hover-color);border-radius:var(--bl-size-4xs)}:host(:hover) .single-option,:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .single-option{color:var(--option-hover-color)}:host([selected]) .single-option{color:var(--option-selected-color)}:host([disabled]){cursor:not-allowed}:host([disabled]) .single-option{color:var(--option-disabled-color);cursor:not-allowed;pointer-events:none}.checkbox-option{width:100%;display:block;color:var(--option-color);padding:var(--option-spacing)}`;\nexport default styles;\n", "import { FormValue } from '@open-wc/form-helpers';\nimport { CSSResultGroup, html, LitElement } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { event, EventDispatcher } from '../../../utilities/event';\nimport BlSelect from '../bl-select';\nimport style from './bl-select-option.css';\n\n@customElement('bl-select-option')\nexport default class BlSelectOption<ValueType extends FormValue = string> extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n private _value: ValueType;\n\n /* Declare reactive properties */\n /**\n * Sets the value for the option\n */\n @property({})\n get value(): ValueType {\n return this._value || this.textContent as ValueType;\n }\n\n set value(val: ValueType) {\n this._value = val;\n }\n\n\n /**\n * Sets option as disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets option as selected state\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n @state()\n multiple = false;\n\n /**\n * Fires when clicked on the option\n */\n @event('bl-select-option') private _onSelect: EventDispatcher<ValueType | string | null>;\n\n /**\n * Fires when checkbox is focused\n */\n @event('bl-focus') private onFocus: EventDispatcher<ValueType | string | null>;\n\n /**\n * Fires when checkbox is blurred\n */\n @event('bl-blur') private onBlur: EventDispatcher<ValueType | string | null>;\n\n @query('.focus-target') private focusTarget: HTMLElement;\n\n /**\n * Focuses this option\n */\n focus() {\n if (!this.multiple) {\n this.focusTarget.tabIndex = 0;\n }\n this.focusTarget.focus();\n this.onFocus(this.value);\n }\n\n /**\n * Blurs from this option\n */\n blur() {\n this.onBlur(this.value);\n this.focusTarget.tabIndex = -1;\n }\n\n private blSelect: BlSelect<ValueType> | null;\n\n private singleOptionTemplate() {\n return html`<div class=\"single-option focus-target\" @blur=${this.blur} @keydown=${this.handleKeydown} @click=\"${this._onClickOption}\">\n <slot></slot>\n </div>`;\n }\n\n private checkboxOptionTemplate() {\n return html`<bl-checkbox\n class=\"checkbox-option focus-target\"\n .checked=\"${this.selected}\"\n .disabled=\"${this.disabled}\"\n @bl-checkbox-change=\"${this._onCheckboxChange}\"\n >\n <slot></slot>\n </bl-checkbox>`;\n }\n\n render() {\n return html`<div class=\"option-container\">\n ${this.multiple ? this.checkboxOptionTemplate() : this.singleOptionTemplate()}\n </div>`;\n }\n\n\n private handleKeydown(event: KeyboardEvent) {\n if (event.code === 'Enter' || event.code === 'Space') {\n this._onClickOption();\n event.preventDefault();\n }\n }\n\n private _handleEvent() {\n this._onSelect(this.value);\n }\n\n private _onClickOption() {\n this.selected = !this.selected;\n this._handleEvent();\n }\n\n private _onCheckboxChange(event: CustomEvent) {\n this.selected = event.detail;\n this._handleEvent();\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this.updateComplete.then(() => {\n this.blSelect = this.closest<BlSelect<ValueType>>('bl-select');\n // FIXME: We should warn when parent is not bl-select\n\n this.multiple = this.blSelect?.multiple || false;\n this.blSelect?.registerOption(this);\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.blSelect?.unregisterOption(this);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bl-select-option': BlSelectOption;\n }\n}\n"],
5
+ "mappings": "kKACO,IAAMA,EAASC,27CACfC,EAAQF,ECMf,IAAqBG,EAArB,cAAkFC,CAAW,CAA7F,kCAyBE,cAAW,GAMX,cAAW,GAGX,cAAW,GAjCX,WAAW,QAAyB,CAClC,MAAO,CAACC,CAAK,CACf,CASA,IAAI,OAAmB,CACrB,OAAO,KAAK,QAAU,KAAK,WAC7B,CAEA,IAAI,MAAMC,EAAgB,CACxB,KAAK,OAASA,CAChB,CAsCA,OAAQ,CACD,KAAK,WACR,KAAK,YAAY,SAAW,GAE9B,KAAK,YAAY,MAAM,EACvB,KAAK,QAAQ,KAAK,KAAK,CACzB,CAKA,MAAO,CACL,KAAK,OAAO,KAAK,KAAK,EACtB,KAAK,YAAY,SAAW,EAC9B,CAIQ,sBAAuB,CAC7B,OAAOC,kDAAqD,KAAK,iBAAiB,KAAK,yBAAyB,KAAK;AAAA;AAAA,WAGvH,CAEQ,wBAAyB,CAC/B,OAAOA;AAAA;AAAA,kBAEO,KAAK;AAAA,mBACJ,KAAK;AAAA,6BACK,KAAK;AAAA;AAAA;AAAA,mBAIhC,CAEA,QAAS,CACP,OAAOA;AAAA,QACH,KAAK,SAAW,KAAK,uBAAuB,EAAI,KAAK,qBAAqB;AAAA,WAEhF,CAGQ,cAAcC,EAAsB,EACtCA,EAAM,OAAS,SAAWA,EAAM,OAAS,WAC3C,KAAK,eAAe,EACpBA,EAAM,eAAe,EAEzB,CAEQ,cAAe,CACrB,KAAK,UAAU,KAAK,KAAK,CAC3B,CAEQ,gBAAiB,CACvB,KAAK,SAAW,CAAC,KAAK,SACtB,KAAK,aAAa,CACpB,CAEQ,kBAAkBA,EAAoB,CAC5C,KAAK,SAAWA,EAAM,OACtB,KAAK,aAAa,CACpB,CAEA,mBAAoB,CAClB,MAAM,kBAAkB,EAExB,KAAK,eAAe,KAAK,IAAM,CAlInC,IAAAC,EAAAC,EAmIM,KAAK,SAAW,KAAK,QAA6B,WAAW,EAG7D,KAAK,WAAWD,EAAA,KAAK,WAAL,YAAAA,EAAe,WAAY,IAC3CC,EAAA,KAAK,WAAL,MAAAA,EAAe,eAAe,KAChC,CAAC,CACH,CAEA,sBAAuB,CA3IzB,IAAAD,EA4II,MAAM,qBAAqB,GAC3BA,EAAA,KAAK,WAAL,MAAAA,EAAe,iBAAiB,KAClC,CACF,EA3HME,EAAA,CADHC,EAAS,CAAC,CAAC,GAXOT,EAYf,qBAaJQ,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GAxBvBT,EAyBnB,wBAMAQ,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GA9BvBT,EA+BnB,wBAGAQ,EAAA,CADCE,EAAM,GAjCYV,EAkCnB,wBAKmCQ,EAAA,CAAlCH,EAAM,kBAAkB,GAvCNL,EAuCgB,yBAKRQ,EAAA,CAA1BH,EAAM,UAAU,GA5CEL,EA4CQ,uBAKDQ,EAAA,CAAzBH,EAAM,SAAS,GAjDGL,EAiDO,sBAEMQ,EAAA,CAA/BG,EAAM,eAAe,GAnDHX,EAmDa,2BAnDbA,EAArBQ,EAAA,CADCC,EAAc,kBAAkB,GACZT",
6
+ "names": ["styles", "i", "bl_select_option_default", "BlSelectOption", "s", "bl_select_option_default", "val", "y", "event", "_a", "_b", "__decorateClass", "e", "t", "i"]
7
+ }
@@ -0,0 +1,42 @@
1
+ import{b as y,c as g,e as x,g as _,h as O}from"./chunk-5ODNFE7B.js";import{a as m}from"./chunk-3B64VOWB.js";import{a as f}from"./chunk-DJOD4BTL.js";import{a as p}from"./chunk-OLPYXE2P.js";import{a as b}from"./chunk-KPAWUBRO.js";import{a as h}from"./chunk-23UFIOHV.js";import{a as d,b as n,f as c,g as u,h as l,i as r,j as a,k as v}from"./chunk-57PTZNIL.js";import{a as o}from"./chunk-NZ3RGSR6.js";var T=d`:host{width:200px;display:inline-block}.select-wrapper{width:100%;position:relative;display:flex;flex-direction:column;gap:var(--bl-size-3xs);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-xs);--background-color:var(--bl-color-primary-background);--border-color:var(--bl-color-border);--border-focus-color:var(--bl-color-primary-hover);--icon-color:var(--bl-color-content-tertiary);--text-color:var(--bl-color-content-primary);--label-color:var(--bl-color-content-secondary);--placeholder-color:var(--bl-color-content-tertiary);--height:var(--bl-size-2xl);--menu-padding:0 var(--bl-size-m);--menu-margin-top:var(--bl-size-2xs);--font-size:var(--bl-font-size-m);--disabled-color:var(--bl-color-tertiary);--z-index:100;--menu-height:250px;--popover-position:var(--bl-popover-position,fixed)}:host([size='large']) .select-wrapper{--height:var(--bl-size-3xl);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-m)}:host([size='small']) .select-wrapper{--height:var(--bl-size-xl);--padding-vertical:var(--bl-size-3xs);--padding-horizontal:var(--bl-size-xs);--font-size:var(--bl-font-size-s)}:host([disabled]) .select-wrapper{--placeholder-color:var(--bl-color-content-passive)}.dirty.invalid{--border-color:var(--bl-color-danger);--border-focus-color:var(--bl-color-danger-hover);--label-color:var(--bl-color-danger)}.select-input{display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-sizing:border-box;height:var(--height);border:solid 1px var(--border-color);font:var(--bl-font-title-3-regular);padding:0 var(--padding-horizontal);border-radius:var(--bl-border-radius-s);color:var(--text-color);-webkit-user-select:none;user-select:none}.placeholder{color:var(--placeholder-color);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.select-wrapper.selected .placeholder,:host([label]:not([label-fixed])) .select-wrapper:not(.select-open) .placeholder{display:none}.remove-all{display:none}.remove-all::after{content:'';position:absolute;left:1.5rem;bottom:4px;height:1rem;border-left:1px solid var(--bl-color-border)}.selected .remove-all{display:block}:host([disabled]) .remove-all,:host([disabled]) .remove-all::after{display:none}.dropdown-icon{font-size:var(--bl-font-size-m)}.dropdown-icon.open{display:none}.select-open .dropdown-icon.open{display:inline-block}.select-open .dropdown-icon.closed{display:none}.selected .dropdown-icon{--icon-color:var(--bl-color-secondary)}:host([disabled]) .dropdown-icon{--icon-color:var(--bl-color-content-passive)}.select-open .select-input,.select-input:focus-visible{border:solid 1px var(--border-focus-color);outline:0}:host([disabled]){cursor:not-allowed}:host([disabled]) .select-input{pointer-events:none;background-color:var(--disabled-color)}.select-input .selected-options{flex:1;padding:0;margin:0;list-style:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.selected-options li{display:inline;font-size:var(--font-size);color:var(--text-color)}.selected-options li:not(:last-child)::after{content:', '}.select-input:not(.has-overflowed-options) .additional-selection-count{display:none}:host([disabled]) .selected-options li{color:var(--bl-color-content-passive)}.select-input .actions{display:flex;align-items:center;justify-content:center;gap:var(--bl-size-2xs);margin-left:var(--bl-size-2xs)}.popover{--left:0;--top:0;position:var(--popover-position);border:solid 1px var(--border-color);background-color:var(--background-color);font:var(--bl-font-title-3-regular);border-radius:var(--bl-border-radius-s);padding:var(--menu-padding);outline:0;box-sizing:border-box;max-height:var(--menu-height);overflow-y:auto;display:none;flex-direction:column;z-index:var(--z-index);width:100%;top:var(--top);left:var(--left)}.select-open .popover{display:flex;border:solid 1px var(--border-focus-color)}bl-icon{color:var(--icon-color)}label{position:absolute;display:block;top:var(--padding-vertical);left:var(--padding-horizontal);right:calc(var(--bl-size-2xs) + var(--bl-size-m) + var(--bl-size-2xs));max-width:max-content;transition:all ease-in .2s;pointer-events:none;font:var(--bl-font-title-3-regular);font-size:var(--font-size);color:var(--placeholder-color);padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:where(.select-open,.selected) label{top:0;left:var(--bl-size-2xs);transform:translateY(-50%);font:var(--bl-font-caption);color:var(--label-color);padding:0 var(--bl-size-3xs);background-color:var(--bl-color-primary-background);pointer-events:initial;right:var(--padding-horizontal)}:host([label-fixed]) label{position:static;padding:0;transition:none;transform:none;pointer-events:initial;font:var(--bl-font-caption);color:var(--label-color)}.hint{display:none;font:var(--bl-font-body-text-3)}.hint p{padding:0;margin:0}.error-icon,.invalid-text{display:none}.dirty.invalid label,.invalid-text,.error-icon{color:var(--bl-color-danger)}.help-text{color:var(--bl-color-content-secondary)}.select-open .help-text,.select-open .invalid-text{visibility:hidden}:host([help-text]) .hint,.dirty.invalid .hint{display:block}.dirty.invalid .invalid-text{display:block}.dirty.invalid .help-text{display:none}`,w=T;var t=class extends f(c){constructor(){super(...arguments);this.size="medium";this.required=!1;this.disabled=!1;this.multiple=!1;this.labelFixed=!1;this._isPopoverOpen=!1;this._additionalSelectedOptionCount=0;this._connectedOptions=[];this._cleanUpPopover=null;this._selectedOptions=[];this.dirty=!1;this._interactOutsideHandler=e=>{var s;let i=e.composedPath();(s=i==null?void 0:i.find(z=>z.tagName==="BL-SELECT"))!=null&&s.contains(this)||this.close()};this.focusedOptionIndex=-1}static get styles(){return[w]}get value(){return this._value}set value(e){if(this._value=e,Array.isArray(e)){let i=new FormData;e.forEach(s=>i.append(this.name,`${s}`)),this.setValue(i)}else this.setValue(e);this.setOptionsSelected()}shouldFormValueUpdate(){return this.value!==null&&this.value!==""}setOptionsSelected(){this._connectedOptions.forEach(e=>e.selected=this.value===e.value||Array.isArray(this.value)&&this.value.includes(e.value)),this._selectedOptions=[...this.options.filter(e=>e.selected)]}get options(){return this._connectedOptions}get opened(){return this._isPopoverOpen}get selectedOptions(){return this._selectedOptions}get additionalSelectedOptionCount(){return this._additionalSelectedOptionCount}validityCallback(){if(this.customInvalidText)return this.customInvalidText;let e=document.createElement("select");return e.required=this.required,e.validationMessage}reportValidity(){return this.dirty=!0,this.checkValidity()}resetFormControl(){this.value=this._initialValue}open(){this._isPopoverOpen=!0,this._setupPopover(),document.addEventListener("click",this._interactOutsideHandler,!0),document.addEventListener("focus",this._interactOutsideHandler,!0)}close(){this._isPopoverOpen=!1,this.focusedOptionIndex=-1,this._cleanUpPopover&&this._cleanUpPopover(),document.removeEventListener("click",this._interactOutsideHandler,!0),document.removeEventListener("focus",this._interactOutsideHandler,!0)}_setupPopover(){this._cleanUpPopover=_(this._selectInput,this._popover,()=>{O(this._selectInput,this._popover,{placement:"bottom",strategy:"fixed",middleware:[y(),g(8),x({apply(e){Object.assign(e.elements.floating.style,{width:`${e.elements.reference.getBoundingClientRect().width}px`})}})]}).then(({x:e,y:i})=>{this._popover.style.setProperty("--left",`${e}px`),this._popover.style.setProperty("--top",`${i}px`)})})}connectedCallback(){var e;super.connectedCallback(),(e=this.form)==null||e.addEventListener("submit",i=>{this.reportValidity()||i.preventDefault()})}disconnectedCallback(){super.disconnectedCallback(),this._cleanUpPopover&&this._cleanUpPopover()}inputTemplate(){let e=n`<ul class="selected-options">
2
+ ${this._selectedOptions.map(s=>n`<li>${s.textContent}</li>`)}
3
+ </ul>`,i=n`<bl-button
4
+ class="remove-all"
5
+ size="small"
6
+ variant="tertiary"
7
+ kind="neutral"
8
+ icon="close"
9
+ @click=${this._onClickRemove}></bl-button>`;return n`<div
10
+ class=${p({"select-input":!0,"has-overflowed-options":this._additionalSelectedOptionCount>0})}
11
+ tabindex="${this.disabled?"-1":0}"
12
+ @click=${this.togglePopover}
13
+ >
14
+ <span class="placeholder">${this.placeholder}</span>
15
+ ${e}
16
+ <span class="additional-selection-count">+${this._additionalSelectedOptionCount}</span>
17
+ <div class="actions">
18
+ ${this.multiple?i:null}
19
+ <bl-icon
20
+ class="dropdown-icon open"
21
+ name="arrow_up"
22
+ ></bl-icon>
23
+
24
+ <bl-icon
25
+ class="dropdown-icon closed"
26
+ name="arrow_down"
27
+ ></bl-icon>
28
+ </div>
29
+ </div>`}render(){let e=this.checkValidity()?"":n`<p id="errorMessage" aria-live="polite" class="invalid-text">
30
+ ${this.validationMessage}
31
+ </p>`,i=this.helpText&&!e?n`<p class="help-text">${this.helpText}</p>`:"",s=this.label?n`<label>${this.label}</label>`:"";return n`<div
32
+ class=${p({"select-wrapper":!0,"select-open":this.opened,selected:this._selectedOptions.length>0,invalid:!this.validity.valid,dirty:this.dirty})}
33
+ @keydown=${this.handleKeydown}
34
+ >
35
+ ${s}
36
+ ${this.inputTemplate()}
37
+ <div class="popover" tabindex="${b(this._isPopoverOpen?void 0:"-1")}" @bl-select-option=${this._handleSelectOptionEvent}>
38
+ <slot></slot>
39
+ </div>
40
+ <div class="hint">${e} ${i}</div>
41
+ </div> `}handleKeydown(e){this.focusedOptionIndex===-1&&["Enter","Space"].includes(e.code)?(this.togglePopover(),e.preventDefault()):this._isPopoverOpen===!1&&["ArrowDown","ArrowUp"].includes(e.code)?(this.open(),e.preventDefault()):e.code==="Escape"?(this.close(),e.preventDefault()):this._isPopoverOpen&&["ArrowDown","ArrowUp"].includes(e.code)&&(e.code==="ArrowDown"&&this.focusedOptionIndex++,e.code==="ArrowUp"&&this.focusedOptionIndex--,this.focusedOptionIndex=Math.max(0,Math.min(this.focusedOptionIndex,this.options.length-1)),this.options[this.focusedOptionIndex].focus(),e.preventDefault())}togglePopover(){this._isPopoverOpen?this.close():this.open()}_handleSelectEvent(){this._onBlSelect(this._selectedOptions.map(e=>({value:e.value,selected:e.selected,text:e.textContent})))}_handleSingleSelect(e){this.value=e.value,this._handleSelectEvent(),this._isPopoverOpen=!1}_handleMultipleSelect(){this.value=this._connectedOptions.filter(e=>e.selected).map(e=>e.value),this._handleSelectEvent()}_handleSelectOptionEvent(e){let i=e.target;this.dirty=!0,this.multiple?this._handleMultipleSelect():this._handleSingleSelect(i)}_onClickRemove(e){e.stopPropagation(),this._connectedOptions.filter(i=>i.selected).forEach(i=>{i.selected=!1}),this.value=null,this._additionalSelectedOptionCount=0,this._handleSelectEvent()}_checkAdditionalItemCount(){if(!this.multiple||!this.selectedOptionsItems||this.selectedOptionsItems.length<2)return;let e=[...this.selectedOptionsItems].findIndex(i=>i.offsetLeft>this.selectedOptionsContainer.offsetWidth);e>-1?this._additionalSelectedOptionCount=this.selectedOptionsItems.length-e:this._additionalSelectedOptionCount=0}firstUpdated(){this.value===void 0&&(this.value=""),this._initialValue=this._value}updated(e){e.has("multiple")&&typeof e.get("multiple")=="boolean"&&(this.value=null),this._checkAdditionalItemCount()}registerOption(e){this._connectedOptions.push(e),e.selected&&(this.multiple?(Array.isArray(this.value)||(this.value=[]),this.value=[...this.value,e.value]):this.value=e.value),this.setOptionsSelected(),this.requestUpdate()}unregisterOption(e){this._connectedOptions.splice(this._connectedOptions.indexOf(e),1)}};t.formControlValidators=[m],o([l()],t.prototype,"name",2),o([l()],t.prototype,"value",1),o([l({reflect:!0})],t.prototype,"label",2),o([l({})],t.prototype,"placeholder",2),o([l({type:String,reflect:!0})],t.prototype,"size",2),o([l({type:Boolean,reflect:!0})],t.prototype,"required",2),o([l({type:Boolean,reflect:!0})],t.prototype,"disabled",2),o([l({type:Boolean})],t.prototype,"multiple",2),o([l({type:Boolean,attribute:"label-fixed",reflect:!0})],t.prototype,"labelFixed",2),o([l({type:String,attribute:"help-text"})],t.prototype,"helpText",2),o([l({type:String,attribute:"invalid-text"})],t.prototype,"customInvalidText",2),o([r()],t.prototype,"_isPopoverOpen",2),o([r()],t.prototype,"_additionalSelectedOptionCount",2),o([a(".selected-options")],t.prototype,"selectedOptionsContainer",2),o([v(".selected-options li")],t.prototype,"selectedOptionsItems",2),o([a(".popover")],t.prototype,"_popover",2),o([a(".select-input")],t.prototype,"_selectInput",2),o([h("bl-select")],t.prototype,"_onBlSelect",2),o([r()],t.prototype,"_selectedOptions",2),o([r()],t.prototype,"dirty",2),o([a(".select-input")],t.prototype,"validationTarget",2),t=o([u("bl-select")],t);export{t as a};
42
+ //# sourceMappingURL=chunk-VAF7XRXM.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/components/select/bl-select.css", "../src/components/select/bl-select.ts"],
4
+ "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{width:200px;display:inline-block}.select-wrapper{width:100%;position:relative;display:flex;flex-direction:column;gap:var(--bl-size-3xs);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-xs);--background-color:var(--bl-color-primary-background);--border-color:var(--bl-color-border);--border-focus-color:var(--bl-color-primary-hover);--icon-color:var(--bl-color-content-tertiary);--text-color:var(--bl-color-content-primary);--label-color:var(--bl-color-content-secondary);--placeholder-color:var(--bl-color-content-tertiary);--height:var(--bl-size-2xl);--menu-padding:0 var(--bl-size-m);--menu-margin-top:var(--bl-size-2xs);--font-size:var(--bl-font-size-m);--disabled-color:var(--bl-color-tertiary);--z-index:100;--menu-height:250px;--popover-position:var(--bl-popover-position,fixed)}:host([size='large']) .select-wrapper{--height:var(--bl-size-3xl);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-m)}:host([size='small']) .select-wrapper{--height:var(--bl-size-xl);--padding-vertical:var(--bl-size-3xs);--padding-horizontal:var(--bl-size-xs);--font-size:var(--bl-font-size-s)}:host([disabled]) .select-wrapper{--placeholder-color:var(--bl-color-content-passive)}.dirty.invalid{--border-color:var(--bl-color-danger);--border-focus-color:var(--bl-color-danger-hover);--label-color:var(--bl-color-danger)}.select-input{display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-sizing:border-box;height:var(--height);border:solid 1px var(--border-color);font:var(--bl-font-title-3-regular);padding:0 var(--padding-horizontal);border-radius:var(--bl-border-radius-s);color:var(--text-color);-webkit-user-select:none;user-select:none}.placeholder{color:var(--placeholder-color);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.select-wrapper.selected .placeholder,:host([label]:not([label-fixed])) .select-wrapper:not(.select-open) .placeholder{display:none}.remove-all{display:none}.remove-all::after{content:'';position:absolute;left:1.5rem;bottom:4px;height:1rem;border-left:1px solid var(--bl-color-border)}.selected .remove-all{display:block}:host([disabled]) .remove-all,:host([disabled]) .remove-all::after{display:none}.dropdown-icon{font-size:var(--bl-font-size-m)}.dropdown-icon.open{display:none}.select-open .dropdown-icon.open{display:inline-block}.select-open .dropdown-icon.closed{display:none}.selected .dropdown-icon{--icon-color:var(--bl-color-secondary)}:host([disabled]) .dropdown-icon{--icon-color:var(--bl-color-content-passive)}.select-open .select-input,.select-input:focus-visible{border:solid 1px var(--border-focus-color);outline:0}:host([disabled]){cursor:not-allowed}:host([disabled]) .select-input{pointer-events:none;background-color:var(--disabled-color)}.select-input .selected-options{flex:1;padding:0;margin:0;list-style:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.selected-options li{display:inline;font-size:var(--font-size);color:var(--text-color)}.selected-options li:not(:last-child)::after{content:', '}.select-input:not(.has-overflowed-options) .additional-selection-count{display:none}:host([disabled]) .selected-options li{color:var(--bl-color-content-passive)}.select-input .actions{display:flex;align-items:center;justify-content:center;gap:var(--bl-size-2xs);margin-left:var(--bl-size-2xs)}.popover{--left:0;--top:0;position:var(--popover-position);border:solid 1px var(--border-color);background-color:var(--background-color);font:var(--bl-font-title-3-regular);border-radius:var(--bl-border-radius-s);padding:var(--menu-padding);outline:0;box-sizing:border-box;max-height:var(--menu-height);overflow-y:auto;display:none;flex-direction:column;z-index:var(--z-index);width:100%;top:var(--top);left:var(--left)}.select-open .popover{display:flex;border:solid 1px var(--border-focus-color)}bl-icon{color:var(--icon-color)}label{position:absolute;display:block;top:var(--padding-vertical);left:var(--padding-horizontal);right:calc(var(--bl-size-2xs) + var(--bl-size-m) + var(--bl-size-2xs));max-width:max-content;transition:all ease-in .2s;pointer-events:none;font:var(--bl-font-title-3-regular);font-size:var(--font-size);color:var(--placeholder-color);padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:where(.select-open,.selected) label{top:0;left:var(--bl-size-2xs);transform:translateY(-50%);font:var(--bl-font-caption);color:var(--label-color);padding:0 var(--bl-size-3xs);background-color:var(--bl-color-primary-background);pointer-events:initial;right:var(--padding-horizontal)}:host([label-fixed]) label{position:static;padding:0;transition:none;transform:none;pointer-events:initial;font:var(--bl-font-caption);color:var(--label-color)}.hint{display:none;font:var(--bl-font-body-text-3)}.hint p{padding:0;margin:0}.error-icon,.invalid-text{display:none}.dirty.invalid label,.invalid-text,.error-icon{color:var(--bl-color-danger)}.help-text{color:var(--bl-color-content-secondary)}.select-open .help-text,.select-open .invalid-text{visibility:hidden}:host([help-text]) .hint,.dirty.invalid .hint{display:block}.dirty.invalid .invalid-text{display:block}.dirty.invalid .help-text{display:none}`;\nexport default styles;\n", "import { autoUpdate, computePosition, flip, MiddlewareArguments, offset, size } from '@floating-ui/dom';\nimport { FormControlMixin, requiredValidator } from '@open-wc/form-control';\nimport { FormValue } from '@open-wc/form-helpers';\nimport 'element-internals-polyfill';\nimport { CSSResultGroup, html, LitElement, PropertyValues } from 'lit';\nimport { customElement, property, query, queryAll, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { event, EventDispatcher } from '../../utilities/event';\nimport '../icon/bl-icon';\nimport style from '../select/bl-select.css';\nimport '../select/option/bl-select-option';\nimport type BlSelectOption from './option/bl-select-option';\n\nexport interface ISelectOption<T> {\n value: T;\n text: string;\n selected: boolean;\n}\n\nexport type SelectSize = 'medium' | 'large' | 'small';\n\nexport type CleanUpFunction = () => void;\n\n\n/**\n * @tag bl-select\n * @summary Baklava Select component\n *\n * @cssproperty --bl-popover-position - Sets the positioning strategy of select popover. You can set it as `absolute` if you need to show popover relative to its trigger element. Default value is `fixed`\n */\n@customElement('bl-select')\nexport default class BlSelect<ValueType extends FormValue = string> extends FormControlMixin(LitElement) {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n static formControlValidators = [requiredValidator];\n\n /**\n * Sets name of the select field\n */\n @property()\n name: string;\n\n private _value: ValueType | ValueType[] | null;\n\n private _initialValue: ValueType | ValueType[] | null;\n\n /**\n * Sets the value of the select\n */\n @property()\n get value(): ValueType | ValueType[] | null {\n return this._value;\n }\n\n set value(val: ValueType | ValueType[] | null) {\n this._value = val;\n\n if (Array.isArray(val)) {\n const formData = new FormData();\n val.forEach((option) => formData.append(this.name, `${option}`));\n this.setValue(formData);\n } else {\n this.setValue(val);\n }\n\n this.setOptionsSelected();\n }\n\n shouldFormValueUpdate(): boolean {\n return this.value !== null && this.value !== '';\n }\n\n /* Declare reactive properties */\n /**\n * Sets the label value\n */\n @property({ reflect: true })\n label?: string;\n\n /**\n * Sets the placeholder value. If left blank, the label value (if specified) is set as placeholder.\n */\n @property({})\n placeholder?: string;\n\n /**\n * Sets the size value. Select component's height value will be changed accordingly\n */\n @property({ type: String, reflect: true })\n size: SelectSize = 'medium';\n\n /**\n * When option is not selected, shows component in error state\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Shows the component in disabled state.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Allows multiple options to be selected\n */\n @property({ type: Boolean })\n multiple = false;\n\n /**\n * Makes label as fixed positioned\n */\n @property({ type: Boolean, attribute: 'label-fixed', reflect: true })\n labelFixed = false;\n\n /**\n * Adds help text\n */\n @property({ type: String, attribute: 'help-text' })\n helpText?: string;\n\n /**\n * Set custom error message\n */\n @property({ type: String, attribute: 'invalid-text' })\n customInvalidText?: string;\n\n /* Declare internal reactive properties */\n @state()\n private _isPopoverOpen = false;\n\n\n @state()\n private _additionalSelectedOptionCount = 0;\n\n @query('.selected-options')\n private selectedOptionsContainer!: HTMLElement;\n\n @queryAll('.selected-options li')\n private selectedOptionsItems!: NodeListOf<HTMLElement>;\n\n @query('.popover')\n private _popover: HTMLElement;\n\n @query('.select-input')\n private _selectInput: HTMLElement;\n\n /**\n * Fires when selection changes\n */\n @event('bl-select') private _onBlSelect: EventDispatcher<ISelectOption<ValueType>[]>;\n\n private _connectedOptions: BlSelectOption<ValueType>[] = [];\n\n private _cleanUpPopover: CleanUpFunction | null = null;\n\n private setOptionsSelected() {\n this._connectedOptions\n .forEach(\n (option) => option.selected = (\n this.value === option.value ||\n (Array.isArray(this.value) && this.value.includes(option.value))\n )\n );\n\n this._selectedOptions = [...this.options\n .filter(option => option.selected)\n ];\n }\n\n get options() {\n return this._connectedOptions;\n }\n\n get opened() {\n return this._isPopoverOpen;\n }\n\n @state()\n private _selectedOptions: BlSelectOption<ValueType>[] = [];\n\n @state()\n private dirty = false;\n\n get selectedOptions(): BlSelectOption<ValueType>[] {\n return this._selectedOptions;\n }\n\n get additionalSelectedOptionCount() {\n return this._additionalSelectedOptionCount;\n }\n\n validityCallback(): string | void {\n if (this.customInvalidText) {\n return this.customInvalidText;\n }\n const select = document.createElement('select');\n select.required = this.required;\n\n return select.validationMessage;\n }\n\n reportValidity() {\n this.dirty = true;\n return this.checkValidity();\n }\n\n resetFormControl(): void {\n this.value = this._initialValue;\n }\n\n @query('.select-input')\n validationTarget: HTMLElement;\n\n open() {\n this._isPopoverOpen = true;\n this._setupPopover();\n document.addEventListener('click', this._interactOutsideHandler, true);\n document.addEventListener('focus', this._interactOutsideHandler, true);\n }\n\n close() {\n this._isPopoverOpen = false;\n this.focusedOptionIndex = -1;\n this._cleanUpPopover && this._cleanUpPopover();\n document.removeEventListener('click', this._interactOutsideHandler, true);\n document.removeEventListener('focus', this._interactOutsideHandler, true);\n }\n\n private _interactOutsideHandler = (event: MouseEvent | FocusEvent) => {\n const eventPath = event.composedPath() as HTMLElement[];\n\n if (!eventPath?.find(el => el.tagName === 'BL-SELECT')?.contains(this)) {\n this.close();\n }\n };\n\n private _setupPopover() {\n this._cleanUpPopover = autoUpdate(this._selectInput, this._popover, () => {\n computePosition(this._selectInput, this._popover, {\n placement: 'bottom',\n strategy: 'fixed',\n middleware: [\n flip(),\n offset(8),\n size({\n apply(args: MiddlewareArguments) {\n Object.assign(args.elements.floating.style, {\n width: `${args.elements.reference.getBoundingClientRect().width}px`,\n });\n },\n }),\n ],\n }).then(({ x, y }) => {\n this._popover.style.setProperty('--left', `${x}px`);\n this._popover.style.setProperty('--top', `${y}px`);\n });\n });\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.form?.addEventListener('submit', (e: SubmitEvent) => {\n if (!this.reportValidity()) {\n e.preventDefault();\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this._cleanUpPopover && this._cleanUpPopover();\n }\n\n private inputTemplate() {\n const inputSelectedOptions = html`<ul class=\"selected-options\">\n ${this._selectedOptions.map(item => html`<li>${item.textContent}</li>`)}\n </ul>`;\n const removeButton = html`<bl-button\n class=\"remove-all\"\n size=\"small\"\n variant=\"tertiary\"\n kind=\"neutral\"\n icon=\"close\"\n @click=${this._onClickRemove}></bl-button>`;\n\n return html`<div\n class=${classMap({\n 'select-input': true,\n 'has-overflowed-options': this._additionalSelectedOptionCount > 0\n })}\n tabindex=\"${this.disabled ? '-1' : 0}\"\n @click=${this.togglePopover}\n >\n <span class=\"placeholder\">${this.placeholder}</span>\n ${inputSelectedOptions}\n <span class=\"additional-selection-count\">+${this._additionalSelectedOptionCount}</span>\n <div class=\"actions\">\n ${this.multiple ? removeButton : null}\n <bl-icon\n class=\"dropdown-icon open\"\n name=\"arrow_up\"\n ></bl-icon>\n\n <bl-icon\n class=\"dropdown-icon closed\"\n name=\"arrow_down\"\n ></bl-icon>\n </div>\n </div>`;\n }\n\n render() {\n const invalidMessage = !this.checkValidity()\n ? html`<p id=\"errorMessage\" aria-live=\"polite\" class=\"invalid-text\">\n ${this.validationMessage}\n </p>`: '';\n\n const helpMessage = this.helpText && !invalidMessage\n ? html`<p class=\"help-text\">${this.helpText}</p>` : '';\n\n const label = this.label\n ? html`<label>${this.label}</label>` : '';\n\n return html`<div\n class=${classMap({\n 'select-wrapper': true,\n 'select-open': this.opened,\n 'selected': this._selectedOptions.length > 0,\n 'invalid': !this.validity.valid,\n 'dirty': this.dirty\n })}\n @keydown=${this.handleKeydown}\n >\n ${label}\n ${this.inputTemplate()}\n <div class=\"popover\" tabindex=\"${ifDefined(this._isPopoverOpen ? undefined : '-1')}\" @bl-select-option=${this._handleSelectOptionEvent}>\n <slot></slot>\n </div>\n <div class=\"hint\">${invalidMessage} ${helpMessage}</div>\n </div> `;\n }\n\n private focusedOptionIndex = -1;\n\n private handleKeydown(event: KeyboardEvent) {\n if (this.focusedOptionIndex === -1 && ['Enter', 'Space'].includes(event.code)) {\n this.togglePopover();\n event.preventDefault();\n } else if (this._isPopoverOpen === false && ['ArrowDown', 'ArrowUp'].includes(event.code)) {\n this.open();\n event.preventDefault();\n } else if (event.code === 'Escape') {\n this.close();\n event.preventDefault();\n } else if (this._isPopoverOpen && ['ArrowDown', 'ArrowUp'].includes(event.code)) {\n event.code === 'ArrowDown' && this.focusedOptionIndex++;\n event.code === 'ArrowUp' && this.focusedOptionIndex--;\n\n // Don't exceed array indexes\n this.focusedOptionIndex = Math.max(\n 0,\n Math.min(this.focusedOptionIndex, this.options.length - 1)\n );\n\n this.options[this.focusedOptionIndex].focus();\n\n event.preventDefault();\n }\n\n }\n\n private togglePopover() {\n this._isPopoverOpen ? this.close() : this.open();\n }\n\n private _handleSelectEvent() {\n this._onBlSelect(this._selectedOptions.map(option => ({\n value: option.value,\n selected: option.selected,\n text: option.textContent\n } as ISelectOption<ValueType>)));\n }\n\n private _handleSingleSelect(optionItem: BlSelectOption<ValueType>) {\n this.value = optionItem.value;\n\n this._handleSelectEvent();\n this._isPopoverOpen = false;\n }\n\n private _handleMultipleSelect() {\n this.value = this._connectedOptions.filter((option) => option.selected).map(option => option.value);\n\n this._handleSelectEvent();\n }\n\n private _handleSelectOptionEvent(e: CustomEvent) {\n const optionItem = e.target as BlSelectOption<ValueType>;\n this.dirty = true;\n\n if (this.multiple) {\n this._handleMultipleSelect();\n } else {\n this._handleSingleSelect(optionItem);\n }\n }\n\n private _onClickRemove(e: MouseEvent) {\n e.stopPropagation();\n\n this._connectedOptions\n .filter(option => option.selected)\n .forEach(option => {\n option.selected = false;\n });\n\n this.value = null;\n this._additionalSelectedOptionCount = 0;\n this._handleSelectEvent();\n }\n\n private _checkAdditionalItemCount() {\n if (!this.multiple || !this.selectedOptionsItems || this.selectedOptionsItems.length < 2) return;\n\n const firstNonVisibleItemIndex = [...this.selectedOptionsItems]\n .findIndex((item) => item.offsetLeft > this.selectedOptionsContainer.offsetWidth);\n\n if (firstNonVisibleItemIndex > -1) {\n this._additionalSelectedOptionCount = this.selectedOptionsItems.length - firstNonVisibleItemIndex;\n } else {\n this._additionalSelectedOptionCount = 0;\n }\n }\n\n protected firstUpdated(): void {\n if (this.value === undefined) {\n this.value = '' as ValueType;\n }\n\n this._initialValue = this._value;\n }\n\n protected updated(_changedProperties: PropertyValues) {\n if (\n _changedProperties.has('multiple') &&\n typeof _changedProperties.get('multiple') === 'boolean'\n ) {\n this.value = null;\n }\n\n this._checkAdditionalItemCount();\n }\n\n /**\n * This method is used by `bl-select-option` component to register itself to bl-select.\n * @param option BlSelectOption reference to be registered\n */\n registerOption(option: BlSelectOption<ValueType>) {\n this._connectedOptions.push(option);\n\n if (option.selected) {\n if (this.multiple) {\n if (!Array.isArray(this.value)) {\n this.value = [];\n }\n this.value = [...this.value, option.value];\n } else {\n this.value = option.value;\n }\n }\n\n this.setOptionsSelected();\n this.requestUpdate();\n }\n\n /**\n * This method is used by `bl-select-option` component to unregister itself from bl-select.\n * @param option BlSelectOption reference to be unregistered\n */\n unregisterOption(option: BlSelectOption<ValueType>) {\n this._connectedOptions.splice(this._connectedOptions.indexOf(option), 1);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bl-select': BlSelect;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["styles", "i", "bl_select_default", "BlSelect", "FormControlMixin", "s", "event", "_a", "eventPath", "el", "bl_select_default", "val", "formData", "option", "select", "N", "z", "b", "T", "k", "args", "x", "y", "e", "inputSelectedOptions", "item", "removeButton", "o", "invalidMessage", "helpMessage", "label", "l", "optionItem", "firstNonVisibleItemIndex", "_changedProperties", "requiredValidator", "__decorateClass", "t", "i"]
7
+ }
@@ -30,6 +30,14 @@ export default class BlButton extends LitElement {
30
30
  * Sets the button label. Used for accessibility.
31
31
  */
32
32
  label: string;
33
+ /**
34
+ * Sets the button label for loading status.
35
+ */
36
+ loadingLabel: string;
37
+ /**
38
+ * Sets loading state of button
39
+ */
40
+ loading: boolean;
33
41
  /**
34
42
  * Sets button as disabled
35
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bl-button.d.ts","sourceRoot":"","sources":["../../../src/components/button/bl-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAOvE,OAAO,iBAAiB,CAAC;AAEzB,oBAAY,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AACjE,oBAAY,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AACtE,oBAAY,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtD,oBAAY,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjE;;;;;;;GAOG;AAEH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;IAC9C,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED;;OAEG;IAEH,OAAO,EAAE,aAAa,CAAa;IAEnC;;OAEG;IAEH,IAAI,EAAE,UAAU,CAAa;IAE7B;;OAEG;IAEH,IAAI,EAAE,UAAU,CAAY;IAE5B;;OAEG;IAEH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,MAAM,CAAC,EAAE,UAAU,CAAW;IAE9B;;OAEG;IAEH,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEtB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,MAAM,UAAS;IAGf,OAAO,CAAC,MAAM,CAAwC;IAEtD;;OAEG;IACgB,OAAO,CAAC,OAAO,CAA0B;IAE5D,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,CAAC,IAAI,CAAyB;IAErC,iBAAiB;IAKjB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAQpB,KAAK;IAIL,IAAI,YAAY,YAEf;IAED,IAAI,eAAe,YAgBlB;IAED,MAAM,IAAI,cAAc;CAgCzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"bl-button.d.ts","sourceRoot":"","sources":["../../../src/components/button/bl-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAOvE,OAAO,iBAAiB,CAAC;AAEzB,oBAAY,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AACjE,oBAAY,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AACtE,oBAAY,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtD,oBAAY,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjE;;;;;;;GAOG;AAEH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;IAC9C,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED;;OAEG;IAEH,OAAO,EAAE,aAAa,CAAa;IAEnC;;OAEG;IAEH,IAAI,EAAE,UAAU,CAAa;IAE7B;;OAEG;IAEH,IAAI,EAAE,UAAU,CAAY;IAE5B;;OAEG;IAEH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,MAAM,CAAC,EAAE,UAAU,CAAW;IAE9B;;OAEG;IAEH,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEtB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,MAAM,UAAS;IAGf,OAAO,CAAC,MAAM,CAAwC;IAEtD;;OAEG;IACgB,OAAO,CAAC,OAAO,CAA0B;IAE5D,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,CAAC,IAAI,CAAyB;IAErC,iBAAiB;IAKjB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAQpB,KAAK;IAIL,IAAI,YAAY,YAEf;IAED,IAAI,eAAe,YAgBlB;IAED,MAAM,IAAI,cAAc;CAmCzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
@@ -1,2 +1,2 @@
1
- import{b as a}from"../../chunk-2PVZLIDX.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
1
+ import{b as a}from"../../chunk-MCWRM3WC.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
2
2
  //# sourceMappingURL=bl-button.js.map
@@ -1,2 +1,2 @@
1
- import{c as a,d as b,e as c}from"../../chunk-F3CGCLRX.js";import"../../chunk-EPJ347EQ.js";import"../../chunk-7K5FMQLQ.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{b as blChangeEventName,a as blCheckboxGroupTag,c as default};
1
+ import{c as a,d as b,e as c}from"../../chunk-DSM6T5MC.js";import"../../chunk-EPJ347EQ.js";import"../../chunk-DJOD4BTL.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{b as blChangeEventName,a as blCheckboxGroupTag,c as default};
2
2
  //# sourceMappingURL=bl-checkbox-group.js.map
@@ -1,2 +1,2 @@
1
- import{a,b}from"../../../chunk-F3CGCLRX.js";import"../../../chunk-EPJ347EQ.js";import"../../../chunk-7K5FMQLQ.js";import"../../../chunk-KPAWUBRO.js";import"../../../chunk-F3ZH5IV7.js";import"../../../chunk-RLMJN536.js";import"../../../chunk-23UFIOHV.js";import"../../../chunk-57PTZNIL.js";import"../../../chunk-NZ3RGSR6.js";export{a as blCheckboxTag,b as default};
1
+ import{a,b}from"../../../chunk-DSM6T5MC.js";import"../../../chunk-EPJ347EQ.js";import"../../../chunk-DJOD4BTL.js";import"../../../chunk-KPAWUBRO.js";import"../../../chunk-F3ZH5IV7.js";import"../../../chunk-RLMJN536.js";import"../../../chunk-23UFIOHV.js";import"../../../chunk-57PTZNIL.js";import"../../../chunk-NZ3RGSR6.js";export{a as blCheckboxTag,b as default};
2
2
  //# sourceMappingURL=bl-checkbox.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-Y2EBT6QM.js";import"../../chunk-2PVZLIDX.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
1
+ import{a}from"../../chunk-Y2EBT6QM.js";import"../../chunk-MCWRM3WC.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
2
2
  //# sourceMappingURL=bl-dialog.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-TAU2CM6U.js";import"../../chunk-2PVZLIDX.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
1
+ import{a}from"../../chunk-AYSPIQ23.js";import"../../chunk-MCWRM3WC.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
2
2
  //# sourceMappingURL=bl-drawer.js.map
@@ -1,2 +1,2 @@
1
- import{c as a,d as b}from"../../chunk-WUDM5U5Z.js";import"../../chunk-KQBXYF3J.js";import"../../chunk-5ODNFE7B.js";import"../../chunk-2PVZLIDX.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as blDropdownTag,b as default};
1
+ import{c as a,d as b}from"../../chunk-WUDM5U5Z.js";import"../../chunk-KQBXYF3J.js";import"../../chunk-5ODNFE7B.js";import"../../chunk-MCWRM3WC.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as blDropdownTag,b as default};
2
2
  //# sourceMappingURL=bl-dropdown.js.map
@@ -1,2 +1,2 @@
1
- import{a,b}from"../../../chunk-WUDM5U5Z.js";import"../../../chunk-KQBXYF3J.js";import"../../../chunk-5ODNFE7B.js";import"../../../chunk-2PVZLIDX.js";import"../../../chunk-OLPYXE2P.js";import"../../../chunk-KPAWUBRO.js";import"../../../chunk-F3ZH5IV7.js";import"../../../chunk-RLMJN536.js";import"../../../chunk-23UFIOHV.js";import"../../../chunk-57PTZNIL.js";import"../../../chunk-NZ3RGSR6.js";export{a as blDropdownItemTag,b as default};
1
+ import{a,b}from"../../../chunk-WUDM5U5Z.js";import"../../../chunk-KQBXYF3J.js";import"../../../chunk-5ODNFE7B.js";import"../../../chunk-MCWRM3WC.js";import"../../../chunk-OLPYXE2P.js";import"../../../chunk-KPAWUBRO.js";import"../../../chunk-F3ZH5IV7.js";import"../../../chunk-RLMJN536.js";import"../../../chunk-23UFIOHV.js";import"../../../chunk-57PTZNIL.js";import"../../../chunk-NZ3RGSR6.js";export{a as blDropdownItemTag,b as default};
2
2
  //# sourceMappingURL=bl-dropdown-item.js.map
@@ -1,4 +1,4 @@
1
- import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
1
+ import { CSSResultGroup, LitElement, TemplateResult, PropertyValues } from 'lit';
2
2
  import 'element-internals-polyfill';
3
3
  import '../icon/bl-icon';
4
4
  import '../button/bl-button';
@@ -104,13 +104,13 @@ export default class BlInput extends BlInput_base {
104
104
  private dirty;
105
105
  private passwordVisible;
106
106
  private passwordInput;
107
- private textVisiblityToggle;
107
+ private textVisibilityToggle;
108
108
  validityCallback(): string | void;
109
109
  reportValidity(): boolean;
110
- valueChangedCallback(value: string): void;
111
110
  private inputHandler;
112
111
  private changeHandler;
113
112
  firstUpdated(): void;
113
+ protected updated(changedProperties: PropertyValues): Promise<void>;
114
114
  render(): TemplateResult;
115
115
  }
116
116
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"bl-input.d.ts","sourceRoot":"","sources":["../../../src/components/input/bl-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AASvE,OAAO,4BAA4B,CAAC;AACpC,OAAO,iBAAiB,CAAC;AACzB,OAAO,qBAAqB,CAAC;AAI7B,oBAAY,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;;AACrD;;;GAGG;AAEH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAA4B;IAC/D,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED,MAAM,CAAC,qBAAqB;;;;;QAAwB;IAGpD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAU;IAE9C;;OAEG;IAEH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IAEH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IAEH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,IAAI,CAAC,EAAE,SAAS,CAAY;IAE5B;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,UAAU,UAAS;IAEnB;;OAEG;IAEH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IAEH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACiB,OAAO,CAAC,QAAQ,CAA0B;IAE9D;;OAEG;IACgB,OAAO,CAAC,OAAO,CAA0B;IAE5D;;OAEG;IACkB,OAAO,CAAC,SAAS,CAAiC;IAEvE,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,SAAS,CAIf;IAEF,OAAO,CAAC,OAAO,CAEb;IAEO,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,mBAAmB;IAI3B,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,cAAc;IAKd,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzC,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,aAAa;IAQrB,YAAY;IAKZ,MAAM,IAAI,cAAc;CAsEzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
1
+ {"version":3,"file":"bl-input.d.ts","sourceRoot":"","sources":["../../../src/components/input/bl-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AASvF,OAAO,4BAA4B,CAAC;AACpC,OAAO,iBAAiB,CAAC;AACzB,OAAO,qBAAqB,CAAC;AAI7B,oBAAY,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;;AACrD;;;GAGG;AAEH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAA4B;IAC/D,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED,MAAM,CAAC,qBAAqB;;;;;QAAwB;IAGpD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAU;IAE9C;;OAEG;IAEH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IAEH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IAEH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,IAAI,CAAC,EAAE,SAAS,CAAY;IAE5B;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,UAAU,UAAS;IAEnB;;OAEG;IAEH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IAEH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACiB,OAAO,CAAC,QAAQ,CAA0B;IAE9D;;OAEG;IACgB,OAAO,CAAC,OAAO,CAA0B;IAE5D;;OAEG;IACkB,OAAO,CAAC,SAAS,CAAiC;IAEvE,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,SAAS,CAIf;IAEF,OAAO,CAAC,OAAO,CAEb;IAEO,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,oBAAoB;IAI5B,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,cAAc;IAKd,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,aAAa;IAQrB,YAAY;cAKI,OAAO,CAAC,iBAAiB,EAAE,cAAc;IAUzD,MAAM,IAAI,cAAc;CAsEzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-VHM6RRSN.js";import"../../chunk-AEVRCHAZ.js";import"../../chunk-EPJ347EQ.js";import"../../chunk-7K5FMQLQ.js";import"../../chunk-2PVZLIDX.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
1
+ import{a}from"../../chunk-2FBI46AY.js";import"../../chunk-RST5NVHY.js";import"../../chunk-3B64VOWB.js";import"../../chunk-EPJ347EQ.js";import"../../chunk-DJOD4BTL.js";import"../../chunk-MCWRM3WC.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
2
2
  //# sourceMappingURL=bl-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bl-pagination.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/bl-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAIvF,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,qBAAqB,CAAC;AAI7B;;;GAGG;AAGH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU;IAClD,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED;;OAEG;IAEH,WAAW,SAAK;IAEhB;;OAEG;IAEH,UAAU,SAAK;IAEf;;OAEG;IAEH,YAAY,SAAM;IAElB;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,WAAW,SAAW;IAEtB;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,WAAW,SAAU;IAErB;;;OAGG;IAEH,mBAAmB;;;QAiBjB;IAEO,OAAO,CAAC,KAAK,CAA8B;IAEpD;;OAEG;IACiB,OAAO,CAAC,QAAQ,CAIjC;IAEH,iBAAiB;IAQjB,oBAAoB;IAKpB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAkB/C,OAAO,CAAC,SAAS;IA4BjB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,WAAW;IA8BnB,MAAM,IAAI,cAAc;CAkCzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
1
+ {"version":3,"file":"bl-pagination.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/bl-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAIvF,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,qBAAqB,CAAC;AAI7B;;;GAGG;AAGH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU;IAClD,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED;;OAEG;IAEH,WAAW,SAAK;IAEhB;;OAEG;IAEH,UAAU,SAAK;IAEf;;OAEG;IAEH,YAAY,SAAM;IAElB;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,WAAW,SAAW;IAEtB;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,WAAW,SAAU;IAErB;;;OAGG;IAEH,mBAAmB;;;QAiBjB;IAEO,OAAO,CAAC,KAAK,CAA8B;IAEpD;;OAEG;IACiB,OAAO,CAAC,QAAQ,CAIjC;IAEH,iBAAiB;IAQjB,oBAAoB;IAKpB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAU/C,OAAO,CAAC,SAAS;IA4BjB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,WAAW;IA8BnB,MAAM,IAAI,cAAc;CAiCzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-A6IEG6S5.js";import"../../chunk-VHM6RRSN.js";import"../../chunk-AEVRCHAZ.js";import"../../chunk-7R56R3UM.js";import"../../chunk-4WJJQP4L.js";import"../../chunk-5ODNFE7B.js";import"../../chunk-EPJ347EQ.js";import"../../chunk-7K5FMQLQ.js";import"../../chunk-2PVZLIDX.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
1
+ import{a}from"../../chunk-J774WKKH.js";import"../../chunk-2FBI46AY.js";import"../../chunk-RST5NVHY.js";import"../../chunk-VAF7XRXM.js";import"../../chunk-THIPCHAK.js";import"../../chunk-5ODNFE7B.js";import"../../chunk-3B64VOWB.js";import"../../chunk-EPJ347EQ.js";import"../../chunk-DJOD4BTL.js";import"../../chunk-MCWRM3WC.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
2
2
  //# sourceMappingURL=bl-pagination.js.map
@@ -1,2 +1,2 @@
1
- import{d as a,e as b,f as c}from"../../chunk-2E7PEDV6.js";import"../../chunk-7K5FMQLQ.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{b as blChangeEventName,a as blRadioGroupTag,c as default};
1
+ import{d as a,e as b,f as c}from"../../chunk-BD5KXTYS.js";import"../../chunk-DJOD4BTL.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{b as blChangeEventName,a as blRadioGroupTag,c as default};
2
2
  //# sourceMappingURL=bl-radio-group.js.map
@@ -1,2 +1,2 @@
1
- import{a,b,c}from"../../../chunk-2E7PEDV6.js";import"../../../chunk-7K5FMQLQ.js";import"../../../chunk-OLPYXE2P.js";import"../../../chunk-RLMJN536.js";import"../../../chunk-23UFIOHV.js";import"../../../chunk-57PTZNIL.js";import"../../../chunk-NZ3RGSR6.js";export{b as blCheckedEventName,a as blRadioTag,c as default};
1
+ import{a,b,c}from"../../../chunk-BD5KXTYS.js";import"../../../chunk-DJOD4BTL.js";import"../../../chunk-OLPYXE2P.js";import"../../../chunk-RLMJN536.js";import"../../../chunk-23UFIOHV.js";import"../../../chunk-57PTZNIL.js";import"../../../chunk-NZ3RGSR6.js";export{b as blCheckedEventName,a as blRadioTag,c as default};
2
2
  //# sourceMappingURL=bl-radio.js.map
@@ -1,16 +1,38 @@
1
- import { LitElement, CSSResultGroup, PropertyValues } from 'lit';
1
+ import { FormValue } from '@open-wc/form-helpers';
2
+ import 'element-internals-polyfill';
3
+ import { CSSResultGroup, LitElement, PropertyValues } from 'lit';
2
4
  import '../icon/bl-icon';
3
5
  import '../select/option/bl-select-option';
4
6
  import type BlSelectOption from './option/bl-select-option';
5
- export interface ISelectOption {
6
- value: string;
7
+ export interface ISelectOption<T> {
8
+ value: T;
7
9
  text: string;
8
10
  selected: boolean;
9
11
  }
10
12
  export declare type SelectSize = 'medium' | 'large' | 'small';
11
13
  export declare type CleanUpFunction = () => void;
12
- export default class BlSelect extends LitElement {
14
+ declare const BlSelect_base: import("@open-wc/form-control").Constructor<import("@open-wc/form-control").FormControlInterface> & typeof LitElement;
15
+ /**
16
+ * @tag bl-select
17
+ * @summary Baklava Select component
18
+ *
19
+ * @cssproperty --bl-popover-position - Sets the positioning strategy of select popover. You can set it as `absolute` if you need to show popover relative to its trigger element. Default value is `fixed`
20
+ */
21
+ export default class BlSelect<ValueType extends FormValue = string> extends BlSelect_base {
13
22
  static get styles(): CSSResultGroup;
23
+ static formControlValidators: import("@open-wc/form-control").Validator[];
24
+ /**
25
+ * Sets name of the select field
26
+ */
27
+ name: string;
28
+ private _value;
29
+ private _initialValue;
30
+ /**
31
+ * Sets the value of the select
32
+ */
33
+ get value(): ValueType | ValueType[] | null;
34
+ set value(val: ValueType | ValueType[] | null);
35
+ shouldFormValueUpdate(): boolean;
14
36
  /**
15
37
  * Sets the label value
16
38
  */
@@ -48,54 +70,62 @@ export default class BlSelect extends LitElement {
48
70
  */
49
71
  customInvalidText?: string;
50
72
  private _isPopoverOpen;
51
- private _selectedOptions;
52
73
  private _additionalSelectedOptionCount;
53
- private _isInvalid;
54
- private _selectedOptionsContainer;
55
- private _selectedOptionsItems;
74
+ private selectedOptionsContainer;
75
+ private selectedOptionsItems;
56
76
  private _popover;
57
77
  private _selectInput;
78
+ /**
79
+ * Fires when selection changes
80
+ */
58
81
  private _onBlSelect;
59
82
  private _connectedOptions;
60
83
  private _cleanUpPopover;
61
- get options(): BlSelectOption[];
84
+ private setOptionsSelected;
85
+ get options(): BlSelectOption<ValueType>[];
62
86
  get opened(): boolean;
63
- get selectedOptions(): ISelectOption[];
87
+ private _selectedOptions;
88
+ private dirty;
89
+ get selectedOptions(): BlSelectOption<ValueType>[];
64
90
  get additionalSelectedOptionCount(): number;
65
- get isInvalid(): boolean;
91
+ validityCallback(): string | void;
92
+ reportValidity(): boolean;
93
+ resetFormControl(): void;
94
+ validationTarget: HTMLElement;
66
95
  open(): void;
67
96
  close(): void;
68
- private _clickOutsideHandler;
97
+ private _interactOutsideHandler;
69
98
  private _setupPopover;
70
99
  connectedCallback(): void;
71
100
  disconnectedCallback(): void;
72
101
  private inputTemplate;
73
- private menuTemplate;
74
102
  render(): import("lit-html").TemplateResult<1>;
75
- private get _showPlaceHolder();
76
- private _onClickSelectInput;
103
+ private focusedOptionIndex;
104
+ private handleKeydown;
105
+ private togglePopover;
77
106
  private _handleSelectEvent;
78
107
  private _handleSingleSelect;
79
108
  private _handleMultipleSelect;
80
109
  private _handleSelectOptionEvent;
81
110
  private _onClickRemove;
82
111
  private _checkAdditionalItemCount;
83
- private _checkRequired;
112
+ protected firstUpdated(): void;
84
113
  protected updated(_changedProperties: PropertyValues): void;
85
114
  /**
86
115
  * This method is used by `bl-select-option` component to register itself to bl-select.
87
116
  * @param option BlSelectOption reference to be registered
88
117
  */
89
- registerOption(option: BlSelectOption): void;
118
+ registerOption(option: BlSelectOption<ValueType>): void;
90
119
  /**
91
120
  * This method is used by `bl-select-option` component to unregister itself from bl-select.
92
121
  * @param option BlSelectOption reference to be unregistered
93
122
  */
94
- unregisterOption(option: BlSelectOption): void;
123
+ unregisterOption(option: BlSelectOption<ValueType>): void;
95
124
  }
96
125
  declare global {
97
126
  interface HTMLElementTagNameMap {
98
127
  'bl-select': BlSelect;
99
128
  }
100
129
  }
130
+ export {};
101
131
  //# sourceMappingURL=bl-select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bl-select.d.ts","sourceRoot":"","sources":["../../../src/components/select/bl-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAKvE,OAAO,iBAAiB,CAAC;AACzB,OAAO,mCAAmC,CAAC;AAC3C,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAG5D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,oBAAY,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtD,oBAAY,eAAe,GAAG,MAAM,IAAI,CAAC;AAGzC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;IAC9C,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAGD;;OAEG;IAEH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IAEH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IAEH,IAAI,EAAE,UAAU,CAAY;IAE5B;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,UAAU,UAAS;IAEnB;;OAEG;IAEH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IAEH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAI3B,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,gBAAgB,CAAuB;IAG/C,OAAO,CAAC,8BAA8B,CAAK;IAG3C,OAAO,CAAC,UAAU,CAAS;IAG3B,OAAO,CAAC,yBAAyB,CAAe;IAGhD,OAAO,CAAC,qBAAqB,CAAsB;IAGnD,OAAO,CAAC,QAAQ,CAAc;IAG9B,OAAO,CAAC,YAAY,CAAc;IAEd,OAAO,CAAC,WAAW,CAAmC;IAE1E,OAAO,CAAC,iBAAiB,CAAwB;IAEjD,OAAO,CAAC,eAAe,CAAgC;IAEvD,IAAI,OAAO,qBAEV;IAED,IAAI,MAAM,YAET;IAED,IAAI,eAAe,oBAElB;IAED,IAAI,6BAA6B,WAEhC;IAED,IAAI,SAAS,YAEZ;IAED,IAAI;IAMJ,KAAK;IAML,OAAO,CAAC,oBAAoB,CAO1B;IAEF,OAAO,CAAC,aAAa;IAuBrB,iBAAiB;IAGjB,oBAAoB;IAMpB,OAAO,CAAC,aAAa;IAuCrB,OAAO,CAAC,YAAY;IAMpB,MAAM;IAqBN,OAAO,KAAK,gBAAgB,GAK3B;IAED,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,cAAc;IAMtB,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc;IAmBpD;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,cAAc;IAoBrC;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,cAAc;CAIxC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"bl-select.d.ts","sourceRoot":"","sources":["../../../src/components/select/bl-select.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-7R56R3UM.js";import"../../chunk-4WJJQP4L.js";import"../../chunk-5ODNFE7B.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
1
+ import{a}from"../../chunk-VAF7XRXM.js";import"../../chunk-THIPCHAK.js";import"../../chunk-5ODNFE7B.js";import"../../chunk-3B64VOWB.js";import"../../chunk-DJOD4BTL.js";import"../../chunk-OLPYXE2P.js";import"../../chunk-KPAWUBRO.js";import"../../chunk-F3ZH5IV7.js";import"../../chunk-RLMJN536.js";import"../../chunk-23UFIOHV.js";import"../../chunk-57PTZNIL.js";import"../../chunk-NZ3RGSR6.js";export{a as default};
2
2
  //# sourceMappingURL=bl-select.js.map
@@ -1,10 +1,13 @@
1
- import { LitElement, CSSResultGroup } from 'lit';
2
- export default class BlSelectOption extends LitElement {
1
+ import { FormValue } from '@open-wc/form-helpers';
2
+ import { CSSResultGroup, LitElement } from 'lit';
3
+ export default class BlSelectOption<ValueType extends FormValue = string> extends LitElement {
3
4
  static get styles(): CSSResultGroup;
5
+ private _value;
4
6
  /**
5
7
  * Sets the value for the option
6
8
  */
7
- value: string;
9
+ get value(): ValueType;
10
+ set value(val: ValueType);
8
11
  /**
9
12
  * Sets option as disabled
10
13
  */
@@ -18,10 +21,28 @@ export default class BlSelectOption extends LitElement {
18
21
  * Fires when clicked on the option
19
22
  */
20
23
  private _onSelect;
24
+ /**
25
+ * Fires when checkbox is focused
26
+ */
27
+ private onFocus;
28
+ /**
29
+ * Fires when checkbox is blurred
30
+ */
31
+ private onBlur;
32
+ private focusTarget;
33
+ /**
34
+ * Focuses this option
35
+ */
36
+ focus(): void;
37
+ /**
38
+ * Blurs from this option
39
+ */
40
+ blur(): void;
21
41
  private blSelect;
22
42
  private singleOptionTemplate;
23
43
  private checkboxOptionTemplate;
24
44
  render(): import("lit-html").TemplateResult<1>;
45
+ private handleKeydown;
25
46
  private _handleEvent;
26
47
  private _onClickOption;
27
48
  private _onCheckboxChange;
@@ -1 +1 @@
1
- {"version":3,"file":"bl-select-option.d.ts","sourceRoot":"","sources":["../../../../src/components/select/option/bl-select-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAOvD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU;IACpD,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAGD;;OAEG;IAEH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAEjB;;OAEG;IACwB,OAAO,CAAC,SAAS,CAAiC;IAE7E,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,sBAAsB;IAW9B,MAAM;IAMN,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,iBAAiB;IAKzB,iBAAiB;IAYjB,oBAAoB;CAIrB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAC;KACpC;CACF"}
1
+ {"version":3,"file":"bl-select-option.d.ts","sourceRoot":"","sources":["../../../../src/components/select/option/bl-select-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAOvD,MAAM,CAAC,OAAO,OAAO,cAAc,CAAC,SAAS,SAAS,SAAS,GAAG,MAAM,CAAE,SAAQ,UAAU;IAC1F,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED,OAAO,CAAC,MAAM,CAAY;IAG1B;;OAEG;IACH,IACI,KAAK,IAAI,SAAS,CAErB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,SAAS,EAEvB;IAGD;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAEjB;;OAEG;IACwB,OAAO,CAAC,SAAS,CAA6C;IAEzF;;OAEG;IACgB,OAAO,CAAC,OAAO,CAA6C;IAE/E;;OAEG;IACe,OAAO,CAAC,MAAM,CAA6C;IAErD,OAAO,CAAC,WAAW,CAAc;IAEzD;;OAEG;IACH,KAAK;IAQL;;OAEG;IACH,IAAI;IAKJ,OAAO,CAAC,QAAQ,CAA6B;IAE7C,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,sBAAsB;IAW9B,MAAM;IAON,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,iBAAiB;IAKzB,iBAAiB;IAYjB,oBAAoB;CAIrB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAC;KACpC;CACF"}
@@ -1,2 +1,2 @@
1
- import{a}from"../../../chunk-4WJJQP4L.js";import"../../../chunk-23UFIOHV.js";import"../../../chunk-57PTZNIL.js";import"../../../chunk-NZ3RGSR6.js";export{a as default};
1
+ import{a}from"../../../chunk-THIPCHAK.js";import"../../../chunk-23UFIOHV.js";import"../../../chunk-57PTZNIL.js";import"../../../chunk-NZ3RGSR6.js";export{a as default};
2
2
  //# sourceMappingURL=bl-select-option.js.map