@esri/calcite-components 5.2.0-next.21 → 5.2.0-next.23

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 (190) hide show
  1. package/dist/cdn/{3XNKB4LT.js → 26NLIAOY.js} +1 -1
  2. package/dist/cdn/{VZY2QL4T.js → 2JBFUIQH.js} +1 -1
  3. package/dist/cdn/2OHOVQMB.js +2 -0
  4. package/dist/cdn/{GXD243NQ.js → 2PFID3W6.js} +1 -1
  5. package/dist/cdn/{JZVDDOLT.js → 2RJOFMZ3.js} +1 -1
  6. package/dist/cdn/{PKH35RAY.js → 32RBXVF4.js} +1 -1
  7. package/dist/cdn/{GEJMEJ3S.js → 3JVMYXOC.js} +1 -1
  8. package/dist/cdn/{VYLHCMIN.js → 3O74FQRX.js} +1 -1
  9. package/dist/cdn/{AWWSYSFZ.js → 3RRQA2FI.js} +1 -1
  10. package/dist/cdn/{V6IGQUSK.js → 3TUJGRZ2.js} +1 -1
  11. package/dist/cdn/{272JE4T2.js → 44BCM4WD.js} +1 -1
  12. package/dist/cdn/{UVN2552D.js → 4A4AQLXS.js} +1 -1
  13. package/dist/cdn/{AKQOSNJ4.js → 4CTX7AWR.js} +1 -1
  14. package/dist/cdn/{K42J27GZ.js → 4MRGSEQH.js} +1 -1
  15. package/dist/cdn/{5EOX7NEX.js → 4YCUPVHB.js} +1 -1
  16. package/dist/cdn/{P5E4K2YU.js → 53PNWBFM.js} +1 -1
  17. package/dist/cdn/{SGHQJIEB.js → 56DNJRTH.js} +1 -1
  18. package/dist/cdn/{TUFMKQOT.js → 5E34F2H7.js} +1 -1
  19. package/dist/cdn/{OIO5CL6R.js → 5EBGPCB7.js} +1 -1
  20. package/dist/cdn/{426HUAXX.js → 5S2UFHFC.js} +1 -1
  21. package/dist/cdn/{2JGUT2QI.js → 66ZAZMZH.js} +1 -1
  22. package/dist/cdn/{EAVZBUUO.js → 6AWM3III.js} +1 -1
  23. package/dist/cdn/7FDY66P2.js +2 -0
  24. package/dist/cdn/{5U52USCL.js → 7KEQRK7M.js} +1 -1
  25. package/dist/cdn/{ECA6D3BY.js → 7NI3U4HX.js} +1 -1
  26. package/dist/cdn/{4HBUNZIM.js → 7XW3S3DN.js} +1 -1
  27. package/dist/cdn/{RXB5QVOF.js → ADGSWGZE.js} +1 -1
  28. package/dist/cdn/{YWS6ADXE.js → AOSWHTDQ.js} +1 -1
  29. package/dist/cdn/{WPHP6PNQ.js → ASNTOIAQ.js} +1 -1
  30. package/dist/cdn/{SAQXF3O4.js → ATKSPCQC.js} +1 -1
  31. package/dist/cdn/{2F4MPSIU.js → C6VPC36M.js} +1 -1
  32. package/dist/cdn/{4KLGMAQB.js → CKDOITAW.js} +1 -1
  33. package/dist/cdn/{7A2PNBBN.js → CKU3WVI5.js} +1 -1
  34. package/dist/cdn/CQHOIB7Q.js +2 -0
  35. package/dist/cdn/{SVIKF2RJ.js → CW75VNTM.js} +1 -1
  36. package/dist/cdn/{3ES6MC2M.js → DD6HKLEH.js} +1 -1
  37. package/dist/cdn/{TJHEX4FQ.js → DHAK5MVE.js} +1 -1
  38. package/dist/cdn/{IRMP3YN4.js → DMBFYRBO.js} +1 -1
  39. package/dist/cdn/{M4FNVXZ2.js → DP7TXQLL.js} +1 -1
  40. package/dist/cdn/{3JCYJQN7.js → E3HA6ARS.js} +1 -1
  41. package/dist/cdn/{UGQ7QEUT.js → E7YSE7PA.js} +1 -1
  42. package/dist/cdn/EAYVGI7U.js +2 -0
  43. package/dist/cdn/{SOLXBNIY.js → EDDCKZDB.js} +1 -1
  44. package/dist/cdn/{JRIHW6MN.js → EDJC2HTH.js} +1 -1
  45. package/dist/cdn/{ZBZNZWOA.js → ETSNIYVJ.js} +1 -1
  46. package/dist/cdn/{ZJMGR5TI.js → F73XHF2M.js} +1 -1
  47. package/dist/cdn/{2JILEOJW.js → FPCQ5FII.js} +1 -1
  48. package/dist/cdn/{UUBGEQCK.js → FWIPONLY.js} +1 -1
  49. package/dist/cdn/{56NWOB2H.js → GA5ZHZLZ.js} +1 -1
  50. package/dist/cdn/{GP3JS5Z3.js → GNQ7HT6N.js} +1 -1
  51. package/dist/cdn/{WGYDUGAX.js → GQFOAB5T.js} +1 -1
  52. package/dist/cdn/{EBUGQXPB.js → GWNGI6C4.js} +1 -1
  53. package/dist/cdn/{O5RU3VB7.js → GYHJQTDE.js} +1 -1
  54. package/dist/cdn/{KGBTQAAG.js → HL5J554X.js} +1 -1
  55. package/dist/cdn/{C6IQSTJA.js → HPCNE2D3.js} +1 -1
  56. package/dist/cdn/{HCCW2HVH.js → HPWZD6ES.js} +1 -1
  57. package/dist/cdn/{WM43COV2.js → IDGW2P7Y.js} +1 -1
  58. package/dist/cdn/{OUCV3THM.js → IE6SKFME.js} +1 -1
  59. package/dist/cdn/II3HZQGY.js +2 -0
  60. package/dist/cdn/{MV6B53QB.js → J2WA3W5U.js} +1 -1
  61. package/dist/cdn/{F7DR7O35.js → J7OTKRVL.js} +1 -1
  62. package/dist/cdn/{O442DH6W.js → JEE2673Z.js} +1 -1
  63. package/dist/cdn/{AIYTOT7G.js → JZSJTLPL.js} +1 -1
  64. package/dist/cdn/{4LZCIWN2.js → KLUVMIWX.js} +1 -1
  65. package/dist/cdn/{UDEXLFZX.js → L6CCUDY4.js} +1 -1
  66. package/dist/cdn/{XUWMJEUC.js → LSYCKJVH.js} +1 -1
  67. package/dist/cdn/{VJPWPUVR.js → LVCHWMHH.js} +1 -1
  68. package/dist/cdn/{UISSIQ32.js → M6IGUW4G.js} +1 -1
  69. package/dist/cdn/{WTRCWKFF.js → M7X4MZ4X.js} +1 -1
  70. package/dist/cdn/{SAX2IWNQ.js → MB2RASRM.js} +1 -1
  71. package/dist/cdn/{B3LFVY3M.js → MCHEB6JH.js} +1 -1
  72. package/dist/cdn/{5FZL7744.js → MPUIKIV2.js} +1 -1
  73. package/dist/cdn/{L6DQTGEQ.js → MR3JPLGQ.js} +1 -1
  74. package/dist/cdn/{YPDRWI4Z.js → N24IIHGN.js} +1 -1
  75. package/dist/cdn/{RNVT5N2K.js → N4VAVTXN.js} +1 -1
  76. package/dist/cdn/{4WVXINWO.js → NCZEPH5R.js} +1 -1
  77. package/dist/cdn/O2XJCEO6.js +2 -0
  78. package/dist/cdn/{NQRE6JP2.js → OCLWYV7X.js} +1 -1
  79. package/dist/cdn/{FBIHAO55.js → OF3NKVWJ.js} +1 -1
  80. package/dist/cdn/{X4KXT3UH.js → OKQBN2MY.js} +1 -1
  81. package/dist/cdn/OQ7IXAQT.js +2 -0
  82. package/dist/cdn/OX7WKNVG.js +2 -0
  83. package/dist/cdn/{NBFB52UI.js → OY3Z7S4F.js} +1 -1
  84. package/dist/cdn/{TXVTI6LX.js → P2M56OT6.js} +1 -1
  85. package/dist/cdn/{R6GL2MQY.js → PB33ZFMH.js} +1 -1
  86. package/dist/cdn/{VESLJKC6.js → PE6HZSXG.js} +1 -1
  87. package/dist/cdn/{7F62KAGK.js → PHZDEOBE.js} +1 -1
  88. package/dist/cdn/{JTQM2TTD.js → PJS3MBW2.js} +1 -1
  89. package/dist/cdn/{QQDQTFWB.js → PM5LDKID.js} +1 -1
  90. package/dist/cdn/{ICC77N4O.js → PV4J5OMF.js} +1 -1
  91. package/dist/cdn/{3RWXOX6F.js → PXHOVMKD.js} +1 -1
  92. package/dist/cdn/{IFNI622P.js → Q2XCENUN.js} +1 -1
  93. package/dist/cdn/{3XFDNORV.js → Q4YMF7OQ.js} +1 -1
  94. package/dist/cdn/QAVBQFIM.js +2 -0
  95. package/dist/cdn/{GBRXDUNR.js → QB7DF7HL.js} +1 -1
  96. package/dist/cdn/{7UKOH7BP.js → QBKW557S.js} +1 -1
  97. package/dist/cdn/{QW6A2JKZ.js → QDGKS7LE.js} +1 -1
  98. package/dist/cdn/{F3LAVUQV.js → QJ4X6JEF.js} +1 -1
  99. package/dist/cdn/{EHSCOSXB.js → QR2UFQCP.js} +1 -1
  100. package/dist/cdn/R3DCDJ4K.js +2 -0
  101. package/dist/cdn/{XYWGIRGB.js → RG2RKIDH.js} +1 -1
  102. package/dist/cdn/{PN34TX2Y.js → RP3AR4AB.js} +1 -1
  103. package/dist/cdn/{CJ7YLUIT.js → RPHF57ID.js} +1 -1
  104. package/dist/cdn/{WQPTKDSB.js → RV2VGY5Y.js} +1 -1
  105. package/dist/cdn/{DLRZL6VP.js → SGBGFWSI.js} +1 -1
  106. package/dist/cdn/{HWXH6W2L.js → SHQXC5KI.js} +1 -1
  107. package/dist/cdn/{Q4NJGVJB.js → SLXOGLQG.js} +1 -1
  108. package/dist/cdn/{FHOVIOY2.js → SPDOAEZW.js} +1 -1
  109. package/dist/cdn/{W6TKTKZ2.js → SQIK6UYZ.js} +1 -1
  110. package/dist/cdn/{N5YHLBDH.js → SSTWHVRD.js} +1 -1
  111. package/dist/cdn/{56JRN55F.js → TU2IDUJN.js} +1 -1
  112. package/dist/cdn/{HMBUAJ3C.js → UFBPVUSS.js} +1 -1
  113. package/dist/cdn/{AL7MCNIT.js → UINO3MUN.js} +1 -1
  114. package/dist/cdn/{Q2IZW7BR.js → UKFONMST.js} +1 -1
  115. package/dist/cdn/{7MK2ZF4L.js → UO7DMOAA.js} +1 -1
  116. package/dist/cdn/{XDZYR57Z.js → UQAL22P6.js} +1 -1
  117. package/dist/cdn/{PO4IIXQB.js → UTFIFRAB.js} +1 -1
  118. package/dist/cdn/{KX4TG57C.js → UVHXLQFS.js} +1 -1
  119. package/dist/cdn/{E42FZREV.js → V22TQ7PZ.js} +1 -1
  120. package/dist/cdn/{VFRHRLG4.js → V4PSJEH7.js} +1 -1
  121. package/dist/cdn/{HPX2NCMW.js → VA6P67UG.js} +1 -1
  122. package/dist/cdn/{WHODE5V4.js → VNDV5V2E.js} +1 -1
  123. package/dist/cdn/{GHDKS4TD.js → VOCKM3G2.js} +1 -1
  124. package/dist/cdn/{FYTLOVRA.js → VVDB4JOU.js} +1 -1
  125. package/dist/cdn/{Q5VG5AQG.js → W3EDPW5C.js} +1 -1
  126. package/dist/cdn/{U5VEPYIN.js → W5QVWKA4.js} +1 -1
  127. package/dist/cdn/{JMNMINM4.js → W6WPGWK4.js} +1 -1
  128. package/dist/cdn/{7BYI7SPD.js → WEQLYKHQ.js} +1 -1
  129. package/dist/cdn/{WOT3ORF2.js → WI7WTRBR.js} +1 -1
  130. package/dist/cdn/{KV7UW3YJ.js → WU7GZ3ZT.js} +1 -1
  131. package/dist/cdn/{47XLG5YV.js → WZS5WOVS.js} +1 -1
  132. package/dist/cdn/{LL2AKBZL.js → X2Y3U24F.js} +1 -1
  133. package/dist/cdn/{SBLTFKZU.js → XBNPHSQR.js} +1 -1
  134. package/dist/cdn/{WCIWAXVM.js → XEDH2KRM.js} +1 -1
  135. package/dist/cdn/{TOGTOADC.js → XEKJUQX2.js} +1 -1
  136. package/dist/cdn/{OPEIRYVW.js → XKENPJIG.js} +1 -1
  137. package/dist/cdn/{LSUIVEP3.js → XP7XYKMD.js} +1 -1
  138. package/dist/cdn/{HR2CVDVP.js → Y3K3KZ7C.js} +1 -1
  139. package/dist/cdn/{3I2BUVSG.js → YAFFQQRB.js} +1 -1
  140. package/dist/cdn/{5VCUPUNM.js → YDN74HYW.js} +1 -1
  141. package/dist/cdn/{UJQCS2W7.js → YGCQA6I2.js} +1 -1
  142. package/dist/cdn/{XGVUKAR6.js → YQYSA6GQ.js} +1 -1
  143. package/dist/cdn/{WETW5UXF.js → YURDXUY6.js} +1 -1
  144. package/dist/cdn/{IX4C6Q7V.js → Z7YWEK6A.js} +1 -1
  145. package/dist/cdn/{J5V74PPK.js → ZIHHVT6X.js} +1 -1
  146. package/dist/cdn/{TD2CYHOH.js → ZLY4AI4O.js} +1 -1
  147. package/dist/cdn/ZSMB7MEM.js +2 -0
  148. package/dist/cdn/{2YUN7R23.js → ZTOH6K4N.js} +1 -1
  149. package/dist/cdn/{ZM2ZOPHJ.js → ZYUCFWLH.js} +1 -1
  150. package/dist/cdn/index.js +1 -1
  151. package/dist/chunks/runtime.js +3 -3
  152. package/dist/chunks/useInlineEditable.js +53 -0
  153. package/dist/components/calcite-accordion-item/customElement.js +1 -1
  154. package/dist/components/calcite-autocomplete-item/customElement.js +1 -1
  155. package/dist/components/calcite-combobox-item/customElement.js +1 -1
  156. package/dist/components/calcite-dropdown/customElement.js +1 -1
  157. package/dist/components/calcite-inline-editable/customElement.d.ts +10 -6
  158. package/dist/components/calcite-inline-editable/customElement.js +27 -9
  159. package/dist/components/calcite-inline-editable/index.js +1 -1
  160. package/dist/components/calcite-input/customElement.d.ts +31 -0
  161. package/dist/components/calcite-input/customElement.js +92 -9
  162. package/dist/components/calcite-input-number/customElement.d.ts +31 -0
  163. package/dist/components/calcite-input-number/customElement.js +82 -6
  164. package/dist/components/calcite-input-text/customElement.d.ts +31 -0
  165. package/dist/components/calcite-input-text/customElement.js +80 -9
  166. package/dist/components/calcite-input-time-zone/customElement.d.ts +6 -0
  167. package/dist/components/calcite-input-time-zone/customElement.js +2 -2
  168. package/dist/components/calcite-tile/customElement.js +1 -1
  169. package/dist/docs/api.json +1 -1
  170. package/dist/docs/docs.json +1 -1
  171. package/dist/docs/supported-browsers.json +1 -1
  172. package/dist/docs/vscode.css-custom-data.json +1 -1
  173. package/dist/docs/vscode.html-custom-data.json +1 -1
  174. package/dist/docs/web-types.json +1 -1
  175. package/dist/loader.js +4 -4
  176. package/dist/types/lumina.d.ts +13 -4
  177. package/dist/types/preact.d.ts +13 -4
  178. package/dist/types/react.d.ts +13 -4
  179. package/dist/types/stencil.d.ts +13 -4
  180. package/package.json +2 -2
  181. package/dist/cdn/7DG2R3OP.js +0 -2
  182. package/dist/cdn/A66UUYDP.js +0 -2
  183. package/dist/cdn/CABYCECQ.js +0 -2
  184. package/dist/cdn/CNKLVNBN.js +0 -2
  185. package/dist/cdn/CUPOES2M.js +0 -2
  186. package/dist/cdn/DFB6ZYV7.js +0 -2
  187. package/dist/cdn/DNYCTXXF.js +0 -2
  188. package/dist/cdn/P5VEJH27.js +0 -2
  189. package/dist/cdn/SVKMC3IH.js +0 -2
  190. package/dist/cdn/YNAVDDAP.js +0 -2
@@ -13,6 +13,7 @@ import { i as isValidNumber, n as numberStringFormatter, B as BigDecimal, p as p
13
13
  import { g as getIconScale } from "../../chunks/component.js";
14
14
  import { C as ClearButton } from "../../chunks/ClearButton.js";
15
15
  import { I as InternalLabel } from "../../chunks/InternalLabel.js";
16
+ import { U as UseInlineEditable, C as CSS$1, I as InlineEditableControls } from "../../chunks/useInlineEditable.js";
16
17
  import { V as Validation } from "../../chunks/Validation.js";
17
18
  import { u as useT9n } from "../../chunks/useT9n.js";
18
19
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
@@ -22,6 +23,11 @@ const CSS = {
22
23
  loader: "loader",
23
24
  clearButton: "clear-button",
24
25
  clearable: "clearable",
26
+ editingEnabled: "editing-enabled",
27
+ inlineChild: "inline-child",
28
+ inlineEditableChild: "inline-editable-child",
29
+ // `calcite-inline-editable` deprecated in v5.2.0, removal target v7.0.0
30
+ inlineEditable: "inline-editable",
25
31
  inputIcon: "icon",
26
32
  prefix: "prefix",
27
33
  suffix: "suffix",
@@ -49,13 +55,14 @@ const DIRECTION = {
49
55
  down: "down"
50
56
  };
51
57
  const NUDGE_DELAY_IN_MS = 150;
52
- const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:block;--calcite-internal-input-number-focus-outline-color: var( --calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)) );--calcite-internal-input-number-number-button-item-height: auto}:host([scale=s]){--calcite-internal-input-number-icon-padding-inline: var(--calcite-spacing-fixed-sm)}:host([scale=s]) input,:host([scale=s]) .prefix,:host([scale=s]) .suffix{font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm);block-size:var(--calcite-input-number-height, 1.5rem)}:host([scale=s]) input{padding-inline:var(--calcite-spacing-sm)}:host([scale=s]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=s]) .prefix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-xxs)}:host([scale=s]) .has-suffix input{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s]) .suffix{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=s]) .number-button-wrapper,:host([scale=s]) .action-wrapper{block-size:var(--calcite-input-number-height, 1.5rem)}:host([scale=s]) .clear-button{block-size:var(--calcite-spacing-xxl)}:host([scale=s]):host([number-button-type=horizontal]){--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-spacing-xxs)}:host([scale=s]):host([number-button-type=vertical]){--calcite-internal-input-number-number-button-item-height: 8px;--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-spacing-xxs);--calcite-internal-input-number-number-button-item-vertical-padding: 3px}:host([scale=m]){--calcite-internal-input-number-icon-padding-inline: var(--calcite-spacing-fixed-md)}:host([scale=m]) input,:host([scale=m]) .prefix,:host([scale=m]) .suffix{font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base);block-size:var(--calcite-input-number-height, 2rem)}:host([scale=m]) input{padding-inline:var(--calcite-spacing-md)}:host([scale=m]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xs)}:host([scale=m]) .prefix{padding-inline:var(--calcite-spacing-md) var(--calcite-spacing-xs)}:host([scale=m]) .has-suffix input{padding-inline-end:var(--calcite-spacing-xs)}:host([scale=m]) .suffix{padding-inline:var(--calcite-spacing-xs) var(--calcite-spacing-md)}:host([scale=m]) .number-button-wrapper,:host([scale=m]) .action-wrapper{block-size:var(--calcite-input-number-height, 2rem)}:host([scale=m]):host([number-button-type=horizontal]){--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-space-sm)}:host([scale=m]):host([number-button-type=vertical]){--calcite-internal-input-number-number-button-item-height: 11px;--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-space-sm);--calcite-internal-input-number-number-button-item-vertical-padding: var(--calcite-space-2xs)}:host([scale=l]){--calcite-internal-input-number-icon-padding-inline: var(--calcite-spacing-fixed-lg)}:host([scale=l]) input,:host([scale=l]) .prefix,:host([scale=l]) .suffix{font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md);block-size:var(--calcite-input-number-height, 2.75rem)}:host([scale=l]) input{padding-inline:var(--calcite-spacing-lg)}:host([scale=l]) .has-prefix input{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=l]) .prefix{padding-inline:var(--calcite-spacing-lg) var(--calcite-spacing-sm)}:host([scale=l]) .has-suffix input{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=l]) .suffix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-lg)}:host([scale=l]) .number-button-wrapper,:host([scale=l]) .action-wrapper{block-size:var(--calcite-input-number-height, 2.75rem)}:host([scale=l]):host([number-button-type=horizontal]){--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus)}:host([scale=l]):host([number-button-type=vertical]){--calcite-internal-input-number-number-button-item-height: 16px;--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus);--calcite-internal-input-number-number-button-item-vertical-padding: 5px}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}input{transition:var(--calcite-animation-timing),block-size 0,outline-offset 0s;-webkit-appearance:none;position:relative;margin:0;box-sizing:border-box;display:flex;max-block-size:100%;inline-size:100%;max-inline-size:100%;flex:1 1 0%;text-overflow:ellipsis;font-family:inherit;font-weight:var(--calcite-font-weight-normal);outline:none;background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-number-text-color, var(--calcite-color-text-1));text-align:var(--calcite-internal-input-number-alignment)}input:placeholder-shown{text-overflow:ellipsis}.element-wrapper,input{border-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp))}.has-prefix input,.element-wrapper:has(.icon) input{border-start-start-radius:0;border-end-start-radius:0}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) input,.has-prefix input,.element-wrapper:has(.icon) input{border-inline-start-width:0}.element-wrapper:has(.clear-button) input,.has-suffix input,.element-wrapper:has(.number-button-item--horizontal[data-adjustment=up]) input,.element-wrapper:has(.number-button-item) input{border-inline-end-width:0}.has-suffix input,.clearable input,:host(:not([read-only])) input,.suffix,.clear-button{border-start-end-radius:0;border-end-end-radius:0}.has-prefix :is(.prefix:first-child,.loader+.prefix),:host([number-button-type=horizontal]) .number-button-item[data-adjustment=down],.element-wrapper:has(.icon) :is(.icon:first-child,.loader+.icon){border-start-start-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp));border-end-start-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp))}:host([read-only]) .suffix,:host([read-only]) .wrapper:not(.has-suffix) .clear-button,:host([number-button-type=horizontal]) .number-button-item[data-adjustment=up]{border-end-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp));border-start-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp))}:host([number-button-type=vertical]) .number-button-item[data-adjustment=down]{border-block-start-width:0px;border-end-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp))}:host([number-button-type=vertical]) .number-button-item[data-adjustment=up]{border-start-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp))}:host(:not([read-only])[number-button-type=horizontal]) .prefix,:host(:not([read-only])[number-button-type=horizontal]) input,.has-prefix input{border-start-start-radius:0;border-end-start-radius:0}input{border-width:1px;border-style:solid;border-color:var(--calcite-input-number-border-color, var(--calcite-color-border-input))}input:focus{border-color:var(--calcite-color-brand);color:var(--calcite-input-number-text-color-focus, var(--calcite-color-text-1))}input[readonly]{font-weight:var(--calcite-font-weight-medium);background-color:var(--calcite-input-number-background-color, var(--calcite-color-background))}input[readonly]:focus{color:var(--calcite-input-number-text-color-focus, var(--calcite-color-text-1))}:host([read-only]) .prefix,:host([read-only]) .icon,:host([read-only]) .clear-button,:host([read-only]) .suffix{background-color:var(--calcite-input-number-background-color, var(--calcite-color-background))}.element-wrapper{position:relative;display:inline-flex;flex:1 1 0%;align-items:center;order:3;isolation:isolate}.element-wrapper:has(input:focus){outline:var(--calcite-border-width-md) solid var(--calcite-internal-input-number-focus-outline-color);outline-offset:calc(var(--calcite-border-width-sm) * -2)}.element-wrapper:has(input:focus) input{z-index:calc(var(--calcite-z-index) * -1)}:host([status=invalid]) .prefix,:host([status=invalid]) .icon,:host([status=invalid]) input,:host([status=invalid]) .clear-button,:host([status=invalid]) .suffix,:host([status=invalid]) .number-button-item{border-color:var(--calcite-color-status-danger)}:host([status=invalid]){--calcite-internal-input-number-focus-outline-color: var(--calcite-color-status-danger)}.icon{box-sizing:border-box;display:flex;align-self:stretch;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-number-border-color, var(--calcite-color-border-input));border-inline-end-width:var(--calcite-border-width-none);background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1));--calcite-icon-color: var( --calcite-input-number-icon-color, var(--calcite-ui-icon-color, var(--calcite-color-text-3)) );align-items:center;padding-inline-start:var(--calcite-internal-input-number-icon-padding-inline)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .icon,.has-prefix .icon{border-inline-start-width:0}.clear-button{box-sizing:border-box;display:flex;align-self:stretch;order:4;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-number-border-color, var(--calcite-color-border-input));border-inline-start-width:var(--calcite-border-width-none);background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1))}.has-suffix .clear-button,.element-wrapper:has(.number-button-item.number-button-item--horizontal[data-adjustment=up]) .clear-button,.element-wrapper:has(.number-button-item) .clear-button{border-inline-end-width:0}.loader{inset-block-start:var(--calcite-border-width-sm);inset-inline:var(--calcite-border-width-sm);pointer-events:none;position:absolute;display:block}.loader calcite-progress{--calcite-progress-background-color: var(--calcite-input-loading-background-color);--calcite-progress-fill-color: var(--calcite-input-loading-fill-color)}.action-wrapper{order:7;display:flex}.prefix,.suffix{box-sizing:border-box;display:flex;block-size:auto;min-block-size:100%;-webkit-user-select:none;user-select:none;align-content:center;align-items:center;overflow-wrap:break-word;border-width:1px;border-style:solid;line-height:1;font-weight:var(--calcite-font-weight-regular);border-color:var(--calcite-input-number-border-color, var(--calcite-color-border-input))}.prefix{order:0;border-inline-end-width:0px;inline-size:var(--calcite-input-prefix-size, auto);background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-prefix-text-color, var(--calcite-color-text-2))}.suffix{order:5;border-inline-start-width:0px;inline-size:var(--calcite-input-suffix-size, auto);background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-suffix-text-color, var(--calcite-color-text-2))}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .prefix{border-inline-start-width:var(--calcite-border-width-none)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=up]) .suffix,.element-wrapper:has(.number-button-item) .suffix{border-inline-end-width:var(--calcite-border-width-none)}:host([alignment=start]){--calcite-internal-input-number-alignment: start}:host([alignment=center]){--calcite-internal-input-number-alignment: center}:host([alignment=end]){--calcite-internal-input-number-alignment: end}.number-button-wrapper{pointer-events:none;box-sizing:border-box;display:flex;flex-direction:column;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;order:6}:host([number-button-type=vertical]) .wrapper{flex-direction:row;display:flex}:host([number-button-type=vertical]) input{order:2}:host([number-button-type=horizontal]) .calcite--rtl .number-button-item[data-adjustment=down] calcite-action{transform:rotate(-90deg)}:host([number-button-type=horizontal]) .calcite--rtl .number-button-item[data-adjustment=up] calcite-action{transform:rotate(-90deg)}.number-button-item.number-button-item--horizontal[data-adjustment=down],.number-button-item.number-button-item--horizontal[data-adjustment=up]{max-block-size:100%;min-block-size:100%;align-self:stretch;order:1}.number-button-item.number-button-item--horizontal[data-adjustment=down] calcite-action,.number-button-item.number-button-item--horizontal[data-adjustment=up] calcite-action{transform:rotate(90deg)}.number-button-item.number-button-item--horizontal[data-adjustment=down]{border-inline-start-width:var(--calcite-border-width-sm);border-inline-end-width:0px;order:0;padding-inline-start:var(--calcite-internal-input-number-number-button-item-horizontal-padding)}.number-button-item.number-button-item--horizontal[data-adjustment=up]{order:5;padding-inline-end:var(--calcite-internal-input-number-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item{padding-inline-end:var(--calcite-internal-input-number-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=up]{border-start-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp));border-block-end-width:var(--calcite-border-width-none);padding-block-start:var(--calcite-internal-input-number-number-button-item-vertical-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=down]{border-block-start-width:0px;border-end-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp));padding-block-end:var(--calcite-internal-input-number-number-button-item-vertical-padding)}.number-button-item{max-block-size:50%;min-block-size:50%;pointer-events:initial;box-sizing:border-box;display:flex;cursor:pointer;align-items:center;align-self:center;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-number-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1));border-inline-start-width:var(--calcite-border-width-none)}.number-button-item:hover calcite-action{--calcite-action-background-color: var( --calcite-input-actions-background-color-hover, var(--calcite-color-foreground-2) );--calcite-action-text-color: var(--calcite-input-actions-icon-color-hover, var(--calcite-color-text-1))}.number-button-item:active calcite-action{--calcite-action-background-color: var( --calcite-input-actions-background-color-press, var(--calcite-color-foreground-3) );--calcite-action-text-color: var(--calcite-input-actions-icon-color-press, var(--calcite-color-text-1))}.number-button-item calcite-action{--calcite-internal-action-height: var(--calcite-internal-input-number-number-button-item-height);--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-actions-background-color);--calcite-action-text-color: var(--calcite-input-actions-icon-color)}.number-button-item calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-actions-background-color-hover);--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-hover)}.number-button-item calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-actions-background-color-press);--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-press)}.wrapper{position:relative;display:flex;flex-direction:row;align-items:center}:host(.no-bottom-border) input{border-block-end-width:0px}:host(.border-top-color-one) input{border-block-start-color:var(--calcite-color-border-1)}input.inline-child{background-color:transparent;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out}input.inline-child .editing-enabled{background-color:inherit}input.inline-child:not(.editing-enabled){display:flex;cursor:pointer;text-overflow:ellipsis;border-color:transparent;padding-inline-start:0}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-spacing-base)}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-xxs)}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-md)}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}::slotted(input[slot=hidden-form-input]){margin:0!important;opacity:0!important;outline:none!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important;-webkit-appearance:none!important;z-index:-1!important}:host([hidden]){display:none}[hidden]{display:none}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-number-placeholder-text-color, var(--calcite-color-text-3))}.clear-button--container{display:flex;cursor:pointer;align-items:center}.clear-button--container:hover calcite-action{--calcite-action-background-color: var(--calcite-input-actions-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color: var(--calcite-input-actions-icon-color-hover, var(--calcite-color-text-1))}.clear-button--container:active calcite-action{--calcite-action-background-color: var(--calcite-input-actions-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color: var(--calcite-input-actions-icon-color-press, var(--calcite-color-text-1))}.clear-button--container calcite-action{--calcite-internal-action-height: 100%;--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-actions-background-color, var(--calcite-color-foreground-2));--calcite-action-text-color: var(--calcite-input-actions-icon-color)}.clear-button--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-actions-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-hover)}.clear-button--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-actions-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-press)}:host([scale=s]) .clear-button--container{padding:var(--calcite-spacing-xxs)}:host([scale=m]) .clear-button--container{padding:var(--calcite-spacing-xxs);padding-inline-end:var(--calcite-space-sm)}:host([scale=l]) .clear-button--container{padding-inline-end:var(--calcite-spacing-sm-plus)}`;
58
+ const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:block;--calcite-internal-input-number-focus-outline-color: var( --calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)) );--calcite-internal-input-number-number-button-item-height: auto}:host([scale=s]){--calcite-internal-input-number-icon-padding-inline: var(--calcite-spacing-fixed-sm)}:host([scale=s]) input,:host([scale=s]) .prefix,:host([scale=s]) .suffix{font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm);block-size:var(--calcite-input-number-height, 1.5rem)}:host([scale=s]) input{padding-inline:var(--calcite-spacing-sm)}:host([scale=s]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=s]) .prefix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-xxs)}:host([scale=s]) .has-suffix input{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s]) .suffix{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=s]) .number-button-wrapper,:host([scale=s]) .action-wrapper{block-size:var(--calcite-input-number-height, 1.5rem)}:host([scale=s]) .clear-button{block-size:var(--calcite-spacing-xxl)}:host([scale=s]):host([number-button-type=horizontal]){--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-spacing-xxs)}:host([scale=s]):host([number-button-type=vertical]){--calcite-internal-input-number-number-button-item-height: 8px;--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-spacing-xxs);--calcite-internal-input-number-number-button-item-vertical-padding: 3px}:host([scale=m]){--calcite-internal-input-number-icon-padding-inline: var(--calcite-spacing-fixed-md)}:host([scale=m]) input,:host([scale=m]) .prefix,:host([scale=m]) .suffix{font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base);block-size:var(--calcite-input-number-height, 2rem)}:host([scale=m]) input{padding-inline:var(--calcite-spacing-md)}:host([scale=m]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xs)}:host([scale=m]) .prefix{padding-inline:var(--calcite-spacing-md) var(--calcite-spacing-xs)}:host([scale=m]) .has-suffix input{padding-inline-end:var(--calcite-spacing-xs)}:host([scale=m]) .suffix{padding-inline:var(--calcite-spacing-xs) var(--calcite-spacing-md)}:host([scale=m]) .number-button-wrapper,:host([scale=m]) .action-wrapper{block-size:var(--calcite-input-number-height, 2rem)}:host([scale=m]):host([number-button-type=horizontal]){--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-space-sm)}:host([scale=m]):host([number-button-type=vertical]){--calcite-internal-input-number-number-button-item-height: 11px;--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-space-sm);--calcite-internal-input-number-number-button-item-vertical-padding: var(--calcite-space-2xs)}:host([scale=l]){--calcite-internal-input-number-icon-padding-inline: var(--calcite-spacing-fixed-lg)}:host([scale=l]) input,:host([scale=l]) .prefix,:host([scale=l]) .suffix{font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md);block-size:var(--calcite-input-number-height, 2.75rem)}:host([scale=l]) input{padding-inline:var(--calcite-spacing-lg)}:host([scale=l]) .has-prefix input{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=l]) .prefix{padding-inline:var(--calcite-spacing-lg) var(--calcite-spacing-sm)}:host([scale=l]) .has-suffix input{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=l]) .suffix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-lg)}:host([scale=l]) .number-button-wrapper,:host([scale=l]) .action-wrapper{block-size:var(--calcite-input-number-height, 2.75rem)}:host([scale=l]):host([number-button-type=horizontal]){--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus)}:host([scale=l]):host([number-button-type=vertical]){--calcite-internal-input-number-number-button-item-height: 16px;--calcite-internal-input-number-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus);--calcite-internal-input-number-number-button-item-vertical-padding: 5px}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}input{transition:var(--calcite-animation-timing),block-size 0,outline-offset 0s;-webkit-appearance:none;position:relative;margin:0;box-sizing:border-box;display:flex;max-block-size:100%;inline-size:100%;max-inline-size:100%;flex:1 1 0%;text-overflow:ellipsis;font-family:inherit;font-weight:var(--calcite-font-weight-normal);outline:none;background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-number-text-color, var(--calcite-color-text-1));text-align:var(--calcite-internal-input-number-alignment)}input:placeholder-shown{text-overflow:ellipsis}.element-wrapper,input{border-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp))}.has-prefix input,.element-wrapper:has(.icon) input{border-start-start-radius:0;border-end-start-radius:0}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) input,.has-prefix input,.element-wrapper:has(.icon) input{border-inline-start-width:0}.element-wrapper:has(.clear-button) input,.has-suffix input,.element-wrapper:has(.number-button-item--horizontal[data-adjustment=up]) input,.element-wrapper:has(.number-button-item) input{border-inline-end-width:0}.has-suffix input,.clearable input,:host(:not([read-only])) input,.suffix,.clear-button{border-start-end-radius:0;border-end-end-radius:0}.has-prefix :is(.prefix:first-child,.loader+.prefix),:host([number-button-type=horizontal]) .number-button-item[data-adjustment=down],.element-wrapper:has(.icon) :is(.icon:first-child,.loader+.icon){border-start-start-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp));border-end-start-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp))}:host([read-only]) .suffix,:host([read-only]) .wrapper:not(.has-suffix) .clear-button,:host([number-button-type=horizontal]) .number-button-item[data-adjustment=up]{border-end-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp));border-start-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp))}:host([number-button-type=vertical]) .number-button-item[data-adjustment=down]{border-block-start-width:0px;border-end-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp))}:host([number-button-type=vertical]) .number-button-item[data-adjustment=up]{border-start-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp))}:host(:not([read-only])[number-button-type=horizontal]) .prefix,:host(:not([read-only])[number-button-type=horizontal]) input,.has-prefix input{border-start-start-radius:0;border-end-start-radius:0}input{border-width:1px;border-style:solid;border-color:var(--calcite-input-number-border-color, var(--calcite-color-border-input))}input:focus{border-color:var(--calcite-color-brand);color:var(--calcite-input-number-text-color-focus, var(--calcite-color-text-1))}input[readonly]{font-weight:var(--calcite-font-weight-medium);background-color:var(--calcite-input-number-background-color, var(--calcite-color-background))}input[readonly]:focus{color:var(--calcite-input-number-text-color-focus, var(--calcite-color-text-1))}:host([read-only]) .prefix,:host([read-only]) .icon,:host([read-only]) .clear-button,:host([read-only]) .suffix{background-color:var(--calcite-input-number-background-color, var(--calcite-color-background))}.element-wrapper{position:relative;display:inline-flex;flex:1 1 0%;align-items:center;order:3;isolation:isolate}.element-wrapper:has(input:focus){outline:var(--calcite-border-width-md) solid var(--calcite-internal-input-number-focus-outline-color);outline-offset:calc(var(--calcite-border-width-sm) * -2)}.element-wrapper:has(input:focus) input{z-index:calc(var(--calcite-z-index) * -1)}:host([status=invalid]) .prefix,:host([status=invalid]) .icon,:host([status=invalid]) input,:host([status=invalid]) .clear-button,:host([status=invalid]) .suffix,:host([status=invalid]) .number-button-item{border-color:var(--calcite-color-status-danger)}:host([status=invalid]){--calcite-internal-input-number-focus-outline-color: var(--calcite-color-status-danger)}.icon{box-sizing:border-box;display:flex;align-self:stretch;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-number-border-color, var(--calcite-color-border-input));border-inline-end-width:var(--calcite-border-width-none);background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1));--calcite-icon-color: var( --calcite-input-number-icon-color, var(--calcite-ui-icon-color, var(--calcite-color-text-3)) );align-items:center;padding-inline-start:var(--calcite-internal-input-number-icon-padding-inline)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .icon,.has-prefix .icon{border-inline-start-width:0}.clear-button{box-sizing:border-box;display:flex;align-self:stretch;order:4;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-number-border-color, var(--calcite-color-border-input));border-inline-start-width:var(--calcite-border-width-none);background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1))}.has-suffix .clear-button,.element-wrapper:has(.number-button-item.number-button-item--horizontal[data-adjustment=up]) .clear-button,.element-wrapper:has(.number-button-item) .clear-button{border-inline-end-width:0}.loader{inset-block-start:var(--calcite-border-width-sm);inset-inline:var(--calcite-border-width-sm);pointer-events:none;position:absolute;display:block}.loader calcite-progress{--calcite-progress-background-color: var(--calcite-input-loading-background-color);--calcite-progress-fill-color: var(--calcite-input-loading-fill-color)}.inline-editable{order:7}.action-wrapper{order:8;display:flex}.prefix,.suffix{box-sizing:border-box;display:flex;block-size:auto;min-block-size:100%;-webkit-user-select:none;user-select:none;align-content:center;align-items:center;overflow-wrap:break-word;border-width:1px;border-style:solid;line-height:1;font-weight:var(--calcite-font-weight-regular);border-color:var(--calcite-input-number-border-color, var(--calcite-color-border-input))}.prefix{order:0;border-inline-end-width:0px;inline-size:var(--calcite-input-prefix-size, auto);background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-prefix-text-color, var(--calcite-color-text-2))}.suffix{order:5;border-inline-start-width:0px;inline-size:var(--calcite-input-suffix-size, auto);background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-suffix-text-color, var(--calcite-color-text-2))}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .prefix{border-inline-start-width:var(--calcite-border-width-none)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=up]) .suffix,.element-wrapper:has(.number-button-item) .suffix{border-inline-end-width:var(--calcite-border-width-none)}:host([alignment=start]){--calcite-internal-input-number-alignment: start}:host([alignment=center]){--calcite-internal-input-number-alignment: center}:host([alignment=end]){--calcite-internal-input-number-alignment: end}.number-button-wrapper{pointer-events:none;box-sizing:border-box;display:flex;flex-direction:column;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;order:6}:host([number-button-type=vertical]) .wrapper{flex-direction:row;display:flex}:host([number-button-type=vertical]) input{order:2}:host([number-button-type=horizontal]) .calcite--rtl .number-button-item[data-adjustment=down] calcite-action{transform:rotate(-90deg)}:host([number-button-type=horizontal]) .calcite--rtl .number-button-item[data-adjustment=up] calcite-action{transform:rotate(-90deg)}.number-button-item.number-button-item--horizontal[data-adjustment=down],.number-button-item.number-button-item--horizontal[data-adjustment=up]{max-block-size:100%;min-block-size:100%;align-self:stretch;order:1}.number-button-item.number-button-item--horizontal[data-adjustment=down] calcite-action,.number-button-item.number-button-item--horizontal[data-adjustment=up] calcite-action{transform:rotate(90deg)}.number-button-item.number-button-item--horizontal[data-adjustment=down]{border-inline-start-width:var(--calcite-border-width-sm);border-inline-end-width:0px;order:0;padding-inline-start:var(--calcite-internal-input-number-number-button-item-horizontal-padding)}.number-button-item.number-button-item--horizontal[data-adjustment=up]{order:5;padding-inline-end:var(--calcite-internal-input-number-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item{padding-inline-end:var(--calcite-internal-input-number-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=up]{border-start-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp));border-block-end-width:var(--calcite-border-width-none);padding-block-start:var(--calcite-internal-input-number-number-button-item-vertical-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=down]{border-block-start-width:0px;border-end-end-radius:var(--calcite-input-number-corner-radius, var(--calcite-corner-radius-sharp));padding-block-end:var(--calcite-internal-input-number-number-button-item-vertical-padding)}.number-button-item{max-block-size:50%;min-block-size:50%;pointer-events:initial;box-sizing:border-box;display:flex;cursor:pointer;align-items:center;align-self:center;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-number-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1));border-inline-start-width:var(--calcite-border-width-none)}.number-button-item:hover calcite-action{--calcite-action-background-color: var( --calcite-input-actions-background-color-hover, var(--calcite-color-foreground-2) );--calcite-action-text-color: var(--calcite-input-actions-icon-color-hover, var(--calcite-color-text-1))}.number-button-item:active calcite-action{--calcite-action-background-color: var( --calcite-input-actions-background-color-press, var(--calcite-color-foreground-3) );--calcite-action-text-color: var(--calcite-input-actions-icon-color-press, var(--calcite-color-text-1))}.number-button-item calcite-action{--calcite-internal-action-height: var(--calcite-internal-input-number-number-button-item-height);--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-actions-background-color);--calcite-action-text-color: var(--calcite-input-actions-icon-color)}.number-button-item calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-actions-background-color-hover);--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-hover)}.number-button-item calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-actions-background-color-press);--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-press)}.wrapper{position:relative;display:flex;flex-direction:row;align-items:center}:host(.no-bottom-border) input{border-block-end-width:0px}:host(.border-top-color-one) input{border-block-start-color:var(--calcite-color-border-1)}input.inline-child{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out}input.inline-child.inline-editable-child{background-color:transparent}input.inline-child .editing-enabled{background-color:inherit}input.inline-child:not(.editing-enabled){display:flex;cursor:pointer;text-overflow:ellipsis;border-color:transparent;padding-inline-start:0}.element-wrapper:has(input.inline-child:not(.editing-enabled)) .loader,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .number-button-item,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .prefix,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .icon,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .clear-button,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .suffix{display:none}:host([inline-editable]:not([editing-enabled])) .wrapper:hover input,:host([inline-editable]:not([editing-enabled])) .wrapper:hover .inline-editable,:host([inline-editable]:not([editing-enabled])) .wrapper:hover .action-wrapper,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover input,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover .inline-editable,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover .action-wrapper{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;background-color:var(--calcite-input-number-inline-editable-background-color-hover, var(--calcite-color-foreground-2))}:host([inline-editable]) input,:host([inline-editable]) .inline-editable,:host([inline-editable]) .action-wrapper{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;background-color:var(--calcite-input-number-background-color, var(--calcite-color-foreground-1))}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-spacing-base)}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-xxs)}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-md)}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}::slotted(input[slot=hidden-form-input]){margin:0!important;opacity:0!important;outline:none!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important;-webkit-appearance:none!important;z-index:-1!important}:host([hidden]){display:none}[hidden]{display:none}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-number-placeholder-text-color, var(--calcite-color-text-3))}.clear-button--container{display:flex;cursor:pointer;align-items:center}.clear-button--container:hover calcite-action{--calcite-action-background-color: var(--calcite-input-actions-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color: var(--calcite-input-actions-icon-color-hover, var(--calcite-color-text-1))}.clear-button--container:active calcite-action{--calcite-action-background-color: var(--calcite-input-actions-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color: var(--calcite-input-actions-icon-color-press, var(--calcite-color-text-1))}.clear-button--container calcite-action{--calcite-internal-action-height: 100%;--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-actions-background-color, var(--calcite-color-foreground-2));--calcite-action-text-color: var(--calcite-input-actions-icon-color)}.clear-button--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-actions-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-hover)}.clear-button--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-actions-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-press)}:host([scale=s]) .clear-button--container{padding:var(--calcite-spacing-xxs)}:host([scale=m]) .clear-button--container{padding:var(--calcite-spacing-xxs);padding-inline-end:var(--calcite-space-sm)}:host([scale=l]) .clear-button--container{padding-inline-end:var(--calcite-spacing-sm-plus)}.inline-editable--container{display:flex;cursor:pointer;align-items:center}.inline-editable--container .enable-editing,.inline-editable--container .confirm-changes,.inline-editable--container .cancel-editing{margin-inline-start:var(--calcite-space-2xs)}.inline-editable--container .enable-editing{--calcite-action-text-color: var(--calcite-input-number-inline-editable-control-text-color, var(--calcite-color-text-1))}.inline-editable--container calcite-action{--calcite-action-background-color: var(--calcite-input-number-inline-editable-control-background-color);--calcite-action-corner-radius: var(--calcite-input-number-inline-editable-control-corner-radius);--calcite-action-loader-color: var(--calcite-input-number-inline-editable-control-loader-color);--calcite-action-text-color: var(--calcite-input-number-inline-editable-control-text-color)}.inline-editable--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-number-inline-editable-control-background-color-hover, var(--calcite-input-number-inline-editable-control-background-color));--calcite-action-text-color-press: var(--calcite-input-number-inline-editable-control-text-color-press, var(--calcite-input-number-inline-editable-control-text-color))}.inline-editable--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-number-inline-editable-control-background-color-press, var(--calcite-input-number-inline-editable-control-background-color));--calcite-action-text-color-press: var(--calcite-input-number-inline-editable-control-text-color-press, var(--calcite-input-number-inline-editable-control-text-color))}`;
53
59
  class InputNumber extends LitElement {
54
60
  constructor() {
55
61
  super();
56
62
  this.actionWrapperRef = createRef();
57
63
  this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode"], this.handleGlobalAttributesChanged);
58
64
  this.childNumberRef = createRef();
65
+ this.enableInlineEditingButtonRef = createRef();
59
66
  this.direction = useDirection();
60
67
  this.formSupport = useForm({
61
68
  inputType: "number"
@@ -67,11 +74,36 @@ class InputNumber extends LitElement {
67
74
  this.messages = useT9n({ blocking: true });
68
75
  this.focusSetter = useSetFocus()(this);
69
76
  this.interactiveContainer = useInteractive(this);
77
+ this.useInlineEditable = new UseInlineEditable({
78
+ getEditingEnabled: () => this.editingEnabled,
79
+ setEditingEnabled: (editingEnabled) => {
80
+ this.editingEnabled = editingEnabled;
81
+ },
82
+ getValue: () => this.value,
83
+ setValue: (value) => {
84
+ this.setNumberValue({ origin: "direct", value });
85
+ },
86
+ setFocus: () => {
87
+ void this.setFocus();
88
+ },
89
+ emitCancel: () => {
90
+ this.calciteInputNumberInlineEditableCancel.emit();
91
+ },
92
+ emitConfirm: () => {
93
+ this.calciteInputNumberInlineEditableConfirm.emit();
94
+ },
95
+ emitEnableEditingChange: () => {
96
+ this.calciteInputNumberInlineEditableChange.emit();
97
+ }
98
+ });
99
+ this.inlineEditableLoading = false;
70
100
  this.slottedActionElDisabledInternally = false;
71
101
  this.alignment = "start";
72
102
  this.clearable = false;
73
103
  this.disabled = false;
74
104
  this.editingEnabled = false;
105
+ this.inlineEditable = false;
106
+ this.inlineEditableControls = false;
75
107
  this.groupSeparator = false;
76
108
  this.iconFlipRtl = false;
77
109
  this.integer = false;
@@ -86,11 +118,14 @@ class InputNumber extends LitElement {
86
118
  this.calciteInputNumberInput = createEvent();
87
119
  this.calciteInternalInputNumberBlur = createEvent({ cancelable: false });
88
120
  this.calciteInternalInputNumberFocus = createEvent({ cancelable: false });
121
+ this.calciteInputNumberInlineEditableCancel = createEvent({ cancelable: false });
122
+ this.calciteInputNumberInlineEditableConfirm = createEvent({ cancelable: false });
123
+ this.calciteInputNumberInlineEditableChange = createEvent({ cancelable: false });
89
124
  this.listen("click", this.clickHandler);
90
125
  this.listen("keydown", this.keyDownHandler);
91
126
  }
92
127
  static {
93
- this.properties = { displayedValue: [16, {}, { state: true }], slottedActionElDisabledInternally: [16, {}, { state: true }], alignment: [3, {}, { reflect: true }], autocomplete: 1, clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], groupSeparator: [7, {}, { reflect: true, type: Boolean }], icon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], integer: [5, {}, { type: Boolean }], label: 1, labelText: 1, loading: [7, {}, { reflect: true, type: Boolean }], localeFormat: [5, {}, { type: Boolean }], max: [11, {}, { reflect: true, type: Number }], maxLength: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], min: [11, {}, { reflect: true, type: Number }], minLength: [11, {}, { reflect: true, type: Number }], name: [3, {}, { reflect: true }], numberButtonType: [3, {}, { reflect: true }], numberingSystem: [3, {}, { reflect: true }], placeholder: 1, prefixText: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], step: [3, {}, { reflect: true }], suffixText: 1, validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
128
+ this.properties = { displayedValue: [16, {}, { state: true }], inlineEditableLoading: [16, {}, { state: true }], slottedActionElDisabledInternally: [16, {}, { state: true }], alignment: [3, {}, { reflect: true }], autocomplete: 1, clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], inlineEditable: [7, {}, { reflect: true, type: Boolean }], inlineEditableControls: [7, {}, { reflect: true, type: Boolean }], inlineEditableAfterConfirm: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], groupSeparator: [7, {}, { reflect: true, type: Boolean }], icon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], integer: [5, {}, { type: Boolean }], label: 1, labelText: 1, loading: [7, {}, { reflect: true, type: Boolean }], localeFormat: [5, {}, { type: Boolean }], max: [11, {}, { reflect: true, type: Number }], maxLength: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], min: [11, {}, { reflect: true, type: Number }], minLength: [11, {}, { reflect: true, type: Number }], name: [3, {}, { reflect: true }], numberButtonType: [3, {}, { reflect: true }], numberingSystem: [3, {}, { reflect: true }], placeholder: 1, prefixText: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], step: [3, {}, { reflect: true }], suffixText: 1, validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
94
129
  }
95
130
  static {
96
131
  this.formAssociated = true;
@@ -98,6 +133,15 @@ class InputNumber extends LitElement {
98
133
  static {
99
134
  this.styles = styles;
100
135
  }
136
+ get selfManagedInlineEditable() {
137
+ return this.inlineEditable && !this.inlineEditableEl;
138
+ }
139
+ get hasInlineEditableContext() {
140
+ return this.inlineEditable || !!this.inlineEditableEl;
141
+ }
142
+ get inlineEditableEnabledInContext() {
143
+ return this.inlineEditableEl ? this.inlineEditableEl.editingEnabled : this.editingEnabled;
144
+ }
101
145
  get isClearable() {
102
146
  return this.clearable && this.value.length > 0;
103
147
  }
@@ -200,7 +244,19 @@ class InputNumber extends LitElement {
200
244
  if (this.readOnly || this.disabled || event.defaultPrevented) {
201
245
  return;
202
246
  }
203
- if (this.isClearable && event.key === "Escape") {
247
+ if (this.selfManagedInlineEditable && this.editingEnabled && event.key === "Escape") {
248
+ event.preventDefault();
249
+ if (this.clearable && this.value?.length > 0) {
250
+ this.clearInputValue(event);
251
+ return;
252
+ }
253
+ this.useInlineEditable.cancelEditing();
254
+ requestAnimationFrame(() => {
255
+ this.enableInlineEditingButtonRef.value?.setFocus();
256
+ });
257
+ return;
258
+ }
259
+ if (this.isClearable && event.key === "Escape" && (!this.hasInlineEditableContext || this.inlineEditableEnabledInContext)) {
204
260
  this.clearInputValue(event);
205
261
  event.preventDefault();
206
262
  }
@@ -210,6 +266,10 @@ class InputNumber extends LitElement {
210
266
  }
211
267
  }
212
268
  onLabelClick() {
269
+ if (this.selfManagedInlineEditable && !this.editingEnabled) {
270
+ this.useInlineEditable.enable();
271
+ return;
272
+ }
213
273
  this.setFocus();
214
274
  }
215
275
  incrementOrDecrementNumberValue(direction, inputMax, inputMin, nativeEvent) {
@@ -249,6 +309,9 @@ class InputNumber extends LitElement {
249
309
  inputNumberBlurHandler() {
250
310
  this.stopNudging();
251
311
  this.calciteInternalInputNumberBlur.emit();
312
+ if (this.selfManagedInlineEditable && this.editingEnabled && !this.inlineEditableControls) {
313
+ this.useInlineEditable.disable();
314
+ }
252
315
  this.emitChangeIfUserModified();
253
316
  }
254
317
  clickHandler(event) {
@@ -256,7 +319,13 @@ class InputNumber extends LitElement {
256
319
  return;
257
320
  }
258
321
  const composedPath = event.composedPath();
259
- if (!composedPath.includes(this.inputWrapperRef.value) || composedPath.includes(this.actionWrapperRef.value)) {
322
+ const clickedInlineEditableControls = composedPath.some((element) => element instanceof HTMLElement && element.classList.contains(CSS$1.container));
323
+ if (!composedPath.includes(this.inputWrapperRef.value) || composedPath.includes(this.actionWrapperRef.value) || clickedInlineEditableControls) {
324
+ return;
325
+ }
326
+ if (this.selfManagedInlineEditable && !this.editingEnabled) {
327
+ event.preventDefault();
328
+ this.useInlineEditable.enable();
260
329
  return;
261
330
  }
262
331
  this.setFocus();
@@ -506,14 +575,21 @@ class InputNumber extends LitElement {
506
575
  const numberButtonsVertical = html`<div class=${safeClassMap(CSS.numberButtonWrapper)}>${numberButtonsHorizontalUp}${numberButtonsHorizontalDown}</div>`;
507
576
  const prefixText = html`<div class=${safeClassMap(CSS.prefix)}>${this.prefixText}</div>`;
508
577
  const suffixText = html`<div class=${safeClassMap(CSS.suffix)}>${this.suffixText}</div>`;
509
- const childEl = keyed("localized-input", html`<input aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${this.el.autofocus} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${this.el.enterKeyHint ?? nothing} inputmode=${(this.el.inputMode || "decimal") ?? nothing} maxlength=${this.maxLength ?? nothing} minlength=${this.minLength ?? nothing} @blur=${this.inputNumberBlurHandler} @focus=${this.inputNumberFocusHandler} @input=${this.inputNumberInputHandler} @keydown=${this.inputNumberKeyDownHandler} @keyup=${this.inputNumberKeyUpHandler} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} type=text .value=${live(this.displayedValue ?? "")} ${ref(this.childNumberRef)}>`);
578
+ const childEl = keyed("localized-input", html`<input aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${this.el.autofocus} class=${safeClassMap({
579
+ [CSS.editingEnabled]: this.inlineEditableEnabledInContext,
580
+ [CSS.inlineChild]: this.hasInlineEditableContext,
581
+ [CSS.inlineEditableChild]: !!this.inlineEditableEl
582
+ // `calcite-inline-editable` deprecated in v5.2.0, removal target v7.0.0
583
+ })} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${this.el.enterKeyHint ?? nothing} inputmode=${(this.el.inputMode || "decimal") ?? nothing} maxlength=${this.maxLength ?? nothing} minlength=${this.minLength ?? nothing} @blur=${this.inputNumberBlurHandler} @focus=${this.inputNumberFocusHandler} @input=${this.inputNumberInputHandler} @keydown=${this.inputNumberKeyDownHandler} @keyup=${this.inputNumberKeyUpHandler} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} tabindex=${(this.disabled || this.hasInlineEditableContext && !this.inlineEditableEnabledInContext ? -1 : void 0) ?? nothing} type=text .value=${live(this.displayedValue ?? "")} ${ref(this.childNumberRef)}>`);
510
584
  return this.interactiveContainer({ disabled: this.disabled, children: html`${this.labelText && InternalLabel({ labelText: this.labelText, onClick: this.onLabelClick, required: this.required, tooltipText: this.messages.required }) || ""}<div class=${safeClassMap({
511
585
  [CSS.inputWrapper]: true,
512
586
  [CSS_UTILITY.rtl]: dir === "rtl",
513
587
  [CSS.hasSuffix]: this.suffixText,
514
588
  [CSS.hasPrefix]: this.prefixText,
515
589
  [CSS.clearable]: this.isClearable
516
- })} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}${this.numberButtonType === "vertical" && !this.readOnly ? numberButtonsVertical : null}</div><div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div></div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
590
+ })} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}${this.numberButtonType === "vertical" && !this.readOnly ? numberButtonsVertical : null}</div>${this.selfManagedInlineEditable && html`<div class=${safeClassMap(CSS.inlineEditable)}>${InlineEditableControls({ cancelEditingLabel: this.messages.cancelInlineEditing, confirmChangesLabel: this.messages.confirmInlineEditingChanges, editingEnabled: this.editingEnabled, enableEditingButtonRef: this.enableInlineEditingButtonRef, enableEditingLabel: this.messages.enableInlineEditing, loading: this.inlineEditableLoading, onCancelEditing: () => this.useInlineEditable.cancelEditing(), onConfirmChanges: () => this.useInlineEditable.confirm(this.inlineEditableAfterConfirm, (loading) => {
591
+ this.inlineEditableLoading = loading;
592
+ }), onEnableEditing: () => this.useInlineEditable.enable(), scale: this.scale, showControls: this.editingEnabled && this.inlineEditableControls })}</div>` || ""}<div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div></div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
517
593
  }
518
594
  }
519
595
  customElement("calcite-input-number", InputNumber);
@@ -12,6 +12,14 @@ import type { IconName } from "../calcite-icon/interfaces.js";
12
12
  * @cssproperty [--calcite-input-action-icon-color-press] - Specifies the icon color of the component's `clearable` element when pressed.
13
13
  * @cssproperty [--calcite-input-loading-background-color] - When `loading`, specifies the background color of the component`s `loading` element.
14
14
  * @cssproperty [--calcite-input-loading-fill-color] - When `loading`, specifies the fill color of the component`s `loading` element.
15
+ * @cssproperty [--calcite-input-text-inline-editable-background-color-hover] - When `inline-editable` is enabled, specifies the background color of the component, its inline editable elements and slotted `calcite-action` wrappers, when hovered.
16
+ * @cssproperty [--calcite-input-text-inline-editable-control-background-color] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls.
17
+ * @cssproperty [--calcite-input-text-inline-editable-control-background-color-hover] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls, when hovered.
18
+ * @cssproperty [--calcite-input-text-inline-editable-control-background-color-press] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls, when pressed.
19
+ * @cssproperty [--calcite-input-text-inline-editable-control-corner-radius] - When `inline-editable` is enabled, specifies the corner radius of the component's inline editable controls.
20
+ * @cssproperty [--calcite-input-text-inline-editable-control-loader-color] - When `inline-editable` is enabled, specifies the loader color of the component's inline editable controls.
21
+ * @cssproperty [--calcite-input-text-inline-editable-control-text-color] - When `inline-editable` is enabled, specifies the text color of the component's inline editable controls.
22
+ * @cssproperty [--calcite-input-text-inline-editable-control-text-color-press] - When `inline-editable` is enabled, specifies the text color of the component's inline editable controls, when pressed or hovered.
15
23
  * @cssproperty [--calcite-input-prefix-size-x] - When `prefixText` is provided, specifies the width of the component's prefix element.
16
24
  * @cssproperty [--calcite-input-prefix-text-color] - When `prefixText` is provided, specifies the text color of the component's prefix element.
17
25
  * @cssproperty [--calcite-input-suffix-size-x] - When `suffixText` is provided, specifies the width of the component's suffix element.
@@ -67,6 +75,20 @@ export abstract class InputText extends LitElement {
67
75
  * @default false
68
76
  */
69
77
  accessor iconFlipRtl: boolean;
78
+ /**
79
+ * When `true`, enables the component's built-in inline editable behavior.
80
+ *
81
+ * @default false
82
+ */
83
+ accessor inlineEditable: boolean;
84
+ /** Specifies a callback to be executed when saving inline editable changes */
85
+ accessor inlineEditableAfterConfirm: () => Promise<void>;
86
+ /**
87
+ * When `true` and `inlineEditable` is `true`, displays the component's built-in inline editable save and cancel controls.
88
+ *
89
+ * @default false
90
+ */
91
+ accessor inlineEditableControls: boolean;
70
92
  /** Specifies an accessible label for the component's button or hyperlink. */
71
93
  accessor label: string | undefined;
72
94
  /** Specifies the component's label text. */
@@ -175,10 +197,19 @@ export abstract class InputText extends LitElement {
175
197
  setFocus(options?: FocusOptions): Promise<void>;
176
198
  /** Fires each time a new `value` is typed and committed. */
177
199
  readonly calciteInputTextChange: import("@arcgis/lumina").TargetedEvent<this, void>;
200
+ /** Fires when built-in inline editable is cancelled. */
201
+ readonly calciteInputTextInlineEditableCancel: import("@arcgis/lumina").TargetedEvent<this, void>;
202
+ /** Fires when built-in inline editable is enabled. */
203
+ readonly calciteInputTextInlineEditableChange: import("@arcgis/lumina").TargetedEvent<this, void>;
204
+ /** Fires when built-in inline editable is confirmed. */
205
+ readonly calciteInputTextInlineEditableConfirm: import("@arcgis/lumina").TargetedEvent<this, void>;
178
206
  /** Fires each time a new `value` is typed. */
179
207
  readonly calciteInputTextInput: import("@arcgis/lumina").TargetedEvent<this, void>;
180
208
  readonly "@eventTypes": {
181
209
  calciteInputTextChange: InputText["calciteInputTextChange"]["detail"];
210
+ calciteInputTextInlineEditableCancel: InputText["calciteInputTextInlineEditableCancel"]["detail"];
211
+ calciteInputTextInlineEditableChange: InputText["calciteInputTextInlineEditableChange"]["detail"];
212
+ calciteInputTextInlineEditableConfirm: InputText["calciteInputTextInlineEditableConfirm"]["detail"];
182
213
  calciteInputTextInput: InputText["calciteInputTextInput"]["detail"];
183
214
  };
184
215
  }
@@ -11,6 +11,7 @@ import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../.
11
11
  import { g as getIconScale } from "../../chunks/component.js";
12
12
  import { C as ClearButton } from "../../chunks/ClearButton.js";
13
13
  import { I as InternalLabel } from "../../chunks/InternalLabel.js";
14
+ import { U as UseInlineEditable, C as CSS$1, I as InlineEditableControls } from "../../chunks/useInlineEditable.js";
14
15
  import { V as Validation } from "../../chunks/Validation.js";
15
16
  import { u as useT9n } from "../../chunks/useT9n.js";
16
17
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
@@ -23,6 +24,9 @@ const CSS = {
23
24
  hasPrefix: "has-prefix",
24
25
  hasSuffix: "has-suffix",
25
26
  inlineChild: "inline-child",
27
+ inlineEditableChild: "inline-editable-child",
28
+ // `calcite-inline-editable` deprecated in v5.2.0, removal target v7.0.0
29
+ inlineEditable: "inline-editable",
26
30
  inputIcon: "icon",
27
31
  prefix: "prefix",
28
32
  suffix: "suffix",
@@ -36,29 +40,55 @@ const IDS = {
36
40
  const SLOTS = {
37
41
  action: "action"
38
42
  };
39
- const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:block;--calcite-internal-input-text-focus-outline-color: var( --calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)) )}:host([scale=s]){--calcite-internal-input-text-icon-padding-inline: var(--calcite-spacing-fixed-sm)}:host([scale=s]) input{padding-inline-start:var(--calcite-spacing-sm);padding-inline-end:var(--calcite-internal-input-text-input-padding-inline-end, var(--calcite-spacing-sm))}:host([scale=s]) input,:host([scale=s]) .prefix,:host([scale=s]) .suffix{block-size:1.5rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm)}:host([scale=s]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=s]) .prefix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-xxs)}:host([scale=s]) .has-suffix input{padding-inline-end:var(var(--calcite-internal-input-text-input-padding-inline-end), var(var(--calcite-spacing-xxs)))}:host([scale=s]) .suffix{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=s]) .action-wrapper{block-size:1.5rem}:host([scale=s]) .clear-button{block-size:var(--calcite-spacing-xxl)}:host([scale=m]){--calcite-internal-input-text-icon-padding-inline: var(--calcite-spacing-fixed-md)}:host([scale=m]) input{padding-inline-start:var(--calcite-spacing-md);padding-inline-end:var(--calcite-internal-input-text-input-padding-inline-end, var(--calcite-spacing-md))}:host([scale=m]) input,:host([scale=m]) .prefix,:host([scale=m]) .suffix{block-size:2rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base)}:host([scale=m]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xs)}:host([scale=m]) .prefix{padding-inline:var(--calcite-spacing-md) var(--calcite-spacing-xs)}:host([scale=m]) .has-suffix input{padding-inline-end:var(var(--calcite-internal-input-text-input-padding-inline-end), var(var(--calcite-spacing-xs)))}:host([scale=m]) .suffix{padding-inline:var(--calcite-spacing-xs) var(--calcite-spacing-md)}:host([scale=m]) .action-wrapper{block-size:2rem}:host([scale=l]){--calcite-internal-input-text-icon-padding-inline: var(--calcite-spacing-fixed-lg)}:host([scale=l]) input{padding-inline-start:var(--calcite-spacing-lg);padding-inline-end:var(--calcite-internal-input-text-input-padding-inline-end, var(--calcite-spacing-lg))}:host([scale=l]) input,:host([scale=l]) .prefix,:host([scale=l]) .suffix{block-size:2.75rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md)}:host([scale=l]) .has-prefix input{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=l]) .prefix{padding-inline:var(--calcite-spacing-lg) var(--calcite-spacing-sm)}:host([scale=l]) .has-suffix input{padding-inline-end:var(var(--calcite-internal-input-text-input-padding-inline-end), var(var(--calcite-spacing-sm)))}:host([scale=l]) .suffix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-lg)}:host([scale=l]) .action-wrapper{block-size:2.75rem}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}input{transition:var(--calcite-animation-timing),block-size 0,outline-offset 0s;-webkit-appearance:none;position:relative;margin:0;box-sizing:border-box;display:flex;max-block-size:100%;inline-size:100%;max-inline-size:100%;flex:1 1 0%;text-overflow:ellipsis;border-style:solid;font-family:inherit;font-weight:var(--calcite-font-weight-normal);outline:none;background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-text-text-color, var(--calcite-color-text-1));border-color:var(--calcite-input-text-border-color, var(--calcite-color-border-input));text-align:var(--calcite-internal-input-text-alignment);border-inline-start-width:var(--calcite-internal-input-text-input-border-inline-start-width, var(--calcite-border-width-sm));border-inline-end-width:var(--calcite-internal-input-text-input-border-inline-end-width, var(--calcite-border-width-sm));border-block-start-width:var(--calcite-internal-input-text-input-border-block-start-width, var(--calcite-border-width-sm));border-block-end-width:var(--calcite-internal-input-text-input-border-block-end-width, var(--calcite-border-width-sm))}input:placeholder-shown{text-overflow:ellipsis}.element-wrapper,input{border-radius:var(--calcite-input-text-corner-radius, var(--calcite-corner-radius-sharp))}.has-prefix input,.element-wrapper:has(.icon) input{border-start-start-radius:0;border-end-start-radius:0;--calcite-internal-input-text-input-border-inline-start-width: var(--calcite-border-width-none)}.element-wrapper:has(.clear-button) input,.has-suffix input{border-start-end-radius:0;border-end-end-radius:0;--calcite-internal-input-text-input-border-inline-end-width: var(--calcite-border-width-none)}.has-prefix .prefix,.element-wrapper:not(:has(.prefix)):has(.icon) .icon{border-start-start-radius:var(--calcite-input-text-corner-radius, var(--calcite-corner-radius-sharp));border-end-start-radius:var(--calcite-input-text-corner-radius, var(--calcite-corner-radius-sharp))}.has-suffix .suffix,:host([clearable]) .clear-button{border-end-end-radius:var(--calcite-input-text-corner-radius, var(--calcite-corner-radius-sharp));border-start-end-radius:var(--calcite-input-text-corner-radius, var(--calcite-corner-radius-sharp))}:host([clearable]) .has-suffix .clear-button{border-end-end-radius:0;border-start-end-radius:0}input:focus{border-color:var(--calcite-color-brand);color:var(--calcite-input-text-text-color-focus, var(--calcite-color-text-1))}input[readonly]{font-weight:var(--calcite-font-weight-medium);background-color:var(--calcite-input-text-background-color, var(--calcite-color-background))}input[readonly]:focus{color:var(--calcite-input-text-text-color-focus, var(--calcite-color-text-1))}:host([read-only]) .prefix,:host([read-only]) .icon,:host([read-only]) .clear-button,:host([read-only]) .suffix{background-color:var(--calcite-input-text-background-color, var(--calcite-color-background))}calcite-icon{color:var(--calcite-input-action-icon-color, var(--calcite-color-text-3))}.element-wrapper{position:relative;display:inline-flex;flex:1 1 0%;align-items:center;isolation:isolate;order:3}.element-wrapper:has(input:focus){outline:var(--calcite-border-width-md) solid var(--calcite-internal-input-text-focus-outline-color);outline-offset:calc(var(--calcite-border-width-sm) * -2)}.element-wrapper:has(input:focus) input{z-index:calc(var(--calcite-z-index) * -1)}:host([status=invalid]) .prefix,:host([status=invalid]) .icon,:host([status=invalid]) input,:host([status=invalid]) .clear-button,:host([status=invalid]) .suffix{border-color:var(--calcite-color-status-danger)}:host([status=invalid]){--calcite-internal-input-text-focus-outline-color: var(--calcite-color-status-danger)}.icon{box-sizing:border-box;display:flex;align-self:stretch;border-style:solid;border-color:var(--calcite-input-text-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-text-icon-color, var(--calcite-color-text-3));align-items:center;padding-inline-start:var(--calcite-internal-input-text-icon-padding-inline);border-block-start-width:var(--calcite-internal-input-text-icon-border-block-start-width, var(--calcite-border-width-sm));border-inline-end-width:var(--calcite-internal-input-text-icon-border-inline-end-width, var(--calcite-border-width-none));border-block-end-width:var(--calcite-internal-input-text-icon-border-block-end-width, var(--calcite-border-width-sm));border-inline-start-width:var(--calcite-internal-input-text-icon-border-inline-start-width, var(--calcite-border-width-sm))}.has-prefix .icon{--calcite-internal-input-text-icon-border-inline-start-width: var(--calcite-border-width-none)}input[type=text]::-ms-clear,input[type=text]::-ms-reveal{display:none;block-size:0px;inline-size:0px}.clear-button{box-sizing:border-box;display:flex;align-self:stretch;order:4;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-text-border-color, var(--calcite-color-border-input));border-inline-start-width:var(--calcite-border-width-none);background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1))}.has-suffix .clear-button{border-inline-end-width:0}.loader{inset-block-start:1px;inset-inline:1px;pointer-events:none;position:absolute;display:block}.loader calcite-progress{--calcite-progress-background-color: var(--calcite-input-loading-background-color);--calcite-progress-fill-color: var(--calcite-input-loading-fill-color)}.action-wrapper{order:7;display:flex}.prefix,.suffix{box-sizing:border-box;display:flex;block-size:auto;min-block-size:100%;-webkit-user-select:none;user-select:none;align-content:center;align-items:center;overflow-wrap:break-word;border-width:1px;border-style:solid;line-height:1;font-weight:var(--calcite-font-weight-regular);border-color:var(--calcite-input-text-border-color, var(--calcite-color-border-input))}.prefix{order:0;border-inline-end-width:0px;inline-size:var(--calcite-input-prefix-size-x, auto);background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-prefix-text-color, var(--calcite-color-text-2))}.suffix{order:5;border-inline-start-width:0px;inline-size:var(--calcite-input-suffix-size-x, auto);background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-suffix-text-color, var(--calcite-color-text-2))}:host([alignment=start]){--calcite-internal-input-text-alignment: start}:host([alignment=center]){--calcite-internal-input-text-alignment: center}:host([alignment=end]){--calcite-internal-input-text-alignment: end}.wrapper{position:relative;display:flex;flex-direction:row;align-items:center}:host(.border-top-color-one) input{border-block-start-color:var(--calcite-color-border-1)}input.inline-child{background-color:transparent;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out}input.inline-child .editing-enabled{background-color:inherit}input.inline-child:not(.editing-enabled){display:flex;cursor:pointer;text-overflow:ellipsis;border-color:transparent;padding-inline-start:0}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-spacing-base)}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-xxs)}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-md)}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}::slotted(input[slot=hidden-form-input]){margin:0!important;opacity:0!important;outline:none!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important;-webkit-appearance:none!important;z-index:-1!important}:host([hidden]){display:none}[hidden]{display:none}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-text-placeholder-text-color, var(--calcite-color-text-3))}.clear-button--container{display:flex;cursor:pointer;align-items:center}.clear-button--container:hover calcite-action{--calcite-action-background-color: var(--calcite-input-action-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color: var(--calcite-input-action-icon-color-hover, var(--calcite-color-text-1))}.clear-button--container:active calcite-action{--calcite-action-background-color: var(--calcite-input-action-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color: var(--calcite-input-action-icon-color-press, var(--calcite-color-text-1))}.clear-button--container calcite-action{--calcite-internal-action-height: 100%;--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-action-background-color, var(--calcite-color-foreground-2));--calcite-action-text-color: var(--calcite-input-action-icon-color)}.clear-button--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-action-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color-press: var(--calcite-input-action-icon-color-hover)}.clear-button--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-action-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color-press: var(--calcite-input-action-icon-color-press)}:host([scale=s]) .clear-button--container{padding:var(--calcite-spacing-xxs)}:host([scale=m]) .clear-button--container{padding:var(--calcite-spacing-xxs);padding-inline-end:var(--calcite-space-sm)}:host([scale=l]) .clear-button--container{padding-inline-end:var(--calcite-spacing-sm-plus)}`;
43
+ const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:block;--calcite-internal-input-text-focus-outline-color: var( --calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)) )}:host([scale=s]){--calcite-internal-input-text-icon-padding-inline: var(--calcite-spacing-fixed-sm)}:host([scale=s]) input{padding-inline-start:var(--calcite-spacing-sm);padding-inline-end:var(--calcite-internal-input-text-input-padding-inline-end, var(--calcite-spacing-sm))}:host([scale=s]) input,:host([scale=s]) .prefix,:host([scale=s]) .suffix{block-size:1.5rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm)}:host([scale=s]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=s]) .prefix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-xxs)}:host([scale=s]) .has-suffix input{padding-inline-end:var(var(--calcite-internal-input-text-input-padding-inline-end), var(var(--calcite-spacing-xxs)))}:host([scale=s]) .suffix{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=s]) .action-wrapper{block-size:1.5rem}:host([scale=s]) .clear-button{block-size:var(--calcite-spacing-xxl)}:host([scale=m]){--calcite-internal-input-text-icon-padding-inline: var(--calcite-spacing-fixed-md)}:host([scale=m]) input{padding-inline-start:var(--calcite-spacing-md);padding-inline-end:var(--calcite-internal-input-text-input-padding-inline-end, var(--calcite-spacing-md))}:host([scale=m]) input,:host([scale=m]) .prefix,:host([scale=m]) .suffix{block-size:2rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base)}:host([scale=m]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xs)}:host([scale=m]) .prefix{padding-inline:var(--calcite-spacing-md) var(--calcite-spacing-xs)}:host([scale=m]) .has-suffix input{padding-inline-end:var(var(--calcite-internal-input-text-input-padding-inline-end), var(var(--calcite-spacing-xs)))}:host([scale=m]) .suffix{padding-inline:var(--calcite-spacing-xs) var(--calcite-spacing-md)}:host([scale=m]) .action-wrapper{block-size:2rem}:host([scale=l]){--calcite-internal-input-text-icon-padding-inline: var(--calcite-spacing-fixed-lg)}:host([scale=l]) input{padding-inline-start:var(--calcite-spacing-lg);padding-inline-end:var(--calcite-internal-input-text-input-padding-inline-end, var(--calcite-spacing-lg))}:host([scale=l]) input,:host([scale=l]) .prefix,:host([scale=l]) .suffix{block-size:2.75rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md)}:host([scale=l]) .has-prefix input{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=l]) .prefix{padding-inline:var(--calcite-spacing-lg) var(--calcite-spacing-sm)}:host([scale=l]) .has-suffix input{padding-inline-end:var(var(--calcite-internal-input-text-input-padding-inline-end), var(var(--calcite-spacing-sm)))}:host([scale=l]) .suffix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-lg)}:host([scale=l]) .action-wrapper{block-size:2.75rem}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}input{transition:var(--calcite-animation-timing),block-size 0,outline-offset 0s;-webkit-appearance:none;position:relative;margin:0;box-sizing:border-box;display:flex;max-block-size:100%;inline-size:100%;max-inline-size:100%;flex:1 1 0%;text-overflow:ellipsis;border-style:solid;font-family:inherit;font-weight:var(--calcite-font-weight-normal);outline:none;background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-text-text-color, var(--calcite-color-text-1));border-color:var(--calcite-input-text-border-color, var(--calcite-color-border-input));text-align:var(--calcite-internal-input-text-alignment);border-inline-start-width:var(--calcite-internal-input-text-input-border-inline-start-width, var(--calcite-border-width-sm));border-inline-end-width:var(--calcite-internal-input-text-input-border-inline-end-width, var(--calcite-border-width-sm));border-block-start-width:var(--calcite-internal-input-text-input-border-block-start-width, var(--calcite-border-width-sm));border-block-end-width:var(--calcite-internal-input-text-input-border-block-end-width, var(--calcite-border-width-sm))}input:placeholder-shown{text-overflow:ellipsis}.element-wrapper,input{border-radius:var(--calcite-input-text-corner-radius, var(--calcite-corner-radius-sharp))}.has-prefix input,.element-wrapper:has(.icon) input{border-start-start-radius:0;border-end-start-radius:0;--calcite-internal-input-text-input-border-inline-start-width: var(--calcite-border-width-none)}.element-wrapper:has(.clear-button) input,.has-suffix input{border-start-end-radius:0;border-end-end-radius:0;--calcite-internal-input-text-input-border-inline-end-width: var(--calcite-border-width-none)}.has-prefix .prefix,.element-wrapper:not(:has(.prefix)):has(.icon) .icon{border-start-start-radius:var(--calcite-input-text-corner-radius, var(--calcite-corner-radius-sharp));border-end-start-radius:var(--calcite-input-text-corner-radius, var(--calcite-corner-radius-sharp))}.has-suffix .suffix,:host([clearable]) .clear-button{border-end-end-radius:var(--calcite-input-text-corner-radius, var(--calcite-corner-radius-sharp));border-start-end-radius:var(--calcite-input-text-corner-radius, var(--calcite-corner-radius-sharp))}:host([clearable]) .has-suffix .clear-button{border-end-end-radius:0;border-start-end-radius:0}input:focus{border-color:var(--calcite-color-brand);color:var(--calcite-input-text-text-color-focus, var(--calcite-color-text-1))}input[readonly]{font-weight:var(--calcite-font-weight-medium);background-color:var(--calcite-input-text-background-color, var(--calcite-color-background))}input[readonly]:focus{color:var(--calcite-input-text-text-color-focus, var(--calcite-color-text-1))}:host([read-only]) .prefix,:host([read-only]) .icon,:host([read-only]) .clear-button,:host([read-only]) .suffix{background-color:var(--calcite-input-text-background-color, var(--calcite-color-background))}calcite-icon{color:var(--calcite-input-action-icon-color, var(--calcite-color-text-3))}.element-wrapper{position:relative;display:inline-flex;flex:1 1 0%;align-items:center;isolation:isolate;order:3}.element-wrapper:has(input:focus){outline:var(--calcite-border-width-md) solid var(--calcite-internal-input-text-focus-outline-color);outline-offset:calc(var(--calcite-border-width-sm) * -2)}.element-wrapper:has(input:focus) input{z-index:calc(var(--calcite-z-index) * -1)}:host([status=invalid]) .prefix,:host([status=invalid]) .icon,:host([status=invalid]) input,:host([status=invalid]) .clear-button,:host([status=invalid]) .suffix{border-color:var(--calcite-color-status-danger)}:host([status=invalid]){--calcite-internal-input-text-focus-outline-color: var(--calcite-color-status-danger)}.icon{box-sizing:border-box;display:flex;align-self:stretch;border-style:solid;border-color:var(--calcite-input-text-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-text-icon-color, var(--calcite-color-text-3));align-items:center;padding-inline-start:var(--calcite-internal-input-text-icon-padding-inline);border-block-start-width:var(--calcite-internal-input-text-icon-border-block-start-width, var(--calcite-border-width-sm));border-inline-end-width:var(--calcite-internal-input-text-icon-border-inline-end-width, var(--calcite-border-width-none));border-block-end-width:var(--calcite-internal-input-text-icon-border-block-end-width, var(--calcite-border-width-sm));border-inline-start-width:var(--calcite-internal-input-text-icon-border-inline-start-width, var(--calcite-border-width-sm))}.has-prefix .icon{--calcite-internal-input-text-icon-border-inline-start-width: var(--calcite-border-width-none)}input[type=text]::-ms-clear,input[type=text]::-ms-reveal{display:none;block-size:0px;inline-size:0px}.clear-button{box-sizing:border-box;display:flex;align-self:stretch;order:4;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-text-border-color, var(--calcite-color-border-input));border-inline-start-width:var(--calcite-border-width-none);background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1))}.has-suffix .clear-button{border-inline-end-width:0}.loader{inset-block-start:1px;inset-inline:1px;pointer-events:none;position:absolute;display:block}.loader calcite-progress{--calcite-progress-background-color: var(--calcite-input-loading-background-color);--calcite-progress-fill-color: var(--calcite-input-loading-fill-color)}.inline-editable{order:7}.action-wrapper{order:8;display:flex}.prefix,.suffix{box-sizing:border-box;display:flex;block-size:auto;min-block-size:100%;-webkit-user-select:none;user-select:none;align-content:center;align-items:center;overflow-wrap:break-word;border-width:1px;border-style:solid;line-height:1;font-weight:var(--calcite-font-weight-regular);border-color:var(--calcite-input-text-border-color, var(--calcite-color-border-input))}.prefix{order:0;border-inline-end-width:0px;inline-size:var(--calcite-input-prefix-size-x, auto);background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-prefix-text-color, var(--calcite-color-text-2))}.suffix{order:5;border-inline-start-width:0px;inline-size:var(--calcite-input-suffix-size-x, auto);background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-suffix-text-color, var(--calcite-color-text-2))}:host([alignment=start]){--calcite-internal-input-text-alignment: start}:host([alignment=center]){--calcite-internal-input-text-alignment: center}:host([alignment=end]){--calcite-internal-input-text-alignment: end}.wrapper{position:relative;display:flex;flex-direction:row;align-items:center}:host(.border-top-color-one) input{border-block-start-color:var(--calcite-color-border-1)}input.inline-child{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out}input.inline-child.inline-editable-child{background-color:transparent}input.inline-child .editing-enabled{background-color:inherit}input.inline-child:not(.editing-enabled){display:flex;cursor:pointer;text-overflow:ellipsis;border-color:transparent;padding-inline-start:0}.element-wrapper:has(input.inline-child:not(.editing-enabled)) .loader,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .prefix,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .icon,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .clear-button,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .suffix{display:none}:host([inline-editable]:not([editing-enabled])) .wrapper:hover input,:host([inline-editable]:not([editing-enabled])) .wrapper:hover .inline-editable,:host([inline-editable]:not([editing-enabled])) .wrapper:hover .action-wrapper,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover input,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover .inline-editable,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover .action-wrapper{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;background-color:var(--calcite-input-text-inline-editable-background-color-hover, var(--calcite-color-foreground-2))}:host([inline-editable]) input,:host([inline-editable]) .inline-editable,:host([inline-editable]) .action-wrapper{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;background-color:var(--calcite-input-text-background-color, var(--calcite-color-foreground-1))}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-spacing-base)}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-xxs)}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-md)}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}::slotted(input[slot=hidden-form-input]){margin:0!important;opacity:0!important;outline:none!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important;-webkit-appearance:none!important;z-index:-1!important}:host([hidden]){display:none}[hidden]{display:none}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-text-placeholder-text-color, var(--calcite-color-text-3))}.clear-button--container{display:flex;cursor:pointer;align-items:center}.clear-button--container:hover calcite-action{--calcite-action-background-color: var(--calcite-input-action-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color: var(--calcite-input-action-icon-color-hover, var(--calcite-color-text-1))}.clear-button--container:active calcite-action{--calcite-action-background-color: var(--calcite-input-action-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color: var(--calcite-input-action-icon-color-press, var(--calcite-color-text-1))}.clear-button--container calcite-action{--calcite-internal-action-height: 100%;--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-action-background-color, var(--calcite-color-foreground-2));--calcite-action-text-color: var(--calcite-input-action-icon-color)}.clear-button--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-action-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color-press: var(--calcite-input-action-icon-color-hover)}.clear-button--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-action-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color-press: var(--calcite-input-action-icon-color-press)}:host([scale=s]) .clear-button--container{padding:var(--calcite-spacing-xxs)}:host([scale=m]) .clear-button--container{padding:var(--calcite-spacing-xxs);padding-inline-end:var(--calcite-space-sm)}:host([scale=l]) .clear-button--container{padding-inline-end:var(--calcite-spacing-sm-plus)}.inline-editable--container{display:flex;cursor:pointer;align-items:center}.inline-editable--container .enable-editing,.inline-editable--container .confirm-changes,.inline-editable--container .cancel-editing{margin-inline-start:var(--calcite-space-2xs)}.inline-editable--container .enable-editing{--calcite-action-text-color: var(--calcite-input-text-inline-editable-control-text-color, var(--calcite-color-text-1))}.inline-editable--container calcite-action{--calcite-action-background-color: var(--calcite-input-text-inline-editable-control-background-color);--calcite-action-corner-radius: var(--calcite-input-text-inline-editable-control-corner-radius);--calcite-action-loader-color: var(--calcite-input-text-inline-editable-control-loader-color);--calcite-action-text-color: var(--calcite-input-text-inline-editable-control-text-color)}.inline-editable--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-text-inline-editable-control-background-color-hover, var(--calcite-input-text-inline-editable-control-background-color));--calcite-action-text-color-press: var(--calcite-input-text-inline-editable-control-text-color-press, var(--calcite-input-text-inline-editable-control-text-color))}.inline-editable--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-text-inline-editable-control-background-color-press, var(--calcite-input-text-inline-editable-control-background-color));--calcite-action-text-color-press: var(--calcite-input-text-inline-editable-control-text-color-press, var(--calcite-input-text-inline-editable-control-text-color))}`;
40
44
  class InputText extends LitElement {
41
45
  constructor() {
42
46
  super();
43
47
  this.actionWrapperRef = createRef();
44
48
  this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode", "spellcheck"], this.handleGlobalAttributesChanged);
45
49
  this.childRef = createRef();
50
+ this.enableInlineEditingButtonRef = createRef();
46
51
  this.direction = useDirection();
47
52
  this.inputWrapperRef = createRef();
48
53
  this.previousValueOrigin = "initial";
49
54
  this.userChangedValue = false;
50
55
  this._value = "";
51
- this.messages = useT9n();
56
+ this.messages = useT9n({ blocking: true });
52
57
  this.focusSetter = useSetFocus()(this);
53
58
  this.formSupport = useForm({
54
59
  inputType: "text"
55
60
  })(this);
56
61
  this.interactiveContainer = useInteractive(this);
62
+ this.useInlineEditable = new UseInlineEditable({
63
+ getEditingEnabled: () => this.editingEnabled,
64
+ setEditingEnabled: (editingEnabled) => {
65
+ this.editingEnabled = editingEnabled;
66
+ },
67
+ getValue: () => this.value,
68
+ setValue: (value) => {
69
+ this.setValue({ origin: "direct", value });
70
+ },
71
+ setFocus: () => {
72
+ void this.setFocus();
73
+ },
74
+ emitCancel: () => {
75
+ this.calciteInputTextInlineEditableCancel.emit();
76
+ },
77
+ emitConfirm: () => {
78
+ this.calciteInputTextInlineEditableConfirm.emit();
79
+ },
80
+ emitEnableEditingChange: () => {
81
+ this.calciteInputTextInlineEditableChange.emit();
82
+ }
83
+ });
84
+ this.inlineEditableLoading = false;
57
85
  this.slottedActionElDisabledInternally = false;
58
86
  this.alignment = "start";
59
87
  this.clearable = false;
60
88
  this.disabled = false;
61
89
  this.editingEnabled = false;
90
+ this.inlineEditable = false;
91
+ this.inlineEditableControls = false;
62
92
  this.iconFlipRtl = false;
63
93
  this.loading = false;
64
94
  this.readOnly = false;
@@ -69,11 +99,14 @@ class InputText extends LitElement {
69
99
  this.calciteInputTextInput = createEvent();
70
100
  this.calciteInternalInputTextBlur = createEvent();
71
101
  this.calciteInternalInputTextFocus = createEvent();
102
+ this.calciteInputTextInlineEditableCancel = createEvent({ cancelable: false });
103
+ this.calciteInputTextInlineEditableConfirm = createEvent({ cancelable: false });
104
+ this.calciteInputTextInlineEditableChange = createEvent({ cancelable: false });
72
105
  this.listen("click", this.clickHandler);
73
106
  this.listen("keydown", this.keyDownHandler);
74
107
  }
75
108
  static {
76
- this.properties = { slottedActionElDisabledInternally: [16, {}, { state: true }], alignment: [3, {}, { reflect: true }], autocomplete: 1, clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], icon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], label: 1, labelText: 1, loading: [7, {}, { reflect: true, type: Boolean }], maxLength: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], minLength: [11, {}, { reflect: true, type: Number }], name: [3, {}, { reflect: true }], pattern: 1, placeholder: 1, prefixText: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], suffixText: 1, validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
109
+ this.properties = { inlineEditableLoading: [16, {}, { state: true }], slottedActionElDisabledInternally: [16, {}, { state: true }], alignment: [3, {}, { reflect: true }], autocomplete: 1, clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], inlineEditable: [7, {}, { reflect: true, type: Boolean }], inlineEditableControls: [7, {}, { reflect: true, type: Boolean }], inlineEditableAfterConfirm: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], icon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], label: 1, labelText: 1, loading: [7, {}, { reflect: true, type: Boolean }], maxLength: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], minLength: [11, {}, { reflect: true, type: Number }], name: [3, {}, { reflect: true }], pattern: 1, placeholder: 1, prefixText: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], suffixText: 1, validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
77
110
  }
78
111
  static {
79
112
  this.formAssociated = true;
@@ -81,6 +114,15 @@ class InputText extends LitElement {
81
114
  static {
82
115
  this.styles = styles;
83
116
  }
117
+ get selfManagedInlineEditable() {
118
+ return this.inlineEditable && !this.inlineEditableEl;
119
+ }
120
+ get hasInlineEditableContext() {
121
+ return this.inlineEditable || !!this.inlineEditableEl;
122
+ }
123
+ get inlineEditableEnabledInContext() {
124
+ return this.inlineEditableEl ? this.inlineEditableEl.editingEnabled : this.editingEnabled;
125
+ }
84
126
  get isClearable() {
85
127
  return this.clearable && this.value.length > 0;
86
128
  }
@@ -139,7 +181,19 @@ class InputText extends LitElement {
139
181
  if (this.readOnly || this.disabled || event.defaultPrevented) {
140
182
  return;
141
183
  }
142
- if (this.isClearable && event.key === "Escape") {
184
+ if (this.selfManagedInlineEditable && this.editingEnabled && event.key === "Escape") {
185
+ event.preventDefault();
186
+ if (this.clearable && this.value?.length > 0) {
187
+ this.clearInputTextValue(event);
188
+ return;
189
+ }
190
+ this.useInlineEditable.cancelEditing();
191
+ requestAnimationFrame(() => {
192
+ this.enableInlineEditingButtonRef.value?.setFocus();
193
+ });
194
+ return;
195
+ }
196
+ if (this.isClearable && event.key === "Escape" && (!this.hasInlineEditableContext || this.inlineEditableEnabledInContext)) {
143
197
  this.clearInputTextValue(event);
144
198
  event.preventDefault();
145
199
  }
@@ -149,6 +203,10 @@ class InputText extends LitElement {
149
203
  }
150
204
  }
151
205
  onLabelClick() {
206
+ if (this.selfManagedInlineEditable && !this.editingEnabled) {
207
+ this.useInlineEditable.enable();
208
+ return;
209
+ }
152
210
  this.setFocus();
153
211
  }
154
212
  clearInputTextValue(nativeEvent) {
@@ -170,6 +228,9 @@ class InputText extends LitElement {
170
228
  element: this.childRef.value,
171
229
  value: this.value
172
230
  });
231
+ if (this.selfManagedInlineEditable && this.editingEnabled && !this.inlineEditableControls) {
232
+ this.useInlineEditable.disable();
233
+ }
173
234
  this.emitChangeIfUserModified();
174
235
  }
175
236
  clickHandler(event) {
@@ -177,7 +238,13 @@ class InputText extends LitElement {
177
238
  return;
178
239
  }
179
240
  const composedPath = event.composedPath();
180
- if (!composedPath.includes(this.inputWrapperRef.value) || composedPath.includes(this.actionWrapperRef.value)) {
241
+ const clickedInlineEditableControls = composedPath.some((element) => element instanceof HTMLElement && element.classList.contains(CSS$1.container));
242
+ if (!composedPath.includes(this.inputWrapperRef.value) || composedPath.includes(this.actionWrapperRef.value) || clickedInlineEditableControls) {
243
+ return;
244
+ }
245
+ if (this.selfManagedInlineEditable && !this.editingEnabled) {
246
+ event.preventDefault();
247
+ this.useInlineEditable.enable();
181
248
  return;
182
249
  }
183
250
  this.setFocus();
@@ -244,16 +311,20 @@ class InputText extends LitElement {
244
311
  const prefixText = html`<div class=${safeClassMap(CSS.prefix)}>${this.prefixText}</div>`;
245
312
  const suffixText = html`<div class=${safeClassMap(CSS.suffix)}>${this.suffixText}</div>`;
246
313
  const childEl = html`<input aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${this.el.autofocus} class=${safeClassMap({
247
- [CSS.editingEnabled]: this.editingEnabled,
248
- [CSS.inlineChild]: !!this.inlineEditableEl
249
- })} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${this.el.enterKeyHint ?? nothing} inputmode=${this.el.inputMode ?? nothing} maxlength=${this.maxLength ?? nothing} minlength=${this.minLength ?? nothing} name=${this.name ?? nothing} @blur=${this.inputTextBlurHandler} @focus=${this.inputTextFocusHandler} @input=${this.inputTextInputHandler} @keydown=${this.inputTextKeyDownHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} spellcheck=${this.el.spellcheck ?? nothing} tabindex=${(this.disabled || this.inlineEditableEl && !this.editingEnabled ? -1 : void 0) ?? nothing} type=text .value=${live(this.value ?? "")} ${ref(this.childRef)}>`;
314
+ [CSS.editingEnabled]: this.inlineEditableEnabledInContext,
315
+ [CSS.inlineChild]: this.hasInlineEditableContext,
316
+ [CSS.inlineEditableChild]: !!this.inlineEditableEl
317
+ // `calcite-inline-editable` deprecated in v5.2.0, removal target v7.0.0
318
+ })} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${this.el.enterKeyHint ?? nothing} inputmode=${this.el.inputMode ?? nothing} maxlength=${this.maxLength ?? nothing} minlength=${this.minLength ?? nothing} name=${this.name ?? nothing} @blur=${this.inputTextBlurHandler} @focus=${this.inputTextFocusHandler} @input=${this.inputTextInputHandler} @keydown=${this.inputTextKeyDownHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} spellcheck=${this.el.spellcheck ?? nothing} tabindex=${(this.disabled || this.hasInlineEditableContext && !this.inlineEditableEnabledInContext ? -1 : void 0) ?? nothing} type=text .value=${live(this.value ?? "")} ${ref(this.childRef)}>`;
250
319
  return this.interactiveContainer({ disabled: this.disabled, children: html`${this.labelText && InternalLabel({ labelText: this.labelText, onClick: this.onLabelClick, required: this.required, tooltipText: this.messages.required }) || ""}<div class=${safeClassMap({
251
320
  [CSS.inputWrapper]: true,
252
321
  [CSS_UTILITY.rtl]: dir === "rtl",
253
322
  [CSS.clearable]: this.isClearable,
254
323
  [CSS.hasSuffix]: this.suffixText,
255
324
  [CSS.hasPrefix]: this.prefixText
256
- })} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}</div><div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div></div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
325
+ })} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}</div>${this.selfManagedInlineEditable && html`<div class=${safeClassMap(CSS.inlineEditable)}>${InlineEditableControls({ cancelEditingLabel: this.messages.cancelInlineEditing, confirmChangesLabel: this.messages.confirmInlineEditingChanges, editingEnabled: this.editingEnabled, enableEditingButtonRef: this.enableInlineEditingButtonRef, enableEditingLabel: this.messages.enableInlineEditing, loading: this.inlineEditableLoading, onCancelEditing: () => this.useInlineEditable.cancelEditing(), onConfirmChanges: () => this.useInlineEditable.confirm(this.inlineEditableAfterConfirm, (loading) => {
326
+ this.inlineEditableLoading = loading;
327
+ }), onEnableEditing: () => this.useInlineEditable.enable(), scale: this.scale, showControls: this.editingEnabled && this.inlineEditableControls })}</div>` || ""}<div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div></div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
257
328
  }
258
329
  }
259
330
  customElement("calcite-input-text", InputText);