@limetech/lime-crm-building-blocks 1.113.5 → 1.115.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 +15 -0
- package/dist/cjs/{_baseIsEqual-cb7951b0.js → _baseIsEqual-f2d60d3e.js} +1 -1
- package/dist/cjs/extension-mapping-63bdafd3.js +57 -0
- package/dist/cjs/file-extension-7c2eae39.js +22 -0
- package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
- package/dist/cjs/limebb-document-chips.cjs.entry.js +407 -0
- package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
- package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
- package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
- package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
- package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
- package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
- package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
- package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +1 -1
- package/dist/cjs/limebb-lime-query-filter-builder_3.cjs.entry.js +3 -3
- package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +1 -1
- package/dist/cjs/limebb-lime-query-filter-group_3.cjs.entry.js +3 -3
- package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +1 -1
- package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
- package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +2 -55
- package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
- package/dist/cjs/limebb-locale-picker.cjs.entry.js +3 -3
- package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
- package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +25 -3
- package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/limebb-object-chip.cjs.entry.js +15 -1
- package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
- package/dist/cjs/limebb-text-editor.cjs.entry.js +1 -1
- package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/document-chips/document-chips.css +20 -0
- package/dist/collection/components/document-chips/document-chips.js +178 -0
- package/dist/collection/components/document-chips/document-chips.types.js +1 -0
- package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
- package/dist/collection/components/document-picker/document-picker.js +1 -1
- package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
- package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
- package/dist/collection/components/feed/feed.js +1 -1
- package/dist/collection/components/icon-picker/icon-picker.js +1 -1
- package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
- package/dist/collection/components/info-tile/info-tile.js +1 -1
- package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
- package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
- package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
- package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
- package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
- package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
- package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
- package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
- package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
- package/dist/collection/components/locale-picker/locale-picker.js +1 -1
- package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
- package/dist/collection/components/object-chip/object-chip.js +37 -2
- package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
- package/dist/collection/components/summary-popover/summary-popover.js +49 -3
- package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
- package/dist/collection/components/text-editor/text-editor.js +1 -1
- package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
- package/dist/collection/util/file-extension.js +18 -0
- package/dist/collection/util/file-icon-background-colors.js +98 -0
- package/dist/collection/util/file-icon-fill-colors.js +98 -0
- package/dist/collection/util/file-icon.js +18 -0
- package/dist/collection/util/file-icons.js +99 -0
- package/dist/components/_baseIsEqual.js +1 -1
- package/dist/components/document-item.js +2 -2
- package/dist/components/extension-mapping.js +55 -0
- package/dist/components/feed-item-thumbnail-file-info.js +1 -1
- package/dist/components/feed-timeline-item.js +1 -1
- package/dist/components/kanban-group.js +1 -1
- package/dist/components/kanban-item.js +1 -1
- package/dist/components/lime-query-filter-comparison.js +1 -1
- package/dist/components/lime-query-filter-expression.js +3 -3
- package/dist/components/limebb-document-chips.d.ts +11 -0
- package/dist/components/limebb-document-chips.js +437 -0
- package/dist/components/limebb-document-picker.js +1 -1
- package/dist/components/limebb-feed.js +1 -1
- package/dist/components/limebb-icon-picker.js +1 -1
- package/dist/components/limebb-info-tile-format.js +1 -1
- package/dist/components/limebb-info-tile.js +1 -1
- package/dist/components/limebb-lime-query-builder.js +1 -1
- package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
- package/dist/components/limebb-limeobject-file-viewer.js +1 -54
- package/dist/components/limebb-locale-picker.js +2 -2
- package/dist/components/limebb-mention-group-counter.js +2 -2
- package/dist/components/limebb-object-chip.js +16 -1
- package/dist/components/limebb-text-editor.js +1 -1
- package/dist/components/limebb-trend-indicator.js +1 -1
- package/dist/components/limetype-field.js +1 -1
- package/dist/components/live-docs-info.js +2 -2
- package/dist/components/notification-item.js +1 -1
- package/dist/components/order-by-editor.js +1 -1
- package/dist/components/order-by-item.js +2 -2
- package/dist/components/percentage-visualizer.js +2 -2
- package/dist/components/response-format-item.js +1 -1
- package/dist/components/summary-popover.js +45 -4
- package/dist/esm/{_baseIsEqual-28053b81.js → _baseIsEqual-077b6bb3.js} +1 -1
- package/dist/esm/extension-mapping-fcade195.js +55 -0
- package/dist/esm/file-extension-568475d1.js +20 -0
- package/dist/esm/lime-crm-building-blocks.js +1 -1
- package/dist/esm/limebb-document-chips.entry.js +403 -0
- package/dist/esm/limebb-document-item.entry.js +2 -2
- package/dist/esm/limebb-document-picker.entry.js +1 -1
- package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
- package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
- package/dist/esm/limebb-feed.entry.js +1 -1
- package/dist/esm/limebb-icon-picker.entry.js +1 -1
- package/dist/esm/limebb-info-tile-format.entry.js +1 -1
- package/dist/esm/limebb-info-tile.entry.js +1 -1
- package/dist/esm/limebb-kanban-group.entry.js +1 -1
- package/dist/esm/limebb-kanban-item.entry.js +1 -1
- package/dist/esm/limebb-lime-query-builder.entry.js +1 -1
- package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +3 -3
- package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
- package/dist/esm/limebb-lime-query-filter-group_3.entry.js +3 -3
- package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
- package/dist/esm/limebb-lime-query-response-format-builder.entry.js +1 -1
- package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
- package/dist/esm/limebb-limeobject-file-viewer.entry.js +1 -54
- package/dist/esm/limebb-live-docs-info.entry.js +2 -2
- package/dist/esm/limebb-locale-picker.entry.js +3 -3
- package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
- package/dist/esm/limebb-navigation-button_2.entry.js +25 -3
- package/dist/esm/limebb-notification-item.entry.js +1 -1
- package/dist/esm/limebb-object-chip.entry.js +15 -1
- package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
- package/dist/esm/limebb-text-editor.entry.js +1 -1
- package/dist/esm/limebb-trend-indicator.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
- package/dist/lime-crm-building-blocks/{p-0c25d565.entry.js → p-0d0f4c0f.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-711df3e6.entry.js → p-103654ac.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-35b75e49.entry.js → p-18d1ab86.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ddf0dcbc.entry.js → p-20b5ff30.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-b2e705bc.entry.js → p-22fffe85.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-83ff2b4c.entry.js → p-2ed843e9.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-14cd62c1.entry.js → p-375f40d9.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-c09dcd4c.entry.js → p-3a7b37cc.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3443a292.entry.js → p-3b3e7328.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-551ffa9f.entry.js → p-4066e17a.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-a4f367f8.entry.js → p-4dad4ce8.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-50aad872.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-9161869b.entry.js → p-53d54dc8.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-1d44c670.entry.js → p-6bd5c65f.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-6bf1ab6d.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-0536bf83.entry.js → p-7a6c1595.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-9aad6195.entry.js → p-7b5a1e83.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-df13ebba.entry.js → p-812bf26e.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-385020b4.entry.js → p-81f8e5df.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-4d9244e7.entry.js → p-94e6f0de.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-6c67ed0e.entry.js → p-9bc5caac.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-283a6f9e.entry.js → p-9c204549.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-00414464.entry.js → p-a7e55181.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-ab2a95a6.js +1 -0
- package/dist/lime-crm-building-blocks/p-b42e9740.js +1 -0
- package/dist/lime-crm-building-blocks/{p-5d0874f6.entry.js → p-d5b835a6.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-d7fc530f.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-401ccdec.entry.js → p-d9f76810.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-2395476f.entry.js → p-dddd8a43.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-ed14ca30.entry.js → p-f7122d8e.entry.js} +1 -1
- package/dist/types/components/document-chips/document-chips.d.ts +45 -0
- package/dist/types/components/document-chips/document-chips.types.d.ts +23 -0
- package/dist/types/components/object-chip/object-chip.d.ts +5 -0
- package/dist/types/components/summary-popover/summary-popover.d.ts +10 -1
- package/dist/types/components.d.ts +120 -4
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/util/file-extension.d.ts +10 -0
- package/dist/types/util/file-icon-background-colors.d.ts +3 -0
- package/dist/types/util/file-icon-fill-colors.d.ts +3 -0
- package/dist/types/util/file-icon.d.ts +9 -0
- package/dist/types/util/file-icons.d.ts +3 -0
- package/package.json +3 -3
- package/dist/lime-crm-building-blocks/p-7b9981b9.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-d2bd2fc3.entry.js +0 -1
- /package/dist/lime-crm-building-blocks/{p-a659d55a.js → p-f788a48d.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,h as o,c as t}from"./p-52cf8641.js";import{g as r}from"./p-ab2a95a6.js";import{g as i}from"./p-b42e9740.js";const a={expand:"expand",minimize:"minus_math",maximize:"minus_math",newTab:"up_right_arrow",back:"left_arrow",close:"multiply",shrink:"compress",float:"rectangle"},n=class{constructor(t){e(this,t),this.renderAsLink=()=>o("a",{class:this.getContainerClassList(),id:"tooltipId","aria-label":this.tooltipLabel&&this.tooltipHelperLabel,href:this.href,target:"newTab"===this.type?"_blank":void 0},this.renderType(),this.renderTooltip()),this.renderAsButton=()=>o("button",{class:this.getContainerClassList(),id:"tooltipId","aria-label":this.tooltipLabel&&this.tooltipHelperLabel},this.renderType(),this.renderTooltip()),this.getContainerClassList=()=>({"navigation-button":!0,[this.type]:!0})}render(){return this.href?this.renderAsLink():this.renderAsButton()}renderType(){return this.renderIcon(a[this.type])}renderTooltip(){if(this.tooltipLabel)return o("limel-tooltip",{label:this.tooltipLabel,helperLabel:this.tooltipHelperLabel,elementId:"tooltipId"})}renderIcon(e){return o("limel-icon",{name:e})}static get delegatesFocus(){return!0}};n.style='@charset "UTF-8";.navigation-button{all:unset;isolation:isolate;position:relative;display:flex;justify-content:center;align-items:center;height:1.875rem;width:1.875rem;border-radius:50%;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:var(--navigation-button-background-color, var(--lime-elevated-surface-background-color))}.navigation-button:hover,.navigation-button:focus,.navigation-button:focus-visible{will-change:color, background-color, box-shadow, transform}.navigation-button:hover,.navigation-button:focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}.navigation-button:hover{box-shadow:var(--button-shadow-hovered)}.navigation-button:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.navigation-button:hover,.navigation-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.navigation-button:focus{outline:none}.navigation-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.navigation-button limel-icon{transition:color 0.2s ease, transform 0.2s cubic-bezier(0.84, 0.15, 0.52, 1.42);color:var(--header-menu-icon-color);width:1.25rem}.newTab limel-icon{transition:transform 0.2s ease;transform:scale(0.8);z-index:3}.newTab:before{z-index:2}.newTab::after{z-index:1}.newTab:before,.newTab:after{content:"";transition:transform 0.2s ease, border-color 0.2s ease;position:absolute;width:0.875rem;height:0.875rem;outline:1.5px solid rgb(var(--contrast-900));border-radius:1px;background-color:var(--navigation-button-background-color, rgb(var(--contrast-100)))}.newTab:hover limel-icon{color:var(--mdc-theme-primary);transform:translate3d(-0.1rem, 0.1rem, 0) scale(1)}.newTab:hover:before{transform:translate3d(0.125rem, -0.125rem, 0);border-color:rgb(var(--contrast-1000));box-shadow:var(--shadow-depth-8)}.newTab:hover:after{transform:translate3d(-0.15rem, 0.15rem, 0) scale(0.9);border-color:rgb(var(--contrast-700))}.expand:after{transition:transform 0.2s ease;content:"";position:absolute;z-index:1;background-color:var(--navigation-button-background-color, rgb(var(--contrast-100)));width:0.75rem;height:0.75rem}.expand:hover limel-icon{color:var(--mdc-theme-primary)}.expand:hover:after{transform:scale(0.5)}.expand:hover limel-icon{transform:scale(1.18)}.minimize:before,.minimize:after,.maximize:before,.maximize:after{content:"";transition:transform 0.3s ease-out 0.15s, background-color 0.1s ease}.minimize limel-icon,.maximize limel-icon{transition:transform 0.2s ease 0.1s}.minimize:before,.maximize:after,.maximize:hover:before{transform:scaleY(1) scaleX(1);z-index:-1;box-sizing:border-box;position:absolute;width:70%;height:60%;border-radius:0.25rem;transform-origin:bottom}.minimize:hover:before,.maximize:before{transition:transform 0.3s ease-out 0.15s, background-color 0.1s ease;transform:scaleY(0.3) scaleX(0.7);background-color:rgb(var(--contrast-500))}.minimize:hover limel-icon,.maximize limel-icon{transform:scaleX(0.8) translate3d(0, 0.4rem, 0)}.maximize limel-icon{color:rgb(var(--contrast-900))}.maximize:hover limel-icon{color:currentColor;transform:scaleX(1.1) translate3d(0, -0.1rem, 0)}.maximize:after{z-index:-2;border:1px dashed rgb(var(--contrast-800))}.close limel-icon{transition:transform 0.2s ease, color 0.2s ease}.close:before,.close:after{transition-delay:0.1s;content:"";position:absolute;inset:0;border-radius:50%;opacity:0}.close:before{transition:transform 0.3s ease, opacity 0.3s ease;background-color:rgb(var(--color-orange-dark))}.close:after{transition:transform 0.6s ease, opacity 0.6s ease;background-color:rgb(var(--color-orange-light))}.close:hover limel-icon{color:rgb(var(--color-white));transform:scale(0.7) rotate(90deg)}.close:hover:before{opacity:1;transform:scale(0.4)}.close:hover:after{opacity:0.4;transform:scale(0.6)}.float:after{transition:width 0.2s ease-out, opacity 0.2s ease;content:"";position:absolute;inset:0 0.5rem 0 auto;border-radius:1px;opacity:0.8;transform:translate3d(0, 0, 0);background-color:rgb(var(--contrast-800));width:0.125rem;height:0.6rem;margin:auto}.float:hover:after{width:0.4rem;opacity:1;transform:translate3d(0, 0, 0)}';const s=class{constructor(o){e(this,o),this.actionSelected=t(this,"actionSelected",7),this.triggerDelay=600,this.openDirection="top",this.popoverMaxWidth="20rem",this.popoverMaxHeight="min(35rem, calc(100vh - 2rem))",this.actions=[],this.isPopoverOpen=!1,this.openPopoverWithDelay=e=>{e.stopPropagation(),clearTimeout(this.hoverTimeout),this.hoverTimeout=window.setTimeout((()=>{s.currentOpenPopover&&s.currentOpenPopover!==this&&(s.currentOpenPopover.isPopoverOpen=!1),s.currentOpenPopover=this,this.isPopoverOpen=!0}),this.triggerDelay)},this.resetTimeout=()=>{this.isPopoverOpen||clearTimeout(this.hoverTimeout)},this.onPopoverClose=e=>{e.stopPropagation(),this.isPopoverOpen=!1,s.currentOpenPopover===this&&(s.currentOpenPopover=null)},this.handleCloseClick=e=>{e.stopPropagation(),this.isPopoverOpen=!1},this.handleSelected=e=>{this.actionSelected.emit(e.detail)}}render(){return o("limel-popover",{key:"26159e81e1fd3547fe0f9b59f5edd9144778cc15",style:{"--limebb-summary-popover-timeout":`${this.triggerDelay}ms`},open:this.isPopoverOpen,onClose:this.onPopoverClose,openDirection:this.openDirection},o("div",{key:"5f6c72787f4dafebbce1428da6ba1515ecce451e",slot:"trigger",onMouseEnter:this.openPopoverWithDelay,onMouseLeave:this.resetTimeout,onFocusin:this.openPopoverWithDelay},o("slot",{key:"4a5d186f511a245d6d4c48df754add7eaf3380df",name:"trigger"}),o("div",{key:"64a9db4b3ff460b84345a60b9efccc80aa75a2cd",class:"opening-countdown-indicator"})),this.renderCard({"--navigation-button-background-color":"rgb(var(--contrast-100), 0.8)",position:"absolute",top:"0.125rem",right:"0.125rem"}))}renderCard(e){return o("limel-card",{style:{"max-width":this.popoverMaxWidth,"max-height":this.popoverMaxHeight,"min-width":"7rem","min-height":"3rem"},orientation:"landscape",heading:this.heading,subheading:this.subheading,icon:this.icon,value:this.value,image:this.image,actions:this.actions,onActionSelected:this.handleSelected},this.renderFileViewer(),o("limebb-navigation-button",{slot:"component",type:"close",style:e,tooltipLabel:"Close",tooltipHelperLabel:"Esc",onClick:this.handleCloseClick}))}renderFileViewer(){var e;if(!this.file)return;const t=i(null!==(e=this.file.filename)&&void 0!==e?e:""),a=r(t);return o("limel-file-viewer",{slot:"component",style:{flex:"1",overflow:"hidden",borderRadius:"0.5rem",minHeight:"pdf"===t?"20rem":void 0},url:this.file.href,filename:"sharepoint"===a||"unsupported"===a?void 0:this.file.filename})}};s.currentOpenPopover=null,s.style="limel-popover{--popover-border-radius:0.95rem;--popover-body-background-color:transparent;--popover-box-shadow:var(--shadow-depth-8)}div[slot=trigger]{position:relative;display:flex;align-items:center;justify-content:center}div[slot=trigger] *{min-width:0;min-height:0}.opening-countdown-indicator{position:absolute;inset:auto 0 -0.25rem 0;margin:0 auto;height:0.125rem;border-radius:1rem;transition:width ease-out, opacity ease;transition-duration:120ms;opacity:0;width:0%;background-color:var(--mdc-theme-primary)}div[slot=trigger]:not([aria-expanded=true]):hover .opening-countdown-indicator{transition-duration:var(--limebb-summary-popover-timeout);opacity:1;width:100%}";export{n as limebb_navigation_button,s as limebb_summary_popover}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,h as e,g as i}from"./p-52cf8641.js";import{c as r,a as o,f as s,Z as n,s as l,r as a}from"./p-199799ff.js";import{i as h,a as u,b as c,c as f,g as d,d as v,e as p}from"./p-5322fd19.js";import{i as g}from"./p-b31772c8.js";var b=Object.prototype.hasOwnProperty;class m{constructor(t){this.getState=t,this.contextType="info-tile"}getContext(){const{limetype:t,filterId:e,filterName:i,aggregateOperator:r,propertyName:o,value:s,label:n}=this.getState();if(!t||!e)return console.debug("InfoTileContextProvider: No limetype or filterId available"),null;const l={widgetType:"info-tile",limetype:t,filterId:e};return i&&(l.filterName=i),l.aggregateOperator=r,o&&(l.propertyName=o),void 0!==s&&(l.value=s),n&&(l.label=n),{data:l,purpose:"Shows an aggregated value from a filter. Clicking navigates to the explorer with that filter applied."}}}class w{constructor(t,e=[]){this.platform=t,this.filters=e}async load(t,e){let i;return i=this.isObjectIdentifier(e)?await this.loadLimeObjectInfoTile(t,e):await this.loadBasicInfoTile(t),i}async loadBasicInfoTile(t){const e=this.getFilter(t.filter);if(!e)throw new Error(`Filter "${t.filter}" not found`);return(await this.query.execute({limetype:e.limetype,responseFormat:{aggregates:{infotiles:{value:{op:t.operator,key:t.name}}}},filter:e.filter})).aggregates.infotiles[0].value}async loadLimeObjectInfoTile(t,e){await this.objectRepository.loadObject(e.limetype,e.id,{properties:[t]});const i=this.objectRepository.getObject(e.limetype,e.id);return null==i?void 0:i.getValue([t.name,t.key].join("."))}isObjectIdentifier(t){return Boolean((null==t?void 0:t.limetype)&&(null==t?void 0:t.id))}getFilter(t){return this.filters.find((e=>e.id===t))}get query(){return this.platform.get(r.Query)}get objectRepository(){return this.platform.get(r.LimeObjectRepository)}}class y{constructor(t){this.locale=t}format(t){let e=String(t);return"number"==typeof t?e=new Intl.NumberFormat(this.locale).format(t):new Date(t).getTime()&&(e=new Intl.DateTimeFormat(this.locale).format(new Date(t))),{value:e}}}class j{constructor(t){this.locale=t}format(t,e){const i=new Date(t);return{prefix:this.formatAffix("prefix",i,e),value:this.formatValue(i,e),suffix:this.formatAffix("suffix",i,e)}}formatValue(t,e){const i=Object.assign({},e.options);if(e.prefix)for(const t of e.prefix)delete i[t];if(e.suffix)for(const t of e.suffix)delete i[t];return new Intl.DateTimeFormat(this.locale,i).format(t)}formatAffix(t,e,i){const r=Object.assign({},i.options);for(const e of Object.keys(r))"hour12"!==e&&((i[t]||[]).includes(e)||delete r[e]);if(0!==Object.values(r).filter(Boolean).length)return new Intl.DateTimeFormat(this.locale,r).format(e)}}class O{constructor(t){this.locale=t}format(t,e){var i,r;const o=new Intl.NumberFormat(this.locale,e.options),s=o.formatToParts(t);let n="",l="",a="";for(const t of s)(null===(i=e.prefix)||void 0===i?void 0:i.includes(t.type))?n+=t.value:(null===(r=e.suffix)||void 0===r?void 0:r.includes(t.type))?a+=t.value:l+=t.value;return l||(l=o.format(t),n="",a=""),{prefix:n,value:l,suffix:a}}}class x{constructor(t){this.locale=t}format(t,e){const i=new Intl.RelativeTimeFormat(this.locale,e.options),{value:r,unit:o}=this.getRelativeTime(t),s=i.formatToParts(r,o);let n="",l="",a="";for(const t of s)"literal"!==t.type||l?"literal"===t.type&&l?a+=t.value:l+=t.value:n+=t.value;return l||(l=n||a,n="",a=""),{prefix:n,value:l,suffix:a}}getRelativeTime(t){const e=new Date(t),i=new Date,r=e.getTime()-i.getTime(),o=[{unit:"year",value:31536e6},{unit:"month",value:2592e6},{unit:"week",value:6048e5},{unit:"day",value:864e5},{unit:"hour",value:36e5},{unit:"minute",value:6e4},{unit:"second",value:1e3}];for(const t of o){const e=r/t.value;if(Math.abs(e)>=1)return{value:Math.round(e),unit:t.unit}}return{value:0,unit:"second"}}}class I{constructor(t){this.locale=t}createFormatter(t,e){return"number"===(null==t?void 0:t.type)&&"number"==typeof e?new O(this.locale):"date"===(null==t?void 0:t.type)&&"string"==typeof e?new j(this.locale):"relative-date"===(null==t?void 0:t.type)&&"string"==typeof e?new x(this.locale):new y(this.locale)}}var k=function(t,e,i,r){var o,s=arguments.length,n=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,r);else for(var l=t.length-1;l>=0;l--)(o=t[l])&&(n=(s<3?o(n):s>3?o(e,i,n):o(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n};const F=class{constructor(e){t(this,e),this.aggregateOperator=l.Count,this.loading=!1,this.error=!1}connectedCallback(){this.registerContextProvider()}disconnectedCallback(){var t;null===(t=this.unregisterContextProvider)||void 0===t||t.call(this)}componentWillLoad(){this.loadInfoTileValue()}watchFilterId(){this.loadInfoTileValue()}watchPropertyName(){this.loadInfoTileValue()}watchAggregateOperator(){this.loadInfoTileValue()}async loadInfoTileValue(){if(this.loading=!0,this.error=!1,this.getFilter()){try{const t={key:this.getKey(),name:this.propertyName,operator:this.aggregateOperator,filter:this.filterId};this.value=await this.loader.load(t,this.context)}catch(t){console.error(t),this.error=!0}this.loading=!1}else this.error=!0}getKey(){return Math.random().toString(36).slice(2)}render(){var t,i;const r=this.getFilter(),o=this.getFormattedValue(),s={disabled:this.disabled,icon:this.icon,prefix:(null===(t=null==o?void 0:o.prefix)||void 0===t?void 0:t.trim())||this.prefix,suffix:(null===(i=null==o?void 0:o.suffix)||void 0===i?void 0:i.trim())||this.suffix},n=Object.assign(Object.assign({},s),{icon:"error",prefix:"ERROR",loading:!0,label:this.getLabel(r)}),l=Object.assign(Object.assign({},s),{label:this.getLabel(r),link:this.getLink(r),loading:this.loading,value:null==o?void 0:o.value.trim()});return e("limel-info-tile",Object.assign({key:"
|
|
1
|
+
import{r as t,h as e,g as i}from"./p-52cf8641.js";import{c as r,a as o,f as s,Z as n,s as l,r as a}from"./p-199799ff.js";import{i as h,a as u,b as c,c as f,g as d,d as v,e as p}from"./p-5322fd19.js";import{i as g}from"./p-b31772c8.js";var b=Object.prototype.hasOwnProperty;class m{constructor(t){this.getState=t,this.contextType="info-tile"}getContext(){const{limetype:t,filterId:e,filterName:i,aggregateOperator:r,propertyName:o,value:s,label:n}=this.getState();if(!t||!e)return console.debug("InfoTileContextProvider: No limetype or filterId available"),null;const l={widgetType:"info-tile",limetype:t,filterId:e};return i&&(l.filterName=i),l.aggregateOperator=r,o&&(l.propertyName=o),void 0!==s&&(l.value=s),n&&(l.label=n),{data:l,purpose:"Shows an aggregated value from a filter. Clicking navigates to the explorer with that filter applied."}}}class w{constructor(t,e=[]){this.platform=t,this.filters=e}async load(t,e){let i;return i=this.isObjectIdentifier(e)?await this.loadLimeObjectInfoTile(t,e):await this.loadBasicInfoTile(t),i}async loadBasicInfoTile(t){const e=this.getFilter(t.filter);if(!e)throw new Error(`Filter "${t.filter}" not found`);return(await this.query.execute({limetype:e.limetype,responseFormat:{aggregates:{infotiles:{value:{op:t.operator,key:t.name}}}},filter:e.filter})).aggregates.infotiles[0].value}async loadLimeObjectInfoTile(t,e){await this.objectRepository.loadObject(e.limetype,e.id,{properties:[t]});const i=this.objectRepository.getObject(e.limetype,e.id);return null==i?void 0:i.getValue([t.name,t.key].join("."))}isObjectIdentifier(t){return Boolean((null==t?void 0:t.limetype)&&(null==t?void 0:t.id))}getFilter(t){return this.filters.find((e=>e.id===t))}get query(){return this.platform.get(r.Query)}get objectRepository(){return this.platform.get(r.LimeObjectRepository)}}class y{constructor(t){this.locale=t}format(t){let e=String(t);return"number"==typeof t?e=new Intl.NumberFormat(this.locale).format(t):new Date(t).getTime()&&(e=new Intl.DateTimeFormat(this.locale).format(new Date(t))),{value:e}}}class j{constructor(t){this.locale=t}format(t,e){const i=new Date(t);return{prefix:this.formatAffix("prefix",i,e),value:this.formatValue(i,e),suffix:this.formatAffix("suffix",i,e)}}formatValue(t,e){const i=Object.assign({},e.options);if(e.prefix)for(const t of e.prefix)delete i[t];if(e.suffix)for(const t of e.suffix)delete i[t];return new Intl.DateTimeFormat(this.locale,i).format(t)}formatAffix(t,e,i){const r=Object.assign({},i.options);for(const e of Object.keys(r))"hour12"!==e&&((i[t]||[]).includes(e)||delete r[e]);if(0!==Object.values(r).filter(Boolean).length)return new Intl.DateTimeFormat(this.locale,r).format(e)}}class O{constructor(t){this.locale=t}format(t,e){var i,r;const o=new Intl.NumberFormat(this.locale,e.options),s=o.formatToParts(t);let n="",l="",a="";for(const t of s)(null===(i=e.prefix)||void 0===i?void 0:i.includes(t.type))?n+=t.value:(null===(r=e.suffix)||void 0===r?void 0:r.includes(t.type))?a+=t.value:l+=t.value;return l||(l=o.format(t),n="",a=""),{prefix:n,value:l,suffix:a}}}class x{constructor(t){this.locale=t}format(t,e){const i=new Intl.RelativeTimeFormat(this.locale,e.options),{value:r,unit:o}=this.getRelativeTime(t),s=i.formatToParts(r,o);let n="",l="",a="";for(const t of s)"literal"!==t.type||l?"literal"===t.type&&l?a+=t.value:l+=t.value:n+=t.value;return l||(l=n||a,n="",a=""),{prefix:n,value:l,suffix:a}}getRelativeTime(t){const e=new Date(t),i=new Date,r=e.getTime()-i.getTime(),o=[{unit:"year",value:31536e6},{unit:"month",value:2592e6},{unit:"week",value:6048e5},{unit:"day",value:864e5},{unit:"hour",value:36e5},{unit:"minute",value:6e4},{unit:"second",value:1e3}];for(const t of o){const e=r/t.value;if(Math.abs(e)>=1)return{value:Math.round(e),unit:t.unit}}return{value:0,unit:"second"}}}class I{constructor(t){this.locale=t}createFormatter(t,e){return"number"===(null==t?void 0:t.type)&&"number"==typeof e?new O(this.locale):"date"===(null==t?void 0:t.type)&&"string"==typeof e?new j(this.locale):"relative-date"===(null==t?void 0:t.type)&&"string"==typeof e?new x(this.locale):new y(this.locale)}}var k=function(t,e,i,r){var o,s=arguments.length,n=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,r);else for(var l=t.length-1;l>=0;l--)(o=t[l])&&(n=(s<3?o(n):s>3?o(e,i,n):o(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n};const F=class{constructor(e){t(this,e),this.aggregateOperator=l.Count,this.loading=!1,this.error=!1}connectedCallback(){this.registerContextProvider()}disconnectedCallback(){var t;null===(t=this.unregisterContextProvider)||void 0===t||t.call(this)}componentWillLoad(){this.loadInfoTileValue()}watchFilterId(){this.loadInfoTileValue()}watchPropertyName(){this.loadInfoTileValue()}watchAggregateOperator(){this.loadInfoTileValue()}async loadInfoTileValue(){if(this.loading=!0,this.error=!1,this.getFilter()){try{const t={key:this.getKey(),name:this.propertyName,operator:this.aggregateOperator,filter:this.filterId};this.value=await this.loader.load(t,this.context)}catch(t){console.error(t),this.error=!0}this.loading=!1}else this.error=!0}getKey(){return Math.random().toString(36).slice(2)}render(){var t,i;const r=this.getFilter(),o=this.getFormattedValue(),s={disabled:this.disabled,icon:this.icon,prefix:(null===(t=null==o?void 0:o.prefix)||void 0===t?void 0:t.trim())||this.prefix,suffix:(null===(i=null==o?void 0:o.suffix)||void 0===i?void 0:i.trim())||this.suffix},n=Object.assign(Object.assign({},s),{icon:"error",prefix:"ERROR",loading:!0,label:this.getLabel(r)}),l=Object.assign(Object.assign({},s),{label:this.getLabel(r),link:this.getLink(r),loading:this.loading,value:null==o?void 0:o.value.trim()});return e("limel-info-tile",Object.assign({key:"1211ee931d2cf7a5a3c13896515812ddbcab29f2",class:{error:!r||this.error}},!r||this.error?n:l))}getFormattedValue(){if(!this.value&&0!==this.value)return{value:""};try{return this.getFormatter(this.value).format(this.value,this.format)}catch(t){return new y(this.language).format(this.value)}}getLabel(t){return t?"string"==typeof this.label?this.translator.get(this.label):this.getLocalizedString(this.label&&"object"==typeof this.label?this.label:t.name):"No filter set is selected"}getLocalizedString(t){if(function(t){if(null==t)return!0;if(h(t)&&(g(t)||"string"==typeof t||"function"==typeof t.splice||u(t)||c(t)||f(t)))return!t.length;var e=d(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(v(t))return!p(t).length;for(var i in t)if(b.call(t,i))return!1;return!0}(t))return"";let e=t[this.language];return e||(e=t.en||t.en_us||Object.values(null!=e?e:{}).find((t=>!!t))),null!=e?e:""}getLink(t){if(!t)return{href:"#"};const e=["explorer",t.limetype,t.id].join("/"),i=this.getRelationPropertyName(this.limetypes[t.limetype]),r=this.buildContextAwareFilter(t.filter,i);return r?{href:`${e}?filter=${encodeURIComponent(JSON.stringify(r))}`}:{href:e}}buildContextAwareFilter(t,e){if(!e)return t;const i={key:e,op:a.EQUALS,exp:this.context.id};return t?{op:a.AND,exp:[i,t]}:{relationFilter:i}}getFilter(){var t;return null===(t=this.filters)||void 0===t?void 0:t.find((t=>t.id===this.filterId))}getFormatter(t){return new I(this.language).createFormatter(this.format,t)}getRelationPropertyName(t){var e,i,r;if(t&&this.context.limetype&&this.context.id){if(this.propertyName){const t=this.limetypes[this.context.limetype],r=null===(i=null===(e=null==t?void 0:t.getProperty(this.propertyName))||void 0===e?void 0:e.relation)||void 0===i?void 0:i.getBackreference();if(r)return r.name}return null===(r=Object.values(t.properties).find((t=>{var e;return(null===(e=t.relation)||void 0===e?void 0:e.getLimetype().name)===this.context.limetype})))||void 0===r?void 0:r.name}}get translator(){return this.platform.get(r.Translate)}get language(){return this.platform.get(r.Application).getLanguage()}get loader(){return new w(this.platform,this.filters)}registerContextProvider(){const t=this.platform.get(r.AIContextRegistry);if(!(null==t?void 0:t.register))return;const e=new m((()=>{const t=this.getFilter();return{limetype:null==t?void 0:t.limetype,filterId:this.filterId,filterName:t?this.getLocalizedString(t.name):void 0,aggregateOperator:this.aggregateOperator,propertyName:this.propertyName,value:this.value,label:this.getLabel(t)}}));this.unregisterContextProvider=t.register(e,this.host)}get host(){return i(this)}static get watchers(){return{filterId:["watchFilterId"],propertyName:["watchPropertyName"],aggregateOperator:["watchAggregateOperator"]}}};k([o({})],F.prototype,"config",void 0),k([s()],F.prototype,"filters",void 0),k([n()],F.prototype,"limetypes",void 0),F.style=":host(limebb-info-tile){display:block;overflow:visible !important;background-color:transparent !important}limel-info-tile.error{--info-tile-icon-color:rgb(var(--color-red-dark));border:1px dashed rgb(var(--contrast-500));border-radius:var(--info-tile-border-radius, 1rem)}";export{F as limebb_info_tile}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,c as t,h as i}from"./p-52cf8641.js";import{Z as o}from"./p-199799ff.js";import{v as r}from"./p-d47b6c3c.js";import"./p-b02c99d5.js";function s(e){let t;try{t=JSON.parse(e)}catch(e){throw new Error(`Invalid JSON: ${e.message}`)}if(null===t||"object"!=typeof t)throw new Error("Response format must be an object");const i=new Set(["object","aggregates"]),o=Object.keys(t),r=o.filter((e=>!i.has(e)));if(r.length>0)throw new Error(`Unexpected properties in response format: ${r.join(", ")}. Only 'object' and 'aggregates' are allowed.`);if(o.length>0&&!t.object&&!t.aggregates)throw new Error("Response format must contain at least one of: object, aggregates");return t}const l=class{constructor(i){e(this,i),this.change=t(this,"change",7),this.label="Response Format",this.helperText="",this.mode="visual",this.codeValue="",this.handleModeChange=e=>{e.stopPropagation();const t=e.detail.id;"visual"===t?this.switchToVisualMode():"code"===t&&this.switchToCode()},this.switchToVisualMode=()=>{try{const e=s(this.codeValue);if(!r(e,this.limetypes,this.limetype,this.visualModeEnabled).visualModeSupported)return;this.internalValue=e,this.mode="visual",this.change.emit(e)}catch(e){}},this.switchToCode=()=>{this.updateCodeValue(),this.mode="code"},this.handleCodeChange=e=>{e.stopPropagation(),this.codeValue=e.detail;try{const e=s(this.codeValue);this.internalValue=e,this.change.emit(e)}catch(e){}},this.handleVisualModeChange=e=>{e.stopPropagation(),this.internalValue=e.detail,this.updateCodeValue(),this.change.emit(e.detail)}}get visualModeEnabled(){var e,t,i;return null!==(i=null===(t=null===(e=this.platform)||void 0===e?void 0:e.isFeatureEnabled)||void 0===t?void 0:t.call(e,"useLimeQueryBuilderGuiMode"))&&void 0!==i&&i}componentWillLoad(){this.internalValue=this.value||{object:{_id:null}},this.updateCodeValue(),this.visualModeEnabled&&this.checkVisualModeSupport().visualModeSupported||(this.mode="code")}componentWillUpdate(){this.value&&"visual"===this.mode&&(this.internalValue=this.value)}render(){const e=this.checkVisualModeSupport();return i("div",{key:"
|
|
1
|
+
import{r as e,c as t,h as i}from"./p-52cf8641.js";import{Z as o}from"./p-199799ff.js";import{v as r}from"./p-d47b6c3c.js";import"./p-b02c99d5.js";function s(e){let t;try{t=JSON.parse(e)}catch(e){throw new Error(`Invalid JSON: ${e.message}`)}if(null===t||"object"!=typeof t)throw new Error("Response format must be an object");const i=new Set(["object","aggregates"]),o=Object.keys(t),r=o.filter((e=>!i.has(e)));if(r.length>0)throw new Error(`Unexpected properties in response format: ${r.join(", ")}. Only 'object' and 'aggregates' are allowed.`);if(o.length>0&&!t.object&&!t.aggregates)throw new Error("Response format must contain at least one of: object, aggregates");return t}const l=class{constructor(i){e(this,i),this.change=t(this,"change",7),this.label="Response Format",this.helperText="",this.mode="visual",this.codeValue="",this.handleModeChange=e=>{e.stopPropagation();const t=e.detail.id;"visual"===t?this.switchToVisualMode():"code"===t&&this.switchToCode()},this.switchToVisualMode=()=>{try{const e=s(this.codeValue);if(!r(e,this.limetypes,this.limetype,this.visualModeEnabled).visualModeSupported)return;this.internalValue=e,this.mode="visual",this.change.emit(e)}catch(e){}},this.switchToCode=()=>{this.updateCodeValue(),this.mode="code"},this.handleCodeChange=e=>{e.stopPropagation(),this.codeValue=e.detail;try{const e=s(this.codeValue);this.internalValue=e,this.change.emit(e)}catch(e){}},this.handleVisualModeChange=e=>{e.stopPropagation(),this.internalValue=e.detail,this.updateCodeValue(),this.change.emit(e.detail)}}get visualModeEnabled(){var e,t,i;return null!==(i=null===(t=null===(e=this.platform)||void 0===e?void 0:e.isFeatureEnabled)||void 0===t?void 0:t.call(e,"useLimeQueryBuilderGuiMode"))&&void 0!==i&&i}componentWillLoad(){this.internalValue=this.value||{object:{_id:null}},this.updateCodeValue(),this.visualModeEnabled&&this.checkVisualModeSupport().visualModeSupported||(this.mode="code")}componentWillUpdate(){this.value&&"visual"===this.mode&&(this.internalValue=this.value)}render(){const e=this.checkVisualModeSupport();return i("div",{key:"7f4adae0e3f4d14194fc558600db983f45fe760a",class:"response-format-builder"},this.label&&i("h1",{key:"eeb78bdccf2f8e344de742618b72a7bb341e5bf5",class:"builder-label"},this.label),this.helperText&&i("p",{key:"03ff96e0645d03377b28c048f02d868046f17903",class:"builder-helper-text"},this.helperText),this.visualModeEnabled&&i("div",{key:"65ca3551326e0ec4deff00aff4a19aec2fee9702",class:"mode-controls"},this.renderModeSwitch(e)),this.visualModeEnabled&&"code"!==this.mode?i("div",{class:"visual-mode"},this.renderVisualMode()):i("div",{class:"code-mode"},this.renderCodeEditor(e)))}renderModeSwitch(e){const t=!e.visualModeSupported,o=[{id:"visual",title:"Visual"},{id:"code",title:"Code"}].map((e=>Object.assign(Object.assign({},e),{selected:e.id===this.mode})));return i("limel-button-group",{value:o,disabled:t,onChange:this.handleModeChange})}renderCodeEditor(e){return i("div",{class:"code-editor-container"},i("limel-code-editor",{value:this.codeValue,language:"json",lineNumbers:!0,fold:!0,lint:!0,onChange:this.handleCodeChange}),!e.valid&&e.validationErrors.length>0&&i("div",{class:"validation-errors"},i("strong",null,"Invalid Response Format:"),i("ul",null,e.validationErrors.map((e=>i("li",null,e))))),this.visualModeEnabled&&e.valid&&!e.visualModeSupported&&e.visualModeLimitations.length>0&&i("div",{class:"visual-mode-limitations"},i("strong",null,"Cannot switch to visual mode:"),i("ul",null,e.visualModeLimitations.map((e=>i("li",null,e))))))}renderVisualMode(){return i("limebb-lime-query-response-format-editor",{platform:this.platform,context:this.context,limetype:this.limetype,value:this.internalValue,onChange:this.handleVisualModeChange})}checkVisualModeSupport(){if(!this.limetypes)return{valid:!1,visualModeSupported:!1,validationErrors:["Limetypes not loaded"],visualModeLimitations:[]};let e;if("code"===this.mode)try{e=s(this.codeValue)}catch(e){return{valid:!1,visualModeSupported:!1,validationErrors:[e.message],visualModeLimitations:[]}}else e=this.internalValue;return r(e,this.limetypes,this.limetype,this.visualModeEnabled)}updateCodeValue(){this.codeValue=JSON.stringify(this.internalValue,null,2)}};(function(e,t,i,o){var r,s=arguments.length,l=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(l=(s<3?r(l):s>3?r(t,i,l):r(t,i))||l);s>3&&l&&Object.defineProperty(t,i,l)})([o()],l.prototype,"limetypes",void 0),l.style=":host(limebb-lime-query-response-format-builder){display:block;width:100%}.response-format-builder{display:flex;flex-direction:column}.builder-label{color:rgb(var(--contrast-1100));font-size:1.625rem;line-height:1.25rem;font-weight:300;margin-top:1rem;margin-bottom:0.25rem}.builder-helper-text{margin-top:0px;margin-bottom:0.5rem;font-size:var(--limel-theme-default-font-size);color:rgb(var(--contrast-1100))}.mode-controls{display:flex;justify-content:flex-end;padding:0.5rem}.visual-mode,.code-mode{display:block}.code-editor-container{--code-editor-max-height:70vh;display:flex;flex-direction:column;gap:1rem}.code-editor-container .validation-errors{padding:0.75rem 1rem;color:rgb(var(--color-red-default));background-color:rgb(var(--color-red-lighter));border-left:0.25rem solid rgb(var(--color-red-default));border-radius:0.25rem;font-size:0.875rem}.code-editor-container .validation-errors strong{display:block;margin-bottom:0.5rem;font-weight:600}.code-editor-container .validation-errors ul{margin:0;padding-left:1.5rem}.code-editor-container .validation-errors li{margin:0.25rem 0}.code-editor-container .visual-mode-limitations{padding:0.75rem 1rem;color:rgb(var(--color-blue-dark));background-color:rgb(var(--color-blue-lighter));border-left:0.25rem solid rgb(var(--color-blue-default));border-radius:0.25rem;font-size:0.875rem}.code-editor-container .visual-mode-limitations strong{display:block;margin-bottom:0.5rem;font-weight:600}.code-editor-container .visual-mode-limitations ul{margin:0;padding-left:1.5rem}.code-editor-container .visual-mode-limitations li{margin:0.25rem 0}";export{l as limebb_lime_query_response_format_builder}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,g as i,h as s}from"./p-52cf8641.js";import{g as e}from"./p-0a266c26.js";import{f as h}from"./p-4a85590d.js";import{D as o,c as a}from"./p-199799ff.js";const r=o("object-resolver");class l{constructor(t){this.onStateChange=t,this.state={loadFailed:!1},this.hasPendingLoad=!1,this.isDisconnected=!1}get resolvedPlatform(){return this._platform}connect(t,i,s,e){this.limetype=t,this.objectid=i,this.isDisconnected=!1,this.hasPendingLoad=!1,this._platform=e||this.findPlatform(s),this._platform?(this.resolveLimeType(),this.loadLimeObject()):r.error(`No platform found. Pass "platform" prop or place the component inside a parent that exposes "platform". limetype=${t}, objectid=${i}`)}update(t,i){this.limetype=t,this.objectid=i,this.updateState({limeobject:void 0,limetypeData:void 0,loadFailed:!1}),this.hasPendingLoad||(this.hasPendingLoad=!0,queueMicrotask((()=>{if(this.hasPendingLoad=!1,!this.isDisconnected){if(!this._platform)return this.updateState({loadFailed:!0}),void r.warn(`Cannot update: no platform available. limetype=${this.limetype}, objectid=${this.objectid}`);this.resolveLimeType(),this.loadLimeObject()}})))}disconnect(){this.isDisconnected=!0}findPlatform(t){const i=h(t,this.hasPlatformProp);return null==i?void 0:i.platform}hasPlatformProp(t){return"platform"in t&&!!t.platform&&"object"==typeof t.platform}resolveLimeType(){const t=this._platform.get(a.LimeTypeRepository);this.updateState({limetypeData:t.getLimeType(this.limetype)})}async loadLimeObject(){const t=this.limetype,i=this.objectid,s=this._platform.get(a.LimeObjectRepository),e=s.getObject(t,i);if(e)this.updateState({limeobject:e});else{try{await s.loadObject(t,i)}catch(s){if(this.isStale(t,i))return;return this.updateState({loadFailed:!0}),void r.error(`Failed to load ${t}/${i}`,s)}this.isStale(t,i)||this.updateState({limeobject:s.getObject(t,i)})}}isStale(t,i){return this.isDisconnected||this.limetype!==t||this.objectid!==i}updateState(t){this.state=Object.assign(Object.assign({},this.state),t),this.isDisconnected||this.onStateChange(this.state)}}const n=class{constructor(i){t(this,i),this.data={loadFailed:!1},this.resolver=new l((t=>{this.data=t}))}connectedCallback(){this.resolver.connect(this.limetype,this.objectid,i(this),this.platform)}disconnectedCallback(){this.resolver.disconnect()}handlePropChange(){this.resolver.update(this.limetype,this.objectid)}render(){if(!this.resolver.resolvedPlatform)return;const t=e(this.data.limetypeData);return s("limel-chip",{text:this.getChipText(),icon:t,link:{href:(i=this.limetype,h=this.objectid,`object/${i}/${h}`)},loading:!this.data.limeobject&&!this.data.loadFailed});var i,h}getChipText(){var t;return(null===(t=this.data.limeobject)||void 0===t?void 0:t.descriptive)?this.data.limeobject.descriptive:this.data.loadFailed?this.getErrorText():""}getErrorText(){if(!this.resolver.resolvedPlatform)return"loading failed";try{return this.resolver.resolvedPlatform.get(a.Translate).get("webclient.limeobject.errors.load-failed")}catch(t){return"loading failed"}}static get watchers(){return{limetype:["handlePropChange"],objectid:["handlePropChange"]}}};n.style=":host{display:inline-block;vertical-align:baseline}";export{n as limebb_object_chip}
|
|
1
|
+
import{r as t,g as i,h as s}from"./p-52cf8641.js";import{g as e}from"./p-0a266c26.js";import{f as h}from"./p-4a85590d.js";import{D as o,c as a}from"./p-199799ff.js";const r=o("object-resolver");class l{constructor(t){this.onStateChange=t,this.state={loadFailed:!1},this.hasPendingLoad=!1,this.isDisconnected=!1}get resolvedPlatform(){return this._platform}connect(t,i,s,e){this.limetype=t,this.objectid=i,this.isDisconnected=!1,this.hasPendingLoad=!1,this._platform=e||this.findPlatform(s),this._platform?(this.resolveLimeType(),this.loadLimeObject()):r.error(`No platform found. Pass "platform" prop or place the component inside a parent that exposes "platform". limetype=${t}, objectid=${i}`)}update(t,i){this.limetype=t,this.objectid=i,this.updateState({limeobject:void 0,limetypeData:void 0,loadFailed:!1}),this.hasPendingLoad||(this.hasPendingLoad=!0,queueMicrotask((()=>{if(this.hasPendingLoad=!1,!this.isDisconnected){if(!this._platform)return this.updateState({loadFailed:!0}),void r.warn(`Cannot update: no platform available. limetype=${this.limetype}, objectid=${this.objectid}`);this.resolveLimeType(),this.loadLimeObject()}})))}disconnect(){this.isDisconnected=!0}findPlatform(t){const i=h(t,this.hasPlatformProp);return null==i?void 0:i.platform}hasPlatformProp(t){return"platform"in t&&!!t.platform&&"object"==typeof t.platform}resolveLimeType(){const t=this._platform.get(a.LimeTypeRepository);this.updateState({limetypeData:t.getLimeType(this.limetype)})}async loadLimeObject(){const t=this.limetype,i=this.objectid,s=this._platform.get(a.LimeObjectRepository),e=s.getObject(t,i);if(e)this.updateState({limeobject:e});else{try{await s.loadObject(t,i)}catch(s){if(this.isStale(t,i))return;return this.updateState({loadFailed:!0}),void r.error(`Failed to load ${t}/${i}`,s)}this.isStale(t,i)||this.updateState({limeobject:s.getObject(t,i)})}}isStale(t,i){return this.isDisconnected||this.limetype!==t||this.objectid!==i}updateState(t){this.state=Object.assign(Object.assign({},this.state),t),this.isDisconnected||this.onStateChange(this.state)}}const n=class{constructor(i){t(this,i),this.size="default",this.data={loadFailed:!1},this.resolver=new l((t=>{this.data=t}))}connectedCallback(){this.resolver.connect(this.limetype,this.objectid,i(this),this.platform)}disconnectedCallback(){this.resolver.disconnect()}handlePropChange(){this.resolver.update(this.limetype,this.objectid)}render(){if(!this.resolver.resolvedPlatform)return;const t=e(this.data.limetypeData);return s("limel-chip",{text:this.getChipText(),icon:t,size:this.size,link:{href:(i=this.limetype,h=this.objectid,`object/${i}/${h}`)},loading:!this.data.limeobject&&!this.data.loadFailed});var i,h}getChipText(){var t;return(null===(t=this.data.limeobject)||void 0===t?void 0:t.descriptive)?this.data.limeobject.descriptive:this.data.loadFailed?this.getErrorText():""}getErrorText(){if(!this.resolver.resolvedPlatform)return"loading failed";try{return this.resolver.resolvedPlatform.get(a.Translate).get("webclient.limeobject.errors.load-failed")}catch(t){return"loading failed"}}static get watchers(){return{limetype:["handlePropChange"],objectid:["handlePropChange"]}}};n.style=":host{display:inline-block;vertical-align:baseline}";export{n as limebb_object_chip}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { DocumentChipFile } from './document-chips.types';
|
|
3
|
+
/**
|
|
4
|
+
* Renders a list of document chips, each wrapped in a
|
|
5
|
+
* `limebb-summary-popover` that shows a file preview on hover or
|
|
6
|
+
* keyboard focus.
|
|
7
|
+
*
|
|
8
|
+
* Supports browser-previewable files (images, PDFs, video, audio, text).
|
|
9
|
+
* Office file types show a fallback message instead of an unsupported preview.
|
|
10
|
+
*
|
|
11
|
+
* The component manages blob URL creation for local files internally
|
|
12
|
+
* and cleans them up when files are removed or the component is destroyed.
|
|
13
|
+
*
|
|
14
|
+
* @exampleComponent limebb-example-document-chips-basic
|
|
15
|
+
* @exampleComponent limebb-example-document-chips-upload-states
|
|
16
|
+
*
|
|
17
|
+
* @beta
|
|
18
|
+
*/
|
|
19
|
+
export declare class DocumentChips {
|
|
20
|
+
/**
|
|
21
|
+
* A label used to describe the purpose of the list to users
|
|
22
|
+
* of assistive technologies, like screen readers.
|
|
23
|
+
*/
|
|
24
|
+
accessibleLabel?: string;
|
|
25
|
+
/**
|
|
26
|
+
* The list of files to display as document chips.
|
|
27
|
+
*/
|
|
28
|
+
files: DocumentChipFile[];
|
|
29
|
+
/**
|
|
30
|
+
* Fired when a document chip's remove button is clicked.
|
|
31
|
+
* The event detail contains the file's `id`.
|
|
32
|
+
*/
|
|
33
|
+
removeFile: EventEmitter<string | number>;
|
|
34
|
+
private blobUrls;
|
|
35
|
+
protected onFilesChanged(newFiles: DocumentChipFile[], oldFiles: DocumentChipFile[]): void;
|
|
36
|
+
disconnectedCallback(): void;
|
|
37
|
+
render(): any;
|
|
38
|
+
private renderFile;
|
|
39
|
+
private getIcon;
|
|
40
|
+
private getPreviewUrl;
|
|
41
|
+
private handleRemove;
|
|
42
|
+
private revokeBlobUrl;
|
|
43
|
+
private revokeAllBlobUrls;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=document-chips.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { FileInfo } from '@limetech/lime-elements';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a document in a document chips list, extending the base
|
|
4
|
+
* `FileInfo` with upload state tracking.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface DocumentChipFile extends FileInfo {
|
|
9
|
+
/**
|
|
10
|
+
* Upload progress as a percentage (0–100).
|
|
11
|
+
*/
|
|
12
|
+
uploadProgress?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Current state of the file in the upload lifecycle.
|
|
15
|
+
*
|
|
16
|
+
* - `added`: file selected, upload not yet started
|
|
17
|
+
* - `uploading`: upload in progress, `uploadProgress` is active
|
|
18
|
+
* - `finalizing`: server-side processing after upload
|
|
19
|
+
* - `done`: upload complete
|
|
20
|
+
*/
|
|
21
|
+
uploadState?: 'added' | 'uploading' | 'finalizing' | 'done' | 'failed';
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=document-chips.types.d.ts.map
|
|
@@ -13,6 +13,7 @@ import { LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
|
13
13
|
*
|
|
14
14
|
* @exampleComponent limebb-example-object-chip
|
|
15
15
|
* @exampleComponent limebb-example-object-chip-icon-and-color-fallbacks
|
|
16
|
+
* @exampleComponent limebb-example-object-chip-size
|
|
16
17
|
* @beta
|
|
17
18
|
*/
|
|
18
19
|
export declare class ObjectChip {
|
|
@@ -34,6 +35,10 @@ export declare class ObjectChip {
|
|
|
34
35
|
* the platform after the component has connected is not supported.
|
|
35
36
|
* :::
|
|
36
37
|
*/
|
|
38
|
+
/**
|
|
39
|
+
* Defines the size of the chip.
|
|
40
|
+
*/
|
|
41
|
+
size: 'small' | 'default';
|
|
37
42
|
platform?: LimeWebComponentPlatform;
|
|
38
43
|
private data;
|
|
39
44
|
private resolver;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
-
import { Image, Icon, OpenDirection, ListSeparator, ActionBarItem } from '@limetech/lime-elements';
|
|
2
|
+
import { Image, Icon, FileInfo, OpenDirection, ListSeparator, ActionBarItem } from '@limetech/lime-elements';
|
|
3
3
|
/**
|
|
4
4
|
* This component uses
|
|
5
5
|
* [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
|
|
@@ -57,6 +57,7 @@ import { Image, Icon, OpenDirection, ListSeparator, ActionBarItem } from '@limet
|
|
|
57
57
|
*
|
|
58
58
|
* @exampleComponent limebb-example-summary-popover-basic
|
|
59
59
|
* @exampleComponent limebb-example-summary-popover-image
|
|
60
|
+
* @exampleComponent limebb-example-summary-popover-file-preview
|
|
60
61
|
* @exampleComponent limebb-example-summary-popover-actions
|
|
61
62
|
* @exampleComponent limebb-example-summary-popover-trigger-delay
|
|
62
63
|
*
|
|
@@ -81,6 +82,12 @@ export declare class SummaryPopover {
|
|
|
81
82
|
* to enrich the content with visual information.
|
|
82
83
|
*/
|
|
83
84
|
image?: Image;
|
|
85
|
+
/**
|
|
86
|
+
* A file to preview in the popover.
|
|
87
|
+
* When provided, a `limel-file-viewer` is rendered
|
|
88
|
+
* inside the card alongside any other card content.
|
|
89
|
+
*/
|
|
90
|
+
file?: FileInfo;
|
|
84
91
|
/**
|
|
85
92
|
* An icon, to display along with the heading and subheading.
|
|
86
93
|
*/
|
|
@@ -115,6 +122,8 @@ export declare class SummaryPopover {
|
|
|
115
122
|
private hoverTimeout;
|
|
116
123
|
private static currentOpenPopover;
|
|
117
124
|
render(): any;
|
|
125
|
+
private renderCard;
|
|
126
|
+
private renderFileViewer;
|
|
118
127
|
private openPopoverWithDelay;
|
|
119
128
|
private resetTimeout;
|
|
120
129
|
private onPopoverClose;
|
|
@@ -13,6 +13,7 @@ import { ChatItem } from "./components/chat-list/chat-item/chat-item.types";
|
|
|
13
13
|
import { ComponentPickerType } from "./components/component-command-picker/types";
|
|
14
14
|
import { ComposerTrigger, FileInputConfig } from "./components/composer-toolbar/composer-toolbar.types";
|
|
15
15
|
import { DataCell } from "./components/data-cells/data-cells.types";
|
|
16
|
+
import { DocumentChipFile } from "./components/document-chips/document-chips.types";
|
|
16
17
|
import { DocumentItem } from "./components/document-picker/document-item/document-item.types";
|
|
17
18
|
import { DocumentType } from "./components/document-picker/document.types";
|
|
18
19
|
import { FeedItem } from "./components/feed/feed-item/feed-item.types";
|
|
@@ -35,6 +36,7 @@ export { ChatItem } from "./components/chat-list/chat-item/chat-item.types";
|
|
|
35
36
|
export { ComponentPickerType } from "./components/component-command-picker/types";
|
|
36
37
|
export { ComposerTrigger, FileInputConfig } from "./components/composer-toolbar/composer-toolbar.types";
|
|
37
38
|
export { DataCell } from "./components/data-cells/data-cells.types";
|
|
39
|
+
export { DocumentChipFile } from "./components/document-chips/document-chips.types";
|
|
38
40
|
export { DocumentItem } from "./components/document-picker/document-item/document-item.types";
|
|
39
41
|
export { DocumentType } from "./components/document-picker/document.types";
|
|
40
42
|
export { FeedItem } from "./components/feed/feed-item/feed-item.types";
|
|
@@ -597,6 +599,28 @@ export namespace Components {
|
|
|
597
599
|
*/
|
|
598
600
|
"type": DateType;
|
|
599
601
|
}
|
|
602
|
+
/**
|
|
603
|
+
* Renders a list of document chips, each wrapped in a
|
|
604
|
+
* `limebb-summary-popover` that shows a file preview on hover or
|
|
605
|
+
* keyboard focus.
|
|
606
|
+
* Supports browser-previewable files (images, PDFs, video, audio, text).
|
|
607
|
+
* Office file types show a fallback message instead of an unsupported preview.
|
|
608
|
+
* The component manages blob URL creation for local files internally
|
|
609
|
+
* and cleans them up when files are removed or the component is destroyed.
|
|
610
|
+
* @exampleComponent limebb-example-document-chips-basic
|
|
611
|
+
* @exampleComponent limebb-example-document-chips-upload-states
|
|
612
|
+
* @beta
|
|
613
|
+
*/
|
|
614
|
+
interface LimebbDocumentChips {
|
|
615
|
+
/**
|
|
616
|
+
* A label used to describe the purpose of the list to users of assistive technologies, like screen readers.
|
|
617
|
+
*/
|
|
618
|
+
"accessibleLabel"?: string;
|
|
619
|
+
/**
|
|
620
|
+
* The list of files to display as document chips.
|
|
621
|
+
*/
|
|
622
|
+
"files": DocumentChipFile[];
|
|
623
|
+
}
|
|
600
624
|
/**
|
|
601
625
|
* Document item
|
|
602
626
|
* Renders individual items of the document picker component.
|
|
@@ -1868,6 +1892,7 @@ export namespace Components {
|
|
|
1868
1892
|
* :::
|
|
1869
1893
|
* @exampleComponent limebb-example-object-chip
|
|
1870
1894
|
* @exampleComponent limebb-example-object-chip-icon-and-color-fallbacks
|
|
1895
|
+
* @exampleComponent limebb-example-object-chip-size
|
|
1871
1896
|
* @beta
|
|
1872
1897
|
*/
|
|
1873
1898
|
interface LimebbObjectChip {
|
|
@@ -1879,10 +1904,11 @@ export namespace Components {
|
|
|
1879
1904
|
* Id of the object.
|
|
1880
1905
|
*/
|
|
1881
1906
|
"objectid": number;
|
|
1907
|
+
"platform"?: LimeWebComponentPlatform;
|
|
1882
1908
|
/**
|
|
1883
|
-
*
|
|
1909
|
+
* Defines the size of the chip.
|
|
1884
1910
|
*/
|
|
1885
|
-
"
|
|
1911
|
+
"size": 'small' | 'default';
|
|
1886
1912
|
}
|
|
1887
1913
|
/**
|
|
1888
1914
|
* This component generates a visualization that displays a percentage value
|
|
@@ -2043,6 +2069,7 @@ export namespace Components {
|
|
|
2043
2069
|
* :::
|
|
2044
2070
|
* @exampleComponent limebb-example-summary-popover-basic
|
|
2045
2071
|
* @exampleComponent limebb-example-summary-popover-image
|
|
2072
|
+
* @exampleComponent limebb-example-summary-popover-file-preview
|
|
2046
2073
|
* @exampleComponent limebb-example-summary-popover-actions
|
|
2047
2074
|
* @exampleComponent limebb-example-summary-popover-trigger-delay
|
|
2048
2075
|
* @beta
|
|
@@ -2052,6 +2079,10 @@ export namespace Components {
|
|
|
2052
2079
|
* Actions to display in the card, to provide the user with options to interact with the content.
|
|
2053
2080
|
*/
|
|
2054
2081
|
"actions"?: Array<ActionBarItem | ListSeparator>;
|
|
2082
|
+
/**
|
|
2083
|
+
* A file to preview in the popover. When provided, a `limel-file-viewer` is rendered inside the card alongside any other card content.
|
|
2084
|
+
*/
|
|
2085
|
+
"file"?: FileInfo;
|
|
2055
2086
|
/**
|
|
2056
2087
|
* Text to display a header inside the card.
|
|
2057
2088
|
*/
|
|
@@ -2313,6 +2344,10 @@ export interface LimebbDateRangeCustomEvent<T> extends CustomEvent<T> {
|
|
|
2313
2344
|
detail: T;
|
|
2314
2345
|
target: HTMLLimebbDateRangeElement;
|
|
2315
2346
|
}
|
|
2347
|
+
export interface LimebbDocumentChipsCustomEvent<T> extends CustomEvent<T> {
|
|
2348
|
+
detail: T;
|
|
2349
|
+
target: HTMLLimebbDocumentChipsElement;
|
|
2350
|
+
}
|
|
2316
2351
|
export interface LimebbDocumentItemCustomEvent<T> extends CustomEvent<T> {
|
|
2317
2352
|
detail: T;
|
|
2318
2353
|
target: HTMLLimebbDocumentItemElement;
|
|
@@ -2782,6 +2817,35 @@ declare global {
|
|
|
2782
2817
|
prototype: HTMLLimebbDateRangeElement;
|
|
2783
2818
|
new (): HTMLLimebbDateRangeElement;
|
|
2784
2819
|
};
|
|
2820
|
+
interface HTMLLimebbDocumentChipsElementEventMap {
|
|
2821
|
+
"removeFile": string | number;
|
|
2822
|
+
}
|
|
2823
|
+
/**
|
|
2824
|
+
* Renders a list of document chips, each wrapped in a
|
|
2825
|
+
* `limebb-summary-popover` that shows a file preview on hover or
|
|
2826
|
+
* keyboard focus.
|
|
2827
|
+
* Supports browser-previewable files (images, PDFs, video, audio, text).
|
|
2828
|
+
* Office file types show a fallback message instead of an unsupported preview.
|
|
2829
|
+
* The component manages blob URL creation for local files internally
|
|
2830
|
+
* and cleans them up when files are removed or the component is destroyed.
|
|
2831
|
+
* @exampleComponent limebb-example-document-chips-basic
|
|
2832
|
+
* @exampleComponent limebb-example-document-chips-upload-states
|
|
2833
|
+
* @beta
|
|
2834
|
+
*/
|
|
2835
|
+
interface HTMLLimebbDocumentChipsElement extends Components.LimebbDocumentChips, HTMLStencilElement {
|
|
2836
|
+
addEventListener<K extends keyof HTMLLimebbDocumentChipsElementEventMap>(type: K, listener: (this: HTMLLimebbDocumentChipsElement, ev: LimebbDocumentChipsCustomEvent<HTMLLimebbDocumentChipsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2837
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2838
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2839
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2840
|
+
removeEventListener<K extends keyof HTMLLimebbDocumentChipsElementEventMap>(type: K, listener: (this: HTMLLimebbDocumentChipsElement, ev: LimebbDocumentChipsCustomEvent<HTMLLimebbDocumentChipsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2841
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2842
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2843
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2844
|
+
}
|
|
2845
|
+
var HTMLLimebbDocumentChipsElement: {
|
|
2846
|
+
prototype: HTMLLimebbDocumentChipsElement;
|
|
2847
|
+
new (): HTMLLimebbDocumentChipsElement;
|
|
2848
|
+
};
|
|
2785
2849
|
interface HTMLLimebbDocumentItemElementEventMap {
|
|
2786
2850
|
"interact": DocumentItem;
|
|
2787
2851
|
}
|
|
@@ -3760,6 +3824,7 @@ declare global {
|
|
|
3760
3824
|
* :::
|
|
3761
3825
|
* @exampleComponent limebb-example-object-chip
|
|
3762
3826
|
* @exampleComponent limebb-example-object-chip-icon-and-color-fallbacks
|
|
3827
|
+
* @exampleComponent limebb-example-object-chip-size
|
|
3763
3828
|
* @beta
|
|
3764
3829
|
*/
|
|
3765
3830
|
interface HTMLLimebbObjectChipElement extends Components.LimebbObjectChip, HTMLStencilElement {
|
|
@@ -3871,6 +3936,7 @@ declare global {
|
|
|
3871
3936
|
* :::
|
|
3872
3937
|
* @exampleComponent limebb-example-summary-popover-basic
|
|
3873
3938
|
* @exampleComponent limebb-example-summary-popover-image
|
|
3939
|
+
* @exampleComponent limebb-example-summary-popover-file-preview
|
|
3874
3940
|
* @exampleComponent limebb-example-summary-popover-actions
|
|
3875
3941
|
* @exampleComponent limebb-example-summary-popover-trigger-delay
|
|
3876
3942
|
* @beta
|
|
@@ -4003,6 +4069,7 @@ declare global {
|
|
|
4003
4069
|
"limebb-data-cells": HTMLLimebbDataCellsElement;
|
|
4004
4070
|
"limebb-date-picker": HTMLLimebbDatePickerElement;
|
|
4005
4071
|
"limebb-date-range": HTMLLimebbDateRangeElement;
|
|
4072
|
+
"limebb-document-chips": HTMLLimebbDocumentChipsElement;
|
|
4006
4073
|
"limebb-document-item": HTMLLimebbDocumentItemElement;
|
|
4007
4074
|
"limebb-document-picker": HTMLLimebbDocumentPickerElement;
|
|
4008
4075
|
"limebb-empty-state": HTMLLimebbEmptyStateElement;
|
|
@@ -4644,6 +4711,32 @@ declare namespace LocalJSX {
|
|
|
4644
4711
|
*/
|
|
4645
4712
|
"type"?: DateType;
|
|
4646
4713
|
}
|
|
4714
|
+
/**
|
|
4715
|
+
* Renders a list of document chips, each wrapped in a
|
|
4716
|
+
* `limebb-summary-popover` that shows a file preview on hover or
|
|
4717
|
+
* keyboard focus.
|
|
4718
|
+
* Supports browser-previewable files (images, PDFs, video, audio, text).
|
|
4719
|
+
* Office file types show a fallback message instead of an unsupported preview.
|
|
4720
|
+
* The component manages blob URL creation for local files internally
|
|
4721
|
+
* and cleans them up when files are removed or the component is destroyed.
|
|
4722
|
+
* @exampleComponent limebb-example-document-chips-basic
|
|
4723
|
+
* @exampleComponent limebb-example-document-chips-upload-states
|
|
4724
|
+
* @beta
|
|
4725
|
+
*/
|
|
4726
|
+
interface LimebbDocumentChips {
|
|
4727
|
+
/**
|
|
4728
|
+
* A label used to describe the purpose of the list to users of assistive technologies, like screen readers.
|
|
4729
|
+
*/
|
|
4730
|
+
"accessibleLabel"?: string;
|
|
4731
|
+
/**
|
|
4732
|
+
* The list of files to display as document chips.
|
|
4733
|
+
*/
|
|
4734
|
+
"files"?: DocumentChipFile[];
|
|
4735
|
+
/**
|
|
4736
|
+
* Fired when a document chip's remove button is clicked. The event detail contains the file's `id`.
|
|
4737
|
+
*/
|
|
4738
|
+
"onRemoveFile"?: (event: LimebbDocumentChipsCustomEvent<string | number>) => void;
|
|
4739
|
+
}
|
|
4647
4740
|
/**
|
|
4648
4741
|
* Document item
|
|
4649
4742
|
* Renders individual items of the document picker component.
|
|
@@ -6045,6 +6138,7 @@ declare namespace LocalJSX {
|
|
|
6045
6138
|
* :::
|
|
6046
6139
|
* @exampleComponent limebb-example-object-chip
|
|
6047
6140
|
* @exampleComponent limebb-example-object-chip-icon-and-color-fallbacks
|
|
6141
|
+
* @exampleComponent limebb-example-object-chip-size
|
|
6048
6142
|
* @beta
|
|
6049
6143
|
*/
|
|
6050
6144
|
interface LimebbObjectChip {
|
|
@@ -6056,10 +6150,11 @@ declare namespace LocalJSX {
|
|
|
6056
6150
|
* Id of the object.
|
|
6057
6151
|
*/
|
|
6058
6152
|
"objectid"?: number;
|
|
6153
|
+
"platform"?: LimeWebComponentPlatform;
|
|
6059
6154
|
/**
|
|
6060
|
-
*
|
|
6155
|
+
* Defines the size of the chip.
|
|
6061
6156
|
*/
|
|
6062
|
-
"
|
|
6157
|
+
"size"?: 'small' | 'default';
|
|
6063
6158
|
}
|
|
6064
6159
|
/**
|
|
6065
6160
|
* This component generates a visualization that displays a percentage value
|
|
@@ -6224,6 +6319,7 @@ declare namespace LocalJSX {
|
|
|
6224
6319
|
* :::
|
|
6225
6320
|
* @exampleComponent limebb-example-summary-popover-basic
|
|
6226
6321
|
* @exampleComponent limebb-example-summary-popover-image
|
|
6322
|
+
* @exampleComponent limebb-example-summary-popover-file-preview
|
|
6227
6323
|
* @exampleComponent limebb-example-summary-popover-actions
|
|
6228
6324
|
* @exampleComponent limebb-example-summary-popover-trigger-delay
|
|
6229
6325
|
* @beta
|
|
@@ -6233,6 +6329,10 @@ declare namespace LocalJSX {
|
|
|
6233
6329
|
* Actions to display in the card, to provide the user with options to interact with the content.
|
|
6234
6330
|
*/
|
|
6235
6331
|
"actions"?: Array<ActionBarItem | ListSeparator>;
|
|
6332
|
+
/**
|
|
6333
|
+
* A file to preview in the popover. When provided, a `limel-file-viewer` is rendered inside the card alongside any other card content.
|
|
6334
|
+
*/
|
|
6335
|
+
"file"?: FileInfo;
|
|
6236
6336
|
/**
|
|
6237
6337
|
* Text to display a header inside the card.
|
|
6238
6338
|
*/
|
|
@@ -6491,6 +6591,7 @@ declare namespace LocalJSX {
|
|
|
6491
6591
|
"limebb-data-cells": LimebbDataCells;
|
|
6492
6592
|
"limebb-date-picker": LimebbDatePicker;
|
|
6493
6593
|
"limebb-date-range": LimebbDateRange;
|
|
6594
|
+
"limebb-document-chips": LimebbDocumentChips;
|
|
6494
6595
|
"limebb-document-item": LimebbDocumentItem;
|
|
6495
6596
|
"limebb-document-picker": LimebbDocumentPicker;
|
|
6496
6597
|
"limebb-empty-state": LimebbEmptyState;
|
|
@@ -6725,6 +6826,19 @@ declare module "@stencil/core" {
|
|
|
6725
6826
|
* @exampleComponent limebb-example-date-range
|
|
6726
6827
|
*/
|
|
6727
6828
|
"limebb-date-range": LocalJSX.LimebbDateRange & JSXBase.HTMLAttributes<HTMLLimebbDateRangeElement>;
|
|
6829
|
+
/**
|
|
6830
|
+
* Renders a list of document chips, each wrapped in a
|
|
6831
|
+
* `limebb-summary-popover` that shows a file preview on hover or
|
|
6832
|
+
* keyboard focus.
|
|
6833
|
+
* Supports browser-previewable files (images, PDFs, video, audio, text).
|
|
6834
|
+
* Office file types show a fallback message instead of an unsupported preview.
|
|
6835
|
+
* The component manages blob URL creation for local files internally
|
|
6836
|
+
* and cleans them up when files are removed or the component is destroyed.
|
|
6837
|
+
* @exampleComponent limebb-example-document-chips-basic
|
|
6838
|
+
* @exampleComponent limebb-example-document-chips-upload-states
|
|
6839
|
+
* @beta
|
|
6840
|
+
*/
|
|
6841
|
+
"limebb-document-chips": LocalJSX.LimebbDocumentChips & JSXBase.HTMLAttributes<HTMLLimebbDocumentChipsElement>;
|
|
6728
6842
|
/**
|
|
6729
6843
|
* Document item
|
|
6730
6844
|
* Renders individual items of the document picker component.
|
|
@@ -7176,6 +7290,7 @@ declare module "@stencil/core" {
|
|
|
7176
7290
|
* :::
|
|
7177
7291
|
* @exampleComponent limebb-example-object-chip
|
|
7178
7292
|
* @exampleComponent limebb-example-object-chip-icon-and-color-fallbacks
|
|
7293
|
+
* @exampleComponent limebb-example-object-chip-size
|
|
7179
7294
|
* @beta
|
|
7180
7295
|
*/
|
|
7181
7296
|
"limebb-object-chip": LocalJSX.LimebbObjectChip & JSXBase.HTMLAttributes<HTMLLimebbObjectChipElement>;
|
|
@@ -7258,6 +7373,7 @@ declare module "@stencil/core" {
|
|
|
7258
7373
|
* :::
|
|
7259
7374
|
* @exampleComponent limebb-example-summary-popover-basic
|
|
7260
7375
|
* @exampleComponent limebb-example-summary-popover-image
|
|
7376
|
+
* @exampleComponent limebb-example-summary-popover-file-preview
|
|
7261
7377
|
* @exampleComponent limebb-example-summary-popover-actions
|
|
7262
7378
|
* @exampleComponent limebb-example-summary-popover-trigger-delay
|
|
7263
7379
|
* @beta
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracts the file extension from a filename.
|
|
3
|
+
*
|
|
4
|
+
* Returns the lowercased extension without the dot,
|
|
5
|
+
* or an empty string if the filename has no extension.
|
|
6
|
+
*
|
|
7
|
+
* @param filename - the filename to extract the extension from
|
|
8
|
+
*/
|
|
9
|
+
export declare function getFileExtension(filename: string): string;
|
|
10
|
+
//# sourceMappingURL=file-extension.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Icon } from '@limetech/lime-elements';
|
|
2
|
+
/**
|
|
3
|
+
* Returns an icon with name, fill color, and background color
|
|
4
|
+
* based on the file extension of the given filename.
|
|
5
|
+
*
|
|
6
|
+
* @param filename - the filename to get the icon for
|
|
7
|
+
*/
|
|
8
|
+
export declare function getFileIcon(filename: string): Icon;
|
|
9
|
+
//# sourceMappingURL=file-icon.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@limetech/lime-crm-building-blocks",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.115.0",
|
|
4
4
|
"description": "A home for shared components meant for use with Lime CRM",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@limetech/eslint-config": "^3.0.1",
|
|
38
|
-
"@limetech/lime-elements": "^39.
|
|
38
|
+
"@limetech/lime-elements": "^39.13.1",
|
|
39
39
|
"@limetech/lime-web-components": "^6.13.1",
|
|
40
40
|
"@limetech/lime-web-components-testing": "^1.0.0",
|
|
41
41
|
"@lundalogik/lime-icons8": "^2.38.2",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"jest": "^29.7.0",
|
|
55
55
|
"jest-cli": "^29.7.0",
|
|
56
56
|
"kompendium": "^0.15.0",
|
|
57
|
-
"lodash-es": "^4.
|
|
57
|
+
"lodash-es": "^4.18.1",
|
|
58
58
|
"prettier": "^3.4.2",
|
|
59
59
|
"puppeteer": "^19.4.1",
|
|
60
60
|
"replace-in-file": "^7.2.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,h as o,c as t}from"./p-52cf8641.js";const r={expand:"expand",minimize:"minus_math",maximize:"minus_math",newTab:"up_right_arrow",back:"left_arrow",close:"multiply",shrink:"compress",float:"rectangle"},i=class{constructor(t){e(this,t),this.renderAsLink=()=>o("a",{class:this.getContainerClassList(),id:"tooltipId","aria-label":this.tooltipLabel&&this.tooltipHelperLabel,href:this.href,target:"newTab"===this.type?"_blank":void 0},this.renderType(),this.renderTooltip()),this.renderAsButton=()=>o("button",{class:this.getContainerClassList(),id:"tooltipId","aria-label":this.tooltipLabel&&this.tooltipHelperLabel},this.renderType(),this.renderTooltip()),this.getContainerClassList=()=>({"navigation-button":!0,[this.type]:!0})}render(){return this.href?this.renderAsLink():this.renderAsButton()}renderType(){return this.renderIcon(r[this.type])}renderTooltip(){if(this.tooltipLabel)return o("limel-tooltip",{label:this.tooltipLabel,helperLabel:this.tooltipHelperLabel,elementId:"tooltipId"})}renderIcon(e){return o("limel-icon",{name:e})}static get delegatesFocus(){return!0}};i.style='@charset "UTF-8";.navigation-button{all:unset;isolation:isolate;position:relative;display:flex;justify-content:center;align-items:center;height:1.875rem;width:1.875rem;border-radius:50%;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:var(--navigation-button-background-color, var(--lime-elevated-surface-background-color))}.navigation-button:hover,.navigation-button:focus,.navigation-button:focus-visible{will-change:color, background-color, box-shadow, transform}.navigation-button:hover,.navigation-button:focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}.navigation-button:hover{box-shadow:var(--button-shadow-hovered)}.navigation-button:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.navigation-button:hover,.navigation-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.navigation-button:focus{outline:none}.navigation-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.navigation-button limel-icon{transition:color 0.2s ease, transform 0.2s cubic-bezier(0.84, 0.15, 0.52, 1.42);color:var(--header-menu-icon-color);width:1.25rem}.newTab limel-icon{transition:transform 0.2s ease;transform:scale(0.8);z-index:3}.newTab:before{z-index:2}.newTab::after{z-index:1}.newTab:before,.newTab:after{content:"";transition:transform 0.2s ease, border-color 0.2s ease;position:absolute;width:0.875rem;height:0.875rem;outline:1.5px solid rgb(var(--contrast-900));border-radius:1px;background-color:var(--navigation-button-background-color, rgb(var(--contrast-100)))}.newTab:hover limel-icon{color:var(--mdc-theme-primary);transform:translate3d(-0.1rem, 0.1rem, 0) scale(1)}.newTab:hover:before{transform:translate3d(0.125rem, -0.125rem, 0);border-color:rgb(var(--contrast-1000));box-shadow:var(--shadow-depth-8)}.newTab:hover:after{transform:translate3d(-0.15rem, 0.15rem, 0) scale(0.9);border-color:rgb(var(--contrast-700))}.expand:after{transition:transform 0.2s ease;content:"";position:absolute;z-index:1;background-color:var(--navigation-button-background-color, rgb(var(--contrast-100)));width:0.75rem;height:0.75rem}.expand:hover limel-icon{color:var(--mdc-theme-primary)}.expand:hover:after{transform:scale(0.5)}.expand:hover limel-icon{transform:scale(1.18)}.minimize:before,.minimize:after,.maximize:before,.maximize:after{content:"";transition:transform 0.3s ease-out 0.15s, background-color 0.1s ease}.minimize limel-icon,.maximize limel-icon{transition:transform 0.2s ease 0.1s}.minimize:before,.maximize:after,.maximize:hover:before{transform:scaleY(1) scaleX(1);z-index:-1;box-sizing:border-box;position:absolute;width:70%;height:60%;border-radius:0.25rem;transform-origin:bottom}.minimize:hover:before,.maximize:before{transition:transform 0.3s ease-out 0.15s, background-color 0.1s ease;transform:scaleY(0.3) scaleX(0.7);background-color:rgb(var(--contrast-500))}.minimize:hover limel-icon,.maximize limel-icon{transform:scaleX(0.8) translate3d(0, 0.4rem, 0)}.maximize limel-icon{color:rgb(var(--contrast-900))}.maximize:hover limel-icon{color:currentColor;transform:scaleX(1.1) translate3d(0, -0.1rem, 0)}.maximize:after{z-index:-2;border:1px dashed rgb(var(--contrast-800))}.close limel-icon{transition:transform 0.2s ease, color 0.2s ease}.close:before,.close:after{transition-delay:0.1s;content:"";position:absolute;inset:0;border-radius:50%;opacity:0}.close:before{transition:transform 0.3s ease, opacity 0.3s ease;background-color:rgb(var(--color-orange-dark))}.close:after{transition:transform 0.6s ease, opacity 0.6s ease;background-color:rgb(var(--color-orange-light))}.close:hover limel-icon{color:rgb(var(--color-white));transform:scale(0.7) rotate(90deg)}.close:hover:before{opacity:1;transform:scale(0.4)}.close:hover:after{opacity:0.4;transform:scale(0.6)}.float:after{transition:width 0.2s ease-out, opacity 0.2s ease;content:"";position:absolute;inset:0 0.5rem 0 auto;border-radius:1px;opacity:0.8;transform:translate3d(0, 0, 0);background-color:rgb(var(--contrast-800));width:0.125rem;height:0.6rem;margin:auto}.float:hover:after{width:0.4rem;opacity:1;transform:translate3d(0, 0, 0)}';const a=class{constructor(o){e(this,o),this.actionSelected=t(this,"actionSelected",7),this.triggerDelay=600,this.openDirection="top",this.popoverMaxWidth="20rem",this.popoverMaxHeight="min(35rem, calc(100vh - 2rem))",this.actions=[],this.isPopoverOpen=!1,this.openPopoverWithDelay=e=>{e.stopPropagation(),clearTimeout(this.hoverTimeout),this.hoverTimeout=window.setTimeout((()=>{a.currentOpenPopover&&a.currentOpenPopover!==this&&(a.currentOpenPopover.isPopoverOpen=!1),a.currentOpenPopover=this,this.isPopoverOpen=!0}),this.triggerDelay)},this.resetTimeout=()=>{this.isPopoverOpen||clearTimeout(this.hoverTimeout)},this.onPopoverClose=e=>{e.stopPropagation(),this.isPopoverOpen=!1,a.currentOpenPopover===this&&(a.currentOpenPopover=null)},this.handleCloseClick=e=>{e.stopPropagation(),this.isPopoverOpen=!1},this.handleSelected=e=>{this.actionSelected.emit(e.detail)}}render(){return o("limel-popover",{key:"fb257457f12e1b4711a40a8507bcbe4317edace2",style:{"--limebb-summary-popover-timeout":`${this.triggerDelay}ms`},open:this.isPopoverOpen,onClose:this.onPopoverClose,openDirection:this.openDirection},o("div",{key:"10ecbea67152f6e3c6102d01c28c3aceb13427a0",slot:"trigger",onMouseEnter:this.openPopoverWithDelay,onMouseLeave:this.resetTimeout,onFocusin:this.openPopoverWithDelay},o("slot",{key:"bd545c3365ed44a60a7427bb8767c7373ce6a177",name:"trigger"}),o("div",{key:"0a537eca8171d183b693549158acfb29f099ee7f",class:"opening-countdown-indicator"})),o("limel-card",{key:"8befb62c7d075284e9fd0af373ae00e2c54ac058",style:{"max-width":this.popoverMaxWidth,"max-height":this.popoverMaxHeight,"min-width":"7rem","min-height":"3rem"},orientation:"landscape",heading:this.heading,subheading:this.subheading,icon:this.icon,value:this.value,image:this.image,actions:this.actions,onActionSelected:this.handleSelected},o("limebb-navigation-button",{key:"699c17c2d51575f4c82fa9bbc4dcc9a96a495eee",slot:"component",type:"close",style:{"--navigation-button-background-color":"rgb(var(--contrast-100), 0.8)",position:"absolute",top:"0.125rem",right:"0.125rem"},tooltipLabel:"Close",tooltipHelperLabel:"Esc",onClick:this.handleCloseClick})))}};a.currentOpenPopover=null,a.style="limel-popover{--popover-border-radius:0.95rem;--popover-body-background-color:transparent;--popover-box-shadow:var(--shadow-depth-8)}div[slot=trigger]{position:relative;display:flex;align-items:center;justify-content:center}div[slot=trigger] *{min-width:0;min-height:0}.opening-countdown-indicator{position:absolute;inset:auto 0 -0.25rem 0;margin:0 auto;height:0.125rem;border-radius:1rem;transition:width ease-out, opacity ease;transition-duration:120ms;opacity:0;width:0%;background-color:var(--mdc-theme-primary)}div[slot=trigger]:not([aria-expanded=true]):hover .opening-countdown-indicator{transition-duration:var(--limebb-summary-popover-timeout);opacity:1;width:100%}";export{i as limebb_navigation_button,a as limebb_summary_popover}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,h as r}from"./p-52cf8641.js";import{i as t,z as i,c as o}from"./p-199799ff.js";import{n as s}from"./p-7c9484b1.js";const n=["pdf","edit","view"],l={avi:"browser",bmp:"browser",csv:"browser",gif:"browser",heic:"browser",html:"browser",jpeg:"browser",jpg:"browser",json:"browser",mp3:"browser",mp4:"browser",mov:"browser",ogg:"browser",pdf:"browser",png:"browser",svg:"browser",svgz:"browser",txt:"browser",wav:"browser",wmv:"browser",xml:"browser",eml:"fileViewer",doc:"sharepoint",docx:"sharepoint",dot:"sharepoint",dotx:"sharepoint",odp:"sharepoint",ods:"sharepoint",pot:"sharepoint",ppt:"sharepoint",pptx:"sharepoint",pps:"sharepoint",ppsx:"sharepoint",xls:"sharepoint",xlsb:"sharepoint",xlsm:"sharepoint",xlsx:"sharepoint",odt:"sharepoint"};var a=function(e,r,t,i){var o,s=arguments.length,n=s<3?r:null===i?i=Object.getOwnPropertyDescriptor(r,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,r,t,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(n=(s<3?o(n):s>3?o(r,t,n):o(r,t))||n);return s>3&&n&&Object.defineProperty(r,t,n),n};const h=class{constructor(t){e(this,t),this.fileTypes=["view","contents","download"],this.renderLiveDocs=e=>{if(!this.isLiveDocsAvailable(e))return r("limebb-live-docs-info",null);if(!this.platform.isFeatureEnabled("useOfficeFilePreview"))return r("limebb-empty-state",{value:"Preview of this file type will be available soon",icon:{name:"attention",color:"rgb(var(--color-blue-light))"}});const t=this.getLiveDocsUrl(e);return r("iframe",{src:t,frameBorder:0,marginHeight:0,marginWidth:0})},this.renderFileViewer=e=>{const t=e.filename,i=this.getFileUrl(e);return i?r("limel-file-viewer",{filename:t,url:i,allowFullscreen:!0,allowOpenInNewTab:!0}):this.renderNotFound()},this.renderUnsupported=e=>r("limel-file-viewer",{filename:e.filename,url:void 0,allowFullscreen:!0,allowOpenInNewTab:!0}),this.renderNotFound=()=>[r("section",{class:"not-found"},r("limel-icon",{name:"error",size:"large"}),r("h2",null,this.translator.get("webclient.not-found")),r("p",null,this.translator.get("webclient.no-files-attached",{object:this.getDescriptive(this.limeobject)})))]}render(){const e=this.getFile();if(!e)return this.renderNotFound();const r=l[e.extension.toLowerCase()]||"unsupported";return(0,{fileViewer:this.renderFileViewer,browser:this.renderFileViewer,sharepoint:this.renderLiveDocs,unsupported:this.renderUnsupported}[r])(e)}getLiveDocsUrl(e){let r=[...this.fileTypes];return this.platform.isFeatureEnabled("useOfficeFilePreview")&&(r=["pdf",...r]),r.filter(this.isLiveDocsType).map((r=>e.getUrl(r))).find(Boolean)}getFileUrl(e){return this.fileTypes.filter(s(this.isLiveDocsType)).map((r=>e.getUrl(r))).find(Boolean)}getFile(){const e=this.fileProperty;if(e)return this.limeobject.getFile(e.name)}isLiveDocsAvailable(e){return n.some((r=>e.getUrl(r)))}isLiveDocsType(e){return n.includes(e)}getDescriptive(e){var r;return(null==e?void 0:e.descriptive)||(null===(r=this.limetype)||void 0===r?void 0:r.localname.singular)||this.translator.get("object")}get fileProperty(){if(this.limeobject){if(this.property){const e=this.limeobject.getLimetype().getProperty(this.property);if("file"===e.type)return e}return Object.values(this.limeobject.getLimetype().properties).find((e=>"file"===e.type))}}get translator(){return this.platform.get(o.Translate)}};a([t()],h.prototype,"limeobject",void 0),a([i()],h.prototype,"limetype",void 0),h.style=".not-found{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center;line-height:1rem;color:rgb(var(--contrast-1100))}.not-found limel-icon{color:rgb(var(--color-red-default))}iframe{height:100%;width:100%}";export{h as limebb_limeobject_file_viewer}
|
|
File without changes
|