@esri/calcite-components 5.1.0-next.4 → 5.1.0-next.6

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 (268) hide show
  1. package/dist/cdn/{GW7IPUQS.js → 232WBXIW.js} +1 -1
  2. package/dist/cdn/27KIJJVA.js +2 -0
  3. package/dist/cdn/{KVSU3DLB.js → 27S7SCHF.js} +1 -1
  4. package/dist/cdn/2CV466KR.js +2 -0
  5. package/dist/cdn/{LHJSBAM5.js → 2M3L5CHC.js} +1 -1
  6. package/dist/cdn/2XWHTJYS.js +2 -0
  7. package/dist/cdn/{QBLAE2O5.js → 3HLHTUY5.js} +1 -1
  8. package/dist/cdn/{IFHMJCAE.js → 3N3YST3P.js} +1 -1
  9. package/dist/cdn/3OCOXFJX.js +2 -0
  10. package/dist/cdn/3ZTULMLE.js +2 -0
  11. package/dist/cdn/{LGKOEBZ4.js → 44K6CFSA.js} +1 -1
  12. package/dist/cdn/46ATGQXN.js +2 -0
  13. package/dist/cdn/{CDTY6WOM.js → 4HL2Z5HN.js} +1 -1
  14. package/dist/cdn/{QOSBMGOZ.js → 526JZ6Y2.js} +1 -1
  15. package/dist/cdn/{AYPT6VGV.js → 56V6AANR.js} +1 -1
  16. package/dist/cdn/{5HQ3O27G.js → 57UFQM3M.js} +1 -1
  17. package/dist/cdn/{FCNCDBSI.js → 5D32LNQR.js} +1 -1
  18. package/dist/cdn/{FDGUUC3D.js → 5G2KVW4P.js} +1 -1
  19. package/dist/cdn/5H7EBO5K.js +2 -0
  20. package/dist/cdn/{CZYFEVKF.js → 5HB4KJ7Y.js} +1 -1
  21. package/dist/cdn/{HRUVPNCI.js → 633FBLBS.js} +1 -1
  22. package/dist/cdn/{JKLX623E.js → 66YZFACX.js} +1 -1
  23. package/dist/cdn/672VGWH7.js +2 -0
  24. package/dist/cdn/{R6D5F2V7.js → 67O6G5DT.js} +1 -1
  25. package/dist/cdn/6CKEQZO7.js +2 -0
  26. package/dist/cdn/{ZZNRLKQQ.js → 6E6JZIDL.js} +1 -1
  27. package/dist/cdn/{MXRMT4RB.js → 6UH6TKTT.js} +1 -1
  28. package/dist/cdn/6XNHTAM2.js +2 -0
  29. package/dist/cdn/7KPHVGVG.js +2 -0
  30. package/dist/cdn/{SBPWZDAB.js → 7MRH7XSL.js} +1 -1
  31. package/dist/cdn/7UOYXJ3K.js +2 -0
  32. package/dist/cdn/{7B4D4WJ2.js → AECJNJ7Y.js} +1 -1
  33. package/dist/cdn/{HXS3PD57.js → AELSFDTC.js} +1 -1
  34. package/dist/cdn/{YOYLPMEA.js → AKVWZOJU.js} +1 -1
  35. package/dist/cdn/ARN4B4IT.js +2 -0
  36. package/dist/cdn/{GJE7FY35.js → B4SHCCW6.js} +1 -1
  37. package/dist/cdn/BCO3LX7A.js +2 -0
  38. package/dist/cdn/{Q7WYXKFZ.js → BRMCZ6ZG.js} +1 -1
  39. package/dist/cdn/BRXJTIAG.js +2 -0
  40. package/dist/cdn/{QKUQGG2M.js → BVFHM66P.js} +1 -1
  41. package/dist/cdn/{SXVCUXNL.js → C44ME3U7.js} +1 -1
  42. package/dist/cdn/{VLGFWPBL.js → CILYQWNA.js} +1 -1
  43. package/dist/cdn/{5TWM6GKK.js → CSXVZ7IA.js} +1 -1
  44. package/dist/cdn/{6IZMIAV2.js → D2EYC7T6.js} +1 -1
  45. package/dist/cdn/{5YROPSGB.js → DNYQCUGR.js} +1 -1
  46. package/dist/cdn/{KNDQJ2XX.js → EMOZ2DH3.js} +1 -1
  47. package/dist/cdn/{HXVXRVZW.js → ETPCGFQN.js} +1 -1
  48. package/dist/cdn/{2ZJ5ADD2.js → FC5MLLP5.js} +1 -1
  49. package/dist/cdn/{7DA7BZM3.js → FIYBHBE3.js} +1 -1
  50. package/dist/cdn/FO3VFHYC.js +2 -0
  51. package/dist/cdn/GCGNKBZK.js +2 -0
  52. package/dist/cdn/{OVU2NGHU.js → HAVRDDW3.js} +1 -1
  53. package/dist/cdn/{YQY6DOSF.js → HBRWGV2Z.js} +1 -1
  54. package/dist/cdn/{CPDXUV3S.js → HGX7LZAA.js} +1 -1
  55. package/dist/cdn/{X7JEHH2B.js → HJRA23WV.js} +1 -1
  56. package/dist/cdn/{3TCEXRVB.js → HMZKLPV5.js} +1 -1
  57. package/dist/cdn/{FAOX7WLQ.js → IBP55ZGE.js} +1 -1
  58. package/dist/cdn/IIYUSLAE.js +2 -0
  59. package/dist/cdn/{F7XISEIT.js → IYMANB2G.js} +1 -1
  60. package/dist/cdn/{FAHLSHDH.js → JN5O4TLZ.js} +1 -1
  61. package/dist/cdn/{Z3IVC2AV.js → JQY63BDJ.js} +1 -1
  62. package/dist/cdn/JVNG2BRO.js +2 -0
  63. package/dist/cdn/{CAAZHUX4.js → JVZSWSGV.js} +1 -1
  64. package/dist/cdn/JX4VBEH7.js +2 -0
  65. package/dist/cdn/{R3EE76WN.js → K724PPGV.js} +1 -1
  66. package/dist/cdn/{RROGXGP5.js → KJ42NLHR.js} +1 -1
  67. package/dist/cdn/KP6U3OB3.js +2 -0
  68. package/dist/cdn/{YUJ33VWR.js → KT4JL3GM.js} +1 -1
  69. package/dist/cdn/KZ5EXCXL.js +2 -0
  70. package/dist/cdn/{EIFNZZAD.js → L3TZLATI.js} +1 -1
  71. package/dist/cdn/{AMZPSRIA.js → L62IP5MG.js} +1 -1
  72. package/dist/cdn/{7KCC74EE.js → LCHIHTFT.js} +1 -1
  73. package/dist/cdn/{MUGKSK5F.js → LKQBHGZ7.js} +1 -1
  74. package/dist/cdn/LOPKPGRY.js +2 -0
  75. package/dist/cdn/{HYYJZO6T.js → LRM2CLPW.js} +1 -1
  76. package/dist/cdn/LRM7ZHT5.js +2 -0
  77. package/dist/cdn/LSDUQPFS.js +2 -0
  78. package/dist/cdn/LTLVP6R6.js +2 -0
  79. package/dist/cdn/{7TEW7OYZ.js → MCSIAIDA.js} +1 -1
  80. package/dist/cdn/{HVBNJRAQ.js → MFSDYV4U.js} +1 -1
  81. package/dist/cdn/{LIJYENWJ.js → NCCVRAIB.js} +1 -1
  82. package/dist/cdn/{SYSNPKVM.js → NGDCIJ3J.js} +1 -1
  83. package/dist/cdn/{RA4KNUNM.js → NLVQFJ3Z.js} +1 -1
  84. package/dist/cdn/{WR6QBFCR.js → NU744SVB.js} +1 -1
  85. package/dist/cdn/{PS64W4X6.js → NXCII3YU.js} +1 -1
  86. package/dist/cdn/{XYAZINKS.js → O24SM7OF.js} +1 -1
  87. package/dist/cdn/{Z22BRBT4.js → O535TZZ6.js} +1 -1
  88. package/dist/cdn/O7YWW6X6.js +2 -0
  89. package/dist/cdn/OIYWPY2M.js +2 -0
  90. package/dist/cdn/{4MFRMO5M.js → OS5HZHBU.js} +1 -1
  91. package/dist/cdn/{DFXECQ6Z.js → OSCPBA6O.js} +1 -1
  92. package/dist/cdn/{GZNBU3BV.js → OX5RYOW4.js} +1 -1
  93. package/dist/cdn/{ED2GANBI.js → P3W4A5BT.js} +1 -1
  94. package/dist/cdn/{UTFS3HNB.js → PKKVWQIA.js} +1 -1
  95. package/dist/cdn/PT5LBDUL.js +2 -0
  96. package/dist/cdn/{MASQZEFU.js → Q5SNHQHW.js} +1 -1
  97. package/dist/cdn/QID335AW.js +2 -0
  98. package/dist/cdn/{HCJDTU7F.js → QMSQZWET.js} +1 -1
  99. package/dist/cdn/{MJCRT7H4.js → QX54642B.js} +1 -1
  100. package/dist/cdn/{XDOFVA4S.js → REPXOUSM.js} +1 -1
  101. package/dist/cdn/RJSLWYFJ.js +2 -0
  102. package/dist/cdn/RTJOU72W.js +2 -0
  103. package/dist/cdn/{A4OYPK5D.js → RZSXCJTK.js} +1 -1
  104. package/dist/cdn/S3FVUTIY.js +2 -0
  105. package/dist/cdn/SJYYS7RH.js +2 -0
  106. package/dist/cdn/SMSVNRM4.js +2 -0
  107. package/dist/cdn/{GDTRICJF.js → SSQXPR3D.js} +1 -1
  108. package/dist/cdn/{7CZHE7FZ.js → TBVIBCHL.js} +1 -1
  109. package/dist/cdn/{MTNYIXZQ.js → THSY4EQU.js} +1 -1
  110. package/dist/cdn/TR56QFJC.js +2 -0
  111. package/dist/cdn/{A22XLAKZ.js → TT5S3S4L.js} +1 -1
  112. package/dist/cdn/{BWUA5WU5.js → TWXMFG7A.js} +1 -1
  113. package/dist/cdn/{P7U46JDU.js → U3AOFOT7.js} +1 -1
  114. package/dist/cdn/UPE6RIV2.js +2 -0
  115. package/dist/cdn/{7CLOFSLV.js → V4NX2X3B.js} +1 -1
  116. package/dist/cdn/V6NB5CGO.js +2 -0
  117. package/dist/cdn/{ILES2J66.js → VESBDAE7.js} +1 -1
  118. package/dist/cdn/{V4KATS7H.js → VKQJIDXT.js} +1 -1
  119. package/dist/cdn/{IMOAPVVW.js → VMMRWNOB.js} +1 -1
  120. package/dist/cdn/{IOSK2I75.js → W4HQGAKN.js} +1 -1
  121. package/dist/cdn/{FRI4RPRX.js → W5FGAVGO.js} +1 -1
  122. package/dist/cdn/{XLGGANFA.js → W5HANC6S.js} +1 -1
  123. package/dist/cdn/{37APBABQ.js → WBP5XEJH.js} +1 -1
  124. package/dist/cdn/{5WKPS2ZT.js → WE2SWJDR.js} +1 -1
  125. package/dist/cdn/{WAC3IAWB.js → WNADDPUF.js} +1 -1
  126. package/dist/cdn/{GAUJK4Z7.js → XGRU4PI2.js} +1 -1
  127. package/dist/cdn/{TCAGY7OI.js → XI7FVSES.js} +1 -1
  128. package/dist/cdn/{LRL6N22U.js → XRGPWSUO.js} +1 -1
  129. package/dist/cdn/{3W4NT367.js → XZX7ZHUA.js} +1 -1
  130. package/dist/cdn/{6NGWODBG.js → Y36WJADK.js} +1 -1
  131. package/dist/cdn/{TLAXB6HU.js → Y555OQ57.js} +1 -1
  132. package/dist/cdn/{GM6FZWSL.js → YBIQF3JQ.js} +1 -1
  133. package/dist/cdn/{ULBA6IRN.js → YGHVUKLM.js} +1 -1
  134. package/dist/cdn/{RRHN2PDB.js → YGKHTZ4V.js} +1 -1
  135. package/dist/cdn/{KKH2HVQW.js → YNGZPTWY.js} +1 -1
  136. package/dist/cdn/{S22OVJTO.js → YPOMUQHV.js} +2 -2
  137. package/dist/cdn/{RSCA2AM5.js → YWIQC7RF.js} +1 -1
  138. package/dist/cdn/{ZIOXZBYF.js → ZB7NSHVW.js} +1 -1
  139. package/dist/cdn/{EW6277QZ.js → ZCJDNXK2.js} +1 -1
  140. package/dist/cdn/{GFZYTB3O.js → ZHOHVRUX.js} +1 -1
  141. package/dist/cdn/index.js +1 -1
  142. package/dist/chunks/ExpandToggle.js +4 -5
  143. package/dist/chunks/dom.js +22 -29
  144. package/dist/chunks/floating-ui.js +2 -2
  145. package/dist/chunks/input.js +17 -7
  146. package/dist/chunks/label.js +1 -1
  147. package/dist/chunks/openCloseComponent.js +1 -1
  148. package/dist/chunks/runtime.js +4 -4
  149. package/dist/chunks/useFocusTrap.js +1 -1
  150. package/dist/chunks/useSetFocus.js +1 -1
  151. package/dist/chunks/utils2.js +1 -1
  152. package/dist/components/calcite-accordion-item/customElement.js +4 -3
  153. package/dist/components/calcite-action-bar/customElement.d.ts +9 -0
  154. package/dist/components/calcite-action-bar/customElement.js +40 -13
  155. package/dist/components/calcite-action-pad/customElement.js +4 -2
  156. package/dist/components/calcite-alert/customElement.js +1 -1
  157. package/dist/components/calcite-autocomplete/customElement.js +3 -1
  158. package/dist/components/calcite-avatar/customElement.js +1 -1
  159. package/dist/components/calcite-block/customElement.js +1 -1
  160. package/dist/components/calcite-block-group/customElement.js +1 -1
  161. package/dist/components/calcite-button/customElement.js +1 -1
  162. package/dist/components/calcite-carousel/customElement.js +27 -25
  163. package/dist/components/calcite-checkbox/customElement.js +3 -2
  164. package/dist/components/calcite-chip/customElement.js +1 -1
  165. package/dist/components/calcite-chip-group/customElement.js +1 -1
  166. package/dist/components/calcite-color-picker/customElement.js +4 -2
  167. package/dist/components/calcite-color-picker-swatch/customElement.js +1 -1
  168. package/dist/components/calcite-combobox/customElement.d.ts +11 -1
  169. package/dist/components/calcite-combobox/customElement.js +8 -3
  170. package/dist/components/calcite-combobox-item/customElement.js +10 -4
  171. package/dist/components/calcite-date-picker-month-header/customElement.js +1 -1
  172. package/dist/components/calcite-dialog/customElement.d.ts +2 -2
  173. package/dist/components/calcite-dialog/customElement.js +1 -1
  174. package/dist/components/calcite-dropdown/customElement.js +4 -1
  175. package/dist/components/calcite-flow-item/customElement.d.ts +3 -3
  176. package/dist/components/calcite-flow-item/customElement.js +3 -3
  177. package/dist/components/calcite-icon/customElement.js +4 -3
  178. package/dist/components/calcite-inline-editable/customElement.js +1 -1
  179. package/dist/components/calcite-input/customElement.js +4 -3
  180. package/dist/components/calcite-input-date-picker/customElement.js +3 -0
  181. package/dist/components/calcite-input-message/customElement.js +1 -1
  182. package/dist/components/calcite-input-number/customElement.js +4 -3
  183. package/dist/components/calcite-input-text/customElement.d.ts +1 -1
  184. package/dist/components/calcite-input-text/customElement.js +174 -27
  185. package/dist/components/calcite-input-time-picker/customElement.js +3 -2
  186. package/dist/components/calcite-link/customElement.js +4 -3
  187. package/dist/components/calcite-list/customElement.js +1 -1
  188. package/dist/components/calcite-list-item/customElement.js +5 -3
  189. package/dist/components/calcite-menu/customElement.js +1 -1
  190. package/dist/components/calcite-menu-item/customElement.js +4 -2
  191. package/dist/components/calcite-meter/customElement.js +1 -1
  192. package/dist/components/calcite-notice/customElement.js +1 -1
  193. package/dist/components/calcite-panel/customElement.d.ts +4 -4
  194. package/dist/components/calcite-panel/customElement.js +1 -1
  195. package/dist/components/calcite-popover/customElement.js +4 -1
  196. package/dist/components/calcite-progress/customElement.js +3 -2
  197. package/dist/components/calcite-radio-button/customElement.js +3 -3
  198. package/dist/components/calcite-scrim/customElement.js +1 -1
  199. package/dist/components/calcite-segmented-control/customElement.js +5 -3
  200. package/dist/components/calcite-segmented-control-item/customElement.js +1 -1
  201. package/dist/components/calcite-sheet/customElement.js +8 -5
  202. package/dist/components/calcite-shell/customElement.js +1 -1
  203. package/dist/components/calcite-shell-panel/customElement.js +7 -5
  204. package/dist/components/calcite-slider/customElement.js +1 -1
  205. package/dist/components/calcite-sortable-list/customElement.js +1 -1
  206. package/dist/components/calcite-stepper/customElement.js +1 -1
  207. package/dist/components/calcite-stepper-item/customElement.js +1 -1
  208. package/dist/components/calcite-swatch-group/customElement.js +1 -1
  209. package/dist/components/calcite-tab/customElement.js +1 -1
  210. package/dist/components/calcite-tab-nav/customElement.js +4 -2
  211. package/dist/components/calcite-tab-title/customElement.js +5 -3
  212. package/dist/components/calcite-table-cell/customElement.js +3 -2
  213. package/dist/components/calcite-tabs/customElement.js +1 -1
  214. package/dist/components/calcite-time-picker/customElement.js +3 -2
  215. package/dist/components/calcite-tooltip/customElement.js +4 -1
  216. package/dist/components/calcite-tree/customElement.js +1 -1
  217. package/dist/components/calcite-tree-item/customElement.js +4 -2
  218. package/dist/controllers/useForm.d.ts +3 -0
  219. package/dist/docs/api.json +1 -1
  220. package/dist/docs/docs.json +1 -1
  221. package/dist/docs/supported-browsers.json +1 -1
  222. package/dist/docs/vscode.css-custom-data.json +1 -1
  223. package/dist/docs/vscode.html-custom-data.json +1 -1
  224. package/dist/docs/web-types.json +1 -1
  225. package/dist/loader.js +4 -4
  226. package/dist/types/lumina.d.ts +2 -2
  227. package/dist/types/preact.d.ts +2 -2
  228. package/dist/types/react.d.ts +2 -2
  229. package/dist/types/stencil.d.ts +2 -2
  230. package/package.json +7 -7
  231. package/dist/cdn/256EMMKX.js +0 -2
  232. package/dist/cdn/3OIE2RR5.js +0 -2
  233. package/dist/cdn/43T3HPVW.js +0 -2
  234. package/dist/cdn/4ET37OQN.js +0 -2
  235. package/dist/cdn/4SJVPWEI.js +0 -2
  236. package/dist/cdn/7WPF3NTF.js +0 -2
  237. package/dist/cdn/F7SGO63N.js +0 -2
  238. package/dist/cdn/G6R56WT6.js +0 -2
  239. package/dist/cdn/HBVQ77SB.js +0 -2
  240. package/dist/cdn/HD23H6LX.js +0 -2
  241. package/dist/cdn/I6CQ5UW5.js +0 -2
  242. package/dist/cdn/IR6Z2XSF.js +0 -2
  243. package/dist/cdn/IUAHSZQ6.js +0 -2
  244. package/dist/cdn/JLB2FYLL.js +0 -2
  245. package/dist/cdn/JRCEHRYP.js +0 -2
  246. package/dist/cdn/L6F7C3O7.js +0 -2
  247. package/dist/cdn/LIZ5IMMJ.js +0 -2
  248. package/dist/cdn/LR57FDVO.js +0 -2
  249. package/dist/cdn/LYKD5N65.js +0 -2
  250. package/dist/cdn/MAXAPKJ5.js +0 -2
  251. package/dist/cdn/MQPFYNQR.js +0 -2
  252. package/dist/cdn/N6QRZM7N.js +0 -2
  253. package/dist/cdn/NQEVKT6K.js +0 -2
  254. package/dist/cdn/OS7NHPEF.js +0 -2
  255. package/dist/cdn/P7RXOG72.js +0 -2
  256. package/dist/cdn/PBMFDSRI.js +0 -2
  257. package/dist/cdn/Q52SIZ3L.js +0 -2
  258. package/dist/cdn/R6YSSNOG.js +0 -2
  259. package/dist/cdn/SFEXJ2YW.js +0 -2
  260. package/dist/cdn/TPXLAPIE.js +0 -2
  261. package/dist/cdn/TSZAQNPK.js +0 -2
  262. package/dist/cdn/U6LKEFFT.js +0 -2
  263. package/dist/cdn/UAADJQTQ.js +0 -2
  264. package/dist/cdn/UOIMVKXE.js +0 -2
  265. package/dist/cdn/XSSG2WBN.js +0 -2
  266. package/dist/cdn/YHGC7HRA.js +0 -2
  267. package/dist/cdn/Z53AVC5H.js +0 -2
  268. package/dist/cdn/ZXUITROT.js +0 -2
@@ -2,7 +2,7 @@
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
3
  import type { FlipPlacement, LogicalPlacement, OverlayPositioning } from "../../utils/floating-ui.js";
4
4
  import type { MutableValidityState } from "../../utils/form.js";
5
- import type { Scale, SelectionMode, Status } from "../interfaces.js";
5
+ import type { Scale, SelectionAppearance, SelectionMode, Status } from "../interfaces.js";
6
6
  import type { IconName } from "../calcite-icon/interfaces.js";
7
7
  import type { ComboboxItem as HTMLCalciteComboboxItemElement } from "../calcite-combobox-item/customElement.js";
8
8
  import type { SelectionDisplay } from "./interfaces.js";
@@ -140,6 +140,16 @@ export abstract class Combobox extends LitElement {
140
140
  accessor selectAllEnabled: boolean;
141
141
  /** The component's selected items. */
142
142
  get selectedItems(): HTMLCalciteComboboxItemElement[];
143
+ /**
144
+ * Specifies the selection appearance, where
145
+ *
146
+ * `"icon"` displays a checkmark or dot, and
147
+ *
148
+ * `"highlight"` displays a background highlight.
149
+ *
150
+ * @default "icon"
151
+ */
152
+ accessor selectionAppearance: Extract<"icon" | "highlight", SelectionAppearance>;
143
153
  /**
144
154
  * When `selectionMode` is `"ancestors"` or `"multiple"`, specifies the display of multiple `calcite-combobox-item` selections, where:
145
155
  *
@@ -8,8 +8,9 @@ import { c as calciteSize48 } from "../../chunks/core.js";
8
8
  import { nothing, html, css } from "lit";
9
9
  import { ref, createRef } from "lit/directives/ref.js";
10
10
  import { safeClassMap, LitElement, createEvent, stringOrBoolean } from "@arcgis/lumina";
11
+ import { useDirection } from "@arcgis/lumina/controllers";
11
12
  import { f as filter } from "../../chunks/filter.js";
12
- import { l as getElementWidth, m as getTextWidth, j as focusElement } from "../../chunks/dom.js";
13
+ import { k as getElementWidth, l as getTextWidth, i as focusElement } from "../../chunks/dom.js";
13
14
  import { d as defaultMenuPlacement, r as reposition, c as connectFloatingUI, a as disconnectFloatingUI, f as filterValidFlipPlacements, h as hideFloatingUI, F as FloatingCSS } from "../../chunks/floating-ui.js";
14
15
  import { c as connectForm, a as afterConnectDefaultValueSet, d as disconnectForm, s as submitForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
15
16
  import { g as guid } from "../../chunks/guid.js";
@@ -41,6 +42,7 @@ class Combobox extends LitElement {
41
42
  constructor() {
42
43
  super();
43
44
  this.closeButtonRef = createRef();
45
+ this.direction = useDirection();
44
46
  this.selectAllComboboxItemRef = createRef();
45
47
  this.allSelectedIndicatorChipRef = createRef();
46
48
  this.cancelable = useCancelable()(this);
@@ -138,6 +140,7 @@ class Combobox extends LitElement {
138
140
  this.scale = "m";
139
141
  this.selectAllEnabled = false;
140
142
  this.selectionDisplay = "all";
143
+ this.selectionAppearance = "icon";
141
144
  this.selectionMode = "multiple";
142
145
  this.status = "idle";
143
146
  this.topLayerDisabled = false;
@@ -167,7 +170,7 @@ class Combobox extends LitElement {
167
170
  this.listen("click", this.comboboxFocusHandler);
168
171
  }
169
172
  static {
170
- this.properties = { activeChipIndex: [16, {}, { state: true }], activeDescendant: [16, {}, { state: true }], activeItemIndex: [16, {}, { state: true }], compactSelectionDisplay: [16, {}, { state: true }], selectedHiddenChipsCount: [16, {}, { state: true }], selectedVisibleChipsCount: [16, {}, { state: true }], items: [16, {}, { state: true }], noMatchesFound: [16, {}, { state: true }], allowCustomValues: [7, {}, { reflect: true, type: Boolean }], clearDisabled: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], filterText: [3, {}, { reflect: true }], filterProps: [0, {}, { attribute: false }], filteredItems: [32, {}, { attribute: false, readOnly: true }], flipPlacements: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], label: 1, labelText: 1, maxItems: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], name: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placeholder: 1, placeholderIcon: [3, { type: String }, { reflect: true }], placeholderIconFlipRtl: [7, {}, { reflect: true, type: Boolean }], placement: [3, {}, { reflect: true }], readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], selectAllEnabled: [7, {}, { reflect: true, type: Boolean }], selectedItems: [0, {}, { attribute: false }], selectionDisplay: [3, {}, { reflect: true }], selectionMode: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [0, {}, { attribute: false }], value: 1 };
173
+ this.properties = { activeChipIndex: [16, {}, { state: true }], activeDescendant: [16, {}, { state: true }], activeItemIndex: [16, {}, { state: true }], compactSelectionDisplay: [16, {}, { state: true }], selectedHiddenChipsCount: [16, {}, { state: true }], selectedVisibleChipsCount: [16, {}, { state: true }], items: [16, {}, { state: true }], noMatchesFound: [16, {}, { state: true }], allowCustomValues: [7, {}, { reflect: true, type: Boolean }], clearDisabled: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], filterText: [3, {}, { reflect: true }], filterProps: [0, {}, { attribute: false }], filteredItems: [32, {}, { attribute: false, readOnly: true }], flipPlacements: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], label: 1, labelText: 1, maxItems: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], name: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placeholder: 1, placeholderIcon: [3, { type: String }, { reflect: true }], placeholderIconFlipRtl: [7, {}, { reflect: true, type: Boolean }], placement: [3, {}, { reflect: true }], readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], selectAllEnabled: [7, {}, { reflect: true, type: Boolean }], selectedItems: [0, {}, { attribute: false }], selectionDisplay: [3, {}, { reflect: true }], selectionAppearance: [3, {}, { reflect: true }], selectionMode: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [0, {}, { attribute: false }], value: 1 };
171
174
  }
172
175
  static {
173
176
  this.styles = styles;
@@ -235,6 +238,7 @@ class Combobox extends LitElement {
235
238
  async reposition(delayed = false) {
236
239
  const { floatingEl, referenceEl, placement, overlayPositioning, filteredFlipPlacements } = this;
237
240
  return reposition(this, {
241
+ direction: this.direction,
238
242
  floatingEl,
239
243
  referenceEl,
240
244
  overlayPositioning,
@@ -278,7 +282,7 @@ class Combobox extends LitElement {
278
282
  if (changes.has("overlayPositioning") && (this.hasUpdated || this.overlayPositioning !== "absolute") || changes.has("placement") && (this.hasUpdated || this.placement !== defaultMenuPlacement)) {
279
283
  this.reposition(true);
280
284
  }
281
- if (changes.has("selectionMode") || changes.has("scale")) {
285
+ if (changes.has("selectionMode") || changes.has("scale") || changes.has("selectionAppearance")) {
282
286
  this.updateItems();
283
287
  }
284
288
  if (changes.has("flipPlacements")) {
@@ -812,6 +816,7 @@ class Combobox extends LitElement {
812
816
  updateItemProps() {
813
817
  this.getItems(true).forEach((item) => {
814
818
  item.selectionMode = this.selectionMode;
819
+ item.selectionAppearance = this.selectionAppearance;
815
820
  item.scale = this.scale;
816
821
  });
817
822
  this.groupItems.forEach((groupItem, index) => (groupItem.scale = this.scale, groupItem.position = index));
@@ -6,7 +6,7 @@ import { LitElement, createEvent, safeClassMap, safeStyleMap } from "@arcgis/lum
6
6
  import { g as guid } from "../../chunks/guid.js";
7
7
  import { c as getAncestors, i as isSingleLike, d as getDepth } from "../../chunks/utils2.js";
8
8
  import { g as getIconScale } from "../../chunks/component.js";
9
- import { n as slotChangeHasContent } from "../../chunks/dom.js";
9
+ import { m as slotChangeHasContent } from "../../chunks/dom.js";
10
10
  import { h as highlightText } from "../../chunks/text.js";
11
11
  import { u as useInteractive } from "../../chunks/useInteractive.js";
12
12
  const CSS = {
@@ -17,6 +17,7 @@ const CSS = {
17
17
  description: "description",
18
18
  icon: "icon",
19
19
  label: "label",
20
+ containerHighlightSelected: "container--highlight-selected",
20
21
  scale: (scale) => `scale--${scale}`,
21
22
  shortText: "short-text",
22
23
  single: "label--single",
@@ -35,7 +36,7 @@ const SLOTS = {
35
36
  contentStart: "content-start"
36
37
  };
37
38
  const itemSpacingMultiplier = "--calcite-combobox-item-spacing-indent-multiplier";
38
- 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([hidden]){display:none}[hidden]{display:none}.scale--s{font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm);--calcite-internal-combobox-item-spacing-unit-s: .25rem;--calcite-internal-combobox-item-spacing-unit-l: .5rem;--calcite-combobox-item-selector-icon-size: 1rem;--calcite-internal-combobox-item-description-font-size: var(--calcite-font-size-xs)}.scale--m{font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base);--calcite-internal-combobox-item-spacing-unit-s: .375rem;--calcite-internal-combobox-item-spacing-unit-l: .75rem;--calcite-combobox-item-selector-icon-size: 1rem;--calcite-internal-combobox-item-description-font-size: var(--calcite-font-size-sm)}.scale--l{font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md);--calcite-internal-combobox-item-spacing-unit-s: .625rem;--calcite-internal-combobox-item-spacing-unit-l: 1rem;--calcite-combobox-item-selector-icon-size: 1.5rem;--calcite-internal-combobox-item-description-font-size: var(--calcite-font-size)}.container{--calcite-combobox-item-indent-value: calc( var(--calcite-internal-combobox-item-spacing-unit-l) * var(--calcite-combobox-item-spacing-indent-multiplier) )}:host(:focus){--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}:host,ul{margin:0;display:flex;flex-direction:column;padding:0}:host(:focus),ul:focus{outline:2px solid transparent;outline-offset:2px}.label{position:relative;box-sizing:border-box;display:flex;inline-size:100%;min-inline-size:100%;cursor:pointer;align-items:center;text-decoration-line:none;transition-timing-function:cubic-bezier(.4,0,.2,1);outline-color:transparent;word-wrap:break-word;word-break:break-word;justify-content:space-around;gap:var(--calcite-internal-combobox-item-spacing-unit-l);padding-block:var(--calcite-internal-combobox-item-spacing-unit-s);padding-inline-end:var(--calcite-internal-combobox-item-spacing-unit-l);padding-inline-start:var(--calcite-combobox-item-indent-value);color:var(--calcite-combobox-text-color, var(--calcite-color-text-3));transition-duration:var(--calcite-animation-timing)}:host([disabled]) .label{cursor:default}.label--active{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.label:hover{background-color:var(--calcite-combobox-item-background-color-hover, var(--calcite-color-foreground-2));color:var(--calcite-combobox-text-color-hover, var(--calcite-color-text-1))}.label:active{background-color:var(--calcite-combobox-item-background-color-active, var(--calcite-color-foreground-3))}:host([selected]) .label,.label:active{color:var(--calcite-combobox-text-color-hover, var(--calcite-color-text-1))}:host([selected]) .label .description,:host([selected]) .label .short-text,.label:active .description,.label:active .short-text{color:var(--calcite-combobox-description-text-color-press, var(--calcite-color-text-2))}.icon{display:inline-flex;transition-timing-function:cubic-bezier(.4,0,.2,1);color:var(--calcite-color-border-input)}:host([selected]) .icon,:host([indeterminate]) .icon{color:var(--calcite-combobox-selected-icon-color, var(--calcite-color-brand))}.icon--custom{margin-block-start:-1px}.center-content{display:flex;flex-direction:column;flex-grow:1;padding-block:0}.description{font-size:var(--calcite-internal-combobox-item-description-font-size)}.short-text{white-space:nowrap}.heading{color:var(--calcite-combobox-heading-text-color, var(--calcite-color-text-1))}.description,.short-text{color:var(--calcite-combobox-description-text-color, var(--calcite-color-text-3))}:host([selected]) .heading{font-weight:var(--calcite-font-weight-medium)}.heading,.description,.short-text{line-height:var(--calcite-font-line-height-relative-snug)}:host([item-hidden]){display:none}.text-match{background-color:transparent;color:inherit;font-weight:var(--calcite-font-weight-bold)}`;
39
+ const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host([hidden]){display:none}[hidden]{display:none}.scale--s{font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm);--calcite-internal-combobox-item-spacing-unit-s: .25rem;--calcite-internal-combobox-item-spacing-unit-l: .5rem;--calcite-combobox-item-selector-icon-size: 1rem;--calcite-internal-combobox-item-description-font-size: var(--calcite-font-size-xs)}.scale--m{font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base);--calcite-internal-combobox-item-spacing-unit-s: .375rem;--calcite-internal-combobox-item-spacing-unit-l: .75rem;--calcite-combobox-item-selector-icon-size: 1rem;--calcite-internal-combobox-item-description-font-size: var(--calcite-font-size-sm)}.scale--l{font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md);--calcite-internal-combobox-item-spacing-unit-s: .625rem;--calcite-internal-combobox-item-spacing-unit-l: 1rem;--calcite-combobox-item-selector-icon-size: 1.5rem;--calcite-internal-combobox-item-description-font-size: var(--calcite-font-size)}.container{--calcite-combobox-item-indent-value: calc( var(--calcite-internal-combobox-item-spacing-unit-l) * var(--calcite-combobox-item-spacing-indent-multiplier) )}:host(:focus){--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}:host,ul{margin:0;display:flex;flex-direction:column;padding:0}:host(:focus),ul:focus{outline:2px solid transparent;outline-offset:2px}.label{position:relative;box-sizing:border-box;display:flex;inline-size:100%;min-inline-size:100%;cursor:pointer;align-items:center;text-decoration-line:none;transition-timing-function:cubic-bezier(.4,0,.2,1);outline-color:transparent;word-wrap:break-word;word-break:break-word;justify-content:space-around;gap:var(--calcite-internal-combobox-item-spacing-unit-l);padding-block:var(--calcite-internal-combobox-item-spacing-unit-s);padding-inline-end:var(--calcite-internal-combobox-item-spacing-unit-l);padding-inline-start:var(--calcite-combobox-item-indent-value);color:var(--calcite-combobox-text-color, var(--calcite-color-text-3));transition-duration:var(--calcite-animation-timing)}:host([disabled]) .label{cursor:default}.label--active{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.label:hover{background-color:var(--calcite-combobox-item-background-color-hover, var(--calcite-color-foreground-2));color:var(--calcite-combobox-text-color-hover, var(--calcite-color-text-1))}.label:active{background-color:var(--calcite-combobox-item-background-color-active, var(--calcite-color-foreground-3))}:host([selected]) .label,.label:active{color:var(--calcite-combobox-text-color-hover, var(--calcite-color-text-1))}:host([selected]) .label .description,:host([selected]) .label .short-text,.label:active .description,.label:active .short-text{color:var(--calcite-combobox-description-text-color-press, var(--calcite-color-text-2))}.icon{display:inline-flex;transition-timing-function:cubic-bezier(.4,0,.2,1);color:var(--calcite-color-border-input)}:host([selected]) .icon,:host([indeterminate]) .icon{color:var(--calcite-combobox-selected-icon-color, var(--calcite-color-brand))}.icon--custom{margin-block-start:-1px}.center-content{display:flex;flex-direction:column;flex-grow:1;padding-block:0}.description{font-size:var(--calcite-internal-combobox-item-description-font-size)}.short-text{white-space:nowrap}.heading{color:var(--calcite-combobox-heading-text-color, var(--calcite-color-text-1))}.description,.short-text{color:var(--calcite-combobox-description-text-color, var(--calcite-color-text-3))}:host([selected]) .heading{font-weight:var(--calcite-font-weight-medium)}.heading,.description,.short-text{line-height:var(--calcite-font-line-height-relative-snug)}.container--highlight-selected{background-color:var(--calcite-color-surface-highlight)}:host([item-hidden]){display:none}.text-match{background-color:transparent;color:inherit;font-weight:var(--calcite-font-weight-bold)}`;
39
40
  class ComboboxItem extends LitElement {
40
41
  constructor() {
41
42
  super(...arguments);
@@ -48,13 +49,14 @@ class ComboboxItem extends LitElement {
48
49
  this.iconFlipRtl = false;
49
50
  this.scale = "m";
50
51
  this.selectionMode = "multiple";
52
+ this.selectionAppearance = "icon";
51
53
  this.itemHidden = false;
52
54
  this.indeterminate = false;
53
55
  this.calciteComboboxItemChange = createEvent({ cancelable: false });
54
56
  this.calciteInternalComboboxItemChange = createEvent({ cancelable: false });
55
57
  }
56
58
  static {
57
- this.properties = { hasContent: [16, {}, { state: true }], active: [7, {}, { reflect: true, type: Boolean }], ancestors: [0, {}, { attribute: false }], description: 1, disabled: [7, {}, { reflect: true, type: Boolean }], filterDisabled: [7, {}, { reflect: true, type: Boolean }], filterTextMatchPattern: [3, {}, { reflect: true }], guid: [3, {}, { reflect: true }], heading: 1, icon: [3, { type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], label: 1, metadata: [0, {}, { attribute: false }], scale: 1, selected: [7, {}, { reflect: true, type: Boolean }], selectionMode: [3, {}, { reflect: true }], shortHeading: 1, value: [3, {}, { reflect: true }], itemHidden: [7, {}, { reflect: true, type: Boolean }], indeterminate: [7, {}, { reflect: true, type: Boolean }] };
59
+ this.properties = { hasContent: [16, {}, { state: true }], active: [7, {}, { reflect: true, type: Boolean }], ancestors: [0, {}, { attribute: false }], description: 1, disabled: [7, {}, { reflect: true, type: Boolean }], filterDisabled: [7, {}, { reflect: true, type: Boolean }], filterTextMatchPattern: [3, {}, { reflect: true }], guid: [3, {}, { reflect: true }], heading: 1, icon: [3, { type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], label: 1, metadata: [0, {}, { attribute: false }], scale: 1, selected: [7, {}, { reflect: true, type: Boolean }], selectionMode: [3, {}, { reflect: true }], selectionAppearance: [3, {}, { reflect: true }], shortHeading: 1, value: [3, {}, { reflect: true }], itemHidden: [7, {}, { reflect: true, type: Boolean }], indeterminate: [7, {}, { reflect: true, type: Boolean }] };
58
60
  }
59
61
  static {
60
62
  this.styles = styles;
@@ -107,6 +109,9 @@ class ComboboxItem extends LitElement {
107
109
  })} .flipRtl=${this.iconFlipRtl} .icon=${this.icon || iconPath} .scale=${getIconScale(this.scale)}></calcite-icon>`) : null;
108
110
  }
109
111
  renderSelectIndicator(icon) {
112
+ if (this.selectionAppearance === "highlight") {
113
+ return null;
114
+ }
110
115
  return keyed("indicator", html`<calcite-icon class=${safeClassMap({
111
116
  [CSS.icon]: true
112
117
  })} .flipRtl=${this.iconFlipRtl} .icon=${icon} .scale=${getIconScale(this.scale)}></calcite-icon>`);
@@ -124,7 +129,8 @@ class ComboboxItem extends LitElement {
124
129
  const classes = {
125
130
  [CSS.label]: true,
126
131
  [CSS.active]: this.active,
127
- [CSS.single]: isSingleSelect
132
+ [CSS.single]: isSingleSelect,
133
+ [CSS.containerHighlightSelected]: this.selected && this.selectionAppearance === "highlight"
128
134
  };
129
135
  const depth = getDepth(this.el);
130
136
  this.el.ariaHidden = "true";
@@ -6,7 +6,7 @@ import { css, html, nothing } from "lit";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
7
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
8
8
  import { b as dateFromRange, n as nextMonth, p as prevMonth, f as formatCalendarYear, e as parseCalendarYear, j as getDateInMonth, i as inRange, h as hasSameMonthAndYear, k as getOrder } from "../../chunks/date.js";
9
- import { c as closestElementCrossShadowBoundary, m as getTextWidth } from "../../chunks/dom.js";
9
+ import { c as closestElementCrossShadowBoundary, l as getTextWidth } from "../../chunks/dom.js";
10
10
  import { i as isActivationKey } from "../../chunks/key.js";
11
11
  import { n as numberStringFormatter } from "../../chunks/locale.js";
12
12
  const styles = css`:host{display:block}.header{display:flex;block-size:100%;align-items:center;justify-content:space-between}.chevron-container{display:flex;align-items:center}:host([scale=s]){block-size:24px;margin:var(--calcite-spacing-xs);margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .chevron-container,:host([scale=s]) .chevron{min-inline-size:24px;block-size:24px}:host([scale=m]){block-size:32px;margin:var(--calcite-spacing-sm);margin-inline-start:var(--calcite-spacing-sm-plus)}:host([scale=m]) .chevron-container,:host([scale=m]) .chevron{min-inline-size:32px;block-size:32px;--calcite-internal-action-padding-block: var(--calcite-spacing-xxs)}:host([scale=l]){block-size:44px;margin:var(--calcite-spacing-xs);margin-inline-start:var(--calcite-spacing-sm)}:host([scale=l]) .chevron-container,:host([scale=l]) .chevron{min-inline-size:44px;block-size:44px;--calcite-internal-action-padding-block: var(--calcite-spacing-sm-plus)}.chevron{box-sizing:content-box;display:flex;block-size:100%;inline-size:100%;flex-grow:0;cursor:pointer;align-items:center;justify-content:center;border-style:none;outline-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;--calcite-internal-action-padding-block: 0;--calcite-action-background-color: var(--calcite-date-picker-header-action-background-color);--calcite-action-background-color-hover: var(--calcite-date-picker-header-action-background-color-hover);--calcite-action-background-color-press: var(--calcite-date-picker-header-action-background-color-press);--calcite-action-text-color: var(--calcite-date-picker-header-action-text-color);--calcite-action-text-color-press: var(--calcite-date-picker-header-action-text-color-press)}.chevron:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.chevron[aria-disabled=true]{pointer-events:none}.month-year-container{display:flex;block-size:100%;inline-size:100%;flex:1 1 auto;align-items:center;justify-content:flex-start;text-align:center;line-height:1;gap:var(--calcite-spacing-xxs)}.month-year-container.range-calendar{justify-content:center}.year-container{position:relative;display:flex;block-size:100%}.suffix{display:flex;align-items:center}.year,.suffix{margin-inline:var(--calcite-spacing-xxs);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-date-picker-year-text-color, var(--calcite-color-text-1));font-size:var(--calcite-font-size-md);line-height:var(--calcite-font-line-height-fixed-lg)}.year{position:relative;display:inline-block;border-style:none;background-color:transparent;text-align:center;font-family:inherit;outline-color:transparent;inline-size:44px}.year:hover{transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:outline-color;outline:2px solid var(--calcite-color-border-2);outline-offset:-2px}.year:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.month-select{--calcite-select-internal-border-width: 0;--calcite-select-internal-icon-border-inline-end-width: 0;--calcite-select-spacing-inline: var(--calcite-spacing-xxs);--calcite-select-font-size: var(--calcite-date-picker-month-select-font-size, var(--calcite-font-size-md));--calcite-select-text-color: var(--calcite-date-picker-month-select-text-color, var(--calcite-color-text-1));--calcite-select-icon-color: var(--calcite-date-picker-month-select-icon-color);--calcite-select-icon-color-hover: var(--calcite-date-picker-month-select-icon-color-hover);--calcite-internal-select-spacing-block: var(--calcite-spacing-xxs);--calcite-internal-select-icon-container-padding-inline: var(--calcite-spacing-xxs);--calcite-internal-select-line-height: var(--calcite-font-line-height-fixed-lg);--calcite-internal-select-font-weight: var(--calcite-font-weight-medium)}:host([scale=s]) .month-year-container .month-select{--calcite-select-spacing-inline: var(--calcite-spacing-base);--calcite-select-font-size: var(--calcite-date-picker-month-select-font-size, var(--calcite-font-size));--calcite-internal-select-spacing-block: var(--calcite-spacing-base);--calcite-internal-select-icon-container-padding-inline: var(--calcite-spacing-base);--calcite-internal-select-block-size: 24px;--calcite-internal-select-line-height: var(--calcite-font-line-height-fixed-base)}:host([scale=s]) .month-year-container .year{inline-size:40px}:host([scale=s]) .month-year-container .year,:host([scale=s]) .month-year-container .suffix{font-size:var(--calcite-font-size);line-height:var(--calcite-font-line-height-fixed-base)}:host([scale=l]) .month-year-container .month-select{--calcite-select-spacing-inline: var(--calcite-spacing-sm);--calcite-select-font-size: var(--calcite-date-picker-month-select-font-size, var(--calcite-font-size-lg));--calcite-internal-select-spacing-block: var(--calcite-spacing-sm);--calcite-internal-select-icon-container-padding-inline: var(--calcite-spacing-sm);--calcite-internal-select-block-size: 44px;--calcite-internal-select-line-height: var(--calcite-font-line-height-fixed-xl)}:host([scale=l]) .month-year-container .year{inline-size:48px}:host([scale=l]) .month-year-container .year,:host([scale=l]) .month-year-container .suffix{font-size:var(--calcite-font-size-lg);line-height:var(--calcite-font-line-height-fixed-xl)}:host([hidden]){display:none}[hidden]{display:none}`;
@@ -16,8 +16,8 @@ import type { DialogPlacement } from "./interfaces.js";
16
16
  * @cssproperty [--calcite-dialog-min-size-y] - Specifies the component's minimum height, using `px`, `em`, `rem`, `vh`, or `%`.
17
17
  * @cssproperty [--calcite-dialog-max-size-y] - Specifies the component's maximum height, using `px`, `em`, `rem`, `vh`, or `%`.
18
18
  * @cssproperty [--calcite-dialog-content-space] - Specifies the padding of the component's content.
19
- * @cssproperty [--calcite-dialog-content-top-space] - Specifies the padding of the `"content-top"` slot.
20
- * @cssproperty [--calcite-dialog-content-bottom-space] - Specifies the padding of the `"content-bottom"` slot.
19
+ * @cssproperty [--calcite-dialog-content-top-space] - Specifies the padding of the component's `content-top` slot.
20
+ * @cssproperty [--calcite-dialog-content-bottom-space] - Specifies the padding of the component's `content-bottom` slot.
21
21
  * @cssproperty [--calcite-dialog-footer-space] - Specifies the padding of the component's footer.
22
22
  * @cssproperty [--calcite-dialog-border-color] - Specifies the component's border color.
23
23
  * @cssproperty [--calcite-dialog-offset-x] - Specifies the component's horizontal offset.
@@ -5,7 +5,7 @@ import { u as useSizeOverride, i as interact } from "../../chunks/useSizeOverrid
5
5
  import { css, html } from "lit";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
7
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
8
- import { a as getStylePixelValue } from "../../chunks/dom.js";
8
+ import { g as getStylePixelValue } from "../../chunks/dom.js";
9
9
  import { c as createObserver } from "../../chunks/observers.js";
10
10
  import { g as getDimensionClass } from "../../chunks/dynamicClasses.js";
11
11
  import { t as toggleOpenClose } from "../../chunks/openCloseComponent.js";
@@ -4,7 +4,8 @@ import { ref } from "lit/directives/ref.js";
4
4
  import { css, nothing, html } from "lit";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
6
  import { queryAssignedElements } from "lit/decorators.js";
7
- import { f as focusElementInGroup, j as focusElement, u as nextFrame } from "../../chunks/dom.js";
7
+ import { useDirection } from "@arcgis/lumina/controllers";
8
+ import { f as focusElementInGroup, i as focusElement, r as nextFrame } from "../../chunks/dom.js";
8
9
  import { d as defaultMenuPlacement, r as reposition, c as connectFloatingUI, a as disconnectFloatingUI, f as filterValidFlipPlacements, h as hideFloatingUI, F as FloatingCSS } from "../../chunks/floating-ui.js";
9
10
  import { g as guid } from "../../chunks/guid.js";
10
11
  import { i as isActivationKey } from "../../chunks/key.js";
@@ -40,6 +41,7 @@ var __decorateClass = (decorators, target, key, kind) => {
40
41
  class Dropdown extends LitElement {
41
42
  constructor() {
42
43
  super();
44
+ this.direction = useDirection();
43
45
  this.focusLastDropdownItem = false;
44
46
  this.groups = [];
45
47
  this.guid = guid();
@@ -89,6 +91,7 @@ class Dropdown extends LitElement {
89
91
  async reposition(delayed = false) {
90
92
  const { filteredFlipPlacements, floatingEl, offsetDistance, offsetSkidding, overlayPositioning, placement, referenceEl } = this;
91
93
  return reposition(this, {
94
+ direction: this.direction,
92
95
  floatingEl,
93
96
  referenceEl,
94
97
  offsetDistance,
@@ -14,12 +14,12 @@ import type { IconName } from "../calcite-icon/interfaces.js";
14
14
  * @cssproperty [--calcite-flow-description-text-color] - Specifies the text color of the component's `description`.
15
15
  * @cssproperty [--calcite-flow-border-color] - Specifies the component's border color.
16
16
  * @cssproperty [--calcite-flow-background-color] - Specifies the component's background color.
17
- * @cssproperty [--calcite-flow-content-top-space] - Specifies the padding of the `"content-top"` slot.
18
- * @cssproperty [--calcite-flow-content-bottom-space] - Specifies the padding of the `"content-bottom"` slot.
17
+ * @cssproperty [--calcite-flow-content-top-space] - Specifies the padding of the component's `content-top` slot.
18
+ * @cssproperty [--calcite-flow-content-bottom-space] - Specifies the padding of the component's `content-bottom` slot.
19
19
  * @cssproperty [--calcite-flow-header-background-color] - Specifies the background color of the component's header.
20
20
  * @cssproperty [--calcite-flow-footer-background-color] - Specifies the background color of the component's footer.
21
21
  * @cssproperty [--calcite-flow-space] - Specifies the padding of the component's `unnamed (default)` slot.
22
- * @cssproperty [--calcite-flow-header-content-space] - Specifies the padding of the `header-content` slot.
22
+ * @cssproperty [--calcite-flow-header-content-space] - Specifies the padding of the component's `header-content` slot.
23
23
  * @cssproperty [--calcite-flow-footer-space] - Specifies the padding of the component's footer.
24
24
  * @cssproperty [--calcite-action-background-color] - Specifies the background color of the component's `closable`, `collapsible`, and `back` `calcite-action`s. Applies to any slotted `calcite-action`s.
25
25
  * @cssproperty [--calcite-action-background-color-hover] - Specifies the background color of the component's `closable`, `collapsible`, and `back` `calcite-action`s when hovered. Applies to any slotted `calcite-action`s.
@@ -4,7 +4,7 @@ import { keyed } from "lit/directives/keyed.js";
4
4
  import { css, nothing, html } from "lit";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
- import { g as getElementDir } from "../../chunks/dom.js";
7
+ import { useDirection } from "@arcgis/lumina/controllers";
8
8
  import { S as SLOTS$1 } from "../../chunks/resources6.js";
9
9
  import { u as useT9n } from "../../chunks/useT9n.js";
10
10
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
@@ -36,6 +36,7 @@ class FlowItem extends LitElement {
36
36
  super(...arguments);
37
37
  this.backButtonRef = createRef();
38
38
  this.containerRef = createRef();
39
+ this.direction = useDirection();
39
40
  this.messages = useT9n();
40
41
  this.focusSetter = useSetFocus()(this);
41
42
  this.interactiveContainer = useInteractive(this);
@@ -112,8 +113,7 @@ class FlowItem extends LitElement {
112
113
  this.calciteFlowItemBack.emit();
113
114
  }
114
115
  renderBackButton() {
115
- const { el } = this;
116
- const rtl = getElementDir(el) === "rtl";
116
+ const rtl = this.direction === "rtl";
117
117
  const { showBackButton, backButtonClick, messages } = this;
118
118
  const label = messages.back;
119
119
  const icon = rtl ? ICONS.backRight : ICONS.backLeft;
@@ -2,7 +2,7 @@
2
2
  import { g as getAssetPath, c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, isServer, nothing, svg, html } from "lit";
4
4
  import { LitElement, safeClassMap } from "@arcgis/lumina";
5
- import { g as getElementDir } from "../../chunks/dom.js";
5
+ import { useDirection } from "@arcgis/lumina/controllers";
6
6
  import { t as toAriaBoolean } from "../../chunks/aria.js";
7
7
  import { c as createObserver } from "../../chunks/observers.js";
8
8
  import { l as logger } from "../../chunks/logger.js";
@@ -68,6 +68,7 @@ const styles = css`:host{display:inline-flex;color:var(--calcite-icon-color, var
68
68
  class Icon extends LitElement {
69
69
  constructor() {
70
70
  super(...arguments);
71
+ this.direction = useDirection();
71
72
  this.visible = false;
72
73
  this.flipRtl = false;
73
74
  this.icon = null;
@@ -133,8 +134,8 @@ class Icon extends LitElement {
133
134
  this.intersectionObserver.observe(this.el);
134
135
  }
135
136
  render() {
136
- const { el, flipRtl, pathData, scale, textLabel } = this;
137
- const dir = getElementDir(el);
137
+ const { flipRtl, pathData, scale, textLabel } = this;
138
+ const dir = this.direction;
138
139
  const size = scaleToPx[scale];
139
140
  const semantic = !!textLabel;
140
141
  const paths = [].concat(pathData || "");
@@ -4,7 +4,7 @@ import { css, html } from "lit";
4
4
  import { createRef, ref } from "lit/directives/ref.js";
5
5
  import { LitElement, createEvent, safeClassMap, nothing } from "@arcgis/lumina";
6
6
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
7
- import { b as slotChangeGetAssignedElements } from "../../chunks/dom.js";
7
+ import { a as slotChangeGetAssignedElements } from "../../chunks/dom.js";
8
8
  import { u as useT9n } from "../../chunks/useT9n.js";
9
9
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
10
10
  import { u as useInteractive } from "../../chunks/useInteractive.js";
@@ -5,8 +5,8 @@ import { keyed } from "lit/directives/keyed.js";
5
5
  import { css, html, nothing } from "lit";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
7
  import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
8
- import { useWatchAttributes } from "@arcgis/lumina/controllers";
9
- import { d as setRequestedIcon, k as isPrimaryPointerButton, g as getElementDir } from "../../chunks/dom.js";
8
+ import { useWatchAttributes, useDirection } from "@arcgis/lumina/controllers";
9
+ import { b as setRequestedIcon, j as isPrimaryPointerButton } from "../../chunks/dom.js";
10
10
  import { c as connectForm, i as internalHiddenInputInputEvent, d as disconnectForm, s as submitForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
11
11
  import { n as numberKeys } from "../../chunks/key.js";
12
12
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
@@ -67,6 +67,7 @@ class Input extends LitElement {
67
67
  this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode", "spellcheck"], this.handleGlobalAttributesChanged);
68
68
  this.childRef = createRef();
69
69
  this.childNumberRef = createRef();
70
+ this.direction = useDirection();
70
71
  this.inputWrapperRef = createRef();
71
72
  this.onHiddenFormInputInput = (event) => {
72
73
  if (event.target.name === this.name) {
@@ -514,7 +515,7 @@ class Input extends LitElement {
514
515
  }
515
516
  }
516
517
  render() {
517
- const dir = getElementDir(this.el);
518
+ const dir = this.direction;
518
519
  const loader = html`<div class=${safeClassMap(CSS.loader)}><calcite-progress .label=${this.messages.loading} type=indeterminate></calcite-progress></div>`;
519
520
  const inputClearButton = html`<button .ariaLabel=${this.messages.clear} class=${safeClassMap(CSS.clearButton)} .disabled=${this.disabled || this.readOnly} @click=${this.clearInputValue} tabindex=-1 title=${this.messages.clear ?? nothing} type=button><calcite-icon .icon=${ICONS.close} .scale=${getIconScale(this.scale)}></calcite-icon></button>`;
520
521
  const iconEl = html`<calcite-icon class=${safeClassMap(CSS.inputIcon)} .flipRtl=${this.iconFlipRtl} .icon=${this.requestedIcon} .scale=${getIconScale(this.scale)}></calcite-icon>`;
@@ -3,6 +3,7 @@ import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, isServer, nothing, html } from "lit";
4
4
  import { createRef, ref } from "lit/directives/ref.js";
5
5
  import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
6
+ import { useDirection } from "@arcgis/lumina/controllers";
6
7
  import { u as useFocusTrap } from "../../chunks/useFocusTrap.js";
7
8
  import { l as datePartsFromISO, d as dateFromISO, b as dateFromRange, a as dateToISO, m as datePartsFromLocalizedString, o as dateFromLocalizedString, i as inRange } from "../../chunks/date.js";
8
9
  import { d as defaultMenuPlacement, r as reposition, c as connectFloatingUI, a as disconnectFloatingUI, f as filterValidFlipPlacements, h as hideFloatingUI, F as FloatingCSS } from "../../chunks/floating-ui.js";
@@ -72,6 +73,7 @@ class InputDatePicker extends LitElement {
72
73
  super();
73
74
  this.commonDateSeparators = [".", "-", "/"];
74
75
  this.dialogId = IDS.dialog(guid());
76
+ this.direction = useDirection();
75
77
  this.endInputRef = createRef();
76
78
  this.focusOnOpen = false;
77
79
  this.focusTrap = useFocusTrap({
@@ -168,6 +170,7 @@ class InputDatePicker extends LitElement {
168
170
  async reposition(delayed = false) {
169
171
  const { floatingEl, referenceEl, placement, overlayPositioning, filteredFlipPlacements } = this;
170
172
  return reposition(this, {
173
+ direction: this.direction,
171
174
  floatingEl,
172
175
  referenceEl,
173
176
  overlayPositioning,
@@ -2,7 +2,7 @@
2
2
  import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, html } from "lit";
4
4
  import { LitElement, stringOrBoolean, setAttribute, safeClassMap } from "@arcgis/lumina";
5
- import { d as setRequestedIcon } from "../../chunks/dom.js";
5
+ import { b as setRequestedIcon } from "../../chunks/dom.js";
6
6
  const StatusIconDefaults = {
7
7
  valid: "check-circle",
8
8
  invalid: "exclamation-mark-triangle",
@@ -5,8 +5,8 @@ import { keyed } from "lit/directives/keyed.js";
5
5
  import { css, html, nothing } from "lit";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
7
  import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
8
- import { useWatchAttributes } from "@arcgis/lumina/controllers";
9
- import { d as setRequestedIcon, k as isPrimaryPointerButton, g as getElementDir } from "../../chunks/dom.js";
8
+ import { useWatchAttributes, useDirection } from "@arcgis/lumina/controllers";
9
+ import { b as setRequestedIcon, j as isPrimaryPointerButton } from "../../chunks/dom.js";
10
10
  import { c as connectForm, i as internalHiddenInputInputEvent, d as disconnectForm, s as submitForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
11
11
  import { n as numberKeys } from "../../chunks/key.js";
12
12
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
@@ -57,6 +57,7 @@ class InputNumber extends LitElement {
57
57
  this.actionWrapperRef = createRef();
58
58
  this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode"], this.handleGlobalAttributesChanged);
59
59
  this.childNumberRef = createRef();
60
+ this.direction = useDirection();
60
61
  this.inputWrapperRef = createRef();
61
62
  this.onHiddenFormInputInput = (event) => {
62
63
  if (event.target.name === this.name) {
@@ -513,7 +514,7 @@ class InputNumber extends LitElement {
513
514
  }
514
515
  }
515
516
  render() {
516
- const dir = getElementDir(this.el);
517
+ const dir = this.direction;
517
518
  const loader = html`<div class=${safeClassMap(CSS.loader)}><calcite-progress .label=${this.messages.loading} type=indeterminate></calcite-progress></div>`;
518
519
  const inputClearButton = html`<button .ariaLabel=${this.messages.clear} class=${safeClassMap(CSS.clearButton)} .disabled=${this.disabled || this.readOnly} @click=${this.clearInputValue} tabindex=-1 type=button><calcite-icon .icon=${ICONS.clear} .scale=${getIconScale(this.scale)}></calcite-icon></button>`;
519
520
  const iconEl = html`<calcite-icon class=${safeClassMap(CSS.inputIcon)} .flipRtl=${this.iconFlipRtl} .icon=${this.requestedIcon} .scale=${getIconScale(this.scale)}></calcite-icon>`;
@@ -1,6 +1,6 @@
1
1
  /// <reference path="../../index.d.ts" />
2
2
  import type { PublicLitElement as LitElement } from "@arcgis/lumina";
3
- import type { MutableValidityState } from "../../utils/form.js";
3
+ import type { MutableValidityState } from "../../controllers/useForm.js";
4
4
  import type { Alignment, Scale, Status } from "../interfaces.js";
5
5
  import type { IconName } from "../calcite-icon/interfaces.js";
6
6