@descope/web-components-ui 1.0.236 → 1.0.238

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 (26) hide show
  1. package/dist/cjs/index.cjs.js +20 -12
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +66 -27
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/7044.js +1 -0
  6. package/dist/umd/descope-badge-index-js.js +1 -1
  7. package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js +1 -0
  8. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
  9. package/dist/umd/descope-grid-descope-grid-text-column-index-js.js +1 -1
  10. package/dist/umd/descope-grid-index-js.js +1 -1
  11. package/dist/umd/index.js +1 -1
  12. package/package.json +1 -1
  13. package/src/components/descope-badge/BadgeClass.js +1 -1
  14. package/src/components/descope-grid/GridClass.js +7 -0
  15. package/src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js +31 -0
  16. package/src/components/descope-grid/descope-grid-custom-column/index.js +7 -0
  17. package/src/components/descope-grid/descope-grid-selection-column/GridSelectionColumnClass.js +57 -0
  18. package/src/components/descope-grid/descope-grid-selection-column/index.js +1 -56
  19. package/src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js +18 -0
  20. package/src/components/descope-grid/descope-grid-text-column/index.js +1 -10
  21. package/src/components/descope-grid/index.js +1 -1
  22. package/src/theme/components/badge.js +3 -3
  23. package/src/theme/components/grid.js +6 -5
  24. package/src/theme/components/notificationCard.js +3 -3
  25. package/dist/umd/descope-grid-descope-grid-status-column-index-js.js +0 -1
  26. package/src/components/descope-grid/descope-grid-status-column/index.js +0 -25
package/dist/index.esm.js CHANGED
@@ -6797,37 +6797,63 @@ const ButtonSelectionGroupItemClass = compose(
6797
6797
 
6798
6798
  customElements.define(componentName$8, ButtonSelectionGroupItemClass);
6799
6799
 
6800
- const componentName$7 = getComponentName('grid-text-column');
6800
+ class GridTextColumnClass extends GridSortColumn {
6801
+ get sortable() {
6802
+ return this.getAttribute('sortable') === 'true';
6803
+ }
6804
+
6805
+ _defaultHeaderRenderer(root, _column) {
6806
+ if (this.sortable) {
6807
+ super._defaultHeaderRenderer(root, _column);
6808
+
6809
+ return;
6810
+ }
6801
6811
 
6802
- class GridTextColumnClass extends GridSortColumn {}
6812
+ // eslint-disable-next-line no-param-reassign
6813
+ root.innerHTML = this.__getHeader(this.header, this.path);
6814
+ }
6815
+ }
6816
+
6817
+ const componentName$7 = getComponentName('grid-text-column');
6803
6818
 
6804
6819
  customElements.define(componentName$7, GridTextColumnClass);
6805
6820
 
6806
6821
  /* eslint-disable no-param-reassign */
6807
6822
 
6808
- const componentName$6 = getComponentName('grid-status-column');
6809
- class GridStatusColumnClass extends GridSortColumn {
6823
+ class GridCustomColumnClass extends GridTextColumnClass {
6810
6824
  _defaultRenderer(cell, _col, model) {
6811
- const contentAttr = this.getAttribute('status');
6812
- if (!contentAttr) {
6825
+ const content = model.item[this.path];
6826
+
6827
+ // we get a list of elements that can be used to render the content
6828
+ // each element can have a "pattern" attribute which contains regex expression
6829
+ // we are going over the elements, and when finding an element which is pattern matches the data,
6830
+ // we are cloning this element, and injecting the data as its child
6831
+ const contentEle = Array.from(this.children).find((child) => {
6832
+ const pattern = child.getAttribute('pattern');
6833
+ if (!pattern) return true;
6834
+
6835
+ const regEx = new RegExp(pattern);
6836
+ return regEx.test(content);
6837
+ });
6838
+
6839
+ if (!contentEle) {
6813
6840
  cell.innerHTML = model.item[this.path];
6841
+
6814
6842
  return;
6815
6843
  }
6816
6844
 
6817
- const [active, inactive] = contentAttr.split(',');
6818
- const label = model.item[this.path] ? active : inactive;
6819
-
6820
- cell.innerHTML = `<div style="padding:0 0.25em; border-radius:4px; background:${
6821
- model.item[this.path] ? 'lightgreen' : 'pink'
6822
- };">${label}</div>`;
6845
+ const newEle = contentEle.cloneNode(true);
6846
+ newEle.innerHTML = content;
6847
+ cell.innerHTML = '';
6848
+ cell.append(newEle);
6823
6849
  }
6824
6850
  }
6825
6851
 
6826
- customElements.define(componentName$6, GridStatusColumnClass);
6852
+ /* eslint-disable no-param-reassign */
6827
6853
 
6828
- /* eslint-disable class-methods-use-this */
6854
+ const componentName$6 = getComponentName('grid-custom-column');
6829
6855
 
6830
- const componentName$5 = getComponentName('grid-selection-column');
6856
+ customElements.define(componentName$6, GridCustomColumnClass);
6831
6857
 
6832
6858
  const createCheckboxEle = () => {
6833
6859
  const checkbox = document.createElement('descope-checkbox');
@@ -6841,8 +6867,10 @@ const createCheckboxEle = () => {
6841
6867
  const getIsAllItemsSelected = (grid) => grid.selectedItems.length === grid.items?.length;
6842
6868
 
6843
6869
  class GridSelectionColumnClass extends GridSelectionColumn {
6870
+ // eslint-disable-next-line class-methods-use-this
6844
6871
  _onHeaderRendererOrBindingChanged() {}
6845
6872
 
6873
+ // eslint-disable-next-line class-methods-use-this
6846
6874
  _headerRenderer(cell) {
6847
6875
  const grid = cell.parentNode;
6848
6876
 
@@ -6865,6 +6893,7 @@ class GridSelectionColumnClass extends GridSelectionColumn {
6865
6893
  checkbox.setAttribute('checked', getIsAllItemsSelected(grid));
6866
6894
  }
6867
6895
 
6896
+ // eslint-disable-next-line class-methods-use-this
6868
6897
  _defaultRenderer(cell, col, model) {
6869
6898
  const grid = cell.parentNode;
6870
6899
 
@@ -6882,6 +6911,8 @@ class GridSelectionColumnClass extends GridSelectionColumn {
6882
6911
  }
6883
6912
  }
6884
6913
 
6914
+ const componentName$5 = getComponentName('grid-selection-column');
6915
+
6885
6916
  customElements.define(componentName$5, GridSelectionColumnClass);
6886
6917
 
6887
6918
  const isValidDataType = (data) => {
@@ -7056,6 +7087,7 @@ const GridMixin = (superclass) =>
7056
7087
  const {
7057
7088
  host,
7058
7089
  headerRow,
7090
+ headerRowCell,
7059
7091
  contentRow,
7060
7092
  firstRow,
7061
7093
  sortIndicators,
@@ -7066,6 +7098,7 @@ const {
7066
7098
  } = {
7067
7099
  host: { selector: () => 'vaadin-grid' },
7068
7100
  headerRow: { selector: () => '::part(header-cell)' },
7101
+ headerRowCell: { selector: () => 'vaadin-grid::part(header-cell)' },
7069
7102
  contentRow: { selector: () => '::part(cell)' },
7070
7103
  firstRow: { selector: () => '::part(first-header-row-cell)' },
7071
7104
  selectedRow: { selector: () => '::part(selected-row-cell)' },
@@ -7086,6 +7119,10 @@ const GridClass = compose(
7086
7119
  fontSize: [{ ...headerRow }, { ...contentRow }],
7087
7120
  fontWeight: { ...contentRow },
7088
7121
  valueTextColor: { ...contentRow, property: 'color' },
7122
+ backgroundColor: [
7123
+ { ...host, property: 'background-color' },
7124
+ { ...contentRow, property: 'background-color' },
7125
+ ],
7089
7126
  sortIndicatorsColor: { ...sortIndicators, property: 'color' },
7090
7127
  activeSortIndicator: { ...activeSortIndicator, property: 'color' },
7091
7128
  inputBorderColor: { ...host, property: 'border-color' },
@@ -7094,6 +7131,7 @@ const GridClass = compose(
7094
7131
  inputBorderRadius: { ...host, property: 'border-radius' },
7095
7132
  selectedBackgroundColor: { ...selectedRow, property: 'background-color' },
7096
7133
  selectedTextColor: { ...selectedRow, property: 'color' },
7134
+ headerRowTextColor: { ...headerRowCell, property: 'color' },
7097
7135
  separatorColor: [
7098
7136
  { ...firstRow, property: 'border-bottom-color' },
7099
7137
  { ...rowSeparator, property: 'border-top-color' },
@@ -8782,12 +8820,13 @@ const grid = {
8782
8820
  [vars$3.hostWidth]: '100%',
8783
8821
  [vars$3.hostHeight]: '100%',
8784
8822
  [vars$3.hostMinHeight]: '400px',
8823
+ [vars$3.backgroundColor]: globalRefs$2.colors.surface.light,
8785
8824
 
8786
8825
  [vars$3.fontSize]: refs.fontSize,
8787
8826
  [vars$3.fontFamily]: refs.fontFamily,
8788
8827
 
8789
- [vars$3.sortIndicatorsColor]: globalRefs$2.colors.primary.main,
8790
- [vars$3.activeSortIndicator]: globalRefs$2.colors.primary.main,
8828
+ [vars$3.sortIndicatorsColor]: globalRefs$2.colors.surface.main,
8829
+ [vars$3.activeSortIndicator]: globalRefs$2.colors.surface.dark,
8791
8830
  [vars$3.resizeHandleColor]: globalRefs$2.colors.surface.main,
8792
8831
 
8793
8832
  [vars$3.inputBorderWidth]: refs.borderWidth,
@@ -8795,11 +8834,11 @@ const grid = {
8795
8834
  [vars$3.inputBorderRadius]: refs.borderRadius,
8796
8835
  [vars$3.inputBorderColor]: 'transparent',
8797
8836
 
8798
- [vars$3.separatorColor]: refs.borderColor,
8837
+ [vars$3.headerRowTextColor]: globalRefs$2.colors.surface.dark,
8838
+ [vars$3.separatorColor]: globalRefs$2.colors.surface.main,
8799
8839
 
8800
8840
  [vars$3.valueTextColor]: globalRefs$2.colors.surface.contrast,
8801
- [vars$3.selectedBackgroundColor]: globalRefs$2.colors.primary.main,
8802
- [vars$3.selectedTextColor]: globalRefs$2.colors.primary.contrast,
8841
+ [vars$3.selectedBackgroundColor]: globalRefs$2.colors.primary.contrast,
8803
8842
 
8804
8843
  _bordered: {
8805
8844
  [vars$3.inputBorderColor]: refs.borderColor,
@@ -8937,9 +8976,9 @@ const notification = {
8937
8976
  [vars$2.backgroundColor]: globalRefs$1.colors.surface.main,
8938
8977
  [vars$2.textColor]: globalRefs$1.colors.surface.contrast,
8939
8978
  [vars$2.boxShadow]: `${globalRefs$1.shadow.wide.xl} ${shadowColor}, ${globalRefs$1.shadow.narrow.xl} ${shadowColor}`,
8940
- [vars$2.verticalPadding]: '0.45em',
8941
- [vars$2.horizontalPadding]: '1em',
8942
- [vars$2.borderRadius]: globalRefs$1.radius.md,
8979
+ [vars$2.verticalPadding]: '0.625em',
8980
+ [vars$2.horizontalPadding]: '1.5em',
8981
+ [vars$2.borderRadius]: globalRefs$1.radius.xs,
8943
8982
 
8944
8983
  _bordered: {
8945
8984
  [vars$2.borderWidth]: globalRefs$1.border.sm,
@@ -9010,7 +9049,7 @@ const BadgeClass = compose(
9010
9049
  fontFamily: {},
9011
9050
  fontSize: {},
9012
9051
  fontWeight: {},
9013
-
9052
+ textTransform: {},
9014
9053
  verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],
9015
9054
  horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],
9016
9055
 
@@ -9045,7 +9084,7 @@ const badge = {
9045
9084
  [vars$1.horizontalPadding]: '0.5em',
9046
9085
 
9047
9086
  [vars$1.borderWidth]: globalRefs.border.xs,
9048
- [vars$1.borderRadius]: globalRefs.radius.sm,
9087
+ [vars$1.borderRadius]: globalRefs.radius.xs,
9049
9088
  [vars$1.borderColor]: 'transparent',
9050
9089
  [vars$1.borderStyle]: 'solid',
9051
9090
 
@@ -9080,9 +9119,9 @@ const badge = {
9080
9119
  },
9081
9120
  },
9082
9121
  error: {
9083
- [vars$1.borderColor]: globalRefs.colors.error.light,
9122
+ [vars$1.textColor]: globalRefs.colors.error.main,
9084
9123
  _bordered: {
9085
- [vars$1.textColor]: globalRefs.colors.error.main,
9124
+ [vars$1.borderColor]: globalRefs.colors.error.light,
9086
9125
  },
9087
9126
  },
9088
9127
  success: {