@trendyol/baklava 2.0.0-beta.92 → 2.0.0-beta.93

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 (30) hide show
  1. package/dist/baklava-react.d.ts +4 -4
  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 +3 -3
  5. package/dist/baklava.js +1 -1
  6. package/dist/{chunk-3KKF66FB.js → chunk-GO4KZIGU.js} +1 -1
  7. package/dist/chunk-GO4KZIGU.js.map +7 -0
  8. package/dist/{chunk-DSM6T5MC.js → chunk-OSIYJGJP.js} +4 -4
  9. package/dist/chunk-OSIYJGJP.js.map +7 -0
  10. package/dist/{chunk-66XJK5VF.js → chunk-QRR36YKM.js} +1 -1
  11. package/dist/chunk-QRR36YKM.js.map +7 -0
  12. package/dist/{chunk-S7FKMIX4.js → chunk-UVCOTTG2.js} +1 -1
  13. package/dist/{chunk-S7FKMIX4.js.map → chunk-UVCOTTG2.js.map} +2 -2
  14. package/dist/components/checkbox-group/bl-checkbox-group.js +1 -1
  15. package/dist/components/checkbox-group/checkbox/bl-checkbox.d.ts +9 -0
  16. package/dist/components/checkbox-group/checkbox/bl-checkbox.d.ts.map +1 -1
  17. package/dist/components/checkbox-group/checkbox/bl-checkbox.js +1 -1
  18. package/dist/components/input/bl-input.d.ts +3 -0
  19. package/dist/components/input/bl-input.d.ts.map +1 -1
  20. package/dist/components/input/bl-input.js +1 -1
  21. package/dist/components/pagination/bl-pagination.js +1 -1
  22. package/dist/components/select/bl-select.d.ts.map +1 -1
  23. package/dist/components/select/bl-select.js +1 -1
  24. package/dist/components/textarea/bl-textarea.d.ts.map +1 -1
  25. package/dist/components/textarea/bl-textarea.js +1 -1
  26. package/dist/custom-elements.json +93 -93
  27. package/package.json +1 -1
  28. package/dist/chunk-3KKF66FB.js.map +0 -7
  29. package/dist/chunk-66XJK5VF.js.map +0 -7
  30. package/dist/chunk-DSM6T5MC.js.map +0 -7
@@ -23,8 +23,8 @@ import type BlCheckboxType from "./components/checkbox-group/checkbox/bl-checkbo
23
23
  import type BlDropdownGroupType from "./components/dropdown/group/bl-dropdown-group";
24
24
  import type BlDropdownItemType from "./components/dropdown/item/bl-dropdown-item";
25
25
  import type BlRadioType from "./components/radio-group/radio/bl-radio";
26
- import type BlTabType from "./components/tab-group/tab/bl-tab";
27
26
  import type BlSelectOptionType from "./components/select/option/bl-select-option";
27
+ import type BlTabType from "./components/tab-group/tab/bl-tab";
28
28
  import type BlTabPanelType from "./components/tab-group/tab-panel/bl-tab-panel";
29
29
  export declare const BlAlert: React.LazyExoticComponent<ReactWebComponent<BlAlertType, {
30
30
  onBlClose: EventName<CustomEvent<boolean>>;
@@ -102,13 +102,13 @@ export declare const BlRadio: React.LazyExoticComponent<ReactWebComponent<BlRadi
102
102
  onBlFocus: EventName<CustomEvent<string>>;
103
103
  onBlBlur: EventName<CustomEvent<string>>;
104
104
  }>>;
105
- export declare const BlTab: React.LazyExoticComponent<ReactWebComponent<BlTabType, {
106
- onBlTabSelected: EventName<CustomEvent<string>>;
107
- }>>;
108
105
  export declare const BlSelectOption: React.LazyExoticComponent<ReactWebComponent<BlSelectOptionType<string>, {
109
106
  onBlSelectOption: EventName<CustomEvent<ValueType | string | null>>;
110
107
  onBlFocus: EventName<CustomEvent<ValueType | string | null>>;
111
108
  onBlBlur: EventName<CustomEvent<ValueType | string | null>>;
112
109
  }>>;
110
+ export declare const BlTab: React.LazyExoticComponent<ReactWebComponent<BlTabType, {
111
+ onBlTabSelected: EventName<CustomEvent<string>>;
112
+ }>>;
113
113
  export declare const BlTabPanel: React.LazyExoticComponent<ReactWebComponent<BlTabPanelType, {}>>;
114
114
  //# sourceMappingURL=baklava-react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baklava-react.d.ts","sourceRoot":"","sources":["../src/baklava-react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baklava-react.d.ts","sourceRoot":"","sources":["../src/baklava-react.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import"./chunk-NZ3RGSR6.js";import e from"react";var w=new Set(["children","localName","ref","style","className"]),T=new WeakMap,N=(u,p,b,B,d)=>{let a=d==null?void 0:d[p];a===void 0||b===B?b==null&&p in HTMLElement.prototype?u.removeAttribute(p):u[p]=b:((s,n,g)=>{let m=T.get(s);m===void 0&&T.set(s,m=new Map);let r=m.get(n);g!==void 0?r===void 0?(m.set(n,r={handleEvent:g}),s.addEventListener(n,r)):r.handleEvent=g:r!==void 0&&(m.delete(n),s.removeEventListener(n,r))})(u,a,b)};function t(u=window.React,p,b,B,d){let a,s,n;if(p===void 0){let c=u;({tagName:s,elementClass:n,events:B,displayName:d}=c),a=c.react}else a=u,n=b,s=p;let g=a.Component,m=a.createElement,r=new Set(Object.keys(B!=null?B:{}));class E extends g{constructor(){super(...arguments),this.o=null}t(o){if(this.o!==null)for(let v in this.i)N(this.o,v,this.props[v],o?o[v]:void 0,B)}componentDidMount(){this.t()}componentDidUpdate(o){this.t(o)}render(){let{_$Gl:o,...v}=this.props;this.h!==o&&(this.u=l=>{o!==null&&((i,y)=>{typeof i=="function"?i(y):i.current=y})(o,l),this.o=l,this.h=o}),this.i={};let C={ref:this.u};for(let[l,i]of Object.entries(v))w.has(l)?C[l==="className"?"class":l]=i:r.has(l)||l in n.prototype?this.i[l]=i:C[l]=i;return m(s,C)}}E.displayName=d!=null?d:n.name;let h=a.forwardRef((c,o)=>m(E,{...c,_$Gl:o},c==null?void 0:c.children));return h.displayName=E.displayName,h}var I=e.lazy(()=>customElements.whenDefined("bl-alert").then(()=>({default:t({react:e,tagName:"bl-alert",elementClass:customElements.get("bl-alert"),events:{onBlClose:"bl-close"}})}))),P=e.lazy(()=>customElements.whenDefined("bl-badge").then(()=>({default:t({react:e,tagName:"bl-badge",elementClass:customElements.get("bl-badge"),events:{}})}))),W=e.lazy(()=>customElements.whenDefined("bl-button").then(()=>({default:t({react:e,tagName:"bl-button",elementClass:customElements.get("bl-button"),events:{onBlClick:"bl-click"}})}))),z=e.lazy(()=>customElements.whenDefined("bl-checkbox-group").then(()=>({default:t({react:e,tagName:"bl-checkbox-group",elementClass:customElements.get("bl-checkbox-group"),events:{onBlCheckboxGroupChange:"bl-checkbox-group-change"}})}))),G=e.lazy(()=>customElements.whenDefined("bl-dialog").then(()=>({default:t({react:e,tagName:"bl-dialog",elementClass:customElements.get("bl-dialog"),events:{onBlDialogOpen:"bl-dialog-open",onBlDialogClose:"bl-dialog-close"}})}))),O=e.lazy(()=>customElements.whenDefined("bl-drawer").then(()=>({default:t({react:e,tagName:"bl-drawer",elementClass:customElements.get("bl-drawer"),events:{onBlDrawerOpen:"bl-drawer-open",onBlDrawerClose:"bl-drawer-close"}})}))),V=e.lazy(()=>customElements.whenDefined("bl-dropdown").then(()=>({default:t({react:e,tagName:"bl-dropdown",elementClass:customElements.get("bl-dropdown"),events:{onBlDropdownOpen:"bl-dropdown-open",onBlDropdownClose:"bl-dropdown-close"}})}))),F=e.lazy(()=>customElements.whenDefined("bl-icon").then(()=>({default:t({react:e,tagName:"bl-icon",elementClass:customElements.get("bl-icon"),events:{onBlLoad:"bl-load",onBlError:"bl-error"}})}))),H=e.lazy(()=>customElements.whenDefined("bl-input").then(()=>({default:t({react:e,tagName:"bl-input",elementClass:customElements.get("bl-input"),events:{onBlChange:"bl-change",onBlInput:"bl-input",onBlInvalid:"bl-invalid"}})}))),j=e.lazy(()=>customElements.whenDefined("bl-pagination").then(()=>({default:t({react:e,tagName:"bl-pagination",elementClass:customElements.get("bl-pagination"),events:{onBlChange:"bl-change"}})}))),L=e.lazy(()=>customElements.whenDefined("bl-popover").then(()=>({default:t({react:e,tagName:"bl-popover",elementClass:customElements.get("bl-popover"),events:{onBlPopoverShow:"bl-popover-show",onBlPopoverHide:"bl-popover-hide"}})}))),A=e.lazy(()=>customElements.whenDefined("bl-progress-indicator").then(()=>({default:t({react:e,tagName:"bl-progress-indicator",elementClass:customElements.get("bl-progress-indicator"),events:{}})}))),M=e.lazy(()=>customElements.whenDefined("bl-radio-group").then(()=>({default:t({react:e,tagName:"bl-radio-group",elementClass:customElements.get("bl-radio-group"),events:{onBlRadioChange:"bl-radio-change"}})}))),_=e.lazy(()=>customElements.whenDefined("bl-select").then(()=>({default:t({react:e,tagName:"bl-select",elementClass:customElements.get("bl-select"),events:{onBlSelect:"bl-select"}})}))),$=e.lazy(()=>customElements.whenDefined("bl-switch").then(()=>({default:t({react:e,tagName:"bl-switch",elementClass:customElements.get("bl-switch"),events:{onBlSwitchToggle:"bl-switch-toggle"}})}))),U=e.lazy(()=>customElements.whenDefined("bl-tab-group").then(()=>({default:t({react:e,tagName:"bl-tab-group",elementClass:customElements.get("bl-tab-group"),events:{}})}))),q=e.lazy(()=>customElements.whenDefined("bl-textarea").then(()=>({default:t({react:e,tagName:"bl-textarea",elementClass:customElements.get("bl-textarea"),events:{onBlInput:"bl-input",onBlChange:"bl-change",onBlInvalid:"bl-invalid"}})}))),J=e.lazy(()=>customElements.whenDefined("bl-tooltip").then(()=>({default:t({react:e,tagName:"bl-tooltip",elementClass:customElements.get("bl-tooltip"),events:{onBlTooltipShow:"bl-tooltip-show",onBlTooltipHide:"bl-tooltip-hide"}})}))),K=e.lazy(()=>customElements.whenDefined("bl-checkbox").then(()=>({default:t({react:e,tagName:"bl-checkbox",elementClass:customElements.get("bl-checkbox"),events:{onBlCheckboxChange:"bl-checkbox-change",onBlFocus:"bl-focus",onBlBlur:"bl-blur"}})}))),Q=e.lazy(()=>customElements.whenDefined("bl-dropdown-group").then(()=>({default:t({react:e,tagName:"bl-dropdown-group",elementClass:customElements.get("bl-dropdown-group"),events:{}})}))),X=e.lazy(()=>customElements.whenDefined("bl-dropdown-item").then(()=>({default:t({react:e,tagName:"bl-dropdown-item",elementClass:customElements.get("bl-dropdown-item"),events:{onBlDropdownItemClick:"bl-dropdown-item-click"}})}))),Y=e.lazy(()=>customElements.whenDefined("bl-radio").then(()=>({default:t({react:e,tagName:"bl-radio",elementClass:customElements.get("bl-radio"),events:{onBlChecked:"bl-checked",onBlFocus:"bl-focus",onBlBlur:"bl-blur"}})}))),Z=e.lazy(()=>customElements.whenDefined("bl-tab").then(()=>({default:t({react:e,tagName:"bl-tab",elementClass:customElements.get("bl-tab"),events:{onBlTabSelected:"bl-tab-selected"}})}))),ee=e.lazy(()=>customElements.whenDefined("bl-select-option").then(()=>({default:t({react:e,tagName:"bl-select-option",elementClass:customElements.get("bl-select-option"),events:{onBlSelectOption:"bl-select-option",onBlFocus:"bl-focus",onBlBlur:"bl-blur"}})}))),te=e.lazy(()=>customElements.whenDefined("bl-tab-panel").then(()=>({default:t({react:e,tagName:"bl-tab-panel",elementClass:customElements.get("bl-tab-panel"),events:{}})})));export{I as BlAlert,P as BlBadge,W as BlButton,K as BlCheckbox,z as BlCheckboxGroup,G as BlDialog,O as BlDrawer,V as BlDropdown,Q as BlDropdownGroup,X as BlDropdownItem,F as BlIcon,H as BlInput,j as BlPagination,L as BlPopover,A as BlProgressIndicator,Y as BlRadio,M as BlRadioGroup,_ as BlSelect,ee as BlSelectOption,$ as BlSwitch,Z as BlTab,U as BlTabGroup,te as BlTabPanel,q as BlTextarea,J as BlTooltip};
1
+ import"./chunk-NZ3RGSR6.js";import e from"react";var w=new Set(["children","localName","ref","style","className"]),T=new WeakMap,N=(u,p,b,B,d)=>{let a=d==null?void 0:d[p];a===void 0||b===B?b==null&&p in HTMLElement.prototype?u.removeAttribute(p):u[p]=b:((s,n,g)=>{let m=T.get(s);m===void 0&&T.set(s,m=new Map);let r=m.get(n);g!==void 0?r===void 0?(m.set(n,r={handleEvent:g}),s.addEventListener(n,r)):r.handleEvent=g:r!==void 0&&(m.delete(n),s.removeEventListener(n,r))})(u,a,b)};function t(u=window.React,p,b,B,d){let a,s,n;if(p===void 0){let c=u;({tagName:s,elementClass:n,events:B,displayName:d}=c),a=c.react}else a=u,n=b,s=p;let g=a.Component,m=a.createElement,r=new Set(Object.keys(B!=null?B:{}));class E extends g{constructor(){super(...arguments),this.o=null}t(o){if(this.o!==null)for(let v in this.i)N(this.o,v,this.props[v],o?o[v]:void 0,B)}componentDidMount(){this.t()}componentDidUpdate(o){this.t(o)}render(){let{_$Gl:o,...v}=this.props;this.h!==o&&(this.u=l=>{o!==null&&((i,y)=>{typeof i=="function"?i(y):i.current=y})(o,l),this.o=l,this.h=o}),this.i={};let C={ref:this.u};for(let[l,i]of Object.entries(v))w.has(l)?C[l==="className"?"class":l]=i:r.has(l)||l in n.prototype?this.i[l]=i:C[l]=i;return m(s,C)}}E.displayName=d!=null?d:n.name;let h=a.forwardRef((c,o)=>m(E,{...c,_$Gl:o},c==null?void 0:c.children));return h.displayName=E.displayName,h}var I=e.lazy(()=>customElements.whenDefined("bl-alert").then(()=>({default:t({react:e,tagName:"bl-alert",elementClass:customElements.get("bl-alert"),events:{onBlClose:"bl-close"}})}))),P=e.lazy(()=>customElements.whenDefined("bl-badge").then(()=>({default:t({react:e,tagName:"bl-badge",elementClass:customElements.get("bl-badge"),events:{}})}))),W=e.lazy(()=>customElements.whenDefined("bl-button").then(()=>({default:t({react:e,tagName:"bl-button",elementClass:customElements.get("bl-button"),events:{onBlClick:"bl-click"}})}))),z=e.lazy(()=>customElements.whenDefined("bl-checkbox-group").then(()=>({default:t({react:e,tagName:"bl-checkbox-group",elementClass:customElements.get("bl-checkbox-group"),events:{onBlCheckboxGroupChange:"bl-checkbox-group-change"}})}))),G=e.lazy(()=>customElements.whenDefined("bl-dialog").then(()=>({default:t({react:e,tagName:"bl-dialog",elementClass:customElements.get("bl-dialog"),events:{onBlDialogOpen:"bl-dialog-open",onBlDialogClose:"bl-dialog-close"}})}))),O=e.lazy(()=>customElements.whenDefined("bl-drawer").then(()=>({default:t({react:e,tagName:"bl-drawer",elementClass:customElements.get("bl-drawer"),events:{onBlDrawerOpen:"bl-drawer-open",onBlDrawerClose:"bl-drawer-close"}})}))),V=e.lazy(()=>customElements.whenDefined("bl-dropdown").then(()=>({default:t({react:e,tagName:"bl-dropdown",elementClass:customElements.get("bl-dropdown"),events:{onBlDropdownOpen:"bl-dropdown-open",onBlDropdownClose:"bl-dropdown-close"}})}))),F=e.lazy(()=>customElements.whenDefined("bl-icon").then(()=>({default:t({react:e,tagName:"bl-icon",elementClass:customElements.get("bl-icon"),events:{onBlLoad:"bl-load",onBlError:"bl-error"}})}))),H=e.lazy(()=>customElements.whenDefined("bl-input").then(()=>({default:t({react:e,tagName:"bl-input",elementClass:customElements.get("bl-input"),events:{onBlChange:"bl-change",onBlInput:"bl-input",onBlInvalid:"bl-invalid"}})}))),j=e.lazy(()=>customElements.whenDefined("bl-pagination").then(()=>({default:t({react:e,tagName:"bl-pagination",elementClass:customElements.get("bl-pagination"),events:{onBlChange:"bl-change"}})}))),L=e.lazy(()=>customElements.whenDefined("bl-popover").then(()=>({default:t({react:e,tagName:"bl-popover",elementClass:customElements.get("bl-popover"),events:{onBlPopoverShow:"bl-popover-show",onBlPopoverHide:"bl-popover-hide"}})}))),A=e.lazy(()=>customElements.whenDefined("bl-progress-indicator").then(()=>({default:t({react:e,tagName:"bl-progress-indicator",elementClass:customElements.get("bl-progress-indicator"),events:{}})}))),M=e.lazy(()=>customElements.whenDefined("bl-radio-group").then(()=>({default:t({react:e,tagName:"bl-radio-group",elementClass:customElements.get("bl-radio-group"),events:{onBlRadioChange:"bl-radio-change"}})}))),_=e.lazy(()=>customElements.whenDefined("bl-select").then(()=>({default:t({react:e,tagName:"bl-select",elementClass:customElements.get("bl-select"),events:{onBlSelect:"bl-select"}})}))),$=e.lazy(()=>customElements.whenDefined("bl-switch").then(()=>({default:t({react:e,tagName:"bl-switch",elementClass:customElements.get("bl-switch"),events:{onBlSwitchToggle:"bl-switch-toggle"}})}))),U=e.lazy(()=>customElements.whenDefined("bl-tab-group").then(()=>({default:t({react:e,tagName:"bl-tab-group",elementClass:customElements.get("bl-tab-group"),events:{}})}))),q=e.lazy(()=>customElements.whenDefined("bl-textarea").then(()=>({default:t({react:e,tagName:"bl-textarea",elementClass:customElements.get("bl-textarea"),events:{onBlInput:"bl-input",onBlChange:"bl-change",onBlInvalid:"bl-invalid"}})}))),J=e.lazy(()=>customElements.whenDefined("bl-tooltip").then(()=>({default:t({react:e,tagName:"bl-tooltip",elementClass:customElements.get("bl-tooltip"),events:{onBlTooltipShow:"bl-tooltip-show",onBlTooltipHide:"bl-tooltip-hide"}})}))),K=e.lazy(()=>customElements.whenDefined("bl-checkbox").then(()=>({default:t({react:e,tagName:"bl-checkbox",elementClass:customElements.get("bl-checkbox"),events:{onBlCheckboxChange:"bl-checkbox-change",onBlFocus:"bl-focus",onBlBlur:"bl-blur"}})}))),Q=e.lazy(()=>customElements.whenDefined("bl-dropdown-group").then(()=>({default:t({react:e,tagName:"bl-dropdown-group",elementClass:customElements.get("bl-dropdown-group"),events:{}})}))),X=e.lazy(()=>customElements.whenDefined("bl-dropdown-item").then(()=>({default:t({react:e,tagName:"bl-dropdown-item",elementClass:customElements.get("bl-dropdown-item"),events:{onBlDropdownItemClick:"bl-dropdown-item-click"}})}))),Y=e.lazy(()=>customElements.whenDefined("bl-radio").then(()=>({default:t({react:e,tagName:"bl-radio",elementClass:customElements.get("bl-radio"),events:{onBlChecked:"bl-checked",onBlFocus:"bl-focus",onBlBlur:"bl-blur"}})}))),Z=e.lazy(()=>customElements.whenDefined("bl-select-option").then(()=>({default:t({react:e,tagName:"bl-select-option",elementClass:customElements.get("bl-select-option"),events:{onBlSelectOption:"bl-select-option",onBlFocus:"bl-focus",onBlBlur:"bl-blur"}})}))),ee=e.lazy(()=>customElements.whenDefined("bl-tab").then(()=>({default:t({react:e,tagName:"bl-tab",elementClass:customElements.get("bl-tab"),events:{onBlTabSelected:"bl-tab-selected"}})}))),te=e.lazy(()=>customElements.whenDefined("bl-tab-panel").then(()=>({default:t({react:e,tagName:"bl-tab-panel",elementClass:customElements.get("bl-tab-panel"),events:{}})})));export{I as BlAlert,P as BlBadge,W as BlButton,K as BlCheckbox,z as BlCheckboxGroup,G as BlDialog,O as BlDrawer,V as BlDropdown,Q as BlDropdownGroup,X as BlDropdownItem,F as BlIcon,H as BlInput,j as BlPagination,L as BlPopover,A as BlProgressIndicator,Y as BlRadio,M as BlRadioGroup,_ as BlSelect,Z as BlSelectOption,$ as BlSwitch,ee as BlTab,U as BlTabGroup,te as BlTabPanel,q as BlTextarea,J as BlTooltip};
2
2
  /*! Bundled license information:
3
3
 
4
4
  @lit-labs/react/create-component.js:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/baklava-react.ts", "../node_modules/@lit-labs/react/src/create-component.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/ban-ts-comment */\n// @ts-nocheck\nimport React from \"react\";\nimport {\n type EventName,\n createComponent,\n ReactWebComponent,\n} from \"@lit-labs/react\";\nimport { ISelectOption } from \"./components/select/bl-select\";\nimport type BlAlertType from \"./components/alert/bl-alert\";\nimport type BlBadgeType from \"./components/badge/bl-badge\";\nimport type BlButtonType from \"./components/button/bl-button\";\nimport type BlCheckboxGroupType from \"./components/checkbox-group/bl-checkbox-group\";\nimport type BlDialogType from \"./components/dialog/bl-dialog\";\nimport type BlDrawerType from \"./components/drawer/bl-drawer\";\nimport type BlDropdownType from \"./components/dropdown/bl-dropdown\";\nimport type BlIconType from \"./components/icon/bl-icon\";\nimport type BlInputType from \"./components/input/bl-input\";\nimport type BlPaginationType from \"./components/pagination/bl-pagination\";\nimport type BlPopoverType from \"./components/popover/bl-popover\";\nimport type BlProgressIndicatorType from \"./components/progress-indicator/bl-progress-indicator\";\nimport type BlRadioGroupType from \"./components/radio-group/bl-radio-group\";\nimport type BlSelectType from \"./components/select/bl-select\";\nimport type BlSwitchType from \"./components/switch/bl-switch\";\nimport type BlTabGroupType from \"./components/tab-group/bl-tab-group\";\nimport type BlTextareaType from \"./components/textarea/bl-textarea\";\nimport type BlTooltipType from \"./components/tooltip/bl-tooltip\";\nimport type BlCheckboxType from \"./components/checkbox-group/checkbox/bl-checkbox\";\nimport type BlDropdownGroupType from \"./components/dropdown/group/bl-dropdown-group\";\nimport type BlDropdownItemType from \"./components/dropdown/item/bl-dropdown-item\";\nimport type BlRadioType from \"./components/radio-group/radio/bl-radio\";\nimport type BlTabType from \"./components/tab-group/tab/bl-tab\";\nimport type BlSelectOptionType from \"./components/select/option/bl-select-option\";\nimport type BlTabPanelType from \"./components/tab-group/tab-panel/bl-tab-panel\";\n\nexport const BlAlert = React.lazy<\n ReactWebComponent<BlAlertType, { onBlClose: EventName<CustomEvent<boolean>> }>\n>(() =>\n customElements.whenDefined(\"bl-alert\").then(() => ({\n default: createComponent<\n BlAlertType,\n { onBlClose: EventName<CustomEvent<boolean>> }\n >({\n react: React,\n tagName: \"bl-alert\",\n elementClass: customElements.get(\"bl-alert\"),\n events: { onBlClose: \"bl-close\" },\n }),\n }))\n);\n\nexport const BlBadge = React.lazy<ReactWebComponent<BlBadgeType>>(() =>\n customElements.whenDefined(\"bl-badge\").then(() => ({\n default: createComponent<BlBadgeType>({\n react: React,\n tagName: \"bl-badge\",\n elementClass: customElements.get(\"bl-badge\"),\n events: {},\n }),\n }))\n);\n\nexport const BlButton = React.lazy<\n ReactWebComponent<BlButtonType, { onBlClick: EventName<CustomEvent<string>> }>\n>(() =>\n customElements.whenDefined(\"bl-button\").then(() => ({\n default: createComponent<\n BlButtonType,\n { onBlClick: EventName<CustomEvent<string>> }\n >({\n react: React,\n tagName: \"bl-button\",\n elementClass: customElements.get(\"bl-button\"),\n events: { onBlClick: \"bl-click\" },\n }),\n }))\n);\n\nexport const BlCheckboxGroup = React.lazy<\n ReactWebComponent<\n BlCheckboxGroupType,\n { onBlCheckboxGroupChange: EventName<CustomEvent<string[]>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-checkbox-group\").then(() => ({\n default: createComponent<\n BlCheckboxGroupType,\n { onBlCheckboxGroupChange: EventName<CustomEvent<string[]>> }\n >({\n react: React,\n tagName: \"bl-checkbox-group\",\n elementClass: customElements.get(\"bl-checkbox-group\"),\n events: { onBlCheckboxGroupChange: \"bl-checkbox-group-change\" },\n }),\n }))\n);\n\nexport const BlDialog = React.lazy<\n ReactWebComponent<\n BlDialogType,\n {\n onBlDialogOpen: EventName<CustomEvent<object>>;\n onBlDialogClose: EventName<CustomEvent<object>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-dialog\").then(() => ({\n default: createComponent<\n BlDialogType,\n {\n onBlDialogOpen: EventName<CustomEvent<object>>;\n onBlDialogClose: EventName<CustomEvent<object>>;\n }\n >({\n react: React,\n tagName: \"bl-dialog\",\n elementClass: customElements.get(\"bl-dialog\"),\n events: {\n onBlDialogOpen: \"bl-dialog-open\",\n onBlDialogClose: \"bl-dialog-close\",\n },\n }),\n }))\n);\n\nexport const BlDrawer = React.lazy<\n ReactWebComponent<\n BlDrawerType,\n {\n onBlDrawerOpen: EventName<CustomEvent<string>>;\n onBlDrawerClose: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-drawer\").then(() => ({\n default: createComponent<\n BlDrawerType,\n {\n onBlDrawerOpen: EventName<CustomEvent<string>>;\n onBlDrawerClose: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-drawer\",\n elementClass: customElements.get(\"bl-drawer\"),\n events: {\n onBlDrawerOpen: \"bl-drawer-open\",\n onBlDrawerClose: \"bl-drawer-close\",\n },\n }),\n }))\n);\n\nexport const BlDropdown = React.lazy<\n ReactWebComponent<\n BlDropdownType,\n {\n onBlDropdownOpen: EventName<CustomEvent<string>>;\n onBlDropdownClose: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-dropdown\").then(() => ({\n default: createComponent<\n BlDropdownType,\n {\n onBlDropdownOpen: EventName<CustomEvent<string>>;\n onBlDropdownClose: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-dropdown\",\n elementClass: customElements.get(\"bl-dropdown\"),\n events: {\n onBlDropdownOpen: \"bl-dropdown-open\",\n onBlDropdownClose: \"bl-dropdown-close\",\n },\n }),\n }))\n);\n\nexport const BlIcon = React.lazy<\n ReactWebComponent<\n BlIconType,\n {\n onBlLoad: EventName<CustomEvent<string>>;\n onBlError: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-icon\").then(() => ({\n default: createComponent<\n BlIconType,\n {\n onBlLoad: EventName<CustomEvent<string>>;\n onBlError: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-icon\",\n elementClass: customElements.get(\"bl-icon\"),\n events: { onBlLoad: \"bl-load\", onBlError: \"bl-error\" },\n }),\n }))\n);\n\nexport const BlInput = React.lazy<\n ReactWebComponent<\n BlInputType,\n {\n onBlChange: EventName<CustomEvent<string>>;\n onBlInput: EventName<CustomEvent<string>>;\n onBlInvalid: EventName<CustomEvent<ValidityState>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-input\").then(() => ({\n default: createComponent<\n BlInputType,\n {\n onBlChange: EventName<CustomEvent<string>>;\n onBlInput: EventName<CustomEvent<string>>;\n onBlInvalid: EventName<CustomEvent<ValidityState>>;\n }\n >({\n react: React,\n tagName: \"bl-input\",\n elementClass: customElements.get(\"bl-input\"),\n events: {\n onBlChange: \"bl-change\",\n onBlInput: \"bl-input\",\n onBlInvalid: \"bl-invalid\",\n },\n }),\n }))\n);\n\nexport const BlPagination = React.lazy<\n ReactWebComponent<\n BlPaginationType,\n {\n onBlChange: EventName<\n CustomEvent<{\n selectedPage: number;\n prevPage: number;\n itemsPerPage: number;\n }>\n >;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-pagination\").then(() => ({\n default: createComponent<\n BlPaginationType,\n {\n onBlChange: EventName<\n CustomEvent<{\n selectedPage: number;\n prevPage: number;\n itemsPerPage: number;\n }>\n >;\n }\n >({\n react: React,\n tagName: \"bl-pagination\",\n elementClass: customElements.get(\"bl-pagination\"),\n events: { onBlChange: \"bl-change\" },\n }),\n }))\n);\n\nexport const BlPopover = React.lazy<\n ReactWebComponent<\n BlPopoverType,\n {\n onBlPopoverShow: EventName<CustomEvent<string>>;\n onBlPopoverHide: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-popover\").then(() => ({\n default: createComponent<\n BlPopoverType,\n {\n onBlPopoverShow: EventName<CustomEvent<string>>;\n onBlPopoverHide: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-popover\",\n elementClass: customElements.get(\"bl-popover\"),\n events: {\n onBlPopoverShow: \"bl-popover-show\",\n onBlPopoverHide: \"bl-popover-hide\",\n },\n }),\n }))\n);\n\nexport const BlProgressIndicator = React.lazy<\n ReactWebComponent<BlProgressIndicatorType>\n>(() =>\n customElements.whenDefined(\"bl-progress-indicator\").then(() => ({\n default: createComponent<BlProgressIndicatorType>({\n react: React,\n tagName: \"bl-progress-indicator\",\n elementClass: customElements.get(\"bl-progress-indicator\"),\n events: {},\n }),\n }))\n);\n\nexport const BlRadioGroup = React.lazy<\n ReactWebComponent<\n BlRadioGroupType,\n { onBlRadioChange: EventName<CustomEvent<string>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-radio-group\").then(() => ({\n default: createComponent<\n BlRadioGroupType,\n { onBlRadioChange: EventName<CustomEvent<string>> }\n >({\n react: React,\n tagName: \"bl-radio-group\",\n elementClass: customElements.get(\"bl-radio-group\"),\n events: { onBlRadioChange: \"bl-radio-change\" },\n }),\n }))\n);\n\nexport const BlSelect = React.lazy<\n ReactWebComponent<\n BlSelectType,\n { onBlSelect: EventName<CustomEvent<ISelectOption[]>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-select\").then(() => ({\n default: createComponent<\n BlSelectType,\n { onBlSelect: EventName<CustomEvent<ISelectOption[]>> }\n >({\n react: React,\n tagName: \"bl-select\",\n elementClass: customElements.get(\"bl-select\"),\n events: { onBlSelect: \"bl-select\" },\n }),\n }))\n);\n\nexport const BlSwitch = React.lazy<\n ReactWebComponent<\n BlSwitchType,\n { onBlSwitchToggle: EventName<CustomEvent<boolean>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-switch\").then(() => ({\n default: createComponent<\n BlSwitchType,\n { onBlSwitchToggle: EventName<CustomEvent<boolean>> }\n >({\n react: React,\n tagName: \"bl-switch\",\n elementClass: customElements.get(\"bl-switch\"),\n events: { onBlSwitchToggle: \"bl-switch-toggle\" },\n }),\n }))\n);\n\nexport const BlTabGroup = React.lazy<ReactWebComponent<BlTabGroupType>>(() =>\n customElements.whenDefined(\"bl-tab-group\").then(() => ({\n default: createComponent<BlTabGroupType>({\n react: React,\n tagName: \"bl-tab-group\",\n elementClass: customElements.get(\"bl-tab-group\"),\n events: {},\n }),\n }))\n);\n\nexport const BlTextarea = React.lazy<\n ReactWebComponent<\n BlTextareaType,\n {\n onBlInput: EventName<CustomEvent<string>>;\n onBlChange: EventName<CustomEvent<string>>;\n onBlInvalid: EventName<CustomEvent<ValidityState>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-textarea\").then(() => ({\n default: createComponent<\n BlTextareaType,\n {\n onBlInput: EventName<CustomEvent<string>>;\n onBlChange: EventName<CustomEvent<string>>;\n onBlInvalid: EventName<CustomEvent<ValidityState>>;\n }\n >({\n react: React,\n tagName: \"bl-textarea\",\n elementClass: customElements.get(\"bl-textarea\"),\n events: {\n onBlInput: \"bl-input\",\n onBlChange: \"bl-change\",\n onBlInvalid: \"bl-invalid\",\n },\n }),\n }))\n);\n\nexport const BlTooltip = React.lazy<\n ReactWebComponent<\n BlTooltipType,\n {\n onBlTooltipShow: EventName<CustomEvent<string>>;\n onBlTooltipHide: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-tooltip\").then(() => ({\n default: createComponent<\n BlTooltipType,\n {\n onBlTooltipShow: EventName<CustomEvent<string>>;\n onBlTooltipHide: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-tooltip\",\n elementClass: customElements.get(\"bl-tooltip\"),\n events: {\n onBlTooltipShow: \"bl-tooltip-show\",\n onBlTooltipHide: \"bl-tooltip-hide\",\n },\n }),\n }))\n);\n\nexport const BlCheckbox = React.lazy<\n ReactWebComponent<\n BlCheckboxType,\n {\n onBlCheckboxChange: EventName<CustomEvent<boolean>>;\n onBlFocus: EventName<CustomEvent<string>>;\n onBlBlur: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-checkbox\").then(() => ({\n default: createComponent<\n BlCheckboxType,\n {\n onBlCheckboxChange: EventName<CustomEvent<boolean>>;\n onBlFocus: EventName<CustomEvent<string>>;\n onBlBlur: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-checkbox\",\n elementClass: customElements.get(\"bl-checkbox\"),\n events: {\n onBlCheckboxChange: \"bl-checkbox-change\",\n onBlFocus: \"bl-focus\",\n onBlBlur: \"bl-blur\",\n },\n }),\n }))\n);\n\nexport const BlDropdownGroup = React.lazy<\n ReactWebComponent<BlDropdownGroupType>\n>(() =>\n customElements.whenDefined(\"bl-dropdown-group\").then(() => ({\n default: createComponent<BlDropdownGroupType>({\n react: React,\n tagName: \"bl-dropdown-group\",\n elementClass: customElements.get(\"bl-dropdown-group\"),\n events: {},\n }),\n }))\n);\n\nexport const BlDropdownItem = React.lazy<\n ReactWebComponent<\n BlDropdownItemType,\n { onBlDropdownItemClick: EventName<CustomEvent<string>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-dropdown-item\").then(() => ({\n default: createComponent<\n BlDropdownItemType,\n { onBlDropdownItemClick: EventName<CustomEvent<string>> }\n >({\n react: React,\n tagName: \"bl-dropdown-item\",\n elementClass: customElements.get(\"bl-dropdown-item\"),\n events: { onBlDropdownItemClick: \"bl-dropdown-item-click\" },\n }),\n }))\n);\n\nexport const BlRadio = React.lazy<\n ReactWebComponent<\n BlRadioType,\n {\n onBlChecked: EventName<CustomEvent<string>>;\n onBlFocus: EventName<CustomEvent<string>>;\n onBlBlur: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-radio\").then(() => ({\n default: createComponent<\n BlRadioType,\n {\n onBlChecked: EventName<CustomEvent<string>>;\n onBlFocus: EventName<CustomEvent<string>>;\n onBlBlur: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-radio\",\n elementClass: customElements.get(\"bl-radio\"),\n events: {\n onBlChecked: \"bl-checked\",\n onBlFocus: \"bl-focus\",\n onBlBlur: \"bl-blur\",\n },\n }),\n }))\n);\n\nexport const BlTab = React.lazy<\n ReactWebComponent<\n BlTabType,\n { onBlTabSelected: EventName<CustomEvent<string>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-tab\").then(() => ({\n default: createComponent<\n BlTabType,\n { onBlTabSelected: EventName<CustomEvent<string>> }\n >({\n react: React,\n tagName: \"bl-tab\",\n elementClass: customElements.get(\"bl-tab\"),\n events: { onBlTabSelected: \"bl-tab-selected\" },\n }),\n }))\n);\n\nexport const BlSelectOption = React.lazy<\n ReactWebComponent<\n BlSelectOptionType,\n {\n onBlSelectOption: EventName<CustomEvent<ValueType | string | null>>;\n onBlFocus: EventName<CustomEvent<ValueType | string | null>>;\n onBlBlur: EventName<CustomEvent<ValueType | string | null>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-select-option\").then(() => ({\n default: createComponent<\n BlSelectOptionType,\n {\n onBlSelectOption: EventName<CustomEvent<ValueType | string | null>>;\n onBlFocus: EventName<CustomEvent<ValueType | string | null>>;\n onBlBlur: EventName<CustomEvent<ValueType | string | null>>;\n }\n >({\n react: React,\n tagName: \"bl-select-option\",\n elementClass: customElements.get(\"bl-select-option\"),\n events: {\n onBlSelectOption: \"bl-select-option\",\n onBlFocus: \"bl-focus\",\n onBlBlur: \"bl-blur\",\n },\n }),\n }))\n);\n\nexport const BlTabPanel = React.lazy<ReactWebComponent<BlTabPanelType>>(() =>\n customElements.whenDefined(\"bl-tab-panel\").then(() => ({\n default: createComponent<BlTabPanelType>({\n react: React,\n tagName: \"bl-tab-panel\",\n elementClass: customElements.get(\"bl-tab-panel\"),\n events: {},\n }),\n }))\n);\n", "/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n// Match a prop name to a typed event callback by\n// adding an Event type as an expected property on a string.\nexport type EventName<T extends Event = Event> = string & {\n __event_type: T;\n};\n\n// A key value map matching React prop names to event names\ntype EventNames = Record<string, EventName | string>;\n\n// A map of expected event listener types based on EventNames\ntype EventListeners<R extends EventNames> = {\n [K in keyof R]: R[K] extends EventName\n ? (e: R[K]['__event_type']) => void\n : (e: Event) => void;\n};\n\ntype ReactProps<I, E> = Omit<React.HTMLAttributes<I>, keyof E>;\ntype ElementWithoutPropsOrEventListeners<I, E> = Omit<\n I,\n keyof E | keyof ReactProps<I, E>\n>;\n\n// Props the user is allowed to use, includes standard attributes, children,\n// ref, as well as special event and element properties.\nexport type WebComponentProps<\n I extends HTMLElement,\n E extends EventNames = {}\n> = Partial<\n ReactProps<I, E> &\n ElementWithoutPropsOrEventListeners<I, E> &\n EventListeners<E>\n>;\n\n// Props used by this component wrapper. This is the WebComponentProps and the\n// special `__forwardedRef` property. Note, this ref is special because\n// it's both needed in this component to get access to the rendered element\n// and must fulfill any ref passed by the user.\ntype ReactComponentProps<\n I extends HTMLElement,\n E extends EventNames = {}\n> = WebComponentProps<I, E> & {\n __forwardedRef: React.Ref<I>;\n};\n\nexport type ReactWebComponent<\n I extends HTMLElement,\n E extends EventNames = {}\n> = React.ForwardRefExoticComponent<\n React.PropsWithoutRef<WebComponentProps<I, E>> & React.RefAttributes<I>\n>;\n\ninterface Options<I extends HTMLElement, E extends EventNames = {}> {\n tagName: string;\n elementClass: Constructor<I>;\n react: typeof window.React;\n events?: E;\n displayName?: string;\n}\n\ntype Constructor<T> = {new (): T};\n\nconst DEV_MODE = true;\n\nconst reservedReactProperties = new Set([\n 'children',\n 'localName',\n 'ref',\n 'style',\n 'className',\n]);\n\nconst listenedEvents: WeakMap<\n Element,\n Map<string, EventListenerObject>\n> = new WeakMap();\n\n/**\n * Adds an event listener for the specified event to the given node. In the\n * React setup, there should only ever be one event listener. Thus, for\n * efficiency only one listener is added and the handler for that listener is\n * updated to point to the given listener function.\n */\nconst addOrUpdateEventListener = (\n node: Element,\n event: string,\n listener: (event?: Event) => void\n) => {\n let events = listenedEvents.get(node);\n if (events === undefined) {\n listenedEvents.set(node, (events = new Map()));\n }\n let handler = events.get(event);\n if (listener !== undefined) {\n // If necessary, add listener and track handler\n if (handler === undefined) {\n events.set(event, (handler = {handleEvent: listener}));\n node.addEventListener(event, handler);\n // Otherwise just update the listener with new value\n } else {\n handler.handleEvent = listener;\n }\n // Remove listener if one exists and value is undefined\n } else if (handler !== undefined) {\n events.delete(event);\n node.removeEventListener(event, handler);\n }\n};\n\n/**\n * Sets properties and events on custom elements. These properties and events\n * have been pre-filtered so we know they should apply to the custom element.\n */\nconst setProperty = <E extends Element>(\n node: E,\n name: string,\n value: unknown,\n old: unknown,\n events?: EventNames\n) => {\n const event = events?.[name];\n if (event !== undefined && value !== old) {\n // Dirty check event value.\n addOrUpdateEventListener(node, event, value as (e?: Event) => void);\n return;\n }\n\n // Note, the attribute removal here for `undefined` and `null` values is done\n // to match React's behavior on non-custom elements. It needs special\n // handling because it does not match platform behavior. For example,\n // setting the `id` property to `undefined` sets the attribute to the string\n // \"undefined.\" React \"fixes\" that odd behavior and the code here matches\n // React's convention.\n if (\n (value === undefined || value === null) &&\n name in HTMLElement.prototype\n ) {\n node.removeAttribute(name);\n return;\n }\n\n // But don't dirty check properties; elements are assumed to do this.\n node[name as keyof E] = value as E[keyof E];\n};\n\n// Set a React ref. Note, there are 2 kinds of refs and there's no built in\n// React API to set a ref.\nconst setRef = (ref: React.Ref<unknown>, value: Element | null) => {\n if (typeof ref === 'function') {\n ref(value);\n } else {\n (ref as {current: Element | null}).current = value;\n }\n};\n\n/**\n * Creates a React component for a custom element. Properties are distinguished\n * from attributes automatically, and events can be configured so they are\n * added to the custom element as event listeners.\n *\n * @param options An options bag containing the parameters needed to generate\n * a wrapped web component.\n *\n * @param options.react The React module, typically imported from the `react` npm\n * package.\n * @param options.tagName The custom element tag name registered via\n * `customElements.define`.\n * @param options.elementClass The custom element class registered via\n * `customElements.define`.\n * @param options.events An object listing events to which the component can listen. The\n * object keys are the event property names passed in via React props and the\n * object values are the names of the corresponding events generated by the\n * custom element. For example, given `{onactivate: 'activate'}` an event\n * function may be passed via the component's `onactivate` prop and will be\n * called when the custom element fires its `activate` event.\n * @param options.displayName A React component display name, used in debugging\n * messages. Default value is inferred from the name of custom element class\n * registered via `customElements.define`.\n */\nexport function createComponent<\n I extends HTMLElement,\n E extends EventNames = {}\n>(options: Options<I, E>): ReactWebComponent<I, E>;\n/**\n * @deprecated Use `createComponent(options)` instead of individual arguments.\n *\n * Creates a React component for a custom element. Properties are distinguished\n * from attributes automatically, and events can be configured so they are\n * added to the custom element as event listeners.\n *\n * @param React The React module, typically imported from the `react` npm\n * package.\n * @param tagName The custom element tag name registered via\n * `customElements.define`.\n * @param elementClass The custom element class registered via\n * `customElements.define`.\n * @param events An object listing events to which the component can listen. The\n * object keys are the event property names passed in via React props and the\n * object values are the names of the corresponding events generated by the\n * custom element. For example, given `{onactivate: 'activate'}` an event\n * function may be passed via the component's `onactivate` prop and will be\n * called when the custom element fires its `activate` event.\n * @param displayName A React component display name, used in debugging\n * messages. Default value is inferred from the name of custom element class\n * registered via `customElements.define`.\n */\nexport function createComponent<\n I extends HTMLElement,\n E extends EventNames = {}\n>(\n ReactOrOptions: typeof window.React,\n tagName: string,\n elementClass: Constructor<I>,\n events?: E,\n displayName?: string\n): ReactWebComponent<I, E>;\nexport function createComponent<\n I extends HTMLElement,\n E extends EventNames = {}\n>(\n ReactOrOptions: typeof window.React | Options<I, E> = window.React,\n tagName?: string,\n elementClass?: Constructor<I>,\n events?: E,\n displayName?: string\n): ReactWebComponent<I, E> {\n // digest overloaded parameters\n let React: typeof window.React;\n let tag: string;\n let element: Constructor<I>;\n if (tagName === undefined) {\n const options = ReactOrOptions as Options<I, E>;\n ({tagName: tag, elementClass: element, events, displayName} = options);\n React = options.react;\n } else {\n React = ReactOrOptions as typeof window.React;\n element = elementClass as Constructor<I>;\n tag = tagName;\n }\n\n // Warn users when web components use reserved React properties\n if (DEV_MODE) {\n for (const p of reservedReactProperties) {\n if (p in element.prototype && !(p in HTMLElement.prototype)) {\n // Note, this effectively warns only for `ref` since the other\n // reserved props are on HTMLElement.prototype. To address this\n // would require crawling down the prototype, which doesn't feel worth\n // it since implementing these properties on an element is extremely\n // rare.\n console.warn(`${tagName} contains property ${p} which is a React\nreserved property. It will be used by React and not set on\nthe element.`);\n }\n }\n }\n\n const Component = React.Component;\n const createElement = React.createElement;\n const eventProps = new Set(Object.keys(events ?? {}));\n\n type Props = ReactComponentProps<I, E>;\n\n class ReactComponent extends Component<Props> {\n private _element: I | null = null;\n private _elementProps!: Record<string, unknown>;\n private _forwardedRef?: React.Ref<I>;\n private _ref?: React.RefCallback<I>;\n\n static displayName = displayName ?? element.name;\n\n private _updateElement(oldProps?: Props) {\n if (this._element === null) {\n return;\n }\n // Set element properties to the values in `this.props`\n for (const prop in this._elementProps) {\n setProperty(\n this._element,\n prop,\n this.props[prop],\n oldProps ? oldProps[prop] : undefined,\n events\n );\n }\n // Note, the spirit of React might be to \"unset\" any old values that\n // are no longer included; however, there's no reasonable value to set\n // them to so we just leave the previous state as is.\n }\n\n /**\n * Updates element properties correctly setting properties\n * on mount.\n */\n override componentDidMount() {\n this._updateElement();\n }\n\n /**\n * Updates element properties correctly setting properties\n * on every update. Note, this does not include mount.\n */\n override componentDidUpdate(old: Props) {\n this._updateElement(old);\n }\n\n /**\n * Renders the custom element with a `ref` prop which allows this\n * component to reference the custom element.\n *\n * Standard attributes are passed to React and element properties and events\n * are updated in componentDidMount/componentDidUpdate.\n *\n */\n override render() {\n // Extract and remove __forwardedRef from userProps in a rename-safe way\n const {__forwardedRef, ...userProps} = this.props;\n // Since refs only get fulfilled once, pass a new one if the user's ref\n // changed. This allows refs to be fulfilled as expected, going from\n // having a value to null.\n if (this._forwardedRef !== __forwardedRef) {\n this._ref = (value: I | null) => {\n if (__forwardedRef !== null) {\n setRef(__forwardedRef, value);\n }\n\n this._element = value;\n this._forwardedRef = __forwardedRef;\n };\n }\n // Save element props while iterating to avoid the need to iterate again\n // when setting properties.\n this._elementProps = {};\n const props: Record<string, unknown> = {ref: this._ref};\n // Filters class properties and event properties out and passes the\n // remaining attributes to React. This allows attributes to use framework\n // rules for setting attributes and render correctly under SSR.\n for (const [k, v] of Object.entries(userProps)) {\n if (reservedReactProperties.has(k)) {\n // React does *not* handle `className` for custom elements so\n // coerce it to `class` so it's handled correctly.\n props[k === 'className' ? 'class' : k] = v;\n continue;\n }\n\n if (eventProps.has(k) || k in element.prototype) {\n this._elementProps[k] = v;\n continue;\n }\n\n props[k] = v;\n }\n return createElement<React.HTMLAttributes<I>, I>(tag, props);\n }\n }\n\n const ForwardedComponent: ReactWebComponent<I, E> = React.forwardRef<\n I,\n WebComponentProps<I, E>\n >((props, __forwardedRef) =>\n createElement<Props, ReactComponent, typeof ReactComponent>(\n ReactComponent,\n {...props, __forwardedRef},\n props?.children\n )\n );\n\n // To ease debugging in the React Developer Tools\n ForwardedComponent.displayName = ReactComponent.displayName;\n\n return ForwardedComponent;\n}\n"],
5
- "mappings": "4BAEA,OAAOA,MAAW,QCmElB,IAAMC,EAA0B,IAAIC,IAAI,CACtC,WACA,YACA,MACA,QACA,WAAA,CAAA,EAGIC,EAGF,IAAIC,QAsCFC,EAAc,CAClBC,EACAC,EACAC,EACAC,EACAC,IAAAA,CAEA,IAAMC,EAAQD,GAAAA,KAAAA,OAAAA,EAASH,CAAAA,EACnBI,IADmBJ,QACIC,IAAUC,EAalCD,GAAD,MACAD,KAAQK,YAAYC,UAEpBP,EAAKQ,gBAAgBP,CAAAA,EAKvBD,EAAKC,CAAAA,EAAmBC,GA3DO,CAC/BF,EACAK,EACAI,IAAAA,CAEA,IAAIL,EAASP,EAAea,IAAIV,CAAAA,EAC5BI,IAD4BJ,QAE9BH,EAAec,IAAIX,EAAOI,EAAS,IAAIQ,GAAAA,EAEzC,IAAIC,EAAUT,EAAOM,IAAIL,CAAAA,EACrBI,IADqBJ,OAGnBQ,IAFFJ,QAGAL,EAAOO,IAAIN,EAAQQ,EAAU,CAACC,YAAaL,CAAAA,CAAAA,EAC3CT,EAAKe,iBAAiBV,EAAOQ,CAAAA,GAG7BA,EAAQC,YAAcL,EAGfI,IAHeJ,SAIxBL,EAAOY,OAAOX,CAAAA,EACdL,EAAKiB,oBAAoBZ,EAAOQ,CAAAA,EACjC,GAiB0Bb,EAAMK,EAAOH,CAAAA,CAmBG,EA0E7B,SAAAgB,EAIdC,EAAsDC,OAAOC,MAC7DC,EACAC,EACAnB,EACAoB,EAAAA,CAGA,IAAIH,EACAI,EACAC,EACJ,GAAIJ,IAAJ,OAA2B,CACzB,IAAMK,EAAUR,GAAAA,CACdG,QAASG,EAAKF,aAAcG,EAAStB,OAAAA,EAAQoB,YAAAA,CAAAA,EAAeG,GAC9DN,EAAQM,EAAQC,WAEhBP,EAAQF,EACRO,EAAUH,EACVE,EAAMH,EAmBR,IAAMO,EAAYR,EAAMQ,UAClBC,EAAgBT,EAAMS,cACtBC,EAAa,IAAInC,IAAIoC,OAAOC,KAAK7B,GAAAA,KAAAA,EAAU,CAAA,CAAA,CAAA,EAIjD,MAAM8B,UAAuBL,CAAAA,CAA7BM,aAAAA,CAAAA,MAAAA,GAAAA,SAAAA,EACUC,KAAQC,EAAa,IA0F9B,CAnFSC,EAAeC,EAAAA,CACrB,GAAIH,KAAKC,IAAa,KAItB,QAAWG,KAAQJ,KAAKK,EACtB1C,EACEqC,KAAKC,EACLG,EACAJ,KAAKM,MAAMF,CAAAA,EACXD,EAAWA,EAASC,CAAAA,EAAAA,OACpBpC,CAAAA,CAML,CAMQuC,mBAAAA,CACPP,KAAKE,EAAAA,CACN,CAMQM,mBAAmBzC,EAAAA,CAC1BiC,KAAKE,EAAenC,CAAAA,CACrB,CAUQ0C,QAAAA,CAEP,GAAA,CAAMC,KAACC,EAAAA,GAAmBC,CAAAA,EAAaZ,KAAKM,MAIxCN,KAAKa,IAAkBF,IACzBX,KAAKc,EAAQhD,GAAAA,CACP6C,IAAmB,OA9KlB,CAACI,EAAyBjD,IAAAA,CACpB,OAARiD,GAAQ,WACjBA,EAAIjD,CAAAA,EAEHiD,EAAkCC,QAAUlD,CAC9C,GA0KgB6C,EAAgB7C,CAAAA,EAGzBkC,KAAKC,EAAWnC,EAChBkC,KAAKa,EAAgBF,CAAc,GAKvCX,KAAKK,EAAgB,CAAA,EACrB,IAAMC,EAAiC,CAACS,IAAKf,KAAKc,CAAAA,EAIlD,OAAK,CAAOG,EAAGC,CAAAA,IAAMtB,OAAOuB,QAAQP,CAAAA,EAC9BrD,EAAwB6D,IAAIH,CAAAA,EAG9BX,EAAMW,IAAM,YAAc,QAAUA,CAAAA,EAAKC,EAIvCvB,EAAWyB,IAAIH,CAAAA,GAAMA,KAAK3B,EAAQnB,UACpC6B,KAAKK,EAAcY,CAAAA,EAAKC,EAI1BZ,EAAMW,CAAAA,EAAKC,EAEb,OAAOxB,EAA0CL,EAAKiB,CAAAA,CACvD,CAAA,CApFMR,EAAWV,YAAGA,GAAAA,KAAAA,EAAeE,EAAQzB,KAuF9C,IAAMwD,EAA8CpC,EAAMqC,WAGxD,CAAChB,EAAOK,IACRjB,EACEI,EACA,CAAA,GAAIQ,EAAOK,KAAAA,CAAAA,EACXL,GAAAA,KAAAA,OAAAA,EAAOiB,QAAAA,CAAAA,EAOX,OAFAF,EAAmBjC,YAAcU,EAAeV,YAEzCiC,CACT,CDpVO,IAAMG,EAAUC,EAAM,KAE3B,IACA,eAAe,YAAY,UAAU,EAAE,KAAK,KAAO,CACjD,QAASC,EAGP,CACA,MAAOD,EACP,QAAS,WACT,aAAc,eAAe,IAAI,UAAU,EAC3C,OAAQ,CAAE,UAAW,UAAW,CAClC,CAAC,CACH,EAAE,CACJ,EAEaE,EAAUF,EAAM,KAAqC,IAChE,eAAe,YAAY,UAAU,EAAE,KAAK,KAAO,CACjD,QAASC,EAA6B,CACpC,MAAOD,EACP,QAAS,WACT,aAAc,eAAe,IAAI,UAAU,EAC3C,OAAQ,CAAC,CACX,CAAC,CACH,EAAE,CACJ,EAEaG,EAAWH,EAAM,KAE5B,IACA,eAAe,YAAY,WAAW,EAAE,KAAK,KAAO,CAClD,QAASC,EAGP,CACA,MAAOD,EACP,QAAS,YACT,aAAc,eAAe,IAAI,WAAW,EAC5C,OAAQ,CAAE,UAAW,UAAW,CAClC,CAAC,CACH,EAAE,CACJ,EAEaI,EAAkBJ,EAAM,KAKnC,IACA,eAAe,YAAY,mBAAmB,EAAE,KAAK,KAAO,CAC1D,QAASC,EAGP,CACA,MAAOD,EACP,QAAS,oBACT,aAAc,eAAe,IAAI,mBAAmB,EACpD,OAAQ,CAAE,wBAAyB,0BAA2B,CAChE,CAAC,CACH,EAAE,CACJ,EAEaK,EAAWL,EAAM,KAQ5B,IACA,eAAe,YAAY,WAAW,EAAE,KAAK,KAAO,CAClD,QAASC,EAMP,CACA,MAAOD,EACP,QAAS,YACT,aAAc,eAAe,IAAI,WAAW,EAC5C,OAAQ,CACN,eAAgB,iBAChB,gBAAiB,iBACnB,CACF,CAAC,CACH,EAAE,CACJ,EAEaM,EAAWN,EAAM,KAQ5B,IACA,eAAe,YAAY,WAAW,EAAE,KAAK,KAAO,CAClD,QAASC,EAMP,CACA,MAAOD,EACP,QAAS,YACT,aAAc,eAAe,IAAI,WAAW,EAC5C,OAAQ,CACN,eAAgB,iBAChB,gBAAiB,iBACnB,CACF,CAAC,CACH,EAAE,CACJ,EAEaO,EAAaP,EAAM,KAQ9B,IACA,eAAe,YAAY,aAAa,EAAE,KAAK,KAAO,CACpD,QAASC,EAMP,CACA,MAAOD,EACP,QAAS,cACT,aAAc,eAAe,IAAI,aAAa,EAC9C,OAAQ,CACN,iBAAkB,mBAClB,kBAAmB,mBACrB,CACF,CAAC,CACH,EAAE,CACJ,EAEaQ,EAASR,EAAM,KAQ1B,IACA,eAAe,YAAY,SAAS,EAAE,KAAK,KAAO,CAChD,QAASC,EAMP,CACA,MAAOD,EACP,QAAS,UACT,aAAc,eAAe,IAAI,SAAS,EAC1C,OAAQ,CAAE,SAAU,UAAW,UAAW,UAAW,CACvD,CAAC,CACH,EAAE,CACJ,EAEaS,EAAUT,EAAM,KAS3B,IACA,eAAe,YAAY,UAAU,EAAE,KAAK,KAAO,CACjD,QAASC,EAOP,CACA,MAAOD,EACP,QAAS,WACT,aAAc,eAAe,IAAI,UAAU,EAC3C,OAAQ,CACN,WAAY,YACZ,UAAW,WACX,YAAa,YACf,CACF,CAAC,CACH,EAAE,CACJ,EAEaU,EAAeV,EAAM,KAahC,IACA,eAAe,YAAY,eAAe,EAAE,KAAK,KAAO,CACtD,QAASC,EAWP,CACA,MAAOD,EACP,QAAS,gBACT,aAAc,eAAe,IAAI,eAAe,EAChD,OAAQ,CAAE,WAAY,WAAY,CACpC,CAAC,CACH,EAAE,CACJ,EAEaW,EAAYX,EAAM,KAQ7B,IACA,eAAe,YAAY,YAAY,EAAE,KAAK,KAAO,CACnD,QAASC,EAMP,CACA,MAAOD,EACP,QAAS,aACT,aAAc,eAAe,IAAI,YAAY,EAC7C,OAAQ,CACN,gBAAiB,kBACjB,gBAAiB,iBACnB,CACF,CAAC,CACH,EAAE,CACJ,EAEaY,EAAsBZ,EAAM,KAEvC,IACA,eAAe,YAAY,uBAAuB,EAAE,KAAK,KAAO,CAC9D,QAASC,EAAyC,CAChD,MAAOD,EACP,QAAS,wBACT,aAAc,eAAe,IAAI,uBAAuB,EACxD,OAAQ,CAAC,CACX,CAAC,CACH,EAAE,CACJ,EAEaa,EAAeb,EAAM,KAKhC,IACA,eAAe,YAAY,gBAAgB,EAAE,KAAK,KAAO,CACvD,QAASC,EAGP,CACA,MAAOD,EACP,QAAS,iBACT,aAAc,eAAe,IAAI,gBAAgB,EACjD,OAAQ,CAAE,gBAAiB,iBAAkB,CAC/C,CAAC,CACH,EAAE,CACJ,EAEac,EAAWd,EAAM,KAK5B,IACA,eAAe,YAAY,WAAW,EAAE,KAAK,KAAO,CAClD,QAASC,EAGP,CACA,MAAOD,EACP,QAAS,YACT,aAAc,eAAe,IAAI,WAAW,EAC5C,OAAQ,CAAE,WAAY,WAAY,CACpC,CAAC,CACH,EAAE,CACJ,EAEae,EAAWf,EAAM,KAK5B,IACA,eAAe,YAAY,WAAW,EAAE,KAAK,KAAO,CAClD,QAASC,EAGP,CACA,MAAOD,EACP,QAAS,YACT,aAAc,eAAe,IAAI,WAAW,EAC5C,OAAQ,CAAE,iBAAkB,kBAAmB,CACjD,CAAC,CACH,EAAE,CACJ,EAEagB,EAAahB,EAAM,KAAwC,IACtE,eAAe,YAAY,cAAc,EAAE,KAAK,KAAO,CACrD,QAASC,EAAgC,CACvC,MAAOD,EACP,QAAS,eACT,aAAc,eAAe,IAAI,cAAc,EAC/C,OAAQ,CAAC,CACX,CAAC,CACH,EAAE,CACJ,EAEaiB,EAAajB,EAAM,KAS9B,IACA,eAAe,YAAY,aAAa,EAAE,KAAK,KAAO,CACpD,QAASC,EAOP,CACA,MAAOD,EACP,QAAS,cACT,aAAc,eAAe,IAAI,aAAa,EAC9C,OAAQ,CACN,UAAW,WACX,WAAY,YACZ,YAAa,YACf,CACF,CAAC,CACH,EAAE,CACJ,EAEakB,EAAYlB,EAAM,KAQ7B,IACA,eAAe,YAAY,YAAY,EAAE,KAAK,KAAO,CACnD,QAASC,EAMP,CACA,MAAOD,EACP,QAAS,aACT,aAAc,eAAe,IAAI,YAAY,EAC7C,OAAQ,CACN,gBAAiB,kBACjB,gBAAiB,iBACnB,CACF,CAAC,CACH,EAAE,CACJ,EAEamB,EAAanB,EAAM,KAS9B,IACA,eAAe,YAAY,aAAa,EAAE,KAAK,KAAO,CACpD,QAASC,EAOP,CACA,MAAOD,EACP,QAAS,cACT,aAAc,eAAe,IAAI,aAAa,EAC9C,OAAQ,CACN,mBAAoB,qBACpB,UAAW,WACX,SAAU,SACZ,CACF,CAAC,CACH,EAAE,CACJ,EAEaoB,EAAkBpB,EAAM,KAEnC,IACA,eAAe,YAAY,mBAAmB,EAAE,KAAK,KAAO,CAC1D,QAASC,EAAqC,CAC5C,MAAOD,EACP,QAAS,oBACT,aAAc,eAAe,IAAI,mBAAmB,EACpD,OAAQ,CAAC,CACX,CAAC,CACH,EAAE,CACJ,EAEaqB,EAAiBrB,EAAM,KAKlC,IACA,eAAe,YAAY,kBAAkB,EAAE,KAAK,KAAO,CACzD,QAASC,EAGP,CACA,MAAOD,EACP,QAAS,mBACT,aAAc,eAAe,IAAI,kBAAkB,EACnD,OAAQ,CAAE,sBAAuB,wBAAyB,CAC5D,CAAC,CACH,EAAE,CACJ,EAEasB,EAAUtB,EAAM,KAS3B,IACA,eAAe,YAAY,UAAU,EAAE,KAAK,KAAO,CACjD,QAASC,EAOP,CACA,MAAOD,EACP,QAAS,WACT,aAAc,eAAe,IAAI,UAAU,EAC3C,OAAQ,CACN,YAAa,aACb,UAAW,WACX,SAAU,SACZ,CACF,CAAC,CACH,EAAE,CACJ,EAEauB,EAAQvB,EAAM,KAKzB,IACA,eAAe,YAAY,QAAQ,EAAE,KAAK,KAAO,CAC/C,QAASC,EAGP,CACA,MAAOD,EACP,QAAS,SACT,aAAc,eAAe,IAAI,QAAQ,EACzC,OAAQ,CAAE,gBAAiB,iBAAkB,CAC/C,CAAC,CACH,EAAE,CACJ,EAEawB,GAAiBxB,EAAM,KASlC,IACA,eAAe,YAAY,kBAAkB,EAAE,KAAK,KAAO,CACzD,QAASC,EAOP,CACA,MAAOD,EACP,QAAS,mBACT,aAAc,eAAe,IAAI,kBAAkB,EACnD,OAAQ,CACN,iBAAkB,mBAClB,UAAW,WACX,SAAU,SACZ,CACF,CAAC,CACH,EAAE,CACJ,EAEayB,GAAazB,EAAM,KAAwC,IACtE,eAAe,YAAY,cAAc,EAAE,KAAK,KAAO,CACrD,QAASC,EAAgC,CACvC,MAAOD,EACP,QAAS,eACT,aAAc,eAAe,IAAI,cAAc,EAC/C,OAAQ,CAAC,CACX,CAAC,CACH,EAAE,CACJ",
6
- "names": ["React", "reservedReactProperties", "Set", "listenedEvents", "WeakMap", "setProperty", "node", "name", "value", "old", "events", "event", "HTMLElement", "prototype", "removeAttribute", "listener", "get", "set", "Map", "handler", "handleEvent", "addEventListener", "delete", "removeEventListener", "createComponent", "ReactOrOptions", "window", "React", "tagName", "elementClass", "displayName", "tag", "element", "options", "react", "Component", "createElement", "eventProps", "Object", "keys", "ReactComponent", "constructor", "this", "_element", "_updateElement", "oldProps", "prop", "_elementProps", "props", "componentDidMount", "componentDidUpdate", "render", "_$Gl", "__forwardedRef", "userProps", "_forwardedRef", "_ref", "ref", "current", "k", "v", "entries", "has", "ForwardedComponent", "forwardRef", "children", "BlAlert", "React", "s", "BlBadge", "BlButton", "BlCheckboxGroup", "BlDialog", "BlDrawer", "BlDropdown", "BlIcon", "BlInput", "BlPagination", "BlPopover", "BlProgressIndicator", "BlRadioGroup", "BlSelect", "BlSwitch", "BlTabGroup", "BlTextarea", "BlTooltip", "BlCheckbox", "BlDropdownGroup", "BlDropdownItem", "BlRadio", "BlTab", "BlSelectOption", "BlTabPanel"]
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/ban-ts-comment */\n// @ts-nocheck\nimport React from \"react\";\nimport {\n type EventName,\n createComponent,\n ReactWebComponent,\n} from \"@lit-labs/react\";\nimport { ISelectOption } from \"./components/select/bl-select\";\nimport type BlAlertType from \"./components/alert/bl-alert\";\nimport type BlBadgeType from \"./components/badge/bl-badge\";\nimport type BlButtonType from \"./components/button/bl-button\";\nimport type BlCheckboxGroupType from \"./components/checkbox-group/bl-checkbox-group\";\nimport type BlDialogType from \"./components/dialog/bl-dialog\";\nimport type BlDrawerType from \"./components/drawer/bl-drawer\";\nimport type BlDropdownType from \"./components/dropdown/bl-dropdown\";\nimport type BlIconType from \"./components/icon/bl-icon\";\nimport type BlInputType from \"./components/input/bl-input\";\nimport type BlPaginationType from \"./components/pagination/bl-pagination\";\nimport type BlPopoverType from \"./components/popover/bl-popover\";\nimport type BlProgressIndicatorType from \"./components/progress-indicator/bl-progress-indicator\";\nimport type BlRadioGroupType from \"./components/radio-group/bl-radio-group\";\nimport type BlSelectType from \"./components/select/bl-select\";\nimport type BlSwitchType from \"./components/switch/bl-switch\";\nimport type BlTabGroupType from \"./components/tab-group/bl-tab-group\";\nimport type BlTextareaType from \"./components/textarea/bl-textarea\";\nimport type BlTooltipType from \"./components/tooltip/bl-tooltip\";\nimport type BlCheckboxType from \"./components/checkbox-group/checkbox/bl-checkbox\";\nimport type BlDropdownGroupType from \"./components/dropdown/group/bl-dropdown-group\";\nimport type BlDropdownItemType from \"./components/dropdown/item/bl-dropdown-item\";\nimport type BlRadioType from \"./components/radio-group/radio/bl-radio\";\nimport type BlSelectOptionType from \"./components/select/option/bl-select-option\";\nimport type BlTabType from \"./components/tab-group/tab/bl-tab\";\nimport type BlTabPanelType from \"./components/tab-group/tab-panel/bl-tab-panel\";\n\nexport const BlAlert = React.lazy<\n ReactWebComponent<BlAlertType, { onBlClose: EventName<CustomEvent<boolean>> }>\n>(() =>\n customElements.whenDefined(\"bl-alert\").then(() => ({\n default: createComponent<\n BlAlertType,\n { onBlClose: EventName<CustomEvent<boolean>> }\n >({\n react: React,\n tagName: \"bl-alert\",\n elementClass: customElements.get(\"bl-alert\"),\n events: { onBlClose: \"bl-close\" },\n }),\n }))\n);\n\nexport const BlBadge = React.lazy<ReactWebComponent<BlBadgeType>>(() =>\n customElements.whenDefined(\"bl-badge\").then(() => ({\n default: createComponent<BlBadgeType>({\n react: React,\n tagName: \"bl-badge\",\n elementClass: customElements.get(\"bl-badge\"),\n events: {},\n }),\n }))\n);\n\nexport const BlButton = React.lazy<\n ReactWebComponent<BlButtonType, { onBlClick: EventName<CustomEvent<string>> }>\n>(() =>\n customElements.whenDefined(\"bl-button\").then(() => ({\n default: createComponent<\n BlButtonType,\n { onBlClick: EventName<CustomEvent<string>> }\n >({\n react: React,\n tagName: \"bl-button\",\n elementClass: customElements.get(\"bl-button\"),\n events: { onBlClick: \"bl-click\" },\n }),\n }))\n);\n\nexport const BlCheckboxGroup = React.lazy<\n ReactWebComponent<\n BlCheckboxGroupType,\n { onBlCheckboxGroupChange: EventName<CustomEvent<string[]>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-checkbox-group\").then(() => ({\n default: createComponent<\n BlCheckboxGroupType,\n { onBlCheckboxGroupChange: EventName<CustomEvent<string[]>> }\n >({\n react: React,\n tagName: \"bl-checkbox-group\",\n elementClass: customElements.get(\"bl-checkbox-group\"),\n events: { onBlCheckboxGroupChange: \"bl-checkbox-group-change\" },\n }),\n }))\n);\n\nexport const BlDialog = React.lazy<\n ReactWebComponent<\n BlDialogType,\n {\n onBlDialogOpen: EventName<CustomEvent<object>>;\n onBlDialogClose: EventName<CustomEvent<object>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-dialog\").then(() => ({\n default: createComponent<\n BlDialogType,\n {\n onBlDialogOpen: EventName<CustomEvent<object>>;\n onBlDialogClose: EventName<CustomEvent<object>>;\n }\n >({\n react: React,\n tagName: \"bl-dialog\",\n elementClass: customElements.get(\"bl-dialog\"),\n events: {\n onBlDialogOpen: \"bl-dialog-open\",\n onBlDialogClose: \"bl-dialog-close\",\n },\n }),\n }))\n);\n\nexport const BlDrawer = React.lazy<\n ReactWebComponent<\n BlDrawerType,\n {\n onBlDrawerOpen: EventName<CustomEvent<string>>;\n onBlDrawerClose: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-drawer\").then(() => ({\n default: createComponent<\n BlDrawerType,\n {\n onBlDrawerOpen: EventName<CustomEvent<string>>;\n onBlDrawerClose: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-drawer\",\n elementClass: customElements.get(\"bl-drawer\"),\n events: {\n onBlDrawerOpen: \"bl-drawer-open\",\n onBlDrawerClose: \"bl-drawer-close\",\n },\n }),\n }))\n);\n\nexport const BlDropdown = React.lazy<\n ReactWebComponent<\n BlDropdownType,\n {\n onBlDropdownOpen: EventName<CustomEvent<string>>;\n onBlDropdownClose: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-dropdown\").then(() => ({\n default: createComponent<\n BlDropdownType,\n {\n onBlDropdownOpen: EventName<CustomEvent<string>>;\n onBlDropdownClose: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-dropdown\",\n elementClass: customElements.get(\"bl-dropdown\"),\n events: {\n onBlDropdownOpen: \"bl-dropdown-open\",\n onBlDropdownClose: \"bl-dropdown-close\",\n },\n }),\n }))\n);\n\nexport const BlIcon = React.lazy<\n ReactWebComponent<\n BlIconType,\n {\n onBlLoad: EventName<CustomEvent<string>>;\n onBlError: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-icon\").then(() => ({\n default: createComponent<\n BlIconType,\n {\n onBlLoad: EventName<CustomEvent<string>>;\n onBlError: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-icon\",\n elementClass: customElements.get(\"bl-icon\"),\n events: { onBlLoad: \"bl-load\", onBlError: \"bl-error\" },\n }),\n }))\n);\n\nexport const BlInput = React.lazy<\n ReactWebComponent<\n BlInputType,\n {\n onBlChange: EventName<CustomEvent<string>>;\n onBlInput: EventName<CustomEvent<string>>;\n onBlInvalid: EventName<CustomEvent<ValidityState>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-input\").then(() => ({\n default: createComponent<\n BlInputType,\n {\n onBlChange: EventName<CustomEvent<string>>;\n onBlInput: EventName<CustomEvent<string>>;\n onBlInvalid: EventName<CustomEvent<ValidityState>>;\n }\n >({\n react: React,\n tagName: \"bl-input\",\n elementClass: customElements.get(\"bl-input\"),\n events: {\n onBlChange: \"bl-change\",\n onBlInput: \"bl-input\",\n onBlInvalid: \"bl-invalid\",\n },\n }),\n }))\n);\n\nexport const BlPagination = React.lazy<\n ReactWebComponent<\n BlPaginationType,\n {\n onBlChange: EventName<\n CustomEvent<{\n selectedPage: number;\n prevPage: number;\n itemsPerPage: number;\n }>\n >;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-pagination\").then(() => ({\n default: createComponent<\n BlPaginationType,\n {\n onBlChange: EventName<\n CustomEvent<{\n selectedPage: number;\n prevPage: number;\n itemsPerPage: number;\n }>\n >;\n }\n >({\n react: React,\n tagName: \"bl-pagination\",\n elementClass: customElements.get(\"bl-pagination\"),\n events: { onBlChange: \"bl-change\" },\n }),\n }))\n);\n\nexport const BlPopover = React.lazy<\n ReactWebComponent<\n BlPopoverType,\n {\n onBlPopoverShow: EventName<CustomEvent<string>>;\n onBlPopoverHide: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-popover\").then(() => ({\n default: createComponent<\n BlPopoverType,\n {\n onBlPopoverShow: EventName<CustomEvent<string>>;\n onBlPopoverHide: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-popover\",\n elementClass: customElements.get(\"bl-popover\"),\n events: {\n onBlPopoverShow: \"bl-popover-show\",\n onBlPopoverHide: \"bl-popover-hide\",\n },\n }),\n }))\n);\n\nexport const BlProgressIndicator = React.lazy<\n ReactWebComponent<BlProgressIndicatorType>\n>(() =>\n customElements.whenDefined(\"bl-progress-indicator\").then(() => ({\n default: createComponent<BlProgressIndicatorType>({\n react: React,\n tagName: \"bl-progress-indicator\",\n elementClass: customElements.get(\"bl-progress-indicator\"),\n events: {},\n }),\n }))\n);\n\nexport const BlRadioGroup = React.lazy<\n ReactWebComponent<\n BlRadioGroupType,\n { onBlRadioChange: EventName<CustomEvent<string>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-radio-group\").then(() => ({\n default: createComponent<\n BlRadioGroupType,\n { onBlRadioChange: EventName<CustomEvent<string>> }\n >({\n react: React,\n tagName: \"bl-radio-group\",\n elementClass: customElements.get(\"bl-radio-group\"),\n events: { onBlRadioChange: \"bl-radio-change\" },\n }),\n }))\n);\n\nexport const BlSelect = React.lazy<\n ReactWebComponent<\n BlSelectType,\n { onBlSelect: EventName<CustomEvent<ISelectOption[]>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-select\").then(() => ({\n default: createComponent<\n BlSelectType,\n { onBlSelect: EventName<CustomEvent<ISelectOption[]>> }\n >({\n react: React,\n tagName: \"bl-select\",\n elementClass: customElements.get(\"bl-select\"),\n events: { onBlSelect: \"bl-select\" },\n }),\n }))\n);\n\nexport const BlSwitch = React.lazy<\n ReactWebComponent<\n BlSwitchType,\n { onBlSwitchToggle: EventName<CustomEvent<boolean>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-switch\").then(() => ({\n default: createComponent<\n BlSwitchType,\n { onBlSwitchToggle: EventName<CustomEvent<boolean>> }\n >({\n react: React,\n tagName: \"bl-switch\",\n elementClass: customElements.get(\"bl-switch\"),\n events: { onBlSwitchToggle: \"bl-switch-toggle\" },\n }),\n }))\n);\n\nexport const BlTabGroup = React.lazy<ReactWebComponent<BlTabGroupType>>(() =>\n customElements.whenDefined(\"bl-tab-group\").then(() => ({\n default: createComponent<BlTabGroupType>({\n react: React,\n tagName: \"bl-tab-group\",\n elementClass: customElements.get(\"bl-tab-group\"),\n events: {},\n }),\n }))\n);\n\nexport const BlTextarea = React.lazy<\n ReactWebComponent<\n BlTextareaType,\n {\n onBlInput: EventName<CustomEvent<string>>;\n onBlChange: EventName<CustomEvent<string>>;\n onBlInvalid: EventName<CustomEvent<ValidityState>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-textarea\").then(() => ({\n default: createComponent<\n BlTextareaType,\n {\n onBlInput: EventName<CustomEvent<string>>;\n onBlChange: EventName<CustomEvent<string>>;\n onBlInvalid: EventName<CustomEvent<ValidityState>>;\n }\n >({\n react: React,\n tagName: \"bl-textarea\",\n elementClass: customElements.get(\"bl-textarea\"),\n events: {\n onBlInput: \"bl-input\",\n onBlChange: \"bl-change\",\n onBlInvalid: \"bl-invalid\",\n },\n }),\n }))\n);\n\nexport const BlTooltip = React.lazy<\n ReactWebComponent<\n BlTooltipType,\n {\n onBlTooltipShow: EventName<CustomEvent<string>>;\n onBlTooltipHide: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-tooltip\").then(() => ({\n default: createComponent<\n BlTooltipType,\n {\n onBlTooltipShow: EventName<CustomEvent<string>>;\n onBlTooltipHide: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-tooltip\",\n elementClass: customElements.get(\"bl-tooltip\"),\n events: {\n onBlTooltipShow: \"bl-tooltip-show\",\n onBlTooltipHide: \"bl-tooltip-hide\",\n },\n }),\n }))\n);\n\nexport const BlCheckbox = React.lazy<\n ReactWebComponent<\n BlCheckboxType,\n {\n onBlCheckboxChange: EventName<CustomEvent<boolean>>;\n onBlFocus: EventName<CustomEvent<string>>;\n onBlBlur: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-checkbox\").then(() => ({\n default: createComponent<\n BlCheckboxType,\n {\n onBlCheckboxChange: EventName<CustomEvent<boolean>>;\n onBlFocus: EventName<CustomEvent<string>>;\n onBlBlur: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-checkbox\",\n elementClass: customElements.get(\"bl-checkbox\"),\n events: {\n onBlCheckboxChange: \"bl-checkbox-change\",\n onBlFocus: \"bl-focus\",\n onBlBlur: \"bl-blur\",\n },\n }),\n }))\n);\n\nexport const BlDropdownGroup = React.lazy<\n ReactWebComponent<BlDropdownGroupType>\n>(() =>\n customElements.whenDefined(\"bl-dropdown-group\").then(() => ({\n default: createComponent<BlDropdownGroupType>({\n react: React,\n tagName: \"bl-dropdown-group\",\n elementClass: customElements.get(\"bl-dropdown-group\"),\n events: {},\n }),\n }))\n);\n\nexport const BlDropdownItem = React.lazy<\n ReactWebComponent<\n BlDropdownItemType,\n { onBlDropdownItemClick: EventName<CustomEvent<string>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-dropdown-item\").then(() => ({\n default: createComponent<\n BlDropdownItemType,\n { onBlDropdownItemClick: EventName<CustomEvent<string>> }\n >({\n react: React,\n tagName: \"bl-dropdown-item\",\n elementClass: customElements.get(\"bl-dropdown-item\"),\n events: { onBlDropdownItemClick: \"bl-dropdown-item-click\" },\n }),\n }))\n);\n\nexport const BlRadio = React.lazy<\n ReactWebComponent<\n BlRadioType,\n {\n onBlChecked: EventName<CustomEvent<string>>;\n onBlFocus: EventName<CustomEvent<string>>;\n onBlBlur: EventName<CustomEvent<string>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-radio\").then(() => ({\n default: createComponent<\n BlRadioType,\n {\n onBlChecked: EventName<CustomEvent<string>>;\n onBlFocus: EventName<CustomEvent<string>>;\n onBlBlur: EventName<CustomEvent<string>>;\n }\n >({\n react: React,\n tagName: \"bl-radio\",\n elementClass: customElements.get(\"bl-radio\"),\n events: {\n onBlChecked: \"bl-checked\",\n onBlFocus: \"bl-focus\",\n onBlBlur: \"bl-blur\",\n },\n }),\n }))\n);\n\nexport const BlSelectOption = React.lazy<\n ReactWebComponent<\n BlSelectOptionType,\n {\n onBlSelectOption: EventName<CustomEvent<ValueType | string | null>>;\n onBlFocus: EventName<CustomEvent<ValueType | string | null>>;\n onBlBlur: EventName<CustomEvent<ValueType | string | null>>;\n }\n >\n>(() =>\n customElements.whenDefined(\"bl-select-option\").then(() => ({\n default: createComponent<\n BlSelectOptionType,\n {\n onBlSelectOption: EventName<CustomEvent<ValueType | string | null>>;\n onBlFocus: EventName<CustomEvent<ValueType | string | null>>;\n onBlBlur: EventName<CustomEvent<ValueType | string | null>>;\n }\n >({\n react: React,\n tagName: \"bl-select-option\",\n elementClass: customElements.get(\"bl-select-option\"),\n events: {\n onBlSelectOption: \"bl-select-option\",\n onBlFocus: \"bl-focus\",\n onBlBlur: \"bl-blur\",\n },\n }),\n }))\n);\n\nexport const BlTab = React.lazy<\n ReactWebComponent<\n BlTabType,\n { onBlTabSelected: EventName<CustomEvent<string>> }\n >\n>(() =>\n customElements.whenDefined(\"bl-tab\").then(() => ({\n default: createComponent<\n BlTabType,\n { onBlTabSelected: EventName<CustomEvent<string>> }\n >({\n react: React,\n tagName: \"bl-tab\",\n elementClass: customElements.get(\"bl-tab\"),\n events: { onBlTabSelected: \"bl-tab-selected\" },\n }),\n }))\n);\n\nexport const BlTabPanel = React.lazy<ReactWebComponent<BlTabPanelType>>(() =>\n customElements.whenDefined(\"bl-tab-panel\").then(() => ({\n default: createComponent<BlTabPanelType>({\n react: React,\n tagName: \"bl-tab-panel\",\n elementClass: customElements.get(\"bl-tab-panel\"),\n events: {},\n }),\n }))\n);\n", "/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n// Match a prop name to a typed event callback by\n// adding an Event type as an expected property on a string.\nexport type EventName<T extends Event = Event> = string & {\n __event_type: T;\n};\n\n// A key value map matching React prop names to event names\ntype EventNames = Record<string, EventName | string>;\n\n// A map of expected event listener types based on EventNames\ntype EventListeners<R extends EventNames> = {\n [K in keyof R]: R[K] extends EventName\n ? (e: R[K]['__event_type']) => void\n : (e: Event) => void;\n};\n\ntype ReactProps<I, E> = Omit<React.HTMLAttributes<I>, keyof E>;\ntype ElementWithoutPropsOrEventListeners<I, E> = Omit<\n I,\n keyof E | keyof ReactProps<I, E>\n>;\n\n// Props the user is allowed to use, includes standard attributes, children,\n// ref, as well as special event and element properties.\nexport type WebComponentProps<\n I extends HTMLElement,\n E extends EventNames = {}\n> = Partial<\n ReactProps<I, E> &\n ElementWithoutPropsOrEventListeners<I, E> &\n EventListeners<E>\n>;\n\n// Props used by this component wrapper. This is the WebComponentProps and the\n// special `__forwardedRef` property. Note, this ref is special because\n// it's both needed in this component to get access to the rendered element\n// and must fulfill any ref passed by the user.\ntype ReactComponentProps<\n I extends HTMLElement,\n E extends EventNames = {}\n> = WebComponentProps<I, E> & {\n __forwardedRef: React.Ref<I>;\n};\n\nexport type ReactWebComponent<\n I extends HTMLElement,\n E extends EventNames = {}\n> = React.ForwardRefExoticComponent<\n React.PropsWithoutRef<WebComponentProps<I, E>> & React.RefAttributes<I>\n>;\n\ninterface Options<I extends HTMLElement, E extends EventNames = {}> {\n tagName: string;\n elementClass: Constructor<I>;\n react: typeof window.React;\n events?: E;\n displayName?: string;\n}\n\ntype Constructor<T> = {new (): T};\n\nconst DEV_MODE = true;\n\nconst reservedReactProperties = new Set([\n 'children',\n 'localName',\n 'ref',\n 'style',\n 'className',\n]);\n\nconst listenedEvents: WeakMap<\n Element,\n Map<string, EventListenerObject>\n> = new WeakMap();\n\n/**\n * Adds an event listener for the specified event to the given node. In the\n * React setup, there should only ever be one event listener. Thus, for\n * efficiency only one listener is added and the handler for that listener is\n * updated to point to the given listener function.\n */\nconst addOrUpdateEventListener = (\n node: Element,\n event: string,\n listener: (event?: Event) => void\n) => {\n let events = listenedEvents.get(node);\n if (events === undefined) {\n listenedEvents.set(node, (events = new Map()));\n }\n let handler = events.get(event);\n if (listener !== undefined) {\n // If necessary, add listener and track handler\n if (handler === undefined) {\n events.set(event, (handler = {handleEvent: listener}));\n node.addEventListener(event, handler);\n // Otherwise just update the listener with new value\n } else {\n handler.handleEvent = listener;\n }\n // Remove listener if one exists and value is undefined\n } else if (handler !== undefined) {\n events.delete(event);\n node.removeEventListener(event, handler);\n }\n};\n\n/**\n * Sets properties and events on custom elements. These properties and events\n * have been pre-filtered so we know they should apply to the custom element.\n */\nconst setProperty = <E extends Element>(\n node: E,\n name: string,\n value: unknown,\n old: unknown,\n events?: EventNames\n) => {\n const event = events?.[name];\n if (event !== undefined && value !== old) {\n // Dirty check event value.\n addOrUpdateEventListener(node, event, value as (e?: Event) => void);\n return;\n }\n\n // Note, the attribute removal here for `undefined` and `null` values is done\n // to match React's behavior on non-custom elements. It needs special\n // handling because it does not match platform behavior. For example,\n // setting the `id` property to `undefined` sets the attribute to the string\n // \"undefined.\" React \"fixes\" that odd behavior and the code here matches\n // React's convention.\n if (\n (value === undefined || value === null) &&\n name in HTMLElement.prototype\n ) {\n node.removeAttribute(name);\n return;\n }\n\n // But don't dirty check properties; elements are assumed to do this.\n node[name as keyof E] = value as E[keyof E];\n};\n\n// Set a React ref. Note, there are 2 kinds of refs and there's no built in\n// React API to set a ref.\nconst setRef = (ref: React.Ref<unknown>, value: Element | null) => {\n if (typeof ref === 'function') {\n ref(value);\n } else {\n (ref as {current: Element | null}).current = value;\n }\n};\n\n/**\n * Creates a React component for a custom element. Properties are distinguished\n * from attributes automatically, and events can be configured so they are\n * added to the custom element as event listeners.\n *\n * @param options An options bag containing the parameters needed to generate\n * a wrapped web component.\n *\n * @param options.react The React module, typically imported from the `react` npm\n * package.\n * @param options.tagName The custom element tag name registered via\n * `customElements.define`.\n * @param options.elementClass The custom element class registered via\n * `customElements.define`.\n * @param options.events An object listing events to which the component can listen. The\n * object keys are the event property names passed in via React props and the\n * object values are the names of the corresponding events generated by the\n * custom element. For example, given `{onactivate: 'activate'}` an event\n * function may be passed via the component's `onactivate` prop and will be\n * called when the custom element fires its `activate` event.\n * @param options.displayName A React component display name, used in debugging\n * messages. Default value is inferred from the name of custom element class\n * registered via `customElements.define`.\n */\nexport function createComponent<\n I extends HTMLElement,\n E extends EventNames = {}\n>(options: Options<I, E>): ReactWebComponent<I, E>;\n/**\n * @deprecated Use `createComponent(options)` instead of individual arguments.\n *\n * Creates a React component for a custom element. Properties are distinguished\n * from attributes automatically, and events can be configured so they are\n * added to the custom element as event listeners.\n *\n * @param React The React module, typically imported from the `react` npm\n * package.\n * @param tagName The custom element tag name registered via\n * `customElements.define`.\n * @param elementClass The custom element class registered via\n * `customElements.define`.\n * @param events An object listing events to which the component can listen. The\n * object keys are the event property names passed in via React props and the\n * object values are the names of the corresponding events generated by the\n * custom element. For example, given `{onactivate: 'activate'}` an event\n * function may be passed via the component's `onactivate` prop and will be\n * called when the custom element fires its `activate` event.\n * @param displayName A React component display name, used in debugging\n * messages. Default value is inferred from the name of custom element class\n * registered via `customElements.define`.\n */\nexport function createComponent<\n I extends HTMLElement,\n E extends EventNames = {}\n>(\n ReactOrOptions: typeof window.React,\n tagName: string,\n elementClass: Constructor<I>,\n events?: E,\n displayName?: string\n): ReactWebComponent<I, E>;\nexport function createComponent<\n I extends HTMLElement,\n E extends EventNames = {}\n>(\n ReactOrOptions: typeof window.React | Options<I, E> = window.React,\n tagName?: string,\n elementClass?: Constructor<I>,\n events?: E,\n displayName?: string\n): ReactWebComponent<I, E> {\n // digest overloaded parameters\n let React: typeof window.React;\n let tag: string;\n let element: Constructor<I>;\n if (tagName === undefined) {\n const options = ReactOrOptions as Options<I, E>;\n ({tagName: tag, elementClass: element, events, displayName} = options);\n React = options.react;\n } else {\n React = ReactOrOptions as typeof window.React;\n element = elementClass as Constructor<I>;\n tag = tagName;\n }\n\n // Warn users when web components use reserved React properties\n if (DEV_MODE) {\n for (const p of reservedReactProperties) {\n if (p in element.prototype && !(p in HTMLElement.prototype)) {\n // Note, this effectively warns only for `ref` since the other\n // reserved props are on HTMLElement.prototype. To address this\n // would require crawling down the prototype, which doesn't feel worth\n // it since implementing these properties on an element is extremely\n // rare.\n console.warn(`${tagName} contains property ${p} which is a React\nreserved property. It will be used by React and not set on\nthe element.`);\n }\n }\n }\n\n const Component = React.Component;\n const createElement = React.createElement;\n const eventProps = new Set(Object.keys(events ?? {}));\n\n type Props = ReactComponentProps<I, E>;\n\n class ReactComponent extends Component<Props> {\n private _element: I | null = null;\n private _elementProps!: Record<string, unknown>;\n private _forwardedRef?: React.Ref<I>;\n private _ref?: React.RefCallback<I>;\n\n static displayName = displayName ?? element.name;\n\n private _updateElement(oldProps?: Props) {\n if (this._element === null) {\n return;\n }\n // Set element properties to the values in `this.props`\n for (const prop in this._elementProps) {\n setProperty(\n this._element,\n prop,\n this.props[prop],\n oldProps ? oldProps[prop] : undefined,\n events\n );\n }\n // Note, the spirit of React might be to \"unset\" any old values that\n // are no longer included; however, there's no reasonable value to set\n // them to so we just leave the previous state as is.\n }\n\n /**\n * Updates element properties correctly setting properties\n * on mount.\n */\n override componentDidMount() {\n this._updateElement();\n }\n\n /**\n * Updates element properties correctly setting properties\n * on every update. Note, this does not include mount.\n */\n override componentDidUpdate(old: Props) {\n this._updateElement(old);\n }\n\n /**\n * Renders the custom element with a `ref` prop which allows this\n * component to reference the custom element.\n *\n * Standard attributes are passed to React and element properties and events\n * are updated in componentDidMount/componentDidUpdate.\n *\n */\n override render() {\n // Extract and remove __forwardedRef from userProps in a rename-safe way\n const {__forwardedRef, ...userProps} = this.props;\n // Since refs only get fulfilled once, pass a new one if the user's ref\n // changed. This allows refs to be fulfilled as expected, going from\n // having a value to null.\n if (this._forwardedRef !== __forwardedRef) {\n this._ref = (value: I | null) => {\n if (__forwardedRef !== null) {\n setRef(__forwardedRef, value);\n }\n\n this._element = value;\n this._forwardedRef = __forwardedRef;\n };\n }\n // Save element props while iterating to avoid the need to iterate again\n // when setting properties.\n this._elementProps = {};\n const props: Record<string, unknown> = {ref: this._ref};\n // Filters class properties and event properties out and passes the\n // remaining attributes to React. This allows attributes to use framework\n // rules for setting attributes and render correctly under SSR.\n for (const [k, v] of Object.entries(userProps)) {\n if (reservedReactProperties.has(k)) {\n // React does *not* handle `className` for custom elements so\n // coerce it to `class` so it's handled correctly.\n props[k === 'className' ? 'class' : k] = v;\n continue;\n }\n\n if (eventProps.has(k) || k in element.prototype) {\n this._elementProps[k] = v;\n continue;\n }\n\n props[k] = v;\n }\n return createElement<React.HTMLAttributes<I>, I>(tag, props);\n }\n }\n\n const ForwardedComponent: ReactWebComponent<I, E> = React.forwardRef<\n I,\n WebComponentProps<I, E>\n >((props, __forwardedRef) =>\n createElement<Props, ReactComponent, typeof ReactComponent>(\n ReactComponent,\n {...props, __forwardedRef},\n props?.children\n )\n );\n\n // To ease debugging in the React Developer Tools\n ForwardedComponent.displayName = ReactComponent.displayName;\n\n return ForwardedComponent;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "reservedReactProperties", "Set", "listenedEvents", "WeakMap", "setProperty", "node", "name", "value", "old", "events", "event", "HTMLElement", "prototype", "removeAttribute", "listener", "get", "set", "Map", "handler", "handleEvent", "addEventListener", "delete", "removeEventListener", "createComponent", "ReactOrOptions", "window", "React", "tagName", "elementClass", "displayName", "tag", "element", "options", "react", "Component", "createElement", "eventProps", "Object", "keys", "ReactComponent", "constructor", "this", "_element", "_updateElement", "oldProps", "prop", "_elementProps", "props", "componentDidMount", "componentDidUpdate", "render", "_$Gl", "__forwardedRef", "userProps", "_forwardedRef", "_ref", "ref", "current", "k", "v", "entries", "has", "ForwardedComponent", "forwardRef", "children", "BlAlert", "React", "s", "BlBadge", "BlButton", "BlCheckboxGroup", "BlDialog", "BlDrawer", "BlDropdown", "BlIcon", "BlInput", "BlPagination", "BlPopover", "BlProgressIndicator", "BlRadioGroup", "BlSelect", "BlSwitch", "BlTabGroup", "BlTextarea", "BlTooltip", "BlCheckbox", "BlDropdownGroup", "BlDropdownItem", "BlRadio", "BlSelectOption", "BlTab", "BlTabPanel"]
7
7
  }
package/dist/baklava.js CHANGED
@@ -1,2 +1,2 @@
1
- import{b as S}from"./chunk-QV3A6DWH.js";import{a as b}from"./chunk-J73JZGIX.js";import{a as I}from"./chunk-MGQL62CQ.js";import{a as P}from"./chunk-JMV2HWKD.js";import{a as g}from"./chunk-S7FKMIX4.js";import{a as h}from"./chunk-72WMF254.js";import{b as T,d as G}from"./chunk-VQLW2744.js";import{b as D}from"./chunk-VYKKWEKI.js";import{a as B}from"./chunk-EMMMXLJJ.js";import{a as m}from"./chunk-3KKF66FB.js";import{a as s}from"./chunk-4UWTC6BR.js";import{a as x}from"./chunk-66XJK5VF.js";import"./chunk-XQN3H7RG.js";import"./chunk-3B64VOWB.js";import{a as w}from"./chunk-SEMLCEAH.js";import"./chunk-ANYJUR6Q.js";import{a as n}from"./chunk-MU34JCL5.js";import{c,f as i}from"./chunk-HTIGXY2B.js";import{a as r}from"./chunk-6IV5ELOB.js";import{a}from"./chunk-TJ47AW2B.js";import{b as f,e as p}from"./chunk-DSM6T5MC.js";import"./chunk-EPJ347EQ.js";import"./chunk-DJOD4BTL.js";import{a as d}from"./chunk-XKX2GLBY.js";import{a as u}from"./chunk-W6FBJD54.js";import{b as l}from"./chunk-ZEBKUNFE.js";import"./chunk-OLPYXE2P.js";import"./chunk-KPAWUBRO.js";import{a as o,b as e,c as t}from"./chunk-F3ZH5IV7.js";import"./chunk-RLMJN536.js";import"./chunk-23UFIOHV.js";import"./chunk-57PTZNIL.js";import"./chunk-NZ3RGSR6.js";export{r as BlAlert,a as BlBadge,l as BlButton,f as BlCheckbox,p as BlCheckboxGroup,d as BlDialog,u as BlDrawer,G as BlDropdown,D as BlDropdownGroup,T as BlDropdownItem,t as BlIcon,x as BlInput,B as BlPagination,w as BlPopover,n as BlProgressIndicator,c as BlRadio,i as BlRadioGroup,m as BlSelect,s as BlSelectOption,S as BlSwitch,I as BlTab,b as BlTabGroup,P as BlTabPanel,g as BlTextarea,h as BlTooltip,e as getIconPath,o as setIconPath};
1
+ import{b as S}from"./chunk-QV3A6DWH.js";import{a as b}from"./chunk-J73JZGIX.js";import{a as I}from"./chunk-MGQL62CQ.js";import{a as P}from"./chunk-JMV2HWKD.js";import{a as g}from"./chunk-UVCOTTG2.js";import{a as h}from"./chunk-72WMF254.js";import{b as T,d as G}from"./chunk-VQLW2744.js";import{b as D}from"./chunk-VYKKWEKI.js";import{a as B}from"./chunk-EMMMXLJJ.js";import{a as m}from"./chunk-GO4KZIGU.js";import{a as s}from"./chunk-4UWTC6BR.js";import{a as x}from"./chunk-QRR36YKM.js";import"./chunk-XQN3H7RG.js";import"./chunk-3B64VOWB.js";import{a as w}from"./chunk-SEMLCEAH.js";import"./chunk-ANYJUR6Q.js";import{a as n}from"./chunk-MU34JCL5.js";import{c,f as i}from"./chunk-HTIGXY2B.js";import{a as r}from"./chunk-6IV5ELOB.js";import{a}from"./chunk-TJ47AW2B.js";import{b as f,e as p}from"./chunk-OSIYJGJP.js";import"./chunk-EPJ347EQ.js";import"./chunk-DJOD4BTL.js";import{a as d}from"./chunk-XKX2GLBY.js";import{a as u}from"./chunk-W6FBJD54.js";import{b as l}from"./chunk-ZEBKUNFE.js";import"./chunk-OLPYXE2P.js";import"./chunk-KPAWUBRO.js";import{a as o,b as e,c as t}from"./chunk-F3ZH5IV7.js";import"./chunk-RLMJN536.js";import"./chunk-23UFIOHV.js";import"./chunk-57PTZNIL.js";import"./chunk-NZ3RGSR6.js";export{r as BlAlert,a as BlBadge,l as BlButton,f as BlCheckbox,p as BlCheckboxGroup,d as BlDialog,u as BlDrawer,G as BlDropdown,D as BlDropdownGroup,T as BlDropdownItem,t as BlIcon,x as BlInput,B as BlPagination,w as BlPopover,n as BlProgressIndicator,c as BlRadio,i as BlRadioGroup,m as BlSelect,s as BlSelectOption,S as BlSwitch,I as BlTab,b as BlTabGroup,P as BlTabPanel,g as BlTextarea,h as BlTooltip,e as getIconPath,o as setIconPath};
2
2
  //# sourceMappingURL=baklava.js.map
@@ -39,4 +39,4 @@ import{a as m}from"./chunk-3B64VOWB.js";import{b as g,d as y,f as x,g as O,h as
39
39
  </div>
40
40
  <div class="hint">${e} ${i}</div>
41
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){this._additionalSelectedOptionCount=0;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.shadowRootOptions={...d.shadowRootOptions,delegatesFocus:!0},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,reflect:!0})],t.prototype,"autofocus",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-3KKF66FB.js.map
42
+ //# sourceMappingURL=chunk-GO4KZIGU.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:grid;gap:var(--bl-size-3xs);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-xs);--label-padding:var(--bl-size-3xs);--border-size:1px;--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);--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:grid;align-items:center;justify-content:space-between;grid-template-columns:1fr max-content max-content;cursor:pointer;box-sizing:border-box;height:var(--height);border:solid 1px var(--border-color);font:var(--bl-font-title-3-regular);padding:0 calc(var(--padding-horizontal) - var(--label-padding) - var(--border-size));border-radius:var(--bl-border-radius-s);color:var(--text-color);background-color:var(--background-color);-webkit-user-select:none;user-select:none;margin:0;width:0;min-width:100%}.placeholder{color:var(--placeholder-color);padding-left:var(--label-padding);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{padding:0;padding-left:var(--label-padding);margin:0;list-style:none;flex:1;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(--bl-index-popover);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)}legend,label{max-width:max-content;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}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));transition:all ease-in .1s;pointer-events:none;font:var(--bl-font-title-3-regular);font-size:var(--font-size);color:var(--placeholder-color)}legend{height:0;visibility:hidden;display:none}legend span{padding:0 var(--label-padding);display:inline-block;opacity:0;visibility:visible}:where(.select-open,.selected) label{top:0;transform:translateY(-50%);font:var(--bl-font-caption);color:var(--label-color);pointer-events:initial;right:var(--padding-horizontal)}:host([label]) :where(.select-open,.selected) legend{max-width:100%;font:var(--bl-font-caption);display:block}:host([label-fixed]) label{position:static;padding:0;transition:none;transform:none;pointer-events:initial;font:var(--bl-font-caption);color:var(--label-color)}:host([label-fixed]) legend{display:none}.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 {\n autoUpdate,\n computePosition,\n flip,\n MiddlewareState,\n offset,\n size,\n} 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 * @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(\n LitElement\n) {\n static get styles(): CSSResultGroup {\n return [style];\n }\n static shadowRootOptions = {...LitElement.shadowRootOptions, delegatesFocus: true};\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 * Sets input to get keyboard focus automatically\n */\n @property({ type: Boolean, reflect: true })\n autofocus = 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 @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.forEach(\n option =>\n (option.selected =\n this.value === option.value ||\n (Array.isArray(this.value) && this.value.includes(option.value)))\n );\n\n this._selectedOptions = [...this.options.filter(option => option.selected)];\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: MiddlewareState) {\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}\n ></bl-button>`;\n\n return html`<fieldset\n class=${classMap({\n 'select-input': true,\n 'has-overflowed-options': this._additionalSelectedOptionCount > 0,\n })}\n tabindex=\"${this.disabled ? '-1' : 0}\"\n ?autofocus=${this.autofocus}\n @click=${this.togglePopover}\n >\n <legend><span>${this.label}</span></legend>\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 class=\"dropdown-icon open\" name=\"arrow_up\"></bl-icon>\n\n <bl-icon class=\"dropdown-icon closed\" name=\"arrow_down\"></bl-icon>\n </div>\n </fieldset>`;\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\n const helpMessage = this.helpText ? html`<p class=\"help-text\">${this.helpText}</p>` : '';\n\n const label = this.label ? 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} ${this.inputTemplate()}\n <div\n class=\"popover\"\n tabindex=\"${ifDefined(this._isPopoverOpen ? undefined : '-1')}\"\n @bl-select-option=${this._handleSelectOptionEvent}\n >\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 private togglePopover() {\n this._isPopoverOpen ? this.close() : this.open();\n }\n\n private _handleSelectEvent() {\n this._onBlSelect(\n this._selectedOptions.map(\n option =>\n ({\n value: option.value,\n selected: option.selected,\n text: option.textContent,\n } as ISelectOption<ValueType>)\n )\n );\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\n .filter(option => option.selected)\n .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) {\n this._additionalSelectedOptionCount = 0;\n return;\n }\n\n const firstNonVisibleItemIndex = [...this.selectedOptionsItems].findIndex(\n item => item.offsetLeft > this.selectedOptionsContainer.offsetWidth\n );\n\n if (firstNonVisibleItemIndex > -1) {\n this._additionalSelectedOptionCount =\n 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", "P", "z", "b", "O", "k", "args", "x", "y", "e", "inputSelectedOptions", "item", "removeButton", "o", "invalidMessage", "helpMessage", "label", "l", "optionItem", "firstNonVisibleItemIndex", "_changedProperties", "requiredValidator", "__decorateClass", "t", "i"]
7
+ }
@@ -1,9 +1,9 @@
1
- import{a as v}from"./chunk-EPJ347EQ.js";import{a as d}from"./chunk-DJOD4BTL.js";import{a as f}from"./chunk-KPAWUBRO.js";import{a as l}from"./chunk-23UFIOHV.js";import{a as s,b as a,f as n,g as c,h as r,j as m}from"./chunk-57PTZNIL.js";import{a as t}from"./chunk-NZ3RGSR6.js";var E=s`:host{display:inline-block;vertical-align:middle}:host *{outline:0}label{display:flex;gap:var(--bl-size-2xs);color:var(--bl-color-secondary);font:var(--bl-font-title-3);cursor:pointer;user-select:none}.label{word-break:break-all}input{appearance:none;position:absolute}.check-mark{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--bl-size-m);height:var(--bl-size-m);min-width:var(--bl-size-m);min-height:var(--bl-size-m);max-width:var(--bl-size-m);max-height:var(--bl-size-m);border:1px solid var(--bl-color-border);border-radius:var(--bl-border-radius-xs);color:var(--bl-color-content-primary-contrast);font-size:var(--bl-font-size-2xs);line-height:100%;background-color:var(--bl-color-primary-background)}:host([checked]) .label,:host(:hover) .label,:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .label{color:var(--bl-color-primary)}:host(:is([checked],[indeterminate])) .check-mark{background-color:var(--bl-color-primary);border:0}:host([disabled]){cursor:not-allowed;pointer-events:none}:host([disabled]) .check-mark,:host([disabled]) .label{color:var(--bl-color-content-passive)}:host([disabled]) .check-mark{background-color:var(--bl-color-secondary-background)}:host(:not([disabled])) input:focus-visible+.check-mark{box-shadow:0 0 0 1px white,0 0 0 3px var(--bl-color-primary)}`,g=E;var O=s`:host{display:flex;flex-direction:row}fieldset{border:0;padding:0}legend{font:var(--bl-font-title-3-medium);color:var(--bl-color-content-primary)}.options{display:flex;flex-flow:var(--bl-checkbox-direction,column) wrap;gap:var(--bl-size-m);margin-block:var(--bl-size-xs)}`,k=O;var p="bl-checkbox-group",u="bl-checkbox-group-change",o=class extends d(n){constructor(){super(...arguments);this.value=[];this.required=!1;this.focusedOptionIndex=0}static get styles(){return[k]}get options(){return[].slice.call(this.querySelectorAll(h))}get checkedOptions(){return this.options.filter(e=>e.checked).map(e=>e.value)}get availableOptions(){return this.options.filter(e=>!e.disabled)}connectedCallback(){super.connectedCallback(),this.tabIndex=0,this.addEventListener("focus",this.handleFocus),this.addEventListener("keydown",this.handleKeyDown)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("focus",this.handleFocus),this.removeEventListener("keydown",this.handleKeyDown)}updated(e){e.has("value")&&(this.setValue(this.checkedOptions.join(",")),this.onChange(this.value))}handleOptionChecked(){this.value=this.checkedOptions}handleKeyDown(e){if(["ArrowDown","ArrowRight"].includes(e.key))this.focusedOptionIndex++;else if(["ArrowUp","ArrowLeft"].includes(e.key))this.focusedOptionIndex--;else if(e.key==="Tab"){if(e.shiftKey?this.focusedOptionIndex--:this.focusedOptionIndex++,this.focusedOptionIndex===this.availableOptions.length){this.tabIndex=0,this.focusedOptionIndex=0;return}}else return;this.focusedOptionIndex=Math.max(0,Math.min(this.focusedOptionIndex,this.availableOptions.length-1)),this.availableOptions[this.focusedOptionIndex].focus(),e.preventDefault()}handleFocus(){this.availableOptions[this.focusedOptionIndex].focus()}render(){return a`<fieldset role="group" aria-labelledby="label" aria-required=${this.required}>
1
+ import{a as v}from"./chunk-EPJ347EQ.js";import{a as d}from"./chunk-DJOD4BTL.js";import{a as f}from"./chunk-KPAWUBRO.js";import{a as l}from"./chunk-23UFIOHV.js";import{a as n,b as a,f as s,g as c,h as o,j as m}from"./chunk-57PTZNIL.js";import{a as t}from"./chunk-NZ3RGSR6.js";var E=n`:host{display:inline-block;vertical-align:middle}:host *{outline:0}label{display:flex;gap:var(--bl-size-2xs);color:var(--bl-color-secondary);font:var(--bl-font-title-3);cursor:pointer;user-select:none}.label{word-break:break-all}input{appearance:none;position:absolute}.check-mark{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--bl-size-m);height:var(--bl-size-m);min-width:var(--bl-size-m);min-height:var(--bl-size-m);max-width:var(--bl-size-m);max-height:var(--bl-size-m);border:1px solid var(--bl-color-border);border-radius:var(--bl-border-radius-xs);color:var(--bl-color-content-primary-contrast);font-size:var(--bl-font-size-2xs);line-height:100%;background-color:var(--bl-color-primary-background)}:host([checked]) .label,:host(:hover) .label,:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .label{color:var(--bl-color-primary)}:host(:is([checked],[indeterminate])) .check-mark{background-color:var(--bl-color-primary);border:0}:host([disabled]){cursor:not-allowed;pointer-events:none}:host([disabled]) .check-mark,:host([disabled]) .label{color:var(--bl-color-content-passive)}:host([disabled]) .check-mark{background-color:var(--bl-color-secondary-background)}:host(:not([disabled])) input:focus-visible+.check-mark{box-shadow:0 0 0 1px white,0 0 0 3px var(--bl-color-primary)}`,g=E;var O=n`:host{display:flex;flex-direction:row}fieldset{border:0;padding:0}legend{font:var(--bl-font-title-3-medium);color:var(--bl-color-content-primary)}.options{display:flex;flex-flow:var(--bl-checkbox-direction,column) wrap;gap:var(--bl-size-m);margin-block:var(--bl-size-xs)}`,k=O;var p="bl-checkbox-group",u="bl-checkbox-group-change",r=class extends d(s){constructor(){super(...arguments);this.value=[];this.required=!1;this.focusedOptionIndex=0}static get styles(){return[k]}get options(){return[].slice.call(this.querySelectorAll(h))}get checkedOptions(){return this.options.filter(e=>e.checked).map(e=>e.value)}get availableOptions(){return this.options.filter(e=>!e.disabled)}connectedCallback(){super.connectedCallback(),this.tabIndex=0,this.addEventListener("focus",this.handleFocus),this.addEventListener("keydown",this.handleKeyDown)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("focus",this.handleFocus),this.removeEventListener("keydown",this.handleKeyDown)}updated(e){e.has("value")&&(this.setValue(this.checkedOptions.join(",")),this.onChange(this.value))}handleOptionChecked(){this.value=this.checkedOptions}handleKeyDown(e){if(["ArrowDown","ArrowRight"].includes(e.key))this.focusedOptionIndex++;else if(["ArrowUp","ArrowLeft"].includes(e.key))this.focusedOptionIndex--;else if(e.key==="Tab"){if(e.shiftKey?this.focusedOptionIndex--:this.focusedOptionIndex++,this.focusedOptionIndex===this.availableOptions.length){this.tabIndex=0,this.focusedOptionIndex=0;return}}else return;this.focusedOptionIndex=Math.max(0,Math.min(this.focusedOptionIndex,this.availableOptions.length-1)),this.availableOptions[this.focusedOptionIndex].focus(),e.preventDefault()}handleFocus(){this.availableOptions[this.focusedOptionIndex].focus()}render(){return a`<fieldset role="group" aria-labelledby="label" aria-required=${this.required}>
2
2
  <legend id="label">${this.label}</legend>
3
3
  <div class="options" @bl-checkbox-change=${this.handleOptionChecked}>
4
4
  <slot></slot>
5
5
  </div>
6
- </fieldset>`}};t([r({type:String})],o.prototype,"label",2),t([r({type:Array,reflect:!0})],o.prototype,"value",2),t([r({type:Boolean,reflect:!0})],o.prototype,"required",2),t([l("bl-checkbox-group-change")],o.prototype,"onChange",2),o=t([c(p)],o);var h="bl-checkbox",i=class extends d(n){constructor(){super(...arguments);this.checked=!1;this.required=!1;this.disabled=!1;this.indeterminate=!1;this.handleFieldValueChange=e=>{this.checked=e.detail.includes(this.value)}}static get styles(){return[g]}connectedCallback(){var e;super.connectedCallback(),this.field=this.closest(p),(e=this.field)==null||e.addEventListener(u,this.handleFieldValueChange)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.field)==null||e.removeEventListener(u,this.handleFieldValueChange)}updated(e){e.has("checked")&&this.required&&this.checked&&this.setValue(this.value)}update(e){super.update(e),this.indeterminate&&this.checked&&(this.checked=!1,this.requestUpdate("checked",!0))}focus(){this.checkboxElement.tabIndex=0,this.checkboxElement.focus(),this.onFocus(this.value)}blur(){this.onBlur(this.value),this.field&&(this.checkboxElement.tabIndex=-1)}handleChange(e){let b=e.target;this.checked=b.checked,this.onChange(b.checked),this.indeterminate=!1}render(){let e="";return this.checked&&(e="check"),this.indeterminate&&(e="minus"),a`
6
+ </fieldset>`}};t([o({type:String})],r.prototype,"label",2),t([o({type:Array,reflect:!0})],r.prototype,"value",2),t([o({type:Boolean,reflect:!0})],r.prototype,"required",2),t([l("bl-checkbox-group-change")],r.prototype,"onChange",2),r=t([c(p)],r);var h="bl-checkbox",i=class extends d(s){constructor(){super(...arguments);this.checked=!1;this.required=!1;this.disabled=!1;this.indeterminate=!1;this.handleFieldValueChange=e=>{this.checked=e.detail.includes(this.value)}}static get styles(){return[g]}connectedCallback(){var e;super.connectedCallback(),this.field=this.closest(p),(e=this.field)==null||e.addEventListener(u,this.handleFieldValueChange)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.field)==null||e.removeEventListener(u,this.handleFieldValueChange)}updated(e){e.has("checked")&&this.required&&this.checked&&this.setValue(this.value)}update(e){super.update(e),this.indeterminate&&this.checked&&(this.checked=!1,this.requestUpdate("checked",!0))}focus(){this.checkboxElement.tabIndex=0,this.checkboxElement.focus(),this.onFocus(this.value)}blur(){this.onBlur(this.value),this.field&&(this.checkboxElement.tabIndex=-1)}handleChange(e){let b=e.target;this.checked=b.checked,this.onChange(b.checked),this.indeterminate=!1}render(){let e="";return this.checked&&(e="check"),this.indeterminate&&(e="minus"),a`
7
7
  <label>
8
8
  <input
9
9
  type="checkbox"
@@ -20,5 +20,5 @@ import{a as v}from"./chunk-EPJ347EQ.js";import{a as d}from"./chunk-DJOD4BTL.js";
20
20
  <div class="check-mark">${e?a`<bl-icon name="${e}"></bl-icon>`:null}</div>
21
21
  <span class="label"><slot></slot></span>
22
22
  </label>
23
- `}};t([r({type:Boolean,reflect:!0})],i.prototype,"checked",2),t([r()],i.prototype,"value",2),t([r({type:Boolean,reflect:!0})],i.prototype,"required",2),t([r({type:Boolean,reflect:!0})],i.prototype,"disabled",2),t([r({type:Boolean,reflect:!0})],i.prototype,"indeterminate",2),t([l("bl-checkbox-change")],i.prototype,"onChange",2),t([l("bl-focus")],i.prototype,"onFocus",2),t([l("bl-blur")],i.prototype,"onBlur",2),t([m("[type=checkbox]")],i.prototype,"checkboxElement",2),i=t([c(h)],i);export{h as a,i as b,p as c,u as d,o as e};
24
- //# sourceMappingURL=chunk-DSM6T5MC.js.map
23
+ `}};i.shadowRootOptions={...s.shadowRootOptions,delegatesFocus:!0},t([o({type:Boolean,reflect:!0})],i.prototype,"checked",2),t([o()],i.prototype,"value",2),t([o({type:Boolean,reflect:!0})],i.prototype,"required",2),t([o({type:Boolean,reflect:!0})],i.prototype,"disabled",2),t([o({type:Boolean,reflect:!0})],i.prototype,"indeterminate",2),t([l("bl-checkbox-change")],i.prototype,"onChange",2),t([l("bl-focus")],i.prototype,"onFocus",2),t([l("bl-blur")],i.prototype,"onBlur",2),t([m("[type=checkbox]")],i.prototype,"checkboxElement",2),i=t([c(h)],i);export{h as a,i as b,p as c,u as d,r as e};
24
+ //# sourceMappingURL=chunk-OSIYJGJP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/components/checkbox-group/checkbox/bl-checkbox.css", "../src/components/checkbox-group/bl-checkbox-group.css", "../src/components/checkbox-group/bl-checkbox-group.ts", "../src/components/checkbox-group/checkbox/bl-checkbox.ts"],
4
+ "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:inline-block;vertical-align:middle}:host *{outline:0}label{display:flex;gap:var(--bl-size-2xs);color:var(--bl-color-secondary);font:var(--bl-font-title-3);cursor:pointer;user-select:none}.label{word-break:break-all}input{appearance:none;position:absolute}.check-mark{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--bl-size-m);height:var(--bl-size-m);min-width:var(--bl-size-m);min-height:var(--bl-size-m);max-width:var(--bl-size-m);max-height:var(--bl-size-m);border:1px solid var(--bl-color-border);border-radius:var(--bl-border-radius-xs);color:var(--bl-color-content-primary-contrast);font-size:var(--bl-font-size-2xs);line-height:100%;background-color:var(--bl-color-primary-background)}:host([checked]) .label,:host(:hover) .label,:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .label{color:var(--bl-color-primary)}:host(:is([checked],[indeterminate])) .check-mark{background-color:var(--bl-color-primary);border:0}:host([disabled]){cursor:not-allowed;pointer-events:none}:host([disabled]) .check-mark,:host([disabled]) .label{color:var(--bl-color-content-passive)}:host([disabled]) .check-mark{background-color:var(--bl-color-secondary-background)}:host(:not([disabled])) input:focus-visible+.check-mark{box-shadow:0 0 0 1px white,0 0 0 3px var(--bl-color-primary)}`;\nexport default styles;\n", "import {css} from 'lit';\nexport const styles = css`:host{display:flex;flex-direction:row}fieldset{border:0;padding:0}legend{font:var(--bl-font-title-3-medium);color:var(--bl-color-content-primary)}.options{display:flex;flex-flow:var(--bl-checkbox-direction,column) wrap;gap:var(--bl-size-m);margin-block:var(--bl-size-xs)}`;\nexport default styles;\n", "import { FormControlMixin } from '@open-wc/form-control';\nimport { CSSResultGroup, html, LitElement, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport 'element-internals-polyfill';\nimport { event, EventDispatcher } from '../../utilities/event';\nimport style from './bl-checkbox-group.css';\nimport BlCheckbox, { blCheckboxTag } from './checkbox/bl-checkbox';\n\nexport const blCheckboxGroupTag = 'bl-checkbox-group';\n\nexport const blChangeEventName = 'bl-checkbox-group-change';\n\n/**\n * @tag bl-checkbox-group\n * @summary Baklava Button component\n *\n * @cssproperty --bl-checkbox-direction - Can be used for showing checkbox options as columns instead of rows. Options are `row` or `column`\n */\n@customElement(blCheckboxGroupTag)\nexport default class BlCheckboxGroup extends FormControlMixin(LitElement) {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets the checkbox group label\n */\n @property({ type: String })\n label: string;\n\n /**\n * Set and gets the actual value of the field\n */\n @property({ type: Array, reflect: true })\n value: string[] = [];\n\n /**\n * Sets option as required\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n get options(): BlCheckbox[] {\n return [].slice.call(this.querySelectorAll(blCheckboxTag));\n }\n\n get checkedOptions(): string[] {\n return this.options.filter(opt => opt.checked).map(opt => opt.value);\n }\n\n get availableOptions(): BlCheckbox[] {\n return this.options.filter(option => !option.disabled);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.tabIndex = 0;\n this.addEventListener('focus', this.handleFocus);\n this.addEventListener('keydown', this.handleKeyDown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('focus', this.handleFocus);\n this.removeEventListener('keydown', this.handleKeyDown);\n }\n\n updated(changedProperties: Map<string, unknown>): void {\n if (changedProperties.has('value')) {\n this.setValue(this.checkedOptions.join(','));\n this.onChange(this.value);\n }\n }\n\n /**\n * Fires when checkbox group value changed\n */\n @event('bl-checkbox-group-change') private onChange: EventDispatcher<string[]>;\n\n private focusedOptionIndex = 0;\n\n private handleOptionChecked() {\n this.value = this.checkedOptions;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n // Next option\n if (['ArrowDown', 'ArrowRight'].includes(event.key)) {\n this.focusedOptionIndex++;\n\n // Previous option\n } else if (['ArrowUp', 'ArrowLeft'].includes(event.key)) {\n this.focusedOptionIndex--;\n\n // next or previous option with tab / hold shift & tab\n } else if (event.key === 'Tab') {\n event.shiftKey ? this.focusedOptionIndex-- : this.focusedOptionIndex++;\n\n if (this.focusedOptionIndex === this.availableOptions.length) {\n this.tabIndex = 0;\n this.focusedOptionIndex = 0;\n return;\n }\n } else {\n // Other keys are not our interest here\n return;\n }\n\n // Don't exceed array indexes\n this.focusedOptionIndex = Math.max(\n 0,\n Math.min(this.focusedOptionIndex, this.availableOptions.length - 1)\n );\n\n this.availableOptions[this.focusedOptionIndex].focus();\n\n event.preventDefault();\n }\n\n private handleFocus() {\n this.availableOptions[this.focusedOptionIndex].focus();\n }\n\n render(): TemplateResult {\n return html`<fieldset role=\"group\" aria-labelledby=\"label\" aria-required=${this.required}>\n <legend id=\"label\">${this.label}</legend>\n <div class=\"options\" @bl-checkbox-change=${this.handleOptionChecked}>\n <slot></slot>\n </div>\n </fieldset>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [blCheckboxGroupTag]: BlCheckboxGroup;\n }\n interface HTMLElementEventMap {\n [blChangeEventName]: CustomEvent<string[]>;\n }\n}\n", "import { FormControlMixin } from '@open-wc/form-control';\nimport { CSSResultGroup, html, LitElement, TemplateResult } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { live } from 'lit/directives/live.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport 'element-internals-polyfill';\nimport { event, EventDispatcher } from '../../../utilities/event';\nimport '../../icon/bl-icon';\nimport type BlCheckboxGroup from '../bl-checkbox-group';\nimport style from './bl-checkbox.css';\nimport { blCheckboxGroupTag, blChangeEventName } from '../bl-checkbox-group';\n\nexport const blCheckboxTag = 'bl-checkbox';\n\n/**\n * @tag bl-checkbox\n * @summary Baklava Checkbox component\n */\n@customElement(blCheckboxTag)\nexport default class BlCheckbox extends FormControlMixin(LitElement) {\n static get styles(): CSSResultGroup {\n return [style];\n }\n static shadowRootOptions = {...LitElement.shadowRootOptions, delegatesFocus: true};\n\n /**\n * Sets the checked state for checkbox\n */\n @property({ type: Boolean, reflect: true })\n checked = false;\n\n /**\n * Sets the checkbox value\n */\n @property()\n value: string;\n\n /**\n * Sets checkbox as required\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Sets the disabled state for checkbox\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets the indeterminate state for checkbox\n */\n @property({ type: Boolean, reflect: true })\n indeterminate = false;\n\n /**\n * Fires whenever user change the value of the checkbox.\n */\n @event('bl-checkbox-change') private onChange: EventDispatcher<boolean>;\n\n /**\n * Fires when checkbox is focused\n */\n @event('bl-focus') private onFocus: EventDispatcher<string>;\n\n /**\n * Fires when checkbox is blurred\n */\n @event('bl-blur') private onBlur: EventDispatcher<string>;\n\n @query('[type=checkbox]') checkboxElement: HTMLElement;\n\n protected field: BlCheckboxGroup | null;\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.field = this.closest<BlCheckboxGroup>(blCheckboxGroupTag);\n this.field?.addEventListener(blChangeEventName, this.handleFieldValueChange);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.field?.removeEventListener(blChangeEventName, this.handleFieldValueChange);\n }\n\n updated(changedProperties: Map<string, unknown>): void {\n if (changedProperties.has('checked') && this.required && this.checked) {\n this.setValue(this.value);\n }\n }\n\n update(changedProperties: Map<string, unknown>) {\n super.update(changedProperties);\n if (this.indeterminate && this.checked) {\n this.checked = false;\n this.requestUpdate('checked', true);\n }\n }\n\n /**\n * Focuses this option\n */\n focus() {\n this.checkboxElement.tabIndex = 0;\n this.checkboxElement.focus();\n this.onFocus(this.value);\n }\n\n /**\n * Blurs from this option\n */\n blur() {\n this.onBlur(this.value);\n if (!this.field) return;\n this.checkboxElement.tabIndex = -1;\n }\n\n private handleChange(event: CustomEvent) {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n this.onChange(target.checked);\n this.indeterminate = false;\n }\n\n private handleFieldValueChange = (event: CustomEvent<Array<string>>) => {\n this.checked = event.detail.includes(this.value);\n };\n\n render(): TemplateResult {\n let icon = '';\n if (this.checked) icon = 'check';\n if (this.indeterminate) icon = 'minus';\n\n return html`\n <label>\n <input\n type=\"checkbox\"\n .checked=${live(this.checked)}\n ?disabled=${this.disabled}\n aria-required=${this.required}\n aria-labelledby=\"label\"\n aria-readonly=${this.disabled}\n .indeterminate=${this.indeterminate}\n @change=${this.handleChange}\n value=${ifDefined(this.value)}\n @blur=${this.blur}\n />\n <div class=\"check-mark\">${icon ? html`<bl-icon name=\"${icon}\"></bl-icon>` : null}</div>\n <span class=\"label\"><slot></slot></span>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [blCheckboxTag]: BlCheckbox;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["styles", "i", "bl_checkbox_default", "styles", "i", "bl_checkbox_group_default", "blCheckboxGroupTag", "blChangeEventName", "BlCheckboxGroup", "FormControlMixin", "bl_checkbox_group_default", "blCheckboxTag", "opt", "option", "changedProperties", "event", "y", "__decorateClass", "e", "blCheckboxTag", "BlCheckbox", "FormControlMixin", "event", "bl_checkbox_default", "_a", "blCheckboxGroupTag", "blChangeEventName", "changedProperties", "target", "icon", "y", "l", "__decorateClass", "e", "i"]
7
+ }
@@ -43,4 +43,4 @@ import{a as f}from"./chunk-XQN3H7RG.js";import{a as m}from"./chunk-EPJ347EQ.js";
43
43
  </fieldset>
44
44
  <div class="hint">${r} ${o}</div>
45
45
  </div>`}};e.shadowRootOptions={...d.shadowRootOptions,delegatesFocus:!0},e.formControlValidators=f,t([b("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({type:Number,reflect:!0})],e.prototype,"min",2),t([i({type:Number,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,attribute:"label-fixed",reflect:!0})],e.prototype,"labelFixed",2),t([i({type:String,attribute:"invalid-text",reflect:!0})],e.prototype,"customInvalidText",1),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([v("bl-input")],e);export{e as a};
46
- //# sourceMappingURL=chunk-66XJK5VF.js.map
46
+ //# sourceMappingURL=chunk-QRR36YKM.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/components/input/bl-input.css", "../src/components/input/bl-input.ts"],
4
+ "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:inline-block;width:200px;position:relative}.wrapper{--border-color:var(--bl-color-border);--icon-color:var(--bl-color-content-tertiary);--text-color:var(--bl-color-content-primary);--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);--label-padding:var(--bl-size-3xs);--background-color:var(--bl-color-content-primary-contrast);--autofill-bg-color:var(--bl-color-accent-primary-background);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(--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-secondary-background);--text-color:var(--bl-color-content-passive)}.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:all ease-in .1s;font:var(--input-font);top:var(--padding-vertical);left:var(--padding-horizontal);right:var(--padding-horizontal);pointer-events:none;color:var(--bl-color-content-tertiary)}.has-icon label{right:calc(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;padding-left:var(--label-padding);font:var(--input-font);color:var(--text-color);-webkit-text-fill-color:var(--text-color);background-color:transparent}input::-webkit-credentials-auto-fill-button{color:red}:where(.wrapper:focus-within,.wrapper.has-value) input{padding-left:var(--label-padding)}input:disabled{cursor:not-allowed}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-right:var(--label-padding)}bl-icon:not(.reveal-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-content-tertiary);-webkit-text-fill-color:var(--bl-color-content-tertiary)}:host([label]) ::placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:color ease-out .4s}:host([label-fixed]) ::placeholder,:host :focus-within ::placeholder{color:var(--bl-color-content-tertiary);-webkit-text-fill-color:var(--bl-color-content-tertiary)}:host([label-fixed]) label{position:static;transition:none;transform:none;pointer-events:initial;font:var(--bl-font-caption);color:var(--bl-color-content-secondary);padding:0}:host([label-fixed]) legend{display:none}:host(:not([label-fixed])) :focus-within label,:host(:not([label-fixed])) .has-value label{top:0;left:calc(var(--padding-horizontal) - var(--label-padding));right:calc(var(--padding-horizontal) - var(--label-padding));transform:translateY(-50%);font:var(--bl-font-caption);color:var(--bl-color-content-secondary);padding:0 var(--label-padding);pointer-events:initial;z-index:var(--bl-index-base)}:host([label]) :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,.invalid-text,.error-icon{color:var(--bl-color-danger)}.help-text{color:var(--bl-color-content-secondary)}:host([help-text]) .hint,.dirty.invalid .hint{display:block}.dirty.invalid .invalid-text{display:block}.dirty.invalid .help-text{display:none}.dirty.invalid .error-icon{display:inline-block}.dirty.invalid .custom-icon ~ .error-icon{display:none}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { FormControlMixin } from '@open-wc/form-control';\nimport { submit } from '@open-wc/form-helpers';\nimport { live } from 'lit/directives/live.js';\nimport { event, EventDispatcher } from '../../utilities/event';\nimport { innerInputValidators } from '../../utilities/form-control';\nimport 'element-internals-polyfill';\nimport '../icon/bl-icon';\nimport '../button/bl-button';\n\nimport style from './bl-input.css';\n\nexport type InputSize = 'small' | 'medium' | 'large';\n/**\n * @tag bl-input\n * @summary Baklava Input component\n */\n@customElement('bl-input')\nexport default class BlInput extends FormControlMixin(LitElement) {\n static get styles(): CSSResultGroup {\n return [style];\n }\n static shadowRootOptions = {...LitElement.shadowRootOptions, delegatesFocus: true};\n\n static formControlValidators = innerInputValidators;\n\n @query('input')\n validationTarget: HTMLInputElement;\n\n /**\n * Sets name of the input\n */\n @property({ reflect: true })\n name?: string;\n\n /**\n * Type of the input. It's used to set `type` attribute of native input inside. Only `text`, `number` and `password` is supported for now.\n */\n @property({ reflect: true })\n type: 'text' | 'password' | 'number' | 'tel' | 'url' = 'text';\n\n /**\n * Sets label of the input\n */\n @property({ reflect: true })\n label?: string;\n\n /**\n * Sets placeholder of the input\n */\n @property({ reflect: true })\n placeholder?: string;\n\n /**\n * Sets initial value of the input\n */\n @property({ reflect: true })\n value = '';\n\n /**\n * Makes input a mandatory field\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Sets minimum length of the input\n */\n @property({ type: Number, reflect: true })\n minlength?: number;\n\n /**\n * Sets maximum length of the input\n */\n @property({ type: Number, reflect: true })\n maxlength?: number;\n\n /**\n * Sets the smallest number can be entered to a `number` input\n */\n @property({ type: Number, reflect: true })\n min?: number;\n\n /**\n * Sets the biggest number can be entered to a `number` input\n */\n @property({ type: Number, reflect: true })\n max?: number;\n\n /**\n * Sets a regex pattern form the input validation\n */\n @property({ type: String, reflect: true })\n pattern?: string;\n\n /**\n * Sets the increase and decrease step to a `number` input\n */\n @property({ type: Number, reflect: true })\n step?: number;\n\n /**\n * Hints browser to autocomplete this field.\n */\n @property({ type: String, reflect: true })\n autocomplete: string;\n\n /**\n * Sets the input mode of the field for asking browser to show the desired keyboard.\n */\n @property({ type: String, reflect: true })\n inputmode: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';\n\n /**\n * Sets input to get keyboard focus automatically\n */\n @property({ type: Boolean, reflect: true })\n autofocus = false;\n\n /**\n * Sets the custom icon name. `bl-icon` component is used to show an icon\n */\n @property({ type: String, reflect: true })\n icon?: string;\n\n /**\n * Sets input size.\n */\n @property({ type: String, reflect: true })\n size?: InputSize = 'medium';\n\n /**\n * Disables the input\n */\n @property({ type: Boolean, reflect: true })\n disabled = 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 * Overrides error message. This message will override default error messages\n */\n @property({ type: String, attribute: 'invalid-text', reflect: true })\n set customInvalidText(value: string) {\n this._customInvalidText = value;\n this.setValue(this.value);\n }\n\n get customInvalidText(): string {\n return this._customInvalidText;\n }\n\n private _customInvalidText: string;\n\n /**\n * Adds help text\n */\n @property({ type: String, attribute: 'help-text', reflect: true })\n helpText?: string;\n\n /**\n * Fires when an alteration to the element's value is committed by the user. Unlike the input event, the change event is not necessarily fired for each alteration to an element's value.\n */\n @event('bl-change') private onChange: EventDispatcher<string>;\n\n /**\n * Fires when the value of an input element has been changed.\n */\n @event('bl-input') private onInput: EventDispatcher<string>;\n\n /**\n * Fires when the value of an input element has been changed.\n */\n @event('bl-invalid') private onInvalid: EventDispatcher<ValidityState>;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('keydown', this.onKeydown);\n this.addEventListener('invalid', this.onError);\n\n this.form?.addEventListener('submit', () => {\n this.reportValidity();\n });\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this.onKeydown);\n this.removeEventListener('invalid', this.onError);\n }\n\n private onKeydown = (event: KeyboardEvent): void => {\n if (event.code === 'Enter' && this.form) {\n submit(this.form);\n }\n };\n\n private onError = (): void => {\n this.onInvalid(this.internals.validity);\n };\n\n @state() private dirty = false;\n\n @state() private passwordVisible = false;\n\n private textVisibilityToggle() {\n this.passwordVisible = !this.passwordVisible;\n }\n\n validityCallback(): string | void {\n return this.customInvalidText || this.validationTarget?.validationMessage;\n }\n\n /**\n * Force to set input as in invalid state.\n */\n forceCustomError() {\n this.validationTarget.setCustomValidity(this.customInvalidText || 'An error occurred');\n this.setValue(this.value);\n this.reportValidity();\n }\n\n /**\n * Clear forced invalid state\n */\n clearCustomError() {\n this.validationTarget.setCustomValidity('');\n this.setValue(this.value);\n this.reportValidity();\n }\n\n reportValidity() {\n this.dirty = true;\n this.requestUpdate();\n return this.checkValidity();\n }\n\n private inputHandler(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n\n this.value = value;\n this.onInput(value);\n }\n\n private changeHandler(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n\n this.dirty = true;\n this.value = value;\n this.onChange(value);\n }\n\n firstUpdated() {\n this.setValue(this.value);\n }\n\n protected async updated(changedProperties: PropertyValues) {\n if (changedProperties.has('value')) {\n this.setValue(this.value);\n\n await this.validationComplete;\n\n this.requestUpdate();\n }\n }\n\n private inputId = Math.random().toString(36).substring(2);\n\n render(): TemplateResult {\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\n ? html`<p id=\"helpText\" class=\"help-text\">${this.helpText}</p>`\n : ``;\n\n const icon = this.icon ? html`<bl-icon class=\"custom-icon\" name=\"${this.icon}\"></bl-icon>` : '';\n const label = this.label ? html`<label for=${this.inputId}>${this.label}</label>` : '';\n const passwordInput = this.type === 'password';\n\n const revealButton = passwordInput\n ? html`<bl-button\n size=\"small\"\n kind=\"neutral\"\n variant=\"tertiary\"\n class=\"${classMap({\n 'reveal-button': true,\n 'password-visible': this.passwordVisible,\n })}\"\n aria-label=\"Toggle password reveal\"\n @bl-click=\"${this.textVisibilityToggle}\"\n >\n <bl-icon class=\"reveal-icon\" slot=\"icon\" name=\"eye_on\"></bl-icon>\n <bl-icon class=\"reveal-icon\" slot=\"icon\" name=\"eye_off\"></bl-icon>\n </bl-button>`\n : '';\n\n const classes = {\n 'wrapper': true,\n 'dirty': this.dirty,\n 'invalid': !this.checkValidity(),\n 'has-icon': passwordInput || this.icon || (this.dirty && !this.checkValidity()),\n 'has-value': this.value !== null && this.value !== '',\n };\n\n const passwordType = this.passwordVisible ? 'text' : 'password';\n const inputType = passwordInput ? passwordType : this.type;\n\n return html`<div class=${classMap(classes)}>\n ${label}\n <fieldset class=\"input-wrapper\">\n <legend><span>${this.label}</span></legend>\n <input\n id=${this.inputId}\n type=${inputType}\n .value=${live(this.value)}\n inputmode=\"${ifDefined(this.inputmode)}\"\n ?autofocus=${this.autofocus}\n autocomplete=\"${ifDefined(this.autocomplete)}\"\n placeholder=\"${ifDefined(this.placeholder)}\"\n minlength=\"${ifDefined(this.minlength)}\"\n maxlength=\"${ifDefined(this.maxlength)}\"\n min=\"${ifDefined(this.min)}\"\n max=\"${ifDefined(this.max)}\"\n pattern=\"${ifDefined(this.pattern)}\"\n step=\"${ifDefined(this.step)}\"\n ?required=${this.required}\n ?disabled=${this.disabled}\n @change=${this.changeHandler}\n @input=${this.inputHandler}\n aria-invalid=${this.checkValidity() ? 'false' : 'true'}\n aria-describedby=${ifDefined(this.helpText ? 'helpText' : undefined)}\n aria-errormessage=${ifDefined(this.checkValidity() ? undefined : 'errorMessage')}\n />\n <div class=\"icon\">\n ${revealButton} ${icon}\n <bl-icon class=\"error-icon\" name=\"alert\"></bl-icon>\n </div>\n </fieldset>\n <div class=\"hint\">${invalidMessage} ${helpMessage}</div>\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bl-input': BlInput;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["styles", "i", "bl_input_default", "BlInput", "FormControlMixin", "s", "event", "submit", "bl_input_default", "value", "_a", "changedProperties", "invalidMessage", "y", "helpMessage", "icon", "label", "passwordInput", "revealButton", "o", "classes", "passwordType", "inputType", "l", "innerInputValidators", "__decorateClass", "i", "e", "t"]
7
+ }
@@ -34,4 +34,4 @@ lit-html/directives/style-map.js:
34
34
  * SPDX-License-Identifier: BSD-3-Clause
35
35
  *)
36
36
  */
37
- //# sourceMappingURL=chunk-S7FKMIX4.js.map
37
+ //# sourceMappingURL=chunk-UVCOTTG2.js.map