@limetech/lime-elements 37.63.5 → 37.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-icon_2.cjs.entry.js +6 -1
- package/dist/cjs/limel-icon_2.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-picker.cjs.entry.js +3 -0
- package/dist/cjs/limel-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +74 -11
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-text-editor.cjs.entry.js +2 -1
- package/dist/cjs/limel-text-editor.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/picker/picker.js +3 -0
- package/dist/collection/components/picker/picker.js.map +1 -1
- package/dist/collection/components/portal/portal.js +6 -1
- package/dist/collection/components/portal/portal.js.map +1 -1
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +35 -2
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js.map +1 -1
- package/dist/collection/components/text-editor/text-editor.js +27 -1
- package/dist/collection/components/text-editor/text-editor.js.map +1 -1
- package/dist/collection/components/text-editor/types.js +2 -0
- package/dist/collection/components/text-editor/types.js.map +1 -0
- package/dist/collection/components/text-editor/utils/markdown-converter.js +34 -9
- package/dist/collection/components/text-editor/utils/markdown-converter.js.map +1 -1
- package/dist/collection/components/text-editor/utils/plugin-factory.js +30 -0
- package/dist/collection/components/text-editor/utils/plugin-factory.js.map +1 -0
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-icon_2.entry.js +6 -1
- package/dist/esm/limel-icon_2.entry.js.map +1 -1
- package/dist/esm/limel-picker.entry.js +3 -0
- package/dist/esm/limel-picker.entry.js.map +1 -1
- package/dist/esm/limel-prosemirror-adapter.entry.js +74 -11
- package/dist/esm/limel-prosemirror-adapter.entry.js.map +1 -1
- package/dist/esm/limel-text-editor.entry.js +2 -1
- package/dist/esm/limel-text-editor.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js.map +1 -1
- package/dist/lime-elements/{p-d0fb7554.entry.js → p-65ddae59.entry.js} +2 -2
- package/dist/lime-elements/p-65ddae59.entry.js.map +1 -0
- package/dist/lime-elements/{p-595fdf97.entry.js → p-6c1c51bd.entry.js} +2 -2
- package/dist/lime-elements/p-6c1c51bd.entry.js.map +1 -0
- package/dist/lime-elements/p-dd5affea.entry.js +2 -0
- package/dist/lime-elements/p-dd5affea.entry.js.map +1 -0
- package/dist/lime-elements/{p-5344e8bf.entry.js → p-f6929c67.entry.js} +2 -2
- package/dist/lime-elements/p-f6929c67.entry.js.map +1 -0
- package/dist/types/components/picker/picker.d.ts +1 -0
- package/dist/types/components/text-editor/prosemirror-adapter/prosemirror-adapter.d.ts +6 -0
- package/dist/types/components/text-editor/text-editor.d.ts +7 -0
- package/dist/types/components/text-editor/types.d.ts +9 -0
- package/dist/types/components/text-editor/utils/markdown-converter.d.ts +4 -0
- package/dist/types/components/text-editor/utils/plugin-factory.d.ts +6 -0
- package/dist/types/components.d.ts +20 -0
- package/package.json +1 -1
- package/dist/lime-elements/p-5344e8bf.entry.js.map +0 -1
- package/dist/lime-elements/p-57e21d82.entry.js +0 -2
- package/dist/lime-elements/p-57e21d82.entry.js.map +0 -1
- package/dist/lime-elements/p-595fdf97.entry.js.map +0 -1
- package/dist/lime-elements/p-d0fb7554.entry.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as t,h as r,H as i}from"./p-443111b3.js";import{c as o}from"./p-3ccdc4a3.js";const l='@charset "UTF-8";:host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}.lime-looks-like-input-value{line-height:1.75rem;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:rgba(var(--contrast-1400), 1);font-size:0.875rem;font-weight:400;letter-spacing:0.009375em}.mdc-text-field--disabled .lime-looks-like-input-value{cursor:not-allowed;opacity:0.4}.lime-looks-like-input-value{padding:var(--limel-text-editor-padding)}*{box-sizing:border-box}:host(limel-text-editor){--limel-text-editor-outline-color:rgba(var(--contrast-700), 0.65);--limel-text-editor-background-color:rgba(var(--contrast-200), 0.5);--limel-text-editor-label-color:rgba(var(--contrast-1200), 1);--limel-prosemirror-adapter-toolbar-opacity:0.6;--limel-text-editor-padding:0.25rem 1rem 0.75rem 1rem;--limel-prosemirror-adapter-toolbar-grid-template-rows:1fr;--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration:0.3s;--limel-prosemirror-adapter-toolbar-transition-timing-function:cubic-bezier(\n 0.19,\n 0.23,\n 0.26,\n 0.89\n );position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;min-width:5rem;min-height:5rem;height:100%;max-height:var(--text-editor-max-height, calc(100vh - (env(safe-area-inset-top) + env(safe-area-inset-bottom)) - 4rem));padding:1px}:host(limel-text-editor:focus-within),:host(limel-text-editor:not([ui=minimal]):hover){--limel-prosemirror-adapter-toolbar-opacity:1}:host(limel-text-editor[ui=minimal]:not(:focus-within)){--limel-text-editor-padding:0.75rem 1rem 0.75rem 1rem;--limel-prosemirror-adapter-toolbar-grid-template-rows:0fr;--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration:0.46s;--limel-prosemirror-adapter-action-bar-padding-top-bottom:0;--limel-prosemirror-adapter-toolbar-opacity:0;--limel-text-editor-placeholder-top:0;min-height:2.5rem}:host(limel-text-editor:hover){--limel-text-editor-outline-color:rgba(var(--contrast-700), 1)}:host(limel-text-editor:focus-within){--limel-text-editor-outline-color:var(--mdc-theme-primary)}:host(limel-text-editor[disabled]:not([disabled=false])){cursor:not-allowed;opacity:0.4}:host(limel-text-editor[disabled]:not([disabled=false])) limel-prosemirror-adapter{pointer-events:none}:host(limel-text-editor[invalid]:not([invalid=false])){--limel-text-editor-outline-color:var(--lime-error-text-color)}:host(limel-text-editor[readonly]:not([readonly=false])){--limel-text-editor-padding:0.75rem 1rem 0.75rem 1rem;--limel-text-editor-placeholder-top:0;--limel-text-editor-outline-color:transparent;--limel-text-editor-background-color:transparent}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown{display:block;padding:var(--limel-text-editor-padding);overflow-y:auto}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:before,:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:after{z-index:1;pointer-events:none;content:"";display:block;position:absolute;width:100%}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:after{height:1.75rem;top:0;background:linear-gradient(var(--text-editor-fade-out-background-color, rgb(var(--contrast-100))), transparent)}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:before{height:2rem;bottom:-0.25rem;background:linear-gradient(transparent, var(--text-editor-fade-out-background-color, rgb(var(--contrast-100))))}.notched-outline{transition:bottom var(--limel-h-l-grid-template-rows-transition-speed, 0.46s) cubic-bezier(1, 0.09, 0, 0.89);pointer-events:none;position:absolute;inset:0;bottom:var(--limel-text-editor-notched-outline-bottom, 0);display:flex;background-color:var(--limel-text-editor-background-color)}.leading-outline,.notch,.trailing-outline{transition:border-color 0.2s ease;border-width:1px;border-style:solid;border-color:var(--limel-text-editor-outline-color)}.leading-outline{flex-shrink:0;width:0.75rem;border-right-width:0;border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.notch{flex-shrink:0;position:relative;z-index:2;border-top-width:0;border-right-width:0;border-left-width:0;max-width:calc(100% - 1.5rem)}.trailing-outline{flex-grow:1;border-left-width:0;border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}label{transform:translateY(-50%);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;padding:0 0.25rem;color:var(--limel-text-editor-label-color);font-size:0.65rem;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em)}:host(limel-text-editor[required]) label::after{content:"*"}.placeholder{transition-property:top, padding;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;position:absolute;top:var(--limel-text-editor-placeholder-top, 2.25rem);left:0;right:0;padding:var(--limel-text-editor-padding);font-style:italic;font-size:0.875rem;color:rgb(var(--contrast-900))}limel-prosemirror-adapter{flex-grow:1;min-width:0;min-height:0;height:100%;overflow:hidden auto}:host(limel-text-editor:focus),:host(limel-text-editor:focus-visible),:host(limel-text-editor:focus-within),:host(limel-text-editor[invalid]:not([invalid=false])),:host(limel-text-editor[invalid=true]){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limel-text-editor){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limel-text-editor:focus) limel-helper-line,:host(limel-text-editor:focus-visible) limel-helper-line,:host(limel-text-editor:focus-within) limel-helper-line,:host(limel-text-editor:hover) limel-helper-line{will-change:grid-template-rows}:host(limel-text-editor.has-helper-text:focus-within) .notched-outline,:host(limel-text-editor.has-helper-text[invalid]:not([invalid=false])) .notched-outline{--limel-text-editor-notched-outline-bottom:1rem}:host(limel-text-editor[allow-resize]) limel-prosemirror-adapter{resize:vertical}';const a=class{constructor(i){e(this,i);this.change=t(this,"change",7);this.renderHelperLine=()=>{if(!this.helperText){return}return r("limel-helper-line",{helperText:this.helperText,helperTextId:this.helperTextId,invalid:this.isInvalid()})};this.isInvalid=()=>{if(this.readonly){return false}if(this.invalid){return true}};this.handleChange=e=>{e.stopPropagation();this.change.emit(e.detail)};this.contentType="markdown";this.language="en";this.disabled=false;this.readonly=false;this.helperText=undefined;this.placeholder=undefined;this.label=undefined;this.invalid=false;this.value=undefined;this.required=false;this.allowResize=true;this.ui="standard";this.helperTextId=o();this.editorId=o()}render(){return r(i,{class:{"has-helper-text":!!this.helperText}},r("span",{class:"notched-outline"},r("span",{class:"leading-outline"}),this.renderLabel(),r("span",{class:"trailing-outline"})),this.renderEditor())}renderEditor(){if(this.readonly&&!this.value){return[r("span",{class:"lime-looks-like-input-value"},"–"),this.renderHelperLine()]}if(this.readonly){return[r("limel-markdown",{value:this.value,"aria-controls":this.helperTextId,id:this.editorId}),this.renderPlaceholder(),this.renderHelperLine()]}return[r("limel-prosemirror-adapter",{"aria-placeholder":this.placeholder,contentType:this.contentType,onChange:this.handleChange,value:this.value,"aria-controls":this.helperTextId,id:this.editorId,tabindex:this.disabled?-1:undefined,"aria-disabled":this.disabled,language:this.language}),this.renderPlaceholder(),this.renderHelperLine()]}renderLabel(){if(!this.label){return}return r("span",{class:"notch"},r("label",{htmlFor:this.editorId},this.label))}renderPlaceholder(){if(!this.placeholder||this.value){return}return r("span",{class:"placeholder","aria-hidden":"true"},this.placeholder)}};a.style=l;export{a as limel_text_editor};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as t,h as r,H as i}from"./p-443111b3.js";import{c as o}from"./p-3ccdc4a3.js";const l='@charset "UTF-8";:host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}.lime-looks-like-input-value{line-height:1.75rem;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:rgba(var(--contrast-1400), 1);font-size:0.875rem;font-weight:400;letter-spacing:0.009375em}.mdc-text-field--disabled .lime-looks-like-input-value{cursor:not-allowed;opacity:0.4}.lime-looks-like-input-value{padding:var(--limel-text-editor-padding)}*{box-sizing:border-box}:host(limel-text-editor){--limel-text-editor-outline-color:rgba(var(--contrast-700), 0.65);--limel-text-editor-background-color:rgba(var(--contrast-200), 0.5);--limel-text-editor-label-color:rgba(var(--contrast-1200), 1);--limel-prosemirror-adapter-toolbar-opacity:0.6;--limel-text-editor-padding:0.25rem 1rem 0.75rem 1rem;--limel-prosemirror-adapter-toolbar-grid-template-rows:1fr;--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration:0.3s;--limel-prosemirror-adapter-toolbar-transition-timing-function:cubic-bezier(\n 0.19,\n 0.23,\n 0.26,\n 0.89\n );position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;min-width:5rem;min-height:5rem;height:100%;max-height:var(--text-editor-max-height, calc(100vh - (env(safe-area-inset-top) + env(safe-area-inset-bottom)) - 4rem));padding:1px}:host(limel-text-editor:focus-within),:host(limel-text-editor:not([ui=minimal]):hover){--limel-prosemirror-adapter-toolbar-opacity:1}:host(limel-text-editor[ui=minimal]:not(:focus-within)){--limel-text-editor-padding:0.75rem 1rem 0.75rem 1rem;--limel-prosemirror-adapter-toolbar-grid-template-rows:0fr;--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration:0.46s;--limel-prosemirror-adapter-action-bar-padding-top-bottom:0;--limel-prosemirror-adapter-toolbar-opacity:0;--limel-text-editor-placeholder-top:0;min-height:2.5rem}:host(limel-text-editor:hover){--limel-text-editor-outline-color:rgba(var(--contrast-700), 1)}:host(limel-text-editor:focus-within){--limel-text-editor-outline-color:var(--mdc-theme-primary)}:host(limel-text-editor[disabled]:not([disabled=false])){cursor:not-allowed;opacity:0.4}:host(limel-text-editor[disabled]:not([disabled=false])) limel-prosemirror-adapter{pointer-events:none}:host(limel-text-editor[invalid]:not([invalid=false])){--limel-text-editor-outline-color:var(--lime-error-text-color)}:host(limel-text-editor[readonly]:not([readonly=false])){--limel-text-editor-padding:0.75rem 1rem 0.75rem 1rem;--limel-text-editor-placeholder-top:0;--limel-text-editor-outline-color:transparent;--limel-text-editor-background-color:transparent}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown{display:block;padding:var(--limel-text-editor-padding);overflow-y:auto}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:before,:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:after{z-index:1;pointer-events:none;content:"";display:block;position:absolute;width:100%}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:after{height:1.75rem;top:0;background:linear-gradient(var(--text-editor-fade-out-background-color, rgb(var(--contrast-100))), transparent)}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:before{height:2rem;bottom:-0.25rem;background:linear-gradient(transparent, var(--text-editor-fade-out-background-color, rgb(var(--contrast-100))))}.notched-outline{transition:bottom var(--limel-h-l-grid-template-rows-transition-speed, 0.46s) cubic-bezier(1, 0.09, 0, 0.89);pointer-events:none;position:absolute;inset:0;bottom:var(--limel-text-editor-notched-outline-bottom, 0);display:flex;background-color:var(--limel-text-editor-background-color)}.leading-outline,.notch,.trailing-outline{transition:border-color 0.2s ease;border-width:1px;border-style:solid;border-color:var(--limel-text-editor-outline-color)}.leading-outline{flex-shrink:0;width:0.75rem;border-right-width:0;border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.notch{flex-shrink:0;position:relative;z-index:2;border-top-width:0;border-right-width:0;border-left-width:0;max-width:calc(100% - 1.5rem)}.trailing-outline{flex-grow:1;border-left-width:0;border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}label{transform:translateY(-50%);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;padding:0 0.25rem;color:var(--limel-text-editor-label-color);font-size:0.65rem;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em)}:host(limel-text-editor[required]) label::after{content:"*"}.placeholder{transition-property:top, padding;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;position:absolute;top:var(--limel-text-editor-placeholder-top, 2.25rem);left:0;right:0;padding:var(--limel-text-editor-padding);font-style:italic;font-size:0.875rem;color:rgb(var(--contrast-900))}limel-prosemirror-adapter{flex-grow:1;min-width:0;min-height:0;height:100%;overflow:hidden auto}:host(limel-text-editor:focus),:host(limel-text-editor:focus-visible),:host(limel-text-editor:focus-within),:host(limel-text-editor[invalid]:not([invalid=false])),:host(limel-text-editor[invalid=true]){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limel-text-editor){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limel-text-editor:focus) limel-helper-line,:host(limel-text-editor:focus-visible) limel-helper-line,:host(limel-text-editor:focus-within) limel-helper-line,:host(limel-text-editor:hover) limel-helper-line{will-change:grid-template-rows}:host(limel-text-editor.has-helper-text:focus-within) .notched-outline,:host(limel-text-editor.has-helper-text[invalid]:not([invalid=false])) .notched-outline{--limel-text-editor-notched-outline-bottom:1rem}:host(limel-text-editor[allow-resize]) limel-prosemirror-adapter{resize:vertical}';const a=class{constructor(i){e(this,i);this.change=t(this,"change",7);this.renderHelperLine=()=>{if(!this.helperText){return}return r("limel-helper-line",{helperText:this.helperText,helperTextId:this.helperTextId,invalid:this.isInvalid()})};this.isInvalid=()=>{if(this.readonly){return false}if(this.invalid){return true}};this.handleChange=e=>{e.stopPropagation();this.change.emit(e.detail)};this.contentType="markdown";this.language="en";this.disabled=false;this.readonly=false;this.helperText=undefined;this.placeholder=undefined;this.label=undefined;this.invalid=false;this.value=undefined;this.plugins=[];this.required=false;this.allowResize=true;this.ui="standard";this.helperTextId=o();this.editorId=o()}render(){return r(i,{class:{"has-helper-text":!!this.helperText}},r("span",{class:"notched-outline"},r("span",{class:"leading-outline"}),this.renderLabel(),r("span",{class:"trailing-outline"})),this.renderEditor())}renderEditor(){if(this.readonly&&!this.value){return[r("span",{class:"lime-looks-like-input-value"},"–"),this.renderHelperLine()]}if(this.readonly){return[r("limel-markdown",{value:this.value,"aria-controls":this.helperTextId,id:this.editorId}),this.renderPlaceholder(),this.renderHelperLine()]}return[r("limel-prosemirror-adapter",{"aria-placeholder":this.placeholder,contentType:this.contentType,onChange:this.handleChange,plugins:this.plugins,value:this.value,"aria-controls":this.helperTextId,id:this.editorId,tabindex:this.disabled?-1:undefined,"aria-disabled":this.disabled,language:this.language}),this.renderPlaceholder(),this.renderHelperLine()]}renderLabel(){if(!this.label){return}return r("span",{class:"notch"},r("label",{htmlFor:this.editorId},this.label))}renderPlaceholder(){if(!this.placeholder||this.value){return}return r("span",{class:"placeholder","aria-hidden":"true"},this.placeholder)}};a.style=l;export{a as limel_text_editor};
|
|
2
|
+
//# sourceMappingURL=p-6c1c51bd.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["textEditorCss","TextEditor","constructor","hostRef","this","renderHelperLine","helperText","h","helperTextId","invalid","isInvalid","readonly","handleChange","event","stopPropagation","change","emit","detail","createRandomString","editorId","render","Host","class","renderLabel","renderEditor","value","id","renderPlaceholder","placeholder","contentType","onChange","plugins","tabindex","disabled","undefined","language","label","htmlFor"],"sources":["./src/components/text-editor/text-editor.scss?tag=limel-text-editor&encapsulation=shadow","./src/components/text-editor/text-editor.tsx"],"sourcesContent":["@use '../../style/internal/shared_input-select-picker';\n@use '../../style/mixins.scss';\n\n/**\n * @prop --text-editor-max-height: the tallest height the text editor can become when auto-resizing itself. Defaults to `calc(100vh - (env(safe-area-inset-top) + env(safe-area-inset-bottom)) - 4rem)`.\n * @prop --text-editor-fade-out-background-color: the color of the fade-out effect at the top and bottom of the text editor, when the text-editor is in readonly state. Defaults to rgb(var(--contrast-100)).\n */\n\n@include shared_input-select-picker.lime-looks-like-input-value;\n.lime-looks-like-input-value {\n padding: var(--limel-text-editor-padding);\n}\n\n* {\n box-sizing: border-box;\n}\n\n:host(limel-text-editor) {\n --limel-text-editor-outline-color: #{shared_input-select-picker.$lime-text-field-outline-color};\n --limel-text-editor-background-color: #{shared_input-select-picker.$background-color-normal};\n --limel-text-editor-label-color: #{shared_input-select-picker.$label-color};\n --limel-prosemirror-adapter-toolbar-opacity: 0.6;\n --limel-text-editor-padding: 0.25rem 1rem 0.75rem 1rem;\n --limel-prosemirror-adapter-toolbar-grid-template-rows: 1fr;\n --limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration: 0.3s;\n --limel-prosemirror-adapter-toolbar-transition-timing-function: cubic-bezier(\n 0.19,\n 0.23,\n 0.26,\n 0.89\n );\n\n position: relative;\n isolation: isolate;\n display: flex;\n flex-direction: column;\n\n width: 100%;\n min-width: 5rem;\n min-height: 5rem;\n height: 100%;\n max-height: var(\n --text-editor-max-height,\n calc(\n 100vh - (env(safe-area-inset-top) + env(safe-area-inset-bottom)) -\n 4rem\n )\n );\n padding: 1px; // prevents visual defects that can appear due to the backdrop-filter and closeness to borders\n}\n\n:host(limel-text-editor:focus-within),\n:host(limel-text-editor:not([ui='minimal']):hover) {\n --limel-prosemirror-adapter-toolbar-opacity: 1;\n}\n\n:host(limel-text-editor[ui='minimal']:not(:focus-within)) {\n --limel-text-editor-padding: 0.75rem 1rem 0.75rem 1rem;\n --limel-prosemirror-adapter-toolbar-grid-template-rows: 0fr;\n --limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration: 0.46s;\n --limel-prosemirror-adapter-action-bar-padding-top-bottom: 0;\n --limel-prosemirror-adapter-toolbar-opacity: 0;\n --limel-text-editor-placeholder-top: 0;\n min-height: 2.5rem;\n}\n\n:host(limel-text-editor:hover) {\n --limel-text-editor-outline-color: #{shared_input-select-picker.$lime-text-field-outline-color--hovered};\n}\n\n:host(limel-text-editor:focus-within) {\n --limel-text-editor-outline-color: #{shared_input-select-picker.$lime-text-field-outline-color--focused};\n}\n\n:host(limel-text-editor[disabled]:not([disabled='false'])) {\n @include shared_input-select-picker.looks-disabled;\n\n limel-prosemirror-adapter {\n pointer-events: none;\n }\n}\n\n:host(limel-text-editor[invalid]:not([invalid='false'])) {\n --limel-text-editor-outline-color: var(--lime-error-text-color);\n}\n\n:host(limel-text-editor[readonly]:not([readonly='false'])) {\n --limel-text-editor-padding: 0.75rem 1rem 0.75rem 1rem;\n --limel-text-editor-placeholder-top: 0;\n --limel-text-editor-outline-color: transparent;\n --limel-text-editor-background-color: transparent;\n\n limel-markdown {\n // displayed when `readonly` instead of the adapter\n display: block;\n padding: var(--limel-text-editor-padding);\n overflow-y: auto;\n\n &:before,\n &:after {\n z-index: 1;\n pointer-events: none;\n content: '';\n display: block;\n position: absolute;\n width: 100%;\n }\n &:after {\n height: 1.75rem;\n top: 0;\n background: linear-gradient(\n var(\n --text-editor-fade-out-background-color,\n rgb(var(--contrast-100))\n ),\n transparent\n );\n }\n\n &:before {\n height: 2rem;\n bottom: -0.25rem;\n background: linear-gradient(\n transparent,\n var(\n --text-editor-fade-out-background-color,\n rgb(var(--contrast-100))\n )\n );\n }\n }\n}\n\n.notched-outline {\n transition: bottom\n var(--limel-h-l-grid-template-rows-transition-speed, 0.46s)\n cubic-bezier(1, 0.09, 0, 0.89);\n pointer-events: none;\n position: absolute;\n inset: 0;\n bottom: var(--limel-text-editor-notched-outline-bottom, 0);\n\n display: flex;\n background-color: var(--limel-text-editor-background-color);\n}\n\n.leading-outline,\n.notch,\n.trailing-outline {\n transition: border-color 0.2s ease;\n border-width: 1px;\n border-style: solid;\n border-color: var(--limel-text-editor-outline-color);\n}\n\n.leading-outline {\n flex-shrink: 0;\n width: 0.75rem;\n border-right-width: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.notch {\n flex-shrink: 0;\n\n position: relative;\n z-index: 2;\n\n border-top-width: 0;\n border-right-width: 0;\n border-left-width: 0;\n\n max-width: calc(100% - 1.5rem);\n}\n\n.trailing-outline {\n flex-grow: 1;\n border-left-width: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\nlabel {\n transform: translateY(-50%);\n\n @include mixins.truncate-text;\n display: block;\n padding: 0 0.25rem;\n\n color: var(--limel-text-editor-label-color);\n font-size: 0.65rem; // `10.4px` similar to MDC's floating label\n letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);\n\n :host(limel-text-editor[required]) & {\n &::after {\n content: '*';\n }\n }\n}\n\n.placeholder {\n transition-property: top, padding;\n transition-duration: var(\n --limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration\n );\n transition-timing-function: var(\n --limel-prosemirror-adapter-toolbar-transition-timing-function\n );\n @include mixins.truncate-text;\n pointer-events: none;\n position: absolute;\n top: var(--limel-text-editor-placeholder-top, 2.25rem);\n left: 0;\n right: 0;\n\n padding: var(--limel-text-editor-padding);\n font-style: italic;\n font-size: 0.875rem;\n color: shared_input-select-picker.$input-placeholder-color;\n}\n\nlimel-prosemirror-adapter {\n flex-grow: 1;\n\n min-width: 0;\n min-height: 0;\n height: 100%;\n overflow: hidden auto;\n}\n\n@include mixins.hide-helper-line-when-not-needed(limel-text-editor);\n:host(limel-text-editor.has-helper-text:focus-within),\n:host(limel-text-editor.has-helper-text[invalid]:not([invalid='false'])) {\n .notched-outline {\n --limel-text-editor-notched-outline-bottom: 1rem;\n }\n}\n\n:host(limel-text-editor[allow-resize]) {\n limel-prosemirror-adapter {\n resize: vertical;\n }\n}\n","import { Component, Event, EventEmitter, Host, Prop, h } from '@stencil/core';\nimport { FormComponent } from '../form/form.types';\nimport { Languages } from '../date-picker/date.types';\nimport { createRandomString } from '../../util/random-string';\nimport { CustomElement } from '../../global/shared-types/custom-element.types';\n\n/**\n * A rich text editor that offers a rich text editing experience with markdown support,\n * in the sense that you can easily type markdown syntax and see the rendered\n * result as rich text in real-time. For instance, you can type `# Hello, world!`\n * and see it directly turning to a heading 1 (an `<h1>` HTML element).\n *\n * Naturally, you can use standard keyboard hotkeys such as <kbd>Ctrl</kbd> + <kbd>B</kbd>\n * to toggle bold text, <kbd>Ctrl</kbd> + <kbd>I</kbd> to toggle italic text, and so on.\n *\n * @exampleComponent limel-example-text-editor-basic\n * @exampleComponent limel-example-text-editor-as-form-component\n * @exampleComponent limel-example-text-editor-with-markdown\n * @exampleComponent limel-example-text-editor-with-html\n * @exampleComponent limel-example-text-editor-allow-resize\n * @exampleComponent limel-example-text-editor-size\n * @exampleComponent limel-example-text-editor-ui\n * @exampleComponent limel-example-text-editor-composite\n * @exampleComponent limel-example-text-editor-custom-element\n * @beta\n */\n@Component({\n tag: 'limel-text-editor',\n shadow: true,\n styleUrl: 'text-editor.scss',\n})\nexport class TextEditor implements FormComponent<string> {\n /** The type of content that the editor should handle and emit, defaults to `markdown`\n *\n * Assumed to be set only once, so not reactive to changes\n */\n @Prop()\n public contentType: 'markdown' | 'html' = 'markdown';\n\n /**\n * Defines the language for translations.\n */\n @Prop({ reflect: true })\n public language: Languages = 'en';\n\n /**\n * Set to `true` to disable the field.\n * Use `disabled` to indicate that the field can normally be interacted\n * with, but is currently disabled. This tells the user that if certain\n * requirements are met, the field may become enabled again.\n */\n @Prop({ reflect: true })\n public disabled?: boolean = false;\n\n /**\n * Set to `true` to make the component read-only.\n * Use `readonly` when the field is only there to present the data it holds,\n * and will not become possible for the current user to edit.\n * :::note\n * Consider that it might be better to use `limel-markdown`\n * instead of `limel-text-editor` when the goal is visualizing data.\n * :::\n */\n @Prop({ reflect: true })\n public readonly?: boolean = false;\n\n /**\n * Optional helper text to display below the input field when it has focus\n */\n @Prop({ reflect: true })\n public helperText?: string;\n\n /**\n * The placeholder text shown inside the input field,\n * when the field is empty.\n */\n @Prop({ reflect: true })\n public placeholder?: string;\n\n /**\n * The label of the editor\n */\n @Prop({ reflect: true })\n public label?: string;\n\n /**\n * Set to `true` to indicate that the current value of the editor is\n * invalid.\n */\n @Prop({ reflect: true })\n public invalid?: boolean = false;\n\n /**\n * Description of the text inside the editor as markdown\n */\n @Prop({ reflect: true })\n public value: string;\n\n /**\n * @private\n * set to private to avoid usage while under development\n */\n @Prop()\n public plugins: CustomElement[] = [];\n\n /**\n * Set to `true` to indicate that the field is required.\n *\n * :::important\n * An empty but required field is not automatically considered invalid.\n * You must make sure to check the validity of the field on your own,\n * and properly handle the `invalid` state.\n * :::\n */\n @Prop({ reflect: true })\n public required?: boolean = false;\n\n /**\n * Set to `true` to allow the user to vertically resize the editor.\n * Set to `false` to disable the resize functionality.\n */\n @Prop({ reflect: true })\n public allowResize: boolean = true;\n\n /**\n * Specifies the visual appearance of the editor.\n *\n * - `standard`: The default editor appearance with a full toolbar and\n * standard layout.\n * - `minimal`: A compact editor appearance, ideal for limited space\n * scenarios such as mobile devices. In this mode, the toolbar is hidden\n * until the editor is focused.\n */\n @Prop({ reflect: true })\n public ui?: 'standard' | 'minimal' = 'standard';\n\n /**\n * Dispatched when a change is made to the editor\n */\n @Event()\n public change: EventEmitter<string>;\n\n private helperTextId: string;\n private editorId: string;\n\n public constructor() {\n this.helperTextId = createRandomString();\n this.editorId = createRandomString();\n }\n\n public render() {\n return (\n <Host\n class={{\n 'has-helper-text': !!this.helperText,\n }}\n >\n <span class=\"notched-outline\">\n <span class=\"leading-outline\" />\n {this.renderLabel()}\n <span class=\"trailing-outline\" />\n </span>\n {this.renderEditor()}\n </Host>\n );\n }\n\n private renderEditor() {\n if (this.readonly && !this.value) {\n return [\n <span class=\"lime-looks-like-input-value\">–</span>,\n this.renderHelperLine(),\n ];\n }\n\n if (this.readonly) {\n return [\n <limel-markdown\n value={this.value}\n aria-controls={this.helperTextId}\n id={this.editorId}\n />,\n this.renderPlaceholder(),\n this.renderHelperLine(),\n ];\n }\n\n return [\n <limel-prosemirror-adapter\n aria-placeholder={this.placeholder}\n contentType={this.contentType}\n onChange={this.handleChange}\n plugins={this.plugins}\n value={this.value}\n aria-controls={this.helperTextId}\n id={this.editorId}\n tabindex={this.disabled ? -1 : undefined}\n aria-disabled={this.disabled}\n language={this.language}\n />,\n this.renderPlaceholder(),\n this.renderHelperLine(),\n ];\n }\n\n private renderLabel() {\n if (!this.label) {\n return;\n }\n\n return (\n <span class=\"notch\">\n <label htmlFor={this.editorId}>{this.label}</label>\n </span>\n );\n }\n\n private renderPlaceholder() {\n if (!this.placeholder || this.value) {\n return;\n }\n\n return (\n <span class=\"placeholder\" aria-hidden=\"true\">\n {this.placeholder}\n </span>\n );\n }\n\n private renderHelperLine = () => {\n if (!this.helperText) {\n return;\n }\n\n return (\n <limel-helper-line\n helperText={this.helperText}\n helperTextId={this.helperTextId}\n invalid={this.isInvalid()}\n />\n );\n };\n\n private isInvalid = () => {\n if (this.readonly) {\n // A readonly field can never be invalid.\n return false;\n }\n\n if (this.invalid) {\n return true;\n }\n };\n\n private handleChange = (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.change.emit(event.detail);\n };\n}\n"],"mappings":"6FAAA,MAAMA,EAAgB,qlO,MC+BTC,EAAU,MAkHnBC,YAAAC,G,yCAoFQC,KAAAC,iBAAmB,KACvB,IAAKD,KAAKE,WAAY,CAClB,M,CAGJ,OACIC,EAAA,qBACID,WAAYF,KAAKE,WACjBE,aAAcJ,KAAKI,aACnBC,QAASL,KAAKM,aAChB,EAIFN,KAAAM,UAAY,KAChB,GAAIN,KAAKO,SAAU,CAEf,OAAO,K,CAGX,GAAIP,KAAKK,QAAS,CACd,OAAO,I,GAIPL,KAAAQ,aAAgBC,IACpBA,EAAMC,kBACNV,KAAKW,OAAOC,KAAKH,EAAMI,OAAO,E,iBA3NQ,W,cAMb,K,cASD,M,cAYA,M,uFA0BD,M,kCAaO,G,cAYN,M,iBAOE,K,QAYO,WAYjCb,KAAKI,aAAeU,IACpBd,KAAKe,SAAWD,G,CAGbE,SACH,OACIb,EAACc,EAAI,CACDC,MAAO,CACH,oBAAqBlB,KAAKE,aAG9BC,EAAA,QAAMe,MAAM,mBACRf,EAAA,QAAMe,MAAM,oBACXlB,KAAKmB,cACNhB,EAAA,QAAMe,MAAM,sBAEflB,KAAKoB,e,CAKVA,eACJ,GAAIpB,KAAKO,WAAaP,KAAKqB,MAAO,CAC9B,MAAO,CACHlB,EAAA,QAAMe,MAAM,+BAA6B,KACzClB,KAAKC,mB,CAIb,GAAID,KAAKO,SAAU,CACf,MAAO,CACHJ,EAAA,kBACIkB,MAAOrB,KAAKqB,MAAK,gBACFrB,KAAKI,aACpBkB,GAAItB,KAAKe,WAEbf,KAAKuB,oBACLvB,KAAKC,mB,CAIb,MAAO,CACHE,EAAA,gDACsBH,KAAKwB,YACvBC,YAAazB,KAAKyB,YAClBC,SAAU1B,KAAKQ,aACfmB,QAAS3B,KAAK2B,QACdN,MAAOrB,KAAKqB,MAAK,gBACFrB,KAAKI,aACpBkB,GAAItB,KAAKe,SACTa,SAAU5B,KAAK6B,UAAY,EAAIC,UAAS,gBACzB9B,KAAK6B,SACpBE,SAAU/B,KAAK+B,WAEnB/B,KAAKuB,oBACLvB,KAAKC,mB,CAILkB,cACJ,IAAKnB,KAAKgC,MAAO,CACb,M,CAGJ,OACI7B,EAAA,QAAMe,MAAM,SACRf,EAAA,SAAO8B,QAASjC,KAAKe,UAAWf,KAAKgC,O,CAKzCT,oBACJ,IAAKvB,KAAKwB,aAAexB,KAAKqB,MAAO,CACjC,M,CAGJ,OACIlB,EAAA,QAAMe,MAAM,cAAa,cAAa,QACjClB,KAAKwB,Y"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as i,h as s,g as e}from"./p-443111b3.js";import{i as n}from"./p-5e7b7b03.js";import{T as h,E as r,a as o,b as l,c as a,d as c,A as d,e as u,f,g as p}from"./p-e03dfe70.js";import{c as m}from"./p-3ccdc4a3.js";import{g as y,c as b}from"./p-2f777fdb.js";import{d as g}from"./p-18c97232.js";import"./p-c93050d6.js";import"./p-365098fe.js";import"./p-d529bb7d.js";import"./p-858c6b82.js";const v=":host{position:relative;display:block}:host([hidden]){display:none}";const w=300;const j="limel-chip-set";const C=class{constructor(s){t(this,s);this.change=i(this,"change",7);this.interact=i(this,"interact",7);this.action=i(this,"action",7);this.chipSetEditMode=false;this.getValueId=t=>{const i=t.value;if(!!i&&typeof i==="object"){return i.id}return i};this.createChips=t=>{if(!t){return[]}if(this.multiple){const i=t;return i.map(this.createChip)}const i=t;return[this.createChip(i)]};this.createChip=t=>{const i=y(t.icon);const s=b(t.icon,t.iconColor);const e=this.getValueId(t);return{id:`${e}`,text:t.text,removable:true,icon:i?{name:i,color:s}:undefined,value:t,menuItems:t.actions}};this.search=async t=>{const i=setTimeout((()=>{this.loading=true}));const s=await this.searcher(this.textValue);clearTimeout(i);this.handleSearchResult(t,s)};this.disabled=false;this.readonly=false;this.label=undefined;this.searchLabel=undefined;this.helperText=undefined;this.leadingIcon=undefined;this.emptyResultMessage=undefined;this.required=false;this.invalid=false;this.value=undefined;this.searcher=undefined;this.multiple=false;this.delimiter=null;this.actions=[];this.actionPosition="bottom";this.actionScrollBehavior="sticky";this.badgeIcons=false;this.items=undefined;this.textValue="";this.loading=false;this.chips=[];this.handleTextInput=this.handleTextInput.bind(this);this.handleInputKeyDown=this.handleInputKeyDown.bind(this);this.handleDropdownKeyDown=this.handleDropdownKeyDown.bind(this);this.handleInputFieldFocus=this.handleInputFieldFocus.bind(this);this.handleChange=this.handleChange.bind(this);this.handleInteract=this.handleInteract.bind(this);this.handleListChange=this.handleListChange.bind(this);this.handleActionListChange=this.handleActionListChange.bind(this);this.handleStopEditAndBlur=this.handleStopEditAndBlur.bind(this);this.handleCloseMenu=this.handleCloseMenu.bind(this);this.onListKeyDown=this.onListKeyDown.bind(this);this.portalId=m();this.debouncedSearch=g(this.search,w)}componentWillLoad(){this.chips=this.createChips(this.value)}componentDidLoad(){this.chipSet=this.host.shadowRoot.querySelector(j)}disconnectedCallback(){this.debouncedSearch.cancel()}async componentWillUpdate(){this.chipSetEditMode=false;if(this.chipSet){this.chipSetEditMode=await this.chipSet.getEditMode()}}render(){const t={};if(!this.multiple){t.maxItems=1}return[s("limel-chip-set",Object.assign({type:"input",inputType:"search",label:this.label,helperText:this.helperText,leadingIcon:this.leadingIcon,value:this.chips,disabled:this.disabled,invalid:this.invalid,delimiter:this.renderDelimiter(),readonly:this.readonly,required:this.required,searchLabel:this.searchLabel,onInput:this.handleTextInput,onKeyDown:this.handleInputKeyDown,onChange:this.handleChange,onInteract:this.handleInteract,onStartEdit:this.handleInputFieldFocus,onStopEdit:this.handleStopEditAndBlur,emptyInputOnBlur:false,clearAllButton:this.multiple&&!this.chipSetEditMode},t)),this.renderDropdown()]}onChangeValue(){this.chips=this.createChips(this.value)}renderDelimiter(){if(this.multiple){return this.delimiter}return null}renderDropdown(){const t=this.getDropdownContent();const i=[];if(this.shouldShowDropDownContent()){const s=this.getActionContent();if(this.actionPosition==="top"){i.push(s)}if(t){i.push(t)}if(this.actionPosition==="bottom"){i.push(s)}}return this.renderPortal(i)}getActionContent(){var t,i;const e=(i=(t=this.actions)===null||t===void 0?void 0:t.length)!==null&&i!==void 0?i:0;if(e===0){return null}return[s("limel-list",{class:{"static-actions-list":true,"is-on-top":this.actionPosition==="top","is-at-bottom":this.actionPosition==="bottom","has-position-sticky":this.actionScrollBehavior==="sticky"},badgeIcons:true,type:"selectable",onChange:this.handleActionListChange,items:this.actions.map(this.removeUnusedPropertiesOnAction)})]}removeUnusedPropertiesOnAction(t){return Object.assign(Object.assign({},t),{actions:[]})}shouldShowDropDownContent(){if(this.isFull()){return false}return!!this.chipSetEditMode}getDropdownContent(){var t;if(!this.shouldShowDropDownContent()){return}if(this.loading){return this.renderSpinner()}if(!((t=this.items)===null||t===void 0?void 0:t.length)){return this.renderEmptyMessage()}return this.renderListResult()}isFull(){return!this.multiple&&!!this.value}renderSpinner(){return s("div",{style:{width:"100%",display:"flex","align-items":"center","justify-content":"center",padding:"1rem 0"}},s("limel-spinner",{limeBranded:false}))}renderEmptyMessage(){if(!this.emptyResultMessage){return}const t={color:"rgb(var(--contrast-1100))","text-align":"center",margin:"0.5rem 1rem"};return s("p",{style:t},this.emptyResultMessage)}renderListResult(){return s("limel-list",{badgeIcons:this.badgeIcons,onChange:this.handleListChange,onKeyDown:this.onListKeyDown,type:"selectable",items:this.items})}onListKeyDown(t){const i=[h,r,o].includes(t.key);const s=[l,a,c].includes(t.keyCode);if(i||s){this.chipSet.setFocus()}}renderPortal(t=[]){const i=getComputedStyle(this.host).getPropertyValue("--dropdown-z-index");return s("limel-portal",{visible:t.length>0,containerId:this.portalId,inheritParentWidth:true,containerStyle:{"z-index":i}},s("limel-menu-surface",{open:t.length>0,allowClicksElement:this.host,style:{"--mdc-menu-min-width":"100%","max-height":"inherit",display:"flex"},onDismiss:this.handleCloseMenu},t))}handleStopEditAndBlur(){const t=this.host.shadowRoot.activeElement||document.activeElement;const i=document.querySelector(`#${this.portalId}`);if(n(t,this.host)||n(t,i)){return}this.clearInputField()}async handleTextInput(t){t.stopPropagation();const i=t.detail;this.textValue=i;this.debouncedSearch(i);if(i===""){this.debouncedSearch.flush()}}handleListChange(t){var i;t.stopPropagation();if(!this.value||this.value!==t.detail){let i=t.detail;if(this.multiple){i=[...this.value,t.detail]}this.change.emit(i);this.items=[]}if(this.multiple){this.textValue="";(i=this.chipSet)===null||i===void 0?void 0:i.setFocus(true)}}handleActionListChange(t){t.stopPropagation();if(!t.detail){return}this.action.emit(t.detail.value);this.items=[]}handleInputFieldFocus(){const t=this.textValue;this.debouncedSearch(t)}handleChange(t){t.stopPropagation();let i=null;if(this.multiple){const s=t.detail;i=s.map((t=>this.value.find((i=>{const s=this.getValueId(i);return`${s}`===t.id}))))}this.change.emit(i)}handleInteract(t){t.stopPropagation();this.interact.emit(t.detail?t.detail.value:t.detail)}handleInputKeyDown(t){const i=(t.key===h||t.keyCode===l)&&!t.altKey&&!t.metaKey&&!t.shiftKey;const s=t.key===d||t.keyCode===u;const e=t.key===f||t.keyCode===p;if(!i&&!s&&!e){return}const n=document.querySelector(` #${this.portalId} limel-list`);if(!n){return}t.preventDefault();if(i||e){const t=n.shadowRoot.querySelector(".mdc-deprecated-list-item:first-child");t.focus();return}if(s){const t=n.shadowRoot.querySelector(".mdc-deprecated-list-item:last-child");t.focus()}}handleDropdownKeyDown(t){const i=t.key===r||t.keyCode===a;if(i){t.preventDefault();this.textValue="";this.chipSet.setFocus(true)}}handleSearchResult(t,i){if(t===this.textValue){this.items=i;if(this.multiple){const t=this.value;this.items=i.filter((i=>!t.includes(i)))}this.loading=false}}handleCloseMenu(){if(this.items.length>0){return}this.clearInputField()}clearInputField(){this.chipSet.emptyInput();this.textValue="";this.handleSearchResult("",[]);this.debouncedSearch.cancel()}get host(){return e(this)}static get watchers(){return{value:["onChangeValue"]}}};C.style=v;export{C as limel_picker};
|
|
2
|
+
//# sourceMappingURL=p-dd5affea.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pickerCss","SEARCH_DEBOUNCE","CHIP_SET_TAG_NAME","Picker","constructor","hostRef","this","chipSetEditMode","getValueId","item","value","id","createChips","multiple","listItems","map","createChip","listItem","name","getIconName","icon","color","getIconFillColor","iconColor","valueId","text","removable","undefined","menuItems","actions","search","async","query","timeoutId","setTimeout","loading","result","searcher","textValue","clearTimeout","handleSearchResult","handleTextInput","bind","handleInputKeyDown","handleDropdownKeyDown","handleInputFieldFocus","handleChange","handleInteract","handleListChange","handleActionListChange","handleStopEditAndBlur","handleCloseMenu","onListKeyDown","portalId","createRandomString","debouncedSearch","debounce","componentWillLoad","chips","componentDidLoad","chipSet","host","shadowRoot","querySelector","disconnectedCallback","cancel","getEditMode","render","props","maxItems","h","Object","assign","type","inputType","label","helperText","leadingIcon","disabled","invalid","delimiter","renderDelimiter","readonly","required","searchLabel","onInput","onKeyDown","onChange","onInteract","onStartEdit","onStopEdit","emptyInputOnBlur","clearAllButton","renderDropdown","onChangeValue","dropDownContent","getDropdownContent","content","shouldShowDropDownContent","actionContent","getActionContent","actionPosition","push","renderPortal","actionCount","_b","_a","length","class","actionScrollBehavior","badgeIcons","items","removeUnusedPropertiesOnAction","action","isFull","renderSpinner","renderEmptyMessage","renderListResult","style","width","display","padding","limeBranded","emptyResultMessage","margin","event","keyFound","TAB","ESCAPE","ENTER","includes","key","keyCodeFound","TAB_KEY_CODE","ESCAPE_KEY_CODE","ENTER_KEY_CODE","keyCode","setFocus","dropdownZIndex","getComputedStyle","getPropertyValue","visible","containerId","inheritParentWidth","containerStyle","open","allowClicksElement","onDismiss","element","activeElement","document","portalElement","isDescendant","clearInputField","stopPropagation","detail","flush","newValue","change","emit","chip","find","interact","isForwardTab","altKey","metaKey","shiftKey","isUp","ARROW_UP","ARROW_UP_KEY_CODE","isDown","ARROW_DOWN","ARROW_DOWN_KEY_CODE","list","preventDefault","listElement","focus","isEscape","values","filter","emptyInput"],"sources":["./src/components/picker/picker.scss?tag=limel-picker&encapsulation=shadow","./src/components/picker/picker.tsx"],"sourcesContent":["// Note! The `--dropdown-z-index` property is used from `picker.tsx`.\n/**\n * @prop --dropdown-z-index: z-index of the dropdown menu.\n */\n\n:host {\n position: relative;\n display: block;\n}\n\n:host([hidden]) {\n display: none;\n}\n","import { Action } from '../collapsible-section/action';\nimport { ActionPosition, ActionScrollBehavior } from '../picker/actions.types';\nimport { Chip } from '../chip-set/chip.types';\nimport { ListItem } from '../list/list-item.types';\nimport { Searcher } from '../picker/searcher.types';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { isDescendant } from '../../util/dom';\nimport {\n ARROW_DOWN,\n ARROW_DOWN_KEY_CODE,\n ARROW_UP,\n ARROW_UP_KEY_CODE,\n ENTER,\n ENTER_KEY_CODE,\n ESCAPE,\n ESCAPE_KEY_CODE,\n TAB,\n TAB_KEY_CODE,\n} from '../../util/keycodes';\nimport { createRandomString } from '../../util/random-string';\nimport {\n LimelChipSetCustomEvent,\n LimelListCustomEvent,\n} from '../../components';\nimport { getIconFillColor, getIconName } from '../icon/get-icon-props';\nimport { PickerValue } from './value.types';\nimport { DebouncedFunc, debounce } from 'lodash-es';\n\nconst SEARCH_DEBOUNCE = 300;\nconst CHIP_SET_TAG_NAME = 'limel-chip-set';\n\n/**\n * @exampleComponent limel-example-picker-single\n * @exampleComponent limel-example-picker-multiple\n * @exampleComponent limel-example-picker-icons\n * @exampleComponent limel-example-picker-value-as-object\n * @exampleComponent limel-example-picker-value-as-object-with-actions\n * @exampleComponent limel-example-picker-empty-suggestions\n * @exampleComponent limel-example-picker-leading-icon\n * @exampleComponent limel-example-picker-static-actions\n * @exampleComponent limel-example-picker-composite\n */\n@Component({\n tag: 'limel-picker',\n shadow: true,\n styleUrl: 'picker.scss',\n})\nexport class Picker {\n /**\n * True if the picker should be disabled\n */\n @Prop()\n public disabled: boolean = false;\n\n /**\n * Set to `true` to disable adding and removing items,\n * but allow interaction with existing items.\n */\n @Prop({ reflect: true })\n public readonly: boolean = false;\n\n /**\n * Text to display for the input field of the picker\n */\n @Prop()\n public label: string;\n\n /**\n * Search label to display in the input field when searching\n */\n @Prop()\n public searchLabel: string;\n\n /**\n * Optional helper text to display below the input field when it has focus\n */\n @Prop({ reflect: true })\n public helperText: string;\n\n /**\n * Leading icon to show to the far left in the text field\n */\n @Prop()\n public leadingIcon: string;\n\n /**\n * A message to display when the search returned an empty result\n */\n @Prop()\n public emptyResultMessage: string;\n\n /**\n * True if the control requires a value\n */\n @Prop()\n public required: boolean = false;\n\n /**\n * Set to `true` to indicate that the current value of the input field is\n * invalid.\n */\n @Prop({ reflect: true })\n public invalid = false;\n\n /**\n * Currently selected value or values. Where the value can be an object.\n */\n @Prop()\n public value: ListItem<PickerValue> | Array<ListItem<PickerValue>>;\n\n /**\n * A search function that takes a search-string as an argument,\n * and returns a promise that will eventually be resolved with\n * an array of `ListItem`:s.\n *\n * See the docs for the type `Searcher` for type information on\n * the searcher function itself.\n */\n @Prop()\n public searcher: Searcher;\n\n /**\n * True if multiple values are allowed\n */\n @Prop()\n public multiple: boolean = false;\n\n /**\n * Sets delimiters between chips. Works only when `multiple` is `true`.\n */\n @Prop({ reflect: true })\n public delimiter: string = null;\n\n /**\n * Static actions that can be clicked by the user.\n */\n @Prop()\n public actions: Array<ListItem<Action>> = [];\n\n /**\n * Position of the custom static actions in the picker's results dropdown.\n * Can be set to `'top'` or `'bottom'`.\n */\n @Prop()\n public actionPosition: ActionPosition = 'bottom';\n\n /**\n * Scroll behavior of the custom static actions, when user scrolls\n * in the picker's results dropdown. Can be set to `'scroll'` which means\n * the action items will scroll together with the list, or `'sticky'` which\n * retains their position at the top or bottom of the drop down while\n * scrolling.\n */\n @Prop()\n public actionScrollBehavior: ActionScrollBehavior = 'sticky';\n\n /**\n * Whether badge icons should be used in the result list or not\n */\n @Prop({ reflect: true })\n public badgeIcons: boolean = false;\n\n /**\n * Fired when a new value has been selected from the picker\n */\n @Event()\n private change: EventEmitter<\n ListItem<PickerValue> | Array<ListItem<PickerValue>>\n >;\n\n /**\n * Fired when clicking on a selected value\n */\n @Event()\n private interact: EventEmitter<ListItem<PickerValue>>;\n\n /**\n * Emitted when the user selects an action.\n */\n @Event()\n private action: EventEmitter<Action>;\n\n @State()\n private items: Array<ListItem<number | string>>;\n\n @State()\n private textValue: string = '';\n\n @State()\n private loading: boolean = false;\n\n @State()\n private chips: Chip[] = [];\n\n @Element()\n private host: HTMLLimelPickerElement;\n\n // Should NOT be decorated with State(), since this\n // should not trigger a re-render by itself.\n private chipSetEditMode = false;\n\n private debouncedSearch: DebouncedFunc<(query: string) => Promise<void>>;\n private chipSet: HTMLLimelChipSetElement;\n private portalId: string;\n\n constructor() {\n this.handleTextInput = this.handleTextInput.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n this.handleDropdownKeyDown = this.handleDropdownKeyDown.bind(this);\n this.handleInputFieldFocus = this.handleInputFieldFocus.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleInteract = this.handleInteract.bind(this);\n this.handleListChange = this.handleListChange.bind(this);\n this.handleActionListChange = this.handleActionListChange.bind(this);\n this.handleStopEditAndBlur = this.handleStopEditAndBlur.bind(this);\n this.handleCloseMenu = this.handleCloseMenu.bind(this);\n this.onListKeyDown = this.onListKeyDown.bind(this);\n\n this.portalId = createRandomString();\n this.debouncedSearch = debounce(this.search, SEARCH_DEBOUNCE);\n }\n\n public componentWillLoad() {\n this.chips = this.createChips(this.value);\n }\n\n public componentDidLoad() {\n this.chipSet = this.host.shadowRoot.querySelector(CHIP_SET_TAG_NAME);\n }\n\n public disconnectedCallback() {\n this.debouncedSearch.cancel();\n }\n\n public async componentWillUpdate() {\n this.chipSetEditMode = false;\n if (this.chipSet) {\n this.chipSetEditMode = await this.chipSet.getEditMode();\n }\n }\n\n public render() {\n const props: {\n maxItems?: number;\n } = {};\n\n if (!this.multiple) {\n props.maxItems = 1;\n }\n\n return [\n <limel-chip-set\n type=\"input\"\n inputType=\"search\"\n label={this.label}\n helperText={this.helperText}\n leadingIcon={this.leadingIcon}\n value={this.chips}\n disabled={this.disabled}\n invalid={this.invalid}\n delimiter={this.renderDelimiter()}\n readonly={this.readonly}\n required={this.required}\n searchLabel={this.searchLabel}\n onInput={this.handleTextInput}\n onKeyDown={this.handleInputKeyDown}\n onChange={this.handleChange}\n onInteract={this.handleInteract}\n onStartEdit={this.handleInputFieldFocus}\n onStopEdit={this.handleStopEditAndBlur}\n emptyInputOnBlur={false}\n clearAllButton={this.multiple && !this.chipSetEditMode}\n {...props}\n />,\n this.renderDropdown(),\n ];\n }\n\n @Watch('value')\n protected onChangeValue() {\n this.chips = this.createChips(this.value);\n }\n\n private renderDelimiter() {\n if (this.multiple) {\n return this.delimiter;\n }\n\n return null;\n }\n\n private getValueId = (item: ListItem) => {\n const value = item.value;\n if (!!value && typeof value === 'object') {\n return value.id;\n }\n\n return value;\n };\n\n private createChips = (value: ListItem | ListItem[]): Chip[] => {\n if (!value) {\n return [];\n }\n\n if (this.multiple) {\n const listItems: ListItem[] = value as ListItem[];\n\n return listItems.map(this.createChip);\n }\n\n const listItem: ListItem = value as ListItem;\n\n return [this.createChip(listItem)];\n };\n\n private createChip = (listItem: ListItem): Chip => {\n const name = getIconName(listItem.icon);\n const color = getIconFillColor(listItem.icon, listItem.iconColor);\n const valueId = this.getValueId(listItem);\n\n return {\n id: `${valueId}`,\n text: listItem.text,\n removable: true,\n icon: name ? { name: name, color: color } : undefined,\n value: listItem,\n menuItems: listItem.actions,\n };\n };\n\n /**\n * Renders the dropdown with the items to pick from, or a spinner if the picker\n * is waiting for items to be received\n *\n * @returns picker dropdown\n */\n private renderDropdown() {\n const dropDownContent = this.getDropdownContent();\n\n const content = [];\n\n if (this.shouldShowDropDownContent()) {\n const actionContent = this.getActionContent();\n if (this.actionPosition === 'top') {\n content.push(actionContent);\n }\n\n if (dropDownContent) {\n content.push(dropDownContent);\n }\n\n if (this.actionPosition === 'bottom') {\n content.push(actionContent);\n }\n }\n\n return this.renderPortal(content);\n }\n\n private getActionContent() {\n const actionCount = this.actions?.length ?? 0;\n if (actionCount === 0) {\n return null;\n }\n\n return [\n <limel-list\n class={{\n 'static-actions-list': true,\n 'is-on-top': this.actionPosition === 'top',\n 'is-at-bottom': this.actionPosition === 'bottom',\n 'has-position-sticky':\n this.actionScrollBehavior === 'sticky',\n }}\n badgeIcons={true}\n type={'selectable'}\n onChange={this.handleActionListChange}\n items={this.actions.map(this.removeUnusedPropertiesOnAction)}\n />,\n ];\n }\n\n private removeUnusedPropertiesOnAction(\n action: ListItem<Action>,\n ): ListItem<Action> {\n return {\n ...action,\n actions: [],\n };\n }\n\n private shouldShowDropDownContent() {\n if (this.isFull()) {\n return false;\n }\n\n return !!this.chipSetEditMode;\n }\n\n private getDropdownContent() {\n if (!this.shouldShowDropDownContent()) {\n return;\n }\n\n if (this.loading) {\n return this.renderSpinner();\n }\n\n if (!this.items?.length) {\n return this.renderEmptyMessage();\n }\n\n return this.renderListResult();\n }\n\n /**\n * Returns true if the picker is \"full\"\n * The picker is considered to be full if it has a value and only one is allowed\n *\n * @returns true if the picker is full\n */\n private isFull(): boolean {\n return !this.multiple && !!this.value;\n }\n\n private renderSpinner() {\n return (\n <div\n style={{\n width: '100%',\n display: 'flex',\n 'align-items': 'center',\n 'justify-content': 'center',\n padding: '1rem 0',\n }}\n >\n <limel-spinner limeBranded={false} />\n </div>\n );\n }\n\n private renderEmptyMessage() {\n if (!this.emptyResultMessage) {\n return;\n }\n\n const style = {\n color: 'rgb(var(--contrast-1100))',\n 'text-align': 'center',\n margin: '0.5rem 1rem',\n };\n\n return <p style={style}>{this.emptyResultMessage}</p>;\n }\n\n private renderListResult() {\n return (\n <limel-list\n badgeIcons={this.badgeIcons}\n onChange={this.handleListChange}\n onKeyDown={this.onListKeyDown}\n type=\"selectable\"\n items={this.items}\n />\n );\n }\n\n private onListKeyDown(event: KeyboardEvent) {\n const keyFound = [TAB, ESCAPE, ENTER].includes(event.key);\n const keyCodeFound = [\n TAB_KEY_CODE,\n ESCAPE_KEY_CODE,\n ENTER_KEY_CODE,\n ].includes(event.keyCode);\n if (keyFound || keyCodeFound) {\n this.chipSet.setFocus();\n }\n }\n\n private renderPortal(content: any[] = []) {\n const dropdownZIndex = getComputedStyle(this.host).getPropertyValue(\n '--dropdown-z-index',\n );\n\n return (\n <limel-portal\n visible={content.length > 0}\n containerId={this.portalId}\n inheritParentWidth={true}\n containerStyle={{ 'z-index': dropdownZIndex }}\n >\n <limel-menu-surface\n open={content.length > 0}\n allowClicksElement={this.host}\n style={{\n '--mdc-menu-min-width': '100%',\n 'max-height': 'inherit',\n display: 'flex',\n }}\n onDismiss={this.handleCloseMenu}\n >\n {content}\n </limel-menu-surface>\n </limel-portal>\n );\n }\n\n /**\n * Check if a descendant still has focus. If not, reset text value and search result.\n */\n private handleStopEditAndBlur() {\n // In browsers where shadow DOM is not supported activeElement on shadowRoot will return null\n // However, document.activeElement will return the actual focused element instead of the outermost shadow host\n const element =\n this.host.shadowRoot.activeElement || document.activeElement;\n const portalElement = document.querySelector(`#${this.portalId}`);\n if (\n isDescendant(element as HTMLElement, this.host) ||\n isDescendant(element as HTMLElement, portalElement as HTMLElement)\n ) {\n return;\n }\n\n this.clearInputField();\n }\n\n /**\n * Input handler for the input field\n *\n * @param event - event\n */\n private async handleTextInput(event) {\n event.stopPropagation();\n\n const query = event.detail;\n this.textValue = query;\n\n this.debouncedSearch(query);\n // If the search-query is an empty string, bypass debouncing.\n if (query === '') {\n this.debouncedSearch.flush();\n }\n }\n\n private search = async (query: string) => {\n const timeoutId = setTimeout(() => {\n this.loading = true;\n });\n const result = (await this.searcher(this.textValue)) as Array<\n ListItem<PickerValue>\n >;\n clearTimeout(timeoutId);\n this.handleSearchResult(query, result);\n };\n\n /**\n * Change handler for the list\n *\n * @param event - event\n */\n private handleListChange(\n event: LimelListCustomEvent<ListItem<PickerValue>>,\n ) {\n event.stopPropagation();\n if (!this.value || this.value !== event.detail) {\n let newValue: ListItem<PickerValue> | Array<ListItem<PickerValue>> =\n event.detail;\n if (this.multiple) {\n newValue = [\n ...(this.value as Array<ListItem<PickerValue>>),\n event.detail,\n ];\n }\n\n this.change.emit(newValue);\n this.items = [];\n }\n\n if (this.multiple) {\n this.textValue = '';\n this.chipSet?.setFocus(true);\n }\n }\n\n /**\n * Change handler for the list\n *\n * @param event - event\n */\n private handleActionListChange(\n event: LimelListCustomEvent<ListItem<Action>>,\n ) {\n event.stopPropagation();\n if (!event.detail) {\n return;\n }\n\n this.action.emit(event.detail.value);\n this.items = [];\n }\n\n /**\n * Focus handler for the chip set\n * Prevent focus if the picker has a value and does not support multiple values\n */\n private handleInputFieldFocus() {\n const query = this.textValue;\n this.debouncedSearch(query);\n }\n\n private handleChange(event: LimelChipSetCustomEvent<Chip | Chip[]>) {\n event.stopPropagation();\n\n let newValue = null;\n if (this.multiple) {\n const chips = event.detail as Chip[];\n newValue = chips.map((chip) => {\n return (this.value as ListItem[]).find((item) => {\n const valueId = this.getValueId(item);\n\n return `${valueId}` === chip.id;\n });\n });\n }\n\n this.change.emit(newValue);\n }\n\n private handleInteract(event: LimelChipSetCustomEvent<Chip>) {\n event.stopPropagation();\n this.interact.emit(event.detail ? event.detail.value : event.detail);\n }\n\n /**\n * Key handler for the input field\n * Will change focus to the first/last item in the dropdown list to enable selection with the keyboard\n *\n * @param event - event\n */\n private handleInputKeyDown(event: KeyboardEvent) {\n const isForwardTab =\n (event.key === TAB || event.keyCode === TAB_KEY_CODE) &&\n !event.altKey &&\n !event.metaKey &&\n !event.shiftKey;\n const isUp =\n event.key === ARROW_UP || event.keyCode === ARROW_UP_KEY_CODE;\n const isDown =\n event.key === ARROW_DOWN || event.keyCode === ARROW_DOWN_KEY_CODE;\n\n if (!isForwardTab && !isUp && !isDown) {\n return;\n }\n\n const list = document.querySelector(` #${this.portalId} limel-list`);\n if (!list) {\n return;\n }\n\n event.preventDefault();\n\n if (isForwardTab || isDown) {\n const listElement: HTMLElement = list.shadowRoot.querySelector(\n '.mdc-deprecated-list-item:first-child',\n );\n listElement.focus();\n\n return;\n }\n\n if (isUp) {\n const listElement: HTMLElement = list.shadowRoot.querySelector(\n '.mdc-deprecated-list-item:last-child',\n );\n listElement.focus();\n }\n }\n\n /**\n * Key handler for the dropdown\n *\n * @param event - event\n */\n private handleDropdownKeyDown(event: KeyboardEvent) {\n const isEscape =\n event.key === ESCAPE || event.keyCode === ESCAPE_KEY_CODE;\n\n if (isEscape) {\n event.preventDefault();\n this.textValue = '';\n this.chipSet.setFocus(true);\n }\n }\n\n private handleSearchResult(query: string, result: ListItem[]) {\n if (query === this.textValue) {\n this.items = result;\n if (this.multiple) {\n const values = this.value as ListItem[];\n this.items = result.filter((item) => {\n return !values.includes(item);\n });\n }\n\n this.loading = false;\n }\n }\n\n private handleCloseMenu() {\n if (this.items.length > 0) {\n return;\n }\n\n this.clearInputField();\n }\n\n private clearInputField() {\n this.chipSet.emptyInput();\n this.textValue = '';\n this.handleSearchResult('', []);\n this.debouncedSearch.cancel();\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as r,g as e}from"./p-443111b3.js";import{g as n}from"./p-2c35fb9d.js";class i{constructor(t){this.promises={};this.cache=t}async get(t,r=""){const e=await this.cache;const n=this.getUrl(t,r);let i=await e.match(n);if(!i){i=await this.fetchData(n,e)}return this.getIcon(i)}async fetchData(t,r){let e=this.promises[t];if(e===undefined){e=r.add(t);this.promises[t]=e}await e;return r.match(t)}async getIcon(t){let r=await t.text();r=r.replace(/#000000/g,"currentColor");if(!this.validSvg(r)){throw new Error("Invalid SVG")}return r}validSvg(t){const r=new DOMParser;const e=r.parseFromString(t,"image/svg+xml");return e.documentElement.tagName.toLowerCase()==="svg"}getUrl(t,r){let e=r||"";if(r&&!r.endsWith("/")){e=`${r}/`}return`${e}assets/icons/${t}.svg`}}class a{constructor(){this.cache={};this.resolveFunctions={}}async get(t,r=""){if(!this.cache[t]){this.cache[t]=await this.getIcon(t,r)}return this.cache[t]}getIcon(t,r){return new Promise((e=>{if(!this.resolveFunctions[t]){this.resolveFunctions[t]=[];this.fetchData(t,r)}this.resolveFunctions[t].push(e)}))}async fetchData(t,r){let e=r||"";if(r&&!r.endsWith("/")){e=`${r}/`}const n=await fetch(`${e}assets/icons/${t}.svg`);let i=await n.text();i=i.replace(/#000000/g,"currentColor");if(!this.validSvg(i)){throw new Error("Invalid SVG")}this.resolvePromises(t,i)}validSvg(t){const r=new DOMParser;const e=r.parseFromString(t,"image/svg+xml");return e.documentElement.tagName.toLowerCase()==="svg"}resolvePromises(t,r){const e=this.resolveFunctions[t];e.forEach((t=>{t(r)}));this.resolveFunctions[t]=null}}const o="@limetech/lime-elements/icons";function s(){try{const t=caches.open(o);return new i(t)}catch(t){return new a}}const u=(()=>s())();const f=":host{background-color:var(--icon-background-color, transparent);border-radius:50%;display:inline-block;line-height:0;box-sizing:border-box}:host svg{fill:currentColor;height:100%;pointer-events:none;width:100%}:host div{margin:var(--limel-icon-svg-margin, 0)}:host([hidden]){display:none}:host([size=x-small]){height:1rem !important;width:1rem !important}:host([size=small]){height:1.25rem !important;width:1.25rem !important}:host([size=medium]){height:1.5rem !important;width:1.5rem !important}:host([size=large]){height:1.75rem !important;width:1.75rem !important}:host([badge][size=x-small]){height:1.5rem !important;width:1.5rem !important;--limel-icon-svg-margin:0.25rem}:host([badge][size=small]){height:1.75rem !important;width:1.75rem !important;--limel-icon-svg-margin:0.25rem}:host([badge][size=medium]){height:2.5rem !important;width:2.5rem !important;--limel-icon-svg-margin:0.5rem}:host([badge][size=large]){height:2.75rem !important;width:2.75rem !important;--limel-icon-svg-margin:0.5rem}";const v=class{constructor(r){t(this,r);this.size=undefined;this.name=undefined;this.badge=undefined}componentDidLoad(){this.loadIcon(this.name)}render(){return r("div",{class:"container"})}async loadIcon(t){if(t===undefined||t===""){return}const r=await this.loadSvg(t);this.renderSvg(r)}loadSvg(t){return u.get(t,n.iconPath)}renderSvg(t){const r=this.host.shadowRoot.querySelector("div.container");if(r){r.innerHTML=t}}get host(){return e(this)}static get watchers(){return{name:["loadIcon"]}}};v.style=f;var c="top";var l="bottom";var h="right";var d="left";var p="auto";var m=[c,l,h,d];var b="start";var g="end";var y="clippingParents";var w="viewport";var x="popper";var O="reference";var j=m.reduce((function(t,r){return t.concat([r+"-"+b,r+"-"+g])}),[]);var k=[].concat(m,[p]).reduce((function(t,r){return t.concat([r,r+"-"+b,r+"-"+g])}),[]);var C="beforeRead";var M="read";var P="afterRead";var S="beforeMain";var z="main";var A="afterMain";var E="beforeWrite";var I="write";var W="afterWrite";var q=[C,M,P,S,z,A,E,I,W];function R(t){return t?(t.nodeName||"").toLowerCase():null}function $(t){if(t==null){return window}if(t.toString()!=="[object Window]"){var r=t.ownerDocument;return r?r.defaultView||window:window}return t}function B(t){var r=$(t).Element;return t instanceof r||t instanceof Element}function D(t){var r=$(t).HTMLElement;return t instanceof r||t instanceof HTMLElement}function L(t){if(typeof ShadowRoot==="undefined"){return false}var r=$(t).ShadowRoot;return t instanceof r||t instanceof ShadowRoot}function H(t){var r=t.state;Object.keys(r.elements).forEach((function(t){var e=r.styles[t]||{};var n=r.attributes[t]||{};var i=r.elements[t];if(!D(i)||!R(i)){return}Object.assign(i.style,e);Object.keys(n).forEach((function(t){var r=n[t];if(r===false){i.removeAttribute(t)}else{i.setAttribute(t,r===true?"":r)}}))}))}function T(t){var r=t.state;var e={popper:{position:r.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(r.elements.popper.style,e.popper);r.styles=e;if(r.elements.arrow){Object.assign(r.elements.arrow.style,e.arrow)}return function(){Object.keys(r.elements).forEach((function(t){var n=r.elements[t];var i=r.attributes[t]||{};var a=Object.keys(r.styles.hasOwnProperty(t)?r.styles[t]:e[t]);var o=a.reduce((function(t,r){t[r]="";return t}),{});if(!D(n)||!R(n)){return}Object.assign(n.style,o);Object.keys(i).forEach((function(t){n.removeAttribute(t)}))}))}}const V={name:"applyStyles",enabled:true,phase:"write",fn:H,effect:T,requires:["computeStyles"]};function F(t){return t.split("-")[0]}var _=Math.max;var G=Math.min;var U=Math.round;function J(){var t=navigator.userAgentData;if(t!=null&&t.brands&&Array.isArray(t.brands)){return t.brands.map((function(t){return t.brand+"/"+t.version})).join(" ")}return navigator.userAgent}function K(){return!/^((?!chrome|android).)*safari/i.test(J())}function N(t,r,e){if(r===void 0){r=false}if(e===void 0){e=false}var n=t.getBoundingClientRect();var i=1;var a=1;if(r&&D(t)){i=t.offsetWidth>0?U(n.width)/t.offsetWidth||1:1;a=t.offsetHeight>0?U(n.height)/t.offsetHeight||1:1}var o=B(t)?$(t):window,s=o.visualViewport;var u=!K()&&e;var f=(n.left+(u&&s?s.offsetLeft:0))/i;var v=(n.top+(u&&s?s.offsetTop:0))/a;var c=n.width/i;var l=n.height/a;return{width:c,height:l,top:v,right:f+c,bottom:v+l,left:f,x:f,y:v}}function Q(t){var r=N(t);var e=t.offsetWidth;var n=t.offsetHeight;if(Math.abs(r.width-e)<=1){e=r.width}if(Math.abs(r.height-n)<=1){n=r.height}return{x:t.offsetLeft,y:t.offsetTop,width:e,height:n}}function X(t,r){var e=r.getRootNode&&r.getRootNode();if(t.contains(r)){return true}else if(e&&L(e)){var n=r;do{if(n&&t.isSameNode(n)){return true}n=n.parentNode||n.host}while(n)}return false}function Y(t){return $(t).getComputedStyle(t)}function Z(t){return["table","td","th"].indexOf(R(t))>=0}function tt(t){return((B(t)?t.ownerDocument:t.document)||window.document).documentElement}function rt(t){if(R(t)==="html"){return t}return t.assignedSlot||t.parentNode||(L(t)?t.host:null)||tt(t)}function et(t){if(!D(t)||Y(t).position==="fixed"){return null}return t.offsetParent}function nt(t){var r=/firefox/i.test(J());var e=/Trident/i.test(J());if(e&&D(t)){var n=Y(t);if(n.position==="fixed"){return null}}var i=rt(t);if(L(i)){i=i.host}while(D(i)&&["html","body"].indexOf(R(i))<0){var a=Y(i);if(a.transform!=="none"||a.perspective!=="none"||a.contain==="paint"||["transform","perspective"].indexOf(a.willChange)!==-1||r&&a.willChange==="filter"||r&&a.filter&&a.filter!=="none"){return i}else{i=i.parentNode}}return null}function it(t){var r=$(t);var e=et(t);while(e&&Z(e)&&Y(e).position==="static"){e=et(e)}if(e&&(R(e)==="html"||R(e)==="body"&&Y(e).position==="static")){return r}return e||nt(t)||r}function at(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function ot(t,r,e){return _(t,G(r,e))}function st(t,r,e){var n=ot(t,r,e);return n>e?e:n}function ut(){return{top:0,right:0,bottom:0,left:0}}function ft(t){return Object.assign({},ut(),t)}function vt(t,r){return r.reduce((function(r,e){r[e]=t;return r}),{})}var ct=function t(r,e){r=typeof r==="function"?r(Object.assign({},e.rects,{placement:e.placement})):r;return ft(typeof r!=="number"?r:vt(r,m))};function lt(t){var r;var e=t.state,n=t.name,i=t.options;var a=e.elements.arrow;var o=e.modifiersData.popperOffsets;var s=F(e.placement);var u=at(s);var f=[d,h].indexOf(s)>=0;var v=f?"height":"width";if(!a||!o){return}var p=ct(i.padding,e);var m=Q(a);var b=u==="y"?c:d;var g=u==="y"?l:h;var y=e.rects.reference[v]+e.rects.reference[u]-o[u]-e.rects.popper[v];var w=o[u]-e.rects.reference[u];var x=it(a);var O=x?u==="y"?x.clientHeight||0:x.clientWidth||0:0;var j=y/2-w/2;var k=p[b];var C=O-m[v]-p[g];var M=O/2-m[v]/2+j;var P=ot(k,M,C);var S=u;e.modifiersData[n]=(r={},r[S]=P,r.centerOffset=P-M,r)}function ht(t){var r=t.state,e=t.options;var n=e.element,i=n===void 0?"[data-popper-arrow]":n;if(i==null){return}if(typeof i==="string"){i=r.elements.popper.querySelector(i);if(!i){return}}if(!X(r.elements.popper,i)){return}r.elements.arrow=i}const dt={name:"arrow",enabled:true,phase:"main",fn:lt,effect:ht,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function pt(t){return t.split("-")[1]}var mt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function bt(t,r){var e=t.x,n=t.y;var i=r.devicePixelRatio||1;return{x:U(e*i)/i||0,y:U(n*i)/i||0}}function gt(t){var r;var e=t.popper,n=t.popperRect,i=t.placement,a=t.variation,o=t.offsets,s=t.position,u=t.gpuAcceleration,f=t.adaptive,v=t.roundOffsets,p=t.isFixed;var m=o.x,b=m===void 0?0:m,y=o.y,w=y===void 0?0:y;var x=typeof v==="function"?v({x:b,y:w}):{x:b,y:w};b=x.x;w=x.y;var O=o.hasOwnProperty("x");var j=o.hasOwnProperty("y");var k=d;var C=c;var M=window;if(f){var P=it(e);var S="clientHeight";var z="clientWidth";if(P===$(e)){P=tt(e);if(Y(P).position!=="static"&&s==="absolute"){S="scrollHeight";z="scrollWidth"}}P=P;if(i===c||(i===d||i===h)&&a===g){C=l;var A=p&&P===M&&M.visualViewport?M.visualViewport.height:P[S];w-=A-n.height;w*=u?1:-1}if(i===d||(i===c||i===l)&&a===g){k=h;var E=p&&P===M&&M.visualViewport?M.visualViewport.width:P[z];b-=E-n.width;b*=u?1:-1}}var I=Object.assign({position:s},f&&mt);var W=v===true?bt({x:b,y:w},$(e)):{x:b,y:w};b=W.x;w=W.y;if(u){var q;return Object.assign({},I,(q={},q[C]=j?"0":"",q[k]=O?"0":"",q.transform=(M.devicePixelRatio||1)<=1?"translate("+b+"px, "+w+"px)":"translate3d("+b+"px, "+w+"px, 0)",q))}return Object.assign({},I,(r={},r[C]=j?w+"px":"",r[k]=O?b+"px":"",r.transform="",r))}function yt(t){var r=t.state,e=t.options;var n=e.gpuAcceleration,i=n===void 0?true:n,a=e.adaptive,o=a===void 0?true:a,s=e.roundOffsets,u=s===void 0?true:s;var f={placement:F(r.placement),variation:pt(r.placement),popper:r.elements.popper,popperRect:r.rects.popper,gpuAcceleration:i,isFixed:r.options.strategy==="fixed"};if(r.modifiersData.popperOffsets!=null){r.styles.popper=Object.assign({},r.styles.popper,gt(Object.assign({},f,{offsets:r.modifiersData.popperOffsets,position:r.options.strategy,adaptive:o,roundOffsets:u})))}if(r.modifiersData.arrow!=null){r.styles.arrow=Object.assign({},r.styles.arrow,gt(Object.assign({},f,{offsets:r.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:u})))}r.attributes.popper=Object.assign({},r.attributes.popper,{"data-popper-placement":r.placement})}const wt={name:"computeStyles",enabled:true,phase:"beforeWrite",fn:yt,data:{}};var xt={passive:true};function Ot(t){var r=t.state,e=t.instance,n=t.options;var i=n.scroll,a=i===void 0?true:i,o=n.resize,s=o===void 0?true:o;var u=$(r.elements.popper);var f=[].concat(r.scrollParents.reference,r.scrollParents.popper);if(a){f.forEach((function(t){t.addEventListener("scroll",e.update,xt)}))}if(s){u.addEventListener("resize",e.update,xt)}return function(){if(a){f.forEach((function(t){t.removeEventListener("scroll",e.update,xt)}))}if(s){u.removeEventListener("resize",e.update,xt)}}}const jt={name:"eventListeners",enabled:true,phase:"write",fn:function t(){},effect:Ot,data:{}};var kt={left:"right",right:"left",bottom:"top",top:"bottom"};function Ct(t){return t.replace(/left|right|bottom|top/g,(function(t){return kt[t]}))}var Mt={start:"end",end:"start"};function Pt(t){return t.replace(/start|end/g,(function(t){return Mt[t]}))}function St(t){var r=$(t);var e=r.pageXOffset;var n=r.pageYOffset;return{scrollLeft:e,scrollTop:n}}function zt(t){return N(tt(t)).left+St(t).scrollLeft}function At(t,r){var e=$(t);var n=tt(t);var i=e.visualViewport;var a=n.clientWidth;var o=n.clientHeight;var s=0;var u=0;if(i){a=i.width;o=i.height;var f=K();if(f||!f&&r==="fixed"){s=i.offsetLeft;u=i.offsetTop}}return{width:a,height:o,x:s+zt(t),y:u}}function Et(t){var r;var e=tt(t);var n=St(t);var i=(r=t.ownerDocument)==null?void 0:r.body;var a=_(e.scrollWidth,e.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0);var o=_(e.scrollHeight,e.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0);var s=-n.scrollLeft+zt(t);var u=-n.scrollTop;if(Y(i||e).direction==="rtl"){s+=_(e.clientWidth,i?i.clientWidth:0)-a}return{width:a,height:o,x:s,y:u}}function It(t){var r=Y(t),e=r.overflow,n=r.overflowX,i=r.overflowY;return/auto|scroll|overlay|hidden/.test(e+i+n)}function Wt(t){if(["html","body","#document"].indexOf(R(t))>=0){return t.ownerDocument.body}if(D(t)&&It(t)){return t}return Wt(rt(t))}function qt(t,r){var e;if(r===void 0){r=[]}var n=Wt(t);var i=n===((e=t.ownerDocument)==null?void 0:e.body);var a=$(n);var o=i?[a].concat(a.visualViewport||[],It(n)?n:[]):n;var s=r.concat(o);return i?s:s.concat(qt(rt(o)))}function Rt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function $t(t,r){var e=N(t,false,r==="fixed");e.top=e.top+t.clientTop;e.left=e.left+t.clientLeft;e.bottom=e.top+t.clientHeight;e.right=e.left+t.clientWidth;e.width=t.clientWidth;e.height=t.clientHeight;e.x=e.left;e.y=e.top;return e}function Bt(t,r,e){return r===w?Rt(At(t,e)):B(r)?$t(r,e):Rt(Et(tt(t)))}function Dt(t){var r=qt(rt(t));var e=["absolute","fixed"].indexOf(Y(t).position)>=0;var n=e&&D(t)?it(t):t;if(!B(n)){return[]}return r.filter((function(t){return B(t)&&X(t,n)&&R(t)!=="body"}))}function Lt(t,r,e,n){var i=r==="clippingParents"?Dt(t):[].concat(r);var a=[].concat(i,[e]);var o=a[0];var s=a.reduce((function(r,e){var i=Bt(t,e,n);r.top=_(i.top,r.top);r.right=G(i.right,r.right);r.bottom=G(i.bottom,r.bottom);r.left=_(i.left,r.left);return r}),Bt(t,o,n));s.width=s.right-s.left;s.height=s.bottom-s.top;s.x=s.left;s.y=s.top;return s}function Ht(t){var r=t.reference,e=t.element,n=t.placement;var i=n?F(n):null;var a=n?pt(n):null;var o=r.x+r.width/2-e.width/2;var s=r.y+r.height/2-e.height/2;var u;switch(i){case c:u={x:o,y:r.y-e.height};break;case l:u={x:o,y:r.y+r.height};break;case h:u={x:r.x+r.width,y:s};break;case d:u={x:r.x-e.width,y:s};break;default:u={x:r.x,y:r.y}}var f=i?at(i):null;if(f!=null){var v=f==="y"?"height":"width";switch(a){case b:u[f]=u[f]-(r[v]/2-e[v]/2);break;case g:u[f]=u[f]+(r[v]/2-e[v]/2);break}}return u}function Tt(t,r){if(r===void 0){r={}}var e=r,n=e.placement,i=n===void 0?t.placement:n,a=e.strategy,o=a===void 0?t.strategy:a,s=e.boundary,u=s===void 0?y:s,f=e.rootBoundary,v=f===void 0?w:f,d=e.elementContext,p=d===void 0?x:d,b=e.altBoundary,g=b===void 0?false:b,j=e.padding,k=j===void 0?0:j;var C=ft(typeof k!=="number"?k:vt(k,m));var M=p===x?O:x;var P=t.rects.popper;var S=t.elements[g?M:p];var z=Lt(B(S)?S:S.contextElement||tt(t.elements.popper),u,v,o);var A=N(t.elements.reference);var E=Ht({reference:A,element:P,strategy:"absolute",placement:i});var I=Rt(Object.assign({},P,E));var W=p===x?I:A;var q={top:z.top-W.top+C.top,bottom:W.bottom-z.bottom+C.bottom,left:z.left-W.left+C.left,right:W.right-z.right+C.right};var R=t.modifiersData.offset;if(p===x&&R){var $=R[i];Object.keys(q).forEach((function(t){var r=[h,l].indexOf(t)>=0?1:-1;var e=[c,l].indexOf(t)>=0?"y":"x";q[t]+=$[e]*r}))}return q}function Vt(t,r){if(r===void 0){r={}}var e=r,n=e.placement,i=e.boundary,a=e.rootBoundary,o=e.padding,s=e.flipVariations,u=e.allowedAutoPlacements,f=u===void 0?k:u;var v=pt(n);var c=v?s?j:j.filter((function(t){return pt(t)===v})):m;var l=c.filter((function(t){return f.indexOf(t)>=0}));if(l.length===0){l=c}var h=l.reduce((function(r,e){r[e]=Tt(t,{placement:e,boundary:i,rootBoundary:a,padding:o})[F(e)];return r}),{});return Object.keys(h).sort((function(t,r){return h[t]-h[r]}))}function Ft(t){if(F(t)===p){return[]}var r=Ct(t);return[Pt(t),r,Pt(r)]}function _t(t){var r=t.state,e=t.options,n=t.name;if(r.modifiersData[n]._skip){return}var i=e.mainAxis,a=i===void 0?true:i,o=e.altAxis,s=o===void 0?true:o,u=e.fallbackPlacements,f=e.padding,v=e.boundary,m=e.rootBoundary,g=e.altBoundary,y=e.flipVariations,w=y===void 0?true:y,x=e.allowedAutoPlacements;var O=r.options.placement;var j=F(O);var k=j===O;var C=u||(k||!w?[Ct(O)]:Ft(O));var M=[O].concat(C).reduce((function(t,e){return t.concat(F(e)===p?Vt(r,{placement:e,boundary:v,rootBoundary:m,padding:f,flipVariations:w,allowedAutoPlacements:x}):e)}),[]);var P=r.rects.reference;var S=r.rects.popper;var z=new Map;var A=true;var E=M[0];for(var I=0;I<M.length;I++){var W=M[I];var q=F(W);var R=pt(W)===b;var $=[c,l].indexOf(q)>=0;var B=$?"width":"height";var D=Tt(r,{placement:W,boundary:v,rootBoundary:m,altBoundary:g,padding:f});var L=$?R?h:d:R?l:c;if(P[B]>S[B]){L=Ct(L)}var H=Ct(L);var T=[];if(a){T.push(D[q]<=0)}if(s){T.push(D[L]<=0,D[H]<=0)}if(T.every((function(t){return t}))){E=W;A=false;break}z.set(W,T)}if(A){var V=w?3:1;var _=function t(r){var e=M.find((function(t){var e=z.get(t);if(e){return e.slice(0,r).every((function(t){return t}))}}));if(e){E=e;return"break"}};for(var G=V;G>0;G--){var U=_(G);if(U==="break")break}}if(r.placement!==E){r.modifiersData[n]._skip=true;r.placement=E;r.reset=true}}const Gt={name:"flip",enabled:true,phase:"main",fn:_t,requiresIfExists:["offset"],data:{_skip:false}};function Ut(t,r,e){if(e===void 0){e={x:0,y:0}}return{top:t.top-r.height-e.y,right:t.right-r.width+e.x,bottom:t.bottom-r.height+e.y,left:t.left-r.width-e.x}}function Jt(t){return[c,h,l,d].some((function(r){return t[r]>=0}))}function Kt(t){var r=t.state,e=t.name;var n=r.rects.reference;var i=r.rects.popper;var a=r.modifiersData.preventOverflow;var o=Tt(r,{elementContext:"reference"});var s=Tt(r,{altBoundary:true});var u=Ut(o,n);var f=Ut(s,i,a);var v=Jt(u);var c=Jt(f);r.modifiersData[e]={referenceClippingOffsets:u,popperEscapeOffsets:f,isReferenceHidden:v,hasPopperEscaped:c};r.attributes.popper=Object.assign({},r.attributes.popper,{"data-popper-reference-hidden":v,"data-popper-escaped":c})}const Nt={name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:Kt};function Qt(t,r,e){var n=F(t);var i=[d,c].indexOf(n)>=0?-1:1;var a=typeof e==="function"?e(Object.assign({},r,{placement:t})):e,o=a[0],s=a[1];o=o||0;s=(s||0)*i;return[d,h].indexOf(n)>=0?{x:s,y:o}:{x:o,y:s}}function Xt(t){var r=t.state,e=t.options,n=t.name;var i=e.offset,a=i===void 0?[0,0]:i;var o=k.reduce((function(t,e){t[e]=Qt(e,r.rects,a);return t}),{});var s=o[r.placement],u=s.x,f=s.y;if(r.modifiersData.popperOffsets!=null){r.modifiersData.popperOffsets.x+=u;r.modifiersData.popperOffsets.y+=f}r.modifiersData[n]=o}const Yt={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:Xt};function Zt(t){var r=t.state,e=t.name;r.modifiersData[e]=Ht({reference:r.rects.reference,element:r.rects.popper,strategy:"absolute",placement:r.placement})}const tr={name:"popperOffsets",enabled:true,phase:"read",fn:Zt,data:{}};function rr(t){return t==="x"?"y":"x"}function er(t){var r=t.state,e=t.options,n=t.name;var i=e.mainAxis,a=i===void 0?true:i,o=e.altAxis,s=o===void 0?false:o,u=e.boundary,f=e.rootBoundary,v=e.altBoundary,p=e.padding,m=e.tether,g=m===void 0?true:m,y=e.tetherOffset,w=y===void 0?0:y;var x=Tt(r,{boundary:u,rootBoundary:f,padding:p,altBoundary:v});var O=F(r.placement);var j=pt(r.placement);var k=!j;var C=at(O);var M=rr(C);var P=r.modifiersData.popperOffsets;var S=r.rects.reference;var z=r.rects.popper;var A=typeof w==="function"?w(Object.assign({},r.rects,{placement:r.placement})):w;var E=typeof A==="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A);var I=r.modifiersData.offset?r.modifiersData.offset[r.placement]:null;var W={x:0,y:0};if(!P){return}if(a){var q;var R=C==="y"?c:d;var $=C==="y"?l:h;var B=C==="y"?"height":"width";var D=P[C];var L=D+x[R];var H=D-x[$];var T=g?-z[B]/2:0;var V=j===b?S[B]:z[B];var U=j===b?-z[B]:-S[B];var J=r.elements.arrow;var K=g&&J?Q(J):{width:0,height:0};var N=r.modifiersData["arrow#persistent"]?r.modifiersData["arrow#persistent"].padding:ut();var X=N[R];var Y=N[$];var Z=ot(0,S[B],K[B]);var tt=k?S[B]/2-T-Z-X-E.mainAxis:V-Z-X-E.mainAxis;var rt=k?-S[B]/2+T+Z+Y+E.mainAxis:U+Z+Y+E.mainAxis;var et=r.elements.arrow&&it(r.elements.arrow);var nt=et?C==="y"?et.clientTop||0:et.clientLeft||0:0;var ft=(q=I==null?void 0:I[C])!=null?q:0;var vt=D+tt-ft-nt;var ct=D+rt-ft;var lt=ot(g?G(L,vt):L,D,g?_(H,ct):H);P[C]=lt;W[C]=lt-D}if(s){var ht;var dt=C==="x"?c:d;var mt=C==="x"?l:h;var bt=P[M];var gt=M==="y"?"height":"width";var yt=bt+x[dt];var wt=bt-x[mt];var xt=[c,d].indexOf(O)!==-1;var Ot=(ht=I==null?void 0:I[M])!=null?ht:0;var jt=xt?yt:bt-S[gt]-z[gt]-Ot+E.altAxis;var kt=xt?bt+S[gt]+z[gt]-Ot-E.altAxis:wt;var Ct=g&&xt?st(jt,bt,kt):ot(g?jt:yt,bt,g?kt:wt);P[M]=Ct;W[M]=Ct-bt}r.modifiersData[n]=W}const nr={name:"preventOverflow",enabled:true,phase:"main",fn:er,requiresIfExists:["offset"]};function ir(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function ar(t){if(t===$(t)||!D(t)){return St(t)}else{return ir(t)}}function or(t){var r=t.getBoundingClientRect();var e=U(r.width)/t.offsetWidth||1;var n=U(r.height)/t.offsetHeight||1;return e!==1||n!==1}function sr(t,r,e){if(e===void 0){e=false}var n=D(r);var i=D(r)&&or(r);var a=tt(r);var o=N(t,i,e);var s={scrollLeft:0,scrollTop:0};var u={x:0,y:0};if(n||!n&&!e){if(R(r)!=="body"||It(a)){s=ar(r)}if(D(r)){u=N(r,true);u.x+=r.clientLeft;u.y+=r.clientTop}else if(a){u.x=zt(a)}}return{x:o.left+s.scrollLeft-u.x,y:o.top+s.scrollTop-u.y,width:o.width,height:o.height}}function ur(t){var r=new Map;var e=new Set;var n=[];t.forEach((function(t){r.set(t.name,t)}));function i(t){e.add(t.name);var a=[].concat(t.requires||[],t.requiresIfExists||[]);a.forEach((function(t){if(!e.has(t)){var n=r.get(t);if(n){i(n)}}}));n.push(t)}t.forEach((function(t){if(!e.has(t.name)){i(t)}}));return n}function fr(t){var r=ur(t);return q.reduce((function(t,e){return t.concat(r.filter((function(t){return t.phase===e})))}),[])}function vr(t){var r;return function(){if(!r){r=new Promise((function(e){Promise.resolve().then((function(){r=undefined;e(t())}))}))}return r}}function cr(t){var r=t.reduce((function(t,r){var e=t[r.name];t[r.name]=e?Object.assign({},e,r,{options:Object.assign({},e.options,r.options),data:Object.assign({},e.data,r.data)}):r;return t}),{});return Object.keys(r).map((function(t){return r[t]}))}var lr={placement:"bottom",modifiers:[],strategy:"absolute"};function hr(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++){r[e]=arguments[e]}return!r.some((function(t){return!(t&&typeof t.getBoundingClientRect==="function")}))}function dr(t){if(t===void 0){t={}}var r=t,e=r.defaultModifiers,n=e===void 0?[]:e,i=r.defaultOptions,a=i===void 0?lr:i;return function t(r,e,i){if(i===void 0){i=a}var o={placement:"bottom",orderedModifiers:[],options:Object.assign({},lr,a),modifiersData:{},elements:{reference:r,popper:e},attributes:{},styles:{}};var s=[];var u=false;var f={state:o,setOptions:function t(i){var s=typeof i==="function"?i(o.options):i;c();o.options=Object.assign({},a,o.options,s);o.scrollParents={reference:B(r)?qt(r):r.contextElement?qt(r.contextElement):[],popper:qt(e)};var u=fr(cr([].concat(n,o.options.modifiers)));o.orderedModifiers=u.filter((function(t){return t.enabled}));v();return f.update()},forceUpdate:function t(){if(u){return}var r=o.elements,e=r.reference,n=r.popper;if(!hr(e,n)){return}o.rects={reference:sr(e,it(n),o.options.strategy==="fixed"),popper:Q(n)};o.reset=false;o.placement=o.options.placement;o.orderedModifiers.forEach((function(t){return o.modifiersData[t.name]=Object.assign({},t.data)}));for(var i=0;i<o.orderedModifiers.length;i++){if(o.reset===true){o.reset=false;i=-1;continue}var a=o.orderedModifiers[i],s=a.fn,v=a.options,c=v===void 0?{}:v,l=a.name;if(typeof s==="function"){o=s({state:o,options:c,name:l,instance:f})||o}}},update:vr((function(){return new Promise((function(t){f.forceUpdate();t(o)}))})),destroy:function t(){c();u=true}};if(!hr(r,e)){return f}f.setOptions(i).then((function(t){if(!u&&i.onFirstUpdate){i.onFirstUpdate(t)}}));function v(){o.orderedModifiers.forEach((function(t){var r=t.name,e=t.options,n=e===void 0?{}:e,i=t.effect;if(typeof i==="function"){var a=i({state:o,name:r,instance:f,options:n});var u=function t(){};s.push(a||u)}}))}function c(){s.forEach((function(t){return t()}));s=[]}return f}}var pr=[jt,tr,wt,V,Yt,Gt,nr,dt,Nt];var mr=dr({defaultModifiers:pr});const br=":host(limel-portal){display:block;position:absolute;top:0;bottom:0;width:100%;pointer-events:none}:host([hidden]){display:none}slot{display:none}";const gr="is-visible";const yr="is-hiding";const wr=300;const xr=class{constructor(r){t(this,r);this.loaded=false;this.openDirection="bottom";this.position="absolute";this.containerId=undefined;this.containerStyle={};this.parent=document.body;this.inheritParentWidth=false;this.visible=false;this.anchor=null;this.parents=new WeakMap}disconnectedCallback(){this.removeContainer();this.destroyPopper();if(this.observer){this.observer.unobserve(this.container)}}connectedCallback(){if(!this.loaded){return}if(this.visible){this.init()}}componentDidLoad(){this.loaded=true;this.connectedCallback()}init(){this.createContainer();this.hideContainer();this.attachContainer();this.styleContainer();if(this.visible){this.createPopper();this.showContainer()}if("ResizeObserver"in window){const t=new ResizeObserver((()=>{if(this.popperInstance){this.styleContainer();this.popperInstance.update()}}));t.observe(this.container)}}render(){return r("slot",null)}onVisible(){if(!this.container&&this.visible){this.init()}if(!this.visible){this.animateHideAndCleanup();return}this.styleContainer();this.createPopper();requestAnimationFrame((()=>{this.showContainer()}))}createContainer(){const t=this.host.shadowRoot.querySelector("slot");const r=t.assignedElements&&t.assignedElements()||[];this.container=document.createElement("div");this.container.setAttribute("id",this.containerId);this.container.setAttribute("class","limel-portal--container");Object.assign(this.container,{portalSource:this.host});r.forEach((t=>{this.parents.set(t,t.parentElement);this.container.appendChild(t)}))}attachContainer(){this.parent.appendChild(this.container)}removeContainer(){if(!this.container){return}Array.from(this.container.children).forEach((t=>{const r=this.parents.get(t);if(!r){return}r.appendChild(t)}));this.container.parentElement.removeChild(this.container)}hideContainer(){if(!this.container){return}this.container.classList.remove(gr)}showContainer(){this.container.classList.add(gr)}animateHideAndCleanup(){if(!this.container){return}this.container.classList.add(yr);this.styleContainer();setTimeout((()=>{this.container.classList.remove(yr);if(!this.visible){this.container.classList.remove(gr);this.destroyPopper()}}),wr)}styleContainer(){this.setContainerWidth();this.setContainerHeight();this.setContainerStyles()}setContainerWidth(){const t=this.host.getBoundingClientRect().width;if(this.inheritParentWidth){const r=this.getContentWidth(this.container);let e=r;if(t>0){e=t}this.container.style.width=`${e}px`}}getContentWidth(t){if(!t){return null}const r=t.getBoundingClientRect().width;if(r!==0){return r}const e=t.querySelector("*");return this.getContentWidth(e)}setContainerStyles(){Object.keys(this.containerStyle).forEach((t=>{this.container.style[t]=this.containerStyle[t]}))}createPopper(){const t=this.createPopperConfig();this.popperInstance=mr(this.anchor||this.host,this.container,t)}destroyPopper(){var t;(t=this.popperInstance)===null||t===void 0?void 0:t.destroy();this.popperInstance=null}createPopperConfig(){const t=this.getPlacement(this.openDirection);const r=this.getFlipPlacement(this.openDirection);return{strategy:this.position,placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:[r]}}]}}getPlacement(t){const r={"left-start":"left-start",left:"left","left-end":"left-end","right-start":"right-start",right:"right","right-end":"right-end","top-start":"top-start",top:"top","top-end":"top-end","bottom-start":"bottom-start",bottom:"bottom","bottom-end":"bottom-end"};return r[t]}getFlipPlacement(t){const r={"left-start":"right-start",left:"right","left-end":"right-end","right-start":"left-start",right:"left","right-end":"left-end","top-start":"bottom-start",top:"bottom","top-end":"bottom-end","bottom-start":"top-start",bottom:"top","bottom-end":"top-end"};return r[t]}setContainerHeight(){const t=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);const{top:r,bottom:e}=this.host.getBoundingClientRect();const n=Math.max(r,0);const i=Math.max(t-e,0);const a=16;const o=Math.max(n,i)-a;this.container.style.maxHeight=`${o}px`}get host(){return e(this)}static get watchers(){return{visible:["onVisible"]}}};xr.style=br;export{v as limel_icon,xr as limel_portal};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as r,g as e}from"./p-443111b3.js";import{g as n}from"./p-2c35fb9d.js";class i{constructor(t){this.promises={};this.cache=t}async get(t,r=""){const e=await this.cache;const n=this.getUrl(t,r);let i=await e.match(n);if(!i){i=await this.fetchData(n,e)}return this.getIcon(i)}async fetchData(t,r){let e=this.promises[t];if(e===undefined){e=r.add(t);this.promises[t]=e}await e;return r.match(t)}async getIcon(t){let r=await t.text();r=r.replace(/#000000/g,"currentColor");if(!this.validSvg(r)){throw new Error("Invalid SVG")}return r}validSvg(t){const r=new DOMParser;const e=r.parseFromString(t,"image/svg+xml");return e.documentElement.tagName.toLowerCase()==="svg"}getUrl(t,r){let e=r||"";if(r&&!r.endsWith("/")){e=`${r}/`}return`${e}assets/icons/${t}.svg`}}class a{constructor(){this.cache={};this.resolveFunctions={}}async get(t,r=""){if(!this.cache[t]){this.cache[t]=await this.getIcon(t,r)}return this.cache[t]}getIcon(t,r){return new Promise((e=>{if(!this.resolveFunctions[t]){this.resolveFunctions[t]=[];this.fetchData(t,r)}this.resolveFunctions[t].push(e)}))}async fetchData(t,r){let e=r||"";if(r&&!r.endsWith("/")){e=`${r}/`}const n=await fetch(`${e}assets/icons/${t}.svg`);let i=await n.text();i=i.replace(/#000000/g,"currentColor");if(!this.validSvg(i)){throw new Error("Invalid SVG")}this.resolvePromises(t,i)}validSvg(t){const r=new DOMParser;const e=r.parseFromString(t,"image/svg+xml");return e.documentElement.tagName.toLowerCase()==="svg"}resolvePromises(t,r){const e=this.resolveFunctions[t];e.forEach((t=>{t(r)}));this.resolveFunctions[t]=null}}const o="@limetech/lime-elements/icons";function s(){try{const t=caches.open(o);return new i(t)}catch(t){return new a}}const u=(()=>s())();const f=":host{background-color:var(--icon-background-color, transparent);border-radius:50%;display:inline-block;line-height:0;box-sizing:border-box}:host svg{fill:currentColor;height:100%;pointer-events:none;width:100%}:host div{margin:var(--limel-icon-svg-margin, 0)}:host([hidden]){display:none}:host([size=x-small]){height:1rem !important;width:1rem !important}:host([size=small]){height:1.25rem !important;width:1.25rem !important}:host([size=medium]){height:1.5rem !important;width:1.5rem !important}:host([size=large]){height:1.75rem !important;width:1.75rem !important}:host([badge][size=x-small]){height:1.5rem !important;width:1.5rem !important;--limel-icon-svg-margin:0.25rem}:host([badge][size=small]){height:1.75rem !important;width:1.75rem !important;--limel-icon-svg-margin:0.25rem}:host([badge][size=medium]){height:2.5rem !important;width:2.5rem !important;--limel-icon-svg-margin:0.5rem}:host([badge][size=large]){height:2.75rem !important;width:2.75rem !important;--limel-icon-svg-margin:0.5rem}";const v=class{constructor(r){t(this,r);this.size=undefined;this.name=undefined;this.badge=undefined}componentDidLoad(){this.loadIcon(this.name)}render(){return r("div",{class:"container"})}async loadIcon(t){if(t===undefined||t===""){return}const r=await this.loadSvg(t);this.renderSvg(r)}loadSvg(t){return u.get(t,n.iconPath)}renderSvg(t){const r=this.host.shadowRoot.querySelector("div.container");if(r){r.innerHTML=t}}get host(){return e(this)}static get watchers(){return{name:["loadIcon"]}}};v.style=f;var c="top";var l="bottom";var h="right";var d="left";var p="auto";var m=[c,l,h,d];var b="start";var g="end";var y="clippingParents";var w="viewport";var x="popper";var O="reference";var j=m.reduce((function(t,r){return t.concat([r+"-"+b,r+"-"+g])}),[]);var k=[].concat(m,[p]).reduce((function(t,r){return t.concat([r,r+"-"+b,r+"-"+g])}),[]);var C="beforeRead";var M="read";var P="afterRead";var S="beforeMain";var z="main";var A="afterMain";var E="beforeWrite";var I="write";var W="afterWrite";var q=[C,M,P,S,z,A,E,I,W];function R(t){return t?(t.nodeName||"").toLowerCase():null}function $(t){if(t==null){return window}if(t.toString()!=="[object Window]"){var r=t.ownerDocument;return r?r.defaultView||window:window}return t}function B(t){var r=$(t).Element;return t instanceof r||t instanceof Element}function D(t){var r=$(t).HTMLElement;return t instanceof r||t instanceof HTMLElement}function L(t){if(typeof ShadowRoot==="undefined"){return false}var r=$(t).ShadowRoot;return t instanceof r||t instanceof ShadowRoot}function H(t){var r=t.state;Object.keys(r.elements).forEach((function(t){var e=r.styles[t]||{};var n=r.attributes[t]||{};var i=r.elements[t];if(!D(i)||!R(i)){return}Object.assign(i.style,e);Object.keys(n).forEach((function(t){var r=n[t];if(r===false){i.removeAttribute(t)}else{i.setAttribute(t,r===true?"":r)}}))}))}function T(t){var r=t.state;var e={popper:{position:r.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(r.elements.popper.style,e.popper);r.styles=e;if(r.elements.arrow){Object.assign(r.elements.arrow.style,e.arrow)}return function(){Object.keys(r.elements).forEach((function(t){var n=r.elements[t];var i=r.attributes[t]||{};var a=Object.keys(r.styles.hasOwnProperty(t)?r.styles[t]:e[t]);var o=a.reduce((function(t,r){t[r]="";return t}),{});if(!D(n)||!R(n)){return}Object.assign(n.style,o);Object.keys(i).forEach((function(t){n.removeAttribute(t)}))}))}}const V={name:"applyStyles",enabled:true,phase:"write",fn:H,effect:T,requires:["computeStyles"]};function F(t){return t.split("-")[0]}var _=Math.max;var G=Math.min;var U=Math.round;function J(){var t=navigator.userAgentData;if(t!=null&&t.brands&&Array.isArray(t.brands)){return t.brands.map((function(t){return t.brand+"/"+t.version})).join(" ")}return navigator.userAgent}function K(){return!/^((?!chrome|android).)*safari/i.test(J())}function N(t,r,e){if(r===void 0){r=false}if(e===void 0){e=false}var n=t.getBoundingClientRect();var i=1;var a=1;if(r&&D(t)){i=t.offsetWidth>0?U(n.width)/t.offsetWidth||1:1;a=t.offsetHeight>0?U(n.height)/t.offsetHeight||1:1}var o=B(t)?$(t):window,s=o.visualViewport;var u=!K()&&e;var f=(n.left+(u&&s?s.offsetLeft:0))/i;var v=(n.top+(u&&s?s.offsetTop:0))/a;var c=n.width/i;var l=n.height/a;return{width:c,height:l,top:v,right:f+c,bottom:v+l,left:f,x:f,y:v}}function Q(t){var r=N(t);var e=t.offsetWidth;var n=t.offsetHeight;if(Math.abs(r.width-e)<=1){e=r.width}if(Math.abs(r.height-n)<=1){n=r.height}return{x:t.offsetLeft,y:t.offsetTop,width:e,height:n}}function X(t,r){var e=r.getRootNode&&r.getRootNode();if(t.contains(r)){return true}else if(e&&L(e)){var n=r;do{if(n&&t.isSameNode(n)){return true}n=n.parentNode||n.host}while(n)}return false}function Y(t){return $(t).getComputedStyle(t)}function Z(t){return["table","td","th"].indexOf(R(t))>=0}function tt(t){return((B(t)?t.ownerDocument:t.document)||window.document).documentElement}function rt(t){if(R(t)==="html"){return t}return t.assignedSlot||t.parentNode||(L(t)?t.host:null)||tt(t)}function et(t){if(!D(t)||Y(t).position==="fixed"){return null}return t.offsetParent}function nt(t){var r=/firefox/i.test(J());var e=/Trident/i.test(J());if(e&&D(t)){var n=Y(t);if(n.position==="fixed"){return null}}var i=rt(t);if(L(i)){i=i.host}while(D(i)&&["html","body"].indexOf(R(i))<0){var a=Y(i);if(a.transform!=="none"||a.perspective!=="none"||a.contain==="paint"||["transform","perspective"].indexOf(a.willChange)!==-1||r&&a.willChange==="filter"||r&&a.filter&&a.filter!=="none"){return i}else{i=i.parentNode}}return null}function it(t){var r=$(t);var e=et(t);while(e&&Z(e)&&Y(e).position==="static"){e=et(e)}if(e&&(R(e)==="html"||R(e)==="body"&&Y(e).position==="static")){return r}return e||nt(t)||r}function at(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function ot(t,r,e){return _(t,G(r,e))}function st(t,r,e){var n=ot(t,r,e);return n>e?e:n}function ut(){return{top:0,right:0,bottom:0,left:0}}function ft(t){return Object.assign({},ut(),t)}function vt(t,r){return r.reduce((function(r,e){r[e]=t;return r}),{})}var ct=function t(r,e){r=typeof r==="function"?r(Object.assign({},e.rects,{placement:e.placement})):r;return ft(typeof r!=="number"?r:vt(r,m))};function lt(t){var r;var e=t.state,n=t.name,i=t.options;var a=e.elements.arrow;var o=e.modifiersData.popperOffsets;var s=F(e.placement);var u=at(s);var f=[d,h].indexOf(s)>=0;var v=f?"height":"width";if(!a||!o){return}var p=ct(i.padding,e);var m=Q(a);var b=u==="y"?c:d;var g=u==="y"?l:h;var y=e.rects.reference[v]+e.rects.reference[u]-o[u]-e.rects.popper[v];var w=o[u]-e.rects.reference[u];var x=it(a);var O=x?u==="y"?x.clientHeight||0:x.clientWidth||0:0;var j=y/2-w/2;var k=p[b];var C=O-m[v]-p[g];var M=O/2-m[v]/2+j;var P=ot(k,M,C);var S=u;e.modifiersData[n]=(r={},r[S]=P,r.centerOffset=P-M,r)}function ht(t){var r=t.state,e=t.options;var n=e.element,i=n===void 0?"[data-popper-arrow]":n;if(i==null){return}if(typeof i==="string"){i=r.elements.popper.querySelector(i);if(!i){return}}if(!X(r.elements.popper,i)){return}r.elements.arrow=i}const dt={name:"arrow",enabled:true,phase:"main",fn:lt,effect:ht,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function pt(t){return t.split("-")[1]}var mt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function bt(t,r){var e=t.x,n=t.y;var i=r.devicePixelRatio||1;return{x:U(e*i)/i||0,y:U(n*i)/i||0}}function gt(t){var r;var e=t.popper,n=t.popperRect,i=t.placement,a=t.variation,o=t.offsets,s=t.position,u=t.gpuAcceleration,f=t.adaptive,v=t.roundOffsets,p=t.isFixed;var m=o.x,b=m===void 0?0:m,y=o.y,w=y===void 0?0:y;var x=typeof v==="function"?v({x:b,y:w}):{x:b,y:w};b=x.x;w=x.y;var O=o.hasOwnProperty("x");var j=o.hasOwnProperty("y");var k=d;var C=c;var M=window;if(f){var P=it(e);var S="clientHeight";var z="clientWidth";if(P===$(e)){P=tt(e);if(Y(P).position!=="static"&&s==="absolute"){S="scrollHeight";z="scrollWidth"}}P=P;if(i===c||(i===d||i===h)&&a===g){C=l;var A=p&&P===M&&M.visualViewport?M.visualViewport.height:P[S];w-=A-n.height;w*=u?1:-1}if(i===d||(i===c||i===l)&&a===g){k=h;var E=p&&P===M&&M.visualViewport?M.visualViewport.width:P[z];b-=E-n.width;b*=u?1:-1}}var I=Object.assign({position:s},f&&mt);var W=v===true?bt({x:b,y:w},$(e)):{x:b,y:w};b=W.x;w=W.y;if(u){var q;return Object.assign({},I,(q={},q[C]=j?"0":"",q[k]=O?"0":"",q.transform=(M.devicePixelRatio||1)<=1?"translate("+b+"px, "+w+"px)":"translate3d("+b+"px, "+w+"px, 0)",q))}return Object.assign({},I,(r={},r[C]=j?w+"px":"",r[k]=O?b+"px":"",r.transform="",r))}function yt(t){var r=t.state,e=t.options;var n=e.gpuAcceleration,i=n===void 0?true:n,a=e.adaptive,o=a===void 0?true:a,s=e.roundOffsets,u=s===void 0?true:s;var f={placement:F(r.placement),variation:pt(r.placement),popper:r.elements.popper,popperRect:r.rects.popper,gpuAcceleration:i,isFixed:r.options.strategy==="fixed"};if(r.modifiersData.popperOffsets!=null){r.styles.popper=Object.assign({},r.styles.popper,gt(Object.assign({},f,{offsets:r.modifiersData.popperOffsets,position:r.options.strategy,adaptive:o,roundOffsets:u})))}if(r.modifiersData.arrow!=null){r.styles.arrow=Object.assign({},r.styles.arrow,gt(Object.assign({},f,{offsets:r.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:u})))}r.attributes.popper=Object.assign({},r.attributes.popper,{"data-popper-placement":r.placement})}const wt={name:"computeStyles",enabled:true,phase:"beforeWrite",fn:yt,data:{}};var xt={passive:true};function Ot(t){var r=t.state,e=t.instance,n=t.options;var i=n.scroll,a=i===void 0?true:i,o=n.resize,s=o===void 0?true:o;var u=$(r.elements.popper);var f=[].concat(r.scrollParents.reference,r.scrollParents.popper);if(a){f.forEach((function(t){t.addEventListener("scroll",e.update,xt)}))}if(s){u.addEventListener("resize",e.update,xt)}return function(){if(a){f.forEach((function(t){t.removeEventListener("scroll",e.update,xt)}))}if(s){u.removeEventListener("resize",e.update,xt)}}}const jt={name:"eventListeners",enabled:true,phase:"write",fn:function t(){},effect:Ot,data:{}};var kt={left:"right",right:"left",bottom:"top",top:"bottom"};function Ct(t){return t.replace(/left|right|bottom|top/g,(function(t){return kt[t]}))}var Mt={start:"end",end:"start"};function Pt(t){return t.replace(/start|end/g,(function(t){return Mt[t]}))}function St(t){var r=$(t);var e=r.pageXOffset;var n=r.pageYOffset;return{scrollLeft:e,scrollTop:n}}function zt(t){return N(tt(t)).left+St(t).scrollLeft}function At(t,r){var e=$(t);var n=tt(t);var i=e.visualViewport;var a=n.clientWidth;var o=n.clientHeight;var s=0;var u=0;if(i){a=i.width;o=i.height;var f=K();if(f||!f&&r==="fixed"){s=i.offsetLeft;u=i.offsetTop}}return{width:a,height:o,x:s+zt(t),y:u}}function Et(t){var r;var e=tt(t);var n=St(t);var i=(r=t.ownerDocument)==null?void 0:r.body;var a=_(e.scrollWidth,e.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0);var o=_(e.scrollHeight,e.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0);var s=-n.scrollLeft+zt(t);var u=-n.scrollTop;if(Y(i||e).direction==="rtl"){s+=_(e.clientWidth,i?i.clientWidth:0)-a}return{width:a,height:o,x:s,y:u}}function It(t){var r=Y(t),e=r.overflow,n=r.overflowX,i=r.overflowY;return/auto|scroll|overlay|hidden/.test(e+i+n)}function Wt(t){if(["html","body","#document"].indexOf(R(t))>=0){return t.ownerDocument.body}if(D(t)&&It(t)){return t}return Wt(rt(t))}function qt(t,r){var e;if(r===void 0){r=[]}var n=Wt(t);var i=n===((e=t.ownerDocument)==null?void 0:e.body);var a=$(n);var o=i?[a].concat(a.visualViewport||[],It(n)?n:[]):n;var s=r.concat(o);return i?s:s.concat(qt(rt(o)))}function Rt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function $t(t,r){var e=N(t,false,r==="fixed");e.top=e.top+t.clientTop;e.left=e.left+t.clientLeft;e.bottom=e.top+t.clientHeight;e.right=e.left+t.clientWidth;e.width=t.clientWidth;e.height=t.clientHeight;e.x=e.left;e.y=e.top;return e}function Bt(t,r,e){return r===w?Rt(At(t,e)):B(r)?$t(r,e):Rt(Et(tt(t)))}function Dt(t){var r=qt(rt(t));var e=["absolute","fixed"].indexOf(Y(t).position)>=0;var n=e&&D(t)?it(t):t;if(!B(n)){return[]}return r.filter((function(t){return B(t)&&X(t,n)&&R(t)!=="body"}))}function Lt(t,r,e,n){var i=r==="clippingParents"?Dt(t):[].concat(r);var a=[].concat(i,[e]);var o=a[0];var s=a.reduce((function(r,e){var i=Bt(t,e,n);r.top=_(i.top,r.top);r.right=G(i.right,r.right);r.bottom=G(i.bottom,r.bottom);r.left=_(i.left,r.left);return r}),Bt(t,o,n));s.width=s.right-s.left;s.height=s.bottom-s.top;s.x=s.left;s.y=s.top;return s}function Ht(t){var r=t.reference,e=t.element,n=t.placement;var i=n?F(n):null;var a=n?pt(n):null;var o=r.x+r.width/2-e.width/2;var s=r.y+r.height/2-e.height/2;var u;switch(i){case c:u={x:o,y:r.y-e.height};break;case l:u={x:o,y:r.y+r.height};break;case h:u={x:r.x+r.width,y:s};break;case d:u={x:r.x-e.width,y:s};break;default:u={x:r.x,y:r.y}}var f=i?at(i):null;if(f!=null){var v=f==="y"?"height":"width";switch(a){case b:u[f]=u[f]-(r[v]/2-e[v]/2);break;case g:u[f]=u[f]+(r[v]/2-e[v]/2);break}}return u}function Tt(t,r){if(r===void 0){r={}}var e=r,n=e.placement,i=n===void 0?t.placement:n,a=e.strategy,o=a===void 0?t.strategy:a,s=e.boundary,u=s===void 0?y:s,f=e.rootBoundary,v=f===void 0?w:f,d=e.elementContext,p=d===void 0?x:d,b=e.altBoundary,g=b===void 0?false:b,j=e.padding,k=j===void 0?0:j;var C=ft(typeof k!=="number"?k:vt(k,m));var M=p===x?O:x;var P=t.rects.popper;var S=t.elements[g?M:p];var z=Lt(B(S)?S:S.contextElement||tt(t.elements.popper),u,v,o);var A=N(t.elements.reference);var E=Ht({reference:A,element:P,strategy:"absolute",placement:i});var I=Rt(Object.assign({},P,E));var W=p===x?I:A;var q={top:z.top-W.top+C.top,bottom:W.bottom-z.bottom+C.bottom,left:z.left-W.left+C.left,right:W.right-z.right+C.right};var R=t.modifiersData.offset;if(p===x&&R){var $=R[i];Object.keys(q).forEach((function(t){var r=[h,l].indexOf(t)>=0?1:-1;var e=[c,l].indexOf(t)>=0?"y":"x";q[t]+=$[e]*r}))}return q}function Vt(t,r){if(r===void 0){r={}}var e=r,n=e.placement,i=e.boundary,a=e.rootBoundary,o=e.padding,s=e.flipVariations,u=e.allowedAutoPlacements,f=u===void 0?k:u;var v=pt(n);var c=v?s?j:j.filter((function(t){return pt(t)===v})):m;var l=c.filter((function(t){return f.indexOf(t)>=0}));if(l.length===0){l=c}var h=l.reduce((function(r,e){r[e]=Tt(t,{placement:e,boundary:i,rootBoundary:a,padding:o})[F(e)];return r}),{});return Object.keys(h).sort((function(t,r){return h[t]-h[r]}))}function Ft(t){if(F(t)===p){return[]}var r=Ct(t);return[Pt(t),r,Pt(r)]}function _t(t){var r=t.state,e=t.options,n=t.name;if(r.modifiersData[n]._skip){return}var i=e.mainAxis,a=i===void 0?true:i,o=e.altAxis,s=o===void 0?true:o,u=e.fallbackPlacements,f=e.padding,v=e.boundary,m=e.rootBoundary,g=e.altBoundary,y=e.flipVariations,w=y===void 0?true:y,x=e.allowedAutoPlacements;var O=r.options.placement;var j=F(O);var k=j===O;var C=u||(k||!w?[Ct(O)]:Ft(O));var M=[O].concat(C).reduce((function(t,e){return t.concat(F(e)===p?Vt(r,{placement:e,boundary:v,rootBoundary:m,padding:f,flipVariations:w,allowedAutoPlacements:x}):e)}),[]);var P=r.rects.reference;var S=r.rects.popper;var z=new Map;var A=true;var E=M[0];for(var I=0;I<M.length;I++){var W=M[I];var q=F(W);var R=pt(W)===b;var $=[c,l].indexOf(q)>=0;var B=$?"width":"height";var D=Tt(r,{placement:W,boundary:v,rootBoundary:m,altBoundary:g,padding:f});var L=$?R?h:d:R?l:c;if(P[B]>S[B]){L=Ct(L)}var H=Ct(L);var T=[];if(a){T.push(D[q]<=0)}if(s){T.push(D[L]<=0,D[H]<=0)}if(T.every((function(t){return t}))){E=W;A=false;break}z.set(W,T)}if(A){var V=w?3:1;var _=function t(r){var e=M.find((function(t){var e=z.get(t);if(e){return e.slice(0,r).every((function(t){return t}))}}));if(e){E=e;return"break"}};for(var G=V;G>0;G--){var U=_(G);if(U==="break")break}}if(r.placement!==E){r.modifiersData[n]._skip=true;r.placement=E;r.reset=true}}const Gt={name:"flip",enabled:true,phase:"main",fn:_t,requiresIfExists:["offset"],data:{_skip:false}};function Ut(t,r,e){if(e===void 0){e={x:0,y:0}}return{top:t.top-r.height-e.y,right:t.right-r.width+e.x,bottom:t.bottom-r.height+e.y,left:t.left-r.width-e.x}}function Jt(t){return[c,h,l,d].some((function(r){return t[r]>=0}))}function Kt(t){var r=t.state,e=t.name;var n=r.rects.reference;var i=r.rects.popper;var a=r.modifiersData.preventOverflow;var o=Tt(r,{elementContext:"reference"});var s=Tt(r,{altBoundary:true});var u=Ut(o,n);var f=Ut(s,i,a);var v=Jt(u);var c=Jt(f);r.modifiersData[e]={referenceClippingOffsets:u,popperEscapeOffsets:f,isReferenceHidden:v,hasPopperEscaped:c};r.attributes.popper=Object.assign({},r.attributes.popper,{"data-popper-reference-hidden":v,"data-popper-escaped":c})}const Nt={name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:Kt};function Qt(t,r,e){var n=F(t);var i=[d,c].indexOf(n)>=0?-1:1;var a=typeof e==="function"?e(Object.assign({},r,{placement:t})):e,o=a[0],s=a[1];o=o||0;s=(s||0)*i;return[d,h].indexOf(n)>=0?{x:s,y:o}:{x:o,y:s}}function Xt(t){var r=t.state,e=t.options,n=t.name;var i=e.offset,a=i===void 0?[0,0]:i;var o=k.reduce((function(t,e){t[e]=Qt(e,r.rects,a);return t}),{});var s=o[r.placement],u=s.x,f=s.y;if(r.modifiersData.popperOffsets!=null){r.modifiersData.popperOffsets.x+=u;r.modifiersData.popperOffsets.y+=f}r.modifiersData[n]=o}const Yt={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:Xt};function Zt(t){var r=t.state,e=t.name;r.modifiersData[e]=Ht({reference:r.rects.reference,element:r.rects.popper,strategy:"absolute",placement:r.placement})}const tr={name:"popperOffsets",enabled:true,phase:"read",fn:Zt,data:{}};function rr(t){return t==="x"?"y":"x"}function er(t){var r=t.state,e=t.options,n=t.name;var i=e.mainAxis,a=i===void 0?true:i,o=e.altAxis,s=o===void 0?false:o,u=e.boundary,f=e.rootBoundary,v=e.altBoundary,p=e.padding,m=e.tether,g=m===void 0?true:m,y=e.tetherOffset,w=y===void 0?0:y;var x=Tt(r,{boundary:u,rootBoundary:f,padding:p,altBoundary:v});var O=F(r.placement);var j=pt(r.placement);var k=!j;var C=at(O);var M=rr(C);var P=r.modifiersData.popperOffsets;var S=r.rects.reference;var z=r.rects.popper;var A=typeof w==="function"?w(Object.assign({},r.rects,{placement:r.placement})):w;var E=typeof A==="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A);var I=r.modifiersData.offset?r.modifiersData.offset[r.placement]:null;var W={x:0,y:0};if(!P){return}if(a){var q;var R=C==="y"?c:d;var $=C==="y"?l:h;var B=C==="y"?"height":"width";var D=P[C];var L=D+x[R];var H=D-x[$];var T=g?-z[B]/2:0;var V=j===b?S[B]:z[B];var U=j===b?-z[B]:-S[B];var J=r.elements.arrow;var K=g&&J?Q(J):{width:0,height:0};var N=r.modifiersData["arrow#persistent"]?r.modifiersData["arrow#persistent"].padding:ut();var X=N[R];var Y=N[$];var Z=ot(0,S[B],K[B]);var tt=k?S[B]/2-T-Z-X-E.mainAxis:V-Z-X-E.mainAxis;var rt=k?-S[B]/2+T+Z+Y+E.mainAxis:U+Z+Y+E.mainAxis;var et=r.elements.arrow&&it(r.elements.arrow);var nt=et?C==="y"?et.clientTop||0:et.clientLeft||0:0;var ft=(q=I==null?void 0:I[C])!=null?q:0;var vt=D+tt-ft-nt;var ct=D+rt-ft;var lt=ot(g?G(L,vt):L,D,g?_(H,ct):H);P[C]=lt;W[C]=lt-D}if(s){var ht;var dt=C==="x"?c:d;var mt=C==="x"?l:h;var bt=P[M];var gt=M==="y"?"height":"width";var yt=bt+x[dt];var wt=bt-x[mt];var xt=[c,d].indexOf(O)!==-1;var Ot=(ht=I==null?void 0:I[M])!=null?ht:0;var jt=xt?yt:bt-S[gt]-z[gt]-Ot+E.altAxis;var kt=xt?bt+S[gt]+z[gt]-Ot-E.altAxis:wt;var Ct=g&&xt?st(jt,bt,kt):ot(g?jt:yt,bt,g?kt:wt);P[M]=Ct;W[M]=Ct-bt}r.modifiersData[n]=W}const nr={name:"preventOverflow",enabled:true,phase:"main",fn:er,requiresIfExists:["offset"]};function ir(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function ar(t){if(t===$(t)||!D(t)){return St(t)}else{return ir(t)}}function or(t){var r=t.getBoundingClientRect();var e=U(r.width)/t.offsetWidth||1;var n=U(r.height)/t.offsetHeight||1;return e!==1||n!==1}function sr(t,r,e){if(e===void 0){e=false}var n=D(r);var i=D(r)&&or(r);var a=tt(r);var o=N(t,i,e);var s={scrollLeft:0,scrollTop:0};var u={x:0,y:0};if(n||!n&&!e){if(R(r)!=="body"||It(a)){s=ar(r)}if(D(r)){u=N(r,true);u.x+=r.clientLeft;u.y+=r.clientTop}else if(a){u.x=zt(a)}}return{x:o.left+s.scrollLeft-u.x,y:o.top+s.scrollTop-u.y,width:o.width,height:o.height}}function ur(t){var r=new Map;var e=new Set;var n=[];t.forEach((function(t){r.set(t.name,t)}));function i(t){e.add(t.name);var a=[].concat(t.requires||[],t.requiresIfExists||[]);a.forEach((function(t){if(!e.has(t)){var n=r.get(t);if(n){i(n)}}}));n.push(t)}t.forEach((function(t){if(!e.has(t.name)){i(t)}}));return n}function fr(t){var r=ur(t);return q.reduce((function(t,e){return t.concat(r.filter((function(t){return t.phase===e})))}),[])}function vr(t){var r;return function(){if(!r){r=new Promise((function(e){Promise.resolve().then((function(){r=undefined;e(t())}))}))}return r}}function cr(t){var r=t.reduce((function(t,r){var e=t[r.name];t[r.name]=e?Object.assign({},e,r,{options:Object.assign({},e.options,r.options),data:Object.assign({},e.data,r.data)}):r;return t}),{});return Object.keys(r).map((function(t){return r[t]}))}var lr={placement:"bottom",modifiers:[],strategy:"absolute"};function hr(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++){r[e]=arguments[e]}return!r.some((function(t){return!(t&&typeof t.getBoundingClientRect==="function")}))}function dr(t){if(t===void 0){t={}}var r=t,e=r.defaultModifiers,n=e===void 0?[]:e,i=r.defaultOptions,a=i===void 0?lr:i;return function t(r,e,i){if(i===void 0){i=a}var o={placement:"bottom",orderedModifiers:[],options:Object.assign({},lr,a),modifiersData:{},elements:{reference:r,popper:e},attributes:{},styles:{}};var s=[];var u=false;var f={state:o,setOptions:function t(i){var s=typeof i==="function"?i(o.options):i;c();o.options=Object.assign({},a,o.options,s);o.scrollParents={reference:B(r)?qt(r):r.contextElement?qt(r.contextElement):[],popper:qt(e)};var u=fr(cr([].concat(n,o.options.modifiers)));o.orderedModifiers=u.filter((function(t){return t.enabled}));v();return f.update()},forceUpdate:function t(){if(u){return}var r=o.elements,e=r.reference,n=r.popper;if(!hr(e,n)){return}o.rects={reference:sr(e,it(n),o.options.strategy==="fixed"),popper:Q(n)};o.reset=false;o.placement=o.options.placement;o.orderedModifiers.forEach((function(t){return o.modifiersData[t.name]=Object.assign({},t.data)}));for(var i=0;i<o.orderedModifiers.length;i++){if(o.reset===true){o.reset=false;i=-1;continue}var a=o.orderedModifiers[i],s=a.fn,v=a.options,c=v===void 0?{}:v,l=a.name;if(typeof s==="function"){o=s({state:o,options:c,name:l,instance:f})||o}}},update:vr((function(){return new Promise((function(t){f.forceUpdate();t(o)}))})),destroy:function t(){c();u=true}};if(!hr(r,e)){return f}f.setOptions(i).then((function(t){if(!u&&i.onFirstUpdate){i.onFirstUpdate(t)}}));function v(){o.orderedModifiers.forEach((function(t){var r=t.name,e=t.options,n=e===void 0?{}:e,i=t.effect;if(typeof i==="function"){var a=i({state:o,name:r,instance:f,options:n});var u=function t(){};s.push(a||u)}}))}function c(){s.forEach((function(t){return t()}));s=[]}return f}}var pr=[jt,tr,wt,V,Yt,Gt,nr,dt,Nt];var mr=dr({defaultModifiers:pr});const br=":host(limel-portal){display:block;position:absolute;top:0;bottom:0;width:100%;pointer-events:none}:host([hidden]){display:none}slot{display:none}";const gr="is-visible";const yr="is-hiding";const wr=300;const xr=class{constructor(r){t(this,r);this.loaded=false;this.openDirection="bottom";this.position="absolute";this.containerId=undefined;this.containerStyle={};this.parent=document.body;this.inheritParentWidth=false;this.visible=false;this.anchor=null;this.parents=new WeakMap}disconnectedCallback(){this.removeContainer();this.destroyPopper();if(this.observer&&this.container){this.observer.unobserve(this.container)}this.container=null}connectedCallback(){if(!this.loaded){return}if(this.visible){this.init()}}componentDidLoad(){this.loaded=true;this.connectedCallback()}init(){if(!this.host.isConnected){return}this.createContainer();this.hideContainer();this.attachContainer();this.styleContainer();if(this.visible){this.createPopper();this.showContainer()}if("ResizeObserver"in window){const t=new ResizeObserver((()=>{if(this.popperInstance){this.styleContainer();this.popperInstance.update()}}));t.observe(this.container)}}render(){return r("slot",null)}onVisible(){if(!this.container&&this.visible){this.init();return}if(!this.visible){this.animateHideAndCleanup();return}this.styleContainer();this.createPopper();requestAnimationFrame((()=>{this.showContainer()}))}createContainer(){const t=this.host.shadowRoot.querySelector("slot");const r=t.assignedElements&&t.assignedElements()||[];this.container=document.createElement("div");this.container.setAttribute("id",this.containerId);this.container.setAttribute("class","limel-portal--container");Object.assign(this.container,{portalSource:this.host});r.forEach((t=>{this.parents.set(t,t.parentElement);this.container.appendChild(t)}))}attachContainer(){this.parent.appendChild(this.container)}removeContainer(){if(!this.container){return}Array.from(this.container.children).forEach((t=>{const r=this.parents.get(t);if(!r){return}r.appendChild(t)}));this.container.parentElement.removeChild(this.container)}hideContainer(){if(!this.container){return}this.container.classList.remove(gr)}showContainer(){this.container.classList.add(gr)}animateHideAndCleanup(){if(!this.container){return}this.container.classList.add(yr);this.styleContainer();setTimeout((()=>{this.container.classList.remove(yr);if(!this.visible){this.container.classList.remove(gr);this.destroyPopper()}}),wr)}styleContainer(){this.setContainerWidth();this.setContainerHeight();this.setContainerStyles()}setContainerWidth(){const t=this.host.getBoundingClientRect().width;if(this.inheritParentWidth){const r=this.getContentWidth(this.container);let e=r;if(t>0){e=t}this.container.style.width=`${e}px`}}getContentWidth(t){if(!t){return null}const r=t.getBoundingClientRect().width;if(r!==0){return r}const e=t.querySelector("*");return this.getContentWidth(e)}setContainerStyles(){Object.keys(this.containerStyle).forEach((t=>{this.container.style[t]=this.containerStyle[t]}))}createPopper(){const t=this.createPopperConfig();this.popperInstance=mr(this.anchor||this.host,this.container,t)}destroyPopper(){var t;(t=this.popperInstance)===null||t===void 0?void 0:t.destroy();this.popperInstance=null}createPopperConfig(){const t=this.getPlacement(this.openDirection);const r=this.getFlipPlacement(this.openDirection);return{strategy:this.position,placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:[r]}}]}}getPlacement(t){const r={"left-start":"left-start",left:"left","left-end":"left-end","right-start":"right-start",right:"right","right-end":"right-end","top-start":"top-start",top:"top","top-end":"top-end","bottom-start":"bottom-start",bottom:"bottom","bottom-end":"bottom-end"};return r[t]}getFlipPlacement(t){const r={"left-start":"right-start",left:"right","left-end":"right-end","right-start":"left-start",right:"left","right-end":"left-end","top-start":"bottom-start",top:"bottom","top-end":"bottom-end","bottom-start":"top-start",bottom:"top","bottom-end":"top-end"};return r[t]}setContainerHeight(){const t=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);const{top:r,bottom:e}=this.host.getBoundingClientRect();const n=Math.max(r,0);const i=Math.max(t-e,0);const a=16;const o=Math.max(n,i)-a;this.container.style.maxHeight=`${o}px`}get host(){return e(this)}static get watchers(){return{visible:["onVisible"]}}};xr.style=br;export{v as limel_icon,xr as limel_portal};
|
|
2
|
+
//# sourceMappingURL=p-f6929c67.entry.js.map
|