@limetech/lime-crm-building-blocks 1.109.3 → 1.110.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 +12 -0
- package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
- package/dist/cjs/limebb-data-cells.cjs.entry.js +137 -0
- package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
- package/dist/cjs/limebb-kanban-item.cjs.entry.js +6 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/data-cells/data-cells.css +210 -0
- package/dist/collection/components/data-cells/data-cells.js +217 -0
- package/dist/collection/components/data-cells/data-cells.types.js +1 -0
- package/dist/collection/components/kanban/kanban-group/kanban-group.css +6 -3
- package/dist/collection/components/kanban/kanban-item/kanban-item.css +2 -3
- package/dist/collection/components/kanban/kanban-item/kanban-item.js +5 -2
- package/dist/collection/components/kanban/kanban.js +1 -1
- package/dist/collection/util/format-relative-date.js +30 -0
- package/dist/components/kanban-group.js +1 -1
- package/dist/components/kanban-item.js +6 -3
- package/dist/components/limebb-data-cells.d.ts +11 -0
- package/dist/components/limebb-data-cells.js +162 -0
- package/dist/components/limebb-percentage-visualizer.js +1 -217
- package/dist/components/percentage-visualizer.js +219 -0
- package/dist/esm/lime-crm-building-blocks.js +1 -1
- package/dist/esm/limebb-data-cells.entry.js +133 -0
- package/dist/esm/limebb-kanban-group.entry.js +1 -1
- package/dist/esm/limebb-kanban-item.entry.js +6 -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-4584e9c8.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-97678875.entry.js → p-b38bc613.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-b47a03cd.entry.js +1 -0
- package/dist/types/components/data-cells/data-cells.d.ts +43 -0
- package/dist/types/components/data-cells/data-cells.types.d.ts +40 -0
- package/dist/types/components/kanban/kanban.d.ts +1 -1
- package/dist/types/components.d.ts +87 -4
- package/dist/types/util/format-relative-date.d.ts +10 -0
- package/package.json +2 -2
- package/dist/lime-crm-building-blocks/p-a8c47132.entry.js +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
2
|
+
import { DataCell } from './data-cells.types';
|
|
3
|
+
/**
|
|
4
|
+
* Renders a list of key-value data cells in two visual groups:
|
|
5
|
+
* primary (prominent) and secondary (less dominant).
|
|
6
|
+
*
|
|
7
|
+
* @exampleComponent limebb-example-data-cells-basic
|
|
8
|
+
* @exampleComponent limebb-example-data-cells-primary-secondary
|
|
9
|
+
* @exampleComponent limebb-example-data-cells-typed-values
|
|
10
|
+
* @exampleComponent limebb-example-data-cells-relative-dates
|
|
11
|
+
*
|
|
12
|
+
* @beta
|
|
13
|
+
*/
|
|
14
|
+
export declare class DataCells {
|
|
15
|
+
/**
|
|
16
|
+
* @inheritdoc
|
|
17
|
+
*/
|
|
18
|
+
platform: LimeWebComponentPlatform;
|
|
19
|
+
/**
|
|
20
|
+
* @inheritdoc
|
|
21
|
+
*/
|
|
22
|
+
context: LimeWebComponentContext;
|
|
23
|
+
/**
|
|
24
|
+
* The source LimeObject. Used by interactive cell types
|
|
25
|
+
* like `belongsto` to resolve related objects.
|
|
26
|
+
*/
|
|
27
|
+
limeobject: any;
|
|
28
|
+
/**
|
|
29
|
+
* The data cells to render.
|
|
30
|
+
*/
|
|
31
|
+
items: DataCell[];
|
|
32
|
+
render(): any[];
|
|
33
|
+
private renderPrimary;
|
|
34
|
+
private renderSecondary;
|
|
35
|
+
private renderCell;
|
|
36
|
+
private renderValue;
|
|
37
|
+
private toTelUri;
|
|
38
|
+
private ensureUrlProtocol;
|
|
39
|
+
private stripUrlPrefix;
|
|
40
|
+
private getBelongsToHref;
|
|
41
|
+
private get language();
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data-cells.d.ts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { PropertyType } from '@limetech/lime-web-components';
|
|
2
|
+
/**
|
|
3
|
+
* The type of data in a cell. Mostly mirrors CRM `PropertyType`,
|
|
4
|
+
* with `'email'` added as an extra since the CRM models emails
|
|
5
|
+
* as `link` type distinguished by label.
|
|
6
|
+
*/
|
|
7
|
+
export type DataCellType = PropertyType | 'email';
|
|
8
|
+
export interface DataCell {
|
|
9
|
+
/** Human-readable label, e.g. "Visiting city" */
|
|
10
|
+
label: string;
|
|
11
|
+
/**
|
|
12
|
+
* The cell value.
|
|
13
|
+
* For most types this is a pre-formatted display string.
|
|
14
|
+
* For types where the component handles formatting internally
|
|
15
|
+
* (e.g. `date`/`time` → relative date, `percent` → progress bar),
|
|
16
|
+
* pass the raw value (ISO date string, number, etc.).
|
|
17
|
+
*/
|
|
18
|
+
value: any;
|
|
19
|
+
/**
|
|
20
|
+
* The data type of the value.
|
|
21
|
+
* Determines how the cell is rendered — e.g. `phone` renders
|
|
22
|
+
* as a `tel:` link, `email` as a `mailto:` link, `link` as a
|
|
23
|
+
* clickable URL, `percent` as a progress bar.
|
|
24
|
+
*
|
|
25
|
+
* When omitted, the value is rendered as plain text.
|
|
26
|
+
*/
|
|
27
|
+
type?: DataCellType;
|
|
28
|
+
/**
|
|
29
|
+
* The property path on the source LimeObject (e.g. `"company"`).
|
|
30
|
+
* Used by interactive cell types like `belongsto` to resolve
|
|
31
|
+
* the related object for navigation.
|
|
32
|
+
*/
|
|
33
|
+
field?: string;
|
|
34
|
+
/**
|
|
35
|
+
* When `true`, the cell belongs to the secondary (less prominent) group.
|
|
36
|
+
* Rendered in a separate `<dl>` with class `"secondary"`.
|
|
37
|
+
*/
|
|
38
|
+
secondary?: boolean;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data-cells.types.d.ts.map
|
|
@@ -16,7 +16,7 @@ import { KanbanItem } from './kanban-item/kanban-item.types';
|
|
|
16
16
|
* @exampleComponent limebb-example-kanban-assignees
|
|
17
17
|
* @exampleComponent limebb-example-kanban-unpromoted-actions
|
|
18
18
|
* @exampleComponent limebb-example-kanban-group-insights
|
|
19
|
-
* @exampleComponent limebb-example-kanban-
|
|
19
|
+
* @exampleComponent limebb-example-kanban-body-component
|
|
20
20
|
*
|
|
21
21
|
* @beta
|
|
22
22
|
*/
|
|
@@ -10,6 +10,7 @@ import { BrowserItem } from "./components/browser/browser-item.types";
|
|
|
10
10
|
import { ActionBarItem, CustomElementDefinition, DateType, EditorUiType, FormInfo, Icon, Image, Languages, ListItem, ListSeparator, OpenDirection } from "@limetech/lime-elements";
|
|
11
11
|
import { ChatItem } from "./components/chat-list/chat-item/chat-item.types";
|
|
12
12
|
import { ComponentPickerType } from "./components/component-command-picker/types";
|
|
13
|
+
import { DataCell } from "./components/data-cells/data-cells.types";
|
|
13
14
|
import { DocumentItem } from "./components/document-picker/document-item/document-item.types";
|
|
14
15
|
import { DocumentType } from "./components/document-picker/document.types";
|
|
15
16
|
import { FeedItem } from "./components/feed/feed-item/feed-item.types";
|
|
@@ -29,6 +30,7 @@ export { BrowserItem } from "./components/browser/browser-item.types";
|
|
|
29
30
|
export { ActionBarItem, CustomElementDefinition, DateType, EditorUiType, FormInfo, Icon, Image, Languages, ListItem, ListSeparator, OpenDirection } from "@limetech/lime-elements";
|
|
30
31
|
export { ChatItem } from "./components/chat-list/chat-item/chat-item.types";
|
|
31
32
|
export { ComponentPickerType } from "./components/component-command-picker/types";
|
|
33
|
+
export { DataCell } from "./components/data-cells/data-cells.types";
|
|
32
34
|
export { DocumentItem } from "./components/document-picker/document-item/document-item.types";
|
|
33
35
|
export { DocumentType } from "./components/document-picker/document.types";
|
|
34
36
|
export { FeedItem } from "./components/feed/feed-item/feed-item.types";
|
|
@@ -347,6 +349,33 @@ export namespace Components {
|
|
|
347
349
|
*/
|
|
348
350
|
"supportingText"?: string;
|
|
349
351
|
}
|
|
352
|
+
/**
|
|
353
|
+
* Renders a list of key-value data cells in two visual groups:
|
|
354
|
+
* primary (prominent) and secondary (less dominant).
|
|
355
|
+
* @exampleComponent limebb-example-data-cells-basic
|
|
356
|
+
* @exampleComponent limebb-example-data-cells-primary-secondary
|
|
357
|
+
* @exampleComponent limebb-example-data-cells-typed-values
|
|
358
|
+
* @exampleComponent limebb-example-data-cells-relative-dates
|
|
359
|
+
* @beta
|
|
360
|
+
*/
|
|
361
|
+
interface LimebbDataCells {
|
|
362
|
+
/**
|
|
363
|
+
* @inheritdoc
|
|
364
|
+
*/
|
|
365
|
+
"context": LimeWebComponentContext;
|
|
366
|
+
/**
|
|
367
|
+
* The data cells to render.
|
|
368
|
+
*/
|
|
369
|
+
"items": DataCell[];
|
|
370
|
+
/**
|
|
371
|
+
* The source LimeObject. Used by interactive cell types like `belongsto` to resolve related objects.
|
|
372
|
+
*/
|
|
373
|
+
"limeobject": any;
|
|
374
|
+
/**
|
|
375
|
+
* @inheritdoc
|
|
376
|
+
*/
|
|
377
|
+
"platform": LimeWebComponentPlatform;
|
|
378
|
+
}
|
|
350
379
|
/**
|
|
351
380
|
* When developing apps, add-ons, or solution for Lime CRM,
|
|
352
381
|
* you may need date pickers in the UI.
|
|
@@ -869,7 +898,7 @@ export namespace Components {
|
|
|
869
898
|
* @exampleComponent limebb-example-kanban-assignees
|
|
870
899
|
* @exampleComponent limebb-example-kanban-unpromoted-actions
|
|
871
900
|
* @exampleComponent limebb-example-kanban-group-insights
|
|
872
|
-
* @exampleComponent limebb-example-kanban-
|
|
901
|
+
* @exampleComponent limebb-example-kanban-body-component
|
|
873
902
|
* @beta
|
|
874
903
|
*/
|
|
875
904
|
interface LimebbKanban {
|
|
@@ -2439,6 +2468,21 @@ declare global {
|
|
|
2439
2468
|
prototype: HTMLLimebbDashboardWidgetElement;
|
|
2440
2469
|
new (): HTMLLimebbDashboardWidgetElement;
|
|
2441
2470
|
};
|
|
2471
|
+
/**
|
|
2472
|
+
* Renders a list of key-value data cells in two visual groups:
|
|
2473
|
+
* primary (prominent) and secondary (less dominant).
|
|
2474
|
+
* @exampleComponent limebb-example-data-cells-basic
|
|
2475
|
+
* @exampleComponent limebb-example-data-cells-primary-secondary
|
|
2476
|
+
* @exampleComponent limebb-example-data-cells-typed-values
|
|
2477
|
+
* @exampleComponent limebb-example-data-cells-relative-dates
|
|
2478
|
+
* @beta
|
|
2479
|
+
*/
|
|
2480
|
+
interface HTMLLimebbDataCellsElement extends Components.LimebbDataCells, HTMLStencilElement {
|
|
2481
|
+
}
|
|
2482
|
+
var HTMLLimebbDataCellsElement: {
|
|
2483
|
+
prototype: HTMLLimebbDataCellsElement;
|
|
2484
|
+
new (): HTMLLimebbDataCellsElement;
|
|
2485
|
+
};
|
|
2442
2486
|
interface HTMLLimebbDatePickerElementEventMap {
|
|
2443
2487
|
"change": string | Date | null;
|
|
2444
2488
|
}
|
|
@@ -2827,7 +2871,7 @@ declare global {
|
|
|
2827
2871
|
* @exampleComponent limebb-example-kanban-assignees
|
|
2828
2872
|
* @exampleComponent limebb-example-kanban-unpromoted-actions
|
|
2829
2873
|
* @exampleComponent limebb-example-kanban-group-insights
|
|
2830
|
-
* @exampleComponent limebb-example-kanban-
|
|
2874
|
+
* @exampleComponent limebb-example-kanban-body-component
|
|
2831
2875
|
* @beta
|
|
2832
2876
|
*/
|
|
2833
2877
|
interface HTMLLimebbKanbanElement extends Components.LimebbKanban, HTMLStencilElement {
|
|
@@ -3691,6 +3735,7 @@ declare global {
|
|
|
3691
3735
|
"limebb-component-picker": HTMLLimebbComponentPickerElement;
|
|
3692
3736
|
"limebb-currency-picker": HTMLLimebbCurrencyPickerElement;
|
|
3693
3737
|
"limebb-dashboard-widget": HTMLLimebbDashboardWidgetElement;
|
|
3738
|
+
"limebb-data-cells": HTMLLimebbDataCellsElement;
|
|
3694
3739
|
"limebb-date-picker": HTMLLimebbDatePickerElement;
|
|
3695
3740
|
"limebb-date-range": HTMLLimebbDateRangeElement;
|
|
3696
3741
|
"limebb-document-item": HTMLLimebbDocumentItemElement;
|
|
@@ -4065,6 +4110,33 @@ declare namespace LocalJSX {
|
|
|
4065
4110
|
*/
|
|
4066
4111
|
"supportingText"?: string;
|
|
4067
4112
|
}
|
|
4113
|
+
/**
|
|
4114
|
+
* Renders a list of key-value data cells in two visual groups:
|
|
4115
|
+
* primary (prominent) and secondary (less dominant).
|
|
4116
|
+
* @exampleComponent limebb-example-data-cells-basic
|
|
4117
|
+
* @exampleComponent limebb-example-data-cells-primary-secondary
|
|
4118
|
+
* @exampleComponent limebb-example-data-cells-typed-values
|
|
4119
|
+
* @exampleComponent limebb-example-data-cells-relative-dates
|
|
4120
|
+
* @beta
|
|
4121
|
+
*/
|
|
4122
|
+
interface LimebbDataCells {
|
|
4123
|
+
/**
|
|
4124
|
+
* @inheritdoc
|
|
4125
|
+
*/
|
|
4126
|
+
"context"?: LimeWebComponentContext;
|
|
4127
|
+
/**
|
|
4128
|
+
* The data cells to render.
|
|
4129
|
+
*/
|
|
4130
|
+
"items"?: DataCell[];
|
|
4131
|
+
/**
|
|
4132
|
+
* The source LimeObject. Used by interactive cell types like `belongsto` to resolve related objects.
|
|
4133
|
+
*/
|
|
4134
|
+
"limeobject"?: any;
|
|
4135
|
+
/**
|
|
4136
|
+
* @inheritdoc
|
|
4137
|
+
*/
|
|
4138
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4139
|
+
}
|
|
4068
4140
|
/**
|
|
4069
4141
|
* When developing apps, add-ons, or solution for Lime CRM,
|
|
4070
4142
|
* you may need date pickers in the UI.
|
|
@@ -4643,7 +4715,7 @@ declare namespace LocalJSX {
|
|
|
4643
4715
|
* @exampleComponent limebb-example-kanban-assignees
|
|
4644
4716
|
* @exampleComponent limebb-example-kanban-unpromoted-actions
|
|
4645
4717
|
* @exampleComponent limebb-example-kanban-group-insights
|
|
4646
|
-
* @exampleComponent limebb-example-kanban-
|
|
4718
|
+
* @exampleComponent limebb-example-kanban-body-component
|
|
4647
4719
|
* @beta
|
|
4648
4720
|
*/
|
|
4649
4721
|
interface LimebbKanban {
|
|
@@ -6000,6 +6072,7 @@ declare namespace LocalJSX {
|
|
|
6000
6072
|
"limebb-component-picker": LimebbComponentPicker;
|
|
6001
6073
|
"limebb-currency-picker": LimebbCurrencyPicker;
|
|
6002
6074
|
"limebb-dashboard-widget": LimebbDashboardWidget;
|
|
6075
|
+
"limebb-data-cells": LimebbDataCells;
|
|
6003
6076
|
"limebb-date-picker": LimebbDatePicker;
|
|
6004
6077
|
"limebb-date-range": LimebbDateRange;
|
|
6005
6078
|
"limebb-document-item": LimebbDocumentItem;
|
|
@@ -6140,6 +6213,16 @@ declare module "@stencil/core" {
|
|
|
6140
6213
|
* @exampleComponent limebb-example-dashboard-widget-slots
|
|
6141
6214
|
*/
|
|
6142
6215
|
"limebb-dashboard-widget": LocalJSX.LimebbDashboardWidget & JSXBase.HTMLAttributes<HTMLLimebbDashboardWidgetElement>;
|
|
6216
|
+
/**
|
|
6217
|
+
* Renders a list of key-value data cells in two visual groups:
|
|
6218
|
+
* primary (prominent) and secondary (less dominant).
|
|
6219
|
+
* @exampleComponent limebb-example-data-cells-basic
|
|
6220
|
+
* @exampleComponent limebb-example-data-cells-primary-secondary
|
|
6221
|
+
* @exampleComponent limebb-example-data-cells-typed-values
|
|
6222
|
+
* @exampleComponent limebb-example-data-cells-relative-dates
|
|
6223
|
+
* @beta
|
|
6224
|
+
*/
|
|
6225
|
+
"limebb-data-cells": LocalJSX.LimebbDataCells & JSXBase.HTMLAttributes<HTMLLimebbDataCellsElement>;
|
|
6143
6226
|
/**
|
|
6144
6227
|
* When developing apps, add-ons, or solution for Lime CRM,
|
|
6145
6228
|
* you may need date pickers in the UI.
|
|
@@ -6310,7 +6393,7 @@ declare module "@stencil/core" {
|
|
|
6310
6393
|
* @exampleComponent limebb-example-kanban-assignees
|
|
6311
6394
|
* @exampleComponent limebb-example-kanban-unpromoted-actions
|
|
6312
6395
|
* @exampleComponent limebb-example-kanban-group-insights
|
|
6313
|
-
* @exampleComponent limebb-example-kanban-
|
|
6396
|
+
* @exampleComponent limebb-example-kanban-body-component
|
|
6314
6397
|
* @beta
|
|
6315
6398
|
*/
|
|
6316
6399
|
"limebb-kanban": LocalJSX.LimebbKanban & JSXBase.HTMLAttributes<HTMLLimebbKanbanElement>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formats a date as a localized relative time expression,
|
|
3
|
+
* e.g. "3 days ago" or "in 2 months".
|
|
4
|
+
*
|
|
5
|
+
* Uses the browser's native `Intl.RelativeTimeFormat` API.
|
|
6
|
+
* @param date
|
|
7
|
+
* @param language
|
|
8
|
+
*/
|
|
9
|
+
export declare function formatRelativeDate(date: Date, language: string): string;
|
|
10
|
+
//# sourceMappingURL=format-relative-date.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.110.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.5.
|
|
38
|
+
"@limetech/lime-elements": "^39.5.7",
|
|
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.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,c as r,h as i,H as o}from"./p-52cf8641.js";import{c as a}from"./p-3b1fcd5b.js";const s=class{constructor(o){e(this,o),this.interact=r(this,"interact",7),this.renderRelations=()=>{var e,r,o;if(null===(r=null===(e=this.item)||void 0===e?void 0:e.relations)||void 0===r?void 0:r.length)return i("limel-chip-set",{value:null===(o=this.item)||void 0===o?void 0:o.relations})},this.renderAssigneesAvatar=e=>e.picture?i("img",{loading:"lazy",src:e.picture,alt:e.name.text}):i("limel-icon",{name:e.icon.name,style:{color:`${e.icon.color}`,"background-color":`${e.icon.backgroundColor}`}}),this.createMenuItem=e=>{var r,i;return"separator"in e?e:{value:e,text:null!==(r=e.label)&&void 0!==r?r:"",secondaryText:e.description,disabled:e.disabled,icon:null!==(i=e.icon)&&void 0!==i?i:""}},this.handleMenuItemSelect=e=>{var r;e.stopPropagation();const i=null===(r=e.detail.value)||void 0===r?void 0:r.command;i&&this.commandbus.handle(i)},this.handleKeyDown=e=>{"Enter"===e.key&&this.handleKanbanItemClick()},this.handleKanbanItemClick=()=>{this.interact.emit(this.item)}}render(){var e,r;return i(o,{key:"4ae9dbc241bda4df40a9b81e5c84bd9bc6d49699",id:this.item.id.toString(),class:{"has-unpromoted-actions":!!(null===(e=this.item.unpromotedActions)||void 0===e?void 0:e.length),"is-selected":!!(null===(r=this.item)||void 0===r?void 0:r.selected)},style:{"--limebb-kanban-item-color-code":`${this.item.color}`},onClick:this.handleKanbanItemClick,onKeyDown:this.handleKeyDown},this.renderHeader(),this.renderContent(),this.renderSlot(),this.renderFooter())}renderHeader(){return i("div",{class:"header"},this.renderIcon(),this.renderHeading(),this.renderUnpromotedActionsMenu())}renderIcon(){var e,r,o,a;if(this.item.icon)return i("limel-icon",{class:"icon",badge:!0,name:null!==(r=null===(e=this.item.icon)||void 0===e?void 0:e.name)&&void 0!==r?r:"dot_circle",style:{color:`${null===(o=this.item.icon)||void 0===o?void 0:o.color}`,"background-color":`${null===(a=this.item.icon)||void 0===a?void 0:a.backgroundColor}`}})}renderContent(){return i("div",{class:"content"},this.renderValue(),this.renderRelations())}renderHeading(){if(this.item.heading)return i("limel-markdown",{class:"heading",value:this.item.heading})}renderValue(){if(this.item.value)return i("limel-markdown",{class:"body reset-img-height",value:this.item.value})}renderUnpromotedActionsMenu(){var e,r;if(!(null===(e=this.item.unpromotedActions)||void 0===e?void 0:e.length))return;const o=this.item.unpromotedActions.map(this.createMenuItem);return i("limel-menu",{class:"unpromoted-actions-menu",items:o,openDirection:"bottom-end",onSelect:this.handleMenuItemSelect},i("limel-icon",{class:"actions",name:"menu_2",slot:"trigger",size:"small",id:"item-actions-tooltip"}),i("limel-tooltip",{elementId:"item-actions-tooltip",label:null===(r=this.translator)||void 0===r?void 0:r.get("webclient.more-actions"),openDirection:"top-end"}))}renderSlot(){var e;if(null===(e=this.item)||void 0===e?void 0:e.bodyComponent)return i("slot",{name:"body"})}renderFooter(){var e;if(null===(e=this.item.assignees)||void 0===e?void 0:e.length)return i("div",{class:"footer"},this.renderAssignees())}renderAssignees(){var e;if(null===(e=this.item.assignees)||void 0===e?void 0:e.length)return i("div",{class:"assignees"},this.item.assignees.map((e=>{var r;return i("limebb-summary-popover",Object.assign({icon:null===(r=e.icon)||void 0===r?void 0:r.name},e.picture&&{image:{src:e.picture,alt:e.name.text||""}},{heading:e.name.text,value:this.createLinkToAssignee(e)}),i("a",{slot:"trigger",class:"assignee",href:e.name.href,title:e.name.text},this.renderAssigneesAvatar(e),i("span",null,e.name.text)))})))}createLinkToAssignee(e){const r=this.translator.get("webclient.actions.goto-object",{limetype:": <br><b>"+e.name.text+"</b>"});return`<a class="author" href="${e.name.href}" title="${e.name.text}">${r}</a>`}get translator(){var e;return null===(e=this.platform)||void 0===e?void 0:e.get(a.Translate)}get commandbus(){var e;return null===(e=this.platform)||void 0===e?void 0:e.get(a.CommandBus)}};s.style='@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}:host(limebb-kanban-item){position:relative;box-sizing:border-box;display:flex;flex-direction:column;border-radius:0.5rem}:host(limebb-kanban-item):before{content:"";display:block;position:absolute;top:1rem;bottom:1rem;right:0;transform:translateX(50%);width:0.25rem;border-radius:1rem;background-color:var(--limebb-kanban-item-color-code)}.content{padding-top:0.25rem;min-height:3rem}.header{display:flex;align-items:flex-start;gap:0.5rem;min-height:1.75rem;padding:0.25rem 0.5rem;border-radius:0.5rem 0.5rem 0 0;background-color:rgb(var(--contrast-300))}.header a{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary);text-decoration:none}.header a:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:"";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}.header a:hover{color:rgb(var(--color-teal-light))}.header a:hover:before{opacity:0.3;transform:scale(1)}.heading{--markdown-hyperlink-color:var(--mdc-theme-primary);--markdown-hyperlink-color--hovered:rgb(var(--color-teal-light))}.unpromoted-actions-menu{margin:-0.5rem -0.5rem -0.25rem auto}.body{--limel-top-edge-fade-height:0.5rem;--limel-bottom-edge-fade-height:1rem;display:block;padding-left:0.5rem;padding-right:0.5rem;margin-top:-0.5rem;color:rgb(var(--contrast-1100));max-height:12rem;--limel-overflow-mask-vertical:linear-gradient(\n to bottom,\n transparent 0%,\n black calc(0% + var(--limel-top-edge-fade-height, 1rem)),\n black calc(100% - var(--limel-bottom-edge-fade-height, 1rem)),\n transparent 100%\n );-webkit-mask-image:var(--limel-overflow-mask-vertical);mask-image:var(--limel-overflow-mask-vertical);padding-top:var(--limel-top-edge-fade-height, 1rem);padding-bottom:var(--limel-bottom-edge-fade-height, 1rem)}limel-chip-set{--limel-chip-size:1.5rem;display:block;margin-left:-0.5rem;margin-right:0.5rem;padding-bottom:0.5rem}.footer{position:relative;display:flex;align-items:center;gap:0.5rem;padding:0.25rem 0.25rem 0.125rem;margin:0 0.25rem;border-top:1px dashed rgb(var(--contrast-300))}.header limel-icon,.footer limel-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.header .actions{margin:0.5rem 0.25rem 0}.header .actions:hover{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(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal)}.header .actions:hover:hover,.header .actions:hover:focus,.header .actions:hover:focus-visible{will-change:color, background-color, box-shadow, transform}.header .actions:hover:hover,.header .actions:hover:focus-visible{transform:translate3d(0, -0.04rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}.header .actions:hover: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)}.header .actions:hover:hover,.header .actions:hover:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.footer img{border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgb(var(--contrast-800), 0.4);flex-shrink:0;width:1.25rem;height:1.25rem}.assignees{display:flex;align-items:center;gap:0.25rem}.assignees:has(>:nth-child(2)) span{display:none}.assignees:has(>:nth-child(2)) img,.assignees:has(>:nth-child(2)) limel-icon{margin-right:-0.5rem}.assignees:hover img,.assignees:hover limel-icon,.assignees:focus-within img,.assignees:focus-within limel-icon{margin-right:0rem}.assignees:hover .assignee:not(:hover):not(:focus-visible) img,.assignees:hover .assignee:not(:hover):not(:focus-visible) limel-icon,.assignees:focus-within .assignee:not(:hover):not(:focus-visible) img,.assignees:focus-within .assignee:not(:hover):not(:focus-visible) limel-icon{filter:grayscale(1);opacity:0.6}.assignee{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:transparent;display:flex;align-items:center;text-decoration:none;gap:0.25rem;margin-left:0;border-radius:1rem}.assignee:hover,.assignee:focus,.assignee:focus-visible{will-change:color, background-color, box-shadow, transform}.assignee:hover,.assignee:focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}.assignee:hover{box-shadow:var(--button-shadow-hovered)}.assignee: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)}.assignee:hover,.assignee:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.assignee:focus{outline:none}.assignee:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.assignee limel-icon,.assignee img{transition:margin 0.2s ease, opacity 0.2s ease, filter 0.2s ease}.assignee limel-icon{padding:0.125rem;box-shadow:0 0 0 1px rgb(var(--contrast-800), 0.4);background-color:rgb(var(--contrast-100))}.assignee span{font-size:0.75rem;color:rgb(var(--contrast-900));padding-right:0.5rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}slot[name=body]{display:block;padding:0 0.5rem 0.5rem 0.5rem}';export{s as limebb_kanban_item}
|