@limetech/lime-crm-building-blocks 1.104.5 → 1.105.1
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 +14 -0
- package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
- package/dist/cjs/limebb-document-item.cjs.entry.js +29 -8
- package/dist/cjs/limebb-document-picker.cjs.entry.js +3 -3
- package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +28 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
- package/dist/collection/components/chat-list/chat-list.js +2 -2
- package/dist/collection/components/component-command-picker/component-config/component-config.js +2 -2
- package/dist/collection/components/component-command-picker/component-picker/component-picker.js +2 -2
- package/dist/collection/components/date-picker/date-picker.js +2 -2
- package/dist/collection/components/date-range/date-range.js +2 -2
- package/dist/collection/components/document-picker/document-item/document-item.js +55 -10
- package/dist/collection/components/document-picker/document-picker.js +5 -5
- package/dist/collection/components/feed/feed-item/feed-timeline-item.js +2 -2
- package/dist/collection/components/feed/feed.js +2 -2
- package/dist/collection/components/info-tile/info-tile.js +2 -2
- package/dist/collection/components/kanban/kanban-group/kanban-group.js +2 -2
- package/dist/collection/components/kanban/kanban-item/kanban-item.js +2 -2
- package/dist/collection/components/kanban/kanban.js +2 -2
- package/dist/collection/components/lime-query-builder/lime-query-builder.css +1 -0
- package/dist/collection/components/lime-query-builder/lime-query-builder.js +29 -3
- package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +2 -2
- package/dist/collection/components/limeobject/file-viewer/file-viewer.js +2 -2
- package/dist/collection/components/loader/loader.js +2 -2
- package/dist/collection/components/locale-picker/locale-picker.js +2 -2
- package/dist/collection/components/notification-list/notification-item/notification-item.js +2 -2
- package/dist/collection/components/notification-list/notification-list.js +2 -2
- package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
- package/dist/collection/components/trend-indicator/trend-indicator.js +2 -2
- package/dist/components/document-item.js +31 -9
- package/dist/components/limebb-document-picker.js +3 -3
- package/dist/components/limebb-lime-query-builder.js +30 -4
- package/dist/esm/lime-crm-building-blocks.js +1 -1
- package/dist/esm/limebb-document-item.entry.js +29 -8
- package/dist/esm/limebb-document-picker.entry.js +3 -3
- package/dist/esm/limebb-lime-query-builder.entry.js +28 -3
- 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-1421e1f8.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-2673c79e.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-80b9d946.entry.js +1 -0
- package/dist/types/components/document-picker/document-item/document-item.d.ts +8 -1
- package/dist/types/components/document-picker/document-item/document-item.types.d.ts +3 -15
- package/dist/types/components/lime-query-builder/lime-query-builder.d.ts +4 -0
- package/dist/types/components/lime-query-builder/lime-query.types.d.ts +16 -0
- package/dist/types/components.d.ts +96 -88
- package/package.json +4 -4
- package/dist/lime-crm-building-blocks/p-2abf615b.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-876701c6.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-9d25ed5a.entry.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,c as i,h as t,H as l}from"./p-1556b545.js";import{c as o}from"./p-fbda77a7.js";const s=class{constructor(l){e(this,l),this.change=i(this,"change",7),this.items=[],this.invalid=!1,this.required=!1,this.type="checkbox",this.handleItemInteract=e=>{e.stopPropagation();const i=e.detail;if(!i)return;let t;t="radio"===this.type?this.items.map((e=>Object.assign(Object.assign({},e),e.file.id===i.file.id?{selected:i.selected}:{selected:!1}))).find((e=>e.selected)):this.items.map((e=>e.file.id===i.file.id?Object.assign(Object.assign({},e),{selected:i.selected}):e)).filter((e=>e.selected)),this.change.emit(t)},this.renderHelperLine=()=>{if(this.helperText)return t("limel-helper-line",{helperText:this.helperText,helperTextId:this.helperTextId,invalid:this.invalid})},this.helperTextId=o(),this.labelId=o()}render(){return t(l,{key:"5e4a9004ed3b81b6c35be868c664e61cb88d490c"},t("limel-notched-outline",{key:"ada8928b3ed815896e1ef5fb61f539f0ab77c7af",labelId:this.labelId,label:this.label,required:this.required,invalid:this.invalid,hasFloatingLabel:!0},t("div",{key:"343aeef460a4ea4e0a4a247daf6988f749dc2b49",slot:"content",role:"radio"===this.type?"radiogroup":"group","aria-labelledby":this.label?this.labelId:void 0,"aria-describedby":this.helperText?this.helperTextId:void 0},this.renderItems())),this.renderHelperLine())}renderItems(){return this.items.map((e=>t("limebb-document-item",{platform:this.platform,context:this.context,item:e,key:e.file.id,type:this.type,onInteract:this.handleItemInteract})))}};s.style='@charset "UTF-8";:host(limebb-document-picker:not([invalid]):not([invalid=true])) .limel-notched-outline{--limel-notched-outline-border-color:transparent;--limel-notched-outline-background-color:transparent}div[slot=content]{display:block;width:100%;padding:0.75rem 0.5rem;columns:10rem;gap:clamp(0.25rem, 2vmin, 0.75rem)}div[slot=content]>limebb-document-item{display:block;break-inside:avoid;margin-bottom:clamp(0.25rem, 2vmin, 0.75rem)}@supports (grid-template-rows: masonry){div[slot=content]{column-width:initial;column-gap:initial;display:grid;grid-template-columns:repeat(auto-fill, minmax(10rem, 1fr));grid-template-rows:masonry;grid-auto-flow:dense;gap:0.5rem}div[slot=content]>limebb-document-item{display:block;width:auto;margin:0;break-inside:auto}}:host(limebb-document-picker:focus),:host(limebb-document-picker:focus-visible),:host(limebb-document-picker:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limebb-document-picker){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limebb-document-picker:focus) limel-helper-line,:host(limebb-document-picker:focus-visible) limel-helper-line,:host(limebb-document-picker:focus-within) limel-helper-line,:host(limebb-document-picker:hover) limel-helper-line{will-change:grid-template-rows}';export{s as limebb_document_picker}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as i,c as e,h as t,H as o}from"./p-1556b545.js";const r=class{constructor(t){i(this,t),this.interact=e(this,"interact",7),this.type="checkbox",this.fileTypes=["view","contents","download"],this.handleDocumentItemClick=i=>{if(!this.isUnavailable()){if((null==i?void 0:i.target)instanceof HTMLElement&&(i.target.closest("limel-checkbox")||i.target.closest("limel-radio-button")))return;this.toggleSelection()}},this.handleSelectionControlClick=i=>{var e,t;i.stopPropagation(),this.isUnavailable()||"radio"===this.type&&(null===(e=this.item)||void 0===e?void 0:e.selected)&&(i.preventDefault(),this.forceInputUnchecked(i),this.emitSelectionChange(!(null===(t=this.item)||void 0===t?void 0:t.selected)))},this.handleSelectionControlChange=i=>{var e;if(i.stopPropagation(),this.isUnavailable())return;let t;if("detail"in i&&"boolean"==typeof i.detail)t=i.detail;else{const e=i.target;t=!!(null==e?void 0:e.checked)}"radio"!==this.type||!(null===(e=this.item)||void 0===e?void 0:e.selected)||t?this.emitSelectionChange(t):this.emitSelectionChange(!1)},this.handleKeyDown=i=>{" "!==i.key&&"Enter"!==i.key||(i.preventDefault(),this.isUnavailable()||this.toggleSelection())}}render(){const i=this.isUnavailable(),e=this.getImage();return t(o,{key:"7fc37bbc0185cdb38c837f2487c88f4d275d1c2f",id:String(this.item.file.id),class:{"has-image":!!e,"has-error":!!this.item.hasError},role:"radio"===this.type?"radio":"checkbox","aria-checked":this.item.selected?"true":"false","aria-disabled":i?"true":"false",tabIndex:i?-1:0},t("limel-card",{key:"da1329af4f1eac4617da054b5b02715b512631ff",image:e,clickable:!i,onClick:this.handleDocumentItemClick,onKeyDown:this.handleKeyDown},t("div",{key:"a30361cfb76512065fe3cf1b513f31257cf115ee",slot:"component"},this.renderFileSize(),this.renderBooleanInput())),this.renderHelp())}renderBooleanInput(){const i=this.getControlId();return t("radio"===this.type?"limel-radio-button":"limel-checkbox",{id:i,label:this.item.file.filename,disabled:this.isUnavailable(),checked:this.item.selected,onClick:this.handleSelectionControlClick,onChange:this.handleSelectionControlChange})}renderFileSize(){var i,e;const o=function(i,e=1){if(null==i||Number.isNaN(i))return"";if(i<0)return"";if(0===i)return"0 B";const t=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],o=Math.min(t.length-1,Math.floor(Math.log(i)/Math.log(1024))),r=i/Math.pow(1024,o),l=r<10?Math.max(0,e):0;return`${Number.parseFloat(r.toFixed(l))} ${t[o]}`}(null===(e=null===(i=this.item)||void 0===i?void 0:i.file)||void 0===e?void 0:e.size);if(o)return t("span",{class:"file-size"},o)}renderHelp(){if(this.item.help)return t("limel-help",{value:this.item.help,openDirection:"bottom-end"})}toggleSelection(){var i,e;if("radio"===this.type){const e=!(null===(i=this.item)||void 0===i?void 0:i.selected);return void this.emitSelectionChange(e)}const t=!(null===(e=this.item)||void 0===e?void 0:e.selected);this.emitSelectionChange(t)}emitSelectionChange(i){this.interact.emit(Object.assign(Object.assign({},this.item),{selected:i}))}getControlId(){return`boolean-input-${String(this.item.file.id)}`}isUnavailable(){var i,e;return(null===(i=this.item)||void 0===i?void 0:i.disabled)||(null===(e=this.item)||void 0===e?void 0:e.hasError)}forceInputUnchecked(i){const e=i.target,t=null==e?void 0:e.closest("limel-radio-button"),o=null==t?void 0:t.querySelector('input[type="radio"]');o&&(o.checked=!1)}getImage(){const i=this.hrefForFile();if(i)return{src:i,alt:this.item.file.filename}}hrefForFile(){return["preview",...this.fileTypes].map((i=>this.item.file.getUrl(i))).find(Boolean)}static get delegatesFocus(){return!0}};r.style="*{box-sizing:border-box;min-width:0;min-height:0}:host(limebb-document-item){position:relative}limel-card:not([clickable]):not([clickable=true]){pointer-events:none;opacity:0.75}div[slot=component]{pointer-events:none;display:flex;flex-direction:column;margin-top:-0.25rem;padding:0 0.25rem}limel-checkbox,limel-radio-button{width:100%}.file-size{pointer-events:none;width:fit-content;padding:0 0.375rem;font-size:0.6875rem;color:rgb(var(--color-white));border-radius:1rem;opacity:0.75;background-color:rgb(var(--color-glaucous-darker), 0.8);box-shadow:var(--shadow-brighten-edges-outside);backdrop-filter:blur(0.75rem);margin-top:0.5rem}:host(.has-image) .file-size{margin-top:-1.5rem;margin-bottom:0.5rem}limel-help{position:absolute;top:0;right:0}:host(.has-error) limel-card{box-shadow:0 0 0 1px rgb(var(--color-red-light))}:host(.has-error) limel-help{--color-sky-default:var(\n --color-red-default\n );--color-sky-lighter:var(--color-red-lighter);--lime-elevated-surface-background-color:rgb(\n var(--color-yellow-default)\n )}";export{r as limebb_document_item}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
-
import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
2
|
+
import { LimeFileUrlType, LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
3
3
|
import { DocumentItem } from './document-item.types';
|
|
4
4
|
/**
|
|
5
5
|
* Document item
|
|
@@ -25,6 +25,11 @@ export declare class DocumentItemComponent implements LimeWebComponent {
|
|
|
25
25
|
* - 'checkbox': renders a checkbox for multiple selection.
|
|
26
26
|
*/
|
|
27
27
|
type: 'radio' | 'checkbox';
|
|
28
|
+
/**
|
|
29
|
+
* The preferred file URL types to use when displaying
|
|
30
|
+
* the document's image preview.
|
|
31
|
+
*/
|
|
32
|
+
fileTypes: LimeFileUrlType[];
|
|
28
33
|
/**
|
|
29
34
|
* Fired when clicking on the document item.
|
|
30
35
|
*/
|
|
@@ -42,5 +47,7 @@ export declare class DocumentItemComponent implements LimeWebComponent {
|
|
|
42
47
|
private getControlId;
|
|
43
48
|
private isUnavailable;
|
|
44
49
|
private forceInputUnchecked;
|
|
50
|
+
private getImage;
|
|
51
|
+
private hrefForFile;
|
|
45
52
|
}
|
|
46
53
|
//# sourceMappingURL=document-item.d.ts.map
|
|
@@ -1,21 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LimeFile } from '@limetech/lime-web-components';
|
|
2
2
|
export interface DocumentItem {
|
|
3
3
|
/**
|
|
4
|
-
* The
|
|
4
|
+
* The underlying file metadata for the document.
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* The file name of the document, which ends with the file extension.
|
|
9
|
-
*/
|
|
10
|
-
fileName: string;
|
|
11
|
-
/**
|
|
12
|
-
* The size of the document in bytes.
|
|
13
|
-
*/
|
|
14
|
-
fileSize?: number;
|
|
15
|
-
/**
|
|
16
|
-
* A thumbnail visualizing the document.
|
|
17
|
-
*/
|
|
18
|
-
thumbnail?: Image;
|
|
6
|
+
file: LimeFile;
|
|
19
7
|
/**
|
|
20
8
|
* Indicates the selected state of the document.
|
|
21
9
|
*/
|
|
@@ -65,6 +65,7 @@ export declare class LimeQueryBuilder implements LimeWebComponent {
|
|
|
65
65
|
private internalResponseFormat?;
|
|
66
66
|
private limit?;
|
|
67
67
|
private orderBy?;
|
|
68
|
+
private description?;
|
|
68
69
|
private getButtons;
|
|
69
70
|
private get visualModeEnabled();
|
|
70
71
|
componentWillLoad(): void;
|
|
@@ -75,6 +76,8 @@ export declare class LimeQueryBuilder implements LimeWebComponent {
|
|
|
75
76
|
private handleResponseFormatChange;
|
|
76
77
|
private handleLimitChange;
|
|
77
78
|
private handleOrderByChange;
|
|
79
|
+
private handleDescriptionChange;
|
|
80
|
+
private handleDescriptionBlur;
|
|
78
81
|
private emitChange;
|
|
79
82
|
private updateCodeValue;
|
|
80
83
|
private buildLimeQuery;
|
|
@@ -82,6 +85,7 @@ export declare class LimeQueryBuilder implements LimeWebComponent {
|
|
|
82
85
|
private renderModeSwitch;
|
|
83
86
|
private renderCodeEditor;
|
|
84
87
|
private renderLimetypeSection;
|
|
88
|
+
private renderDescriptionSection;
|
|
85
89
|
private renderResponseFormatSection;
|
|
86
90
|
private renderFilterSection;
|
|
87
91
|
private renderQueryOptionsSection;
|
|
@@ -6,7 +6,23 @@
|
|
|
6
6
|
* - lime-core/lime_filter/schema.py
|
|
7
7
|
*/
|
|
8
8
|
import { Expression } from '@limetech/lime-web-components';
|
|
9
|
+
/**
|
|
10
|
+
* Lime Query structure
|
|
11
|
+
* @example
|
|
12
|
+
* {
|
|
13
|
+
* "#description": "High-value deals with customer info",
|
|
14
|
+
* "limetype": "deal",
|
|
15
|
+
* "responseFormat": { "object": { "name": null } }
|
|
16
|
+
* }
|
|
17
|
+
*/
|
|
9
18
|
export interface LimeQuery {
|
|
19
|
+
/**
|
|
20
|
+
* Optional human-readable description of the query's purpose.
|
|
21
|
+
* Useful for documenting what data the query retrieves, particularly
|
|
22
|
+
* when passing queries to AI agents for context.
|
|
23
|
+
* This field is preserved but ignored by the backend.
|
|
24
|
+
*/
|
|
25
|
+
'#description'?: string;
|
|
10
26
|
limetype: string;
|
|
11
27
|
responseFormat: ResponseFormat;
|
|
12
28
|
filter?: Expression;
|