@ni/nimble-components 24.1.7 → 24.1.9

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 (83) hide show
  1. package/dist/all-components-bundle.js +102 -117
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +2560 -2557
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/src/table-column/anchor/index.d.ts +4 -3
  6. package/dist/esm/src/table-column/base/index.d.ts +4 -3
  7. package/dist/esm/src/table-column/base/models/column-internals.d.ts +10 -8
  8. package/dist/esm/src/table-column/base/models/column-validator.d.ts +2 -3
  9. package/dist/esm/src/table-column/base/template.d.ts +1 -1
  10. package/dist/esm/src/table-column/date-text/index.d.ts +26 -6
  11. package/dist/esm/src/table-column/date-text/models/table-column-date-text-validator.d.ts +1 -2
  12. package/dist/esm/src/table-column/duration-text/index.d.ts +27 -2
  13. package/dist/esm/src/table-column/enum-base/index.d.ts +1 -4
  14. package/dist/esm/src/table-column/enum-base/models/table-column-enum-base-validator.d.ts +1 -2
  15. package/dist/esm/src/table-column/enum-text/index.d.ts +3 -6
  16. package/dist/esm/src/table-column/enum-text/models/table-column-enum-text-validator.d.ts +1 -2
  17. package/dist/esm/src/table-column/icon/index.d.ts +3 -6
  18. package/dist/esm/src/table-column/icon/models/table-column-icon-validator.d.ts +1 -2
  19. package/dist/esm/src/table-column/mixins/fractional-width-column.d.ts +1 -1
  20. package/dist/esm/src/table-column/mixins/groupable-column.d.ts +1 -1
  21. package/dist/esm/src/table-column/number-text/index.d.ts +26 -6
  22. package/dist/esm/src/table-column/number-text/models/table-column-number-text-validator.d.ts +1 -2
  23. package/dist/esm/src/table-column/text/index.d.ts +26 -1
  24. package/dist/esm/src/table-column/text-base/index.d.ts +13 -11
  25. package/dist/esm/table/index.js +9 -6
  26. package/dist/esm/table/index.js.map +1 -1
  27. package/dist/esm/table/models/table-validator.js +1 -1
  28. package/dist/esm/table/models/table-validator.js.map +1 -1
  29. package/dist/esm/table-column/anchor/index.d.ts +4 -3
  30. package/dist/esm/table-column/anchor/index.js +3 -1
  31. package/dist/esm/table-column/anchor/index.js.map +1 -1
  32. package/dist/esm/table-column/base/index.d.ts +4 -3
  33. package/dist/esm/table-column/base/index.js +2 -2
  34. package/dist/esm/table-column/base/index.js.map +1 -1
  35. package/dist/esm/table-column/base/models/column-internals.d.ts +10 -8
  36. package/dist/esm/table-column/base/models/column-internals.js +1 -7
  37. package/dist/esm/table-column/base/models/column-internals.js.map +1 -1
  38. package/dist/esm/table-column/base/models/column-validator.d.ts +2 -3
  39. package/dist/esm/table-column/base/models/column-validator.js +8 -3
  40. package/dist/esm/table-column/base/models/column-validator.js.map +1 -1
  41. package/dist/esm/table-column/base/template.d.ts +1 -1
  42. package/dist/esm/table-column/date-text/index.d.ts +26 -6
  43. package/dist/esm/table-column/date-text/index.js +6 -10
  44. package/dist/esm/table-column/date-text/index.js.map +1 -1
  45. package/dist/esm/table-column/date-text/models/table-column-date-text-validator.d.ts +1 -2
  46. package/dist/esm/table-column/date-text/models/table-column-date-text-validator.js +2 -2
  47. package/dist/esm/table-column/date-text/models/table-column-date-text-validator.js.map +1 -1
  48. package/dist/esm/table-column/duration-text/index.d.ts +27 -2
  49. package/dist/esm/table-column/duration-text/index.js +5 -3
  50. package/dist/esm/table-column/duration-text/index.js.map +1 -1
  51. package/dist/esm/table-column/enum-base/index.d.ts +1 -4
  52. package/dist/esm/table-column/enum-base/index.js +2 -6
  53. package/dist/esm/table-column/enum-base/index.js.map +1 -1
  54. package/dist/esm/table-column/enum-base/models/table-column-enum-base-validator.d.ts +1 -2
  55. package/dist/esm/table-column/enum-base/models/table-column-enum-base-validator.js +2 -2
  56. package/dist/esm/table-column/enum-base/models/table-column-enum-base-validator.js.map +1 -1
  57. package/dist/esm/table-column/enum-text/index.d.ts +3 -6
  58. package/dist/esm/table-column/enum-text/index.js +2 -7
  59. package/dist/esm/table-column/enum-text/index.js.map +1 -1
  60. package/dist/esm/table-column/enum-text/models/table-column-enum-text-validator.d.ts +1 -2
  61. package/dist/esm/table-column/enum-text/models/table-column-enum-text-validator.js +2 -2
  62. package/dist/esm/table-column/enum-text/models/table-column-enum-text-validator.js.map +1 -1
  63. package/dist/esm/table-column/icon/index.d.ts +3 -6
  64. package/dist/esm/table-column/icon/index.js +2 -7
  65. package/dist/esm/table-column/icon/index.js.map +1 -1
  66. package/dist/esm/table-column/icon/models/table-column-icon-validator.d.ts +1 -2
  67. package/dist/esm/table-column/icon/models/table-column-icon-validator.js +2 -2
  68. package/dist/esm/table-column/icon/models/table-column-icon-validator.js.map +1 -1
  69. package/dist/esm/table-column/mixins/fractional-width-column.d.ts +1 -1
  70. package/dist/esm/table-column/mixins/groupable-column.d.ts +1 -1
  71. package/dist/esm/table-column/number-text/index.d.ts +26 -6
  72. package/dist/esm/table-column/number-text/index.js +10 -13
  73. package/dist/esm/table-column/number-text/index.js.map +1 -1
  74. package/dist/esm/table-column/number-text/models/table-column-number-text-validator.d.ts +1 -2
  75. package/dist/esm/table-column/number-text/models/table-column-number-text-validator.js +2 -2
  76. package/dist/esm/table-column/number-text/models/table-column-number-text-validator.js.map +1 -1
  77. package/dist/esm/table-column/text/index.d.ts +26 -1
  78. package/dist/esm/table-column/text/index.js +5 -3
  79. package/dist/esm/table-column/text/index.js.map +1 -1
  80. package/dist/esm/table-column/text-base/index.d.ts +13 -11
  81. package/dist/esm/table-column/text-base/index.js +6 -2
  82. package/dist/esm/table-column/text-base/index.js.map +1 -1
  83. package/package.json +1 -1
@@ -16301,7 +16301,7 @@
16301
16301
 
16302
16302
  /**
16303
16303
  * Do not edit directly
16304
- * Generated on Thu, 04 Apr 2024 17:54:36 GMT
16304
+ * Generated on Mon, 08 Apr 2024 20:24:00 GMT
16305
16305
  */
16306
16306
 
16307
16307
  const Information100DarkUi = "#a46eff";
@@ -63280,10 +63280,6 @@ img.ProseMirror-separator {
63280
63280
  * A unique id used internally in the table to identify specific column instances
63281
63281
  */
63282
63282
  this.uniqueId = uniqueId('table-column-slot');
63283
- /**
63284
- * Whether this column has a valid configuration.
63285
- */
63286
- this.validConfiguration = true;
63287
63283
  /**
63288
63284
  * The operation to use when sorting the table by this column.
63289
63285
  */
@@ -63321,6 +63317,7 @@ img.ProseMirror-separator {
63321
63317
  this.groupHeaderViewTemplate = createGroupHeaderViewTemplate(options.groupHeaderViewTag);
63322
63318
  this.delegatedEvents = options.delegatedEvents;
63323
63319
  this.sortOperation = options.sortOperation ?? TableColumnSortOperation.basic;
63320
+ this.validator = options.validator;
63324
63321
  }
63325
63322
  fractionalWidthChanged() {
63326
63323
  this.currentFractionalWidth = this.fractionalWidth;
@@ -63332,9 +63329,6 @@ img.ProseMirror-separator {
63332
63329
  __decorate$1([
63333
63330
  observable
63334
63331
  ], ColumnInternals.prototype, "columnConfig", void 0);
63335
- __decorate$1([
63336
- observable
63337
- ], ColumnInternals.prototype, "validConfiguration", void 0);
63338
63332
  __decorate$1([
63339
63333
  observable
63340
63334
  ], ColumnInternals.prototype, "operandDataRecordFieldName", void 0);
@@ -63399,10 +63393,10 @@ img.ProseMirror-separator {
63399
63393
  this.hasOverflow = false;
63400
63394
  }
63401
63395
  checkValidity() {
63402
- return this.columnInternals.validConfiguration;
63396
+ return this.columnInternals.validator.isColumnValid;
63403
63397
  }
63404
63398
  get validity() {
63405
- return {};
63399
+ return this.columnInternals.validator.getValidity();
63406
63400
  }
63407
63401
  /** @internal */
63408
63402
  get headerTextContent() {
@@ -63571,7 +63565,7 @@ img.ProseMirror-separator {
63571
63565
  return !this.duplicateGroupIndex;
63572
63566
  }
63573
63567
  validateColumnConfigurations(columns) {
63574
- this.invalidColumnConfiguration = columns.some(x => !x.columnInternals.validConfiguration);
63568
+ this.invalidColumnConfiguration = columns.some(x => !x.columnInternals.validator.isColumnValid);
63575
63569
  return !this.invalidColumnConfiguration;
63576
63570
  }
63577
63571
  getPresentRecordIds(requestedRecordIds) {
@@ -66557,6 +66551,52 @@ img.ProseMirror-separator {
66557
66551
  }
66558
66552
  }
66559
66553
 
66554
+ /**
66555
+ * Generic Validator Utility extends Tracker Utility for validation purposes
66556
+ */
66557
+ class Validator extends Tracker {
66558
+ isValid() {
66559
+ return this.noneTracked();
66560
+ }
66561
+ getValidationFlags() {
66562
+ return this.getTrackedItems();
66563
+ }
66564
+ }
66565
+
66566
+ /**
66567
+ * Base column validator
66568
+ */
66569
+ class ColumnValidator extends Validator {
66570
+ constructor(configValidityKeys) {
66571
+ super(configValidityKeys);
66572
+ this.isColumnValid = true;
66573
+ }
66574
+ /**
66575
+ * @returns an object containing flags for various ways the configuation can be invalid
66576
+ */
66577
+ getValidity() {
66578
+ return this.getValidationFlags();
66579
+ }
66580
+ /**
66581
+ * Sets a particular validity condition flag's value, e.g. "hasInvalidFooValue" = true
66582
+ */
66583
+ setConditionValue(name, isInvalid) {
66584
+ if (isInvalid) {
66585
+ this.track(name);
66586
+ }
66587
+ else {
66588
+ this.untrack(name);
66589
+ }
66590
+ this.updateColumnInternalsFlag();
66591
+ }
66592
+ updateColumnInternalsFlag() {
66593
+ this.isColumnValid = this.isValid();
66594
+ }
66595
+ }
66596
+ __decorate$1([
66597
+ observable
66598
+ ], ColumnValidator.prototype, "isColumnValid", void 0);
66599
+
66560
66600
  /**
66561
66601
  * A nimble-styled table.
66562
66602
  */
@@ -66761,12 +66801,11 @@ img.ProseMirror-separator {
66761
66801
  if ((source instanceof TableColumn
66762
66802
  || source instanceof ColumnInternals)
66763
66803
  && typeof args === 'string') {
66764
- if (args === 'validConfiguration') {
66765
- this.tableValidator.validateColumnConfigurations(this.columns);
66766
- }
66767
- else {
66768
- this.tableUpdateTracker.trackColumnPropertyChanged(args);
66769
- }
66804
+ this.tableUpdateTracker.trackColumnPropertyChanged(args);
66805
+ }
66806
+ else if (source instanceof ColumnValidator
66807
+ && args === 'isColumnValid') {
66808
+ this.tableValidator.validateColumnConfigurations(this.columns);
66770
66809
  }
66771
66810
  else if (source instanceof TableLayoutManager
66772
66811
  && args === 'isColumnBeingSized'
@@ -67026,6 +67065,9 @@ img.ProseMirror-separator {
67026
67065
  const notifierInternals = Observable.getNotifier(column.columnInternals);
67027
67066
  notifierInternals.subscribe(this);
67028
67067
  this.columnNotifiers.push(notifierInternals);
67068
+ const validatorNotifier = Observable.getNotifier(column.columnInternals.validator);
67069
+ validatorNotifier.subscribe(this);
67070
+ this.columnNotifiers.push(validatorNotifier);
67029
67071
  }
67030
67072
  }
67031
67073
  getColumnsParticipatingInSorting() {
@@ -67724,7 +67766,8 @@ img.ProseMirror-separator {
67724
67766
  cellViewTag: tableColumnAnchorCellViewTag,
67725
67767
  groupHeaderViewTag: tableColumnTextGroupHeaderViewTag,
67726
67768
  delegatedEvents: ['click'],
67727
- sortOperation: TableColumnSortOperation.localeAwareCaseSensitive
67769
+ sortOperation: TableColumnSortOperation.localeAwareCaseSensitive,
67770
+ validator: new ColumnValidator([])
67728
67771
  };
67729
67772
  }
67730
67773
  labelFieldNameChanged() {
@@ -67827,7 +67870,7 @@ img.ProseMirror-separator {
67827
67870
  /**
67828
67871
  * The base class for table columns that display fields of any type as text.
67829
67872
  */
67830
- class TableColumnTextBase extends mixinGroupableColumnAPI(mixinFractionalWidthColumnAPI(mixinColumnWithPlaceholderAPI(TableColumn))) {
67873
+ class TableColumnTextBase extends TableColumn {
67831
67874
  fieldNameChanged() {
67832
67875
  this.columnInternals.dataRecordFieldNames = [this.fieldName];
67833
67876
  this.columnInternals.operandDataRecordFieldName = this.fieldName;
@@ -67836,6 +67879,10 @@ img.ProseMirror-separator {
67836
67879
  __decorate$1([
67837
67880
  attr({ attribute: 'field-name' })
67838
67881
  ], TableColumnTextBase.prototype, "fieldName", void 0);
67882
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type, @typescript-eslint/no-explicit-any
67883
+ function mixinTextBase(base) {
67884
+ return mixinGroupableColumnAPI(mixinFractionalWidthColumnAPI(mixinColumnWithPlaceholderAPI(base)));
67885
+ }
67839
67886
 
67840
67887
  function formatNumericDate(formatter, date) {
67841
67888
  if (typeof date === 'number') {
@@ -68009,56 +68056,13 @@ img.ProseMirror-separator {
68009
68056
  custom: 'custom'
68010
68057
  };
68011
68058
 
68012
- /**
68013
- * Generic Validator Utility extends Tracker Utility for validation purposes
68014
- */
68015
- class Validator extends Tracker {
68016
- isValid() {
68017
- return this.noneTracked();
68018
- }
68019
- getValidationFlags() {
68020
- return this.getTrackedItems();
68021
- }
68022
- }
68023
-
68024
- /**
68025
- * Base column validator
68026
- */
68027
- class ColumnValidator extends Validator {
68028
- constructor(columnInternals, configValidityKeys) {
68029
- super(configValidityKeys);
68030
- this.columnInternals = columnInternals;
68031
- }
68032
- /**
68033
- * @returns an object containing flags for various ways the configuation can be invalid
68034
- */
68035
- getValidity() {
68036
- return this.getValidationFlags();
68037
- }
68038
- /**
68039
- * Sets a particular validity condition flag's value, e.g. "hasInvalidFooValue" = true
68040
- */
68041
- setConditionValue(name, isInvalid) {
68042
- if (isInvalid) {
68043
- this.track(name);
68044
- }
68045
- else {
68046
- this.untrack(name);
68047
- }
68048
- this.updateColumnInternalsFlag();
68049
- }
68050
- updateColumnInternalsFlag() {
68051
- this.columnInternals.validConfiguration = this.isValid();
68052
- }
68053
- }
68054
-
68055
68059
  const dateTextValidityFlagNames = ['invalidCustomOptionsCombination'];
68056
68060
  /**
68057
68061
  * Validator for TableColumnDateText.
68058
68062
  */
68059
68063
  class TableColumnDateTextValidator extends ColumnValidator {
68060
- constructor(columnInternals) {
68061
- super(columnInternals, dateTextValidityFlagNames);
68064
+ constructor() {
68065
+ super(dateTextValidityFlagNames);
68062
68066
  }
68063
68067
  setCustomOptionsValidity(valid) {
68064
68068
  this.setConditionValue('invalidCustomOptionsCombination', !valid);
@@ -68085,11 +68089,9 @@ img.ProseMirror-separator {
68085
68089
  /**
68086
68090
  * The table column for displaying dates/times as text.
68087
68091
  */
68088
- class TableColumnDateText extends TableColumnTextBase {
68092
+ class TableColumnDateText extends mixinTextBase((TableColumnTextBase)) {
68089
68093
  constructor() {
68090
68094
  super(...arguments);
68091
- /** @internal */
68092
- this.validator = new TableColumnDateTextValidator(this.columnInternals);
68093
68095
  this.langSubscriber = {
68094
68096
  handleChange: () => {
68095
68097
  this.updateColumnConfig();
@@ -68105,9 +68107,6 @@ img.ProseMirror-separator {
68105
68107
  super.disconnectedCallback();
68106
68108
  lang.unsubscribe(this.langSubscriber, this);
68107
68109
  }
68108
- get validity() {
68109
- return this.validator.getValidity();
68110
- }
68111
68110
  placeholderChanged() {
68112
68111
  this.updateColumnConfig();
68113
68112
  }
@@ -68117,7 +68116,8 @@ img.ProseMirror-separator {
68117
68116
  cellViewTag: tableColumnDateTextCellViewTag,
68118
68117
  groupHeaderViewTag: tableColumnDateTextGroupHeaderViewTag,
68119
68118
  delegatedEvents: [],
68120
- sortOperation: TableColumnSortOperation.basic
68119
+ sortOperation: TableColumnSortOperation.basic,
68120
+ validator: new TableColumnDateTextValidator()
68121
68121
  };
68122
68122
  }
68123
68123
  formatChanged() {
@@ -68188,11 +68188,11 @@ img.ProseMirror-separator {
68188
68188
  placeholder: this.placeholder
68189
68189
  };
68190
68190
  this.columnInternals.columnConfig = columnConfig;
68191
- this.validator.setCustomOptionsValidity(true);
68191
+ this.columnInternals.validator.setCustomOptionsValidity(true);
68192
68192
  }
68193
68193
  else {
68194
68194
  this.columnInternals.columnConfig = undefined;
68195
- this.validator.setCustomOptionsValidity(false);
68195
+ this.columnInternals.validator.setCustomOptionsValidity(false);
68196
68196
  }
68197
68197
  }
68198
68198
  createFormatter() {
@@ -68433,7 +68433,7 @@ img.ProseMirror-separator {
68433
68433
  /**
68434
68434
  * The table column for displaying a duration value as text.
68435
68435
  */
68436
- class TableColumnDurationText extends TableColumnTextBase {
68436
+ class TableColumnDurationText extends mixinTextBase((TableColumnTextBase)) {
68437
68437
  constructor() {
68438
68438
  super(...arguments);
68439
68439
  this.langSubscriber = {
@@ -68460,7 +68460,8 @@ img.ProseMirror-separator {
68460
68460
  cellViewTag: tableColumnDurationTextCellViewTag,
68461
68461
  groupHeaderViewTag: tableColumnDurationTextGroupHeaderViewTag,
68462
68462
  delegatedEvents: [],
68463
- sortOperation: TableColumnSortOperation.basic
68463
+ sortOperation: TableColumnSortOperation.basic,
68464
+ validator: new ColumnValidator([])
68464
68465
  };
68465
68466
  }
68466
68467
  updateColumnConfig() {
@@ -68509,10 +68510,6 @@ img.ProseMirror-separator {
68509
68510
  class TableColumnEnumBase extends TableColumn {
68510
68511
  constructor() {
68511
68512
  super(...arguments);
68512
- // To ensure the validator is available when other properties get initialized
68513
- // (which can trigger validation), declare the validator first.
68514
- /** @internal */
68515
- this.validator = this.createValidator();
68516
68513
  /** @internal */
68517
68514
  this.mappingNotifiers = [];
68518
68515
  /** @internal */
@@ -68534,8 +68531,8 @@ img.ProseMirror-separator {
68534
68531
  * Called when any Mapping related state has changed.
68535
68532
  */
68536
68533
  updateColumnConfig() {
68537
- this.validator.validate(this.mappings, this.keyType);
68538
- this.columnInternals.columnConfig = this.validator.isValid()
68534
+ this.columnInternals.validator.validate(this.mappings, this.keyType);
68535
+ this.columnInternals.columnConfig = this.checkValidity()
68539
68536
  ? this.createColumnConfig(this.getMappingConfigs())
68540
68537
  : undefined;
68541
68538
  }
@@ -68606,8 +68603,8 @@ img.ProseMirror-separator {
68606
68603
  * Validator for TableColumnEnumText. Implementations MUST include enumBaseValidityFlagNames in validity flag names set.
68607
68604
  */
68608
68605
  class TableColumnEnumBaseValidator extends ColumnValidator {
68609
- constructor(columnInternals, configValidityKeys) {
68610
- super(columnInternals, configValidityKeys);
68606
+ constructor(configValidityKeys) {
68607
+ super(configValidityKeys);
68611
68608
  }
68612
68609
  validate(mappings, keyType) {
68613
68610
  this.untrackAll();
@@ -68644,8 +68641,8 @@ img.ProseMirror-separator {
68644
68641
  * Validator for TableColumnEnumText
68645
68642
  */
68646
68643
  class TableColumnEnumTextValidator extends TableColumnEnumBaseValidator {
68647
- constructor(columnInternals) {
68648
- super(columnInternals, enumTextValidityFlagNames);
68644
+ constructor() {
68645
+ super(enumTextValidityFlagNames);
68649
68646
  }
68650
68647
  static isSupportedMappingElement(mapping) {
68651
68648
  return mapping instanceof MappingText;
@@ -68731,19 +68728,14 @@ img.ProseMirror-separator {
68731
68728
  * Table column that maps values to strings
68732
68729
  */
68733
68730
  class TableColumnEnumText extends mixinGroupableColumnAPI(mixinFractionalWidthColumnAPI((TableColumnEnumBase))) {
68734
- createValidator() {
68735
- return new TableColumnEnumTextValidator(this.columnInternals);
68736
- }
68737
- get validity() {
68738
- return this.validator.getValidity();
68739
- }
68740
68731
  getColumnInternalsOptions() {
68741
68732
  return {
68742
68733
  cellRecordFieldNames: ['value'],
68743
68734
  cellViewTag: tableColumnEnumTextCellViewTag,
68744
68735
  groupHeaderViewTag: tableColumnEnumTextGroupHeaderViewTag,
68745
68736
  delegatedEvents: [],
68746
- sortOperation: TableColumnSortOperation.basic
68737
+ sortOperation: TableColumnSortOperation.basic,
68738
+ validator: new TableColumnEnumTextValidator()
68747
68739
  };
68748
68740
  }
68749
68741
  createColumnConfig(mappingConfigs) {
@@ -69164,8 +69156,8 @@ img.ProseMirror-separator {
69164
69156
  * Validator for TableColumnNumberText.
69165
69157
  */
69166
69158
  class TableColumnNumberTextValidator extends ColumnValidator {
69167
- constructor(columnInternals) {
69168
- super(columnInternals, numberTextValidityFlagNames);
69159
+ constructor() {
69160
+ super(numberTextValidityFlagNames);
69169
69161
  }
69170
69162
  validateDecimalDigits(format, decimalDigits) {
69171
69163
  const shouldValidateDecimalDigitsValue = format === NumberTextFormat.decimal
@@ -69213,11 +69205,9 @@ img.ProseMirror-separator {
69213
69205
  /**
69214
69206
  * The table column for displaying numbers as text.
69215
69207
  */
69216
- class TableColumnNumberText extends TableColumnTextBase {
69208
+ class TableColumnNumberText extends mixinTextBase((TableColumnTextBase)) {
69217
69209
  constructor() {
69218
69210
  super(...arguments);
69219
- /** @internal */
69220
- this.validator = new TableColumnNumberTextValidator(this.columnInternals);
69221
69211
  this.langSubscriber = {
69222
69212
  handleChange: () => {
69223
69213
  this.updateColumnConfig();
@@ -69238,9 +69228,6 @@ img.ProseMirror-separator {
69238
69228
  super.disconnectedCallback();
69239
69229
  lang.unsubscribe(this.langSubscriber, this);
69240
69230
  }
69241
- get validity() {
69242
- return this.validator.getValidity();
69243
- }
69244
69231
  placeholderChanged() {
69245
69232
  this.updateColumnConfig();
69246
69233
  }
@@ -69250,7 +69237,8 @@ img.ProseMirror-separator {
69250
69237
  cellViewTag: tableColumnNumberTextCellViewTag,
69251
69238
  groupHeaderViewTag: tableColumnNumberTextGroupHeaderTag,
69252
69239
  delegatedEvents: [],
69253
- sortOperation: TableColumnSortOperation.basic
69240
+ sortOperation: TableColumnSortOperation.basic,
69241
+ validator: new TableColumnNumberTextValidator()
69254
69242
  };
69255
69243
  }
69256
69244
  updateUnitNotifier() {
@@ -69291,11 +69279,12 @@ img.ProseMirror-separator {
69291
69279
  this.updateColumnConfig();
69292
69280
  }
69293
69281
  updateColumnConfig() {
69294
- this.validator.validateDecimalDigits(this.format, this.decimalDigits);
69295
- this.validator.validateDecimalMaximumDigits(this.format, this.decimalMaximumDigits);
69296
- this.validator.validateNoMutuallyExclusiveProperties(this.format, this.decimalDigits, this.decimalMaximumDigits);
69297
- this.validator.validateAtMostOneUnit(this.unitElements ?? []);
69298
- if (this.validator.isValid()) {
69282
+ const validator = this.columnInternals.validator;
69283
+ validator.validateDecimalDigits(this.format, this.decimalDigits);
69284
+ validator.validateDecimalMaximumDigits(this.format, this.decimalMaximumDigits);
69285
+ validator.validateNoMutuallyExclusiveProperties(this.format, this.decimalDigits, this.decimalMaximumDigits);
69286
+ validator.validateAtMostOneUnit(this.unitElements ?? []);
69287
+ if (validator.isValid()) {
69299
69288
  const columnConfig = {
69300
69289
  formatter: this.createFormatter(),
69301
69290
  alignment: this.determineCellContentAlignment(),
@@ -69374,8 +69363,8 @@ img.ProseMirror-separator {
69374
69363
  * Validator for TableColumnIcon
69375
69364
  */
69376
69365
  class TableColumnIconValidator extends TableColumnEnumBaseValidator {
69377
- constructor(columnInternals) {
69378
- super(columnInternals, iconValidityFlagNames);
69366
+ constructor() {
69367
+ super(iconValidityFlagNames);
69379
69368
  }
69380
69369
  static isIconMappingElement(mapping) {
69381
69370
  return mapping instanceof MappingIcon;
@@ -69606,19 +69595,14 @@ img.ProseMirror-separator {
69606
69595
  * Table column that maps values to icons / spinners
69607
69596
  */
69608
69597
  class TableColumnIcon extends mixinGroupableColumnAPI(mixinFractionalWidthColumnAPI((TableColumnEnumBase))) {
69609
- createValidator() {
69610
- return new TableColumnIconValidator(this.columnInternals);
69611
- }
69612
- get validity() {
69613
- return this.validator.getValidity();
69614
- }
69615
69598
  getColumnInternalsOptions() {
69616
69599
  return {
69617
69600
  cellRecordFieldNames: ['value'],
69618
69601
  cellViewTag: tableColumnIconCellViewTag,
69619
69602
  groupHeaderViewTag: tableColumnIconGroupHeaderViewTag,
69620
69603
  delegatedEvents: [],
69621
- sortOperation: TableColumnSortOperation.basic
69604
+ sortOperation: TableColumnSortOperation.basic,
69605
+ validator: new TableColumnIconValidator()
69622
69606
  };
69623
69607
  }
69624
69608
  createColumnConfig(mappingConfigs) {
@@ -69668,7 +69652,7 @@ img.ProseMirror-separator {
69668
69652
  /**
69669
69653
  * The table column for displaying string fields as text.
69670
69654
  */
69671
- class TableColumnText extends TableColumnTextBase {
69655
+ class TableColumnText extends mixinTextBase((TableColumnTextBase)) {
69672
69656
  placeholderChanged() {
69673
69657
  this.columnInternals.columnConfig = {
69674
69658
  placeholder: this.placeholder
@@ -69680,7 +69664,8 @@ img.ProseMirror-separator {
69680
69664
  cellViewTag: tableColumnTextCellViewTag,
69681
69665
  groupHeaderViewTag: tableColumnTextGroupHeaderViewTag,
69682
69666
  delegatedEvents: [],
69683
- sortOperation: TableColumnSortOperation.localeAwareCaseSensitive
69667
+ sortOperation: TableColumnSortOperation.localeAwareCaseSensitive,
69668
+ validator: new ColumnValidator([])
69684
69669
  };
69685
69670
  }
69686
69671
  }