@brightspace-ui/core 3.267.1 → 3.267.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 (111) hide show
  1. package/components/alert/alert-toast.js +98 -102
  2. package/components/alert/alert.js +109 -113
  3. package/components/backdrop/backdrop-dirty-overlay.js +13 -17
  4. package/components/backdrop/backdrop-loading.js +105 -109
  5. package/components/backdrop/backdrop.js +50 -54
  6. package/components/breadcrumbs/breadcrumb-current-page.js +19 -23
  7. package/components/breadcrumbs/breadcrumb.js +50 -54
  8. package/components/breadcrumbs/breadcrumbs.js +34 -38
  9. package/components/button/button-add.js +156 -164
  10. package/components/button/button-copy-mixin.js +9 -11
  11. package/components/button/button-copy.js +15 -19
  12. package/components/button/button-icon.js +110 -114
  13. package/components/button/button-move.js +153 -157
  14. package/components/button/button-split-item.js +16 -20
  15. package/components/button/button-split.js +70 -74
  16. package/components/button/button-subtle-copy.js +17 -19
  17. package/components/button/button-subtle.js +145 -149
  18. package/components/button/button-toggle.js +25 -29
  19. package/components/button/button.js +70 -74
  20. package/components/button/floating-buttons.js +63 -67
  21. package/components/calendar/calendar.js +244 -248
  22. package/components/card/card-content-meta.js +13 -15
  23. package/components/card/card-content-title.js +9 -11
  24. package/components/card/card-footer-link.js +76 -80
  25. package/components/card/card-loading-shimmer.js +35 -39
  26. package/components/card/card.js +188 -192
  27. package/components/collapsible-panel/collapsible-panel-group.js +17 -21
  28. package/components/collapsible-panel/collapsible-panel-summary-item.js +27 -31
  29. package/components/collapsible-panel/collapsible-panel.js +258 -262
  30. package/components/count-badge/count-badge-icon.js +12 -16
  31. package/components/count-badge/count-badge-mixin.js +124 -128
  32. package/components/count-badge/count-badge.js +2 -4
  33. package/components/description-list/description-list-wrapper.js +27 -31
  34. package/components/dialog/dialog-confirm.js +55 -59
  35. package/components/dialog/dialog-fullscreen.js +128 -132
  36. package/components/dialog/dialog-mixin.js +39 -41
  37. package/components/dialog/dialog.js +61 -65
  38. package/components/dropdown/dropdown-button-subtle.js +21 -25
  39. package/components/dropdown/dropdown-button.js +31 -35
  40. package/components/dropdown/dropdown-context-menu.js +28 -31
  41. package/components/dropdown/dropdown-menu.js +27 -31
  42. package/components/dropdown/dropdown-more.js +23 -26
  43. package/components/dropdown/dropdown-opener-mixin.js +44 -46
  44. package/components/dropdown/dropdown-popover-mixin.js +155 -159
  45. package/components/dropdown/dropdown-tabs.js +5 -7
  46. package/components/dropdown/dropdown.js +1 -3
  47. package/components/empty-state/empty-state-action-button.js +18 -22
  48. package/components/empty-state/empty-state-action-link.js +14 -18
  49. package/components/empty-state/empty-state-illustrated.js +21 -25
  50. package/components/empty-state/empty-state-simple.js +8 -12
  51. package/components/expand-collapse/expand-collapse-content.js +48 -52
  52. package/components/filter/filter-dimension-set-date-text-value.js +34 -36
  53. package/components/filter/filter-dimension-set-date-time-range-value.js +45 -47
  54. package/components/filter/filter-dimension-set-empty-state.js +17 -19
  55. package/components/filter/filter-dimension-set-value.js +27 -29
  56. package/components/filter/filter-dimension-set.js +65 -67
  57. package/components/filter/filter-overflow-group.js +15 -19
  58. package/components/filter/filter-tags.js +16 -19
  59. package/components/filter/filter.js +115 -119
  60. package/components/focus-trap/focus-trap.js +17 -21
  61. package/components/form/form-element-mixin.js +33 -35
  62. package/components/form/form-error-summary.js +37 -42
  63. package/components/form/form.js +33 -37
  64. package/components/hierarchical-view/hierarchical-view-mixin.js +76 -80
  65. package/components/hierarchical-view/hierarchical-view.js +5 -7
  66. package/components/html-block/html-block.js +45 -49
  67. package/components/icons/icon-custom.js +20 -24
  68. package/components/icons/icon.js +20 -24
  69. package/components/icons/slotted-icon-mixin.js +16 -18
  70. package/components/inputs/input-checkbox-group.js +34 -38
  71. package/components/inputs/input-checkbox.js +106 -110
  72. package/components/inputs/input-color.js +142 -148
  73. package/components/inputs/input-date-range.js +90 -94
  74. package/components/inputs/input-date-time-range-to.js +70 -74
  75. package/components/inputs/input-date-time-range.js +110 -115
  76. package/components/inputs/input-date-time.js +75 -79
  77. package/components/inputs/input-date.js +101 -105
  78. package/components/inputs/input-fieldset.js +37 -43
  79. package/components/inputs/input-group.js +10 -12
  80. package/components/inputs/input-inline-help.js +4 -6
  81. package/components/inputs/input-number.js +112 -118
  82. package/components/inputs/input-percent.js +52 -58
  83. package/components/inputs/input-radio-group.js +45 -49
  84. package/components/inputs/input-radio-spacer.js +11 -13
  85. package/components/inputs/input-radio.js +62 -66
  86. package/components/inputs/input-search.js +63 -68
  87. package/components/inputs/input-text.js +245 -251
  88. package/components/inputs/input-textarea.js +128 -132
  89. package/components/inputs/input-time-range.js +100 -104
  90. package/components/inputs/input-time.js +107 -113
  91. package/components/link/link-mixin.js +37 -41
  92. package/components/link/link.js +113 -119
  93. package/components/list/list-controls.js +25 -29
  94. package/components/list/list-item-button-mixin.js +10 -12
  95. package/components/list/list-item-checkbox-mixin.js +35 -37
  96. package/components/list/list-item-content.js +33 -35
  97. package/components/list/list-item-drag-drop-mixin.js +45 -47
  98. package/components/list/list-item-drag-handle.js +80 -84
  99. package/components/list/list-item-drag-image.js +77 -81
  100. package/components/list/list-item-expand-collapse-mixin.js +17 -19
  101. package/components/list/list-item-generic-layout.js +222 -226
  102. package/components/list/list-item-link-mixin.js +10 -12
  103. package/components/list/list-item-mixin.js +68 -70
  104. package/components/list/list-item-nav-mixin.js +17 -19
  105. package/components/list/list-item-placement-marker.js +65 -67
  106. package/components/list/list-item-role-mixin.js +9 -11
  107. package/components/list/list-item.js +7 -9
  108. package/components/list/list.js +121 -125
  109. package/components/loading-spinner/loading-spinner.js +93 -97
  110. package/custom-elements.json +1920 -6694
  111. package/package.json +3 -2
@@ -34,101 +34,97 @@ export function getShiftedEndDate(startValue, endValue, prevStartValue, inclusiv
34
34
  */
35
35
  class InputDateRange extends InteractiveMixin(FocusMixin(SkeletonMixin(FormElementMixin(LocalizeCoreElement(LitElement))))) {
36
36
 
37
- static get properties() {
38
- return {
39
- /**
40
- * ADVANCED: Automatically shifts end date when start date changes to keep same range
41
- * @type {boolean}
42
- */
43
- autoShiftDates: { attribute: 'auto-shift-dates', reflect: true, type: Boolean },
44
- /**
45
- * Hides the start and end labels visually. Hidden labels are still read by screen readers so make sure to set appropriate start and end labels.
46
- * @type {boolean}
47
- */
48
- childLabelsHidden: { attribute: 'child-labels-hidden', reflect: true, type: Boolean },
49
- /**
50
- * Disables the inputs
51
- * @type {boolean}
52
- */
53
- disabled: { type: Boolean, reflect: true },
54
- /**
55
- * ACCESSIBILITY: Label for the end date input. Defaults to localized "End Date".
56
- * @type {string}
57
- * @default "End Date"
58
- */
59
- endLabel: { attribute: 'end-label', reflect: true, type: String },
60
- /**
61
- * ADVANCED: Indicates if the end calendar dropdown is open
62
- * @type {boolean}
63
- */
64
- endOpened: { attribute: 'end-opened', type: Boolean },
65
- /**
66
- * Value of the end date input
67
- * @type {string}
68
- */
69
- endValue: { attribute: 'end-value', reflect: true, type: String },
70
- /**
71
- * Validates on inclusive range (i.e., it is valid for start and end dates to be equal)
72
- * @type {boolean}
73
- */
74
- inclusiveDateRange: { attribute: 'inclusive-date-range', reflect: true, type: Boolean },
75
- /**
76
- * ACCESSIBILITY: REQUIRED: Label for the input fieldset that wraps the date inputs
77
- * @type {string}
78
- */
79
- label: { type: String, reflect: true },
80
- /**
81
- * Hides the fieldset label visually. Hidden labels are still read by screen readers so make sure to set an appropriate label.
82
- * @type {boolean}
83
- */
84
- labelHidden: { type: Boolean, attribute: 'label-hidden', reflect: true },
85
- /**
86
- * Maximum valid date that could be selected by a user
87
- * @type {string}
88
- */
89
- maxValue: { attribute: 'max-value', reflect: true, type: String },
90
- /**
91
- * Minimum valid date that could be selected by a user
92
- * @type {string}
93
- */
94
- minValue: { attribute: 'min-value', reflect: true, type: String },
95
- /**
96
- * Indicates that values are required
97
- * @type {boolean}
98
- */
99
- required: { type: Boolean, reflect: true },
100
- /**
101
- * ACCESSIBILITY: Label for the start date input. Defaults to localized "Start Date".
102
- * @type {string}
103
- * @default "Start Date"
104
- */
105
- startLabel: { attribute: 'start-label', reflect: true, type: String },
106
- /**
107
- * ADVANCED: Indicates if the start calendar dropdown is open
108
- * @type {boolean}
109
- */
110
- startOpened: { attribute: 'start-opened', type: Boolean },
111
- /**
112
- * Value of the start date input
113
- * @type {string}
114
- */
115
- startValue: { attribute: 'start-value', reflect: true, type: String }
116
- };
117
- }
37
+ static properties = {
38
+ /**
39
+ * ADVANCED: Automatically shifts end date when start date changes to keep same range
40
+ * @type {boolean}
41
+ */
42
+ autoShiftDates: { attribute: 'auto-shift-dates', reflect: true, type: Boolean },
43
+ /**
44
+ * Hides the start and end labels visually. Hidden labels are still read by screen readers so make sure to set appropriate start and end labels.
45
+ * @type {boolean}
46
+ */
47
+ childLabelsHidden: { attribute: 'child-labels-hidden', reflect: true, type: Boolean },
48
+ /**
49
+ * Disables the inputs
50
+ * @type {boolean}
51
+ */
52
+ disabled: { type: Boolean, reflect: true },
53
+ /**
54
+ * ACCESSIBILITY: Label for the end date input. Defaults to localized "End Date".
55
+ * @type {string}
56
+ * @default "End Date"
57
+ */
58
+ endLabel: { attribute: 'end-label', reflect: true, type: String },
59
+ /**
60
+ * ADVANCED: Indicates if the end calendar dropdown is open
61
+ * @type {boolean}
62
+ */
63
+ endOpened: { attribute: 'end-opened', type: Boolean },
64
+ /**
65
+ * Value of the end date input
66
+ * @type {string}
67
+ */
68
+ endValue: { attribute: 'end-value', reflect: true, type: String },
69
+ /**
70
+ * Validates on inclusive range (i.e., it is valid for start and end dates to be equal)
71
+ * @type {boolean}
72
+ */
73
+ inclusiveDateRange: { attribute: 'inclusive-date-range', reflect: true, type: Boolean },
74
+ /**
75
+ * ACCESSIBILITY: REQUIRED: Label for the input fieldset that wraps the date inputs
76
+ * @type {string}
77
+ */
78
+ label: { type: String, reflect: true },
79
+ /**
80
+ * Hides the fieldset label visually. Hidden labels are still read by screen readers so make sure to set an appropriate label.
81
+ * @type {boolean}
82
+ */
83
+ labelHidden: { type: Boolean, attribute: 'label-hidden', reflect: true },
84
+ /**
85
+ * Maximum valid date that could be selected by a user
86
+ * @type {string}
87
+ */
88
+ maxValue: { attribute: 'max-value', reflect: true, type: String },
89
+ /**
90
+ * Minimum valid date that could be selected by a user
91
+ * @type {string}
92
+ */
93
+ minValue: { attribute: 'min-value', reflect: true, type: String },
94
+ /**
95
+ * Indicates that values are required
96
+ * @type {boolean}
97
+ */
98
+ required: { type: Boolean, reflect: true },
99
+ /**
100
+ * ACCESSIBILITY: Label for the start date input. Defaults to localized "Start Date".
101
+ * @type {string}
102
+ * @default "Start Date"
103
+ */
104
+ startLabel: { attribute: 'start-label', reflect: true, type: String },
105
+ /**
106
+ * ADVANCED: Indicates if the start calendar dropdown is open
107
+ * @type {boolean}
108
+ */
109
+ startOpened: { attribute: 'start-opened', type: Boolean },
110
+ /**
111
+ * Value of the start date input
112
+ * @type {string}
113
+ */
114
+ startValue: { attribute: 'start-value', reflect: true, type: String }
115
+ };
118
116
 
119
- static get styles() {
120
- return [super.styles, css`
121
- :host {
122
- display: inline-block;
123
- }
124
- :host([hidden]) {
125
- display: none;
126
- }
127
- d2l-input-date {
128
- display: block;
129
- }
130
- `];
131
- }
117
+ static styles = [super.styles, css`
118
+ :host {
119
+ display: inline-block;
120
+ }
121
+ :host([hidden]) {
122
+ display: none;
123
+ }
124
+ d2l-input-date {
125
+ display: block;
126
+ }
127
+ `];
132
128
 
133
129
  constructor() {
134
130
  super();
@@ -16,83 +16,79 @@ function debounce(func, delay) {
16
16
 
17
17
  class InputDateTimeRangeTo extends SkeletonMixin(LocalizeCoreElement(LitElement)) {
18
18
 
19
- static get properties() {
20
- return {
21
- /**
22
- * Force block (stacked) range display if true
23
- * @type {boolean}
24
- */
25
- blockDisplay: { attribute: 'block-display', type: Boolean },
26
- /**
27
- * Display localized "to" between the left and right slot contents
28
- * @type {boolean}
29
- */
30
- displayTo: { attribute: 'display-to', type: Boolean },
31
- /**
32
- * Add margin-top for case where there would be a label above the range
33
- * @type {boolean}
34
- */
35
- topMargin: { attribute: 'top-margin', type: Boolean },
36
- _blockDisplay: { attribute: false, type: Boolean }
37
- };
38
- }
19
+ static properties = {
20
+ /**
21
+ * Force block (stacked) range display if true
22
+ * @type {boolean}
23
+ */
24
+ blockDisplay: { attribute: 'block-display', type: Boolean },
25
+ /**
26
+ * Display localized "to" between the left and right slot contents
27
+ * @type {boolean}
28
+ */
29
+ displayTo: { attribute: 'display-to', type: Boolean },
30
+ /**
31
+ * Add margin-top for case where there would be a label above the range
32
+ * @type {boolean}
33
+ */
34
+ topMargin: { attribute: 'top-margin', type: Boolean },
35
+ _blockDisplay: { attribute: false, type: Boolean }
36
+ };
39
37
 
40
- static get styles() {
41
- return [ super.styles, bodySmallStyles, css`
42
- :host {
43
- display: block;
44
- }
45
- :host([hidden]) {
46
- display: none;
47
- }
48
- :host([top-margin]) {
49
- margin-top: calc(0.9rem - 7px);
50
- }
51
- :host(:not([display-to])) .d2l-input-date-time-range-to-to {
52
- display: none;
53
- }
38
+ static styles = [super.styles, bodySmallStyles, css`
39
+ :host {
40
+ display: block;
41
+ }
42
+ :host([hidden]) {
43
+ display: none;
44
+ }
45
+ :host([top-margin]) {
46
+ margin-top: calc(0.9rem - 7px);
47
+ }
48
+ :host(:not([display-to])) .d2l-input-date-time-range-to-to {
49
+ display: none;
50
+ }
54
51
 
55
- /* flex case (not wrapped) */
56
- .d2l-input-date-time-range-to-container {
57
- column-gap: 1.5rem;
58
- display: flex;
59
- flex-wrap: wrap;
60
- }
61
- :host([display-to]) div:not(.d2l-input-date-time-range-to-container-block).d2l-input-date-time-range-to-container,
62
- :host([display-to]) div:not(.d2l-input-date-time-range-to-container-block).d2l-input-date-time-range-to-container .d2l-input-date-time-range-end-container {
63
- column-gap: 0.9rem;
64
- }
65
- .d2l-input-date-time-range-end-container {
66
- display: flex;
67
- }
68
- .d2l-input-date-time-range-end-container ::slotted(*) {
69
- align-self: flex-end;
70
- }
52
+ /* flex case (not wrapped) */
53
+ .d2l-input-date-time-range-to-container {
54
+ column-gap: 1.5rem;
55
+ display: flex;
56
+ flex-wrap: wrap;
57
+ }
58
+ :host([display-to]) div:not(.d2l-input-date-time-range-to-container-block).d2l-input-date-time-range-to-container,
59
+ :host([display-to]) div:not(.d2l-input-date-time-range-to-container-block).d2l-input-date-time-range-to-container .d2l-input-date-time-range-end-container {
60
+ column-gap: 0.9rem;
61
+ }
62
+ .d2l-input-date-time-range-end-container {
63
+ display: flex;
64
+ }
65
+ .d2l-input-date-time-range-end-container ::slotted(*) {
66
+ align-self: flex-end;
67
+ }
71
68
 
72
- /* block case (wrapped) */
73
- .d2l-input-date-time-range-to-container-block.d2l-input-date-time-range-to-container {
74
- display: block;
75
- margin-bottom: -1.2rem;
76
- }
77
- .d2l-input-date-time-range-to-container-block .d2l-input-date-time-range-start-container {
78
- margin-inline: 0;
79
- margin-bottom: 1.2rem;
80
- }
81
- :host([display-to]) .d2l-input-date-time-range-to-container-block .d2l-input-date-time-range-start-container {
82
- margin-bottom: 0.6rem;
83
- }
84
- .d2l-input-date-time-range-to-container-block .d2l-input-date-time-range-end-container {
85
- display: block;
86
- margin-bottom: 1.2rem;
87
- }
88
- .d2l-input-date-time-range-to-container-block .d2l-input-date-time-range-to-to {
89
- display: inline-block;
90
- margin-bottom: 0.6rem;
91
- margin-top: auto;
92
- vertical-align: top;
93
- }
94
- `];
95
- }
69
+ /* block case (wrapped) */
70
+ .d2l-input-date-time-range-to-container-block.d2l-input-date-time-range-to-container {
71
+ display: block;
72
+ margin-bottom: -1.2rem;
73
+ }
74
+ .d2l-input-date-time-range-to-container-block .d2l-input-date-time-range-start-container {
75
+ margin-inline: 0;
76
+ margin-bottom: 1.2rem;
77
+ }
78
+ :host([display-to]) .d2l-input-date-time-range-to-container-block .d2l-input-date-time-range-start-container {
79
+ margin-bottom: 0.6rem;
80
+ }
81
+ .d2l-input-date-time-range-to-container-block .d2l-input-date-time-range-end-container {
82
+ display: block;
83
+ margin-bottom: 1.2rem;
84
+ }
85
+ .d2l-input-date-time-range-to-container-block .d2l-input-date-time-range-to-to {
86
+ display: inline-block;
87
+ margin-bottom: 0.6rem;
88
+ margin-top: auto;
89
+ vertical-align: top;
90
+ }
91
+ `];
96
92
 
97
93
  constructor() {
98
94
  super();
@@ -67,121 +67,116 @@ export function getShiftedEndDateTime(startValue, endValue, prevStartValue, incl
67
67
  */
68
68
  class InputDateTimeRange extends InteractiveMixin(FocusMixin(SkeletonMixin(FormElementMixin(LocalizeCoreElement(LitElement))))) {
69
69
 
70
- static get properties() {
71
- return {
72
- /**
73
- * ADVANCED: Automatically shifts end date when start date changes to keep same range. If start and end date are equal, automatically shifts end time when start time changes.
74
- * @type {boolean}
75
- */
76
- autoShiftDates: { attribute: 'auto-shift-dates', reflect: true, type: Boolean },
77
- /**
78
- * Hides the start and end labels visually. Hidden labels are still read by screen readers so make sure to set appropriate start and end labels.
79
- * @type {boolean}
80
- */
81
- childLabelsHidden: { attribute: 'child-labels-hidden', reflect: true, type: Boolean },
82
- /**
83
- * Disables the inputs
84
- * @type {boolean}
85
- */
86
- disabled: { type: Boolean, reflect: true },
87
- /**
88
- * ACCESSIBILITY: Label for the end date-time input. Defaults to localized "End Date".
89
- * @type {string}
90
- * @default "End Date"
91
- */
92
- endLabel: { attribute: 'end-label', reflect: true, type: String },
93
- /**
94
- * ADVANCED: Indicates if the end date or time dropdown is open
95
- * @type {boolean}
96
- */
97
- endOpened: { attribute: 'end-opened', type: Boolean },
98
- /**
99
- * Value of the end date-time input
100
- * @type {string}
101
- */
102
- endValue: { attribute: 'end-value', reflect: true, type: String },
103
- /**
104
- * Validates on inclusive range (i.e., it is valid for start and end date-times to be equal)
105
- * @type {boolean}
106
- */
107
- inclusiveDateRange: { attribute: 'inclusive-date-range', reflect: true, type: Boolean },
108
- /**
109
- * ACCESSIBILITY: REQUIRED: Label for the input fieldset that wraps the date-time inputs
110
- * @type {string}
111
- */
112
- label: { type: String, reflect: true },
113
- /**
114
- * Hides the fieldset label visually. Hidden labels are still read by screen readers so make sure to set an appropriate label.
115
- * @type {boolean}
116
- */
117
- labelHidden: { type: Boolean, attribute: 'label-hidden', reflect: true },
118
- /**
119
- * Indicates that localization will be handled by the consumer. `*value` will not be converted from/to UTC.
120
- * @type {boolean}
121
- */
122
- localized: { reflect: true, type: Boolean },
123
- /**
124
- * Maximum valid date/time that could be selected by a user
125
- * @type {string}
126
- */
127
- maxValue: { attribute: 'max-value', reflect: true, type: String },
128
- /**
129
- * Minimum valid date/time that could be selected by a user
130
- * @type {string}
131
- */
132
- minValue: { attribute: 'min-value', reflect: true, type: String },
133
- /**
134
- * Indicates that values are required
135
- * @type {boolean}
136
- */
137
- required: { type: Boolean, reflect: true },
138
- /**
139
- * ACCESSIBILITY: Label for the start date-time input. Defaults to localized "Start Date".
140
- * @type {string}
141
- * @default "Start Date"
142
- */
143
- startLabel: { attribute: 'start-label', reflect: true, type: String },
144
- /**
145
- * ADVANCED: Indicates if the start date or time dropdown is open
146
- * @type {boolean}
147
- */
148
- startOpened: { attribute: 'start-opened', type: Boolean },
149
- /**
150
- * Value of the start date-time input
151
- * @type {string}
152
- */
153
- startValue: { attribute: 'start-value', reflect: true, type: String },
154
- /**
155
- * Time zone identifier for the time inputs to use.
156
- * @type {string}
157
- */
158
- timeZoneId: { attribute: 'time-zone-id', type: String },
159
- /**
160
- * Hides the time zone inside the time selection dropdowns. Should only be used when the time input values are not related to any one time zone
161
- * @type {Boolean}
162
- */
163
- timeZoneHidden: { type: Boolean, attribute: 'time-zone-hidden' },
164
- _slotOccupied: { type: Boolean }
165
- };
166
- }
167
-
168
- static get styles() {
169
- return [super.styles, css`
170
- :host {
171
- display: inline-block;
172
- }
173
- :host([hidden]) {
174
- display: none;
175
- }
176
- d2l-input-date-time {
177
- display: block;
178
- }
179
- ::slotted(*) {
180
- margin-top: 0.6rem;
181
- }
182
-
183
- `];
184
- }
70
+ static properties = {
71
+ /**
72
+ * ADVANCED: Automatically shifts end date when start date changes to keep same range. If start and end date are equal, automatically shifts end time when start time changes.
73
+ * @type {boolean}
74
+ */
75
+ autoShiftDates: { attribute: 'auto-shift-dates', reflect: true, type: Boolean },
76
+ /**
77
+ * Hides the start and end labels visually. Hidden labels are still read by screen readers so make sure to set appropriate start and end labels.
78
+ * @type {boolean}
79
+ */
80
+ childLabelsHidden: { attribute: 'child-labels-hidden', reflect: true, type: Boolean },
81
+ /**
82
+ * Disables the inputs
83
+ * @type {boolean}
84
+ */
85
+ disabled: { type: Boolean, reflect: true },
86
+ /**
87
+ * ACCESSIBILITY: Label for the end date-time input. Defaults to localized "End Date".
88
+ * @type {string}
89
+ * @default "End Date"
90
+ */
91
+ endLabel: { attribute: 'end-label', reflect: true, type: String },
92
+ /**
93
+ * ADVANCED: Indicates if the end date or time dropdown is open
94
+ * @type {boolean}
95
+ */
96
+ endOpened: { attribute: 'end-opened', type: Boolean },
97
+ /**
98
+ * Value of the end date-time input
99
+ * @type {string}
100
+ */
101
+ endValue: { attribute: 'end-value', reflect: true, type: String },
102
+ /**
103
+ * Validates on inclusive range (i.e., it is valid for start and end date-times to be equal)
104
+ * @type {boolean}
105
+ */
106
+ inclusiveDateRange: { attribute: 'inclusive-date-range', reflect: true, type: Boolean },
107
+ /**
108
+ * ACCESSIBILITY: REQUIRED: Label for the input fieldset that wraps the date-time inputs
109
+ * @type {string}
110
+ */
111
+ label: { type: String, reflect: true },
112
+ /**
113
+ * Hides the fieldset label visually. Hidden labels are still read by screen readers so make sure to set an appropriate label.
114
+ * @type {boolean}
115
+ */
116
+ labelHidden: { type: Boolean, attribute: 'label-hidden', reflect: true },
117
+ /**
118
+ * Indicates that localization will be handled by the consumer. `*value` will not be converted from/to UTC.
119
+ * @type {boolean}
120
+ */
121
+ localized: { reflect: true, type: Boolean },
122
+ /**
123
+ * Maximum valid date/time that could be selected by a user
124
+ * @type {string}
125
+ */
126
+ maxValue: { attribute: 'max-value', reflect: true, type: String },
127
+ /**
128
+ * Minimum valid date/time that could be selected by a user
129
+ * @type {string}
130
+ */
131
+ minValue: { attribute: 'min-value', reflect: true, type: String },
132
+ /**
133
+ * Indicates that values are required
134
+ * @type {boolean}
135
+ */
136
+ required: { type: Boolean, reflect: true },
137
+ /**
138
+ * ACCESSIBILITY: Label for the start date-time input. Defaults to localized "Start Date".
139
+ * @type {string}
140
+ * @default "Start Date"
141
+ */
142
+ startLabel: { attribute: 'start-label', reflect: true, type: String },
143
+ /**
144
+ * ADVANCED: Indicates if the start date or time dropdown is open
145
+ * @type {boolean}
146
+ */
147
+ startOpened: { attribute: 'start-opened', type: Boolean },
148
+ /**
149
+ * Value of the start date-time input
150
+ * @type {string}
151
+ */
152
+ startValue: { attribute: 'start-value', reflect: true, type: String },
153
+ /**
154
+ * Time zone identifier for the time inputs to use.
155
+ * @type {string}
156
+ */
157
+ timeZoneId: { attribute: 'time-zone-id', type: String },
158
+ /**
159
+ * Hides the time zone inside the time selection dropdowns. Should only be used when the time input values are not related to any one time zone
160
+ * @type {Boolean}
161
+ */
162
+ timeZoneHidden: { type: Boolean, attribute: 'time-zone-hidden' },
163
+ _slotOccupied: { type: Boolean }
164
+ };
165
+
166
+ static styles = [super.styles, css`
167
+ :host {
168
+ display: inline-block;
169
+ }
170
+ :host([hidden]) {
171
+ display: none;
172
+ }
173
+ d2l-input-date-time {
174
+ display: block;
175
+ }
176
+ ::slotted(*) {
177
+ margin-top: 0.6rem;
178
+ }
179
+ `];
185
180
 
186
181
  constructor() {
187
182
  super();