@esri/calcite-components 1.0.0-next.319 → 1.0.0-next.322

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 (84) hide show
  1. package/dist/calcite/calcite.esm.js +1 -1
  2. package/dist/calcite/p-04bce033.entry.js +5 -0
  3. package/dist/calcite/p-1480eb2d.entry.js +5 -0
  4. package/dist/calcite/p-414ce3c1.system.entry.js +5 -0
  5. package/dist/calcite/p-4d4ba7df.entry.js +5 -0
  6. package/dist/calcite/{p-8b2d4eac.system.entry.js → p-4e95e13d.system.entry.js} +1 -1
  7. package/dist/calcite/p-58208234.system.entry.js +5 -0
  8. package/dist/calcite/{p-9be50494.entry.js → p-77600274.entry.js} +1 -1
  9. package/dist/calcite/p-8e252799.system.js +1 -1
  10. package/dist/calcite/{p-f97e1a2d.entry.js → p-a57aa5d0.entry.js} +1 -1
  11. package/dist/calcite/{p-6c5b849f.system.entry.js → p-ac417011.system.entry.js} +1 -1
  12. package/dist/calcite/p-ad617a5a.entry.js +5 -0
  13. package/dist/calcite/p-ed82600e.system.entry.js +5 -0
  14. package/dist/calcite/p-fa9a1d8f.system.entry.js +5 -0
  15. package/dist/cjs/calcite-button.cjs.entry.js +2 -2
  16. package/dist/cjs/calcite-combobox_3.cjs.entry.js +4 -1
  17. package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +349 -223
  18. package/dist/cjs/calcite-label.cjs.entry.js +1 -1
  19. package/dist/cjs/calcite-option_3.cjs.entry.js +3 -1
  20. package/dist/cjs/{calcite-radio_2.cjs.entry.js → calcite-radio-button.cjs.entry.js} +2 -43
  21. package/dist/cjs/calcite.cjs.js +1 -1
  22. package/dist/cjs/loader.cjs.js +1 -1
  23. package/dist/collection/collection-manifest.json +5 -7
  24. package/dist/collection/components/calcite-button/calcite-button.js +3 -2
  25. package/dist/collection/components/calcite-combobox/calcite-combobox.js +4 -1
  26. package/dist/collection/components/calcite-input-time-picker/calcite-input-time-picker.js +81 -76
  27. package/dist/collection/components/calcite-label/calcite-label.css +0 -1
  28. package/dist/collection/components/calcite-option/calcite-option.js +3 -1
  29. package/dist/collection/components/calcite-radio-button/calcite-radio-button.css +69 -0
  30. package/dist/collection/components/calcite-radio-button/calcite-radio-button.js +1 -1
  31. package/dist/collection/components/calcite-time-picker/calcite-time-picker.css +56 -91
  32. package/dist/collection/components/calcite-time-picker/calcite-time-picker.js +254 -289
  33. package/dist/collection/components/calcite-time-picker/resources.js +15 -9
  34. package/dist/collection/utils/time.js +144 -36
  35. package/dist/components/calcite-button2.js +2 -2
  36. package/dist/components/calcite-combobox.js +4 -1
  37. package/dist/components/calcite-input-time-picker.js +51 -48
  38. package/dist/components/calcite-label2.js +1 -1
  39. package/dist/components/calcite-option.js +3 -1
  40. package/dist/components/calcite-radio-button.js +3 -9
  41. package/dist/components/calcite-time-picker2.js +320 -187
  42. package/dist/custom-elements/index.d.ts +0 -6
  43. package/dist/custom-elements/index.js +364 -277
  44. package/dist/esm/calcite-button.entry.js +2 -2
  45. package/dist/esm/calcite-combobox_3.entry.js +4 -1
  46. package/dist/esm/calcite-input-time-picker_2.entry.js +349 -223
  47. package/dist/esm/calcite-label.entry.js +1 -1
  48. package/dist/esm/calcite-option_3.entry.js +3 -1
  49. package/dist/esm/{calcite-radio_2.entry.js → calcite-radio-button.entry.js} +4 -44
  50. package/dist/esm/calcite.js +1 -1
  51. package/dist/esm/loader.js +1 -1
  52. package/dist/esm-es5/calcite-button.entry.js +1 -1
  53. package/dist/esm-es5/calcite-combobox_3.entry.js +1 -1
  54. package/dist/esm-es5/calcite-input-time-picker_2.entry.js +2 -2
  55. package/dist/esm-es5/calcite-label.entry.js +1 -1
  56. package/dist/esm-es5/calcite-option_3.entry.js +1 -1
  57. package/dist/esm-es5/calcite-radio-button.entry.js +5 -0
  58. package/dist/esm-es5/calcite.js +1 -1
  59. package/dist/esm-es5/loader.js +1 -1
  60. package/dist/extras/docs-json.json +24 -211
  61. package/dist/types/components/calcite-input-time-picker/calcite-input-time-picker.d.ts +12 -4
  62. package/dist/types/components/calcite-time-picker/calcite-time-picker.d.ts +35 -23
  63. package/dist/types/components/calcite-time-picker/resources.d.ts +14 -8
  64. package/dist/types/components.d.ts +16 -93
  65. package/dist/types/preact.d.ts +0 -2
  66. package/dist/types/utils/time.d.ts +18 -5
  67. package/hydrate/index.js +381 -296
  68. package/package.json +1 -1
  69. package/readme.md +2 -2
  70. package/dist/calcite/p-12a9599d.system.entry.js +0 -5
  71. package/dist/calcite/p-1e4955d7.entry.js +0 -5
  72. package/dist/calcite/p-2b137143.system.entry.js +0 -5
  73. package/dist/calcite/p-35c5e6bd.entry.js +0 -5
  74. package/dist/calcite/p-4af85388.system.entry.js +0 -5
  75. package/dist/calcite/p-9634f89d.entry.js +0 -5
  76. package/dist/calcite/p-a98e5444.system.entry.js +0 -5
  77. package/dist/calcite/p-fccc1605.entry.js +0 -5
  78. package/dist/collection/components/calcite-radio/calcite-radio.css +0 -162
  79. package/dist/collection/components/calcite-radio/calcite-radio.js +0 -169
  80. package/dist/components/calcite-radio.d.ts +0 -11
  81. package/dist/components/calcite-radio.js +0 -10
  82. package/dist/components/calcite-radio2.js +0 -71
  83. package/dist/esm-es5/calcite-radio_2.entry.js +0 -5
  84. package/dist/types/components/calcite-radio/calcite-radio.d.ts +0 -22
package/hydrate/index.js CHANGED
@@ -9224,11 +9224,11 @@ class CalciteButton {
9224
9224
  render() {
9225
9225
  const dir = getElementDir(this.el);
9226
9226
  const Tag = this.childElType;
9227
- const loader = (hAsync("div", { class: CSS$I.buttonLoader }, this.hasLoader ? (hAsync("calcite-loader", { active: true, class: this.loading ? CSS$I.loadingIn : CSS$I.loadingOut, inline: true, label: this.intlLoading, scale: "m" })) : null));
9227
+ const loaderNode = this.hasLoader ? (hAsync("div", { class: CSS$I.buttonLoader }, hAsync("calcite-loader", { active: true, class: this.loading ? CSS$I.loadingIn : CSS$I.loadingOut, inline: true, label: this.intlLoading, scale: "m" }))) : null;
9228
9228
  const iconStartEl = (hAsync("calcite-icon", { class: { [CSS$I.icon]: true, [CSS$I.iconStart]: true }, flipRtl: this.iconFlipRtl === "start" || this.iconFlipRtl === "both", icon: this.iconStart, scale: "s" }));
9229
9229
  const iconEndEl = (hAsync("calcite-icon", { class: { [CSS$I.icon]: true, [CSS$I.iconEnd]: true }, flipRtl: this.iconFlipRtl === "end" || this.iconFlipRtl === "both", icon: this.iconEnd, scale: "s" }));
9230
9230
  const contentEl = (hAsync("span", { class: CSS$I.content }, hAsync("slot", null)));
9231
- return (hAsync(Tag, { "aria-label": getLabelText(this), class: { [CSS_UTILITY.rtl]: dir === "rtl", [CSS$I.contentSlotted]: this.hasContent }, disabled: this.disabled || this.loading, href: this.childElType === "a" && this.href, name: this.childElType === "button" && this.name, onClick: this.handleClick, ref: (el) => (this.childEl = el), rel: this.childElType === "a" && this.rel, tabIndex: this.disabled || this.loading ? -1 : null, target: this.childElType === "a" && this.target, type: this.childElType === "button" && this.type }, loader, this.iconStart ? iconStartEl : null, this.hasContent ? contentEl : null, this.iconEnd ? iconEndEl : null));
9231
+ return (hAsync(Tag, { "aria-label": getLabelText(this), class: { [CSS_UTILITY.rtl]: dir === "rtl", [CSS$I.contentSlotted]: this.hasContent }, disabled: this.disabled || this.loading, href: this.childElType === "a" && this.href, name: this.childElType === "button" && this.name, onClick: this.handleClick, ref: (el) => (this.childEl = el), rel: this.childElType === "a" && this.rel, tabIndex: this.disabled || this.loading ? -1 : null, target: this.childElType === "a" && this.target, type: this.childElType === "button" && this.type }, loaderNode, this.iconStart ? iconStartEl : null, this.hasContent ? contentEl : null, this.iconEnd ? iconEndEl : null));
9232
9232
  }
9233
9233
  //--------------------------------------------------------------------------
9234
9234
  //
@@ -15200,7 +15200,9 @@ class CalciteCombobox {
15200
15200
  };
15201
15201
  this.setInactiveIfNotContained = (event) => {
15202
15202
  const composedPath = event.composedPath();
15203
- if (!this.active || composedPath.includes(this.el) || composedPath.includes(this.referenceEl)) {
15203
+ if ((!this.active && !this.open) ||
15204
+ composedPath.includes(this.el) ||
15205
+ composedPath.includes(this.referenceEl)) {
15204
15206
  return;
15205
15207
  }
15206
15208
  if (this.allowCustomValues && this.text) {
@@ -15215,6 +15217,7 @@ class CalciteCombobox {
15215
15217
  this.updateActiveItemIndex(-1);
15216
15218
  }
15217
15219
  this.active = false;
15220
+ this.open = false;
15218
15221
  };
15219
15222
  this.setMenuEl = (el) => {
15220
15223
  this.menuEl = el;
@@ -19816,6 +19819,72 @@ class CalciteInputMessage {
19816
19819
  }
19817
19820
 
19818
19821
  const maxTenthForMinuteAndSecond = 5;
19822
+ function createLocaleDateTimeFormatter(locale, includeSeconds = true) {
19823
+ try {
19824
+ const options = {
19825
+ hour: "2-digit",
19826
+ minute: "2-digit",
19827
+ timeZone: "UTC"
19828
+ };
19829
+ if (includeSeconds) {
19830
+ options.second = "2-digit";
19831
+ }
19832
+ return new Intl.DateTimeFormat(locale, options);
19833
+ }
19834
+ catch (e) {
19835
+ throw new Error(`Invalid locale supplied while attempting to create a DateTime formatter: ${locale}`);
19836
+ }
19837
+ }
19838
+ function formatTimePart(number) {
19839
+ const numberAsString = number.toString();
19840
+ return number >= 0 && number <= 9 ? numberAsString.padStart(2, "0") : numberAsString;
19841
+ }
19842
+ function formatTimeString(value) {
19843
+ if (!isValidTime(value)) {
19844
+ return null;
19845
+ }
19846
+ const [hourString, minuteString, secondString] = value.split(":");
19847
+ const hour = formatTimePart(parseInt(hourString));
19848
+ const minute = formatTimePart(parseInt(minuteString));
19849
+ if (secondString) {
19850
+ const second = formatTimePart(parseInt(secondString));
19851
+ return `${hour}:${minute}:${second}`;
19852
+ }
19853
+ return `${hour}:${minute}`;
19854
+ }
19855
+ function getLocaleHourCycle(locale) {
19856
+ const formatter = createLocaleDateTimeFormatter(locale);
19857
+ const parts = formatter.formatToParts(new Date(Date.UTC(0, 0, 0, 0, 0, 0)));
19858
+ return getLocalizedTimePart("meridiem", parts) ? "12" : "24";
19859
+ }
19860
+ function getLocalizedTimePart(part, parts) {
19861
+ var _a, _b, _c, _d;
19862
+ if (!part || !parts) {
19863
+ return null;
19864
+ }
19865
+ if (part === "hourSuffix") {
19866
+ const hourIndex = parts.indexOf(parts.find(({ type }) => type === "hour"));
19867
+ const minuteIndex = parts.indexOf(parts.find(({ type }) => type === "minute"));
19868
+ const hourSuffix = parts[hourIndex + 1];
19869
+ return hourSuffix && hourSuffix.type === "literal" && minuteIndex - hourIndex === 2
19870
+ ? ((_a = hourSuffix.value) === null || _a === void 0 ? void 0 : _a.trim()) || null
19871
+ : null;
19872
+ }
19873
+ if (part === "minuteSuffix") {
19874
+ const minuteIndex = parts.indexOf(parts.find(({ type }) => type === "minute"));
19875
+ const secondIndex = parts.indexOf(parts.find(({ type }) => type === "second"));
19876
+ const minuteSuffix = parts[minuteIndex + 1];
19877
+ return minuteSuffix && minuteSuffix.type === "literal" && secondIndex - minuteIndex === 2
19878
+ ? ((_b = minuteSuffix.value) === null || _b === void 0 ? void 0 : _b.trim()) || null
19879
+ : null;
19880
+ }
19881
+ if (part === "secondSuffix") {
19882
+ const secondIndex = parts.indexOf(parts.find(({ type }) => type === "second"));
19883
+ const secondSuffix = parts[secondIndex + 1];
19884
+ return secondSuffix && secondSuffix.type === "literal" ? ((_c = secondSuffix.value) === null || _c === void 0 ? void 0 : _c.trim()) || null : null;
19885
+ }
19886
+ return ((_d = parts.find(({ type }) => (part == "meridiem" ? type === "dayPeriod" : type === part))) === null || _d === void 0 ? void 0 : _d.value) || null;
19887
+ }
19819
19888
  function getMeridiem(hour) {
19820
19889
  if (!isValidNumber(hour)) {
19821
19890
  return null;
@@ -19823,51 +19892,93 @@ function getMeridiem(hour) {
19823
19892
  const hourAsNumber = parseInt(hour);
19824
19893
  return hourAsNumber >= 0 && hourAsNumber <= 11 ? "AM" : "PM";
19825
19894
  }
19826
- function getMeridiemHour(hour) {
19827
- if (!isValidNumber(hour)) {
19828
- return null;
19895
+ function isValidTime(value) {
19896
+ if (!value || value.startsWith(":") || value.endsWith(":")) {
19897
+ return false;
19829
19898
  }
19830
- const hourAsNumber = parseInt(hour);
19831
- if (hourAsNumber === 0) {
19832
- return "12";
19899
+ const splitValue = value.split(":");
19900
+ const validLength = splitValue.length > 1 && splitValue.length < 4;
19901
+ if (!validLength) {
19902
+ return false;
19903
+ }
19904
+ const [hour, minute, second] = splitValue;
19905
+ const hourAsNumber = parseInt(splitValue[0]);
19906
+ const minuteAsNumber = parseInt(splitValue[1]);
19907
+ const secondAsNumber = parseInt(splitValue[2]);
19908
+ const hourValid = isValidNumber(hour) && hourAsNumber >= 0 && hourAsNumber < 24;
19909
+ const minuteValid = isValidNumber(minute) && minuteAsNumber >= 0 && minuteAsNumber < 60;
19910
+ const secondValid = isValidNumber(second) && secondAsNumber >= 0 && secondAsNumber < 60;
19911
+ if ((hourValid && minuteValid && !second) || (hourValid && minuteValid && secondValid)) {
19912
+ return true;
19833
19913
  }
19834
- return hourAsNumber > 12 ? formatTimePart(hourAsNumber - 12) : hour;
19835
19914
  }
19836
- function parseTimeString(value) {
19837
- const timeString = formatTimeString(value);
19838
- const [hour, minute, second] = timeString ? timeString.split(":") : [null, null, null];
19839
- return {
19840
- hour,
19841
- minute,
19842
- second: second || (hour && minute ? "00" : null)
19843
- };
19915
+ function isValidTimePart(value, part) {
19916
+ if (part === "meridiem") {
19917
+ return value === "AM" || value === "PM";
19918
+ }
19919
+ if (!isValidNumber(value)) {
19920
+ return false;
19921
+ }
19922
+ const valueAsNumber = Number(value);
19923
+ return part === "hour" ? valueAsNumber >= 0 && valueAsNumber < 24 : valueAsNumber >= 0 && valueAsNumber < 60;
19844
19924
  }
19845
- function formatTimeString(value) {
19846
- if (!value || value.endsWith(":") || value.startsWith(":")) {
19925
+ function localizeTimePart(value, part, locale) {
19926
+ if (!isValidTimePart(value, part)) {
19927
+ return;
19928
+ }
19929
+ const valueAsNumber = parseInt(value);
19930
+ const date = new Date(Date.UTC(0, 0, 0, part === "hour" ? valueAsNumber : part === "meridiem" ? (value === "AM" ? 0 : 12) : 0, part === "minute" ? valueAsNumber : 0, part === "second" ? valueAsNumber : 0));
19931
+ if (!date) {
19932
+ return;
19933
+ }
19934
+ const formatter = createLocaleDateTimeFormatter(locale);
19935
+ const parts = formatter.formatToParts(date);
19936
+ return getLocalizedTimePart(part, parts);
19937
+ }
19938
+ function localizeTimeString(value, locale = "en", includeSeconds = true) {
19939
+ if (!isValidTime(value)) {
19847
19940
  return null;
19848
19941
  }
19849
- const splitValue = value.split(":");
19850
- if (splitValue.length > 1) {
19851
- const [hour, minute, second] = splitValue;
19852
- const hourAsNumber = parseInt(splitValue[0]);
19853
- const minuteAsNumber = parseInt(splitValue[1]);
19854
- const secondAsNumber = parseInt(splitValue[2]);
19855
- const hourValid = isValidNumber(hour) && hourAsNumber >= 0 && hourAsNumber < 24;
19856
- const minuteValid = isValidNumber(minute) && minuteAsNumber >= 0 && minuteAsNumber < 60;
19857
- const secondValid = isValidNumber(second) && secondAsNumber >= 0 && secondAsNumber < 60;
19858
- if ((hourValid && minuteValid && !second) || (hourValid && minuteValid && secondValid)) {
19859
- let newValue = `${formatTimePart(hourAsNumber)}:${formatTimePart(minuteAsNumber)}`;
19860
- if (secondValid) {
19861
- newValue = `${newValue}:${formatTimePart(secondAsNumber)}`;
19862
- }
19863
- return newValue;
19864
- }
19942
+ const { hour, minute, second = "0" } = parseTimeString(value);
19943
+ const dateFromTimeString = new Date(Date.UTC(0, 0, 0, parseInt(hour), parseInt(minute), parseInt(second)));
19944
+ const formatter = createLocaleDateTimeFormatter(locale, includeSeconds);
19945
+ return (formatter === null || formatter === void 0 ? void 0 : formatter.format(dateFromTimeString)) || null;
19946
+ }
19947
+ function localizeTimeStringToParts(value, locale = "en") {
19948
+ if (!isValidTime(value)) {
19949
+ return null;
19950
+ }
19951
+ const { hour, minute, second = "0" } = parseTimeString(value);
19952
+ const dateFromTimeString = new Date(Date.UTC(0, 0, 0, parseInt(hour), parseInt(minute), parseInt(second)));
19953
+ if (dateFromTimeString) {
19954
+ const formatter = createLocaleDateTimeFormatter(locale);
19955
+ const parts = formatter.formatToParts(dateFromTimeString);
19956
+ return {
19957
+ localizedHour: getLocalizedTimePart("hour", parts),
19958
+ localizedHourSuffix: getLocalizedTimePart("hourSuffix", parts),
19959
+ localizedMinute: getLocalizedTimePart("minute", parts),
19960
+ localizedMinuteSuffix: getLocalizedTimePart("minuteSuffix", parts),
19961
+ localizedSecond: getLocalizedTimePart("second", parts),
19962
+ localizedSecondSuffix: getLocalizedTimePart("secondSuffix", parts),
19963
+ localizedMeridiem: getLocalizedTimePart("meridiem", parts)
19964
+ };
19865
19965
  }
19866
19966
  return null;
19867
19967
  }
19868
- function formatTimePart(number) {
19869
- const numberAsString = number.toString();
19870
- return number >= 0 && number <= 9 ? numberAsString.padStart(2, "0") : numberAsString;
19968
+ function parseTimeString(value) {
19969
+ if (isValidTime(value)) {
19970
+ const [hour, minute, second] = value.split(":");
19971
+ return {
19972
+ hour,
19973
+ minute,
19974
+ second
19975
+ };
19976
+ }
19977
+ return {
19978
+ hour: null,
19979
+ minute: null,
19980
+ second: null
19981
+ };
19871
19982
  }
19872
19983
 
19873
19984
  const calciteInputTimePickerCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}/*!@:root*/.sc-calcite-input-time-picker:root{--calcite-animation-timing:300ms}/*!@.calcite-animate*/.calcite-animate.sc-calcite-input-time-picker{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}/*!@.calcite-animate__in*/.calcite-animate__in.sc-calcite-input-time-picker{-webkit-animation-name:in;animation-name:in}/*!@.calcite-animate__in-down*/.calcite-animate__in-down.sc-calcite-input-time-picker{-webkit-animation-name:in-down;animation-name:in-down}/*!@.calcite-animate__in-up*/.calcite-animate__in-up.sc-calcite-input-time-picker{-webkit-animation-name:in-up;animation-name:in-up}/*!@.calcite-animate__in-scale*/.calcite-animate__in-scale.sc-calcite-input-time-picker{-webkit-animation-name:in-scale;animation-name:in-scale}/*!@:root*/.sc-calcite-input-time-picker:root{--calcite-popper-transition:150ms ease-in-out}/*!@:host([hidden])*/[hidden].sc-calcite-input-time-picker-h{display:none}/*!@:host*/.sc-calcite-input-time-picker-h{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}/*!@::slotted(input[slot=hidden-form-input])*/.sc-calcite-input-time-picker-s>input[slot=hidden-form-input]{bottom:0 !important;left:0 !important;margin:0 !important;opacity:0 !important;outline:none !important;padding:0 !important;position:absolute !important;right:0 !important;top:0 !important;-webkit-transform:none !important;transform:none !important;-webkit-appearance:none !important;z-index:-1 !important}";
@@ -19885,8 +19996,11 @@ class CalciteInputTimePicker {
19885
19996
  this.active = false;
19886
19997
  /** The disabled state of the time input */
19887
19998
  this.disabled = false;
19888
- /** Format of the hour value (12-hour or 24-hour) (this will be replaced by locale eventually) */
19889
- this.hourDisplayFormat = "12";
19999
+ /**
20000
+ * BCP 47 language tag for desired language and country format
20001
+ * @internal
20002
+ */
20003
+ this.locale = document.documentElement.lang || navigator.language || "en";
19890
20004
  /**
19891
20005
  * When true, makes the component required for form-submission.
19892
20006
  *
@@ -19910,56 +20024,60 @@ class CalciteInputTimePicker {
19910
20024
  //--------------------------------------------------------------------------
19911
20025
  this.calciteInputBlurHandler = () => {
19912
20026
  this.active = false;
19913
- const newValue = formatTimeString(this.calciteInputEl.value) || formatTimeString(this.value);
19914
- if (newValue !== this.calciteInputEl.value) {
19915
- this.setInputValue(newValue);
19916
- }
20027
+ const shouldIncludeSeconds = this.shouldIncludeSeconds();
20028
+ const localizedInputValue = localizeTimeString(this.calciteInputEl.value, this.locale, shouldIncludeSeconds);
20029
+ this.setInputValue(localizedInputValue || localizeTimeString(this.value, this.locale, shouldIncludeSeconds));
19917
20030
  };
19918
20031
  this.calciteInputFocusHandler = () => {
19919
20032
  this.active = true;
19920
20033
  };
19921
20034
  this.calciteInputInputHandler = (event) => {
19922
- this.setValue({ value: event.detail.value });
20035
+ const target = event.target;
20036
+ this.setValue({ value: target.value });
20037
+ };
20038
+ this.timePickerChangeHandler = (event) => {
20039
+ event.stopPropagation();
20040
+ const target = event.target;
20041
+ const value = target.value;
20042
+ this.setValue({ value, origin: "time-picker" });
19923
20043
  };
19924
20044
  this.setCalciteInputEl = (el) => {
19925
20045
  this.calciteInputEl = el;
19926
20046
  };
20047
+ this.setCalciteTimePickerEl = (el) => {
20048
+ this.calciteTimePickerEl = el;
20049
+ };
19927
20050
  this.setInputValue = (newInputValue) => {
19928
20051
  if (!this.calciteInputEl) {
19929
20052
  return;
19930
20053
  }
19931
- if (this.hourDisplayFormat === "12") {
19932
- const { hour, minute, second } = parseTimeString(newInputValue);
19933
- this.calciteInputEl.value = newInputValue
19934
- ? `${getMeridiemHour(hour)}:${minute}${this.step !== 60 ? ":" + second : ""} ${getMeridiem(hour)}`
19935
- : null;
19936
- }
19937
- else {
19938
- this.calciteInputEl.value = newInputValue;
19939
- }
20054
+ this.calciteInputEl.value = newInputValue;
19940
20055
  };
19941
20056
  this.setValue = ({ value, origin = "input" }) => {
19942
20057
  const previousValue = this.value;
19943
- const validatedNewValue = formatTimeString(value);
20058
+ const newValue = formatTimeString(value);
20059
+ const newLocalizedValue = localizeTimeString(newValue, this.locale, this.shouldIncludeSeconds());
19944
20060
  this.internalValueChange = origin !== "external" && origin !== "loading";
19945
20061
  const shouldEmit = origin !== "loading" &&
19946
20062
  origin !== "external" &&
19947
20063
  ((value !== this.previousValidValue && !value) ||
19948
- !!(!this.previousValidValue && validatedNewValue) ||
19949
- (validatedNewValue !== this.previousValidValue && validatedNewValue));
20064
+ !!(!this.previousValidValue && newValue) ||
20065
+ (newValue !== this.previousValidValue && newValue));
19950
20066
  if (value) {
19951
20067
  if (shouldEmit) {
19952
- this.previousValidValue = validatedNewValue;
20068
+ this.previousValidValue = newValue;
19953
20069
  }
19954
- if (validatedNewValue && validatedNewValue !== this.value) {
19955
- this.value = validatedNewValue;
20070
+ if (newValue && newValue !== this.value) {
20071
+ this.value = newValue;
19956
20072
  }
20073
+ this.localizedValue = newLocalizedValue;
19957
20074
  }
19958
20075
  else {
19959
20076
  this.value = value;
20077
+ this.localizedValue = null;
19960
20078
  }
19961
20079
  if (origin === "time-picker" || origin === "external") {
19962
- this.setInputValue(validatedNewValue);
20080
+ this.setInputValue(newLocalizedValue);
19963
20081
  }
19964
20082
  if (shouldEmit) {
19965
20083
  const changeEvent = this.calciteInputTimePickerChange.emit();
@@ -19970,17 +20088,26 @@ class CalciteInputTimePicker {
19970
20088
  this.previousValidValue = previousValue;
19971
20089
  }
19972
20090
  else {
19973
- this.previousValidValue = validatedNewValue;
20091
+ this.previousValidValue = newValue;
19974
20092
  }
19975
20093
  }
19976
20094
  };
19977
20095
  }
20096
+ localeWatcher(newLocale) {
20097
+ this.setInputValue(localizeTimeString(this.value, newLocale, this.shouldIncludeSeconds()));
20098
+ }
19978
20099
  valueWatcher(newValue) {
19979
20100
  if (!this.internalValueChange) {
19980
20101
  this.setValue({ value: newValue, origin: "external" });
19981
20102
  }
19982
20103
  this.internalValueChange = false;
19983
20104
  }
20105
+ clickHandler(event) {
20106
+ if (event.composedPath().includes(this.calciteTimePickerEl)) {
20107
+ return;
20108
+ }
20109
+ this.setFocus();
20110
+ }
19984
20111
  keyUpHandler(event) {
19985
20112
  if (event.key === "Escape" && this.active) {
19986
20113
  this.active = false;
@@ -19991,21 +20118,6 @@ class CalciteInputTimePicker {
19991
20118
  event.stopPropagation();
19992
20119
  this.active = false;
19993
20120
  }
19994
- timePickerChangeHandler(event) {
19995
- event.preventDefault();
19996
- event.stopPropagation();
19997
- if (event.detail) {
19998
- const { hour, minute, second } = event.detail;
19999
- let value;
20000
- if (hour && minute) {
20001
- value = second && this.step !== 60 ? `${hour}:${minute}:${second}` : `${hour}:${minute}`;
20002
- }
20003
- else {
20004
- value = "";
20005
- }
20006
- this.setValue({ value, origin: "time-picker" });
20007
- }
20008
- }
20009
20121
  timePickerFocusHandler(event) {
20010
20122
  event.preventDefault();
20011
20123
  event.stopPropagation();
@@ -20028,6 +20140,9 @@ class CalciteInputTimePicker {
20028
20140
  onLabelClick() {
20029
20141
  this.setFocus();
20030
20142
  }
20143
+ shouldIncludeSeconds() {
20144
+ return this.step < 60;
20145
+ }
20031
20146
  //--------------------------------------------------------------------------
20032
20147
  //
20033
20148
  // Lifecycle
@@ -20035,15 +20150,13 @@ class CalciteInputTimePicker {
20035
20150
  //--------------------------------------------------------------------------
20036
20151
  connectedCallback() {
20037
20152
  if (this.value) {
20038
- this.setValue({ value: this.value, origin: "loading" });
20153
+ this.setValue({ value: isValidTime(this.value) ? this.value : undefined, origin: "loading" });
20039
20154
  }
20040
20155
  connectLabel(this);
20041
20156
  connectForm(this);
20042
20157
  }
20043
20158
  componentDidLoad() {
20044
- if (this.calciteInputEl.value !== this.value) {
20045
- this.setInputValue(this.value);
20046
- }
20159
+ this.setInputValue(this.localizedValue);
20047
20160
  }
20048
20161
  disconnectedCallback() {
20049
20162
  disconnectLabel(this);
@@ -20055,12 +20168,12 @@ class CalciteInputTimePicker {
20055
20168
  //
20056
20169
  // --------------------------------------------------------------------------
20057
20170
  render() {
20058
- const { hour, minute, second } = parseTimeString(this.value);
20059
20171
  const popoverId = `${this.referenceElementId}-popover`;
20060
- return (hAsync(Host, null, hAsync("div", { "aria-controls": popoverId, "aria-haspopup": "dialog", "aria-label": this.name, "aria-owns": popoverId, id: this.referenceElementId, role: "combobox" }, hAsync("calcite-input", { disabled: this.disabled, icon: "clock", label: getLabelText(this), onCalciteInputBlur: this.calciteInputBlurHandler, onCalciteInputFocus: this.calciteInputFocusHandler, onCalciteInputInput: this.calciteInputInputHandler, ref: this.setCalciteInputEl, scale: this.scale, step: this.step })), hAsync("calcite-popover", { id: popoverId, label: "Time Picker", open: this.active || false, referenceElement: this.referenceElementId }, hAsync("calcite-time-picker", { hour: hour, "hour-display-format": this.hourDisplayFormat, intlHour: this.intlHour, intlHourDown: this.intlHourDown, intlHourUp: this.intlHourUp, intlMeridiem: this.intlMeridiem, intlMeridiemDown: this.intlMeridiemDown, intlMeridiemUp: this.intlMeridiemUp, intlMinute: this.intlMinute, intlMinuteDown: this.intlMinuteDown, intlMinuteUp: this.intlMinuteUp, intlSecond: this.intlSecond, intlSecondDown: this.intlSecondDown, intlSecondUp: this.intlSecondUp, minute: minute, scale: this.scale, second: second, step: this.step })), hAsync(HiddenFormInputSlot, { component: this })));
20172
+ return (hAsync(Host, null, hAsync("div", { "aria-controls": popoverId, "aria-haspopup": "dialog", "aria-label": this.name, "aria-owns": popoverId, id: this.referenceElementId, role: "combobox" }, hAsync("calcite-input", { disabled: this.disabled, icon: "clock", label: getLabelText(this), onCalciteInputBlur: this.calciteInputBlurHandler, onCalciteInputFocus: this.calciteInputFocusHandler, onCalciteInputInput: this.calciteInputInputHandler, ref: this.setCalciteInputEl, scale: this.scale, step: this.step })), hAsync("calcite-popover", { id: popoverId, label: "Time Picker", open: this.active || false, referenceElement: this.referenceElementId }, hAsync("calcite-time-picker", { intlHour: this.intlHour, intlHourDown: this.intlHourDown, intlHourUp: this.intlHourUp, intlMeridiem: this.intlMeridiem, intlMeridiemDown: this.intlMeridiemDown, intlMeridiemUp: this.intlMeridiemUp, intlMinute: this.intlMinute, intlMinuteDown: this.intlMinuteDown, intlMinuteUp: this.intlMinuteUp, intlSecond: this.intlSecond, intlSecondDown: this.intlSecondDown, intlSecondUp: this.intlSecondUp, lang: this.locale, onCalciteTimePickerChange: this.timePickerChangeHandler, ref: this.setCalciteTimePickerEl, scale: this.scale, step: this.step, value: this.value })), hAsync(HiddenFormInputSlot, { component: this })));
20061
20173
  }
20062
20174
  get el() { return getElement(this); }
20063
20175
  static get watchers() { return {
20176
+ "locale": ["localeWatcher"],
20064
20177
  "value": ["valueWatcher"]
20065
20178
  }; }
20066
20179
  static get style() { return calciteInputTimePickerCss; }
@@ -20070,7 +20183,6 @@ class CalciteInputTimePicker {
20070
20183
  "$members$": {
20071
20184
  "active": [1540],
20072
20185
  "disabled": [516],
20073
- "hourDisplayFormat": [1, "hour-display-format"],
20074
20186
  "intlHour": [1, "intl-hour"],
20075
20187
  "intlHourDown": [1, "intl-hour-down"],
20076
20188
  "intlHourUp": [1, "intl-hour-up"],
@@ -20083,14 +20195,16 @@ class CalciteInputTimePicker {
20083
20195
  "intlSecond": [1, "intl-second"],
20084
20196
  "intlSecondDown": [1, "intl-second-down"],
20085
20197
  "intlSecondUp": [1, "intl-second-up"],
20198
+ "locale": [1025, "lang"],
20086
20199
  "name": [1],
20087
20200
  "required": [516],
20088
20201
  "scale": [513],
20089
20202
  "step": [2],
20090
20203
  "value": [1025],
20204
+ "localizedValue": [32],
20091
20205
  "setFocus": [64]
20092
20206
  },
20093
- "$listeners$": [[0, "keyup", "keyUpHandler"], [0, "calciteTimePickerBlur", "timePickerBlurHandler"], [0, "calciteTimePickerChange", "timePickerChangeHandler"], [0, "calciteTimePickerFocus", "timePickerFocusHandler"]],
20207
+ "$listeners$": [[0, "click", "clickHandler"], [0, "keyup", "keyUpHandler"], [0, "calciteTimePickerBlur", "timePickerBlurHandler"], [0, "calciteTimePickerFocus", "timePickerFocusHandler"]],
20094
20208
  "$lazyBundleId$": "-",
20095
20209
  "$attrsToReflect$": [["active", "active"], ["disabled", "disabled"], ["required", "required"], ["scale", "scale"]]
20096
20210
  }; }
@@ -20100,7 +20214,7 @@ const CSS$q = {
20100
20214
  container: "container"
20101
20215
  };
20102
20216
 
20103
- const calciteLabelCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}/*!@:root*/.sc-calcite-label:root{--calcite-animation-timing:300ms}/*!@.calcite-animate*/.calcite-animate.sc-calcite-label{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}/*!@.calcite-animate__in*/.calcite-animate__in.sc-calcite-label{-webkit-animation-name:in;animation-name:in}/*!@.calcite-animate__in-down*/.calcite-animate__in-down.sc-calcite-label{-webkit-animation-name:in-down;animation-name:in-down}/*!@.calcite-animate__in-up*/.calcite-animate__in-up.sc-calcite-label{-webkit-animation-name:in-up;animation-name:in-up}/*!@.calcite-animate__in-scale*/.calcite-animate__in-scale.sc-calcite-label{-webkit-animation-name:in-scale;animation-name:in-scale}/*!@:root*/.sc-calcite-label:root{--calcite-popper-transition:150ms ease-in-out}/*!@:host([hidden])*/[hidden].sc-calcite-label-h{display:none}/*!@:host([alignment=start]),\n:host([alignment=end]) .calcite--rtl*/[alignment=start].sc-calcite-label-h,[alignment=end].sc-calcite-label-h .calcite--rtl.sc-calcite-label{text-align:left}/*!@:host([alignment=end]),\n:host([alignment=start]) .calcite--rtl*/[alignment=end].sc-calcite-label-h,[alignment=start].sc-calcite-label-h .calcite--rtl.sc-calcite-label{text-align:right}/*!@:host([alignment=center])*/[alignment=center].sc-calcite-label-h{text-align:center}/*!@:host([scale=s]) .container*/[scale=s].sc-calcite-label-h .container.sc-calcite-label{font-size:var(--calcite-font-size--2);line-height:1rem;margin-bottom:0.5rem}/*!@:host([scale=m]) .container*/[scale=m].sc-calcite-label-h .container.sc-calcite-label{font-size:var(--calcite-font-size--1);line-height:1rem;margin-bottom:0.75rem}/*!@:host([scale=l]) .container*/[scale=l].sc-calcite-label-h .container.sc-calcite-label{font-size:var(--calcite-font-size-0);line-height:1.25rem;margin-bottom:1rem}/*!@:host .container*/.sc-calcite-label-h .container.sc-calcite-label{color:var(--calcite-ui-text-1);cursor:pointer;width:100%;margin-top:0;margin-right:0;margin-left:0;line-height:1.375}/*!@:host([layout=default]) .container*/[layout=default].sc-calcite-label-h .container.sc-calcite-label{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;grid-gap:0.25rem;gap:0.25rem}/*!@:host([layout=inline]) .container,\n:host([layout=inline-space-between]) .container*/[layout=inline].sc-calcite-label-h .container.sc-calcite-label,[layout=inline-space-between].sc-calcite-label-h .container.sc-calcite-label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;grid-gap:0.5rem;gap:0.5rem}/*!@:host([layout=inline][scale=l]) .container*/[layout=inline][scale=l].sc-calcite-label-h .container.sc-calcite-label{grid-gap:0.75rem;gap:0.75rem}/*!@:host([layout=inline-space-between]) .container*/[layout=inline-space-between].sc-calcite-label-h .container.sc-calcite-label{-ms-flex-pack:justify;justify-content:space-between}/*!@:host([disabled]) > .container*/[disabled].sc-calcite-label-h>.container.sc-calcite-label{pointer-events:none;opacity:var(--calcite-ui-opacity-disabled)}/*!@:host([disabled]) ::slotted(*)*/.sc-calcite-label-h[disabled] .sc-calcite-label-s>*{pointer-events:none}/*!@:host([disabled]) ::slotted(*[disabled]),\n:host([disabled]) ::slotted(*[disabled] *)*/.sc-calcite-label-h[disabled] .sc-calcite-label-s>*[disabled],.sc-calcite-label-h[disabled] .sc-calcite-label-s>*[disabled] *{--bg-opacity:1}/*!@:host([disabled]) ::slotted(calcite-input-message:not([active]))*/.sc-calcite-label-h[disabled] .sc-calcite-label-s>calcite-input-message:not([active]){--bg-opacity:0}/*!@:host([disable-spacing]) .container*/[disable-spacing].sc-calcite-label-h .container.sc-calcite-label{grid-gap:0;gap:0;margin:0}";
20217
+ const calciteLabelCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}/*!@:root*/.sc-calcite-label:root{--calcite-animation-timing:300ms}/*!@.calcite-animate*/.calcite-animate.sc-calcite-label{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}/*!@.calcite-animate__in*/.calcite-animate__in.sc-calcite-label{-webkit-animation-name:in;animation-name:in}/*!@.calcite-animate__in-down*/.calcite-animate__in-down.sc-calcite-label{-webkit-animation-name:in-down;animation-name:in-down}/*!@.calcite-animate__in-up*/.calcite-animate__in-up.sc-calcite-label{-webkit-animation-name:in-up;animation-name:in-up}/*!@.calcite-animate__in-scale*/.calcite-animate__in-scale.sc-calcite-label{-webkit-animation-name:in-scale;animation-name:in-scale}/*!@:root*/.sc-calcite-label:root{--calcite-popper-transition:150ms ease-in-out}/*!@:host([hidden])*/[hidden].sc-calcite-label-h{display:none}/*!@:host([alignment=start]),\n:host([alignment=end]) .calcite--rtl*/[alignment=start].sc-calcite-label-h,[alignment=end].sc-calcite-label-h .calcite--rtl.sc-calcite-label{text-align:left}/*!@:host([alignment=end]),\n:host([alignment=start]) .calcite--rtl*/[alignment=end].sc-calcite-label-h,[alignment=start].sc-calcite-label-h .calcite--rtl.sc-calcite-label{text-align:right}/*!@:host([alignment=center])*/[alignment=center].sc-calcite-label-h{text-align:center}/*!@:host([scale=s]) .container*/[scale=s].sc-calcite-label-h .container.sc-calcite-label{font-size:var(--calcite-font-size--2);line-height:1rem;margin-bottom:0.5rem}/*!@:host([scale=m]) .container*/[scale=m].sc-calcite-label-h .container.sc-calcite-label{font-size:var(--calcite-font-size--1);line-height:1rem;margin-bottom:0.75rem}/*!@:host([scale=l]) .container*/[scale=l].sc-calcite-label-h .container.sc-calcite-label{font-size:var(--calcite-font-size-0);line-height:1.25rem;margin-bottom:1rem}/*!@:host .container*/.sc-calcite-label-h .container.sc-calcite-label{color:var(--calcite-ui-text-1);width:100%;margin-top:0;margin-right:0;margin-left:0;line-height:1.375}/*!@:host([layout=default]) .container*/[layout=default].sc-calcite-label-h .container.sc-calcite-label{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;grid-gap:0.25rem;gap:0.25rem}/*!@:host([layout=inline]) .container,\n:host([layout=inline-space-between]) .container*/[layout=inline].sc-calcite-label-h .container.sc-calcite-label,[layout=inline-space-between].sc-calcite-label-h .container.sc-calcite-label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;grid-gap:0.5rem;gap:0.5rem}/*!@:host([layout=inline][scale=l]) .container*/[layout=inline][scale=l].sc-calcite-label-h .container.sc-calcite-label{grid-gap:0.75rem;gap:0.75rem}/*!@:host([layout=inline-space-between]) .container*/[layout=inline-space-between].sc-calcite-label-h .container.sc-calcite-label{-ms-flex-pack:justify;justify-content:space-between}/*!@:host([disabled]) > .container*/[disabled].sc-calcite-label-h>.container.sc-calcite-label{pointer-events:none;opacity:var(--calcite-ui-opacity-disabled)}/*!@:host([disabled]) ::slotted(*)*/.sc-calcite-label-h[disabled] .sc-calcite-label-s>*{pointer-events:none}/*!@:host([disabled]) ::slotted(*[disabled]),\n:host([disabled]) ::slotted(*[disabled] *)*/.sc-calcite-label-h[disabled] .sc-calcite-label-s>*[disabled],.sc-calcite-label-h[disabled] .sc-calcite-label-s>*[disabled] *{--bg-opacity:1}/*!@:host([disabled]) ::slotted(calcite-input-message:not([active]))*/.sc-calcite-label-h[disabled] .sc-calcite-label-s>calcite-input-message:not([active]){--bg-opacity:0}/*!@:host([disable-spacing]) .container*/[disable-spacing].sc-calcite-label-h .container.sc-calcite-label{grid-gap:0;gap:0;margin:0}";
20104
20218
 
20105
20219
  /**
20106
20220
  * @slot - A slot for adding text and a component that can be labeled.
@@ -21099,8 +21213,10 @@ class CalciteOption {
21099
21213
  var _a;
21100
21214
  this.ensureTextContentDependentProps();
21101
21215
  (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el, {
21216
+ attributeFilter: ["label", "value"],
21217
+ characterData: true,
21102
21218
  childList: true,
21103
- attributeFilter: ["label", "value"]
21219
+ subtree: true
21104
21220
  });
21105
21221
  }
21106
21222
  disconnectedCallback() {
@@ -22755,66 +22871,11 @@ class CalciteProgress {
22755
22871
  }; }
22756
22872
  }
22757
22873
 
22758
- const calciteRadioCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}/*!@:root*/.sc-calcite-radio:root{--calcite-animation-timing:300ms}/*!@.calcite-animate*/.calcite-animate.sc-calcite-radio{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}/*!@.calcite-animate__in*/.calcite-animate__in.sc-calcite-radio{-webkit-animation-name:in;animation-name:in}/*!@.calcite-animate__in-down*/.calcite-animate__in-down.sc-calcite-radio{-webkit-animation-name:in-down;animation-name:in-down}/*!@.calcite-animate__in-up*/.calcite-animate__in-up.sc-calcite-radio{-webkit-animation-name:in-up;animation-name:in-up}/*!@.calcite-animate__in-scale*/.calcite-animate__in-scale.sc-calcite-radio{-webkit-animation-name:in-scale;animation-name:in-scale}/*!@:root*/.sc-calcite-radio:root{--calcite-popper-transition:150ms ease-in-out}/*!@:host([hidden])*/[hidden].sc-calcite-radio-h{display:none}/*!@:host*/.sc-calcite-radio-h{display:block}/*!@:host .radio*/.sc-calcite-radio-h .radio.sc-calcite-radio{background-color:var(--calcite-ui-foreground-1);border-radius:9999px;cursor:pointer;-webkit-transition-property:all;transition-property:all;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input);box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input)}/*!@:host([hovered]) .radio,\n:host(:not([checked])[focused]) .radio*/[hovered].sc-calcite-radio-h .radio.sc-calcite-radio,.sc-calcite-radio-h:not([checked])[focused] .radio.sc-calcite-radio{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand)}/*!@:host([disabled]) .radio*/[disabled].sc-calcite-radio-h .radio.sc-calcite-radio{cursor:default;opacity:var(--calcite-ui-opacity-disabled)}/*!@:host([hovered][disabled]) .radio*/[hovered][disabled].sc-calcite-radio-h .radio.sc-calcite-radio{-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input);box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input)}/*!@:host([scale=s])*/[scale=s].sc-calcite-radio-h{--calcite-radio-size:var(--calcite-font-size--2)}/*!@:host([scale=m])*/[scale=m].sc-calcite-radio-h{--calcite-radio-size:var(--calcite-font-size--1)}/*!@:host([scale=l])*/[scale=l].sc-calcite-radio-h{--calcite-radio-size:var(--calcite-font-size-0)}/*!@.radio*/.radio.sc-calcite-radio{height:var(--calcite-radio-size);max-width:var(--calcite-radio-size);min-width:var(--calcite-radio-size)}/*!@:host([scale=s][checked]) .radio,\n:host([hovered][scale=s][checked][disabled]) .radio*/[scale=s][checked].sc-calcite-radio-h .radio.sc-calcite-radio,[hovered][scale=s][checked][disabled].sc-calcite-radio-h .radio.sc-calcite-radio{-webkit-box-shadow:inset 0 0 0 4px var(--calcite-ui-brand);box-shadow:inset 0 0 0 4px var(--calcite-ui-brand)}/*!@:host([scale=s][focused][checked]) .radio*/[scale=s][focused][checked].sc-calcite-radio-h .radio.sc-calcite-radio{-webkit-box-shadow:inset 0 0 0 4px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);box-shadow:inset 0 0 0 4px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand)}/*!@:host([scale=m][checked]) .radio,\n:host([hovered][scale=m][checked][disabled]) .radio*/[scale=m][checked].sc-calcite-radio-h .radio.sc-calcite-radio,[hovered][scale=m][checked][disabled].sc-calcite-radio-h .radio.sc-calcite-radio{-webkit-box-shadow:inset 0 0 0 5px var(--calcite-ui-brand);box-shadow:inset 0 0 0 5px var(--calcite-ui-brand)}/*!@:host([scale=m][focused][checked]) .radio*/[scale=m][focused][checked].sc-calcite-radio-h .radio.sc-calcite-radio{-webkit-box-shadow:inset 0 0 0 5px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);box-shadow:inset 0 0 0 5px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand)}/*!@:host([scale=l][checked]) .radio,\n:host([hovered][scale=l][checked][disabled]) .radio*/[scale=l][checked].sc-calcite-radio-h .radio.sc-calcite-radio,[hovered][scale=l][checked][disabled].sc-calcite-radio-h .radio.sc-calcite-radio{-webkit-box-shadow:inset 0 0 0 6px var(--calcite-ui-brand);box-shadow:inset 0 0 0 6px var(--calcite-ui-brand)}/*!@:host([scale=l][focused][checked]) .radio*/[scale=l][focused][checked].sc-calcite-radio-h .radio.sc-calcite-radio{-webkit-box-shadow:inset 0 0 0 6px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);box-shadow:inset 0 0 0 6px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand)}/*!@:host([hidden])*/[hidden].sc-calcite-radio-h{display:none}";
22759
-
22760
- class CalciteRadio {
22761
- constructor(hostRef) {
22762
- registerInstance(this, hostRef);
22763
- //--------------------------------------------------------------------------
22764
- //
22765
- // Properties
22766
- //
22767
- //--------------------------------------------------------------------------
22768
- /** The checked state of the radio. */
22769
- this.checked = false;
22770
- /** The disabled state of the radio. */
22771
- this.disabled = false;
22772
- /**
22773
- * The focused state of the radio.
22774
- * @internal
22775
- */
22776
- this.focused = false;
22777
- /** The radio's hidden status. */
22778
- this.hidden = false;
22779
- /**
22780
- * The hovered state of the radio.
22781
- * @internal
22782
- */
22783
- this.hovered = false;
22784
- /** The scale (size) of the radio. */
22785
- this.scale = "m";
22786
- }
22787
- // --------------------------------------------------------------------------
22788
- //
22789
- // Render Methods
22790
- //
22791
- // --------------------------------------------------------------------------
22792
- render() {
22793
- return hAsync("div", { class: "radio" });
22794
- }
22795
- static get style() { return calciteRadioCss; }
22796
- static get cmpMeta() { return {
22797
- "$flags$": 9,
22798
- "$tagName$": "calcite-radio",
22799
- "$members$": {
22800
- "checked": [516],
22801
- "disabled": [516],
22802
- "focused": [516],
22803
- "hidden": [516],
22804
- "hovered": [516],
22805
- "scale": [513]
22806
- },
22807
- "$listeners$": undefined,
22808
- "$lazyBundleId$": "-",
22809
- "$attrsToReflect$": [["checked", "checked"], ["disabled", "disabled"], ["focused", "focused"], ["hidden", "hidden"], ["hovered", "hovered"], ["scale", "scale"]]
22810
- }; }
22811
- }
22812
-
22813
22874
  const CSS$e = {
22814
22875
  container: "container"
22815
22876
  };
22816
22877
 
22817
- const calciteRadioButtonCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}/*!@:root*/.sc-calcite-radio-button:root{--calcite-animation-timing:300ms}/*!@.calcite-animate*/.calcite-animate.sc-calcite-radio-button{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}/*!@.calcite-animate__in*/.calcite-animate__in.sc-calcite-radio-button{-webkit-animation-name:in;animation-name:in}/*!@.calcite-animate__in-down*/.calcite-animate__in-down.sc-calcite-radio-button{-webkit-animation-name:in-down;animation-name:in-down}/*!@.calcite-animate__in-up*/.calcite-animate__in-up.sc-calcite-radio-button{-webkit-animation-name:in-up;animation-name:in-up}/*!@.calcite-animate__in-scale*/.calcite-animate__in-scale.sc-calcite-radio-button{-webkit-animation-name:in-scale;animation-name:in-scale}/*!@:root*/.sc-calcite-radio-button:root{--calcite-popper-transition:150ms ease-in-out}/*!@:host([hidden])*/[hidden].sc-calcite-radio-button-h{display:none}/*!@:host*/.sc-calcite-radio-button-h{cursor:pointer;display:block}/*!@:host .container*/.sc-calcite-radio-button-h .container.sc-calcite-radio-button{position:relative;outline:2px solid transparent;outline-offset:2px}/*!@:host([disabled])*/[disabled].sc-calcite-radio-button-h{cursor:pointer}/*!@::slotted(input[slot=hidden-form-input])*/.sc-calcite-radio-button-s>input[slot=hidden-form-input]{bottom:0 !important;left:0 !important;margin:0 !important;opacity:0 !important;outline:none !important;padding:0 !important;position:absolute !important;right:0 !important;top:0 !important;-webkit-transform:none !important;transform:none !important;-webkit-appearance:none !important;z-index:-1 !important}";
22878
+ const calciteRadioButtonCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}/*!@:root*/.sc-calcite-radio-button:root{--calcite-animation-timing:300ms}/*!@.calcite-animate*/.calcite-animate.sc-calcite-radio-button{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}/*!@.calcite-animate__in*/.calcite-animate__in.sc-calcite-radio-button{-webkit-animation-name:in;animation-name:in}/*!@.calcite-animate__in-down*/.calcite-animate__in-down.sc-calcite-radio-button{-webkit-animation-name:in-down;animation-name:in-down}/*!@.calcite-animate__in-up*/.calcite-animate__in-up.sc-calcite-radio-button{-webkit-animation-name:in-up;animation-name:in-up}/*!@.calcite-animate__in-scale*/.calcite-animate__in-scale.sc-calcite-radio-button{-webkit-animation-name:in-scale;animation-name:in-scale}/*!@:root*/.sc-calcite-radio-button:root{--calcite-popper-transition:150ms ease-in-out}/*!@:host([hidden])*/[hidden].sc-calcite-radio-button-h{display:none}/*!@:host*/.sc-calcite-radio-button-h{cursor:pointer;display:block}/*!@:host .container*/.sc-calcite-radio-button-h .container.sc-calcite-radio-button{position:relative;outline:2px solid transparent;outline-offset:2px}/*!@:host .radio*/.sc-calcite-radio-button-h .radio.sc-calcite-radio-button{background-color:var(--calcite-ui-foreground-1);border-radius:9999px;cursor:pointer;-webkit-transition-property:all;transition-property:all;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input);box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input)}/*!@:host([hovered]) .radio,\n:host(:not([checked])[focused]) .radio*/[hovered].sc-calcite-radio-button-h .radio.sc-calcite-radio-button,.sc-calcite-radio-button-h:not([checked])[focused] .radio.sc-calcite-radio-button{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand)}/*!@:host([disabled])*/[disabled].sc-calcite-radio-button-h{cursor:pointer}/*!@:host([disabled]) .radio*/[disabled].sc-calcite-radio-button-h .radio.sc-calcite-radio-button{cursor:default;opacity:var(--calcite-ui-opacity-disabled)}/*!@:host([hovered][disabled]) .radio*/[hovered][disabled].sc-calcite-radio-button-h .radio.sc-calcite-radio-button{-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input);box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input)}/*!@:host([scale=s])*/[scale=s].sc-calcite-radio-button-h{--calcite-radio-size:var(--calcite-font-size--2)}/*!@:host([scale=m])*/[scale=m].sc-calcite-radio-button-h{--calcite-radio-size:var(--calcite-font-size--1)}/*!@:host([scale=l])*/[scale=l].sc-calcite-radio-button-h{--calcite-radio-size:var(--calcite-font-size-0)}/*!@.radio*/.radio.sc-calcite-radio-button{height:var(--calcite-radio-size);max-width:var(--calcite-radio-size);min-width:var(--calcite-radio-size)}/*!@:host([scale=s][checked]) .radio,\n:host([hovered][scale=s][checked][disabled]) .radio*/[scale=s][checked].sc-calcite-radio-button-h .radio.sc-calcite-radio-button,[hovered][scale=s][checked][disabled].sc-calcite-radio-button-h .radio.sc-calcite-radio-button{-webkit-box-shadow:inset 0 0 0 4px var(--calcite-ui-brand);box-shadow:inset 0 0 0 4px var(--calcite-ui-brand)}/*!@:host([scale=s][focused][checked]) .radio*/[scale=s][focused][checked].sc-calcite-radio-button-h .radio.sc-calcite-radio-button{-webkit-box-shadow:inset 0 0 0 4px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);box-shadow:inset 0 0 0 4px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand)}/*!@:host([scale=m][checked]) .radio,\n:host([hovered][scale=m][checked][disabled]) .radio*/[scale=m][checked].sc-calcite-radio-button-h .radio.sc-calcite-radio-button,[hovered][scale=m][checked][disabled].sc-calcite-radio-button-h .radio.sc-calcite-radio-button{-webkit-box-shadow:inset 0 0 0 5px var(--calcite-ui-brand);box-shadow:inset 0 0 0 5px var(--calcite-ui-brand)}/*!@:host([scale=m][focused][checked]) .radio*/[scale=m][focused][checked].sc-calcite-radio-button-h .radio.sc-calcite-radio-button{-webkit-box-shadow:inset 0 0 0 5px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);box-shadow:inset 0 0 0 5px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand)}/*!@:host([scale=l][checked]) .radio,\n:host([hovered][scale=l][checked][disabled]) .radio*/[scale=l][checked].sc-calcite-radio-button-h .radio.sc-calcite-radio-button,[hovered][scale=l][checked][disabled].sc-calcite-radio-button-h .radio.sc-calcite-radio-button{-webkit-box-shadow:inset 0 0 0 6px var(--calcite-ui-brand);box-shadow:inset 0 0 0 6px var(--calcite-ui-brand)}/*!@:host([scale=l][focused][checked]) .radio*/[scale=l][focused][checked].sc-calcite-radio-button-h .radio.sc-calcite-radio-button{-webkit-box-shadow:inset 0 0 0 6px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);box-shadow:inset 0 0 0 6px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand)}/*!@::slotted(input[slot=hidden-form-input])*/.sc-calcite-radio-button-s>input[slot=hidden-form-input]{bottom:0 !important;left:0 !important;margin:0 !important;opacity:0 !important;outline:none !important;padding:0 !important;position:absolute !important;right:0 !important;top:0 !important;-webkit-transform:none !important;transform:none !important;-webkit-appearance:none !important;z-index:-1 !important}";
22818
22879
 
22819
22880
  class CalciteRadioButton {
22820
22881
  constructor(hostRef) {
@@ -23044,7 +23105,7 @@ class CalciteRadioButton {
23044
23105
  //
23045
23106
  // --------------------------------------------------------------------------
23046
23107
  render() {
23047
- return (hAsync(Host, { onClick: this.clickHandler, onKeyDown: this.handleKeyDown }, hAsync("div", { "aria-checked": this.checked.toString(), "aria-label": getLabelText(this), class: CSS$e.container, onBlur: this.onContainerBlur, onFocus: this.onContainerFocus, ref: this.setContainerEl, role: "radio", tabIndex: this.checked || this.isDefaultSelectable() ? 0 : -1 }, hAsync("calcite-radio", { checked: this.checked, disabled: this.disabled, focused: this.focused, hidden: this.hidden, hovered: this.hovered, scale: this.scale })), hAsync(HiddenFormInputSlot, { component: this })));
23108
+ return (hAsync(Host, { onClick: this.clickHandler, onKeyDown: this.handleKeyDown }, hAsync("div", { "aria-checked": this.checked.toString(), "aria-label": getLabelText(this), class: CSS$e.container, onBlur: this.onContainerBlur, onFocus: this.onContainerFocus, ref: this.setContainerEl, role: "radio", tabIndex: this.checked || this.isDefaultSelectable() ? 0 : -1 }, hAsync("div", { class: "radio" })), hAsync(HiddenFormInputSlot, { component: this })));
23048
23109
  }
23049
23110
  get el() { return getElement(this); }
23050
23111
  static get watchers() { return {
@@ -29853,26 +29914,32 @@ class CalciteTileSelectGroup {
29853
29914
  }
29854
29915
 
29855
29916
  const CSS$5 = {
29917
+ button: "button",
29856
29918
  buttonBottomLeft: "button--bottom-left",
29857
29919
  buttonBottomRight: "button--bottom-right",
29858
- button: "button",
29859
- delimiter: "delimiter",
29860
- hour: "hour",
29861
29920
  buttonHourDown: "button--hour-down",
29862
29921
  buttonHourUp: "button--hour-up",
29863
- input: "input",
29864
- meridiem: "meridiem",
29865
29922
  buttonMeridiemDown: "button--meridiem-down",
29866
29923
  buttonMeridiemUp: "button--meridiem-up",
29867
- minute: "minute",
29868
29924
  buttonMinuteDown: "button--minute-down",
29869
29925
  buttonMinuteUp: "button--minute-up",
29870
- second: "second",
29871
29926
  buttonSecondDown: "button--second-down",
29872
29927
  buttonSecondUp: "button--second-up",
29873
- timePicker: "time-picker",
29874
29928
  buttonTopLeft: "button--top-left",
29875
- buttonTopRight: "button--top-right"
29929
+ buttonTopRight: "button--top-right",
29930
+ column: "column",
29931
+ delimiter: "delimiter",
29932
+ hour: "hour",
29933
+ input: "input",
29934
+ meridiem: "meridiem",
29935
+ minute: "minute",
29936
+ second: "second",
29937
+ showMeridiem: "show-meridiem",
29938
+ showSecond: "show-second",
29939
+ "scale-s": "scale-s",
29940
+ "scale-m": "scale-m",
29941
+ "scale-l": "scale-l",
29942
+ timePicker: "time-picker"
29876
29943
  };
29877
29944
  const TEXT$2 = {
29878
29945
  hour: "Hour",
@@ -29889,8 +29956,11 @@ const TEXT$2 = {
29889
29956
  secondUp: "Increase second"
29890
29957
  };
29891
29958
 
29892
- const calciteTimePickerCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}/*!@:root*/.sc-calcite-time-picker:root{--calcite-animation-timing:300ms}/*!@.calcite-animate*/.calcite-animate.sc-calcite-time-picker{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}/*!@.calcite-animate__in*/.calcite-animate__in.sc-calcite-time-picker{-webkit-animation-name:in;animation-name:in}/*!@.calcite-animate__in-down*/.calcite-animate__in-down.sc-calcite-time-picker{-webkit-animation-name:in-down;animation-name:in-down}/*!@.calcite-animate__in-up*/.calcite-animate__in-up.sc-calcite-time-picker{-webkit-animation-name:in-up;animation-name:in-up}/*!@.calcite-animate__in-scale*/.calcite-animate__in-scale.sc-calcite-time-picker{-webkit-animation-name:in-scale;animation-name:in-scale}/*!@:root*/.sc-calcite-time-picker:root{--calcite-popper-transition:150ms ease-in-out}/*!@:host([hidden])*/[hidden].sc-calcite-time-picker-h{display:none}/*!@:host*/.sc-calcite-time-picker-h{color:var(--calcite-ui-text-1);display:inline-block;font-weight:var(--calcite-font-weight-medium);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}/*!@.time-picker*/.time-picker.sc-calcite-time-picker{-webkit-box-shadow:0 6px 20px -4px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.08);box-shadow:0 6px 20px -4px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.08);-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;border-radius:var(--calcite-border-radius)}/*!@span*/span.sc-calcite-time-picker{-ms-flex-align:center;align-items:center;background-color:var(--calcite-ui-foreground-1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center}/*!@span.button*/span.button.sc-calcite-time-picker{cursor:pointer}/*!@span.button:hover, span.button:focus*/span.button.sc-calcite-time-picker:hover,span.button.sc-calcite-time-picker:focus{background-color:var(--calcite-ui-foreground-2)}/*!@span.button:focus*/span.button.sc-calcite-time-picker:focus{outline:2px solid transparent;outline-offset:2px}/*!@span.button:active*/span.button.sc-calcite-time-picker:active{background-color:var(--calcite-ui-foreground-3)}/*!@span.button.top-left*/span.button.top-left.sc-calcite-time-picker{border-top-left-radius:var(--calcite-border-radius)}/*!@span.button.bottom-left*/span.button.bottom-left.sc-calcite-time-picker{border-bottom-left-radius:var(--calcite-border-radius)}/*!@span.button.top-right*/span.button.top-right.sc-calcite-time-picker{border-top-right-radius:var(--calcite-border-radius)}/*!@span.button.bottom-right*/span.button.bottom-right.sc-calcite-time-picker{border-bottom-right-radius:var(--calcite-border-radius)}/*!@span.button calcite-icon*/span.button.sc-calcite-time-picker calcite-icon.sc-calcite-time-picker{color:var(--calcite-ui-text-3)}/*!@span.input*/span.input.sc-calcite-time-picker{font-weight:var(--calcite-font-weight-medium);position:relative}/*!@span.input:hover*/span.input.sc-calcite-time-picker:hover{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-2);box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-2)}/*!@span.input:focus, span.input:hover:focus*/span.input.sc-calcite-time-picker:focus,span.input.sc-calcite-time-picker:hover:focus{outline:2px solid transparent;outline-offset:2px;-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand)}/*!@:host([scale=s])*/[scale=s].sc-calcite-time-picker-h{font-size:var(--calcite-font-size--1)}/*!@:host([scale=s]) span*/[scale=s].sc-calcite-time-picker-h span.sc-calcite-time-picker{height:24px;width:40px}/*!@:host([scale=s]) .delimiter*/[scale=s].sc-calcite-time-picker-h .delimiter.sc-calcite-time-picker{height:72px}/*!@:host([scale=s][hour-display-format=\"12\"]) .time-picker*/[scale=s][hour-display-format=\"12\"].sc-calcite-time-picker-h .time-picker.sc-calcite-time-picker{width:124.2px}/*!@:host([scale=s][hour-display-format=\"12\"]:not([step=\"60\"])) .time-picker*/[scale=s][hour-display-format=\"12\"].sc-calcite-time-picker-h:not([step=\"60\"]) .time-picker.sc-calcite-time-picker{width:168px}/*!@:host([scale=s][hour-display-format=\"24\"]) .time-picker*/[scale=s][hour-display-format=\"24\"].sc-calcite-time-picker-h .time-picker.sc-calcite-time-picker{width:84.2px}/*!@:host([scale=s][hour-display-format=\"24\"]:not([step=\"60\"])) .time-picker*/[scale=s][hour-display-format=\"24\"].sc-calcite-time-picker-h:not([step=\"60\"]) .time-picker.sc-calcite-time-picker{width:128.4px}/*!@:host([scale=m])*/[scale=m].sc-calcite-time-picker-h{font-size:var(--calcite-font-size-0)}/*!@:host([scale=m]) span*/[scale=m].sc-calcite-time-picker-h span.sc-calcite-time-picker{height:32px;width:44px}/*!@:host([scale=m]) .delimiter*/[scale=m].sc-calcite-time-picker-h .delimiter.sc-calcite-time-picker{height:96px}/*!@:host([scale=m][hour-display-format=\"12\"]) .time-picker*/[scale=m][hour-display-format=\"12\"].sc-calcite-time-picker-h .time-picker.sc-calcite-time-picker{width:136.8px}/*!@:host([scale=m][hour-display-format=\"12\"]:not([step=\"60\"])) .time-picker*/[scale=m][hour-display-format=\"12\"].sc-calcite-time-picker-h:not([step=\"60\"]) .time-picker.sc-calcite-time-picker{width:186px}/*!@:host([scale=m][hour-display-format=\"24\"]) .time-picker*/[scale=m][hour-display-format=\"24\"].sc-calcite-time-picker-h .time-picker.sc-calcite-time-picker{width:92.8px}/*!@:host([scale=m][hour-display-format=\"24\"]:not([step=\"60\"])) .time-picker*/[scale=m][hour-display-format=\"24\"].sc-calcite-time-picker-h:not([step=\"60\"]) .time-picker.sc-calcite-time-picker{width:141.6px}/*!@:host([scale=l])*/[scale=l].sc-calcite-time-picker-h{font-size:var(--calcite-font-size-1)}/*!@:host([scale=l]) span*/[scale=l].sc-calcite-time-picker-h span.sc-calcite-time-picker{height:48px;width:64px}/*!@:host([scale=l]) .delimiter*/[scale=l].sc-calcite-time-picker-h .delimiter.sc-calcite-time-picker{height:144px}/*!@:host([scale=l][hour-display-format=\"12\"]) .time-picker*/[scale=l][hour-display-format=\"12\"].sc-calcite-time-picker-h .time-picker.sc-calcite-time-picker{width:198px}/*!@:host([scale=l][hour-display-format=\"12\"]:not([step=\"60\"])) .time-picker*/[scale=l][hour-display-format=\"12\"].sc-calcite-time-picker-h:not([step=\"60\"]) .time-picker.sc-calcite-time-picker{width:268px}/*!@:host([scale=l][hour-display-format=\"24\"]) .time-picker*/[scale=l][hour-display-format=\"24\"].sc-calcite-time-picker-h .time-picker.sc-calcite-time-picker{width:134px}/*!@:host([scale=l][hour-display-format=\"24\"]:not([step=\"60\"])) .time-picker*/[scale=l][hour-display-format=\"24\"].sc-calcite-time-picker-h:not([step=\"60\"]) .time-picker.sc-calcite-time-picker{width:204px}";
29959
+ const calciteTimePickerCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}/*!@:root*/.sc-calcite-time-picker:root{--calcite-animation-timing:300ms}/*!@.calcite-animate*/.calcite-animate.sc-calcite-time-picker{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}/*!@.calcite-animate__in*/.calcite-animate__in.sc-calcite-time-picker{-webkit-animation-name:in;animation-name:in}/*!@.calcite-animate__in-down*/.calcite-animate__in-down.sc-calcite-time-picker{-webkit-animation-name:in-down;animation-name:in-down}/*!@.calcite-animate__in-up*/.calcite-animate__in-up.sc-calcite-time-picker{-webkit-animation-name:in-up;animation-name:in-up}/*!@.calcite-animate__in-scale*/.calcite-animate__in-scale.sc-calcite-time-picker{-webkit-animation-name:in-scale;animation-name:in-scale}/*!@:root*/.sc-calcite-time-picker:root{--calcite-popper-transition:150ms ease-in-out}/*!@:host([hidden])*/[hidden].sc-calcite-time-picker-h{display:none}/*!@:host*/.sc-calcite-time-picker-h{display:inline-block}/*!@.time-picker*/.time-picker.sc-calcite-time-picker{background-color:var(--calcite-ui-foreground-1);display:-ms-flexbox;display:flex;font-weight:var(--calcite-font-weight-medium);-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-shadow:0 6px 20px -4px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.08);box-shadow:0 6px 20px -4px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.08);color:var(--calcite-ui-text-1);border-radius:var(--calcite-border-radius)}/*!@.time-picker .column*/.time-picker.sc-calcite-time-picker .column.sc-calcite-time-picker{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}/*!@.time-picker .button*/.time-picker.sc-calcite-time-picker .button.sc-calcite-time-picker{background-color:var(--calcite-ui-foreground-1);cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}/*!@.time-picker .button:hover, .time-picker .button:focus*/.time-picker.sc-calcite-time-picker .button.sc-calcite-time-picker:hover,.time-picker.sc-calcite-time-picker .button.sc-calcite-time-picker:focus{background-color:var(--calcite-ui-foreground-2);outline:2px solid transparent;outline-offset:2px}/*!@.time-picker .button:active*/.time-picker.sc-calcite-time-picker .button.sc-calcite-time-picker:active{background-color:var(--calcite-ui-foreground-3)}/*!@.time-picker .button.top-left*/.time-picker.sc-calcite-time-picker .button.top-left.sc-calcite-time-picker{border-top-left-radius:var(--calcite-border-radius)}/*!@.time-picker .button.bottom-left*/.time-picker.sc-calcite-time-picker .button.bottom-left.sc-calcite-time-picker{border-bottom-left-radius:var(--calcite-border-radius)}/*!@.time-picker .button.top-right*/.time-picker.sc-calcite-time-picker .button.top-right.sc-calcite-time-picker{border-top-right-radius:var(--calcite-border-radius)}/*!@.time-picker .button.bottom-right*/.time-picker.sc-calcite-time-picker .button.bottom-right.sc-calcite-time-picker{border-bottom-right-radius:var(--calcite-border-radius)}/*!@.time-picker .button calcite-icon*/.time-picker.sc-calcite-time-picker .button.sc-calcite-time-picker calcite-icon.sc-calcite-time-picker{color:var(--calcite-ui-text-3)}/*!@.time-picker .input*/.time-picker.sc-calcite-time-picker .input.sc-calcite-time-picker{background-color:var(--calcite-ui-foreground-1);cursor:pointer;font-weight:var(--calcite-font-weight-medium);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}/*!@.time-picker .input:hover*/.time-picker.sc-calcite-time-picker .input.sc-calcite-time-picker:hover{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-2);box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-2)}/*!@.time-picker .input:focus, .time-picker .input:hover:focus*/.time-picker.sc-calcite-time-picker .input.sc-calcite-time-picker:focus,.time-picker.sc-calcite-time-picker .input.sc-calcite-time-picker:hover:focus{outline:2px solid transparent;outline-offset:2px;-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand)}/*!@.time-picker.scale-s*/.time-picker.scale-s.sc-calcite-time-picker{font-size:var(--calcite-font-size--1)}/*!@.time-picker.scale-s .button,\n.time-picker.scale-s .input*/.time-picker.scale-s.sc-calcite-time-picker .button.sc-calcite-time-picker,.time-picker.scale-s.sc-calcite-time-picker .input.sc-calcite-time-picker{padding-left:0.75rem;padding-right:0.75rem;padding-top:0.25rem;padding-bottom:0.25rem}/*!@.time-picker.scale-s:not(.show-meridiem) .delimiter:last-child*/.time-picker.scale-s.sc-calcite-time-picker:not(.show-meridiem) .delimiter.sc-calcite-time-picker:last-child{-webkit-padding-end:0.75rem;padding-inline-end:0.75rem}/*!@.time-picker.scale-m*/.time-picker.scale-m.sc-calcite-time-picker{font-size:var(--calcite-font-size-0)}/*!@.time-picker.scale-m .button,\n.time-picker.scale-m .input*/.time-picker.scale-m.sc-calcite-time-picker .button.sc-calcite-time-picker,.time-picker.scale-m.sc-calcite-time-picker .input.sc-calcite-time-picker{padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem}/*!@.time-picker.scale-m:not(.show-meridiem) .delimiter:last-child*/.time-picker.scale-m.sc-calcite-time-picker:not(.show-meridiem) .delimiter.sc-calcite-time-picker:last-child{-webkit-padding-end:1rem;padding-inline-end:1rem}/*!@.time-picker.scale-l*/.time-picker.scale-l.sc-calcite-time-picker{font-size:var(--calcite-font-size-1)}/*!@.time-picker.scale-l .button,\n.time-picker.scale-l .input*/.time-picker.scale-l.sc-calcite-time-picker .button.sc-calcite-time-picker,.time-picker.scale-l.sc-calcite-time-picker .input.sc-calcite-time-picker{padding-left:1.25rem;padding-right:1.25rem;padding-top:0.75rem;padding-bottom:0.75rem}/*!@.time-picker.scale-l:not(.show-meridiem) .delimiter:last-child*/.time-picker.scale-l.sc-calcite-time-picker:not(.show-meridiem) .delimiter.sc-calcite-time-picker:last-child{-webkit-padding-end:1.25rem;padding-inline-end:1.25rem}";
29893
29960
 
29961
+ function capitalize(str) {
29962
+ return str.charAt(0).toUpperCase() + str.slice(1);
29963
+ }
29894
29964
  class CalciteTimePicker {
29895
29965
  constructor(hostRef) {
29896
29966
  registerInstance(this, hostRef);
@@ -29902,10 +29972,6 @@ class CalciteTimePicker {
29902
29972
  // Properties
29903
29973
  //
29904
29974
  //--------------------------------------------------------------------------
29905
- /** The hour value (24-hour format) */
29906
- this.hour = null;
29907
- /** Format of the hour value (12-hour or 24-hour) (this will be replaced by locale eventually) */
29908
- this.hourDisplayFormat = "12";
29909
29975
  /** aria-label for the hour input
29910
29976
  * @default "Hour"
29911
29977
  */
@@ -29954,35 +30020,25 @@ class CalciteTimePicker {
29954
30020
  * @default "Increase second"
29955
30021
  */
29956
30022
  this.intlSecondUp = TEXT$2.secondUp;
29957
- /** The minute value */
29958
- this.minute = null;
29959
- /** The second value */
29960
- this.second = null;
30023
+ /**
30024
+ * BCP 47 language tag for desired language and country format
30025
+ * @internal
30026
+ */
30027
+ this.locale = document.documentElement.lang || navigator.language || "en";
29961
30028
  /** The scale (size) of the time picker */
29962
30029
  this.scale = "m";
29963
30030
  /** number that specifies the granularity that the value must adhere to */
29964
30031
  this.step = 60;
29965
- this.timeChanged = false;
29966
- // --------------------------------------------------------------------------
29967
- //
29968
- // State
29969
- //
29970
- // --------------------------------------------------------------------------
29971
- /** The am/pm value */
29972
- this.meridiem = null;
29973
- this.displayHour = this.getDisplayHour();
29974
- // --------------------------------------------------------------------------
29975
- //
29976
- // Private Methods
29977
- //
29978
- // --------------------------------------------------------------------------
30032
+ /** The selected time in UTC */
30033
+ this.value = null;
30034
+ this.showSecond = this.step < 60;
29979
30035
  this.decrementHour = () => {
29980
30036
  const newHour = !this.hour ? 0 : this.hour === "00" ? 23 : parseInt(this.hour) - 1;
29981
- this.setTime("hour", newHour);
30037
+ this.setValuePart("hour", newHour);
29982
30038
  };
29983
30039
  this.decrementMeridiem = () => {
29984
30040
  const newMeridiem = this.meridiem === "PM" ? "AM" : "PM";
29985
- this.setTime("meridiem", newMeridiem);
30041
+ this.setValuePart("meridiem", newMeridiem);
29986
30042
  };
29987
30043
  this.decrementMinuteOrSecond = (key) => {
29988
30044
  let newValue;
@@ -29993,7 +30049,7 @@ class CalciteTimePicker {
29993
30049
  else {
29994
30050
  newValue = 59;
29995
30051
  }
29996
- this.setTime(key, newValue);
30052
+ this.setValuePart(key, newValue);
29997
30053
  };
29998
30054
  this.decrementMinute = () => {
29999
30055
  this.decrementMinuteOrSecond("minute");
@@ -30015,7 +30071,7 @@ class CalciteTimePicker {
30015
30071
  const keyAsNumber = parseInt(key);
30016
30072
  let newHour;
30017
30073
  if (isValidNumber(this.hour)) {
30018
- switch (this.hourDisplayFormat) {
30074
+ switch (this.hourCycle) {
30019
30075
  case "12":
30020
30076
  newHour =
30021
30077
  this.hour === "01" && keyAsNumber >= 0 && keyAsNumber <= 2
@@ -30038,13 +30094,13 @@ class CalciteTimePicker {
30038
30094
  else {
30039
30095
  newHour = keyAsNumber;
30040
30096
  }
30041
- this.setTime("hour", newHour);
30097
+ this.setValuePart("hour", newHour);
30042
30098
  }
30043
30099
  else {
30044
30100
  switch (key) {
30045
30101
  case "Backspace":
30046
30102
  case "Delete":
30047
- this.setTime("hour", null);
30103
+ this.setValuePart("hour", null);
30048
30104
  break;
30049
30105
  case "ArrowDown":
30050
30106
  event.preventDefault();
@@ -30068,7 +30124,7 @@ class CalciteTimePicker {
30068
30124
  };
30069
30125
  this.incrementMeridiem = () => {
30070
30126
  const newMeridiem = this.meridiem === "AM" ? "PM" : "AM";
30071
- this.setTime("meridiem", newMeridiem);
30127
+ this.setValuePart("meridiem", newMeridiem);
30072
30128
  };
30073
30129
  this.incrementHour = () => {
30074
30130
  const newHour = isValidNumber(this.hour)
@@ -30076,7 +30132,7 @@ class CalciteTimePicker {
30076
30132
  ? 0
30077
30133
  : parseInt(this.hour) + 1
30078
30134
  : 1;
30079
- this.setTime("hour", newHour);
30135
+ this.setValuePart("hour", newHour);
30080
30136
  };
30081
30137
  this.incrementMinuteOrSecond = (key) => {
30082
30138
  const newValue = isValidNumber(this[key])
@@ -30084,7 +30140,7 @@ class CalciteTimePicker {
30084
30140
  ? 0
30085
30141
  : parseInt(this[key]) + 1
30086
30142
  : 0;
30087
- this.setTime(key, newValue);
30143
+ this.setValuePart(key, newValue);
30088
30144
  };
30089
30145
  this.incrementMinute = () => {
30090
30146
  this.incrementMinuteOrSecond("minute");
@@ -30100,14 +30156,14 @@ class CalciteTimePicker {
30100
30156
  this.meridiemKeyDownHandler = (event) => {
30101
30157
  switch (event.key) {
30102
30158
  case "a":
30103
- this.setTime("meridiem", "AM");
30159
+ this.setValuePart("meridiem", "AM");
30104
30160
  break;
30105
30161
  case "p":
30106
- this.setTime("meridiem", "PM");
30162
+ this.setValuePart("meridiem", "PM");
30107
30163
  break;
30108
30164
  case "Backspace":
30109
30165
  case "Delete":
30110
- this.setTime("meridiem", null);
30166
+ this.setValuePart("meridiem", null);
30111
30167
  break;
30112
30168
  case "ArrowUp":
30113
30169
  event.preventDefault();
@@ -30148,13 +30204,13 @@ class CalciteTimePicker {
30148
30204
  else {
30149
30205
  newMinute = keyAsNumber;
30150
30206
  }
30151
- this.setTime("minute", newMinute);
30207
+ this.setValuePart("minute", newMinute);
30152
30208
  }
30153
30209
  else {
30154
30210
  switch (key) {
30155
30211
  case "Backspace":
30156
30212
  case "Delete":
30157
- this.setTime("minute", null);
30213
+ this.setValuePart("minute", null);
30158
30214
  break;
30159
30215
  case "ArrowDown":
30160
30216
  event.preventDefault();
@@ -30196,13 +30252,13 @@ class CalciteTimePicker {
30196
30252
  else {
30197
30253
  newSecond = keyAsNumber;
30198
30254
  }
30199
- this.setTime("second", newSecond);
30255
+ this.setValuePart("second", newSecond);
30200
30256
  }
30201
30257
  else {
30202
30258
  switch (key) {
30203
30259
  case "Backspace":
30204
30260
  case "Delete":
30205
- this.setTime("second", null);
30261
+ this.setValuePart("second", null);
30206
30262
  break;
30207
30263
  case "ArrowDown":
30208
30264
  event.preventDefault();
@@ -30224,59 +30280,96 @@ class CalciteTimePicker {
30224
30280
  this.incrementSecond();
30225
30281
  }
30226
30282
  };
30227
- this.setTime = (key, value, emit = true) => {
30228
- switch (key) {
30229
- default:
30230
- return;
30231
- case "hour":
30232
- this.hour = typeof value === "number" ? formatTimePart(value) : value;
30233
- break;
30234
- case "minute":
30235
- this.minute = typeof value === "number" ? formatTimePart(value) : value;
30236
- break;
30237
- case "second":
30238
- this.second = typeof value === "number" ? formatTimePart(value) : value;
30239
- break;
30240
- case "meridiem":
30241
- if (isValidNumber(this.hour)) {
30242
- const hourAsNumber = parseInt(this.hour);
30243
- switch (value) {
30244
- case "AM":
30245
- if (hourAsNumber >= 12) {
30246
- this.hour = formatTimePart(hourAsNumber - 12);
30247
- }
30248
- break;
30249
- case "PM":
30250
- if (hourAsNumber < 12) {
30251
- this.hour = formatTimePart(hourAsNumber + 12);
30252
- }
30253
- break;
30254
- }
30255
- this.meridiem = value;
30256
- }
30257
- else {
30258
- this.meridiem = value;
30283
+ this.setHourEl = (el) => (this.hourEl = el);
30284
+ this.setMeridiemEl = (el) => (this.meridiemEl = el);
30285
+ this.setMinuteEl = (el) => (this.minuteEl = el);
30286
+ this.setSecondEl = (el) => (this.secondEl = el);
30287
+ this.setValue = (value, emit = true) => {
30288
+ if (isValidTime(value)) {
30289
+ const { hour, minute, second } = parseTimeString(value);
30290
+ const { localizedHour, localizedHourSuffix, localizedMinute, localizedMinuteSuffix, localizedSecond, localizedSecondSuffix, localizedMeridiem } = localizeTimeStringToParts(value, this.locale);
30291
+ this.localizedHour = localizedHour;
30292
+ this.localizedHourSuffix = localizedHourSuffix;
30293
+ this.localizedMinute = localizedMinute;
30294
+ this.localizedMinuteSuffix = localizedMinuteSuffix;
30295
+ this.localizedSecond = localizedSecond;
30296
+ this.localizedSecondSuffix = localizedSecondSuffix;
30297
+ this.hour = hour;
30298
+ this.minute = minute;
30299
+ this.second = second;
30300
+ if (localizedMeridiem) {
30301
+ this.localizedMeridiem = localizedMeridiem;
30302
+ this.meridiem = getMeridiem(this.hour);
30303
+ }
30304
+ }
30305
+ else {
30306
+ this.hour = null;
30307
+ this.localizedHour = null;
30308
+ this.localizedHourSuffix = null;
30309
+ this.localizedMeridiem = null;
30310
+ this.localizedMinute = null;
30311
+ this.localizedMinuteSuffix = null;
30312
+ this.localizedSecond = null;
30313
+ this.localizedSecondSuffix = null;
30314
+ this.meridiem = null;
30315
+ this.minute = null;
30316
+ this.second = null;
30317
+ this.value = null;
30318
+ }
30319
+ if (emit) {
30320
+ this.calciteTimePickerChange.emit();
30321
+ }
30322
+ };
30323
+ this.setValuePart = (key, value, emit = true) => {
30324
+ var _a;
30325
+ if (key === "meridiem") {
30326
+ this.meridiem = value;
30327
+ if (isValidNumber(this.hour)) {
30328
+ const hourAsNumber = parseInt(this.hour);
30329
+ switch (value) {
30330
+ case "AM":
30331
+ if (hourAsNumber >= 12) {
30332
+ this.hour = formatTimePart(hourAsNumber - 12);
30333
+ }
30334
+ break;
30335
+ case "PM":
30336
+ if (hourAsNumber < 12) {
30337
+ this.hour = formatTimePart(hourAsNumber + 12);
30338
+ }
30339
+ break;
30259
30340
  }
30260
- break;
30341
+ this.localizedHour = localizeTimePart(this.hour, "hour", this.locale);
30342
+ }
30261
30343
  }
30262
- this.timeChanged = true;
30344
+ else {
30345
+ this[key] = typeof value === "number" ? formatTimePart(value) : value;
30346
+ this[`localized${capitalize(key)}`] = localizeTimePart(this[key], key, this.locale);
30347
+ }
30348
+ if (this.hour && this.minute) {
30349
+ const showSeconds = this.second && this.showSecond;
30350
+ this.value = `${this.hour}:${this.minute}:${showSeconds ? this.second : "00"}`;
30351
+ }
30352
+ else {
30353
+ this.value = null;
30354
+ }
30355
+ this.localizedMeridiem = this.value
30356
+ ? ((_a = localizeTimeStringToParts(this.value, this.locale)) === null || _a === void 0 ? void 0 : _a.localizedMeridiem) || null
30357
+ : localizeTimePart(this.meridiem, "meridiem", this.locale);
30263
30358
  if (emit) {
30264
- this.calciteTimePickerChange.emit(this.getTime());
30359
+ this.calciteTimePickerChange.emit();
30265
30360
  }
30266
30361
  };
30267
30362
  }
30268
- hourChanged(newHour) {
30269
- if (this.hourDisplayFormat === "12" && isValidNumber(newHour)) {
30270
- this.meridiem = getMeridiem(newHour);
30271
- }
30363
+ localeWatcher(newLocale) {
30364
+ this.hourCycle = getLocaleHourCycle(newLocale);
30365
+ this.setValue(this.value, false);
30272
30366
  }
30273
- timeChangeHandler() {
30274
- const { hour, minute } = this.getTime();
30275
- if (!hour && !minute) {
30276
- this.setTime("meridiem", null, false);
30277
- }
30278
- if (this.timeChanged) {
30279
- this.timeChanged = false;
30367
+ valueWatcher(newValue) {
30368
+ this.setValue(newValue, false);
30369
+ }
30370
+ hourChanged(newHour) {
30371
+ if (this.meridiem && isValidNumber(newHour)) {
30372
+ this.setValuePart("meridiem", getMeridiem(newHour));
30280
30373
  }
30281
30374
  }
30282
30375
  //--------------------------------------------------------------------------
@@ -30307,7 +30400,7 @@ class CalciteTimePicker {
30307
30400
  if (this.step !== 60) {
30308
30401
  this.setFocus("second");
30309
30402
  }
30310
- else if (this.hourDisplayFormat === "12") {
30403
+ else if (this.hourCycle === "12") {
30311
30404
  this.setFocus("meridiem");
30312
30405
  }
30313
30406
  break;
@@ -30319,7 +30412,7 @@ class CalciteTimePicker {
30319
30412
  this.setFocus("minute");
30320
30413
  break;
30321
30414
  case "ArrowRight":
30322
- if (this.hourDisplayFormat === "12") {
30415
+ if (this.hourCycle === "12") {
30323
30416
  this.setFocus("meridiem");
30324
30417
  }
30325
30418
  break;
@@ -30349,6 +30442,11 @@ class CalciteTimePicker {
30349
30442
  var _a;
30350
30443
  (_a = this[`${target || "hour"}El`]) === null || _a === void 0 ? void 0 : _a.focus();
30351
30444
  }
30445
+ // --------------------------------------------------------------------------
30446
+ //
30447
+ // Private Methods
30448
+ //
30449
+ // --------------------------------------------------------------------------
30352
30450
  buttonActivated(event) {
30353
30451
  const key = event.key;
30354
30452
  if (key === " ") {
@@ -30356,40 +30454,14 @@ class CalciteTimePicker {
30356
30454
  }
30357
30455
  return isActivationKey(key);
30358
30456
  }
30359
- getDisplayHour() {
30360
- if (!this.hour) {
30361
- return "--";
30362
- }
30363
- if (this.hourDisplayFormat === "12") {
30364
- return getMeridiemHour(this.hour);
30365
- }
30366
- return this.hour;
30367
- }
30368
- getTime() {
30369
- return {
30370
- hour: this.hour,
30371
- minute: this.minute,
30372
- second: this.second
30373
- };
30374
- }
30375
30457
  // --------------------------------------------------------------------------
30376
30458
  //
30377
30459
  // Lifecycle
30378
30460
  //
30379
30461
  // --------------------------------------------------------------------------
30380
30462
  connectedCallback() {
30381
- if (this.hourDisplayFormat === "12") {
30382
- this.meridiem = getMeridiem(this.hour);
30383
- }
30384
- if (isValidNumber(this.hour)) {
30385
- this.hour = formatTimePart(parseInt(this.hour));
30386
- }
30387
- if (isValidNumber(this.minute)) {
30388
- this.minute = formatTimePart(parseInt(this.minute));
30389
- }
30390
- if (isValidNumber(this.second)) {
30391
- this.second = formatTimePart(parseInt(this.second));
30392
- }
30463
+ this.setValue(this.value, false);
30464
+ this.hourCycle = getLocaleHourCycle(this.locale);
30393
30465
  }
30394
30466
  // --------------------------------------------------------------------------
30395
30467
  //
@@ -30397,66 +30469,69 @@ class CalciteTimePicker {
30397
30469
  //
30398
30470
  // --------------------------------------------------------------------------
30399
30471
  render() {
30400
- const iconScale = this.scale === "s" || this.scale === "m" ? "s" : "m";
30401
- const includeSeconds = this.step !== 60;
30402
30472
  const hourIsNumber = isValidNumber(this.hour);
30473
+ const iconScale = this.scale === "s" || this.scale === "m" ? "s" : "m";
30403
30474
  const minuteIsNumber = isValidNumber(this.minute);
30404
30475
  const secondIsNumber = isValidNumber(this.second);
30405
- return (hAsync(Host, null, hAsync("div", { class: CSS$5.timePicker }, hAsync("div", { role: "group" }, hAsync("span", { "aria-label": this.intlHourUp, class: {
30476
+ const showMeridiem = this.hourCycle === "12";
30477
+ return (hAsync("div", { class: {
30478
+ [CSS$5.timePicker]: true,
30479
+ [CSS$5.showMeridiem]: showMeridiem,
30480
+ [CSS$5.showSecond]: this.showSecond,
30481
+ [CSS$5[`scale-${this.scale}`]]: true
30482
+ } }, hAsync("div", { class: CSS$5.column, role: "group" }, hAsync("span", { "aria-label": this.intlHourUp, class: {
30406
30483
  [CSS$5.button]: true,
30407
30484
  [CSS$5.buttonHourUp]: true,
30408
30485
  [CSS$5.buttonTopLeft]: true
30409
- }, onClick: this.incrementHour, onKeyDown: this.hourUpButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-up", scale: iconScale })), hAsync("span", { "aria-label": this.intlHour, "aria-valuemax": "23", "aria-valuemin": "1", "aria-valuenow": hourIsNumber && parseInt(this.hour), "aria-valuetext": this.hour, class: {
30486
+ }, onClick: this.incrementHour, onKeyDown: this.hourUpButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-up", scale: iconScale })), hAsync("span", { "aria-label": this.intlHour, "aria-valuemax": "23", "aria-valuemin": "1", "aria-valuenow": (hourIsNumber && parseInt(this.hour)) || "0", "aria-valuetext": this.hour, class: {
30410
30487
  [CSS$5.input]: true,
30411
30488
  [CSS$5.hour]: true
30412
- }, onFocus: this.focusHandler, onKeyDown: this.hourKeyDownHandler, ref: (el) => (this.hourEl = el), role: "spinbutton", tabIndex: 0 }, this.getDisplayHour()), hAsync("span", { "aria-label": this.intlHourDown, class: {
30489
+ }, onFocus: this.focusHandler, onKeyDown: this.hourKeyDownHandler, ref: this.setHourEl, role: "spinbutton", tabIndex: 0 }, this.localizedHour || "--"), hAsync("span", { "aria-label": this.intlHourDown, class: {
30413
30490
  [CSS$5.button]: true,
30414
30491
  [CSS$5.buttonHourDown]: true,
30415
30492
  [CSS$5.buttonBottomLeft]: true
30416
- }, onClick: this.decrementHour, onKeyDown: this.hourDownButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-down", scale: iconScale }))), hAsync("span", { class: CSS$5.delimiter }, ":"), hAsync("div", { role: "group" }, hAsync("span", { "aria-label": this.intlMinuteUp, class: {
30493
+ }, onClick: this.decrementHour, onKeyDown: this.hourDownButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-down", scale: iconScale }))), hAsync("span", { class: CSS$5.delimiter }, this.localizedHourSuffix), hAsync("div", { class: CSS$5.column, role: "group" }, hAsync("span", { "aria-label": this.intlMinuteUp, class: {
30417
30494
  [CSS$5.button]: true,
30418
30495
  [CSS$5.buttonMinuteUp]: true
30419
- }, onClick: this.incrementMinute, onKeyDown: this.minuteUpButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-up", scale: iconScale })), hAsync("span", { "aria-label": this.intlMinute, "aria-valuemax": "12", "aria-valuemin": "1", "aria-valuenow": minuteIsNumber && parseInt(this.minute), "aria-valuetext": this.minute, class: {
30496
+ }, onClick: this.incrementMinute, onKeyDown: this.minuteUpButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-up", scale: iconScale })), hAsync("span", { "aria-label": this.intlMinute, "aria-valuemax": "12", "aria-valuemin": "1", "aria-valuenow": (minuteIsNumber && parseInt(this.minute)) || "0", "aria-valuetext": this.minute, class: {
30420
30497
  [CSS$5.input]: true,
30421
30498
  [CSS$5.minute]: true
30422
- }, onFocus: this.focusHandler, onKeyDown: this.minuteKeyDownHandler, ref: (el) => (this.minuteEl = el), role: "spinbutton", tabIndex: 0 }, this.minute ? this.minute : "--"), hAsync("span", { "aria-label": this.intlMinuteDown, class: {
30499
+ }, onFocus: this.focusHandler, onKeyDown: this.minuteKeyDownHandler, ref: this.setMinuteEl, role: "spinbutton", tabIndex: 0 }, this.localizedMinute || "--"), hAsync("span", { "aria-label": this.intlMinuteDown, class: {
30423
30500
  [CSS$5.button]: true,
30424
30501
  [CSS$5.buttonMinuteDown]: true
30425
- }, onClick: this.decrementMinute, onKeyDown: this.minuteDownButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-down", scale: iconScale }))), includeSeconds && hAsync("span", { class: CSS$5.delimiter }, ":"), includeSeconds && (hAsync("div", { role: "group" }, hAsync("span", { "aria-label": this.intlSecondUp, class: {
30502
+ }, onClick: this.decrementMinute, onKeyDown: this.minuteDownButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-down", scale: iconScale }))), this.showSecond && hAsync("span", { class: CSS$5.delimiter }, this.localizedMinuteSuffix), this.showSecond && (hAsync("div", { class: CSS$5.column, role: "group" }, hAsync("span", { "aria-label": this.intlSecondUp, class: {
30426
30503
  [CSS$5.button]: true,
30427
30504
  [CSS$5.buttonSecondUp]: true
30428
- }, onClick: this.incrementSecond, onKeyDown: this.secondUpButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-up", scale: iconScale })), hAsync("span", { "aria-label": this.intlSecond, "aria-valuemax": "59", "aria-valuemin": "0", "aria-valuenow": secondIsNumber && parseInt(this.second), "aria-valuetext": this.second, class: {
30505
+ }, onClick: this.incrementSecond, onKeyDown: this.secondUpButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-up", scale: iconScale })), hAsync("span", { "aria-label": this.intlSecond, "aria-valuemax": "59", "aria-valuemin": "0", "aria-valuenow": (secondIsNumber && parseInt(this.second)) || "0", "aria-valuetext": this.second, class: {
30429
30506
  [CSS$5.input]: true,
30430
30507
  [CSS$5.second]: true
30431
- }, onFocus: this.focusHandler, onKeyDown: this.secondKeyDownHandler, ref: (el) => (this.secondEl = el), role: "spinbutton", tabIndex: 0 }, this.second ? this.second : "--"), hAsync("span", { "aria-label": this.intlSecondDown, class: {
30508
+ }, onFocus: this.focusHandler, onKeyDown: this.secondKeyDownHandler, ref: this.setSecondEl, role: "spinbutton", tabIndex: 0 }, this.localizedSecond || "--"), hAsync("span", { "aria-label": this.intlSecondDown, class: {
30432
30509
  [CSS$5.button]: true,
30433
30510
  [CSS$5.buttonSecondDown]: true
30434
- }, onClick: this.decrementSecond, onKeyDown: this.secondDownButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-down", scale: iconScale })))), this.hourDisplayFormat === "12" && (hAsync("div", { role: "group" }, hAsync("span", { "aria-label": this.intlMeridiemUp, class: {
30511
+ }, onClick: this.decrementSecond, onKeyDown: this.secondDownButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-down", scale: iconScale })))), this.localizedSecondSuffix && (hAsync("span", { class: CSS$5.delimiter }, this.localizedSecondSuffix)), showMeridiem && (hAsync("div", { class: CSS$5.column, role: "group" }, hAsync("span", { "aria-label": this.intlMeridiemUp, class: {
30435
30512
  [CSS$5.button]: true,
30436
30513
  [CSS$5.buttonMeridiemUp]: true,
30437
30514
  [CSS$5.buttonTopRight]: true
30438
- }, onClick: this.incrementMeridiem, onKeyDown: this.meridiemUpButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-up", scale: iconScale })), hAsync("span", { "aria-label": this.intlMeridiem, "aria-valuemax": "2", "aria-valuemin": "1", "aria-valuenow": this.meridiem === "AM" ? "1" : this.meridiem === "PM" ? "2" : undefined, "aria-valuetext": this.meridiem, class: {
30515
+ }, onClick: this.incrementMeridiem, onKeyDown: this.meridiemUpButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-up", scale: iconScale })), hAsync("span", { "aria-label": this.intlMeridiem, "aria-valuemax": "2", "aria-valuemin": "1", "aria-valuenow": (this.meridiem === "PM" && "2") || "1", "aria-valuetext": this.meridiem, class: {
30439
30516
  [CSS$5.input]: true,
30440
30517
  [CSS$5.meridiem]: true
30441
- }, onFocus: this.focusHandler, onKeyDown: this.meridiemKeyDownHandler, ref: (el) => (this.meridiemEl = el), role: "spinbutton", tabIndex: 0 }, this.meridiem ? this.meridiem : "--"), hAsync("span", { "aria-label": this.intlMeridiemDown, class: {
30518
+ }, onFocus: this.focusHandler, onKeyDown: this.meridiemKeyDownHandler, ref: this.setMeridiemEl, role: "spinbutton", tabIndex: 0 }, this.localizedMeridiem || "--"), hAsync("span", { "aria-label": this.intlMeridiemDown, class: {
30442
30519
  [CSS$5.button]: true,
30443
30520
  [CSS$5.buttonMeridiemDown]: true,
30444
30521
  [CSS$5.buttonBottomRight]: true
30445
- }, onClick: this.decrementMeridiem, onKeyDown: this.meridiemDownButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-down", scale: iconScale })))))));
30522
+ }, onClick: this.decrementMeridiem, onKeyDown: this.meridiemDownButtonKeyDownHandler, role: "button", tabIndex: -1 }, hAsync("calcite-icon", { icon: "chevron-down", scale: iconScale }))))));
30446
30523
  }
30447
30524
  get el() { return getElement(this); }
30448
30525
  static get watchers() { return {
30449
- "hour": ["hourChanged", "timeChangeHandler"],
30450
- "minute": ["timeChangeHandler"],
30451
- "second": ["timeChangeHandler"]
30526
+ "locale": ["localeWatcher"],
30527
+ "value": ["valueWatcher"],
30528
+ "hour": ["hourChanged"]
30452
30529
  }; }
30453
30530
  static get style() { return calciteTimePickerCss; }
30454
30531
  static get cmpMeta() { return {
30455
30532
  "$flags$": 9,
30456
30533
  "$tagName$": "calcite-time-picker",
30457
30534
  "$members$": {
30458
- "hour": [1025],
30459
- "hourDisplayFormat": [513, "hour-display-format"],
30460
30535
  "intlHour": [1, "intl-hour"],
30461
30536
  "intlHourDown": [1, "intl-hour-down"],
30462
30537
  "intlHourUp": [1, "intl-hour-up"],
@@ -30469,17 +30544,28 @@ class CalciteTimePicker {
30469
30544
  "intlSecond": [1, "intl-second"],
30470
30545
  "intlSecondDown": [1, "intl-second-down"],
30471
30546
  "intlSecondUp": [1, "intl-second-up"],
30472
- "minute": [1025],
30473
- "second": [1025],
30474
- "scale": [513],
30475
- "step": [514],
30547
+ "locale": [1025, "lang"],
30548
+ "scale": [1],
30549
+ "step": [2],
30550
+ "value": [1025],
30551
+ "hour": [32],
30552
+ "hourCycle": [32],
30553
+ "localizedHour": [32],
30554
+ "localizedHourSuffix": [32],
30555
+ "localizedMeridiem": [32],
30556
+ "localizedMinute": [32],
30557
+ "localizedMinuteSuffix": [32],
30558
+ "localizedSecond": [32],
30559
+ "localizedSecondSuffix": [32],
30476
30560
  "meridiem": [32],
30477
- "displayHour": [32],
30561
+ "minute": [32],
30562
+ "second": [32],
30563
+ "showSecond": [32],
30478
30564
  "setFocus": [64]
30479
30565
  },
30480
30566
  "$listeners$": [[0, "blur", "hostBlurHandler"], [0, "focus", "hostFocusHandler"], [0, "keydown", "keyDownHandler"]],
30481
30567
  "$lazyBundleId$": "-",
30482
- "$attrsToReflect$": [["hourDisplayFormat", "hour-display-format"], ["scale", "scale"], ["step", "step"]]
30568
+ "$attrsToReflect$": []
30483
30569
  }; }
30484
30570
  }
30485
30571
 
@@ -32106,7 +32192,6 @@ registerComponents([
32106
32192
  CalcitePopover,
32107
32193
  CalcitePopoverManager,
32108
32194
  CalciteProgress,
32109
- CalciteRadio,
32110
32195
  CalciteRadioButton,
32111
32196
  CalciteRadioButtonGroup,
32112
32197
  CalciteRadioGroup,