@esri/calcite-components 5.2.0-next.22 → 5.2.0-next.24

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 (225) hide show
  1. package/dist/cdn/{4VBSTWOV.js → 2QCMFMLY.js} +1 -1
  2. package/dist/cdn/{C3X7CRMS.js → 2RPXIBWE.js} +1 -1
  3. package/dist/cdn/2SF4WITS.js +2 -0
  4. package/dist/cdn/{RFA26G4S.js → 2SUOKAMW.js} +1 -1
  5. package/dist/cdn/{CXNFOACP.js → 2XLQPSOW.js} +1 -1
  6. package/dist/cdn/{OOMTSLWC.js → 33SOEGHX.js} +1 -1
  7. package/dist/cdn/{KIL2QSDF.js → 36R2BZ4C.js} +1 -1
  8. package/dist/cdn/{XHW7QUXM.js → 3LU3J5TB.js} +1 -1
  9. package/dist/cdn/{6GB7EFOV.js → 3MMI6PZM.js} +1 -1
  10. package/dist/cdn/{4Q6CYRBV.js → 3Q34HSKA.js} +1 -1
  11. package/dist/cdn/{P4VOPVIT.js → 3RJV46KS.js} +1 -1
  12. package/dist/cdn/3RQC275N.js +2 -0
  13. package/dist/cdn/{O26T5SDI.js → 3VD5LQJ5.js} +1 -1
  14. package/dist/cdn/{4OAUCEKF.js → 4DIMU6QD.js} +1 -1
  15. package/dist/cdn/{OIX6UKMC.js → 4LVHJRJ5.js} +1 -1
  16. package/dist/cdn/4PFMGWRJ.js +2 -0
  17. package/dist/cdn/{5FQCDEG4.js → 4UFFN3VM.js} +1 -1
  18. package/dist/cdn/{2MPKR2JY.js → 4VBI733W.js} +1 -1
  19. package/dist/cdn/{P5E4K2YU.js → 53PNWBFM.js} +1 -1
  20. package/dist/cdn/{OIO5CL6R.js → 5EBGPCB7.js} +1 -1
  21. package/dist/cdn/{WMTGARUS.js → 5EXZOLMW.js} +1 -1
  22. package/dist/cdn/5NHWJ32X.js +2 -0
  23. package/dist/cdn/{WDIF62Z2.js → 5TKQENT2.js} +1 -1
  24. package/dist/cdn/{3BGOYU56.js → 5W5FGFML.js} +1 -1
  25. package/dist/cdn/{DNUGPVHP.js → 62Y53IUP.js} +1 -1
  26. package/dist/cdn/{JTTSFUPV.js → 64CXTH73.js} +1 -1
  27. package/dist/cdn/{36BS3JSS.js → 6CJJGR2D.js} +1 -1
  28. package/dist/cdn/{4EWVFZVO.js → 6ENTE44N.js} +1 -1
  29. package/dist/cdn/{Q3JBPJGU.js → 6LW75OFQ.js} +1 -1
  30. package/dist/cdn/{QB2GHJ47.js → 73MVINMR.js} +1 -1
  31. package/dist/cdn/{GGG7ADWH.js → A3D4HQZC.js} +1 -1
  32. package/dist/cdn/{UWE72ONC.js → A3W4GT7L.js} +1 -1
  33. package/dist/cdn/{FGDLWATP.js → A4LFU7PD.js} +1 -1
  34. package/dist/cdn/{VLCGJHDC.js → A4XKXSUF.js} +1 -1
  35. package/dist/cdn/{KFOVOJVM.js → A62GLZJ2.js} +1 -1
  36. package/dist/cdn/{MBF6BKRT.js → AIITDYTD.js} +1 -1
  37. package/dist/cdn/{2LFPI2WZ.js → AIYUJEZO.js} +1 -1
  38. package/dist/cdn/{27GD5MNT.js → AXK7ZG2K.js} +1 -1
  39. package/dist/cdn/{UTTRKYQD.js → BBVTXQR6.js} +1 -1
  40. package/dist/cdn/{MTUZXCYG.js → BCHGB7QR.js} +1 -1
  41. package/dist/cdn/{GAVZISN7.js → BCSAOJEH.js} +1 -1
  42. package/dist/cdn/{KARX5DKV.js → BCXNQWLL.js} +1 -1
  43. package/dist/cdn/{HQLBVFSX.js → BHFQ4AGH.js} +1 -1
  44. package/dist/cdn/{PSZVYI3V.js → BPHGOBYG.js} +1 -1
  45. package/dist/cdn/{J4UD4FXA.js → C2P3H532.js} +1 -1
  46. package/dist/cdn/{V3MMSNQV.js → C4K7UKPW.js} +1 -1
  47. package/dist/cdn/{IFKLH4KA.js → CWLRA3MO.js} +1 -1
  48. package/dist/cdn/{LRPTBBVX.js → D2VKTZSJ.js} +1 -1
  49. package/dist/cdn/D4XL7XXX.js +2 -0
  50. package/dist/cdn/{BGSARPRI.js → D6LTLYJP.js} +1 -1
  51. package/dist/cdn/{2WNP5CYX.js → D6TDQJJO.js} +1 -1
  52. package/dist/cdn/DASCHY4S.js +2 -0
  53. package/dist/cdn/{OUGMNLTX.js → DCVGASJR.js} +1 -1
  54. package/dist/cdn/DKJI4BME.js +2 -0
  55. package/dist/cdn/{CPDXOHFE.js → DOUVRUOH.js} +1 -1
  56. package/dist/cdn/{YXQ2XC5W.js → DPI5XYJD.js} +1 -1
  57. package/dist/cdn/{26OLHRNL.js → DQTRUHEA.js} +1 -1
  58. package/dist/cdn/DTFPKPYY.js +2 -0
  59. package/dist/cdn/{T5HXYYVY.js → DWHFZOJG.js} +1 -1
  60. package/dist/cdn/E3UPRP7F.js +2 -0
  61. package/dist/cdn/{JAGZGJRH.js → E6TLVPEG.js} +1 -1
  62. package/dist/cdn/{PK7RJ6YJ.js → E7CBU7KA.js} +1 -1
  63. package/dist/cdn/{22KVAN6L.js → ELJJJX53.js} +1 -1
  64. package/dist/cdn/{BCOAKRTT.js → ELZSRXJN.js} +1 -1
  65. package/dist/cdn/{Y6EXOUZ5.js → EMYTVLMO.js} +1 -1
  66. package/dist/cdn/{SBMXV7O2.js → F5BALHXV.js} +1 -1
  67. package/dist/cdn/FIJR273R.js +2 -0
  68. package/dist/cdn/GB6FN7CM.js +2 -0
  69. package/dist/cdn/{NTYOA6QA.js → GNW37PGK.js} +1 -1
  70. package/dist/cdn/GQCJUPW7.js +2 -0
  71. package/dist/cdn/GQVNQ7OT.js +2 -0
  72. package/dist/cdn/{OYEIXDDT.js → GV3EJHKZ.js} +1 -1
  73. package/dist/cdn/{I36L52VX.js → GY3X2ZOY.js} +1 -1
  74. package/dist/cdn/{365NYBL5.js → HRK7GL5U.js} +1 -1
  75. package/dist/cdn/{ILK3JG5G.js → I6WVJ3GW.js} +1 -1
  76. package/dist/cdn/{HQP7FLV2.js → IAOMFAIV.js} +1 -1
  77. package/dist/cdn/IEJJHN6V.js +2 -0
  78. package/dist/cdn/{URMDF7RR.js → IR67XJSK.js} +1 -1
  79. package/dist/cdn/{2LRCVGFE.js → JEBOYGKS.js} +1 -1
  80. package/dist/cdn/{VLAD23FH.js → KGSUMQK6.js} +1 -1
  81. package/dist/cdn/{W5TIKXCX.js → KJ2AY64U.js} +1 -1
  82. package/dist/cdn/KOXPXPRR.js +2 -0
  83. package/dist/cdn/{E333LJCL.js → KU7LDL6J.js} +1 -1
  84. package/dist/cdn/{IRSSE2TG.js → KYABHN4E.js} +1 -1
  85. package/dist/cdn/{C37KUE54.js → KYD4GPON.js} +1 -1
  86. package/dist/cdn/{ZLSHN26H.js → KYIQQJCU.js} +1 -1
  87. package/dist/cdn/{UG4RNAUM.js → L3ZFB4YI.js} +1 -1
  88. package/dist/cdn/{MOW4Z6WN.js → LB4Y4BU4.js} +1 -1
  89. package/dist/cdn/{XUNX6H3T.js → LPSUUCDF.js} +1 -1
  90. package/dist/cdn/{3O3QMWZN.js → LVAMHAIR.js} +1 -1
  91. package/dist/cdn/M6YZ46C5.js +2 -0
  92. package/dist/cdn/{VJO2RT4P.js → MAYMYGHP.js} +1 -1
  93. package/dist/cdn/{SBNPDCMJ.js → MI52MQHY.js} +1 -1
  94. package/dist/cdn/{DWIXUKFP.js → MIXN26LN.js} +1 -1
  95. package/dist/cdn/{AXK4A4Z3.js → NH4WPQT5.js} +1 -1
  96. package/dist/cdn/{BNFDKGXS.js → NHCFVPJN.js} +1 -1
  97. package/dist/cdn/{7XTYYWT7.js → NHJJGOSD.js} +1 -1
  98. package/dist/cdn/{IWTJ2TMP.js → NO5C7M2G.js} +1 -1
  99. package/dist/cdn/{EAPHW7UM.js → NQWQFXKK.js} +1 -1
  100. package/dist/cdn/O6R6PDOP.js +2 -0
  101. package/dist/cdn/{JDSOESSY.js → OCP7BNRD.js} +1 -1
  102. package/dist/cdn/OJVSPIVF.js +2 -0
  103. package/dist/cdn/{QBU65K3X.js → OKTPXYWF.js} +1 -1
  104. package/dist/cdn/{TKHGW3AN.js → ONJZATUT.js} +1 -1
  105. package/dist/cdn/{AYZOCQGM.js → ORSP4YVL.js} +1 -1
  106. package/dist/cdn/{U2XR24PN.js → P3LWRKZW.js} +1 -1
  107. package/dist/cdn/{LKHTGXQM.js → P3W5KF7P.js} +1 -1
  108. package/dist/cdn/{QAZD3KBU.js → PFKU63CI.js} +1 -1
  109. package/dist/cdn/{QQDQTFWB.js → PM5LDKID.js} +1 -1
  110. package/dist/cdn/{TUQOCSQ3.js → POGQGFRZ.js} +1 -1
  111. package/dist/cdn/POITQYOX.js +2 -0
  112. package/dist/cdn/{BOU3QBXS.js → PR323OIR.js} +1 -1
  113. package/dist/cdn/{776O2XKF.js → Q2BOPZRE.js} +1 -1
  114. package/dist/cdn/{HAA7VHRS.js → Q2UZ4NJE.js} +1 -1
  115. package/dist/cdn/{STXD74FG.js → Q3RTTOUM.js} +1 -1
  116. package/dist/cdn/{PBO36O4D.js → QIH4YTMA.js} +1 -1
  117. package/dist/cdn/{W3TXJCVC.js → QTKLUBTW.js} +1 -1
  118. package/dist/cdn/{N4DITOIV.js → RJRBUL4P.js} +1 -1
  119. package/dist/cdn/SBCJ2GOY.js +2 -0
  120. package/dist/cdn/{J2NKWN2H.js → SCYHKGPW.js} +1 -1
  121. package/dist/cdn/{T2SWBJAS.js → SQ4QP3T2.js} +1 -1
  122. package/dist/cdn/SWXEG6QR.js +2 -0
  123. package/dist/cdn/{L7LWNCET.js → T32EPAFR.js} +1 -1
  124. package/dist/cdn/TUAYKQAD.js +2 -0
  125. package/dist/cdn/{I4BLJ23F.js → TYX2PKVM.js} +1 -1
  126. package/dist/cdn/{JKOKCCAM.js → UFT4E2IF.js} +1 -1
  127. package/dist/cdn/{44T5D4QY.js → UHAVTL4I.js} +1 -1
  128. package/dist/cdn/{CRYL5XII.js → UM3DNEXB.js} +1 -1
  129. package/dist/cdn/{54XHABHA.js → USHV7YR7.js} +1 -1
  130. package/dist/cdn/USVD5K4G.js +2 -0
  131. package/dist/cdn/{UE3S7ZG4.js → VCKK6NHV.js} +1 -1
  132. package/dist/cdn/VF5V6EZL.js +2 -0
  133. package/dist/cdn/{GHDKS4TD.js → VOCKM3G2.js} +1 -1
  134. package/dist/cdn/VVDI73XQ.js +2 -0
  135. package/dist/cdn/{4QJDFAKO.js → VWZLBNJL.js} +1 -1
  136. package/dist/cdn/VYITDJKP.js +2 -0
  137. package/dist/cdn/{FNWWNIIJ.js → WC5I5HAO.js} +1 -1
  138. package/dist/cdn/{YPYJCWEB.js → WDWP6EBB.js} +1 -1
  139. package/dist/cdn/{W22VSWB3.js → WHXCD5S3.js} +1 -1
  140. package/dist/cdn/{IPZXZHRH.js → X2WS6WI2.js} +1 -1
  141. package/dist/cdn/XRRQX2EJ.js +2 -0
  142. package/dist/cdn/{Z7FMYELP.js → XSH6NNUN.js} +1 -1
  143. package/dist/cdn/{YCIZDPEF.js → XX4NT4Z6.js} +1 -1
  144. package/dist/cdn/{OHGWP3KV.js → Y4NMF236.js} +1 -1
  145. package/dist/cdn/{NVFZLHGS.js → YEH7JU5T.js} +1 -1
  146. package/dist/cdn/{7GRTCXLC.js → Z2D7O3Q2.js} +1 -1
  147. package/dist/cdn/{TQSEINDL.js → Z4AQAAZB.js} +1 -1
  148. package/dist/cdn/{OT37LOCF.js → ZD6R5LP6.js} +1 -1
  149. package/dist/cdn/{WMXQZVKU.js → ZHJKWLFH.js} +1 -1
  150. package/dist/cdn/ZJ77S6YD.js +2 -0
  151. package/dist/cdn/index.js +1 -1
  152. package/dist/chunks/dom.js +2 -2
  153. package/dist/chunks/floating-ui.js +23 -13
  154. package/dist/chunks/label.js +1 -140
  155. package/dist/chunks/runtime.js +4 -4
  156. package/dist/chunks/useForm.js +1 -1
  157. package/dist/chunks/useInlineEditable.js +53 -0
  158. package/dist/chunks/useLabel.js +150 -0
  159. package/dist/components/calcite-accordion-item/customElement.js +1 -1
  160. package/dist/components/calcite-autocomplete/customElement.js +3 -3
  161. package/dist/components/calcite-autocomplete-item/customElement.js +1 -1
  162. package/dist/components/calcite-button/customElement.js +3 -3
  163. package/dist/components/calcite-checkbox/customElement.js +3 -9
  164. package/dist/components/calcite-combobox/customElement.js +3 -3
  165. package/dist/components/calcite-combobox-item/customElement.js +1 -1
  166. package/dist/components/calcite-dropdown/customElement.js +1 -1
  167. package/dist/components/calcite-inline-editable/customElement.d.ts +10 -6
  168. package/dist/components/calcite-inline-editable/customElement.js +30 -18
  169. package/dist/components/calcite-inline-editable/index.js +1 -1
  170. package/dist/components/calcite-input/customElement.d.ts +31 -0
  171. package/dist/components/calcite-input/customElement.js +95 -12
  172. package/dist/components/calcite-input-date-picker/customElement.js +3 -3
  173. package/dist/components/calcite-input-number/customElement.d.ts +31 -0
  174. package/dist/components/calcite-input-number/customElement.js +85 -9
  175. package/dist/components/calcite-input-text/customElement.d.ts +31 -0
  176. package/dist/components/calcite-input-text/customElement.js +83 -15
  177. package/dist/components/calcite-input-time-picker/customElement.js +3 -9
  178. package/dist/components/calcite-input-time-zone/customElement.js +2 -9
  179. package/dist/components/calcite-label/customElement.js +1 -1
  180. package/dist/components/calcite-radio-button/customElement.js +3 -3
  181. package/dist/components/calcite-rating/customElement.js +3 -9
  182. package/dist/components/calcite-segmented-control/customElement.js +3 -9
  183. package/dist/components/calcite-select/customElement.js +3 -3
  184. package/dist/components/calcite-slider/customElement.js +3 -3
  185. package/dist/components/calcite-switch/customElement.js +3 -9
  186. package/dist/components/calcite-text-area/customElement.js +3 -3
  187. package/dist/components/calcite-tile/customElement.js +1 -1
  188. package/dist/docs/api.json +1 -1
  189. package/dist/docs/docs.json +1 -1
  190. package/dist/docs/supported-browsers.json +1 -1
  191. package/dist/docs/vscode.css-custom-data.json +1 -1
  192. package/dist/docs/vscode.html-custom-data.json +1 -1
  193. package/dist/docs/web-types.json +1 -1
  194. package/dist/loader.js +3 -3
  195. package/dist/types/lumina.d.ts +12 -3
  196. package/dist/types/preact.d.ts +12 -3
  197. package/dist/types/react.d.ts +12 -3
  198. package/dist/types/stencil.d.ts +12 -3
  199. package/package.json +3 -3
  200. package/dist/cdn/22GON63G.js +0 -2
  201. package/dist/cdn/2KU7YCWU.js +0 -2
  202. package/dist/cdn/3POGLXTA.js +0 -2
  203. package/dist/cdn/5OA4JQZA.js +0 -2
  204. package/dist/cdn/BHSQKAVV.js +0 -2
  205. package/dist/cdn/G36DLSRW.js +0 -2
  206. package/dist/cdn/KWFYPDBS.js +0 -2
  207. package/dist/cdn/KYBV5PSW.js +0 -2
  208. package/dist/cdn/LOBFFXLD.js +0 -2
  209. package/dist/cdn/LW7TA25C.js +0 -2
  210. package/dist/cdn/M637NSYT.js +0 -2
  211. package/dist/cdn/MBCJSLBY.js +0 -2
  212. package/dist/cdn/NLCXTKBC.js +0 -2
  213. package/dist/cdn/NWLXBG5R.js +0 -2
  214. package/dist/cdn/OHSZ2ST3.js +0 -2
  215. package/dist/cdn/RCN7XGCC.js +0 -2
  216. package/dist/cdn/RH7FYKAW.js +0 -2
  217. package/dist/cdn/RYKUXUIN.js +0 -2
  218. package/dist/cdn/TUR4Z6GQ.js +0 -2
  219. package/dist/cdn/UAS7ZB74.js +0 -2
  220. package/dist/cdn/ULNQCFWW.js +0 -2
  221. package/dist/cdn/VFZFFJJL.js +0 -2
  222. package/dist/cdn/VPFGSTXD.js +0 -2
  223. package/dist/cdn/W7JKCKDN.js +0 -2
  224. package/dist/cdn/WIPAP3S6.js +0 -2
  225. package/dist/cdn/X57EZ5QY.js +0 -2
@@ -22,7 +22,7 @@ const CSS = {
22
22
  wrapper: "wrapper",
23
23
  triggerContainer: "trigger-container"
24
24
  };
25
- 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:inline-block}.wrapper{inline-size:max-content;display:none;max-inline-size:100vw;max-block-size:100vh;inset-block-start:0;left:0;z-index:var(--calcite-floating-ui-z-index)}@starting-style{.wrapper{opacity:0;inset-block-start:0;left:0}}:host([top-layer-disabled]) .wrapper{--calcite-floating-ui-z-index: var(--calcite-z-index-dropdown)}.wrapper[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.wrapper:popover-open{display:block}.wrapper .calcite-floating-ui-anim{position:relative;transition-duration:var(--calcite-floating-ui-transition);transition-property:inset-block-start,left,opacity,display;transition-behavior:allow-discrete;opacity:0;box-shadow:0 0 16px #00000029;z-index:var(--calcite-z-index);border-radius:.25rem}.wrapper[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.wrapper[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.wrapper[data-placement^=left] .calcite-floating-ui-anim{left:5px}.wrapper[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.wrapper[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.wrapper[data-placement] .calcite-floating-ui-anim--active{opacity:0}}.wrapper .calcite-floating-ui-anim{box-shadow:var(--calcite-shadow-md)}.content{width:auto;overflow-y:auto;overflow-x:hidden;inline-size:var(--calcite-dropdown-width, var(--calcite-internal-dropdown-width));background-color:var(--calcite-dropdown-background-color, var(--calcite-color-foreground-1));max-block-size:var(--calcite-dropdown-max-height, 45vh)}.trigger-container{position:relative;display:flex;height:100%;flex:1 1 auto;word-wrap:break-word;word-break:break-word}.width-s{--calcite-internal-dropdown-width: 12rem}.width-m{--calcite-internal-dropdown-width: 14rem}.width-l{--calcite-internal-dropdown-width: 16rem}@media(forced-colors:active){:host([open]) .wrapper{border:var(--calcite-border-width-sm) solid canvasText}}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`;
25
+ 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:inline-block}.wrapper{inline-size:max-content;display:none;max-inline-size:100vw;max-block-size:100vh;inset-block-start:0;left:0;z-index:var(--calcite-floating-ui-z-index)}@starting-style{.wrapper{opacity:0;inset-block-start:0;left:0}}:host([top-layer-disabled]) .wrapper{--calcite-floating-ui-z-index: var(--calcite-z-index-dropdown)}.wrapper[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.wrapper:popover-open{display:block}.wrapper .calcite-floating-ui-anim{position:relative;transition-duration:var(--calcite-floating-ui-transition);transition-property:inset-block-start,left,opacity,display;transition-behavior:allow-discrete;opacity:0;box-shadow:0 0 16px #00000029;z-index:var(--calcite-z-index);border-radius:.25rem}.wrapper[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.wrapper[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.wrapper[data-placement^=left] .calcite-floating-ui-anim{left:5px}.wrapper[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.wrapper[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.wrapper[data-placement] .calcite-floating-ui-anim--active{opacity:0}}.wrapper .calcite-floating-ui-anim{box-shadow:var(--calcite-shadow-md)}.content{width:auto;overflow-y:auto;overflow-x:hidden;inline-size:var(--calcite-dropdown-width, var(--calcite-internal-dropdown-width));background-color:var(--calcite-dropdown-background-color, var(--calcite-color-foreground-1));max-block-size:var(--calcite-dropdown-max-height, 45vh)}.trigger-container{position:relative;display:flex;height:100%;flex:1 1 auto;overflow-wrap:break-word;word-break:break-word}.width-s{--calcite-internal-dropdown-width: 12rem}.width-m{--calcite-internal-dropdown-width: 14rem}.width-l{--calcite-internal-dropdown-width: 16rem}@media(forced-colors:active){:host([open]) .wrapper{border:var(--calcite-border-width-sm) solid canvasText}}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`;
26
26
  const manager = referenceElementManager({ click: true, hover: true });
27
27
  class Dropdown extends LitElement {
28
28
  constructor() {
@@ -3,12 +3,16 @@ import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
3
  import type { Scale } from "../interfaces.js";
4
4
 
5
5
  /**
6
- * @cssproperty [--calcite-inline-editable-background-color-hover] - Specifies the component's background color when hovered.
7
- * @cssproperty [--calcite-inline-editable-background-color] - Specifies the component's background color.
8
- * @cssproperty [--calcite-inline-editable-button-background-color] - When `appearance="solid"` or `appearance="outline-fill"`, specifies the background color of the component's button element.
9
- * @cssproperty [--calcite-inline-editable-button-corner-radius] - Specifies the corner radius of the component's button element.
10
- * @cssproperty [--calcite-inline-editable-button-loader-color] - Specifies the loader color of the component's button element.
11
- * @cssproperty [--calcite-inline-editable-button-text-color] - Specifies the text color of the component's button element.
6
+ * @deprecated in v5.2.0, removal target v7.0.0 - Use `calcite-input`, `calcite-input-number`, or `calcite-input-text` with built-in inline editable (`inline-editable` and `inline-editable-controls` props) instead.
7
+ * @cssproperty [--calcite-inline-editable-background-color-hover] - [Deprecated] in v5.2.0, removal target v7.0.0 - Use `calcite-input`, `calcite-input-number`, or `calcite-input-text` built-in inline editable tokens instead. Specifies the component's background color when hovered.
8
+ * @cssproperty [--calcite-inline-editable-background-color] - [Deprecated] in v5.2.0, removal target v7.0.0 - Use `calcite-input`, `calcite-input-number`, or `calcite-input-text` built-in inline editable tokens instead. Specifies the component's background color.
9
+ * @cssproperty [--calcite-inline-editable-button-background-color] - [Deprecated] in v5.2.0, removal target v7.0.0 - Use `calcite-input`, `calcite-input-number`, or `calcite-input-text` built-in inline editable tokens instead. Specifies the background color of the component's button element.
10
+ * @cssproperty [--calcite-inline-editable-button-background-color-hover] - [Deprecated] in v5.2.0, removal target v7.0.0 - Use `calcite-input`, `calcite-input-number`, or `calcite-input-text` built-in inline editable tokens instead. Specifies the background color of the component's button element when hovered.
11
+ * @cssproperty [--calcite-inline-editable-button-background-color-press] - [Deprecated] in v5.2.0, removal target v7.0.0 - Use `calcite-input`, `calcite-input-number`, or `calcite-input-text` built-in inline editable tokens instead. Specifies the background color of the component's button element when pressed.
12
+ * @cssproperty [--calcite-inline-editable-button-corner-radius] - [Deprecated] in v5.2.0, removal target v7.0.0 - Use `calcite-input`, `calcite-input-number`, or `calcite-input-text` built-in inline editable tokens instead. Specifies the corner radius of the component's button element.
13
+ * @cssproperty [--calcite-inline-editable-button-loader-color] - [Deprecated] in v5.2.0, removal target v7.0.0 - Use `calcite-input`, `calcite-input-number`, or `calcite-input-text` built-in inline editable tokens instead. Specifies the loader color of the component's button element.
14
+ * @cssproperty [--calcite-inline-editable-button-text-color] - [Deprecated] in v5.2.0, removal target v7.0.0 - Use `calcite-input`, `calcite-input-number`, or `calcite-input-text` built-in inline editable tokens instead. Specifies the text color of the component's button element.
15
+ * @cssproperty [--calcite-inline-editable-button-text-color-press] - [Deprecated] in v5.2.0, removal target v7.0.0 - Use `calcite-input`, `calcite-input-number`, or `calcite-input-text` built-in inline editable tokens instead. Specifies the text color of the component's button element when hovered or pressed.
12
16
  * @slot - A slot for adding a `calcite-input`.
13
17
  */
14
18
  export abstract class InlineEditable extends LitElement {
@@ -3,12 +3,13 @@ import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, html } from "lit";
4
4
  import { createRef, ref } from "lit/directives/ref.js";
5
5
  import { LitElement, createEvent, nothing, safeClassMap } from "@arcgis/lumina";
6
- import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
6
+ import { g as getLabelText } from "../../chunks/label.js";
7
+ import { u as useLabel } from "../../chunks/useLabel.js";
7
8
  import { a as slotChangeGetAssignedElements } from "../../chunks/dom.js";
8
9
  import { u as useT9n } from "../../chunks/useT9n.js";
9
10
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
10
11
  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}`;
12
+ 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
13
  const CSS = {
13
14
  wrapper: "wrapper",
14
15
  confirmChangesButton: "confirm-changes-button",
@@ -28,6 +29,7 @@ class InlineEditable extends LitElement {
28
29
  constructor() {
29
30
  super();
30
31
  this.cancelEditingButtonRef = createRef();
32
+ this.confirmChangesButtonRef = createRef();
31
33
  this._editingEnabled = false;
32
34
  this.enableEditingButtonRef = createRef();
33
35
  this.shouldEmitCancel = false;
@@ -35,6 +37,7 @@ class InlineEditable extends LitElement {
35
37
  this.messages = useT9n();
36
38
  this.focusSetter = useSetFocus()(this);
37
39
  this.interactiveContainer = useInteractive(this);
40
+ this.labelable = useLabel(this);
38
41
  this.controls = false;
39
42
  this.disabled = false;
40
43
  this.loading = false;
@@ -43,6 +46,9 @@ class InlineEditable extends LitElement {
43
46
  this.calciteInlineEditableEditConfirm = createEvent({ cancelable: false });
44
47
  this.calciteInternalInlineEditableEnableEditingChange = createEvent({ cancelable: false });
45
48
  this.listen("calciteInternalInputBlur", this.blurHandler);
49
+ this.listen("calciteInternalInputNumberBlur", this.blurHandler);
50
+ this.listen("calciteInternalInputTextBlur", this.blurHandler);
51
+ this.listen("keydown", this.escapeKeyHandler);
46
52
  }
47
53
  static {
48
54
  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 }] };
@@ -69,14 +75,6 @@ class InlineEditable extends LitElement {
69
75
  async setFocus(options) {
70
76
  return this.focusSetter(() => this.inputEl, options);
71
77
  }
72
- connectedCallback() {
73
- super.connectedCallback();
74
- connectLabel(this);
75
- }
76
- disconnectedCallback() {
77
- super.disconnectedCallback();
78
- disconnectLabel(this);
79
- }
80
78
  editingEnabledWatcher(newValue, oldValue) {
81
79
  if (this.inputEl) {
82
80
  this.inputEl.editingEnabled = newValue;
@@ -91,7 +89,7 @@ class InlineEditable extends LitElement {
91
89
  }
92
90
  }
93
91
  async handleDefaultSlotChange(event) {
94
- const inputElement = slotChangeGetAssignedElements(event).filter((el) => el.matches("calcite-input"))[0];
92
+ const inputElement = slotChangeGetAssignedElements(event).filter((el) => el.matches("calcite-input, calcite-input-number, calcite-input-text"))[0];
95
93
  this.inputEl = inputElement;
96
94
  if (!inputElement) {
97
95
  return;
@@ -131,11 +129,25 @@ class InlineEditable extends LitElement {
131
129
  this.cancelEditing();
132
130
  }
133
131
  if (event.key === "Tab" && this.shouldShowControls) {
134
- if (!event.shiftKey && event.target === this.inputEl) {
132
+ const confirmChangesButton = this.confirmChangesButtonRef.value;
133
+ const cancelEditingButton = this.cancelEditingButtonRef.value;
134
+ const composedPath = event.composedPath();
135
+ const tabFromInput = this.inputEl ? composedPath.includes(this.inputEl) : false;
136
+ const tabFromConfirm = confirmChangesButton ? composedPath.includes(confirmChangesButton) : false;
137
+ const tabFromCancel = cancelEditingButton ? composedPath.includes(cancelEditingButton) : false;
138
+ if (!event.shiftKey && tabFromConfirm) {
139
+ event.preventDefault();
140
+ cancelEditingButton?.setFocus();
141
+ }
142
+ if (!event.shiftKey && (tabFromInput || !tabFromConfirm && !tabFromCancel)) {
143
+ event.preventDefault();
144
+ confirmChangesButton?.setFocus();
145
+ }
146
+ if (!!event.shiftKey && tabFromCancel) {
135
147
  event.preventDefault();
136
- this.cancelEditingButtonRef.value?.setFocus();
148
+ confirmChangesButton?.setFocus();
137
149
  }
138
- if (!!event.shiftKey && event.target === this.cancelEditingButtonRef.value) {
150
+ if (!!event.shiftKey && tabFromConfirm) {
139
151
  event.preventDefault();
140
152
  this.inputEl?.setFocus();
141
153
  }
@@ -170,12 +182,12 @@ class InlineEditable extends LitElement {
170
182
  }
171
183
  }
172
184
  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({
185
+ 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
186
  [CSS.enableEditingButton]: true,
175
187
  [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>`
188
+ })} .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 && [
189
+ 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>`,
190
+ 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
191
  ] || ""}</div></div>` });
180
192
  }
181
193
  }
@@ -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
  }
@@ -8,10 +8,12 @@ import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/
8
8
  import { useWatchAttributes, useDirection } from "@arcgis/lumina/controllers";
9
9
  import { b as setRequestedIcon, j as isPrimaryPointerButton } from "../../chunks/dom.js";
10
10
  import { n as numberKeys } from "../../chunks/key.js";
11
- import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
11
+ import { g as getLabelText } from "../../chunks/label.js";
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
+ import { u as useLabel } from "../../chunks/useLabel.js";
13
14
  import { g as getIconScale } from "../../chunks/component.js";
14
15
  import { I as InternalLabel } from "../../chunks/InternalLabel.js";
16
+ import { U as UseInlineEditable, C as CSS$1, I as InlineEditableControls } from "../../chunks/useInlineEditable.js";
15
17
  import { V as Validation } from "../../chunks/Validation.js";
16
18
  import { u as useT9n } from "../../chunks/useT9n.js";
17
19
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
@@ -23,6 +25,9 @@ const CSS = {
23
25
  clearButton: "clear-button",
24
26
  editingEnabled: "editing-enabled",
25
27
  inlineChild: "inline-child",
28
+ inlineEditableChild: "inline-editable-child",
29
+ // `calcite-inline-editable` deprecated in v5.2.0, removal target v7.0.0
30
+ inlineEditable: "inline-editable",
26
31
  inputIcon: "icon",
27
32
  prefix: "prefix",
28
33
  suffix: "suffix",
@@ -58,7 +63,7 @@ const ICONS = {
58
63
  chevronDown: "chevron-down"
59
64
  };
60
65
  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)}`;
66
+ 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
67
  class Input extends LitElement {
63
68
  constructor() {
64
69
  super();
@@ -66,23 +71,50 @@ class Input extends LitElement {
66
71
  this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode", "spellcheck"], this.handleGlobalAttributesChanged);
67
72
  this.childRef = createRef();
68
73
  this.childNumberRef = createRef();
74
+ this.enableInlineEditingButtonRef = createRef();
69
75
  this.direction = useDirection();
70
76
  this.formSupport = useForm({
71
77
  inputType: "text",
72
78
  getValue: () => this.type === "file" ? this.childRef.value?.files ?? null : this.value
73
79
  })(this);
74
80
  this.inputWrapperRef = createRef();
81
+ this.labelable = useLabel(this);
75
82
  this.previousValueOrigin = "initial";
76
83
  this.userChangedValue = false;
77
84
  this._value = "";
78
85
  this.messages = useT9n({ blocking: true });
79
86
  this.focusSetter = useSetFocus()(this);
80
87
  this.interactiveContainer = useInteractive(this);
88
+ this.useInlineEditable = new UseInlineEditable({
89
+ getEditingEnabled: () => this.editingEnabled,
90
+ setEditingEnabled: (editingEnabled) => {
91
+ this.editingEnabled = editingEnabled;
92
+ },
93
+ getValue: () => this.value,
94
+ setValue: (value) => {
95
+ this.setValue({ origin: "direct", value });
96
+ },
97
+ setFocus: () => {
98
+ void this.setFocus();
99
+ },
100
+ emitCancel: () => {
101
+ this.calciteInputInlineEditableCancel.emit();
102
+ },
103
+ emitConfirm: () => {
104
+ this.calciteInputInlineEditableConfirm.emit();
105
+ },
106
+ emitEnableEditingChange: () => {
107
+ this.calciteInputInlineEditableChange.emit();
108
+ }
109
+ });
110
+ this.inlineEditableLoading = false;
81
111
  this.slottedActionElDisabledInternally = false;
82
112
  this.alignment = "start";
83
113
  this.clearable = false;
84
114
  this.disabled = false;
85
115
  this.editingEnabled = false;
116
+ this.inlineEditable = false;
117
+ this.inlineEditableControls = false;
86
118
  this.groupSeparator = false;
87
119
  this.iconFlipRtl = false;
88
120
  this.loading = false;
@@ -98,11 +130,14 @@ class Input extends LitElement {
98
130
  this.calciteInputInput = createEvent();
99
131
  this.calciteInternalInputBlur = createEvent({ cancelable: false });
100
132
  this.calciteInternalInputFocus = createEvent({ cancelable: false });
133
+ this.calciteInputInlineEditableCancel = createEvent({ cancelable: false });
134
+ this.calciteInputInlineEditableConfirm = createEvent({ cancelable: false });
135
+ this.calciteInputInlineEditableChange = createEvent({ cancelable: false });
101
136
  this.listen("click", this.clickHandler);
102
137
  this.listen("keydown", this.keyDownHandler);
103
138
  }
104
139
  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 };
140
+ 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
141
  }
107
142
  static {
108
143
  this.formAssociated = true;
@@ -110,6 +145,12 @@ class Input extends LitElement {
110
145
  static {
111
146
  this.styles = styles;
112
147
  }
148
+ get selfManagedInlineEditable() {
149
+ return this.inlineEditable && !this.inlineEditableEl;
150
+ }
151
+ get hasInlineEditableContext() {
152
+ return this.inlineEditable || !!this.inlineEditableEl;
153
+ }
113
154
  get isClearable() {
114
155
  return (this.clearable || this.type === "search") && this.value?.length > 0;
115
156
  }
@@ -142,7 +183,6 @@ class Input extends LitElement {
142
183
  if (this.inlineEditableEl) {
143
184
  this.editingEnabled = this.inlineEditableEl.editingEnabled || false;
144
185
  }
145
- connectLabel(this);
146
186
  }
147
187
  async load() {
148
188
  this.maxString = this.max?.toString();
@@ -182,7 +222,6 @@ class Input extends LitElement {
182
222
  }
183
223
  disconnectedCallback() {
184
224
  super.disconnectedCallback();
185
- disconnectLabel(this);
186
225
  this.stopNudging();
187
226
  }
188
227
  stopNudging() {
@@ -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);