@limetech/lime-crm-building-blocks 1.92.0 → 1.92.2
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/lime-crm-building-blocks.cjs.js +1 -1
- package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +20 -0
- package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +2 -2
- package/dist/cjs/limebb-feed.cjs.entry.js +25 -19
- package/dist/cjs/limebb-icon-picker.cjs.entry.js +25 -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-live-docs-info.cjs.entry.js +2 -2
- package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
- package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
- package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +3 -3
- package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -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/chat-list/chat-item/chat-item.css +10 -0
- package/dist/collection/components/chat-list/chat-list.css +10 -0
- package/dist/collection/components/feed/feed-item/feed-timeline-item.css +19 -7
- 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.css +103 -0
- package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +48 -0
- package/dist/collection/components/feed/feed.css +37 -3
- package/dist/collection/components/feed/feed.js +24 -18
- 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.css +10 -0
- package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
- package/dist/collection/components/kanban/kanban-item/kanban-item.css +10 -0
- package/dist/collection/components/kanban/kanban-item/kanban-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/navigation-button/navigation-button.css +10 -0
- package/dist/collection/components/notification-list/notification-item/notification-item.css +10 -0
- package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
- package/dist/collection/components/notification-list/notification-list.css +10 -0
- package/dist/collection/components/percentage-visualizer/percentage-visualizer.css +10 -0
- package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
- package/dist/collection/components/summary-popover/summary-popover.js +3 -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.css +10 -0
- package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
- package/dist/components/feed-item-thumbnail-file-info.js +33 -0
- package/dist/components/feed-timeline-item.js +9 -3
- package/dist/components/kanban-group.js +1 -1
- package/dist/components/kanban-item.js +1 -1
- package/dist/components/limebb-feed-item-thumbnail-file-info.d.ts +11 -0
- package/dist/components/limebb-feed-item-thumbnail-file-info.js +6 -0
- package/dist/components/limebb-feed.js +33 -21
- package/dist/components/limebb-icon-picker.js +25 -1
- package/dist/components/limebb-info-tile-format.js +1 -1
- package/dist/components/limebb-info-tile.js +1 -1
- package/dist/components/limebb-locale-picker.js +1 -1
- package/dist/components/limebb-mention-group-counter.js +2 -2
- package/dist/components/limebb-percentage-visualizer.js +2 -2
- package/dist/components/limebb-text-editor.js +1 -1
- package/dist/components/limebb-trend-indicator.js +1 -1
- package/dist/components/live-docs-info.js +2 -2
- package/dist/components/notification-item.js +1 -1
- package/dist/components/summary-popover.js +3 -3
- package/dist/esm/lime-crm-building-blocks.js +1 -1
- package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +16 -0
- package/dist/esm/limebb-feed-timeline-item.entry.js +2 -2
- package/dist/esm/limebb-feed.entry.js +25 -19
- package/dist/esm/limebb-icon-picker.entry.js +25 -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-live-docs-info.entry.js +2 -2
- package/dist/esm/limebb-locale-picker.entry.js +1 -1
- package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
- package/dist/esm/limebb-navigation-button_2.entry.js +3 -3
- package/dist/esm/limebb-notification-item.entry.js +1 -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-500fb55e.entry.js → p-16199127.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-f820c983.entry.js → p-46d2f604.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-c57483fa.entry.js → p-5821e0c8.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-15708dd4.entry.js → p-5be6acf1.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-fc63eb39.entry.js → p-5f336ee9.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-be74a90d.entry.js → p-8274ea5c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e95a8a61.entry.js → p-88cc5b66.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-13e5551b.entry.js → p-98c63d2d.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-a44f543c.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-40bbe0e2.entry.js → p-aac46e3c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-bebe4db0.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-e1e5f461.entry.js → p-d6af09a8.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-a74889cc.entry.js → p-df6ff5d6.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-e2f9e0cc.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-9d5e66a4.entry.js → p-e3c0183c.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-853cb9ed.entry.js → p-efc9d455.entry.js} +1 -1
- package/dist/types/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.d.ts +15 -0
- package/dist/types/components/feed/feed.d.ts +6 -1
- package/dist/types/components.d.ts +49 -0
- package/package.json +3 -3
- package/dist/lime-crm-building-blocks/p-79d60b0f.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-f55449ef.entry.js +0 -1
|
@@ -57,6 +57,16 @@
|
|
|
57
57
|
* to enable you to truncate a piece of text,
|
|
58
58
|
* after a certain number of lines.
|
|
59
59
|
*/
|
|
60
|
+
/**
|
|
61
|
+
* This mixin will add a chessboard background pattern,
|
|
62
|
+
* typically used to visualize transparency.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Make a container resizable by the user.
|
|
66
|
+
* This is used in the documentations and examples
|
|
67
|
+
* of some components, to demonstrate how the component
|
|
68
|
+
* behaves in a resizable container.
|
|
69
|
+
*/
|
|
60
70
|
/**
|
|
61
71
|
* The breakpoints below are used to create responsive designs
|
|
62
72
|
* in Lime's products. Therefore, they are here to get distributed
|
|
@@ -639,23 +649,24 @@ limel-chip-set {
|
|
|
639
649
|
}
|
|
640
650
|
|
|
641
651
|
.thumbnails-grid {
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
652
|
+
display: block;
|
|
653
|
+
width: 100%;
|
|
654
|
+
padding: 0.25rem 0;
|
|
655
|
+
columns: 10rem;
|
|
656
|
+
gap: clamp(0.25rem, 2vmin, 0.75rem);
|
|
645
657
|
}
|
|
646
658
|
.thumbnails-grid > .thumbnail-card-link {
|
|
647
|
-
|
|
648
|
-
margin: 0 0 0.5rem;
|
|
659
|
+
display: block;
|
|
649
660
|
break-inside: avoid;
|
|
661
|
+
margin-bottom: clamp(0.25rem, 2vmin, 0.75rem);
|
|
650
662
|
}
|
|
651
|
-
|
|
652
663
|
@supports (grid-template-rows: masonry) {
|
|
653
664
|
.thumbnails-grid {
|
|
654
665
|
/* reset column fallback */
|
|
655
666
|
column-width: initial;
|
|
656
667
|
column-gap: initial;
|
|
657
668
|
display: grid;
|
|
658
|
-
grid-template-columns: repeat(auto-fill, minmax(
|
|
669
|
+
grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
|
|
659
670
|
grid-template-rows: masonry;
|
|
660
671
|
grid-auto-flow: dense;
|
|
661
672
|
gap: 0.5rem;
|
|
@@ -667,6 +678,7 @@ limel-chip-set {
|
|
|
667
678
|
break-inside: auto;
|
|
668
679
|
}
|
|
669
680
|
}
|
|
681
|
+
|
|
670
682
|
:host(limebb-feed-timeline-item[has-error]:not([has-error=false])) .left:before {
|
|
671
683
|
background-color: rgb(var(--color-red-default));
|
|
672
684
|
box-shadow: 0 0 0 1px rgb(var(--color-red-default));
|
|
@@ -98,7 +98,7 @@ export class FeedTimelineItem {
|
|
|
98
98
|
}
|
|
99
99
|
const id = 'thumb-' + crypto.randomUUID();
|
|
100
100
|
return [
|
|
101
|
-
h("a", { class: "thumbnail-card-link", id: id, key: id, href: href || undefined }, h("limel-card", { image: image,
|
|
101
|
+
h("a", { class: "thumbnail-card-link", id: id, key: id, href: href || undefined }, h("limel-card", { image: image, clickable: !!href }, h("limebb-feed-item-thumbnail-file-info", { slot: "component", description: filename })), this.showThumbnailTooltip(thumbnail, id)),
|
|
102
102
|
];
|
|
103
103
|
};
|
|
104
104
|
this.setBodyTextElement = (element) => {
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
/**
|
|
3
|
+
* Note! This file is exported to `dist/scss/` in the published
|
|
4
|
+
* node module, for consumer projects to import.
|
|
5
|
+
* That means this file cannot import from any file that isn't
|
|
6
|
+
* also exported, keeping the same relative path.
|
|
7
|
+
*
|
|
8
|
+
* Or, just don't import anything, that works too.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* This can be used on a trigger element that opens a dropdown menu or a popover.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* This mixin will mask out the content that is close to
|
|
15
|
+
* the edges of a scrollable area.
|
|
16
|
+
* - If the scrollable content has `overflow-y`, use `vertically`
|
|
17
|
+
* as an argument for `$direction`.
|
|
18
|
+
- If the scrollable content has `overflow-x`, use `horizontally`
|
|
19
|
+
* as an argument for `$direction`.
|
|
20
|
+
*
|
|
21
|
+
* For the visual effect to work smoothly, we need to make sure that
|
|
22
|
+
* the size of the fade-out edge effect is the same as the
|
|
23
|
+
* internal paddings of the scrollable area. Otherwise, content of a
|
|
24
|
+
* scrollable area that does not have a padding will fade out before
|
|
25
|
+
* any scrolling has been done.
|
|
26
|
+
* This is why this mixin already adds paddings, which automatically
|
|
27
|
+
* default to the size of the fade-out effect.
|
|
28
|
+
* This size defaults to `1rem`, but to override the size use
|
|
29
|
+
* `--limel-top-edge-fade-height` & `--limel-bottom-edge-fade-height`
|
|
30
|
+
* when `vertically` argument is set, and use
|
|
31
|
+
* `--limel-left-edge-fade-width` & `--limel-right-edge-fade-width`
|
|
32
|
+
* when `horizontally` argument is set.
|
|
33
|
+
* Of course you can also programmatically increase and decrease the
|
|
34
|
+
* size of these variables for each edge, based on the amount of
|
|
35
|
+
* scrolling that has been done by the user. In this case, make sure
|
|
36
|
+
* to add a custom padding where the mixin is used, to override
|
|
37
|
+
* the paddings that are automatically added by the mixin in the
|
|
38
|
+
* compiled CSS code.
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* This mixin will add an animated underline to the bottom of an `a` elements.
|
|
42
|
+
* Note that you may need to add `all: unset;` –depending on your use case–
|
|
43
|
+
* before using this mixin.
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* This mixin creates a cross-browser font stack.
|
|
47
|
+
* - `sans-serif` can be used for the UI of the components.
|
|
48
|
+
* - `monospace` can be used for code.
|
|
49
|
+
*
|
|
50
|
+
* ⚠️ If we change the font stacks, we need to update
|
|
51
|
+
* 1. the consumer documentation in `README.md`, and
|
|
52
|
+
* 2. the CSS variables of `--kompendium-example-font-family`
|
|
53
|
+
* in the `<style>` tag of `index.html`.
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* This mixin is a hack, using old CSS syntax
|
|
57
|
+
* to enable you to truncate a piece of text,
|
|
58
|
+
* after a certain number of lines.
|
|
59
|
+
*/
|
|
60
|
+
/**
|
|
61
|
+
* This mixin will add a chessboard background pattern,
|
|
62
|
+
* typically used to visualize transparency.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Make a container resizable by the user.
|
|
66
|
+
* This is used in the documentations and examples
|
|
67
|
+
* of some components, to demonstrate how the component
|
|
68
|
+
* behaves in a resizable container.
|
|
69
|
+
*/
|
|
70
|
+
/**
|
|
71
|
+
* The breakpoints below are used to create responsive designs
|
|
72
|
+
* in Lime's products. Therefore, they are here to get distributed
|
|
73
|
+
* to all components in other private repos, which rely on this `mixins`
|
|
74
|
+
* file, to create consistent styles.
|
|
75
|
+
*
|
|
76
|
+
* :::important
|
|
77
|
+
* In very rare cases you should used media queries!
|
|
78
|
+
* Nowadays, there are many better ways of achieving responsive design
|
|
79
|
+
* without media queries. For example, using CSS Grid, Flexbox, and their features.
|
|
80
|
+
* :::
|
|
81
|
+
*/
|
|
82
|
+
/**
|
|
83
|
+
* Media query mixins for responsive design based on screen width.
|
|
84
|
+
* Note that these mixins do not detect the device type!
|
|
85
|
+
*/
|
|
86
|
+
:host(limebb-feed-item-thumbnail-file-info) {
|
|
87
|
+
display: flex;
|
|
88
|
+
align-items: center;
|
|
89
|
+
gap: 0.5rem;
|
|
90
|
+
padding: 0 0.25rem 0.125rem 0.25rem;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
span {
|
|
94
|
+
display: -webkit-box;
|
|
95
|
+
overflow: hidden;
|
|
96
|
+
white-space: normal;
|
|
97
|
+
-webkit-box-orient: vertical;
|
|
98
|
+
-webkit-line-clamp: 2;
|
|
99
|
+
line-height: normal;
|
|
100
|
+
color: rgb(var(--contrast-1000));
|
|
101
|
+
flex-grow: 1;
|
|
102
|
+
font-size: 0.75rem;
|
|
103
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* This component renders information about a file.
|
|
4
|
+
* It is used in the feed item thumbnail card to display file details.
|
|
5
|
+
* If the filename or the "Primary title" is too long, this component
|
|
6
|
+
* will truncate the text with an ellipsis, on the second line.
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
export class FeedItemThumbnailFileInfo {
|
|
10
|
+
render() {
|
|
11
|
+
return h("span", { key: 'adefcb0955cf6ae663bc9edd1a449e21b352c202' }, this.description);
|
|
12
|
+
}
|
|
13
|
+
static get is() { return "limebb-feed-item-thumbnail-file-info"; }
|
|
14
|
+
static get encapsulation() { return "shadow"; }
|
|
15
|
+
static get originalStyleUrls() {
|
|
16
|
+
return {
|
|
17
|
+
"$": ["feed-item-thumbnail-file-info.scss"]
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
static get styleUrls() {
|
|
21
|
+
return {
|
|
22
|
+
"$": ["feed-item-thumbnail-file-info.css"]
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
static get properties() {
|
|
26
|
+
return {
|
|
27
|
+
"description": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"mutable": false,
|
|
30
|
+
"complexType": {
|
|
31
|
+
"original": "string",
|
|
32
|
+
"resolved": "string",
|
|
33
|
+
"references": {}
|
|
34
|
+
},
|
|
35
|
+
"required": false,
|
|
36
|
+
"optional": false,
|
|
37
|
+
"docs": {
|
|
38
|
+
"tags": [],
|
|
39
|
+
"text": "The name of the file, or the \"Primary title\" of the document object."
|
|
40
|
+
},
|
|
41
|
+
"getter": false,
|
|
42
|
+
"setter": false,
|
|
43
|
+
"attribute": "description",
|
|
44
|
+
"reflect": false
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -20,11 +20,45 @@ limel-spinner {
|
|
|
20
20
|
margin: auto;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
.date-group {
|
|
24
|
+
isolation: isolate;
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
gap: 0.375rem;
|
|
28
|
+
}
|
|
29
|
+
|
|
23
30
|
.date-heading {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
position: sticky;
|
|
32
|
+
z-index: 1;
|
|
33
|
+
top: 0.25rem;
|
|
34
|
+
display: flex;
|
|
35
|
+
border-radius: 9rem;
|
|
36
|
+
padding: 0.25rem 0.5rem;
|
|
37
|
+
margin: 0 auto 0 -0.5rem;
|
|
38
|
+
width: fit-content;
|
|
39
|
+
font-size: 0.75rem;
|
|
40
|
+
line-height: 1;
|
|
27
41
|
color: rgb(var(--contrast-900));
|
|
42
|
+
backdrop-filter: blur(0.5rem);
|
|
43
|
+
-webkit-backdrop-filter: blur(0.5rem);
|
|
44
|
+
transition: color 0.2s ease, border-color 0.4s ease;
|
|
45
|
+
}
|
|
46
|
+
.date-heading:hover {
|
|
47
|
+
color: rgb(var(--contrast-1000));
|
|
48
|
+
border-color: rgb(var(--contrast-500));
|
|
49
|
+
}
|
|
50
|
+
.date-heading:hover:before {
|
|
51
|
+
opacity: 1;
|
|
52
|
+
}
|
|
53
|
+
.date-heading:before {
|
|
54
|
+
transition: opacity 0.2s ease;
|
|
55
|
+
content: "";
|
|
56
|
+
position: absolute;
|
|
57
|
+
z-index: -1;
|
|
58
|
+
inset: 0;
|
|
59
|
+
opacity: 0.6;
|
|
60
|
+
border-radius: inherit;
|
|
61
|
+
background-color: rgb(var(--contrast-100));
|
|
28
62
|
}
|
|
29
63
|
|
|
30
64
|
limebb-feed-timeline-item:has(+ limebb-feed-timeline-item[is-bundled]) {
|
|
@@ -117,13 +117,10 @@ export class Feed {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
renderFeedItems() {
|
|
120
|
-
return this.items.map((item, index) =>
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
h("limebb-feed-timeline-item", { platform: this.platform, context: this.context, item: item, key: item.id, ui: item === null || item === void 0 ? void 0 : item.ui, helperText: item === null || item === void 0 ? void 0 : item.helperText, hasError: item === null || item === void 0 ? void 0 : item.hasError, isBundled: this.isBundled(item, index) }),
|
|
125
|
-
];
|
|
126
|
-
});
|
|
120
|
+
return this.groupedItems.map((group) => (h("section", { class: "date-group", key: `date-group-${group.date}-${group.items[0].index}` }, h("a", { class: "date-heading" }, group.date), group.items.map(({ item, index }) => [
|
|
121
|
+
this.renderNewItemsIndicator(item.timestamp, index),
|
|
122
|
+
h("limebb-feed-timeline-item", { platform: this.platform, context: this.context, item: item, key: item.id, ui: item === null || item === void 0 ? void 0 : item.ui, helperText: item === null || item === void 0 ? void 0 : item.helperText, hasError: item === null || item === void 0 ? void 0 : item.hasError, isBundled: this.isBundled(item, index) }),
|
|
123
|
+
]))));
|
|
127
124
|
}
|
|
128
125
|
renderNewItemsIndicator(timestamp, index) {
|
|
129
126
|
if (!this.lastVisitedTimestamp) {
|
|
@@ -155,17 +152,6 @@ export class Feed {
|
|
|
155
152
|
renderIndicator() {
|
|
156
153
|
return (h("div", { class: "new-items-indicator" }, h("hr", null), h("h3", null, this.translator.get('webclient.new'))));
|
|
157
154
|
}
|
|
158
|
-
renderDateHeader(timestamp, index) {
|
|
159
|
-
const currentIndexDate = this.dateTimeFormatter.format(timestamp, 'date');
|
|
160
|
-
if (index === 0) {
|
|
161
|
-
return h("a", { class: "date-heading" }, currentIndexDate);
|
|
162
|
-
}
|
|
163
|
-
const previousIndexDate = this.dateTimeFormatter.format(this.items[index - 1].timestamp, 'date');
|
|
164
|
-
if (previousIndexDate === currentIndexDate) {
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
return h("a", { class: "date-heading" }, currentIndexDate);
|
|
168
|
-
}
|
|
169
155
|
renderLoadMore() {
|
|
170
156
|
if (this.items.length === 0 || this.totalCount <= this.items.length) {
|
|
171
157
|
return;
|
|
@@ -181,6 +167,26 @@ export class Feed {
|
|
|
181
167
|
get translator() {
|
|
182
168
|
return this.platform.get(PlatformServiceName.Translate);
|
|
183
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Groups feed items by calendar date (formatted using date formatter 'date').
|
|
172
|
+
* Returns an array of groups each containing the display date string and
|
|
173
|
+
* the original items with their indices.
|
|
174
|
+
*/
|
|
175
|
+
get groupedItems() {
|
|
176
|
+
const groups = [];
|
|
177
|
+
for (let index = 0; index < this.items.length; index++) {
|
|
178
|
+
const item = this.items[index];
|
|
179
|
+
const dateKey = this.dateTimeFormatter.format(item.timestamp, 'date');
|
|
180
|
+
const lastGroup = groups.at(-1);
|
|
181
|
+
if (!lastGroup || lastGroup.date !== dateKey) {
|
|
182
|
+
groups.push({ date: dateKey, items: [{ item, index }] });
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
lastGroup.items.push({ item, index });
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return groups;
|
|
189
|
+
}
|
|
184
190
|
highlightedItemIdChanged(newValue) {
|
|
185
191
|
if (newValue !== undefined) {
|
|
186
192
|
this.highlightItem(newValue);
|
|
@@ -35,7 +35,7 @@ export class IconPicker {
|
|
|
35
35
|
icon: this.value,
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
-
return (h("limel-picker", { key: '
|
|
38
|
+
return (h("limel-picker", { key: '4be7dd4855e9fb6bbb0f6167a9c3e478f262b23c', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, value: value, searcher: this.search, onChange: this.handleChange, badgeIcons: false, leadingIcon: "search", searchLabel: "Start typing to find the right icon" }));
|
|
39
39
|
}
|
|
40
40
|
static get is() { return "limebb-icon-picker"; }
|
|
41
41
|
static get encapsulation() { return "shadow"; }
|
|
@@ -92,7 +92,7 @@ export class InfoTileAdminConfig {
|
|
|
92
92
|
},
|
|
93
93
|
];
|
|
94
94
|
return [
|
|
95
|
-
h("limel-button-group", { key: '
|
|
95
|
+
h("limel-button-group", { key: '74a794bc61c9692587bf35e54712c649d3768f9b', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
|
|
96
96
|
this.renderFormatConfig(),
|
|
97
97
|
];
|
|
98
98
|
}
|
|
@@ -92,7 +92,7 @@ export class InfoTile {
|
|
|
92
92
|
const errorProps = Object.assign(Object.assign({}, baseProps), { icon: 'error', prefix: 'ERROR', loading: true, label: this.getLabel(filter) });
|
|
93
93
|
const normalProps = Object.assign(Object.assign({}, baseProps), { label: this.getLabel(filter), link: this.getLink(filter), loading: this.loading, value: value === null || value === void 0 ? void 0 : value.value.trim() });
|
|
94
94
|
const props = !filter || this.error ? errorProps : normalProps;
|
|
95
|
-
return (h("limel-info-tile", Object.assign({ key: '
|
|
95
|
+
return (h("limel-info-tile", Object.assign({ key: '4fca09fbc878e3960ed691f68c6041ce53eb12da', class: { error: !filter || this.error } }, props)));
|
|
96
96
|
}
|
|
97
97
|
getFormattedValue() {
|
|
98
98
|
if (!this.value && this.value !== 0) {
|
|
@@ -57,6 +57,16 @@
|
|
|
57
57
|
* to enable you to truncate a piece of text,
|
|
58
58
|
* after a certain number of lines.
|
|
59
59
|
*/
|
|
60
|
+
/**
|
|
61
|
+
* This mixin will add a chessboard background pattern,
|
|
62
|
+
* typically used to visualize transparency.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Make a container resizable by the user.
|
|
66
|
+
* This is used in the documentations and examples
|
|
67
|
+
* of some components, to demonstrate how the component
|
|
68
|
+
* behaves in a resizable container.
|
|
69
|
+
*/
|
|
60
70
|
/**
|
|
61
71
|
* The breakpoints below are used to create responsive designs
|
|
62
72
|
* in Lime's products. Therefore, they are here to get distributed
|
|
@@ -31,7 +31,7 @@ export class KanbanGroup {
|
|
|
31
31
|
this.renderHelp(),
|
|
32
32
|
this.renderGroupHeading(),
|
|
33
33
|
this.renderGroupSummary(),
|
|
34
|
-
h("div", { key: '
|
|
34
|
+
h("div", { key: 'e295aac5500dc6a6a09c3a55dffaeff9a997edf6', class: "items" }, this.renderKanbanItems(), this.renderSpinner(), this.renderLoadMore()),
|
|
35
35
|
];
|
|
36
36
|
}
|
|
37
37
|
renderGroupSummary() {
|
|
@@ -57,6 +57,16 @@
|
|
|
57
57
|
* to enable you to truncate a piece of text,
|
|
58
58
|
* after a certain number of lines.
|
|
59
59
|
*/
|
|
60
|
+
/**
|
|
61
|
+
* This mixin will add a chessboard background pattern,
|
|
62
|
+
* typically used to visualize transparency.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Make a container resizable by the user.
|
|
66
|
+
* This is used in the documentations and examples
|
|
67
|
+
* of some components, to demonstrate how the component
|
|
68
|
+
* behaves in a resizable container.
|
|
69
|
+
*/
|
|
60
70
|
/**
|
|
61
71
|
* The breakpoints below are used to create responsive designs
|
|
62
72
|
* in Lime's products. Therefore, they are here to get distributed
|
|
@@ -50,7 +50,7 @@ export class KanbanItemComponent {
|
|
|
50
50
|
}
|
|
51
51
|
render() {
|
|
52
52
|
var _a, _b;
|
|
53
|
-
return (h(Host, { key: '
|
|
53
|
+
return (h(Host, { key: '15d9b0f4cb7074024a1869ca02e08bc60d6c3153', id: this.item.id.toString(), class: {
|
|
54
54
|
'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
|
|
55
55
|
'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
|
|
56
56
|
}, style: {
|
|
@@ -5,8 +5,8 @@ import { h } from "@stencil/core";
|
|
|
5
5
|
export class LiveDocsInfo {
|
|
6
6
|
render() {
|
|
7
7
|
return [
|
|
8
|
-
h("div", { key: '
|
|
9
|
-
h("p", { key: '
|
|
8
|
+
h("div", { key: 'c9f2a93f053062a3c3c02c2e3653f9d3240a1dd8', class: "header" }, h("limel-icon", { key: 'cee77268f6abf4dee77fdc6e3ba49477ad24d3a6', name: "not_showing_video_frames" }), h("h2", { key: '05034620f48cbeb2195238e4e63e20ef46d1ffb5' }, "Viewing this file type requires ", h("em", { key: 'b556aeb0136a0252682fb54af461d1e779ea6060' }, "Live Docs"))),
|
|
9
|
+
h("p", { key: '3833b1b024525c143a6c03619fcf37e308ac7409' }, h("em", { key: '9cd6242503906d79305a03a67326c756697615cb' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: '8c95828f4b111d62c9629cfed54d099bc60eb159', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
|
|
10
10
|
];
|
|
11
11
|
}
|
|
12
12
|
static get is() { return "limebb-live-docs-info"; }
|
|
@@ -53,7 +53,7 @@ export class LocalePicker {
|
|
|
53
53
|
const value = this.value;
|
|
54
54
|
selectedOptions = options.find((option) => option.value === value);
|
|
55
55
|
}
|
|
56
|
-
return (h("limel-select", { key: '
|
|
56
|
+
return (h("limel-select", { key: '8796010a6c1c7413d6e7ea8b6db963d82717c1c6', value: selectedOptions, options: sortBy(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
|
|
57
57
|
}
|
|
58
58
|
static get is() { return "limebb-locale-picker"; }
|
|
59
59
|
static get encapsulation() { return "shadow"; }
|
|
@@ -57,6 +57,16 @@
|
|
|
57
57
|
* to enable you to truncate a piece of text,
|
|
58
58
|
* after a certain number of lines.
|
|
59
59
|
*/
|
|
60
|
+
/**
|
|
61
|
+
* This mixin will add a chessboard background pattern,
|
|
62
|
+
* typically used to visualize transparency.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Make a container resizable by the user.
|
|
66
|
+
* This is used in the documentations and examples
|
|
67
|
+
* of some components, to demonstrate how the component
|
|
68
|
+
* behaves in a resizable container.
|
|
69
|
+
*/
|
|
60
70
|
/**
|
|
61
71
|
* The breakpoints below are used to create responsive designs
|
|
62
72
|
* in Lime's products. Therefore, they are here to get distributed
|
package/dist/collection/components/notification-list/notification-item/notification-item.css
CHANGED
|
@@ -57,6 +57,16 @@
|
|
|
57
57
|
* to enable you to truncate a piece of text,
|
|
58
58
|
* after a certain number of lines.
|
|
59
59
|
*/
|
|
60
|
+
/**
|
|
61
|
+
* This mixin will add a chessboard background pattern,
|
|
62
|
+
* typically used to visualize transparency.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Make a container resizable by the user.
|
|
66
|
+
* This is used in the documentations and examples
|
|
67
|
+
* of some components, to demonstrate how the component
|
|
68
|
+
* behaves in a resizable container.
|
|
69
|
+
*/
|
|
60
70
|
/**
|
|
61
71
|
* The breakpoints below are used to create responsive designs
|
|
62
72
|
* in Lime's products. Therefore, they are here to get distributed
|
|
@@ -56,7 +56,7 @@ export class NotificationListItem {
|
|
|
56
56
|
}
|
|
57
57
|
render() {
|
|
58
58
|
var _a, _b;
|
|
59
|
-
return (h(Host, { key: '
|
|
59
|
+
return (h(Host, { key: 'd02a619aeed66ab5c79556f858e5603ef153a850', id: this.item.id, class: {
|
|
60
60
|
'is-clickable': this.isItemClickable(),
|
|
61
61
|
'is-read': !!((_a = this.item) === null || _a === void 0 ? void 0 : _a.read),
|
|
62
62
|
'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
|
|
@@ -57,6 +57,16 @@
|
|
|
57
57
|
* to enable you to truncate a piece of text,
|
|
58
58
|
* after a certain number of lines.
|
|
59
59
|
*/
|
|
60
|
+
/**
|
|
61
|
+
* This mixin will add a chessboard background pattern,
|
|
62
|
+
* typically used to visualize transparency.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Make a container resizable by the user.
|
|
66
|
+
* This is used in the documentations and examples
|
|
67
|
+
* of some components, to demonstrate how the component
|
|
68
|
+
* behaves in a resizable container.
|
|
69
|
+
*/
|
|
60
70
|
/**
|
|
61
71
|
* The breakpoints below are used to create responsive designs
|
|
62
72
|
* in Lime's products. Therefore, they are here to get distributed
|
|
@@ -60,6 +60,16 @@
|
|
|
60
60
|
* to enable you to truncate a piece of text,
|
|
61
61
|
* after a certain number of lines.
|
|
62
62
|
*/
|
|
63
|
+
/**
|
|
64
|
+
* This mixin will add a chessboard background pattern,
|
|
65
|
+
* typically used to visualize transparency.
|
|
66
|
+
*/
|
|
67
|
+
/**
|
|
68
|
+
* Make a container resizable by the user.
|
|
69
|
+
* This is used in the documentations and examples
|
|
70
|
+
* of some components, to demonstrate how the component
|
|
71
|
+
* behaves in a resizable container.
|
|
72
|
+
*/
|
|
63
73
|
/**
|
|
64
74
|
* The breakpoints below are used to create responsive designs
|
|
65
75
|
* in Lime's products. Therefore, they are here to get distributed
|
|
@@ -91,11 +91,11 @@ export class PercentageVisualizer {
|
|
|
91
91
|
render() {
|
|
92
92
|
const normalizedValue = this.getNormalizedValue();
|
|
93
93
|
const zeroPoint = this.getZeroPointPosition();
|
|
94
|
-
return (h(Host, { key: '
|
|
94
|
+
return (h(Host, { key: 'ad5e9cdb104ade1dfa71497ff3b6aac94d91c2f6', class: this.getContainerClassList(), style: {
|
|
95
95
|
'--limebb-percentage-visualizer-zero-point-position': `${zeroPoint}%`,
|
|
96
96
|
'--limebb-percentage-visualizer-width': `${Math.abs(normalizedValue)}%`,
|
|
97
97
|
'--limebb-percentage-visualizer-rotate': `${normalizedValue >= 0 ? '0deg' : '180deg'}`,
|
|
98
|
-
} }, h("limel-notched-outline", { key: '
|
|
98
|
+
} }, h("limel-notched-outline", { key: '68e10eee563dff4c4142906820b041f3f42f41e9', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, h("div", { key: 'ecb1cfbd1b90442fe0aa34cf727ab7666a6908e6', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
|
|
99
99
|
}
|
|
100
100
|
renderVisualization() {
|
|
101
101
|
if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
|
|
@@ -118,14 +118,14 @@ export class SummaryPopover {
|
|
|
118
118
|
top: '0.125rem',
|
|
119
119
|
right: '0.125rem',
|
|
120
120
|
};
|
|
121
|
-
return (h("limel-popover", { key: '
|
|
121
|
+
return (h("limel-popover", { key: '126d39c5b55b3b0c363d0f8ef832c77928815a1b', style: {
|
|
122
122
|
'--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
|
|
123
|
-
}, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '
|
|
123
|
+
}, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '45ce61d635aed881f3e1cd3a59f3b224820030f1', slot: "trigger", tabIndex: 0, onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocus: this.openPopoverWithDelay }, h("slot", { key: '750536b95b4e44f7e05fd2e418d52928c6a4b7c3', name: "trigger" }), h("div", { key: '8eb3a32ec5a03a145b1b1b447a9d8d4a35b44572', class: "opening-countdown-indicator" })), h("limel-card", { key: '5011cf53fd7e41f3401a7de5271b9a988bf6368d', style: {
|
|
124
124
|
'max-width': this.popoverMaxWidth,
|
|
125
125
|
'max-height': this.popoverMaxHeight,
|
|
126
126
|
'min-width': '7rem',
|
|
127
127
|
'min-height': '3rem',
|
|
128
|
-
}, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, h("limebb-navigation-button", { key: '
|
|
128
|
+
}, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, h("limebb-navigation-button", { key: '35cd8a0d34214cccb5ca2bb722e23c72c78fa7b9', slot: "component", type: "close", style: closeButtonStyle, tooltipLabel: "Close", tooltipHelperLabel: "Esc", onClick: this.handleCloseClick }))));
|
|
129
129
|
}
|
|
130
130
|
static get is() { return "limebb-summary-popover"; }
|
|
131
131
|
static get encapsulation() { return "shadow"; }
|
|
@@ -13,8 +13,8 @@ export class MentionGroupCounter {
|
|
|
13
13
|
render() {
|
|
14
14
|
const label = this.getLabel();
|
|
15
15
|
return [
|
|
16
|
-
h("span", { key: '
|
|
17
|
-
h("limel-tooltip", { key: '
|
|
16
|
+
h("span", { key: '298e2c1a6917dd732e96875ac0fc45eb05120cef', id: this.tooltipId }, label),
|
|
17
|
+
h("limel-tooltip", { key: '836b49c9627198f232f0a3f07a74be3f3ea260d7', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
|
|
18
18
|
];
|
|
19
19
|
}
|
|
20
20
|
getLabel() {
|
|
@@ -389,7 +389,7 @@ export class LimeBBTextEditor {
|
|
|
389
389
|
}
|
|
390
390
|
render() {
|
|
391
391
|
return [
|
|
392
|
-
h("limel-text-editor", { key: '
|
|
392
|
+
h("limel-text-editor", { key: '260e595d9d833230601d45dfade2dd101ad220d2', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
|
|
393
393
|
this.renderPicker(),
|
|
394
394
|
];
|
|
395
395
|
}
|
|
@@ -57,6 +57,16 @@
|
|
|
57
57
|
* to enable you to truncate a piece of text,
|
|
58
58
|
* after a certain number of lines.
|
|
59
59
|
*/
|
|
60
|
+
/**
|
|
61
|
+
* This mixin will add a chessboard background pattern,
|
|
62
|
+
* typically used to visualize transparency.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Make a container resizable by the user.
|
|
66
|
+
* This is used in the documentations and examples
|
|
67
|
+
* of some components, to demonstrate how the component
|
|
68
|
+
* behaves in a resizable container.
|
|
69
|
+
*/
|
|
60
70
|
/**
|
|
61
71
|
* The breakpoints below are used to create responsive designs
|
|
62
72
|
* in Lime's products. Therefore, they are here to get distributed
|
|
@@ -52,7 +52,7 @@ export class TrendIndicator {
|
|
|
52
52
|
this.numValue = this.parseValue(this.value);
|
|
53
53
|
}
|
|
54
54
|
render() {
|
|
55
|
-
return (h(Host, { key: '
|
|
55
|
+
return (h(Host, { key: '50c4e69d2b6f010418e8a53e6510e22ab14ad1de', class: this.getContainerClassList() }, h("limel-notched-outline", { key: 'f2dc52dcb1bf2af327965e6fd9cd13dde2c542b5', id: this.tooltipId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, "aria-controls": this.helperTextId }, h("div", { key: '41049706a85d38c99877a8e790f8323a9bd23c1e', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
|
|
56
56
|
}
|
|
57
57
|
renderVisualization() {
|
|
58
58
|
if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
|