@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
@@ -8,7 +8,7 @@ import { a as slotChangeGetAssignedElements } from "../../chunks/dom.js";
8
8
  import { u as useT9n } from "../../chunks/useT9n.js";
9
9
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
10
10
  import { u as useInteractive } from "../../chunks/useInteractive.js";
11
- 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}:host([scale=s]) .controls-wrapper{block-size:1.5rem}:host([scale=m]) .controls-wrapper{block-size:2rem}:host([scale=l]) .controls-wrapper{block-size:2.75rem}.wrapper{box-sizing:border-box;display:flex;justify-content:space-between;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-inline-editable-background-color, var(--calcite-color-foreground-1))}.wrapper .input-wrapper{flex:1 1 0%}:host(:not([editing-enabled]):not([disabled])) .wrapper:hover{background-color:var(--calcite-inline-editable-background-color-hover, var(--calcite-color-foreground-2))}.controls-wrapper{display:flex}.cancel-editing-button[appearance=transparent][kind=neutral]{--calcite-internal-button-text-color: var(--calcite-color-text-3);--calcite-internal-button-border-block-start-color: var(--calcite-color-border-input);--calcite-internal-button-border-block-end-color: var(--calcite-color-border-input)}.cancel-editing-button[appearance=transparent][kind=neutral]:hover{--calcite-internal-button-text-color: var(--calcite-color-text-1)}.enable-editing-button--hidden{pointer-events:none;opacity:0;inline-size:0}.enable-editing-button[appearance=transparent][kind=neutral]{--calcite-internal-button-background-color: transparent}calcite-button{--calcite-button-background-color: var(--calcite-inline-editable-button-background-color);--calcite-button-corner-radius: var(--calcite-inline-editable-button-corner-radius);--calcite-button-loader-color: var(--calcite-inline-editable-button-loader-color);--calcite-button-text-color: var(--calcite-inline-editable-button-text-color)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}:host([hidden]){display:none}[hidden]{display:none}`;
11
+ 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}:host([scale=s]) .controls-wrapper{block-size:1.5rem}:host([scale=m]) .controls-wrapper{block-size:2rem}:host([scale=l]) .controls-wrapper{block-size:2.75rem}.wrapper{box-sizing:border-box;display:flex;justify-content:space-between;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-inline-editable-background-color, var(--calcite-color-foreground-1))}.wrapper .input-wrapper{flex:1 1 0%}:host(:not([editing-enabled]):not([disabled])) .wrapper:hover{background-color:var(--calcite-inline-editable-background-color-hover, var(--calcite-color-foreground-2))}.controls-wrapper{display:flex}.enable-editing-button--hidden{pointer-events:none;opacity:0;inline-size:0}.enable-editing-button{--calcite-action-text-color: var(--calcite-inline-editable-button-text-color, var(--calcite-color-text-1))}.enable-editing-button,.confirm-changes-button,.cancel-editing-button{margin-inline-start:var(--calcite-space-2xs)}calcite-action{--calcite-action-background-color: var(--calcite-inline-editable-button-background-color);--calcite-action-corner-radius: var(--calcite-inline-editable-button-corner-radius);--calcite-action-loader-color: var(--calcite-inline-editable-button-loader-color);--calcite-action-text-color: var(--calcite-inline-editable-button-text-color)}calcite-action:hover{--calcite-action-background-color-hover: var( --calcite-inline-editable-button-background-color-hover, var(--calcite-inline-editable-button-background-color) );--calcite-action-text-color-press: var( --calcite-inline-editable-button-text-color-press, var(--calcite-inline-editable-button-text-color) )}calcite-action:active{--calcite-action-background-color-press: var( --calcite-inline-editable-button-background-color-press, var(--calcite-inline-editable-button-background-color) );--calcite-action-text-color-press: var( --calcite-inline-editable-button-text-color-press, var(--calcite-inline-editable-button-text-color) )}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}:host([hidden]){display:none}[hidden]{display:none}`;
12
12
  const CSS = {
13
13
  wrapper: "wrapper",
14
14
  confirmChangesButton: "confirm-changes-button",
@@ -28,6 +28,7 @@ class InlineEditable extends LitElement {
28
28
  constructor() {
29
29
  super();
30
30
  this.cancelEditingButtonRef = createRef();
31
+ this.confirmChangesButtonRef = createRef();
31
32
  this._editingEnabled = false;
32
33
  this.enableEditingButtonRef = createRef();
33
34
  this.shouldEmitCancel = false;
@@ -43,6 +44,9 @@ class InlineEditable extends LitElement {
43
44
  this.calciteInlineEditableEditConfirm = createEvent({ cancelable: false });
44
45
  this.calciteInternalInlineEditableEnableEditingChange = createEvent({ cancelable: false });
45
46
  this.listen("calciteInternalInputBlur", this.blurHandler);
47
+ this.listen("calciteInternalInputNumberBlur", this.blurHandler);
48
+ this.listen("calciteInternalInputTextBlur", this.blurHandler);
49
+ this.listen("keydown", this.escapeKeyHandler);
46
50
  }
47
51
  static {
48
52
  this.properties = { afterConfirm: [0, {}, { attribute: false }], controls: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], loading: [7, {}, { reflect: true, type: Boolean }], messageOverrides: [0, {}, { attribute: false }], scale: [3, {}, { reflect: true }] };
@@ -91,7 +95,7 @@ class InlineEditable extends LitElement {
91
95
  }
92
96
  }
93
97
  async handleDefaultSlotChange(event) {
94
- const inputElement = slotChangeGetAssignedElements(event).filter((el) => el.matches("calcite-input"))[0];
98
+ const inputElement = slotChangeGetAssignedElements(event).filter((el) => el.matches("calcite-input, calcite-input-number, calcite-input-text"))[0];
95
99
  this.inputEl = inputElement;
96
100
  if (!inputElement) {
97
101
  return;
@@ -131,11 +135,25 @@ class InlineEditable extends LitElement {
131
135
  this.cancelEditing();
132
136
  }
133
137
  if (event.key === "Tab" && this.shouldShowControls) {
134
- if (!event.shiftKey && event.target === this.inputEl) {
138
+ const confirmChangesButton = this.confirmChangesButtonRef.value;
139
+ const cancelEditingButton = this.cancelEditingButtonRef.value;
140
+ const composedPath = event.composedPath();
141
+ const tabFromInput = this.inputEl ? composedPath.includes(this.inputEl) : false;
142
+ const tabFromConfirm = confirmChangesButton ? composedPath.includes(confirmChangesButton) : false;
143
+ const tabFromCancel = cancelEditingButton ? composedPath.includes(cancelEditingButton) : false;
144
+ if (!event.shiftKey && tabFromConfirm) {
135
145
  event.preventDefault();
136
- this.cancelEditingButtonRef.value?.setFocus();
146
+ cancelEditingButton?.setFocus();
137
147
  }
138
- if (!!event.shiftKey && event.target === this.cancelEditingButtonRef.value) {
148
+ if (!event.shiftKey && (tabFromInput || !tabFromConfirm && !tabFromCancel)) {
149
+ event.preventDefault();
150
+ confirmChangesButton?.setFocus();
151
+ }
152
+ if (!!event.shiftKey && tabFromCancel) {
153
+ event.preventDefault();
154
+ confirmChangesButton?.setFocus();
155
+ }
156
+ if (!!event.shiftKey && tabFromConfirm) {
139
157
  event.preventDefault();
140
158
  this.inputEl?.setFocus();
141
159
  }
@@ -170,12 +188,12 @@ class InlineEditable extends LitElement {
170
188
  }
171
189
  }
172
190
  render() {
173
- return this.interactiveContainer({ disabled: this.disabled, children: html`<div class=${safeClassMap(CSS.wrapper)} @click=${this.enableEditingHandler} @keydown=${this.escapeKeyHandler}><div class=${safeClassMap(CSS.inputWrapper)}><slot @slotchange=${this.handleDefaultSlotChange}></slot></div><div class=${safeClassMap(CSS.controlsWrapper)}><calcite-button appearance=transparent class=${safeClassMap({
191
+ return this.interactiveContainer({ disabled: this.disabled, children: html`<div class=${safeClassMap(CSS.wrapper)} @click=${this.enableEditingHandler}><div class=${safeClassMap(CSS.inputWrapper)}><slot @slotchange=${this.handleDefaultSlotChange}></slot></div><div class=${safeClassMap(CSS.controlsWrapper)}><calcite-action .ariaLabel=${this.messages.enableEditing} class=${safeClassMap({
174
192
  [CSS.enableEditingButton]: true,
175
193
  [CSS.enableEditingButtonHidden]: this.editingEnabled
176
- })} .iconStart=${ICONS.pencil} kind=neutral .label=${this.messages.enableEditing} @click=${this.enableEditingHandler} .scale=${this.scale} title=${this.messages.enableEditing ?? nothing} type=button ${ref(this.enableEditingButtonRef)}></calcite-button>${this.shouldShowControls && [
177
- html`<div class=${safeClassMap(CSS.cancelEditingButtonWrapper)}><calcite-button appearance=transparent class=${safeClassMap(CSS.cancelEditingButton)} .iconStart=${ICONS.close} kind=neutral .label=${this.messages.cancelEditing} @click=${this.cancelEditingHandler} .scale=${this.scale} title=${this.messages.cancelEditing ?? nothing} type=button ${ref(this.cancelEditingButtonRef)}></calcite-button></div>`,
178
- html`<calcite-button appearance=solid class=${safeClassMap(CSS.confirmChangesButton)} .iconStart=${ICONS.check} kind=brand .label=${this.messages.confirmChanges} .loading=${this.loading} @click=${this.confirmChangesHandler} .scale=${this.scale} title=${this.messages.confirmChanges ?? nothing} type=button></calcite-button>`
194
+ })} .icon=${ICONS.pencil} @click=${this.enableEditingHandler} .scale=${this.scale} .text=${this.messages.enableEditing} title=${this.messages.enableEditing ?? nothing} type=button ${ref(this.enableEditingButtonRef)}></calcite-action>${this.shouldShowControls && [
195
+ html`<calcite-action .ariaLabel=${this.messages.confirmChanges} class=${safeClassMap(CSS.confirmChangesButton)} .icon=${ICONS.check} .loading=${this.loading} @click=${this.confirmChangesHandler} .scale=${this.scale} .text=${this.messages.confirmChanges} title=${this.messages.confirmChanges ?? nothing} type=button ${ref(this.confirmChangesButtonRef)}></calcite-action>`,
196
+ html`<div class=${safeClassMap(CSS.cancelEditingButtonWrapper)}><calcite-action .ariaLabel=${this.messages.cancelEditing} class=${safeClassMap(CSS.cancelEditingButton)} .icon=${ICONS.close} @click=${this.cancelEditingHandler} .scale=${this.scale} .text=${this.messages.cancelEditing} title=${this.messages.cancelEditing ?? nothing} type=button ${ref(this.cancelEditingButtonRef)}></calcite-action></div>`
179
197
  ] || ""}</div></div>` });
180
198
  }
181
199
  }
@@ -1,2 +1,2 @@
1
- import "../calcite-button/index.js";
1
+ import "../calcite-action/index.js";
2
2
  export * from "./customElement.js";
@@ -25,6 +25,14 @@ import type { InputPlacement } from "./interfaces.js";
25
25
  * @cssproperty [--calcite-input-actions-icon-color-press] - Specifies the icon color of the component's `clearable` and `number-button-type` elements when pressed.
26
26
  * @cssproperty [--calcite-input-loading-background-color] - When `loading`, specifies the background color of the component's `loading` element.
27
27
  * @cssproperty [--calcite-input-loading-fill-color] - When `loading`, specifies the fill color of the component's `loading` element.
28
+ * @cssproperty [--calcite-input-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.
29
+ * @cssproperty [--calcite-input-inline-editable-control-background-color] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls.
30
+ * @cssproperty [--calcite-input-inline-editable-control-background-color-hover] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls, when hovered.
31
+ * @cssproperty [--calcite-input-inline-editable-control-background-color-press] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls, when pressed.
32
+ * @cssproperty [--calcite-input-inline-editable-control-corner-radius] - When `inline-editable` is enabled, specifies the corner radius of the component's inline editable controls.
33
+ * @cssproperty [--calcite-input-inline-editable-control-loader-color] - When `inline-editable` is enabled, specifies the loader color of the component's inline editable controls.
34
+ * @cssproperty [--calcite-input-inline-editable-control-text-color] - When `inline-editable` is enabled, specifies the text color of the component's inline editable controls.
35
+ * @cssproperty [--calcite-input-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.
28
36
  * @slot [action] - A slot for positioning a `calcite-action` or other interactive content adjacent to the component.
29
37
  * @slot [label-content] - A slot for rendering content next to the component's `labelText`.
30
38
  */
@@ -84,6 +92,20 @@ export abstract class Input extends LitElement {
84
92
  * @default false
85
93
  */
86
94
  accessor iconFlipRtl: boolean;
95
+ /**
96
+ * When `true`, enables the component's built-in inline editable behavior.
97
+ *
98
+ * @default false
99
+ */
100
+ accessor inlineEditable: boolean;
101
+ /** Specifies a callback to be executed when saving inline editable changes */
102
+ accessor inlineEditableAfterConfirm: () => Promise<void>;
103
+ /**
104
+ * When `true` and `inlineEditable` is `true`, displays the component's built-in inline editable save and cancel controls.
105
+ *
106
+ * @default false
107
+ */
108
+ accessor inlineEditableControls: boolean;
87
109
  /** Specifies an accessible label for the component. */
88
110
  accessor label: string | undefined;
89
111
  /** Specifies the component's label text. */
@@ -236,10 +258,19 @@ export abstract class Input extends LitElement {
236
258
  setFocus(options?: FocusOptions): Promise<void>;
237
259
  /** Fires each time a new `value` is typed and committed. */
238
260
  readonly calciteInputChange: import("@arcgis/lumina").TargetedEvent<this, void>;
261
+ /** Fires when built-in inline editable is cancelled. */
262
+ readonly calciteInputInlineEditableCancel: import("@arcgis/lumina").TargetedEvent<this, void>;
263
+ /** Fires when built-in inline editable is enabled. */
264
+ readonly calciteInputInlineEditableChange: import("@arcgis/lumina").TargetedEvent<this, void>;
265
+ /** Fires when built-in inline editable is confirmed. */
266
+ readonly calciteInputInlineEditableConfirm: import("@arcgis/lumina").TargetedEvent<this, void>;
239
267
  /** Fires each time a new `value` is typed. */
240
268
  readonly calciteInputInput: import("@arcgis/lumina").TargetedEvent<this, void>;
241
269
  readonly "@eventTypes": {
242
270
  calciteInputChange: Input["calciteInputChange"]["detail"];
271
+ calciteInputInlineEditableCancel: Input["calciteInputInlineEditableCancel"]["detail"];
272
+ calciteInputInlineEditableChange: Input["calciteInputInlineEditableChange"]["detail"];
273
+ calciteInputInlineEditableConfirm: Input["calciteInputInlineEditableConfirm"]["detail"];
243
274
  calciteInputInput: Input["calciteInputInput"]["detail"];
244
275
  };
245
276
  }
@@ -12,6 +12,7 @@ import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../.
12
12
  import { i as isValidNumber, B as BigDecimal, n as numberStringFormatter, p as parseNumberString, s as sanitizeNumberString, a as addLocalizedTrailingDecimalZeros } from "../../chunks/locale.js";
13
13
  import { g as getIconScale } from "../../chunks/component.js";
14
14
  import { I as InternalLabel } from "../../chunks/InternalLabel.js";
15
+ import { U as UseInlineEditable, C as CSS$1, I as InlineEditableControls } from "../../chunks/useInlineEditable.js";
15
16
  import { V as Validation } from "../../chunks/Validation.js";
16
17
  import { u as useT9n } from "../../chunks/useT9n.js";
17
18
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
@@ -23,6 +24,9 @@ const CSS = {
23
24
  clearButton: "clear-button",
24
25
  editingEnabled: "editing-enabled",
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",
@@ -58,7 +62,7 @@ const ICONS = {
58
62
  chevronDown: "chevron-down"
59
63
  };
60
64
  const NUDGE_DELAY_IN_MS = 150;
61
- 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-focus-outline-color: var( --calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)) );--calcite-internal-input-number-button-item-height: auto}:host([scale=s]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-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]) 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]) input[type=file]{min-block-size:1.5rem}:host([scale=s]) .number-button-wrapper,:host([scale=s]) .action-wrapper{block-size: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-button-item-horizontal-padding: var(--calcite-spacing-xxs)}:host([scale=s]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 8px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-xxs);--calcite-internal-input-number-button-item-vertical-padding: 3px}:host([scale=m]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-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]) 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]) input[type=file]{min-block-size:2rem}:host([scale=m]) .number-button-wrapper,:host([scale=m]) .action-wrapper{block-size:2rem}:host([scale=m]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-space-sm)}:host([scale=m]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 11px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-space-sm);--calcite-internal-input-number-button-item-vertical-padding: var(--calcite-space-2xs)}:host([scale=l]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-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]) 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]) input[type=file]{min-block-size:2.75rem}:host([scale=l]) .number-button-wrapper,:host([scale=l]) .action-wrapper{block-size:2.75rem}:host([scale=l]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus)}:host([scale=l]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 16px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus);--calcite-internal-input-number-button-item-vertical-padding: 5px}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}input{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-width:1px;border-style:solid;font-family:inherit;font-weight:var(--calcite-font-weight-normal);outline:none;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-text-color, var(--calcite-color-text-1));transition:var(--calcite-animation-timing),block-size 0,outline-offset 0s;-webkit-appearance:none}input:placeholder-shown{text-overflow:ellipsis}.element-wrapper,input{border-radius:var(--calcite-input-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,.element-wrapper:has(.clear-button) input,:host([number-button-type=vertical][type=number]) input,:host([number-button-type=horizontal]) .has-suffix .suffix,:host([number-button-type=vertical][type=number]) .has-suffix .suffix,:host([number-button-type=vertical][type=number]) .clear-button,:host([number-button-type=horizontal][type=number]) .clear-button{border-start-end-radius:0;border-end-end-radius:0}:host([number-button-type=horizontal]) input{border-start-start-radius:0;border-start-end-radius:0;border-end-start-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-corner-radius, var(--calcite-corner-radius-sharp));border-end-start-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}.has-suffix .suffix,:host([number-button-type=vertical][type=number][read-only]) .has-suffix .suffix,:host([clearable]) .clear-button,:host([number-button-type=horizontal]) .number-button-item[data-adjustment=up]{border-end-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-start-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}:host([clearable]) .has-suffix .clear-button{border-end-end-radius:0;border-start-end-radius:0}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input:focus{border-color:var(--calcite-color-brand);color:var(--calcite-input-text-color, var(--calcite-color-text-1))}input[readonly]{font-weight:var(--calcite-font-weight-medium);background-color:var(--calcite-input-background-color, var(--calcite-color-background))}input[readonly]:focus{color:var(--calcite-input-text-color, 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-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-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-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-border-color, var(--calcite-color-border-input));border-inline-end-width:var(--calcite-border-width-none);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-icon-color, var(--calcite-color-text-3));align-items:center;padding-inline-start:var(--calcite-internal-input-icon-padding-inline)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .icon,.has-prefix .icon{border-inline-start-width:0}input[type=text]::-ms-clear,input[type=text]::-ms-reveal{display:none;block-size:0px;inline-size:0px}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration,input[type=date]::-webkit-clear-button,input[type=time]::-webkit-clear-button{display:none}.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-border-color, var(--calcite-color-border-input));border-inline-start-width:var(--calcite-border-width-none);background-color:var(--calcite-input-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:1px;inset-inline:1px;pointer-events:none;position:absolute;display:block;--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-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-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-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]) input{text-align:start}:host([alignment=end]) input{text-align:end}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:textfield;margin:0}.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{border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));max-block-size:100%;min-block-size:100%;align-self:stretch;border-width:1px;border-style:solid}.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-end-width:0px;order:0;padding-inline-start:var(--calcite-internal-input-number-button-item-horizontal-padding)}.number-button-item.number-button-item--horizontal[data-adjustment=up]{border-inline-start-width:0px;order:5;padding-inline-end:var(--calcite-internal-input-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item{padding-inline-end:var(--calcite-internal-input-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=up]{border-start-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-block-end-width:var(--calcite-border-width-none);padding-block-start:var(--calcite-internal-input-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-corner-radius, var(--calcite-corner-radius-sharp));padding-block-end:var(--calcite-internal-input-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-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-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-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;border-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));box-shadow:var(--calcite-input-shadow, var(--calcite-shadow-none))}input[type=date]::-webkit-input-placeholder{visibility:hidden!important}:host([type=color]) input{padding:.25rem}:host([type=file]) input{cursor:pointer;border-width:1px;border-style:dashed;background-color:var(--calcite-color-foreground-1);text-align:center;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));block-size:initial}:host([type=file][scale=s]) input{padding-block:1px;padding-inline:.5rem}:host([type=file][scale=m]) input{padding-block:.25rem;padding-inline:.75rem}:host([type=file][scale=l]) input{padding-block:.5rem;padding-inline:1rem}: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}:host([type=datetime-local]) .element-wrapper{inline-size:100%}:host([type=datetime-local]) .element-wrapper input{display:inline-block;min-inline-size: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-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)}`;
65
+ 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-focus-outline-color: var( --calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)) );--calcite-internal-input-number-button-item-height: auto}:host([scale=s]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-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]) 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]) input[type=file]{min-block-size:1.5rem}:host([scale=s]) .number-button-wrapper,:host([scale=s]) .action-wrapper{block-size: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-button-item-horizontal-padding: var(--calcite-spacing-xxs)}:host([scale=s]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 8px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-xxs);--calcite-internal-input-number-button-item-vertical-padding: 3px}:host([scale=m]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-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]) 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]) input[type=file]{min-block-size:2rem}:host([scale=m]) .number-button-wrapper,:host([scale=m]) .action-wrapper{block-size:2rem}:host([scale=m]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-space-sm)}:host([scale=m]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 11px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-space-sm);--calcite-internal-input-number-button-item-vertical-padding: var(--calcite-space-2xs)}:host([scale=l]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-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]) 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]) input[type=file]{min-block-size:2.75rem}:host([scale=l]) .number-button-wrapper,:host([scale=l]) .action-wrapper{block-size:2.75rem}:host([scale=l]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus)}:host([scale=l]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 16px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus);--calcite-internal-input-number-button-item-vertical-padding: 5px}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}input{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-width:1px;border-style:solid;font-family:inherit;font-weight:var(--calcite-font-weight-normal);outline:none;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-text-color, var(--calcite-color-text-1));transition:var(--calcite-animation-timing),block-size 0,outline-offset 0s;-webkit-appearance:none}input:placeholder-shown{text-overflow:ellipsis}.element-wrapper,input{border-radius:var(--calcite-input-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,.element-wrapper:has(.clear-button) input,:host([number-button-type=vertical][type=number]) input,:host([number-button-type=horizontal]) .has-suffix .suffix,:host([number-button-type=vertical][type=number]) .has-suffix .suffix,:host([number-button-type=vertical][type=number]) .clear-button,:host([number-button-type=horizontal][type=number]) .clear-button{border-start-end-radius:0;border-end-end-radius:0}:host([number-button-type=horizontal]) input{border-start-start-radius:0;border-start-end-radius:0;border-end-start-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-corner-radius, var(--calcite-corner-radius-sharp));border-end-start-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}.has-suffix .suffix,:host([number-button-type=vertical][type=number][read-only]) .has-suffix .suffix,:host([clearable]) .clear-button,:host([number-button-type=horizontal]) .number-button-item[data-adjustment=up]{border-end-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-start-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}:host([clearable]) .has-suffix .clear-button{border-end-end-radius:0;border-start-end-radius:0}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input:focus{border-color:var(--calcite-color-brand);color:var(--calcite-input-text-color, var(--calcite-color-text-1))}input[readonly]{font-weight:var(--calcite-font-weight-medium);background-color:var(--calcite-input-background-color, var(--calcite-color-background))}input[readonly]:focus{color:var(--calcite-input-text-color, 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-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-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-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-border-color, var(--calcite-color-border-input));border-inline-end-width:var(--calcite-border-width-none);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-icon-color, var(--calcite-color-text-3));align-items:center;padding-inline-start:var(--calcite-internal-input-icon-padding-inline)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .icon,.has-prefix .icon{border-inline-start-width:0}input[type=text]::-ms-clear,input[type=text]::-ms-reveal{display:none;block-size:0px;inline-size:0px}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration,input[type=date]::-webkit-clear-button,input[type=time]::-webkit-clear-button{display:none}.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-border-color, var(--calcite-color-border-input));border-inline-start-width:var(--calcite-border-width-none);background-color:var(--calcite-input-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:1px;inset-inline:1px;pointer-events:none;position:absolute;display:block;--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-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-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-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]) input{text-align:start}:host([alignment=end]) input{text-align:end}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:textfield;margin:0}.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{border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));max-block-size:100%;min-block-size:100%;align-self:stretch;border-width:1px;border-style:solid}.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-end-width:0px;order:0;padding-inline-start:var(--calcite-internal-input-number-button-item-horizontal-padding)}.number-button-item.number-button-item--horizontal[data-adjustment=up]{border-inline-start-width:0px;order:5;padding-inline-end:var(--calcite-internal-input-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item{padding-inline-end:var(--calcite-internal-input-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=up]{border-start-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-block-end-width:var(--calcite-border-width-none);padding-block-start:var(--calcite-internal-input-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-corner-radius, var(--calcite-corner-radius-sharp));padding-block-end:var(--calcite-internal-input-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-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-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-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;border-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));box-shadow:var(--calcite-input-shadow, var(--calcite-shadow-none))}input[type=date]::-webkit-input-placeholder{visibility:hidden!important}:host([type=color]) input{padding:.25rem}:host([type=file]) input{cursor:pointer;border-width:1px;border-style:dashed;background-color:var(--calcite-color-foreground-1);text-align:center;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));block-size:initial}:host([type=file][scale=s]) input{padding-block:1px;padding-inline:.5rem}:host([type=file][scale=m]) input{padding-block:.25rem;padding-inline:.75rem}:host([type=file][scale=l]) input{padding-block:.5rem;padding-inline:1rem}: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-inline-editable-background-color-hover, var(--calcite-color-foreground-2))}: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-background-color, var(--calcite-color-foreground-1))}:host([type=datetime-local]) .element-wrapper{inline-size:100%}:host([type=datetime-local]) .element-wrapper input{display:inline-block;min-inline-size: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-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-inline-editable-control-text-color, var(--calcite-color-text-1))}.inline-editable--container calcite-action{--calcite-action-background-color: var(--calcite-input-inline-editable-control-background-color);--calcite-action-corner-radius: var(--calcite-input-inline-editable-control-corner-radius);--calcite-action-loader-color: var(--calcite-input-inline-editable-control-loader-color);--calcite-action-text-color: var(--calcite-input-inline-editable-control-text-color)}.inline-editable--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-inline-editable-control-background-color-hover, var(--calcite-input-inline-editable-control-background-color));--calcite-action-text-color-press: var(--calcite-input-inline-editable-control-text-color-press, var(--calcite-input-inline-editable-control-text-color))}.inline-editable--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-inline-editable-control-background-color-press, var(--calcite-input-inline-editable-control-background-color));--calcite-action-text-color-press: var(--calcite-input-inline-editable-control-text-color-press, var(--calcite-input-inline-editable-control-text-color))}`;
62
66
  class Input extends LitElement {
63
67
  constructor() {
64
68
  super();
@@ -66,6 +70,7 @@ class Input extends LitElement {
66
70
  this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode", "spellcheck"], this.handleGlobalAttributesChanged);
67
71
  this.childRef = createRef();
68
72
  this.childNumberRef = createRef();
73
+ this.enableInlineEditingButtonRef = createRef();
69
74
  this.direction = useDirection();
70
75
  this.formSupport = useForm({
71
76
  inputType: "text",
@@ -78,11 +83,36 @@ class Input extends LitElement {
78
83
  this.messages = useT9n({ blocking: true });
79
84
  this.focusSetter = useSetFocus()(this);
80
85
  this.interactiveContainer = useInteractive(this);
86
+ this.useInlineEditable = new UseInlineEditable({
87
+ getEditingEnabled: () => this.editingEnabled,
88
+ setEditingEnabled: (editingEnabled) => {
89
+ this.editingEnabled = editingEnabled;
90
+ },
91
+ getValue: () => this.value,
92
+ setValue: (value) => {
93
+ this.setValue({ origin: "direct", value });
94
+ },
95
+ setFocus: () => {
96
+ void this.setFocus();
97
+ },
98
+ emitCancel: () => {
99
+ this.calciteInputInlineEditableCancel.emit();
100
+ },
101
+ emitConfirm: () => {
102
+ this.calciteInputInlineEditableConfirm.emit();
103
+ },
104
+ emitEnableEditingChange: () => {
105
+ this.calciteInputInlineEditableChange.emit();
106
+ }
107
+ });
108
+ this.inlineEditableLoading = false;
81
109
  this.slottedActionElDisabledInternally = false;
82
110
  this.alignment = "start";
83
111
  this.clearable = false;
84
112
  this.disabled = false;
85
113
  this.editingEnabled = false;
114
+ this.inlineEditable = false;
115
+ this.inlineEditableControls = false;
86
116
  this.groupSeparator = false;
87
117
  this.iconFlipRtl = false;
88
118
  this.loading = false;
@@ -98,11 +128,14 @@ class Input extends LitElement {
98
128
  this.calciteInputInput = createEvent();
99
129
  this.calciteInternalInputBlur = createEvent({ cancelable: false });
100
130
  this.calciteInternalInputFocus = createEvent({ cancelable: false });
131
+ this.calciteInputInlineEditableCancel = createEvent({ cancelable: false });
132
+ this.calciteInputInlineEditableConfirm = createEvent({ cancelable: false });
133
+ this.calciteInputInlineEditableChange = createEvent({ cancelable: false });
101
134
  this.listen("click", this.clickHandler);
102
135
  this.listen("keydown", this.keyDownHandler);
103
136
  }
104
137
  static {
105
- this.properties = { displayedValue: [16, {}, { state: true }], slottedActionElDisabledInternally: [16, {}, { state: true }], accept: 1, alignment: [3, {}, { reflect: true }], autocomplete: 1, clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], files: [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 }], 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 }], multiple: [5, {}, { type: Boolean }], name: [3, {}, { reflect: true }], numberButtonType: [3, {}, { reflect: true }], numberingSystem: [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 }], step: [3, {}, { reflect: true }], suffixText: 1, type: [3, {}, { reflect: true }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
138
+ this.properties = { displayedValue: [16, {}, { state: true }], inlineEditableLoading: [16, {}, { state: true }], slottedActionElDisabledInternally: [16, {}, { state: true }], accept: 1, 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 }], files: [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 }], 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 }], multiple: [5, {}, { type: Boolean }], name: [3, {}, { reflect: true }], numberButtonType: [3, {}, { reflect: true }], numberingSystem: [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 }], step: [3, {}, { reflect: true }], suffixText: 1, type: [3, {}, { reflect: true }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
106
139
  }
107
140
  static {
108
141
  this.formAssociated = true;
@@ -110,6 +143,12 @@ class Input extends LitElement {
110
143
  static {
111
144
  this.styles = styles;
112
145
  }
146
+ get selfManagedInlineEditable() {
147
+ return this.inlineEditable && !this.inlineEditableEl;
148
+ }
149
+ get hasInlineEditableContext() {
150
+ return this.inlineEditable || !!this.inlineEditableEl;
151
+ }
113
152
  get isClearable() {
114
153
  return (this.clearable || this.type === "search") && this.value?.length > 0;
115
154
  }
@@ -211,7 +250,19 @@ class Input extends LitElement {
211
250
  if (this.readOnly || this.disabled || event.defaultPrevented) {
212
251
  return;
213
252
  }
214
- if (this.isClearable && event.key === "Escape") {
253
+ if (this.selfManagedInlineEditable && this.editingEnabled && event.key === "Escape") {
254
+ event.preventDefault();
255
+ if (this.clearable && this.value?.length > 0) {
256
+ this.clearInputValue(event);
257
+ return;
258
+ }
259
+ this.useInlineEditable.cancelEditing();
260
+ requestAnimationFrame(() => {
261
+ this.enableInlineEditingButtonRef.value?.setFocus();
262
+ });
263
+ return;
264
+ }
265
+ if (this.isClearable && event.key === "Escape" && (!this.hasInlineEditableContext || this.editingEnabled)) {
215
266
  this.clearInputValue(event);
216
267
  event.preventDefault();
217
268
  }
@@ -221,6 +272,10 @@ class Input extends LitElement {
221
272
  }
222
273
  }
223
274
  onLabelClick() {
275
+ if (this.selfManagedInlineEditable && !this.editingEnabled) {
276
+ this.useInlineEditable.enable();
277
+ return;
278
+ }
224
279
  this.setFocus();
225
280
  }
226
281
  incrementOrDecrementNumberValue(direction, inputMax, inputMin, nativeEvent) {
@@ -250,6 +305,16 @@ class Input extends LitElement {
250
305
  value: ""
251
306
  });
252
307
  }
308
+ clearButtonPointerDownHandler(event) {
309
+ event.preventDefault();
310
+ }
311
+ clearButtonClickHandler(event) {
312
+ event.preventDefault();
313
+ event.stopPropagation();
314
+ this.clearInputValue(event);
315
+ const target = this.type === "number" ? this.childNumberRef.value : this.childRef.value;
316
+ target?.focus();
317
+ }
253
318
  emitChangeIfUserModified() {
254
319
  if (this.previousValueOrigin === "user" && this.value !== this.previousEmittedValue) {
255
320
  this.calciteInputChange.emit();
@@ -259,6 +324,9 @@ class Input extends LitElement {
259
324
  inputBlurHandler() {
260
325
  this.stopNudging();
261
326
  this.calciteInternalInputBlur.emit();
327
+ if (this.selfManagedInlineEditable && this.editingEnabled && !this.inlineEditableControls) {
328
+ this.useInlineEditable.disable();
329
+ }
262
330
  this.emitChangeIfUserModified();
263
331
  }
264
332
  clickHandler(event) {
@@ -266,7 +334,13 @@ class Input extends LitElement {
266
334
  return;
267
335
  }
268
336
  const composedPath = event.composedPath();
269
- if (!composedPath.includes(this.inputWrapperRef.value) || composedPath.includes(this.actionWrapperRef.value)) {
337
+ const clickedInlineEditableControls = composedPath.some((element) => element instanceof HTMLElement && element.classList.contains(CSS$1.container));
338
+ if (!composedPath.includes(this.inputWrapperRef.value) || composedPath.includes(this.actionWrapperRef.value) || clickedInlineEditableControls) {
339
+ return;
340
+ }
341
+ if (this.selfManagedInlineEditable && !this.editingEnabled) {
342
+ event.preventDefault();
343
+ this.useInlineEditable.enable();
270
344
  return;
271
345
  }
272
346
  this.setFocus();
@@ -497,7 +571,7 @@ class Input extends LitElement {
497
571
  render() {
498
572
  const dir = this.direction;
499
573
  const loader = html`<div class=${safeClassMap(CSS.loader)}><calcite-progress .label=${this.messages.loading} type=indeterminate></calcite-progress></div>`;
500
- const clearButton = html`<div class=${safeClassMap(CSS.clearButton)} @click=${this.disabled || this.readOnly ? void 0 : this.clearInputValue}>${ClearButton({ ariaLabel: this.messages.clear, disabled: this.disabled || this.readOnly, scale: this.scale, title: this.messages.clear })}</div>`;
574
+ const clearButton = html`<div class=${safeClassMap(CSS.clearButton)} @click=${this.disabled || this.readOnly ? void 0 : this.clearButtonClickHandler} @pointerdown=${this.disabled || this.readOnly ? void 0 : this.clearButtonPointerDownHandler}>${ClearButton({ ariaLabel: this.messages.clear, disabled: this.disabled || this.readOnly, scale: this.scale, title: this.messages.clear })}</div>`;
501
575
  const iconEl = html`<div class=${safeClassMap(CSS.inputIcon)}><calcite-icon .flipRtl=${this.iconFlipRtl} .icon=${this.requestedIcon} .scale=${getIconScale(this.scale)}></calcite-icon></div>`;
502
576
  const isHorizontalNumberButton = this.numberButtonType === "horizontal";
503
577
  const numberButtonsHorizontalUp = html`<div aria-hidden=true class=${safeClassMap({
@@ -514,17 +588,26 @@ class Input extends LitElement {
514
588
  const autofocus = this.el.autofocus;
515
589
  const enterKeyHint = this.el.enterKeyHint;
516
590
  const inputMode = this.el.inputMode;
517
- const localeNumberInput = this.type === "number" ? keyed("localized-input", html`<input accept=${this.accept ?? nothing} aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${autofocus} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${enterKeyHint ?? nothing} inputmode=${inputMode ?? nothing} maxlength=${this.maxLength ?? nothing} minlength=${this.minLength ?? nothing} .multiple=${this.multiple} @blur=${this.inputBlurHandler} @focus=${this.inputFocusHandler} @input=${this.inputNumberInputHandler} @keydown=${this.inputNumberKeyDownHandler} @keyup=${this.inputKeyUpHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} type=text .value=${live(this.displayedValue ?? "")} ${ref(this.childNumberRef)}>`) : null;
591
+ const localeNumberInput = this.type === "number" ? keyed("localized-input", html`<input accept=${this.accept ?? nothing} aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${autofocus} class=${safeClassMap({
592
+ [CSS.editingEnabled]: this.editingEnabled,
593
+ [CSS.inlineChild]: this.hasInlineEditableContext,
594
+ [CSS.inlineEditableChild]: !!this.inlineEditableEl
595
+ // `calcite-inline-editable` deprecated in v5.2.0, removal target v7.0.0
596
+ })} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${enterKeyHint ?? nothing} inputmode=${inputMode ?? nothing} maxlength=${this.maxLength ?? nothing} minlength=${this.minLength ?? nothing} .multiple=${this.multiple} @blur=${this.inputBlurHandler} @focus=${this.inputFocusHandler} @input=${this.inputNumberInputHandler} @keydown=${this.inputNumberKeyDownHandler} @keyup=${this.inputKeyUpHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} tabindex=${(this.disabled || this.hasInlineEditableContext && !this.editingEnabled ? -1 : void 0) ?? nothing} type=text .value=${live(this.displayedValue ?? "")} ${ref(this.childNumberRef)}>`) : null;
518
597
  const childEl = this.type !== "number" ? html`<input accept=${this.accept ?? nothing} aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${autofocus} class=${safeClassMap({
519
598
  [CSS.editingEnabled]: this.editingEnabled,
520
- [CSS.inlineChild]: !!this.inlineEditableEl
521
- })} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${enterKeyHint ?? nothing} inputmode=${inputMode ?? nothing} max=${this.maxString ?? nothing} maxlength=${this.maxLength ?? nothing} min=${this.minString ?? nothing} minlength=${this.minLength ?? nothing} .multiple=${this.multiple} name=${this.name ?? nothing} @blur=${this.inputBlurHandler} @focus=${this.inputFocusHandler} @input=${this.inputInputHandler} @keydown=${this.inputKeyDownHandler} @keyup=${this.inputKeyUpHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} spellcheck=${this.el.spellcheck ?? nothing} step=${this.step ?? nothing} tabindex=${(this.disabled || this.inlineEditableEl && !this.editingEnabled ? -1 : void 0) ?? nothing} type=${this.type ?? nothing} .value=${live(this.value ?? "")} ${ref(this.childRef)}>` : null;
599
+ [CSS.inlineChild]: this.hasInlineEditableContext,
600
+ [CSS.inlineEditableChild]: !!this.inlineEditableEl
601
+ // `calcite-inline-editable` deprecated in v5.2.0, removal target v7.0.0
602
+ })} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${enterKeyHint ?? nothing} inputmode=${inputMode ?? nothing} max=${this.maxString ?? nothing} maxlength=${this.maxLength ?? nothing} min=${this.minString ?? nothing} minlength=${this.minLength ?? nothing} .multiple=${this.multiple} name=${this.name ?? nothing} @blur=${this.inputBlurHandler} @focus=${this.inputFocusHandler} @input=${this.inputInputHandler} @keydown=${this.inputKeyDownHandler} @keyup=${this.inputKeyUpHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} spellcheck=${this.el.spellcheck ?? nothing} step=${this.step ?? nothing} tabindex=${(this.disabled || this.hasInlineEditableContext && !this.editingEnabled ? -1 : void 0) ?? nothing} type=${this.type ?? nothing} .value=${live(this.value ?? "")} ${ref(this.childRef)}>` : null;
522
603
  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({
523
604
  [CSS.inputWrapper]: true,
524
605
  [CSS_UTILITY.rtl]: dir === "rtl",
525
606
  [CSS.hasSuffix]: this.suffixText,
526
607
  [CSS.hasPrefix]: this.prefixText
527
- })} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${localeNumberInput}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}${this.type === "number" && 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}` });
608
+ })} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${localeNumberInput}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}${this.type === "number" && 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) => {
609
+ this.inlineEditableLoading = loading;
610
+ }), 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}` });
528
611
  }
529
612
  }
530
613
  customElement("calcite-input", Input);
@@ -26,6 +26,14 @@ import type { IconName } from "../calcite-icon/interfaces.js";
26
26
  * @cssproperty [--calcite-input-prefix-text-color] - When `prefixText` is provided, specifies the text color of the component's prefix element.
27
27
  * @cssproperty [--calcite-input-suffix-size] - When `suffixText` is provided, specifies the width of the component's suffix element.
28
28
  * @cssproperty [--calcite-input-suffix-text-color] - When `suffixText` is provided, specifies the text color of the component's suffix element.
29
+ * @cssproperty [--calcite-input-number-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.
30
+ * @cssproperty [--calcite-input-number-inline-editable-control-background-color] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls.
31
+ * @cssproperty [--calcite-input-number-inline-editable-control-background-color-hover] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls, when hovered.
32
+ * @cssproperty [--calcite-input-number-inline-editable-control-background-color-press] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls, when pressed.
33
+ * @cssproperty [--calcite-input-number-inline-editable-control-corner-radius] - When `inline-editable` is enabled, specifies the corner radius of the component's inline editable controls.
34
+ * @cssproperty [--calcite-input-number-inline-editable-control-loader-color] - When `inline-editable` is enabled, specifies the loader color of the component's inline editable controls.
35
+ * @cssproperty [--calcite-input-number-inline-editable-control-text-color] - When `inline-editable` is enabled, specifies the text color of the component's inline editable controls.
36
+ * @cssproperty [--calcite-input-number-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.
29
37
  * @slot [action] - A slot for positioning a `calcite-action` or other interactive content adjacent to the component.
30
38
  * @slot [label-content] - A slot for rendering content next to the component's `labelText`.
31
39
  */
@@ -76,6 +84,20 @@ export abstract class InputNumber extends LitElement {
76
84
  * @default false
77
85
  */
78
86
  accessor iconFlipRtl: boolean;
87
+ /**
88
+ * When `true`, enables the component's built-in inline editable behavior.
89
+ *
90
+ * @default false
91
+ */
92
+ accessor inlineEditable: boolean;
93
+ /** Specifies a callback to be executed when saving inline editable changes */
94
+ accessor inlineEditableAfterConfirm: () => Promise<void>;
95
+ /**
96
+ * When `true` and `inlineEditable` is `true`, displays the component's built-in inline editable save and cancel controls.
97
+ *
98
+ * @default false
99
+ */
100
+ accessor inlineEditableControls: boolean;
79
101
  /**
80
102
  * When `true`, restricts the component to integer numbers only and disables exponential notation.
81
103
  *
@@ -210,10 +232,19 @@ export abstract class InputNumber extends LitElement {
210
232
  setFocus(options?: FocusOptions): Promise<void>;
211
233
  /** Fires each time a new `value` is typed and committed. */
212
234
  readonly calciteInputNumberChange: import("@arcgis/lumina").TargetedEvent<this, void>;
235
+ /** Fires when built-in inline editable is cancelled. */
236
+ readonly calciteInputNumberInlineEditableCancel: import("@arcgis/lumina").TargetedEvent<this, void>;
237
+ /** Fires when built-in inline editable is enabled. */
238
+ readonly calciteInputNumberInlineEditableChange: import("@arcgis/lumina").TargetedEvent<this, void>;
239
+ /** Fires when built-in inline editable is confirmed. */
240
+ readonly calciteInputNumberInlineEditableConfirm: import("@arcgis/lumina").TargetedEvent<this, void>;
213
241
  /** Fires each time a new `value` is typed. */
214
242
  readonly calciteInputNumberInput: import("@arcgis/lumina").TargetedEvent<this, void>;
215
243
  readonly "@eventTypes": {
216
244
  calciteInputNumberChange: InputNumber["calciteInputNumberChange"]["detail"];
245
+ calciteInputNumberInlineEditableCancel: InputNumber["calciteInputNumberInlineEditableCancel"]["detail"];
246
+ calciteInputNumberInlineEditableChange: InputNumber["calciteInputNumberInlineEditableChange"]["detail"];
247
+ calciteInputNumberInlineEditableConfirm: InputNumber["calciteInputNumberInlineEditableConfirm"]["detail"];
217
248
  calciteInputNumberInput: InputNumber["calciteInputNumberInput"]["detail"];
218
249
  };
219
250
  }