@limetech/lime-crm-building-blocks 1.38.1 → 1.38.3

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.
Files changed (71) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/{factory-fd0067f9.js → factory-93430f8d.js} +1 -1
  3. package/dist/cjs/{index-7008b946.js → index-5aaf6970.js} +0 -10
  4. package/dist/cjs/lime-crm-building-blocks.cjs.js +2 -2
  5. package/dist/cjs/limebb-browser.cjs.entry.js +1 -1
  6. package/dist/cjs/limebb-currency-picker.cjs.entry.js +1 -1
  7. package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
  8. package/dist/cjs/limebb-date-picker.cjs.entry.js +4 -4
  9. package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
  10. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  13. package/dist/cjs/limebb-info-tile.cjs.entry.js +2 -2
  14. package/dist/cjs/limebb-kanban-column.cjs.entry.js +25 -6
  15. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-kanban.cjs.entry.js +7 -2
  17. package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +2 -2
  18. package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
  19. package/dist/cjs/limebb-navigation-button.cjs.entry.js +1 -1
  20. package/dist/cjs/loader.cjs.js +2 -2
  21. package/dist/collection/components/date-picker/date-picker.js +3 -3
  22. package/dist/collection/components/kanban/kanban-column/kanban-column.js +63 -5
  23. package/dist/collection/components/kanban/kanban.js +24 -1
  24. package/dist/components/date-picker.js +3 -3
  25. package/dist/components/kanban-column.js +28 -7
  26. package/dist/components/limebb-kanban.js +7 -1
  27. package/dist/esm/{factory-ffc6980d.js → factory-7a4213b3.js} +1 -1
  28. package/dist/esm/{index-a6fbb3c9.js → index-3d816bf5.js} +0 -10
  29. package/dist/esm/lime-crm-building-blocks.js +2 -2
  30. package/dist/esm/limebb-browser.entry.js +1 -1
  31. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  32. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  33. package/dist/esm/limebb-date-picker.entry.js +4 -4
  34. package/dist/esm/limebb-date-range.entry.js +1 -1
  35. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  36. package/dist/esm/limebb-feed.entry.js +1 -1
  37. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  38. package/dist/esm/limebb-info-tile.entry.js +2 -2
  39. package/dist/esm/limebb-kanban-column.entry.js +25 -6
  40. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  41. package/dist/esm/limebb-kanban.entry.js +7 -2
  42. package/dist/esm/limebb-limeobject-file-viewer.entry.js +2 -2
  43. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  44. package/dist/esm/limebb-navigation-button.entry.js +1 -1
  45. package/dist/esm/loader.js +2 -2
  46. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  47. package/dist/lime-crm-building-blocks/{p-3db9cbbd.entry.js → p-05c8174f.entry.js} +1 -1
  48. package/dist/lime-crm-building-blocks/p-186bb066.entry.js +1 -0
  49. package/dist/lime-crm-building-blocks/{p-b11a9857.entry.js → p-1c9d80f2.entry.js} +1 -1
  50. package/dist/lime-crm-building-blocks/p-2ccd3c25.entry.js +1 -0
  51. package/dist/lime-crm-building-blocks/{p-8e1b1daf.entry.js → p-37180f51.entry.js} +1 -1
  52. package/dist/lime-crm-building-blocks/{p-dd6cef88.entry.js → p-3f30c8de.entry.js} +1 -1
  53. package/dist/lime-crm-building-blocks/{p-864dfee7.js → p-46d55d93.js} +1 -1
  54. package/dist/lime-crm-building-blocks/{p-405f380d.entry.js → p-54dbbbba.entry.js} +1 -1
  55. package/dist/lime-crm-building-blocks/{p-60731d13.entry.js → p-5dd09873.entry.js} +1 -1
  56. package/dist/lime-crm-building-blocks/{p-e196edda.entry.js → p-80741548.entry.js} +1 -1
  57. package/dist/lime-crm-building-blocks/{p-651ec423.js → p-8c0e3713.js} +2 -2
  58. package/dist/lime-crm-building-blocks/{p-a5d6af9a.entry.js → p-9a0ff0bb.entry.js} +1 -1
  59. package/dist/lime-crm-building-blocks/{p-3e1506ac.entry.js → p-bd200010.entry.js} +1 -1
  60. package/dist/lime-crm-building-blocks/{p-563dfeba.entry.js → p-d84f657a.entry.js} +1 -1
  61. package/dist/lime-crm-building-blocks/{p-825d2dd6.entry.js → p-de636ef5.entry.js} +1 -1
  62. package/dist/lime-crm-building-blocks/{p-bc78c477.entry.js → p-e8e2c370.entry.js} +1 -1
  63. package/dist/lime-crm-building-blocks/p-edc279ae.entry.js +1 -0
  64. package/dist/types/components/date-picker/date-picker.d.ts +0 -1
  65. package/dist/types/components/kanban/kanban-column/kanban-column.d.ts +15 -0
  66. package/dist/types/components/kanban/kanban.d.ts +5 -0
  67. package/dist/types/components.d.ts +24 -0
  68. package/package.json +5 -5
  69. package/dist/lime-crm-building-blocks/p-44d3abc4.entry.js +0 -1
  70. package/dist/lime-crm-building-blocks/p-58482c57.entry.js +0 -1
  71. package/dist/lime-crm-building-blocks/p-c443726a.entry.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ### [1.38.3](https://github.com/Lundalogik/lime-crm-building-blocks/compare/v1.38.2...v1.38.3) (2024-08-15)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+
7
+ * **kanban:** don't render all items in all groups ([51f3056](https://github.com/Lundalogik/lime-crm-building-blocks/commit/51f3056718b8e62c36acf066902e353b55a9477d))
8
+ * **kanban:** use correct tag to render the kanban items in columns ([20b066b](https://github.com/Lundalogik/lime-crm-building-blocks/commit/20b066b49e2565875090e770bf09490448244d53))
9
+
10
+ ### [1.38.2](https://github.com/Lundalogik/lime-crm-building-blocks/compare/v1.38.1...v1.38.2) (2024-08-13)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+
16
+ * **date-picker:** initialize language later when platform is set ([8db96e6](https://github.com/Lundalogik/lime-crm-building-blocks/commit/8db96e64cd766b5b3941eec6af7edb3f44b20463))
17
+
1
18
  ### [1.38.1](https://github.com/Lundalogik/lime-crm-building-blocks/compare/v1.38.0...v1.38.1) (2024-08-12)
2
19
 
3
20
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-7008b946.js');
3
+ const index = require('./index-5aaf6970.js');
4
4
 
5
5
  function isFunction(value) {
6
6
  return typeof value === 'function';
@@ -1175,7 +1175,6 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1175
1175
  hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
1176
1176
  }
1177
1177
  endNewInstance();
1178
- fireConnectedCallback(hostRef.$lazyInstance$);
1179
1178
  }
1180
1179
  if (Cstr.style) {
1181
1180
  // this component has styles but we haven't registered them yet
@@ -1204,11 +1203,6 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1204
1203
  schedule();
1205
1204
  }
1206
1205
  };
1207
- const fireConnectedCallback = (instance) => {
1208
- {
1209
- safeCall(instance, 'connectedCallback');
1210
- }
1211
- };
1212
1206
  const connectedCallback = (elm) => {
1213
1207
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1214
1208
  const hostRef = getHostRef(elm);
@@ -1247,10 +1241,6 @@ const connectedCallback = (elm) => {
1247
1241
  initializeComponent(elm, hostRef, cmpMeta);
1248
1242
  }
1249
1243
  }
1250
- else {
1251
- // fire off connectedCallback() on component instance
1252
- fireConnectedCallback(hostRef.$lazyInstance$);
1253
- }
1254
1244
  endConnected();
1255
1245
  }
1256
1246
  };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-7008b946.js');
3
+ const index = require('./index-5aaf6970.js');
4
4
 
5
5
  /*
6
6
  Stencil Client Patch Browser v2.18.1 | MIT Licensed | https://stenciljs.com
@@ -15,5 +15,5 @@ const patchBrowser = () => {
15
15
  };
16
16
 
17
17
  patchBrowser().then(options => {
18
- return index.bootstrapLazy([["limebb-kanban.cjs",[[1,"limebb-kanban",{"platform":[16],"context":[16],"items":[16],"groupBy":[513,"group-by"],"groups":[16]}]]],["limebb-date-range.cjs",[[1,"limebb-date-range",{"platform":[16],"context":[16],"startTime":[16],"endTime":[16],"startTimeLabel":[1,"start-time-label"],"endTimeLabel":[1,"end-time-label"],"language":[1],"timeFormat":[1,"time-format"],"type":[1]}]]],["limebb-feed.cjs",[[1,"limebb-feed",{"platform":[16],"context":[16],"items":[16],"emptyStateMessage":[1,"empty-state-message"],"loading":[4],"minutesOfProximity":[2,"minutes-of-proximity"],"totalCount":[2,"total-count"],"lastVisitedTimestamp":[1,"last-visited-timestamp"]}]]],["limebb-browser.cjs",[[17,"limebb-browser",{"platform":[16],"context":[16],"items":[16],"layout":[1],"filter":[32]}]]],["limebb-currency-picker.cjs",[[1,"limebb-currency-picker",{"label":[513],"platform":[16],"currencies":[16],"helperText":[513,"helper-text"],"required":[516],"readonly":[516],"invalid":[516],"disabled":[516],"value":[16]}]]],["limebb-dashboard-widget.cjs",[[1,"limebb-dashboard-widget",{"heading":[513],"subheading":[513],"supportingText":[513,"supporting-text"],"icon":[513]}]]],["limebb-icon-picker.cjs",[[1,"limebb-icon-picker",{"value":[1],"required":[4],"readonly":[4],"invalid":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-info-tile.cjs",[[1,"limebb-info-tile",{"platform":[16],"context":[16],"filterId":[1,"filter-id"],"disabled":[4],"icon":[1],"label":[1],"prefix":[1],"suffix":[1],"propertyName":[1,"property-name"],"aggregateOperator":[1,"aggregate-operator"],"filters":[32],"value":[32],"loading":[32],"error":[32]}]]],["limebb-limeobject-file-viewer.cjs",[[1,"limebb-limeobject-file-viewer",{"platform":[16],"context":[16],"property":[1],"fileTypes":[16],"limeobject":[32],"limetype":[32]}]]],["limebb-locale-picker.cjs",[[1,"limebb-locale-picker",{"platform":[16],"context":[16],"value":[1],"required":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"readonly":[4],"multipleChoice":[4,"multiple-choice"],"allLanguages":[32]}]]],["limebb-navigation-button.cjs",[[17,"limebb-navigation-button",{"href":[513],"tooltipLabel":[513,"tooltip-label"],"tooltipHelperLabel":[513,"tooltip-helper-label"],"type":[513]}]]],["limebb-kanban-item.cjs",[[1,"limebb-kanban-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-kanban-column.cjs",[[1,"limebb-kanban-column",{"platform":[16],"context":[16],"columnHeading":[1,"column-heading"],"items":[16],"loading":[4]}]]],["limebb-date-picker.cjs",[[1,"limebb-date-picker",{"platform":[16],"context":[16],"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"required":[516],"value":[1],"type":[513]}]]],["limebb-feed-timeline-item.cjs",[[1,"limebb-feed-timeline-item",{"platform":[16],"context":[16],"item":[16],"ui":[513],"isBundled":[516,"is-bundled"],"headingCanExpand":[32],"isHeadingExpanded":[32],"showMore":[32],"isTall":[32]}]]]], options);
18
+ return index.bootstrapLazy([["limebb-kanban.cjs",[[1,"limebb-kanban",{"platform":[16],"context":[16],"items":[16],"paginationSize":[2,"pagination-size"],"groupBy":[513,"group-by"],"groups":[16]}]]],["limebb-date-range.cjs",[[1,"limebb-date-range",{"platform":[16],"context":[16],"startTime":[16],"endTime":[16],"startTimeLabel":[1,"start-time-label"],"endTimeLabel":[1,"end-time-label"],"language":[1],"timeFormat":[1,"time-format"],"type":[1]}]]],["limebb-feed.cjs",[[1,"limebb-feed",{"platform":[16],"context":[16],"items":[16],"emptyStateMessage":[1,"empty-state-message"],"loading":[4],"minutesOfProximity":[2,"minutes-of-proximity"],"totalCount":[2,"total-count"],"lastVisitedTimestamp":[1,"last-visited-timestamp"]}]]],["limebb-browser.cjs",[[17,"limebb-browser",{"platform":[16],"context":[16],"items":[16],"layout":[1],"filter":[32]}]]],["limebb-currency-picker.cjs",[[1,"limebb-currency-picker",{"label":[513],"platform":[16],"currencies":[16],"helperText":[513,"helper-text"],"required":[516],"readonly":[516],"invalid":[516],"disabled":[516],"value":[16]}]]],["limebb-dashboard-widget.cjs",[[1,"limebb-dashboard-widget",{"heading":[513],"subheading":[513],"supportingText":[513,"supporting-text"],"icon":[513]}]]],["limebb-icon-picker.cjs",[[1,"limebb-icon-picker",{"value":[1],"required":[4],"readonly":[4],"invalid":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-info-tile.cjs",[[1,"limebb-info-tile",{"platform":[16],"context":[16],"filterId":[1,"filter-id"],"disabled":[4],"icon":[1],"label":[1],"prefix":[1],"suffix":[1],"propertyName":[1,"property-name"],"aggregateOperator":[1,"aggregate-operator"],"filters":[32],"value":[32],"loading":[32],"error":[32]}]]],["limebb-limeobject-file-viewer.cjs",[[1,"limebb-limeobject-file-viewer",{"platform":[16],"context":[16],"property":[1],"fileTypes":[16],"limeobject":[32],"limetype":[32]}]]],["limebb-locale-picker.cjs",[[1,"limebb-locale-picker",{"platform":[16],"context":[16],"value":[1],"required":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"readonly":[4],"multipleChoice":[4,"multiple-choice"],"allLanguages":[32]}]]],["limebb-navigation-button.cjs",[[17,"limebb-navigation-button",{"href":[513],"tooltipLabel":[513,"tooltip-label"],"tooltipHelperLabel":[513,"tooltip-helper-label"],"type":[513]}]]],["limebb-kanban-item.cjs",[[1,"limebb-kanban-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-kanban-column.cjs",[[1,"limebb-kanban-column",{"platform":[16],"context":[16],"columnHeading":[1,"column-heading"],"items":[16],"loading":[4],"paginationSize":[2,"pagination-size"],"displayedItemCount":[32]}]]],["limebb-date-picker.cjs",[[1,"limebb-date-picker",{"platform":[16],"context":[16],"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"required":[516],"value":[1],"type":[513]}]]],["limebb-feed-timeline-item.cjs",[[1,"limebb-feed-timeline-item",{"platform":[16],"context":[16],"item":[16],"ui":[513],"isBundled":[516,"is-bundled"],"headingCanExpand":[32],"isHeadingExpanded":[32],"showMore":[32],"isTall":[32]}]]]], options);
19
19
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
  const types = require('./types-be0cc46f.js');
7
7
  const negate = require('./negate-14a67e26.js');
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
  const types = require('./types-be0cc46f.js');
7
7
 
8
8
  const nordicMarketCurrencies = [
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
 
7
7
  const dashboardWidgetCss = ":host(limebb-dashboard-widget){--dashboard-widget-background-color:var(\n --start-page-grid-widget-background-color,\n rgb(var(--contrast-100))\n );--header-icon-color:var(--dashboard-widget-icon-color);--header-background-color:var(\n --dashboard-widget-header-background-color,\n var(--start-page-grid-widget-header-color)\n );--dashboard-widget-border-radius:var(\n --start-page-grid-widget-border-radius,\n 1rem\n );--header-top-right-left-border-radius:0;display:flex;flex-direction:column;border-radius:var(--dashboard-widget-border-radius);background-color:var(--dashboard-widget-background-color);height:100%;width:100%;overflow:hidden}";
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
  const types = require('./types-be0cc46f.js');
7
7
 
8
8
  /**
@@ -70,10 +70,10 @@ const DatePicker = class {
70
70
  };
71
71
  this.formatter = (value) => this.dateTimeFormatter.format(value, dateTimePropertyTypes[this.type] || this.type);
72
72
  }
73
- connectedCallback() {
74
- this.language = this.getAppLanguage();
75
- }
76
73
  render() {
74
+ if (!this.language) {
75
+ this.language = this.getAppLanguage();
76
+ }
77
77
  if (this.value) {
78
78
  this.shouldEmitValueAsString = typeof this.value === 'string';
79
79
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
 
7
7
  const dateRangeCss = ":host(limebb-date-range){isolation:isolate;display:block;position:relative}*{box-sizing:border-box}.date-pickers{display:grid;grid-template-columns:repeat(auto-fit, minmax(13.5rem, 1fr));gap:0.5rem;padding:0.75rem 1rem 1.25rem 1rem}.label-group{display:flex;align-items:center;margin-bottom:0.25rem}.end-time .label-group{flex-direction:row-reverse}.label-group .label{font-size:0.75rem;padding:0 0.25rem}.label-group .circle{flex-shrink:0;width:0.5rem;height:0.5rem;border-radius:50%}.start-time .label-group .circle{background-color:rgb(var(--color-green-default))}.end-time .label-group .circle{background-color:rgb(var(--color-coral-default))}.label-group .line{flex-grow:1;height:0.25rem;border-radius:1rem}.start-time .label-group .line{background-image:linear-gradient(to right, rgb(var(--color-green-light)), rgb(var(--contrast-400)) 30%)}.end-time .label-group .line{background-image:linear-gradient(to left, rgb(var(--color-coral-light)), rgb(var(--contrast-400)) 30%)}.date-pickers:has(>:last-child:nth-child(2)) .start-time .line{margin-right:-0.5rem}.date-pickers:has(>:last-child:nth-child(2)) .end-time .line{margin-left:-0.5rem}";
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
  const types = require('./types-be0cc46f.js');
7
7
 
8
8
  const feedTimelineItemCss = "@charset \"UTF-8\";*{box-sizing:border-box}:host(limebb-feed-timeline-item){--limebb-feed-item-paddings:0.75rem;display:flex;gap:0.75rem;position:relative;isolation:isolate}:host(limebb-feed-timeline-item:hover) .timestamp{color:rgb(var(--contrast-1100))}:host(limebb-feed-timeline-item[is-bundled]:hover){--limebb-feed-item-timestamp-opacity-delay:0.5s}:host(limebb-feed-timeline-item[is-bundled]:hover) .timestamp{opacity:1}:host(limebb-feed-timeline-item[is-bundled]) .timestamp{opacity:0}.left:before{content:\"\";position:absolute;z-index:0;top:-0.25rem;bottom:-0.25rem;left:1rem;width:1px;background-color:rgb(var(--contrast-600));z-index:-1}.info{position:sticky;top:0.5rem;display:flex;flex-direction:column;align-items:center;gap:0.25rem}.right,.content{display:flex;flex-direction:column;flex-grow:1;min-width:0}.content{border-radius:1rem;gap:0.25rem;padding:var(--limebb-feed-item-paddings)}.header{position:relative;display:flex;gap:0.25rem;padding-bottom:0.25rem;margin-top:-0.25rem;color:rgb(var(--contrast-900));font-size:0.875rem}:host(.has-unpromoted-actions) .header{padding-right:2rem}.header limel-markdown{--markdown-hyperlink-color:var(--mdc-theme-primary);--markdown-hyperlink-color--hovered:rgb(var(--color-teal-light))}.heading{flex-grow:1;overflow:hidden;white-space:nowrap}.heading.expanded-heading{white-space:normal}button.expand-heading{all:unset;transition:color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;cursor:pointer;color:rgb(var(--color-blue-default));background-color:transparent;border-radius:1rem;padding:0 0.25rem 0.25rem 0.25rem;height:1rem;white-space:nowrap}button.expand-heading:hover{color:rgb(var(--color-blue-default));background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}button.expand-heading:active{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.08rem, 0)}button.collapse-heading{all:unset;transition:color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;cursor:pointer;color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:1.5rem;width:1rem}button.collapse-heading:hover{color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}button.collapse-heading:active{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.08rem, 0)}button.collapse-heading:focus{outline:none}button.collapse-heading:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}button.collapse-heading limel-icon{width:0.75rem}.unpromoted-actions-menu{position:absolute;top:0;right:0;z-index:1}.timestamp{transition:color 0.4s ease, opacity 0.2s ease;transition-delay:var(--limebb-feed-item-timestamp-opacity-delay, 0s);font-size:0.75rem;text-align:center;color:rgb(var(--contrast-800));background-color:var(--limebb-feed-background-color);padding:0.125rem 0;width:2rem}.icon{--icon-background-color:var(--limebb-feed-background-color);width:2rem;padding:0.125rem}:host(.has-author-picture) .icon{width:1.5rem}img{border-radius:50%;width:2rem;height:2rem;object-fit:cover;box-shadow:0 0 0 1px rgb(var(--contrast-600))}.author{font-weight:bold;text-decoration:none;white-space:nowrap}a.author{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary)}a.author: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)}a.author:hover{color:rgb(var(--color-teal-light))}a.author:hover:before{opacity:0.3;transform:scale(1)}limel-chip-set{--button-shadow-normal:none;margin-left:-1rem;margin-bottom:-0.5rem}limel-action-bar{--action-bar-item-height:1.75rem;transition:opacity 0.2s ease;justify-content:flex-start;opacity:0.8}.action-bar{display:grid;transition:grid-template-rows var(--limebb-feed-item-action-bar-grid-template-rows-transition-speed, 0.2s) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-feed-item-action-bar-grid-template-rows-transition-delay, 0s);grid-template-rows:var(--limebb-feed-item-action-bar-grid-template-rows, 1fr)}.action-bar-hider{overflow:hidden}limel-action-bar{transition:padding var(--limebb-feed-item-action-bar-grid-template-rows-transition-speed) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-feed-item-action-bar-grid-template-rows-transition-delay);padding-bottom:0.5rem}:host(limebb-feed-timeline-item:hover) .action-bar,:host(limebb-feed-timeline-item:focus-within) .action-bar,:host(limebb-feed-timeline-item:focus-visible) .action-bar{--limebb-feed-item-action-bar-grid-template-rows:1fr;will-change:grid-template-rows}:host(limebb-feed-timeline-item:hover) limel-action-bar,:host(limebb-feed-timeline-item:focus-within) limel-action-bar,:host(limebb-feed-timeline-item:focus-visible) limel-action-bar{will-change:opacity;opacity:1}:host(limebb-feed-timeline-item:hover){--limebb-feed-item-action-bar-grid-template-rows-transition-speed:0.46s;--limebb-feed-item-action-bar-grid-template-rows-transition-delay:0.5s}:host(limebb-feed-timeline-item.is-tall) .markdown-container{margin-bottom:0.5rem}:host(limebb-feed-timeline-item.is-tall) .body-text{--body-text-min-height-set-by-code:10rem;min-height:calc(var(--body-text-min-height-set-by-code) + 0.25rem)}:host(limebb-feed-timeline-item.is-tall) .body-text:after{transition:opacity 0.6s ease;content:\"\";opacity:0.26;pointer-events:none;position:absolute;bottom:-0.125rem;right:-0.125rem;left:-0.125rem;height:2.5rem;background:radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)) 0 100%, linear-gradient(to bottom, rgb(var(--limebb-feed-item-background-color), 0) 0%, rgb(var(--limebb-feed-item-background-color), 90%) 100%);background-repeat:no-repeat;background-size:100% 0.5rem, 100% 100%}:host(limebb-feed-timeline-item.is-tall.shows-less) .markdown-container{grid-template-rows:0fr}:host(limebb-feed-timeline-item.is-tall.shows-less) .body-text:after{opacity:1}:host(limebb-feed-timeline-item.is-tall.shows-more) .markdown-container{grid-template-rows:1fr}:host(limebb-feed-timeline-item.is-tall.shows-more) #show-more-button limel-icon{rotate:180deg}.markdown-container{position:relative;display:grid}.markdown-container:not(.opened){transition:grid-template-rows min(var(--body-text-height) * 1.2ms, 500ms) cubic-bezier(1, 0.09, 0, 0.89)}.body-text{display:block;overflow:hidden}#show-more-button{all:unset;transition:color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;cursor:pointer;color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);z-index:1;position:absolute;right:0;bottom:-0.6rem;left:0;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:3rem;width:2rem;height:1rem}#show-more-button:hover{color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}#show-more-button:active{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.08rem, 0)}#show-more-button:focus{outline:none}#show-more-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}#show-more-button limel-icon{transition:rotate 0.2s ease 0.5s;color:var(--mdc-theme-primary);width:0.75rem}:host(limebb-feed-timeline-item[ui=standard]) .content{background-color:rgb(var(--limebb-feed-item-background-color))}:host(limebb-feed-timeline-item[ui=emphasized]) .content{border:1px dashed rgb(var(--contrast-800))}:host(limebb-feed-timeline-item[ui=minimal]) limel-markdown{--markdown-hyperlink-color:rgb(var(--contrast-900))}:host(limebb-feed-timeline-item[ui=minimal]) limel-markdown:hover{--markdown-hyperlink-color:rgb(var(--color-blue-default))}:host(limebb-feed-timeline-item[ui=minimal]) a.author{color:rgb(var(--contrast-900))}:host(limebb-feed-timeline-item[ui=minimal]) .header:hover a.author{color:rgb(var(--color-blue-default))}:host(limebb-feed-timeline-item[ui=minimal]) .icon{color:rgb(var(--contrast-900)) !important}:host(limebb-feed-timeline-item[ui=minimal]) .body-text{color:rgb(var(--contrast-900))}:host(limebb-feed-timeline-item[ui=minimal]) .body-text:hover{color:rgb(var(--contrast-1100))}:host(limebb-feed-timeline-item[ui=thread-message]) .content{border-radius:0;box-shadow:var(--button-shadow-normal);margin-bottom:0.25rem;background-color:var(--lime-elevated-surface-background-color)}:host(limebb-feed-timeline-item[ui=thread-message]) .header{padding-bottom:0.75rem;margin-bottom:0.25rem}:host(limebb-feed-timeline-item[ui=thread-message]) .header:before{content:\"\";position:absolute;top:calc(var(--limebb-feed-item-paddings) * -1 + 0.25rem);left:calc(var(--limebb-feed-item-paddings) * -1);right:calc(var(--limebb-feed-item-paddings) * -1);bottom:0;pointer-events:none;border-bottom:1px dashed rgb(var(--contrast-600))}:host(limebb-feed-timeline-item[ui=thread-message]) .thread-effects{transition:transform 0.2s ease;pointer-events:none;content:\"\";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;box-shadow:var(--button-shadow-normal);transform:translate3d(-0.225rem, -0.125rem, 0) rotate(1.5deg);background-color:rgb(var(--contrast-300))}:host(limebb-feed-timeline-item[ui=thread-message]) .content:hover .thread-effects{transform:translate3d(-0.325rem, -0.3rem, 0) rotate(1.5deg)}:host(limebb-feed-timeline-item.is-tall[ui=thread-message]) .body-text{--body-text-min-height-set-by-code:3rem;min-height:calc(var(--body-text-min-height-set-by-code) + 0.25rem)}.content{position:relative}.content:before,.content:after{content:\"\";position:absolute;top:1rem;bottom:1rem;left:-0.125rem;width:0.25rem;border-radius:0.25rem}.content:before{background-color:var(--color-code)}:host(limebb-feed-timeline-item[ui=emphasized]) .content:before,:host(limebb-feed-timeline-item[ui=emphasized]) .content:after{left:calc(-0.125rem - 0.5px)}:host(limebb-feed-timeline-item[ui=minimal]) .content:before{opacity:0.25}:host(limebb-feed-timeline-item[ui=minimal]) .content:after{opacity:0.5;background:repeating-linear-gradient(45deg, var(--color-code), var(--color-code) 0.5rem, transparent 0.5rem, transparent 1rem);background-size:0.25rem 100%;background-repeat:repeat-y;background-position:left;rotate:180deg}:host(limebb-feed-timeline-item[ui=thread-message]) .content:before{top:0.25rem;bottom:unset;height:1.75rem}";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
  const types = require('./types-be0cc46f.js');
7
7
 
8
8
  function getRoundingMethod(method) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
 
7
7
  const icons = [
8
8
  {
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
  const types = require('./types-be0cc46f.js');
7
- const factory = require('./factory-fd0067f9.js');
7
+ const factory = require('./factory-93430f8d.js');
8
8
  const _getTag = require('./_getTag-ef492822.js');
9
9
 
10
10
  /**
@@ -2,13 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
+ const types = require('./types-be0cc46f.js');
6
7
 
7
8
  const kanbanColumnCss = ":host(limebb-kanban-column){--header-top-right-left-border-radius:0.5rem;scroll-snap-align:start;box-sizing:border-box;display:flex;flex-direction:column;border-radius:0.5rem;min-width:20rem;height:100%;background-color:rgb(var(--contrast-500))}:host(limebb-kanban-column.ungrouped-column){border:1px dashed rgb(var(--contrast-500));background-color:rgb(var(--contrast-200))}limel-header{flex-shrink:0}.items{flex-grow:1;display:flex;flex-direction:column;gap:0.5rem;padding:0.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}";
8
9
 
9
10
  const KanbanColumn = class {
10
11
  constructor(hostRef) {
11
12
  index.registerInstance(this, hostRef);
13
+ this.loadMore = index.createEvent(this, "loadMore", 7);
12
14
  /**
13
15
  * The title of the column, which is taken from the
14
16
  * `groupBy` property of the `limebb-kanban` component.
@@ -18,11 +20,20 @@ const KanbanColumn = class {
18
20
  * List of items to display in the column.
19
21
  */
20
22
  this.items = [];
23
+ this.displayedItemCount = 0;
24
+ this.handleLoadMore = (event) => {
25
+ event.stopPropagation();
26
+ this.displayedItemCount += this.paginationSize;
27
+ this.loadMore.emit();
28
+ };
29
+ }
30
+ componentWillLoad() {
31
+ this.displayedItemCount = this.paginationSize;
21
32
  }
22
33
  render() {
23
34
  return [
24
35
  this.renderColumnHeading(),
25
- index.h("div", { class: "items" }, this.renderSpinner(), this.renderKanbanItems()),
36
+ index.h("div", { class: "items" }, this.renderSpinner(), this.renderKanbanItems(), this.renderLoadMore()),
26
37
  ];
27
38
  }
28
39
  renderColumnHeading() {
@@ -34,12 +45,20 @@ const KanbanColumn = class {
34
45
  }
35
46
  }
36
47
  renderKanbanItems() {
37
- return this.items.map((item) => {
38
- return [
39
- index.h("limebb-kanban-item", { platform: this.platform, context: this.context, item: item, key: item.id }),
40
- ];
48
+ return this.items.slice(0, this.displayedItemCount).map((item) => {
49
+ return (index.h("limebb-kanban-item", { platform: this.platform, context: this.context, item: item, key: item.id }));
41
50
  });
42
51
  }
52
+ renderLoadMore() {
53
+ if (!this.items.length ||
54
+ this.displayedItemCount >= this.items.length) {
55
+ return;
56
+ }
57
+ return (index.h("limel-icon-button", { class: "load-more-button", icon: "more", onClick: this.handleLoadMore, elevated: true, label: this.translator.get('webclient.load-more') }));
58
+ }
59
+ get translator() {
60
+ return this.platform.get(types.PlatformServiceName.Translate);
61
+ }
43
62
  };
44
63
  KanbanColumn.style = kanbanColumnCss;
45
64
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
 
7
7
  const kanbanItemCss = ":host(limebb-kanban-item){box-sizing:border-box;display:flex;padding:0.5rem;border-radius:0.5rem;background-color:var(--lime-elevated-surface-background-color)}.icon{width:1.25rem}";
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
 
7
7
  const kanbanCss = ":host(limebb-kanban){--limebb-kanban-col-gap:1rem;box-sizing:border-box;display:flex;align-items:stretch;column-gap:var(--limebb-kanban-col-gap);width:100%;height:100%;padding:0.5rem;padding-right:calc(var(--kanban-padding-right, 0rem) + 5rem);overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-padding:calc(var(--limebb-kanban-col-gap) + 0.5rem)}";
8
8
 
@@ -13,6 +13,11 @@ const Kanban = class {
13
13
  * List of items to display in the kanban board.
14
14
  */
15
15
  this.items = [];
16
+ /**
17
+ * The number of items rendered in each column,
18
+ * before pressing the "Load more" button.
19
+ */
20
+ this.paginationSize = 0;
16
21
  /**
17
22
  * List of possible groups to display in the kanban board.
18
23
  * These need to be the values which are potentially
@@ -27,7 +32,7 @@ const Kanban = class {
27
32
  }
28
33
  renderColumns() {
29
34
  const groupedItems = this.groupItems();
30
- return groupedItems.map((group) => (index.h("limebb-kanban-column", { platform: this.platform, context: this.context, items: group.items, columnHeading: group.key, class: group.key === 'Ungrouped' ? 'ungrouped-column' : '' })));
35
+ return groupedItems.map((group) => (index.h("limebb-kanban-column", { platform: this.platform, context: this.context, paginationSize: this.paginationSize, items: group.items, columnHeading: group.key, class: group.key === 'Ungrouped' ? 'ungrouped-column' : '' })));
31
36
  }
32
37
  groupItems() {
33
38
  const groups = this.items.reduce((acc, item) => {
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
  const types = require('./types-be0cc46f.js');
7
- const factory = require('./factory-fd0067f9.js');
7
+ const factory = require('./factory-93430f8d.js');
8
8
  const negate = require('./negate-14a67e26.js');
9
9
 
10
10
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
  const types = require('./types-be0cc46f.js');
7
7
  const _getTag = require('./_getTag-ef492822.js');
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
 
7
7
  const navigationButtonCss = "@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 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;cursor:pointer;color:var(--mdc-theme-on-surface);background-color:var(--navigation-button-background-color, var(--lime-elevated-surface-background-color))}.navigation-button:hover{color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}.navigation-button:active{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.08rem, 0)}.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;border:1px solid rgb(var(--contrast-900));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)}";
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7008b946.js');
5
+ const index = require('./index-5aaf6970.js');
6
6
 
7
7
  /*
8
8
  Stencil Client Patch Esm v2.18.1 | MIT Licensed | https://stenciljs.com
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["limebb-kanban.cjs",[[1,"limebb-kanban",{"platform":[16],"context":[16],"items":[16],"groupBy":[513,"group-by"],"groups":[16]}]]],["limebb-date-range.cjs",[[1,"limebb-date-range",{"platform":[16],"context":[16],"startTime":[16],"endTime":[16],"startTimeLabel":[1,"start-time-label"],"endTimeLabel":[1,"end-time-label"],"language":[1],"timeFormat":[1,"time-format"],"type":[1]}]]],["limebb-feed.cjs",[[1,"limebb-feed",{"platform":[16],"context":[16],"items":[16],"emptyStateMessage":[1,"empty-state-message"],"loading":[4],"minutesOfProximity":[2,"minutes-of-proximity"],"totalCount":[2,"total-count"],"lastVisitedTimestamp":[1,"last-visited-timestamp"]}]]],["limebb-browser.cjs",[[17,"limebb-browser",{"platform":[16],"context":[16],"items":[16],"layout":[1],"filter":[32]}]]],["limebb-currency-picker.cjs",[[1,"limebb-currency-picker",{"label":[513],"platform":[16],"currencies":[16],"helperText":[513,"helper-text"],"required":[516],"readonly":[516],"invalid":[516],"disabled":[516],"value":[16]}]]],["limebb-dashboard-widget.cjs",[[1,"limebb-dashboard-widget",{"heading":[513],"subheading":[513],"supportingText":[513,"supporting-text"],"icon":[513]}]]],["limebb-icon-picker.cjs",[[1,"limebb-icon-picker",{"value":[1],"required":[4],"readonly":[4],"invalid":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-info-tile.cjs",[[1,"limebb-info-tile",{"platform":[16],"context":[16],"filterId":[1,"filter-id"],"disabled":[4],"icon":[1],"label":[1],"prefix":[1],"suffix":[1],"propertyName":[1,"property-name"],"aggregateOperator":[1,"aggregate-operator"],"filters":[32],"value":[32],"loading":[32],"error":[32]}]]],["limebb-limeobject-file-viewer.cjs",[[1,"limebb-limeobject-file-viewer",{"platform":[16],"context":[16],"property":[1],"fileTypes":[16],"limeobject":[32],"limetype":[32]}]]],["limebb-locale-picker.cjs",[[1,"limebb-locale-picker",{"platform":[16],"context":[16],"value":[1],"required":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"readonly":[4],"multipleChoice":[4,"multiple-choice"],"allLanguages":[32]}]]],["limebb-navigation-button.cjs",[[17,"limebb-navigation-button",{"href":[513],"tooltipLabel":[513,"tooltip-label"],"tooltipHelperLabel":[513,"tooltip-helper-label"],"type":[513]}]]],["limebb-kanban-item.cjs",[[1,"limebb-kanban-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-kanban-column.cjs",[[1,"limebb-kanban-column",{"platform":[16],"context":[16],"columnHeading":[1,"column-heading"],"items":[16],"loading":[4]}]]],["limebb-date-picker.cjs",[[1,"limebb-date-picker",{"platform":[16],"context":[16],"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"required":[516],"value":[1],"type":[513]}]]],["limebb-feed-timeline-item.cjs",[[1,"limebb-feed-timeline-item",{"platform":[16],"context":[16],"item":[16],"ui":[513],"isBundled":[516,"is-bundled"],"headingCanExpand":[32],"isHeadingExpanded":[32],"showMore":[32],"isTall":[32]}]]]], options);
17
+ return index.bootstrapLazy([["limebb-kanban.cjs",[[1,"limebb-kanban",{"platform":[16],"context":[16],"items":[16],"paginationSize":[2,"pagination-size"],"groupBy":[513,"group-by"],"groups":[16]}]]],["limebb-date-range.cjs",[[1,"limebb-date-range",{"platform":[16],"context":[16],"startTime":[16],"endTime":[16],"startTimeLabel":[1,"start-time-label"],"endTimeLabel":[1,"end-time-label"],"language":[1],"timeFormat":[1,"time-format"],"type":[1]}]]],["limebb-feed.cjs",[[1,"limebb-feed",{"platform":[16],"context":[16],"items":[16],"emptyStateMessage":[1,"empty-state-message"],"loading":[4],"minutesOfProximity":[2,"minutes-of-proximity"],"totalCount":[2,"total-count"],"lastVisitedTimestamp":[1,"last-visited-timestamp"]}]]],["limebb-browser.cjs",[[17,"limebb-browser",{"platform":[16],"context":[16],"items":[16],"layout":[1],"filter":[32]}]]],["limebb-currency-picker.cjs",[[1,"limebb-currency-picker",{"label":[513],"platform":[16],"currencies":[16],"helperText":[513,"helper-text"],"required":[516],"readonly":[516],"invalid":[516],"disabled":[516],"value":[16]}]]],["limebb-dashboard-widget.cjs",[[1,"limebb-dashboard-widget",{"heading":[513],"subheading":[513],"supportingText":[513,"supporting-text"],"icon":[513]}]]],["limebb-icon-picker.cjs",[[1,"limebb-icon-picker",{"value":[1],"required":[4],"readonly":[4],"invalid":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-info-tile.cjs",[[1,"limebb-info-tile",{"platform":[16],"context":[16],"filterId":[1,"filter-id"],"disabled":[4],"icon":[1],"label":[1],"prefix":[1],"suffix":[1],"propertyName":[1,"property-name"],"aggregateOperator":[1,"aggregate-operator"],"filters":[32],"value":[32],"loading":[32],"error":[32]}]]],["limebb-limeobject-file-viewer.cjs",[[1,"limebb-limeobject-file-viewer",{"platform":[16],"context":[16],"property":[1],"fileTypes":[16],"limeobject":[32],"limetype":[32]}]]],["limebb-locale-picker.cjs",[[1,"limebb-locale-picker",{"platform":[16],"context":[16],"value":[1],"required":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"readonly":[4],"multipleChoice":[4,"multiple-choice"],"allLanguages":[32]}]]],["limebb-navigation-button.cjs",[[17,"limebb-navigation-button",{"href":[513],"tooltipLabel":[513,"tooltip-label"],"tooltipHelperLabel":[513,"tooltip-helper-label"],"type":[513]}]]],["limebb-kanban-item.cjs",[[1,"limebb-kanban-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-kanban-column.cjs",[[1,"limebb-kanban-column",{"platform":[16],"context":[16],"columnHeading":[1,"column-heading"],"items":[16],"loading":[4],"paginationSize":[2,"pagination-size"],"displayedItemCount":[32]}]]],["limebb-date-picker.cjs",[[1,"limebb-date-picker",{"platform":[16],"context":[16],"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"required":[516],"value":[1],"type":[513]}]]],["limebb-feed-timeline-item.cjs",[[1,"limebb-feed-timeline-item",{"platform":[16],"context":[16],"item":[16],"ui":[513],"isBundled":[516,"is-bundled"],"headingCanExpand":[32],"isHeadingExpanded":[32],"showMore":[32],"isTall":[32]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -59,10 +59,10 @@ export class DatePicker {
59
59
  };
60
60
  this.formatter = (value) => this.dateTimeFormatter.format(value, dateTimePropertyTypes[this.type] || this.type);
61
61
  }
62
- connectedCallback() {
63
- this.language = this.getAppLanguage();
64
- }
65
62
  render() {
63
+ if (!this.language) {
64
+ this.language = this.getAppLanguage();
65
+ }
66
66
  if (this.value) {
67
67
  this.shouldEmitValueAsString = typeof this.value === 'string';
68
68
  }
@@ -1,4 +1,5 @@
1
1
  import { h } from '@stencil/core';
2
+ import { PlatformServiceName, } from '@limetech/lime-web-components';
2
3
  /**
3
4
  * This component generates the columns for `limebb-kanban`.
4
5
  *
@@ -15,11 +16,20 @@ export class KanbanColumn {
15
16
  * List of items to display in the column.
16
17
  */
17
18
  this.items = [];
19
+ this.displayedItemCount = 0;
20
+ this.handleLoadMore = (event) => {
21
+ event.stopPropagation();
22
+ this.displayedItemCount += this.paginationSize;
23
+ this.loadMore.emit();
24
+ };
25
+ }
26
+ componentWillLoad() {
27
+ this.displayedItemCount = this.paginationSize;
18
28
  }
19
29
  render() {
20
30
  return [
21
31
  this.renderColumnHeading(),
22
- h("div", { class: "items" }, this.renderSpinner(), this.renderKanbanItems()),
32
+ h("div", { class: "items" }, this.renderSpinner(), this.renderKanbanItems(), this.renderLoadMore()),
23
33
  ];
24
34
  }
25
35
  renderColumnHeading() {
@@ -31,12 +41,20 @@ export class KanbanColumn {
31
41
  }
32
42
  }
33
43
  renderKanbanItems() {
34
- return this.items.map((item) => {
35
- return [
36
- h("limebb-kanban-item", { platform: this.platform, context: this.context, item: item, key: item.id }),
37
- ];
44
+ return this.items.slice(0, this.displayedItemCount).map((item) => {
45
+ return (h("limebb-kanban-item", { platform: this.platform, context: this.context, item: item, key: item.id }));
38
46
  });
39
47
  }
48
+ renderLoadMore() {
49
+ if (!this.items.length ||
50
+ this.displayedItemCount >= this.items.length) {
51
+ return;
52
+ }
53
+ return (h("limel-icon-button", { class: "load-more-button", icon: "more", onClick: this.handleLoadMore, elevated: true, label: this.translator.get('webclient.load-more') }));
54
+ }
55
+ get translator() {
56
+ return this.platform.get(PlatformServiceName.Translate);
57
+ }
40
58
  static get is() { return "limebb-kanban-column"; }
41
59
  static get encapsulation() { return "shadow"; }
42
60
  static get originalStyleUrls() {
@@ -152,7 +170,47 @@ export class KanbanColumn {
152
170
  },
153
171
  "attribute": "loading",
154
172
  "reflect": false
173
+ },
174
+ "paginationSize": {
175
+ "type": "number",
176
+ "mutable": false,
177
+ "complexType": {
178
+ "original": "number",
179
+ "resolved": "number",
180
+ "references": {}
181
+ },
182
+ "required": false,
183
+ "optional": false,
184
+ "docs": {
185
+ "tags": [],
186
+ "text": "The number of items rendered in each column,\nbefore pressing the \"Load more\" button."
187
+ },
188
+ "attribute": "pagination-size",
189
+ "reflect": false
155
190
  }
156
191
  };
157
192
  }
193
+ static get states() {
194
+ return {
195
+ "displayedItemCount": {}
196
+ };
197
+ }
198
+ static get events() {
199
+ return [{
200
+ "method": "loadMore",
201
+ "name": "loadMore",
202
+ "bubbles": true,
203
+ "cancelable": true,
204
+ "composed": true,
205
+ "docs": {
206
+ "tags": [],
207
+ "text": "Emitted when the load more button is clicked"
208
+ },
209
+ "complexType": {
210
+ "original": "void",
211
+ "resolved": "void",
212
+ "references": {}
213
+ }
214
+ }];
215
+ }
158
216
  }
@@ -19,6 +19,11 @@ export class Kanban {
19
19
  * List of items to display in the kanban board.
20
20
  */
21
21
  this.items = [];
22
+ /**
23
+ * The number of items rendered in each column,
24
+ * before pressing the "Load more" button.
25
+ */
26
+ this.paginationSize = 0;
22
27
  /**
23
28
  * List of possible groups to display in the kanban board.
24
29
  * These need to be the values which are potentially
@@ -33,7 +38,7 @@ export class Kanban {
33
38
  }
34
39
  renderColumns() {
35
40
  const groupedItems = this.groupItems();
36
- return groupedItems.map((group) => (h("limebb-kanban-column", { platform: this.platform, context: this.context, items: group.items, columnHeading: group.key, class: group.key === 'Ungrouped' ? 'ungrouped-column' : '' })));
41
+ return groupedItems.map((group) => (h("limebb-kanban-column", { platform: this.platform, context: this.context, paginationSize: this.paginationSize, items: group.items, columnHeading: group.key, class: group.key === 'Ungrouped' ? 'ungrouped-column' : '' })));
37
42
  }
38
43
  groupItems() {
39
44
  const groups = this.items.reduce((acc, item) => {
@@ -141,6 +146,24 @@ export class Kanban {
141
146
  },
142
147
  "defaultValue": "[]"
143
148
  },
149
+ "paginationSize": {
150
+ "type": "number",
151
+ "mutable": false,
152
+ "complexType": {
153
+ "original": "number",
154
+ "resolved": "number",
155
+ "references": {}
156
+ },
157
+ "required": false,
158
+ "optional": false,
159
+ "docs": {
160
+ "tags": [],
161
+ "text": "The number of items rendered in each column,\nbefore pressing the \"Load more\" button."
162
+ },
163
+ "attribute": "pagination-size",
164
+ "reflect": false,
165
+ "defaultValue": "0"
166
+ },
144
167
  "groupBy": {
145
168
  "type": "string",
146
169
  "mutable": false,
@@ -68,10 +68,10 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
68
68
  };
69
69
  this.formatter = (value) => this.dateTimeFormatter.format(value, dateTimePropertyTypes[this.type] || this.type);
70
70
  }
71
- connectedCallback() {
72
- this.language = this.getAppLanguage();
73
- }
74
71
  render() {
72
+ if (!this.language) {
73
+ this.language = this.getAppLanguage();
74
+ }
75
75
  if (this.value) {
76
76
  this.shouldEmitValueAsString = typeof this.value === 'string';
77
77
  }