@ukic/canary-web-components 2.0.0-canary.34 → 2.0.0-canary.36

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 (98) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/helpers-951fb33a.js.map +1 -1
  4. package/dist/cjs/ic-badge.cjs.entry.js +23 -0
  5. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-data-table.cjs.entry.js +23 -26
  8. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-date-input.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-empty-state_2.cjs.entry.js +31 -5
  12. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  14. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-toast.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/collection/components/ic-data-table/ic-data-table.js +42 -27
  21. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  22. package/dist/collection/components/ic-data-table/story-data.js +39 -4
  23. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  24. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +4 -1
  25. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  26. package/dist/collection/components/ic-date-input/ic-date-input.js +1 -1
  27. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  28. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +50 -5
  29. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  30. package/dist/collection/utils/types.js.map +1 -1
  31. package/dist/components/helpers2.js.map +1 -1
  32. package/dist/components/ic-badge.js +25 -2
  33. package/dist/components/ic-badge.js.map +1 -1
  34. package/dist/components/ic-data-table.js +24 -26
  35. package/dist/components/ic-data-table.js.map +1 -1
  36. package/dist/components/ic-date-input2.js +1 -1
  37. package/dist/components/ic-date-input2.js.map +1 -1
  38. package/dist/components/ic-navigation-button.js +2 -2
  39. package/dist/components/ic-navigation-button.js.map +1 -1
  40. package/dist/components/ic-navigation-item.js +1 -1
  41. package/dist/components/ic-navigation-item.js.map +1 -1
  42. package/dist/components/ic-pagination-bar2.js +33 -5
  43. package/dist/components/ic-pagination-bar2.js.map +1 -1
  44. package/dist/components/ic-toast.js +2 -2
  45. package/dist/components/ic-toast.js.map +1 -1
  46. package/dist/components/ic-tooltip2.js.map +1 -1
  47. package/dist/core/core.esm.js +1 -1
  48. package/dist/core/core.esm.js.map +1 -1
  49. package/dist/core/{p-938a0ccc.entry.js → p-080ebc66.entry.js} +2 -2
  50. package/dist/core/{p-938a0ccc.entry.js.map → p-080ebc66.entry.js.map} +1 -1
  51. package/dist/core/p-20241d58.entry.js +2 -0
  52. package/dist/core/p-20241d58.entry.js.map +1 -0
  53. package/dist/core/p-4476d3b0.entry.js +2 -0
  54. package/dist/core/p-4476d3b0.entry.js.map +1 -0
  55. package/dist/core/p-8ab58daa.js.map +1 -1
  56. package/dist/core/p-95871655.entry.js.map +1 -1
  57. package/dist/core/p-9c80c37d.entry.js +2 -0
  58. package/dist/core/p-9c80c37d.entry.js.map +1 -0
  59. package/dist/core/{p-4f118361.entry.js → p-9cd73369.entry.js} +2 -2
  60. package/dist/core/p-9cd73369.entry.js.map +1 -0
  61. package/dist/core/p-b68d6867.entry.js +2 -0
  62. package/dist/core/p-b68d6867.entry.js.map +1 -0
  63. package/dist/core/{p-2b61d283.entry.js → p-f2bb3c93.entry.js} +2 -2
  64. package/dist/core/{p-2b61d283.entry.js.map → p-f2bb3c93.entry.js.map} +1 -1
  65. package/dist/esm/core.js +1 -1
  66. package/dist/esm/helpers-948df101.js.map +1 -1
  67. package/dist/esm/ic-badge.entry.js +23 -0
  68. package/dist/esm/ic-badge.entry.js.map +1 -1
  69. package/dist/esm/ic-button_3.entry.js.map +1 -1
  70. package/dist/esm/ic-data-table.entry.js +23 -26
  71. package/dist/esm/ic-data-table.entry.js.map +1 -1
  72. package/dist/esm/ic-date-input.entry.js +1 -1
  73. package/dist/esm/ic-date-input.entry.js.map +1 -1
  74. package/dist/esm/ic-empty-state_2.entry.js +31 -5
  75. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  76. package/dist/esm/ic-navigation-button.entry.js +2 -2
  77. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  78. package/dist/esm/ic-navigation-item.entry.js +1 -1
  79. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  80. package/dist/esm/ic-toast.entry.js +2 -2
  81. package/dist/esm/ic-toast.entry.js.map +1 -1
  82. package/dist/esm/loader.js +1 -1
  83. package/dist/types/components/ic-data-table/ic-data-table.d.ts +4 -0
  84. package/dist/types/components/ic-data-table/story-data.d.ts +2 -1
  85. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +5 -0
  86. package/dist/types/components.d.ts +16 -0
  87. package/dist/types/utils/types.d.ts +10 -9
  88. package/hydrate/index.js +87 -39
  89. package/package.json +12 -3
  90. package/dist/core/p-3156304b.entry.js +0 -2
  91. package/dist/core/p-3156304b.entry.js.map +0 -1
  92. package/dist/core/p-4f118361.entry.js.map +0 -1
  93. package/dist/core/p-61ca218b.entry.js +0 -2
  94. package/dist/core/p-61ca218b.entry.js.map +0 -1
  95. package/dist/core/p-d9f8f96d.entry.js +0 -2
  96. package/dist/core/p-d9f8f96d.entry.js.map +0 -1
  97. package/dist/core/p-e7439c1e.entry.js +0 -2
  98. package/dist/core/p-e7439c1e.entry.js.map +0 -1
@@ -205,6 +205,7 @@ const DataTable = class {
205
205
  }
206
206
  this.truncate(typographyEl, cellContainer, tooltip);
207
207
  };
208
+ this.getTruncWrapper = (typographyEl) => typographyEl.shadowRoot.querySelector(".trunc-wrapper");
208
209
  this.removeTextWrap = () => {
209
210
  this.getTypographyElements().forEach((typographyEl) => {
210
211
  const tableCell = typographyEl.closest("td");
@@ -256,12 +257,9 @@ const DataTable = class {
256
257
  return helpers.pxToRem(`${height * this.DENSITY_HEIGHT_MULTIPLIER[this.density] -
257
258
  this.DENSITY_PADDING_HEIGHT_DIFF[this.density]}px`);
258
259
  };
259
- this.setTruncationClass = () => {
260
- if (this.truncationPattern) {
261
- return { [`truncation-${this.truncationPattern}`]: true };
262
- }
263
- return {};
264
- };
260
+ this.setTruncationClass = () => this.truncationPattern
261
+ ? { [`truncation-${this.truncationPattern}`]: true }
262
+ : {};
265
263
  this.getColumnWidth = (columnWidth) => {
266
264
  // TODO: Setting max width on columns
267
265
  let columnWidthStyling = {};
@@ -375,7 +373,7 @@ const DataTable = class {
375
373
  Object.keys(cell).includes("actionElement") ? (index.h("div", { class: "cell-grid-wrapper" }, this.createCellContent(columnProps, cell, cellSlotName, rowOptions, rowAlignment, hasIcon, currentRowHeight, cellValue, rowEmphasis), index.h("span", { class: "action-element", innerHTML: cellValue("actionElement"),
376
374
  // eslint-disable-next-line react/jsx-no-bind
377
375
  onClick: cell.actionOnClick
378
- ? () => this.handleClick(cell.actionOnClick)
376
+ ? (event) => this.handleClick(event, cell.actionOnClick)
379
377
  : undefined }))) : (this.createCellContent(columnProps, cell, cellSlotName, rowOptions, rowAlignment, hasIcon, currentRowHeight, cellValue, rowEmphasis))));
380
378
  }
381
379
  });
@@ -436,7 +434,9 @@ const DataTable = class {
436
434
  : row;
437
435
  });
438
436
  return organisedData
439
- .sort(!this.sortable ? undefined : this.getSortFunction())
437
+ .sort(!this.sortable || this.disableAutoSort
438
+ ? undefined
439
+ : this.getSortFunction())
440
440
  .map((row, index$1) => {
441
441
  return (index.h("tr", {
442
442
  // eslint-disable-next-line react/jsx-no-bind
@@ -447,9 +447,7 @@ const DataTable = class {
447
447
  }, this.createCells(row, index$1)));
448
448
  });
449
449
  };
450
- this.getObjectValue = (cell, key) => {
451
- return Object.values(cell)[Object.keys(cell).indexOf(key)];
452
- };
450
+ this.getObjectValue = (cell, key) => Object.values(cell)[Object.keys(cell).indexOf(key)];
453
451
  this.getSortButtonLabel = (key) => {
454
452
  let label = "";
455
453
  const getNextSortOption = (option) => {
@@ -626,7 +624,7 @@ const DataTable = class {
626
624
  }
627
625
  });
628
626
  };
629
- this.handleClick = (callback) => callback();
627
+ this.handleClick = (event, callback) => callback(event);
630
628
  this.renderTableBody = (data, loading, overlay) => {
631
629
  if (!(data === null || data === void 0 ? void 0 : data.length))
632
630
  return;
@@ -688,6 +686,7 @@ const DataTable = class {
688
686
  this.columnHeaderTruncation = false;
689
687
  this.columns = undefined;
690
688
  this.data = undefined;
689
+ this.disableAutoSort = false;
691
690
  this.density = "default";
692
691
  this.embedded = false;
693
692
  this.globalRowHeight = "auto";
@@ -700,22 +699,23 @@ const DataTable = class {
700
699
  this.minWidth = undefined;
701
700
  this.minimumLoadingDisplayDuration = 1000;
702
701
  this.paginationBarOptions = {
702
+ alignment: "right",
703
+ appearance: "default",
704
+ hideAllFromItemsPerPage: false,
705
+ hideRangeLabel: false,
706
+ itemLabel: "Item",
703
707
  itemsPerPageOptions: [
704
708
  { label: "10", value: "10" },
705
709
  { label: "25", value: "25" },
706
710
  { label: "50", value: "50" },
707
711
  ],
708
- rangeLabelType: "page",
709
- type: "simple",
710
- showItemsPerPageControl: true,
711
- showGoToPageControl: true,
712
- alignment: "right",
713
- appearance: "default",
714
- itemLabel: "Item",
715
712
  pageLabel: "Page",
716
- hideRangeLabel: false,
717
- hideAllFromItemsPerPage: false,
713
+ rangeLabelType: "page",
714
+ selectedItemsPerPage: 10,
718
715
  setToFirstPageOnPaginationChange: false,
716
+ showGoToPageControl: true,
717
+ showItemsPerPageControl: true,
718
+ type: "simple",
719
719
  };
720
720
  this.showPagination = false;
721
721
  this.sortable = false;
@@ -991,9 +991,6 @@ const DataTable = class {
991
991
  cellContainer.classList.add(this.SHOW_HIDE_CSS_CLASS);
992
992
  this.createShowHideTruncation(typographyEl, cellContainer);
993
993
  }
994
- getTruncWrapper(typographyEl) {
995
- return typographyEl.shadowRoot.querySelector(".trunc-wrapper");
996
- }
997
994
  // Set the height to initial if row height is set and the show / hide truncation
998
995
  // is clicked
999
996
  handleTypographyTruncationExpandToggle({ detail, }) {
@@ -1232,7 +1229,7 @@ const DataTable = class {
1232
1229
  }
1233
1230
  render() {
1234
1231
  var _a;
1235
- const { caption, createColumnHeaders, createUpdatingIndicator, data, hideColumnHeaders, loading, loadingOptions, paginationBarOptions, scrollable, scrollOffset, showPagination, sortable, sortedColumnOrder, sortedColumn, stickyColumnHeaders, updateScrollOffset, updating, } = this;
1232
+ const { caption, createColumnHeaders, createUpdatingIndicator, data, hideColumnHeaders, loading, loadingOptions, paginationBarOptions, scrollable, scrollOffset, showPagination, sortable, sortedColumn, sortedColumnOrder, stickyColumnHeaders, updateScrollOffset, updating, } = this;
1236
1233
  return (index.h(index.Host, { style: Object.assign({}, this.setTableDimensions()) }, index.h("div", { class: "table-container" }, helpers.isSlotUsed(this.el, "title-bar") && index.h("slot", { name: "title-bar" }), index.h("div", { class: {
1237
1234
  ["table-row-container"]: true,
1238
1235
  scrollable,
@@ -1243,7 +1240,7 @@ const DataTable = class {
1243
1240
  ["column-header-overlay"]: stickyColumnHeaders && scrollOffset !== 0,
1244
1241
  } }, index.h("tr", null, createColumnHeaders()))), updating &&
1245
1242
  !loading &&
1246
- (hideColumnHeaders ? (index.h("thead", null, createUpdatingIndicator())) : (createUpdatingIndicator())), this.renderTableBody(data, loading, loadingOptions.overlay)), this.renderEmptyState(data, loading, loadingOptions.overlay)), index.h("div", { "aria-live": "assertive", class: "sr-only" }, this.renderAriaLiveLoading()), this.renderLoadingIndicator(loading, loadingOptions), (showPagination || helpers.isSlotUsed(this.el, "pagination-bar")) && (index.h("div", { class: "pagination-container" }, helpers.isSlotUsed(this.el, "pagination-bar") ? (index.h("slot", { name: "pagination-bar" })) : (index.h("ic-pagination-bar", { totalItems: (_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : 0, type: paginationBarOptions.type, rangeLabelType: paginationBarOptions.rangeLabelType, showItemsPerPageControl: paginationBarOptions.showItemsPerPageControl, showGoToPageControl: paginationBarOptions.showGoToPageControl, itemsPerPageOptions: paginationBarOptions.itemsPerPageOptions, alignment: paginationBarOptions.alignment, appearance: paginationBarOptions.appearance, itemLabel: paginationBarOptions.itemLabel, pageLabel: paginationBarOptions.pageLabel, hideRangeLabel: paginationBarOptions.hideRangeLabel, hideAllFromItemsPerPage: paginationBarOptions.hideAllFromItemsPerPage, setToFirstPageOnPaginationChange: paginationBarOptions.setToFirstPageOnPaginationChange })))), sortable && (index.h("div", { class: "screen-reader-sort-text", "aria-live": "polite" }, sortedColumnOrder !== "unsorted" && sortedColumn
1243
+ (hideColumnHeaders ? (index.h("thead", null, createUpdatingIndicator())) : (createUpdatingIndicator())), this.renderTableBody(data, loading, loadingOptions.overlay)), this.renderEmptyState(data, loading, loadingOptions.overlay)), index.h("div", { "aria-live": "assertive", class: "sr-only" }, this.renderAriaLiveLoading()), this.renderLoadingIndicator(loading, loadingOptions), (showPagination || helpers.isSlotUsed(this.el, "pagination-bar")) && (index.h("div", { class: "pagination-container" }, helpers.isSlotUsed(this.el, "pagination-bar") ? (index.h("slot", { name: "pagination-bar" })) : (index.h("ic-pagination-bar", { alignment: paginationBarOptions.alignment, appearance: paginationBarOptions.appearance, hideAllFromItemsPerPage: paginationBarOptions.hideAllFromItemsPerPage, hideRangeLabel: paginationBarOptions.hideRangeLabel, itemLabel: paginationBarOptions.itemLabel, itemsPerPageOptions: paginationBarOptions.itemsPerPageOptions, pageLabel: paginationBarOptions.pageLabel, rangeLabelType: paginationBarOptions.rangeLabelType, selectedItemsPerPage: paginationBarOptions.selectedItemsPerPage, setToFirstPageOnPaginationChange: paginationBarOptions.setToFirstPageOnPaginationChange, showGoToPageControl: paginationBarOptions.showGoToPageControl, showItemsPerPageControl: paginationBarOptions.showItemsPerPageControl, totalItems: (_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : 0, type: paginationBarOptions.type })))), sortable && (index.h("div", { class: "screen-reader-sort-text", "aria-live": "polite" }, sortedColumnOrder !== "unsorted" && sortedColumn
1247
1244
  ? `${sortedColumn} sorted ${sortedColumnOrder}`
1248
1245
  : "table unsorted")))));
1249
1246
  }