@ni/nimble-components 29.8.2 → 30.0.0

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 (73) hide show
  1. package/dist/all-components-bundle.js +295 -37
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +3428 -3417
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/combobox/index.d.ts +2 -0
  6. package/dist/esm/combobox/index.js +2 -0
  7. package/dist/esm/combobox/index.js.map +1 -1
  8. package/dist/esm/combobox/testing/combobox.pageobject.d.ts +92 -0
  9. package/dist/esm/combobox/testing/combobox.pageobject.js +151 -0
  10. package/dist/esm/combobox/testing/combobox.pageobject.js.map +1 -0
  11. package/dist/esm/icons/all-icons.d.ts +10 -2
  12. package/dist/esm/icons/all-icons.js +10 -2
  13. package/dist/esm/icons/all-icons.js.map +1 -1
  14. package/dist/esm/icons/arrow-right-thin.d.ts +13 -0
  15. package/dist/esm/icons/arrow-right-thin.js +15 -0
  16. package/dist/esm/icons/arrow-right-thin.js.map +1 -0
  17. package/dist/esm/icons/arrow-u-left.d.ts +13 -0
  18. package/dist/esm/icons/arrow-u-left.js +15 -0
  19. package/dist/esm/icons/arrow-u-left.js.map +1 -0
  20. package/dist/esm/icons/arrow-u-right.d.ts +13 -0
  21. package/dist/esm/icons/arrow-u-right.js +15 -0
  22. package/dist/esm/icons/arrow-u-right.js.map +1 -0
  23. package/dist/esm/icons/arrow-u-up.d.ts +13 -0
  24. package/dist/esm/icons/arrow-u-up.js +15 -0
  25. package/dist/esm/icons/arrow-u-up.js.map +1 -0
  26. package/dist/esm/icons/arrow-up-right-from-square.js +2 -2
  27. package/dist/esm/icons/arrow-up-right-from-square.js.map +1 -1
  28. package/dist/esm/icons/calendar-clock.d.ts +13 -0
  29. package/dist/esm/icons/calendar-clock.js +15 -0
  30. package/dist/esm/icons/calendar-clock.js.map +1 -0
  31. package/dist/esm/icons/calendar-day-outline.d.ts +13 -0
  32. package/dist/esm/icons/calendar-day-outline.js +15 -0
  33. package/dist/esm/icons/calendar-day-outline.js.map +1 -0
  34. package/dist/esm/icons/calendar-days.d.ts +13 -0
  35. package/dist/esm/icons/calendar-days.js +15 -0
  36. package/dist/esm/icons/calendar-days.js.map +1 -0
  37. package/dist/esm/icons/calendar-lines.d.ts +13 -0
  38. package/dist/esm/icons/calendar-lines.js +15 -0
  39. package/dist/esm/icons/calendar-lines.js.map +1 -0
  40. package/dist/esm/icons/calendar-rectangle.d.ts +13 -0
  41. package/dist/esm/icons/calendar-rectangle.js +15 -0
  42. package/dist/esm/icons/calendar-rectangle.js.map +1 -0
  43. package/dist/esm/icons/calendar-week.d.ts +13 -0
  44. package/dist/esm/icons/calendar-week.js +15 -0
  45. package/dist/esm/icons/calendar-week.js.map +1 -0
  46. package/dist/esm/table-column/anchor/index.d.ts +23 -6
  47. package/dist/esm/table-column/anchor/index.js +14 -5
  48. package/dist/esm/table-column/anchor/index.js.map +1 -1
  49. package/dist/esm/table-column/anchor/models/table-column-anchor-validator.d.ts +8 -0
  50. package/dist/esm/table-column/anchor/models/table-column-anchor-validator.js +13 -0
  51. package/dist/esm/table-column/anchor/models/table-column-anchor-validator.js.map +1 -0
  52. package/dist/esm/table-column/base/models/column-validator.d.ts +1 -1
  53. package/dist/esm/table-column/base/models/column-validator.js +4 -4
  54. package/dist/esm/table-column/base/models/column-validator.js.map +1 -1
  55. package/dist/esm/table-column/mixins/custom-sort-order.d.ts +26 -0
  56. package/dist/esm/table-column/mixins/custom-sort-order.js +66 -0
  57. package/dist/esm/table-column/mixins/custom-sort-order.js.map +1 -0
  58. package/dist/esm/table-column/text/index.d.ts +24 -6
  59. package/dist/esm/table-column/text/index.js +20 -4
  60. package/dist/esm/table-column/text/index.js.map +1 -1
  61. package/dist/esm/table-column/text/models/table-column-text-validator.d.ts +8 -0
  62. package/dist/esm/table-column/text/models/table-column-text-validator.js +13 -0
  63. package/dist/esm/table-column/text/models/table-column-text-validator.js.map +1 -0
  64. package/dist/esm/utilities/models/tracker.d.ts +1 -0
  65. package/dist/esm/utilities/models/tracker.js +19 -2
  66. package/dist/esm/utilities/models/tracker.js.map +1 -1
  67. package/package.json +4 -4
  68. package/dist/esm/icons/arrow-u-rotate-left.d.ts +0 -13
  69. package/dist/esm/icons/arrow-u-rotate-left.js +0 -15
  70. package/dist/esm/icons/arrow-u-rotate-left.js.map +0 -1
  71. package/dist/esm/icons/calendar.d.ts +0 -13
  72. package/dist/esm/icons/calendar.js +0 -15
  73. package/dist/esm/icons/calendar.js.map +0 -1
@@ -16333,7 +16333,7 @@
16333
16333
 
16334
16334
  /**
16335
16335
  * Do not edit directly
16336
- * Generated on Thu, 11 Jul 2024 21:51:38 GMT
16336
+ * Generated on Tue, 16 Jul 2024 22:15:12 GMT
16337
16337
  */
16338
16338
 
16339
16339
  const Information100DarkUi = "#a46eff";
@@ -19043,6 +19043,10 @@
19043
19043
  name: 'arrow_partial_rotate_left_16_x_16',
19044
19044
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 11.988a3.086 3.086 0 0 0 3.143-3.025 3.08 3.08 0 0 0-3.085-3.02v.088l.826 2.067-5.598-2.796L8.884 2.5l-.742 1.932a4.62 4.62 0 0 1 4.572 4.53A4.63 4.63 0 0 1 8 13.5Z" class="cls-1"/></svg>`,
19045
19045
  };
19046
+ const arrowRightThin16X16 = {
19047
+ name: 'arrow_right_thin_16_x_16',
19048
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m7.831 4.386-.706 1.127 3.128 1.837H2v1.3h8.365L7.49 10.528l.768 1.085L13.875 8z" class="cls-1"/></svg>`,
19049
+ };
19046
19050
  const arrowRightToLine16X16 = {
19047
19051
  name: 'arrow_right_to_line_16_x_16',
19048
19052
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 14h2V2h-2Zm-6.9-3 1.287-2H2V7l4.412.004L5.1 5 11 7.982Z" class="cls-1"/></svg>`,
@@ -19051,8 +19055,16 @@
19051
19055
  name: 'arrow_rotate_right_16_x_16',
19052
19056
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8.9 2.773v1.715a3.366 3.366 0 0 1 3.3 3.428 3.366 3.366 0 0 1-3.3 3.429 3.36 3.36 0 0 1-3.293-3.366h.095l2.255.901-3.05-6.107L1.85 8.88l2.108-.808A5.04 5.04 0 0 0 8.9 13.059a5.05 5.05 0 0 0 4.95-5.143A5.05 5.05 0 0 0 8.9 2.773" class="cls-1"/></svg>`,
19053
19057
  };
19054
- const arrowURotateLeft16X16 = {
19055
- name: 'arrow_u_rotate_left_16_x_16',
19058
+ const arrowULeft16X16 = {
19059
+ name: 'arrow_u_left_16_x_16',
19060
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m9.453 8.857-1.68-2.571h.908a3 3 0 0 1 0 6H3.11V14h5.571a4.714 4.714 0 0 0 0-9.429h-.908L9.453 2 2.604 5.403z" class="cls-1"/></svg>`,
19061
+ };
19062
+ const arrowURight16X16 = {
19063
+ name: 'arrow_u_right_16_x_16',
19064
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m6.547 8.857 1.68-2.571H7.32a3 3 0 0 0 0 6h5.571V14H7.319a4.714 4.714 0 0 1 0-9.429h.908L6.547 2l6.849 3.403z" class="cls-1"/></svg>`,
19065
+ };
19066
+ const arrowUUp16X16 = {
19067
+ name: 'arrow_u_up_16_x_16',
19056
19068
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m8.857 9.453-2.571-1.68v.908a3 3 0 0 0 3 3 3 3 0 0 0 3-3V3.11H14v5.571a4.714 4.714 0 0 1-4.714 4.715A4.714 4.714 0 0 1 4.57 8.68v-.908L2 9.453l3.403-6.849Z" class="cls-1"/></svg>`,
19057
19069
  };
19058
19070
  const arrowUp16X16 = {
@@ -19067,9 +19079,9 @@
19067
19079
  name: 'arrow_up_right_and_arrow_down_left_16_x_16',
19068
19080
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m11.023 4.195-2.296-.45L14 2l-1.762 5.256-.458-2.301-6.803 6.85 2.296.45L2 14l1.762-5.256.458 2.301z" class="cls-1"/></svg>`,
19069
19081
  };
19070
- const arrowUpRightFromSquare = {
19071
- name: 'arrow_up_right_from_square',
19072
- data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m13.042 2.97-2.063 6.281-.49-2.344-4.117 4.122-1.414-1.414L9.06 5.513 6.736 5.01zM12 9v3H4V4h3V3H3v10h10V9z" class="cls-1"/></svg>`,
19082
+ const arrowUpRightFromSquare16X16 = {
19083
+ name: 'arrow_up_right_from_square_16_x_16',
19084
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M10.436 10h1v3h-9V4h3v1h-2v7h7zm-3.42-6.173.298 1.296 2.92-.748L5.068 9.53l.925.926L11.13 5.33l-.52 2.532 1.31.225 1.2-5.839z" class="cls-1"/></svg>`,
19073
19085
  };
19074
19086
  const arrowsMaximize16X16 = {
19075
19087
  name: 'arrows_maximize_16_x_16',
@@ -19115,17 +19127,37 @@
19115
19127
  name: 'book_magnifying_glass_16_x_16',
19116
19128
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M6 10c0-.347.058-.678.142-1H5V8h1.556c.22-.378.498-.714.826-1H5V6h5c.732 0 1.41.212 2 .556V2H3v11h4.382A3.98 3.98 0 0 1 6 10M5 4h5v1H5z" class="cls-1"/><path d="m9.99 7.01-.076.002a3 3 0 1 0 1.799 5.452l1.593 1.53.69-.725-1.58-1.516a2.97 2.97 0 0 0 .57-1.816A3 3 0 0 0 9.99 7.01M10 12c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2" class="cls-1"/></svg>`,
19117
19129
  };
19118
- const calendar16X16 = {
19119
- name: 'calendar_16_x_16',
19120
- data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 3V2h-2v1H6V2H4v1H2v11h12V3zm1 10H3V6h10zM6 9H4V7h2zm3-2H7v2h2zm3 0h-2v2h2zm-6 3H4v2h2zm3 0H7v2h2z" class="cls-1"/></svg>`,
19121
- };
19122
19130
  const calendarCheckLines16X16 = {
19123
19131
  name: 'calendar_check_lines_16_x_16',
19124
19132
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 3V2h-2v1H6V2H4v1H2v11h12V3zm1 10H3V6h10z" class="cls-2"/><path d="M5.743 11 4 9.242l.766-.742.97 1.007L8.273 7 9 7.758zM10 8h2v1h-2zM8 10h4v1H8z" class="cls-1"/></svg>`,
19125
19133
  };
19134
+ const calendarClock16X16 = {
19135
+ name: 'calendar_clock_16_x_16',
19136
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M14 8.79V3h-2V2h-2v1H6V2H4v1H2v11h7.47c.545.35 1.19.559 1.885.559a3.5 3.5 0 0 0 3.5-3.5c0-.87-.33-1.657-.855-2.269M3 6h10v1.987a3.46 3.46 0 0 0-1.645-.428A3.5 3.5 0 0 0 8.445 13H3zm9.978 7.041a391 391 0 0 1-1.288-1.304.743.743 0 1 1 0-1.338l.908-.908c.081-.081.356-.149.49-.149 0 .09-.06.358-.134.462-.068.095-.791.822-.917.948a.75.75 0 0 1 0 .633l1.386 1.389s.312.327.268.625c-.208 0-.416-.06-.713-.358" class="cls-1"/></svg>`,
19137
+ };
19126
19138
  const calendarDay16X16 = {
19127
19139
  name: 'calendar_day_16_x_16',
19128
- data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 3V2h-2v1H6V2H4v1H2v11h12V3zm1 10H3V6h10zM6 9H4V7h2z" class="cls-1"/></svg>`,
19140
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M7 10H4V7h3zm7-7v11H2V3h2V2h2v1h4V2h2v1zm-1 3H3v7h10z" class="cls-1"/></svg>`,
19141
+ };
19142
+ const calendarDayOutline16X16 = {
19143
+ name: 'calendar_day_outline_16_x_16',
19144
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 3V2h-2v1H6V2H4v1H2v11h12V3zm1 10H3V6h10zM7 7H4v3h3zM6 9H5V8h1z" class="cls-1"/></svg>`,
19145
+ };
19146
+ const calendarDays16X16 = {
19147
+ name: 'calendar_days_16_x_16',
19148
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 3V2h-2v1H6V2H4v1H2v11h12V3zm1 10H3V6h10zM6 9H4V7h2zm3-2H7v2h2zm3 0h-2v2h2zm-6 3H4v2h2zm3 0H7v2h2z" class="cls-1"/></svg>`,
19149
+ };
19150
+ const calendarLines16X16 = {
19151
+ name: 'calendar_lines_16_x_16',
19152
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 3V2h-2v1H6V2H4v1H2v11h12V3zm1 10H3V6h10zm-1-5H4V7h8zm0 2H4V9h8zm0 2H4v-1h8z" class="cls-1"/></svg>`,
19153
+ };
19154
+ const calendarRectangle16X16 = {
19155
+ name: 'calendar_rectangle_16_x_16',
19156
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 3V2h-2v1H6V2H4v1H2v11h12V3zm1 10H3V6h10zm-1-1H4V7h8z" class="cls-1"/></svg>`,
19157
+ };
19158
+ const calendarWeek16X16 = {
19159
+ name: 'calendar_week_16_x_16',
19160
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g class="cls-3"><path d="M12 3V2h-2v1H6V2H4v1H2v11h12V3zm1 10H3V6h10zm-1-4H4V7h8z" class="cls-1"/></g></svg>`,
19129
19161
  };
19130
19162
  const chartDiagram16X16 = {
19131
19163
  name: 'chart_diagram_16_x_16',
@@ -21288,6 +21320,8 @@ so this becomes the fallback color for the slot */ ''}
21288
21320
  */
21289
21321
  this.open = false;
21290
21322
  /**
21323
+ * @internal
21324
+ *
21291
21325
  * The collection of currently filtered options.
21292
21326
  */
21293
21327
  this.filteredOptions = [];
@@ -22622,6 +22656,18 @@ so this becomes the fallback color for the slot */ ''}
22622
22656
  }
22623
22657
  registerIcon('icon-arrow-partial-rotate-left', IconArrowPartialRotateLeft);
22624
22658
 
22659
+ // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22660
+ // See generation source in nimble-components/build/generate-icons
22661
+ /**
22662
+ * The icon component for the 'arrowRightThin' icon
22663
+ */
22664
+ class IconArrowRightThin extends Icon {
22665
+ constructor() {
22666
+ super(arrowRightThin16X16);
22667
+ }
22668
+ }
22669
+ registerIcon('icon-arrow-right-thin', IconArrowRightThin);
22670
+
22625
22671
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22626
22672
  // See generation source in nimble-components/build/generate-icons
22627
22673
  /**
@@ -22649,14 +22695,38 @@ so this becomes the fallback color for the slot */ ''}
22649
22695
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22650
22696
  // See generation source in nimble-components/build/generate-icons
22651
22697
  /**
22652
- * The icon component for the 'arrowURotateLeft' icon
22698
+ * The icon component for the 'arrowULeft' icon
22699
+ */
22700
+ class IconArrowULeft extends Icon {
22701
+ constructor() {
22702
+ super(arrowULeft16X16);
22703
+ }
22704
+ }
22705
+ registerIcon('icon-arrow-u-left', IconArrowULeft);
22706
+
22707
+ // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22708
+ // See generation source in nimble-components/build/generate-icons
22709
+ /**
22710
+ * The icon component for the 'arrowURight' icon
22711
+ */
22712
+ class IconArrowURight extends Icon {
22713
+ constructor() {
22714
+ super(arrowURight16X16);
22715
+ }
22716
+ }
22717
+ registerIcon('icon-arrow-u-right', IconArrowURight);
22718
+
22719
+ // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22720
+ // See generation source in nimble-components/build/generate-icons
22721
+ /**
22722
+ * The icon component for the 'arrowUUp' icon
22653
22723
  */
22654
- class IconArrowURotateLeft extends Icon {
22724
+ class IconArrowUUp extends Icon {
22655
22725
  constructor() {
22656
- super(arrowURotateLeft16X16);
22726
+ super(arrowUUp16X16);
22657
22727
  }
22658
22728
  }
22659
- registerIcon('icon-arrow-u-rotate-left', IconArrowURotateLeft);
22729
+ registerIcon('icon-arrow-u-up', IconArrowUUp);
22660
22730
 
22661
22731
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22662
22732
  // See generation source in nimble-components/build/generate-icons
@@ -22702,7 +22772,7 @@ so this becomes the fallback color for the slot */ ''}
22702
22772
  */
22703
22773
  class IconArrowUpRightFromSquare extends Icon {
22704
22774
  constructor() {
22705
- super(arrowUpRightFromSquare);
22775
+ super(arrowUpRightFromSquare16X16);
22706
22776
  }
22707
22777
  }
22708
22778
  registerIcon('icon-arrow-up-right-from-square', IconArrowUpRightFromSquare);
@@ -22843,26 +22913,26 @@ so this becomes the fallback color for the slot */ ''}
22843
22913
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22844
22914
  // See generation source in nimble-components/build/generate-icons
22845
22915
  /**
22846
- * The icon component for the 'calendar' icon
22916
+ * The icon component for the 'calendarCheckLines' icon
22847
22917
  */
22848
- class IconCalendar extends Icon {
22918
+ class IconCalendarCheckLines extends Icon {
22849
22919
  constructor() {
22850
- super(calendar16X16);
22920
+ super(calendarCheckLines16X16);
22851
22921
  }
22852
22922
  }
22853
- registerIcon('icon-calendar', IconCalendar);
22923
+ registerIcon('icon-calendar-check-lines', IconCalendarCheckLines);
22854
22924
 
22855
22925
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22856
22926
  // See generation source in nimble-components/build/generate-icons
22857
22927
  /**
22858
- * The icon component for the 'calendarCheckLines' icon
22928
+ * The icon component for the 'calendarClock' icon
22859
22929
  */
22860
- class IconCalendarCheckLines extends Icon {
22930
+ class IconCalendarClock extends Icon {
22861
22931
  constructor() {
22862
- super(calendarCheckLines16X16);
22932
+ super(calendarClock16X16);
22863
22933
  }
22864
22934
  }
22865
- registerIcon('icon-calendar-check-lines', IconCalendarCheckLines);
22935
+ registerIcon('icon-calendar-clock', IconCalendarClock);
22866
22936
 
22867
22937
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22868
22938
  // See generation source in nimble-components/build/generate-icons
@@ -22876,6 +22946,66 @@ so this becomes the fallback color for the slot */ ''}
22876
22946
  }
22877
22947
  registerIcon('icon-calendar-day', IconCalendarDay);
22878
22948
 
22949
+ // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22950
+ // See generation source in nimble-components/build/generate-icons
22951
+ /**
22952
+ * The icon component for the 'calendarDayOutline' icon
22953
+ */
22954
+ class IconCalendarDayOutline extends Icon {
22955
+ constructor() {
22956
+ super(calendarDayOutline16X16);
22957
+ }
22958
+ }
22959
+ registerIcon('icon-calendar-day-outline', IconCalendarDayOutline);
22960
+
22961
+ // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22962
+ // See generation source in nimble-components/build/generate-icons
22963
+ /**
22964
+ * The icon component for the 'calendarDays' icon
22965
+ */
22966
+ class IconCalendarDays extends Icon {
22967
+ constructor() {
22968
+ super(calendarDays16X16);
22969
+ }
22970
+ }
22971
+ registerIcon('icon-calendar-days', IconCalendarDays);
22972
+
22973
+ // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22974
+ // See generation source in nimble-components/build/generate-icons
22975
+ /**
22976
+ * The icon component for the 'calendarLines' icon
22977
+ */
22978
+ class IconCalendarLines extends Icon {
22979
+ constructor() {
22980
+ super(calendarLines16X16);
22981
+ }
22982
+ }
22983
+ registerIcon('icon-calendar-lines', IconCalendarLines);
22984
+
22985
+ // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22986
+ // See generation source in nimble-components/build/generate-icons
22987
+ /**
22988
+ * The icon component for the 'calendarRectangle' icon
22989
+ */
22990
+ class IconCalendarRectangle extends Icon {
22991
+ constructor() {
22992
+ super(calendarRectangle16X16);
22993
+ }
22994
+ }
22995
+ registerIcon('icon-calendar-rectangle', IconCalendarRectangle);
22996
+
22997
+ // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22998
+ // See generation source in nimble-components/build/generate-icons
22999
+ /**
23000
+ * The icon component for the 'calendarWeek' icon
23001
+ */
23002
+ class IconCalendarWeek extends Icon {
23003
+ constructor() {
23004
+ super(calendarWeek16X16);
23005
+ }
23006
+ }
23007
+ registerIcon('icon-calendar-week', IconCalendarWeek);
23008
+
22879
23009
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22880
23010
  // See generation source in nimble-components/build/generate-icons
22881
23011
  /**
@@ -54474,16 +54604,32 @@ img.ProseMirror-separator {
54474
54604
  return this.trackedItems[key];
54475
54605
  }
54476
54606
  track(key) {
54477
- this.trackedItems[key] = true;
54607
+ const wasTracked = this.trackedItems[key];
54608
+ if (!wasTracked) {
54609
+ this.trackedItems[key] = true;
54610
+ this.onTrackingChange();
54611
+ }
54478
54612
  }
54479
54613
  untrack(key) {
54480
- this.trackedItems[key] = false;
54614
+ const wasTracked = this.trackedItems[key];
54615
+ if (wasTracked) {
54616
+ this.trackedItems[key] = false;
54617
+ this.onTrackingChange();
54618
+ }
54481
54619
  }
54482
54620
  trackAll() {
54621
+ if (this.allTracked()) {
54622
+ return;
54623
+ }
54483
54624
  this.setAllKeys(true);
54625
+ this.onTrackingChange();
54484
54626
  }
54485
54627
  untrackAll() {
54628
+ if (this.noneTracked()) {
54629
+ return;
54630
+ }
54486
54631
  this.setAllKeys(false);
54632
+ this.onTrackingChange();
54487
54633
  }
54488
54634
  allTracked() {
54489
54635
  return Object.values(this.trackedItems).every(x => x);
@@ -54494,6 +54640,7 @@ img.ProseMirror-separator {
54494
54640
  noneTracked() {
54495
54641
  return Object.values(this.trackedItems).every(x => !x);
54496
54642
  }
54643
+ onTrackingChange() { }
54497
54644
  setAllKeys(value) {
54498
54645
  this.trackedItems = Object.keys(this.trackedItems).reduce((r, key) => {
54499
54646
  return {
@@ -68457,6 +68604,10 @@ focus outline in that case.
68457
68604
  getValidity() {
68458
68605
  return this.getValidationFlags();
68459
68606
  }
68607
+ onTrackingChange() {
68608
+ super.onTrackingChange();
68609
+ this.isColumnValid = this.isValid();
68610
+ }
68460
68611
  /**
68461
68612
  * Sets a particular validity condition flag's value, e.g. "hasInvalidFooValue" = true
68462
68613
  */
@@ -68467,10 +68618,6 @@ focus outline in that case.
68467
68618
  else {
68468
68619
  this.untrack(name);
68469
68620
  }
68470
- this.updateColumnInternalsFlag();
68471
- }
68472
- updateColumnInternalsFlag() {
68473
- this.isColumnValid = this.isValid();
68474
68621
  }
68475
68622
  }
68476
68623
  __decorate$1([
@@ -70760,25 +70907,105 @@ focus outline in that case.
70760
70907
  return SortableColumn;
70761
70908
  }
70762
70909
 
70910
+ // As the returned class is internal to the function, we can't write a signature that uses is directly, so rely on inference
70911
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type
70912
+ function mixinCustomSortOrderColumnAPI(base) {
70913
+ /**
70914
+ * The Mixin that provides a concrete column with the API to allow sorting
70915
+ * by a field other than the default for that column.
70916
+ */
70917
+ class CustomSortOrderColumn extends base {
70918
+ constructor() {
70919
+ super(...arguments);
70920
+ /** @internal */
70921
+ this.customSortOrderColumnChangeHandler = {
70922
+ handleChange: this.handleCustomSortOrderColumnChange.bind(this)
70923
+ };
70924
+ }
70925
+ getResolvedOperandDataRecordFieldName(initialOperandFieldName) {
70926
+ return typeof this.sortByFieldName === 'string'
70927
+ ? this.sortByFieldName
70928
+ : initialOperandFieldName;
70929
+ }
70930
+ getResolvedSortOperation(initialSortOperation) {
70931
+ return typeof this.sortByFieldName === 'string'
70932
+ ? TableColumnSortOperation.basic
70933
+ : initialSortOperation;
70934
+ }
70935
+ /** @internal */
70936
+ sortByFieldNameChanged() {
70937
+ this.handleSortConfigurationChange();
70938
+ this.updateCustomColumnSortingValidity();
70939
+ if (typeof this.sortByFieldName === 'string'
70940
+ && !this.customSortOrderColumnNotifier) {
70941
+ this.customSortOrderColumnNotifier = Observable.getNotifier(this.columnInternals);
70942
+ this.customSortOrderColumnNotifier.subscribe(this.customSortOrderColumnChangeHandler);
70943
+ }
70944
+ else {
70945
+ this.customSortOrderColumnNotifier?.unsubscribe(this.customSortOrderColumnChangeHandler);
70946
+ this.customSortOrderColumnNotifier = undefined;
70947
+ }
70948
+ }
70949
+ /** @internal */
70950
+ handleCustomSortOrderColumnChange(_source, args) {
70951
+ if (args === 'groupingDisabled') {
70952
+ this.updateCustomColumnSortingValidity();
70953
+ }
70954
+ }
70955
+ /** @internal */
70956
+ updateCustomColumnSortingValidity() {
70957
+ const hasCustomColumnSorting = typeof this.sortByFieldName === 'string';
70958
+ const isGroupingEnabled = !this.columnInternals.groupingDisabled;
70959
+ const isValid = !isGroupingEnabled || !hasCustomColumnSorting;
70960
+ if (isValid) {
70961
+ this.columnInternals.validator.untrack('invalidCustomSortWithGrouping');
70962
+ }
70963
+ else {
70964
+ this.columnInternals.validator.track('invalidCustomSortWithGrouping');
70965
+ }
70966
+ }
70967
+ }
70968
+ attr({ attribute: 'sort-by-field-name' })(
70969
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
70970
+ CustomSortOrderColumn.prototype, 'sortByFieldName');
70971
+ return CustomSortOrderColumn;
70972
+ }
70973
+
70974
+ const columnAnchorValidityFlagNames = [
70975
+ 'invalidCustomSortWithGrouping'
70976
+ ];
70977
+ /**
70978
+ * Validator class for the anchor table column.
70979
+ */
70980
+ class TableColumnAnchorValidator extends ColumnValidator {
70981
+ constructor() {
70982
+ super(columnAnchorValidityFlagNames);
70983
+ }
70984
+ }
70985
+
70763
70986
  /**
70764
70987
  * A table column for displaying links.
70765
70988
  */
70766
- class TableColumnAnchor extends mixinGroupableColumnAPI(mixinFractionalWidthColumnAPI(mixinColumnWithPlaceholderAPI(mixinSortableColumnAPI((TableColumn))))) {
70989
+ class TableColumnAnchor extends mixinGroupableColumnAPI(mixinFractionalWidthColumnAPI(mixinColumnWithPlaceholderAPI(mixinSortableColumnAPI(mixinCustomSortOrderColumnAPI((TableColumn)))))) {
70767
70990
  constructor() {
70768
70991
  super(...arguments);
70769
70992
  this.underlineHidden = false;
70993
+ this.defaultSortOperation = TableColumnSortOperation.localeAwareCaseSensitive;
70770
70994
  }
70771
70995
  placeholderChanged() {
70772
70996
  this.updateColumnConfig();
70773
70997
  }
70998
+ handleSortConfigurationChange() {
70999
+ this.updateColumnInternalsSortConfiguration();
71000
+ }
70774
71001
  getColumnInternalsOptions() {
70775
71002
  return {
70776
71003
  cellRecordFieldNames: ['label', 'href'],
70777
71004
  cellViewTag: tableColumnAnchorCellViewTag,
70778
71005
  groupHeaderViewTag: tableColumnTextGroupHeaderViewTag,
70779
71006
  delegatedEvents: ['click'],
70780
- sortOperation: TableColumnSortOperation.localeAwareCaseSensitive,
70781
- validator: new ColumnValidator([])
71007
+ sortOperation: this.getResolvedSortOperation(this.defaultSortOperation),
71008
+ validator: new TableColumnAnchorValidator()
70782
71009
  };
70783
71010
  }
70784
71011
  labelFieldNameChanged() {
@@ -70786,7 +71013,7 @@ focus outline in that case.
70786
71013
  this.labelFieldName,
70787
71014
  this.hrefFieldName
70788
71015
  ];
70789
- this.columnInternals.operandDataRecordFieldName = this.labelFieldName;
71016
+ this.updateColumnInternalsSortConfiguration();
70790
71017
  }
70791
71018
  hrefFieldNameChanged() {
70792
71019
  this.columnInternals.dataRecordFieldNames = [
@@ -70835,6 +71062,10 @@ focus outline in that case.
70835
71062
  placeholder: this.placeholder
70836
71063
  };
70837
71064
  }
71065
+ updateColumnInternalsSortConfiguration() {
71066
+ this.columnInternals.operandDataRecordFieldName = this.getResolvedOperandDataRecordFieldName(this.labelFieldName);
71067
+ this.columnInternals.sortOperation = this.getResolvedSortOperation(this.defaultSortOperation);
71068
+ }
70838
71069
  }
70839
71070
  __decorate$1([
70840
71071
  attr({ attribute: 'label-field-name' })
@@ -72852,25 +73083,52 @@ focus outline in that case.
72852
73083
  DesignSystem.getOrCreate().withPrefix('nimble').register(textCellView());
72853
73084
  const tableColumnTextCellViewTag = 'nimble-table-column-text-cell-view';
72854
73085
 
73086
+ const columnTextValidityFlagNames = [
73087
+ 'invalidCustomSortWithGrouping'
73088
+ ];
73089
+ /**
73090
+ * Validator class for the text table column.
73091
+ */
73092
+ class TableColumnTextValidator extends ColumnValidator {
73093
+ constructor() {
73094
+ super(columnTextValidityFlagNames);
73095
+ }
73096
+ }
73097
+
72855
73098
  /**
72856
73099
  * The table column for displaying string fields as text.
72857
73100
  */
72858
- class TableColumnText extends mixinTextBase((TableColumnTextBase)) {
73101
+ class TableColumnText extends mixinCustomSortOrderColumnAPI(mixinTextBase((TableColumnTextBase))) {
73102
+ constructor() {
73103
+ super(...arguments);
73104
+ this.defaultSortOperation = TableColumnSortOperation.localeAwareCaseSensitive;
73105
+ }
72859
73106
  placeholderChanged() {
72860
73107
  this.columnInternals.columnConfig = {
72861
73108
  placeholder: this.placeholder
72862
73109
  };
72863
73110
  }
73111
+ handleSortConfigurationChange() {
73112
+ this.updateColumnInternalsSortConfiguration();
73113
+ }
72864
73114
  getColumnInternalsOptions() {
72865
73115
  return {
72866
73116
  cellRecordFieldNames: ['value'],
72867
73117
  cellViewTag: tableColumnTextCellViewTag,
72868
73118
  groupHeaderViewTag: tableColumnTextGroupHeaderViewTag,
72869
73119
  delegatedEvents: [],
72870
- sortOperation: TableColumnSortOperation.localeAwareCaseSensitive,
72871
- validator: new ColumnValidator([])
73120
+ sortOperation: this.getResolvedSortOperation(this.defaultSortOperation),
73121
+ validator: new TableColumnTextValidator()
72872
73122
  };
72873
73123
  }
73124
+ fieldNameChanged() {
73125
+ this.columnInternals.dataRecordFieldNames = [this.fieldName];
73126
+ this.updateColumnInternalsSortConfiguration();
73127
+ }
73128
+ updateColumnInternalsSortConfiguration() {
73129
+ this.columnInternals.operandDataRecordFieldName = this.getResolvedOperandDataRecordFieldName(this.fieldName);
73130
+ this.columnInternals.sortOperation = this.getResolvedSortOperation(this.defaultSortOperation);
73131
+ }
72874
73132
  }
72875
73133
  const nimbleTableColumnText = TableColumnText.compose({
72876
73134
  baseName: 'table-column-text',