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

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 (267) hide show
  1. package/dist/cdn/{FAHLSHDH.js → 22IPJDDL.js} +1 -1
  2. package/dist/cdn/25CWB6HX.js +2 -0
  3. package/dist/cdn/25YVFVC7.js +2 -0
  4. package/dist/cdn/{VLGFWPBL.js → 2GS6R2BX.js} +1 -1
  5. package/dist/cdn/2QARK4VJ.js +2 -0
  6. package/dist/cdn/{BWUA5WU5.js → 2Z4Z3NMS.js} +1 -1
  7. package/dist/cdn/{GW7IPUQS.js → 3KLZFJXW.js} +1 -1
  8. package/dist/cdn/3L2WKJUB.js +2 -0
  9. package/dist/cdn/{CZYFEVKF.js → 3LOKHBAB.js} +1 -1
  10. package/dist/cdn/{A4OYPK5D.js → 3NNVHOGK.js} +1 -1
  11. package/dist/cdn/{HVBNJRAQ.js → 3WLFK4RW.js} +1 -1
  12. package/dist/cdn/{ZIOXZBYF.js → 42NQN6DY.js} +1 -1
  13. package/dist/cdn/462JN5WF.js +2 -0
  14. package/dist/cdn/{GDTRICJF.js → 464S36UH.js} +1 -1
  15. package/dist/cdn/{ULBA6IRN.js → 4ALKCXNH.js} +1 -1
  16. package/dist/cdn/4GQPJFUJ.js +2 -0
  17. package/dist/cdn/{WAC3IAWB.js → 4GVH7HTQ.js} +1 -1
  18. package/dist/cdn/{7CZHE7FZ.js → 4J6YW6EK.js} +1 -1
  19. package/dist/cdn/{7CLOFSLV.js → 52ZOO5HQ.js} +1 -1
  20. package/dist/cdn/5HTRQR7F.js +2 -0
  21. package/dist/cdn/{IFHMJCAE.js → 5J2UYJYX.js} +1 -1
  22. package/dist/cdn/{TCAGY7OI.js → 5L7CGWWD.js} +1 -1
  23. package/dist/cdn/{LIJYENWJ.js → 5SU52VYR.js} +1 -1
  24. package/dist/cdn/5TCLHXAD.js +2 -0
  25. package/dist/cdn/{7KCC74EE.js → 6NEHFZMJ.js} +1 -1
  26. package/dist/cdn/{RSCA2AM5.js → 6VRXKEA7.js} +1 -1
  27. package/dist/cdn/{EW6277QZ.js → 6XJYCX76.js} +1 -1
  28. package/dist/cdn/{XYAZINKS.js → 752PQ7IA.js} +1 -1
  29. package/dist/cdn/{ILES2J66.js → 7RSGSW76.js} +1 -1
  30. package/dist/cdn/7UOYXJ3K.js +2 -0
  31. package/dist/cdn/{EIFNZZAD.js → A2UZRUUF.js} +1 -1
  32. package/dist/cdn/{GFZYTB3O.js → A7IQIXR3.js} +1 -1
  33. package/dist/cdn/{R3EE76WN.js → AEUCGVU4.js} +1 -1
  34. package/dist/cdn/{RA4KNUNM.js → AJKEEG2Z.js} +1 -1
  35. package/dist/cdn/{5TWM6GKK.js → ALC6PGDZ.js} +1 -1
  36. package/dist/cdn/{HRUVPNCI.js → B55VO4LW.js} +1 -1
  37. package/dist/cdn/{JKLX623E.js → BIEIKUB2.js} +1 -1
  38. package/dist/cdn/{MXRMT4RB.js → BPSXK66S.js} +1 -1
  39. package/dist/cdn/BS22M3WT.js +2 -0
  40. package/dist/cdn/{MASQZEFU.js → BWDCDFXW.js} +1 -1
  41. package/dist/cdn/C25VFIND.js +2 -0
  42. package/dist/cdn/{UTFS3HNB.js → CWQZDXHH.js} +1 -1
  43. package/dist/cdn/CXVISA7Y.js +2 -0
  44. package/dist/cdn/{X7JEHH2B.js → D7UER3G6.js} +1 -1
  45. package/dist/cdn/{3W4NT367.js → DR7JKZAI.js} +1 -1
  46. package/dist/cdn/{AMZPSRIA.js → DY6SXW3X.js} +1 -1
  47. package/dist/cdn/{IMOAPVVW.js → ED7SQQHM.js} +1 -1
  48. package/dist/cdn/EFNE45MK.js +2 -0
  49. package/dist/cdn/{MUGKSK5F.js → EGK4PSW5.js} +1 -1
  50. package/dist/cdn/{YOYLPMEA.js → EJCQCHH7.js} +1 -1
  51. package/dist/cdn/{A22XLAKZ.js → ENCYKNKN.js} +1 -1
  52. package/dist/cdn/EY4MG3NU.js +2 -0
  53. package/dist/cdn/{Z22BRBT4.js → EZW5GK73.js} +1 -1
  54. package/dist/cdn/{MTNYIXZQ.js → FWEFFYYZ.js} +1 -1
  55. package/dist/cdn/{KVSU3DLB.js → G4QI7VSJ.js} +1 -1
  56. package/dist/cdn/{V4KATS7H.js → GEQ3EBJO.js} +1 -1
  57. package/dist/cdn/GLJVCFQW.js +2 -0
  58. package/dist/cdn/GNDNKP2Q.js +2 -0
  59. package/dist/cdn/H77SNVVI.js +2 -0
  60. package/dist/cdn/{FAOX7WLQ.js → HAUWZRL4.js} +1 -1
  61. package/dist/cdn/{FDGUUC3D.js → HBUNMGZ3.js} +1 -1
  62. package/dist/cdn/{R6D5F2V7.js → HFGDCX3I.js} +1 -1
  63. package/dist/cdn/{XDOFVA4S.js → HGRVTRR3.js} +1 -1
  64. package/dist/cdn/{WR6QBFCR.js → HHOMMC4H.js} +1 -1
  65. package/dist/cdn/{LGKOEBZ4.js → HUNZU2OF.js} +1 -1
  66. package/dist/cdn/{DFXECQ6Z.js → IFLPCKYL.js} +1 -1
  67. package/dist/cdn/{AYPT6VGV.js → IJP6ZKHZ.js} +1 -1
  68. package/dist/cdn/{Z3IVC2AV.js → IU4TJIME.js} +1 -1
  69. package/dist/cdn/J42TNDHM.js +2 -0
  70. package/dist/cdn/J4J65DN5.js +2 -0
  71. package/dist/cdn/{SYSNPKVM.js → K4R3HUW3.js} +1 -1
  72. package/dist/cdn/KBHLSIAR.js +2 -0
  73. package/dist/cdn/{FRI4RPRX.js → KKMGV3S6.js} +1 -1
  74. package/dist/cdn/{IOSK2I75.js → KUC6KV4R.js} +1 -1
  75. package/dist/cdn/{ED2GANBI.js → KVPLQQ75.js} +1 -1
  76. package/dist/cdn/{37APBABQ.js → KVRUYI63.js} +1 -1
  77. package/dist/cdn/MLQDQZZR.js +2 -0
  78. package/dist/cdn/{OVU2NGHU.js → MM6LZCYO.js} +1 -1
  79. package/dist/cdn/{MJCRT7H4.js → MQMNX7AM.js} +1 -1
  80. package/dist/cdn/N47CSPB7.js +2 -0
  81. package/dist/cdn/{RRHN2PDB.js → NAFJ5ZYO.js} +1 -1
  82. package/dist/cdn/{HXS3PD57.js → NIBBUVHR.js} +1 -1
  83. package/dist/cdn/NMIBGEIB.js +2 -0
  84. package/dist/cdn/{5HQ3O27G.js → NNSUCRNU.js} +1 -1
  85. package/dist/cdn/{ZZNRLKQQ.js → NT6RQTF7.js} +1 -1
  86. package/dist/cdn/O6ZRTXVO.js +2 -0
  87. package/dist/cdn/{7DA7BZM3.js → O75ZRZLS.js} +1 -1
  88. package/dist/cdn/{SXVCUXNL.js → OCFKSX5L.js} +1 -1
  89. package/dist/cdn/{6IZMIAV2.js → ODOOWGRW.js} +1 -1
  90. package/dist/cdn/{CAAZHUX4.js → OGOI7JTF.js} +1 -1
  91. package/dist/cdn/{FCNCDBSI.js → OO556Q5A.js} +1 -1
  92. package/dist/cdn/PGUOVY7V.js +2 -0
  93. package/dist/cdn/{GZNBU3BV.js → PJ3GHZ7T.js} +1 -1
  94. package/dist/cdn/PNXNTD3R.js +2 -0
  95. package/dist/cdn/{HXVXRVZW.js → PYD5GHXA.js} +1 -1
  96. package/dist/cdn/{CPDXUV3S.js → Q4EG6G7W.js} +1 -1
  97. package/dist/cdn/{7B4D4WJ2.js → Q52IY7SS.js} +1 -1
  98. package/dist/cdn/{S22OVJTO.js → QEPJF6TC.js} +2 -2
  99. package/dist/cdn/{P7U46JDU.js → QHZAKDI7.js} +1 -1
  100. package/dist/cdn/{SBPWZDAB.js → QIUVPLV2.js} +1 -1
  101. package/dist/cdn/{KKH2HVQW.js → QVTLP2LK.js} +1 -1
  102. package/dist/cdn/R3DLH5BB.js +2 -0
  103. package/dist/cdn/R5DGN3O6.js +2 -0
  104. package/dist/cdn/{LHJSBAM5.js → RGKOGN5W.js} +1 -1
  105. package/dist/cdn/{GM6FZWSL.js → RRNEZXM4.js} +1 -1
  106. package/dist/cdn/{YUJ33VWR.js → RU3YCR42.js} +1 -1
  107. package/dist/cdn/{TLAXB6HU.js → SF7SFEKA.js} +1 -1
  108. package/dist/cdn/SKOYS4HM.js +2 -0
  109. package/dist/cdn/{F7XISEIT.js → SP22KLIK.js} +1 -1
  110. package/dist/cdn/{HCJDTU7F.js → SVHI2LRC.js} +1 -1
  111. package/dist/cdn/{4MFRMO5M.js → T2MUZ4UN.js} +1 -1
  112. package/dist/cdn/{GAUJK4Z7.js → TAS3P2HU.js} +1 -1
  113. package/dist/cdn/{LRL6N22U.js → TBA5ATIB.js} +1 -1
  114. package/dist/cdn/{KNDQJ2XX.js → TW2SRS2O.js} +1 -1
  115. package/dist/cdn/{CDTY6WOM.js → TZFOTRCX.js} +1 -1
  116. package/dist/cdn/{5YROPSGB.js → UUHRTJGO.js} +1 -1
  117. package/dist/cdn/{QKUQGG2M.js → UVJ3XYK5.js} +1 -1
  118. package/dist/cdn/{7TEW7OYZ.js → UYYGQ6AY.js} +1 -1
  119. package/dist/cdn/V2PPBU7J.js +2 -0
  120. package/dist/cdn/{5WKPS2ZT.js → VB7GHJWK.js} +1 -1
  121. package/dist/cdn/VIMF6KPF.js +2 -0
  122. package/dist/cdn/{6NGWODBG.js → VYSJFEY6.js} +1 -1
  123. package/dist/cdn/WI7KEIGV.js +2 -0
  124. package/dist/cdn/WOJJ53FN.js +2 -0
  125. package/dist/cdn/WSRLM2TQ.js +2 -0
  126. package/dist/cdn/{GJE7FY35.js → X53XDNBL.js} +1 -1
  127. package/dist/cdn/{Q7WYXKFZ.js → XPXJW5E3.js} +1 -1
  128. package/dist/cdn/XXVIE4SD.js +2 -0
  129. package/dist/cdn/{RROGXGP5.js → Y5FMVLYP.js} +1 -1
  130. package/dist/cdn/{PS64W4X6.js → YBZVV5BN.js} +1 -1
  131. package/dist/cdn/{HYYJZO6T.js → YQOYGBGD.js} +1 -1
  132. package/dist/cdn/{3TCEXRVB.js → Z3B276DZ.js} +1 -1
  133. package/dist/cdn/Z6LSD6MR.js +2 -0
  134. package/dist/cdn/ZDZGWD2Y.js +2 -0
  135. package/dist/cdn/{2ZJ5ADD2.js → ZIKLLQSU.js} +1 -1
  136. package/dist/cdn/{QBLAE2O5.js → ZKCFISUX.js} +1 -1
  137. package/dist/cdn/{QOSBMGOZ.js → ZKPCUAN2.js} +1 -1
  138. package/dist/cdn/{XLGGANFA.js → ZPJ4FGXO.js} +1 -1
  139. package/dist/cdn/{YQY6DOSF.js → ZVFZSDLX.js} +1 -1
  140. package/dist/cdn/ZZ746O36.js +2 -0
  141. package/dist/cdn/index.js +1 -1
  142. package/dist/chunks/ExpandToggle.js +2 -3
  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.js +4 -2
  154. package/dist/components/calcite-action-pad/customElement.js +4 -2
  155. package/dist/components/calcite-alert/customElement.js +1 -1
  156. package/dist/components/calcite-autocomplete/customElement.js +3 -1
  157. package/dist/components/calcite-avatar/customElement.js +1 -1
  158. package/dist/components/calcite-block/customElement.js +1 -1
  159. package/dist/components/calcite-block-group/customElement.js +1 -1
  160. package/dist/components/calcite-button/customElement.js +1 -1
  161. package/dist/components/calcite-carousel/customElement.js +27 -25
  162. package/dist/components/calcite-checkbox/customElement.js +3 -2
  163. package/dist/components/calcite-chip/customElement.js +1 -1
  164. package/dist/components/calcite-chip-group/customElement.js +1 -1
  165. package/dist/components/calcite-color-picker/customElement.js +4 -2
  166. package/dist/components/calcite-color-picker-swatch/customElement.js +1 -1
  167. package/dist/components/calcite-combobox/customElement.d.ts +11 -1
  168. package/dist/components/calcite-combobox/customElement.js +8 -3
  169. package/dist/components/calcite-combobox-item/customElement.js +10 -4
  170. package/dist/components/calcite-date-picker-month-header/customElement.js +1 -1
  171. package/dist/components/calcite-dialog/customElement.d.ts +2 -2
  172. package/dist/components/calcite-dialog/customElement.js +1 -1
  173. package/dist/components/calcite-dropdown/customElement.js +4 -1
  174. package/dist/components/calcite-flow-item/customElement.d.ts +3 -3
  175. package/dist/components/calcite-flow-item/customElement.js +3 -3
  176. package/dist/components/calcite-icon/customElement.js +4 -3
  177. package/dist/components/calcite-inline-editable/customElement.js +1 -1
  178. package/dist/components/calcite-input/customElement.js +4 -3
  179. package/dist/components/calcite-input-date-picker/customElement.js +3 -0
  180. package/dist/components/calcite-input-message/customElement.js +1 -1
  181. package/dist/components/calcite-input-number/customElement.js +4 -3
  182. package/dist/components/calcite-input-text/customElement.d.ts +1 -1
  183. package/dist/components/calcite-input-text/customElement.js +174 -27
  184. package/dist/components/calcite-input-time-picker/customElement.js +3 -2
  185. package/dist/components/calcite-link/customElement.js +4 -3
  186. package/dist/components/calcite-list/customElement.js +1 -1
  187. package/dist/components/calcite-list-item/customElement.js +5 -3
  188. package/dist/components/calcite-menu/customElement.js +1 -1
  189. package/dist/components/calcite-menu-item/customElement.js +4 -2
  190. package/dist/components/calcite-meter/customElement.js +1 -1
  191. package/dist/components/calcite-notice/customElement.js +1 -1
  192. package/dist/components/calcite-panel/customElement.d.ts +4 -4
  193. package/dist/components/calcite-panel/customElement.js +1 -1
  194. package/dist/components/calcite-popover/customElement.js +4 -1
  195. package/dist/components/calcite-progress/customElement.js +3 -2
  196. package/dist/components/calcite-radio-button/customElement.js +3 -3
  197. package/dist/components/calcite-scrim/customElement.js +1 -1
  198. package/dist/components/calcite-segmented-control/customElement.js +5 -3
  199. package/dist/components/calcite-segmented-control-item/customElement.js +1 -1
  200. package/dist/components/calcite-sheet/customElement.js +8 -5
  201. package/dist/components/calcite-shell/customElement.js +1 -1
  202. package/dist/components/calcite-shell-panel/customElement.js +7 -5
  203. package/dist/components/calcite-slider/customElement.js +1 -1
  204. package/dist/components/calcite-sortable-list/customElement.js +1 -1
  205. package/dist/components/calcite-stepper/customElement.js +1 -1
  206. package/dist/components/calcite-stepper-item/customElement.js +1 -1
  207. package/dist/components/calcite-swatch-group/customElement.js +1 -1
  208. package/dist/components/calcite-tab/customElement.js +1 -1
  209. package/dist/components/calcite-tab-nav/customElement.js +4 -2
  210. package/dist/components/calcite-tab-title/customElement.js +5 -3
  211. package/dist/components/calcite-table-cell/customElement.js +3 -2
  212. package/dist/components/calcite-tabs/customElement.js +1 -1
  213. package/dist/components/calcite-time-picker/customElement.js +3 -2
  214. package/dist/components/calcite-tooltip/customElement.js +4 -1
  215. package/dist/components/calcite-tree/customElement.js +1 -1
  216. package/dist/components/calcite-tree-item/customElement.js +4 -2
  217. package/dist/controllers/useForm.d.ts +3 -0
  218. package/dist/docs/api.json +1 -1
  219. package/dist/docs/docs.json +1 -1
  220. package/dist/docs/supported-browsers.json +1 -1
  221. package/dist/docs/vscode.css-custom-data.json +1 -1
  222. package/dist/docs/vscode.html-custom-data.json +1 -1
  223. package/dist/docs/web-types.json +1 -1
  224. package/dist/loader.js +3 -3
  225. package/dist/types/lumina.d.ts +1 -1
  226. package/dist/types/preact.d.ts +1 -1
  227. package/dist/types/react.d.ts +1 -1
  228. package/dist/types/stencil.d.ts +1 -1
  229. package/package.json +6 -6
  230. package/dist/cdn/256EMMKX.js +0 -2
  231. package/dist/cdn/3OIE2RR5.js +0 -2
  232. package/dist/cdn/43T3HPVW.js +0 -2
  233. package/dist/cdn/4ET37OQN.js +0 -2
  234. package/dist/cdn/4SJVPWEI.js +0 -2
  235. package/dist/cdn/7WPF3NTF.js +0 -2
  236. package/dist/cdn/F7SGO63N.js +0 -2
  237. package/dist/cdn/G6R56WT6.js +0 -2
  238. package/dist/cdn/HBVQ77SB.js +0 -2
  239. package/dist/cdn/HD23H6LX.js +0 -2
  240. package/dist/cdn/I6CQ5UW5.js +0 -2
  241. package/dist/cdn/IR6Z2XSF.js +0 -2
  242. package/dist/cdn/IUAHSZQ6.js +0 -2
  243. package/dist/cdn/JLB2FYLL.js +0 -2
  244. package/dist/cdn/JRCEHRYP.js +0 -2
  245. package/dist/cdn/L6F7C3O7.js +0 -2
  246. package/dist/cdn/LIZ5IMMJ.js +0 -2
  247. package/dist/cdn/LR57FDVO.js +0 -2
  248. package/dist/cdn/LYKD5N65.js +0 -2
  249. package/dist/cdn/MAXAPKJ5.js +0 -2
  250. package/dist/cdn/MQPFYNQR.js +0 -2
  251. package/dist/cdn/N6QRZM7N.js +0 -2
  252. package/dist/cdn/NQEVKT6K.js +0 -2
  253. package/dist/cdn/OS7NHPEF.js +0 -2
  254. package/dist/cdn/P7RXOG72.js +0 -2
  255. package/dist/cdn/PBMFDSRI.js +0 -2
  256. package/dist/cdn/Q52SIZ3L.js +0 -2
  257. package/dist/cdn/R6YSSNOG.js +0 -2
  258. package/dist/cdn/SFEXJ2YW.js +0 -2
  259. package/dist/cdn/TPXLAPIE.js +0 -2
  260. package/dist/cdn/TSZAQNPK.js +0 -2
  261. package/dist/cdn/U6LKEFFT.js +0 -2
  262. package/dist/cdn/UAADJQTQ.js +0 -2
  263. package/dist/cdn/UOIMVKXE.js +0 -2
  264. package/dist/cdn/XSSG2WBN.js +0 -2
  265. package/dist/cdn/YHGC7HRA.js +0 -2
  266. package/dist/cdn/Z53AVC5H.js +0 -2
  267. package/dist/cdn/ZXUITROT.js +0 -2
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import { q as queryElementRoots, c as closestElementCrossShadowBoundary, r as isBefore } from "./dom.js";
2
+ import { q as queryElementRoots, c as closestElementCrossShadowBoundary, p as isBefore } from "./dom.js";
3
3
  const labelClickEvent = "calciteInternalLabelClick";
4
4
  const labelConnectedEvent = "calciteInternalLabelConnected";
5
5
  const labelDisconnectedEvent = "calciteInternalLabelDisconnected";
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import { p as whenTransitionDone } from "./dom.js";
2
+ import { o as whenTransitionDone } from "./dom.js";
3
3
  function isOpen(component) {
4
4
  return component[component.openProp || "open"];
5
5
  }
@@ -60,9 +60,9 @@ function getConfig() {
60
60
  }
61
61
  return effectiveConfig;
62
62
  }
63
- const version = "5.1.0-next.4";
64
- const buildDate = "2026-03-04";
65
- const revision = "4b35a7f1e";
63
+ const version = "5.1.0-next.5";
64
+ const buildDate = "2026-03-10";
65
+ const revision = "599b2441e";
66
66
  function stampVersion() {
67
67
  const config = getConfig();
68
68
  if (config && config.version) {
@@ -85,7 +85,7 @@ if (!isServer) {
85
85
  if (process.env.NODE_ENV !== "test") {
86
86
  queueMicrotask(stampVersion);
87
87
  }
88
- const runtime = makeRuntime({ defaultAssetPath: "https://cdn.jsdelivr.net/npm/@esri/calcite-components@5.1.0-next.4/dist/cdn/", hydratedAttribute: "calcite-hydrated" });
88
+ const runtime = makeRuntime({ defaultAssetPath: "https://cdn.jsdelivr.net/npm/@esri/calcite-components@5.1.0-next.5/dist/cdn/", hydratedAttribute: "calcite-hydrated" });
89
89
  const { customElement, getAssetPath, setAssetPath } = runtime;
90
90
  export {
91
91
  CSS_UTILITY as C,
@@ -1,7 +1,7 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
2
  import { makeGenericController } from "@arcgis/lumina/controllers";
3
3
  import { createFocusTrap } from "focus-trap";
4
- import { t as tabbableOptions, j as focusElement } from "./dom.js";
4
+ import { t as tabbableOptions, i as focusElement } from "./dom.js";
5
5
  import { a as getConfig } from "./runtime.js";
6
6
  function getEffectiveContainerElements(targetEl, { focusTrapOptions }, extraContainers) {
7
7
  if (!focusTrapOptions?.extraContainers && !extraContainers) {
@@ -1,7 +1,7 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
2
  import { makeGenericController } from "@arcgis/lumina/controllers";
3
3
  import { c as componentFocusable } from "./component.js";
4
- import { h as getRootNode, j as focusElement } from "./dom.js";
4
+ import { e as getRootNode, i as focusElement } from "./dom.js";
5
5
  const useSetFocus = () => {
6
6
  return makeGenericController((component, controller) => {
7
7
  let abortController;
@@ -1,6 +1,6 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
2
  import { isServer } from "lit";
3
- import { o as nodeListToArray } from "./dom.js";
3
+ import { n as nodeListToArray } from "./dom.js";
4
4
  import { A as AllComboboxChildrenSelector, a as ComboboxItemSelector, b as ComboboxItemGroupSelector } from "./resources5.js";
5
5
  function getAncestors(element) {
6
6
  const parent = element.parentElement?.closest(AllComboboxChildrenSelector);
@@ -3,8 +3,9 @@ import { C as CSS_UTILITY, c as customElement } from "../../chunks/runtime.js";
3
3
  import { keyed } from "lit/directives/keyed.js";
4
4
  import { css, html, nothing } from "lit";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
+ import { useDirection } from "@arcgis/lumina/controllers";
6
7
  import { createRef, ref } from "lit/directives/ref.js";
7
- import { c as closestElementCrossShadowBoundary, s as slotChangeHasAssignedElement, g as getElementDir } from "../../chunks/dom.js";
8
+ import { c as closestElementCrossShadowBoundary, s as slotChangeHasAssignedElement } from "../../chunks/dom.js";
8
9
  import { g as getIconScale } from "../../chunks/component.js";
9
10
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
10
11
  import { u as useT9n } from "../../chunks/useT9n.js";
@@ -51,6 +52,7 @@ const styles = css`.icon-position--end,.icon-position--start{--calcite-internal-
51
52
  class AccordionItem extends LitElement {
52
53
  constructor() {
53
54
  super();
55
+ this.direction = useDirection();
54
56
  this.headerRef = createRef();
55
57
  this.focusSetter = useSetFocus()(this);
56
58
  this.messages = useT9n();
@@ -173,7 +175,6 @@ class AccordionItem extends LitElement {
173
175
  }
174
176
  render() {
175
177
  const { iconFlipRtl, heading, headingLevel, messages, expanded } = this;
176
- const dir = getElementDir(this.el);
177
178
  const expandIconTitle = expanded ? messages.collapse : messages.expand;
178
179
  const iconStartEl = this.iconStart ? keyed("icon-start", html`<calcite-icon class=${safeClassMap({ [CSS.icon]: true, [CSS.iconStart]: true })} .flipRtl=${iconFlipRtl === "both" || iconFlipRtl === "start"} .icon=${this.iconStart} .scale=${getIconScale(this.scale)}></calcite-icon>`) : null;
179
180
  const iconEndEl = this.iconEnd ? keyed("icon-end", html`<calcite-icon class=${safeClassMap({ [CSS.iconEnd]: true, [CSS.icon]: true })} .flipRtl=${iconFlipRtl === "both" || iconFlipRtl === "end"} .icon=${this.iconEnd} .scale=${getIconScale(this.scale)}></calcite-icon>`) : null;
@@ -183,7 +184,7 @@ class AccordionItem extends LitElement {
183
184
  [CSS.iconType(this.iconType)]: true
184
185
  })}><div class=${safeClassMap({
185
186
  [CSS.header]: true,
186
- [CSS_UTILITY.rtl]: dir === "rtl",
187
+ [CSS_UTILITY.rtl]: this.direction === "rtl",
187
188
  [CSS.headerAppearance(this.appearance)]: true
188
189
  })}>${this.renderActionsStart()}<button aria-controls=${IDS.section} .ariaExpanded=${expanded} class=${safeClassMap(CSS.headerContent)} id=${IDS.sectionToggle} @click=${this.itemHeaderClickHandler} type=button ${ref(this.headerRef)}><div class=${safeClassMap(CSS.headerContainer)}>${this.renderContentStart()}${iconStartEl}<div class=${safeClassMap(CSS.headerText)}>${Heading({ class: CSS.heading, level: headingLevel, children: heading })}${description ? html`<span class=${safeClassMap(CSS.description)}>${description}</span>` : null}</div>${iconEndEl}${this.renderContentEnd()}</div><calcite-icon class=${safeClassMap(CSS.expandIcon)} .icon=${this.iconType === "chevron" ? ICONS.chevronDown : this.iconType === "caret" ? ICONS.caretDown : expanded ? ICONS.minus : ICONS.plus} .scale=${getIconScale(this.scale)} title=${expandIconTitle ?? nothing}></calcite-icon></button>${this.renderActionsEnd()}</div><section aria-labelledby=${IDS.sectionToggle} class=${safeClassMap(CSS.content)} id=${IDS.section}><slot></slot></section></div>`;
189
190
  }
@@ -4,7 +4,8 @@ import { debounce } from "es-toolkit";
4
4
  import { css, html } from "lit";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
- import { a as getStylePixelValue, s as slotChangeHasAssignedElement, b as slotChangeGetAssignedElements, f as focusElementInGroup } from "../../chunks/dom.js";
7
+ import { useDirection } from "@arcgis/lumina/controllers";
8
+ import { g as getStylePixelValue, s as slotChangeHasAssignedElement, a as slotChangeGetAssignedElements, f as focusElementInGroup } from "../../chunks/dom.js";
8
9
  import { c as createObserver } from "../../chunks/observers.js";
9
10
  import { o as overflowActions, q as queryActions, t as toggleChildActionText, E as ExpandToggle } from "../../chunks/ExpandToggle.js";
10
11
  import { u as useT9n } from "../../chunks/useT9n.js";
@@ -51,6 +52,7 @@ class ActionBar extends LitElement {
51
52
  super();
52
53
  this.actions = [];
53
54
  this.containerRef = createRef();
55
+ this.direction = useDirection();
54
56
  this.mutationObserver = createObserver("mutation", () => this.mutationObserverHandler());
55
57
  this.cancelable = useCancelable()(this);
56
58
  this.resize = debounce(({ width, height }) => {
@@ -280,7 +282,7 @@ class ActionBar extends LitElement {
280
282
  }
281
283
  renderBottomActionGroup() {
282
284
  const { expanded, expandDisabled, el, position, toggleExpand, scale, layout, messages, actionsEndGroupLabel, overlayPositioning } = this;
283
- const expandToggleNode = !expandDisabled ? ExpandToggle({ collapseLabel: messages.collapseLabel, collapseText: messages.collapse, el, expandLabel: messages.expandLabel, expandText: messages.expand, expanded, position, ref: this.setExpandToggleEl, scale, toggle: toggleExpand, tooltip: this.expandTooltip }) : null;
285
+ const expandToggleNode = !expandDisabled ? ExpandToggle({ collapseLabel: messages.collapseLabel, collapseText: messages.collapse, direction: this.direction, el, expandLabel: messages.expandLabel, expandText: messages.expand, expanded, position, ref: this.setExpandToggleEl, scale, toggle: toggleExpand, tooltip: this.expandTooltip }) : null;
284
286
  return html`<calcite-action-group class=${safeClassMap(CSS.actionGroupEnd)} .hidden=${this.expandDisabled && !this.hasActionsEnd} .label=${actionsEndGroupLabel} .layout=${layout} .overlayPositioning=${overlayPositioning} .scale=${scale}><slot name=${SLOTS.actionsEnd} @slotchange=${this.handleActionsEndSlotChange}></slot><slot name=${SLOTS.expandTooltip} @slotchange=${this.handleTooltipSlotChange}></slot>${expandToggleNode}</calcite-action-group>`;
285
287
  }
286
288
  render() {
@@ -2,7 +2,8 @@
2
2
  import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, html } from "lit";
4
4
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
5
- import { b as slotChangeGetAssignedElements, f as focusElementInGroup } from "../../chunks/dom.js";
5
+ import { useDirection } from "@arcgis/lumina/controllers";
6
+ import { a as slotChangeGetAssignedElements, f as focusElementInGroup } from "../../chunks/dom.js";
6
7
  import { t as toggleChildActionText, E as ExpandToggle } from "../../chunks/ExpandToggle.js";
7
8
  import { c as createObserver } from "../../chunks/observers.js";
8
9
  import { u as useT9n } from "../../chunks/useT9n.js";
@@ -21,6 +22,7 @@ class ActionPad extends LitElement {
21
22
  constructor() {
22
23
  super();
23
24
  this.actions = [];
25
+ this.direction = useDirection();
24
26
  this.mutationObserver = createObserver("mutation", () => this.mutationObserverHandler());
25
27
  this.toggleExpand = () => {
26
28
  this.expanded = !this.expanded;
@@ -165,7 +167,7 @@ class ActionPad extends LitElement {
165
167
  }
166
168
  renderBottomActionGroup() {
167
169
  const { expanded, expandDisabled, messages, el, position, toggleExpand, scale, layout, actionsEndGroupLabel, overlayPositioning } = this;
168
- const expandToggleNode = !expandDisabled ? ExpandToggle({ collapseLabel: messages.collapseLabel, collapseText: messages.collapse, el, expandLabel: messages.expandLabel, expandText: messages.expand, expanded, position, scale, toggle: toggleExpand, tooltip: this.expandTooltip }) : null;
170
+ const expandToggleNode = !expandDisabled ? ExpandToggle({ collapseLabel: messages.collapseLabel, collapseText: messages.collapse, direction: this.direction, el, expandLabel: messages.expandLabel, expandText: messages.expand, expanded, position, scale, toggle: toggleExpand, tooltip: this.expandTooltip }) : null;
169
171
  return expandToggleNode ? html`<calcite-action-group class=${safeClassMap(CSS.actionGroupEnd)} .label=${actionsEndGroupLabel} .layout=${layout} .overlayPositioning=${overlayPositioning} .scale=${scale}><slot name=${SLOTS.expandTooltip} @slotchange=${this.handleTooltipSlotChange}></slot>${expandToggleNode}</calcite-action-group>` : null;
170
172
  }
171
173
  render() {
@@ -4,7 +4,7 @@ import { keyed } from "lit/directives/keyed.js";
4
4
  import { css, html } from "lit";
5
5
  import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
6
6
  import { createRef, ref } from "lit/directives/ref.js";
7
- import { s as slotChangeHasAssignedElement, d as setRequestedIcon } from "../../chunks/dom.js";
7
+ import { s as slotChangeHasAssignedElement, b as setRequestedIcon } from "../../chunks/dom.js";
8
8
  import { g as getIconScale } from "../../chunks/component.js";
9
9
  import { N as NumberStringFormat } from "../../chunks/locale.js";
10
10
  import { t as toggleOpenClose } from "../../chunks/openCloseComponent.js";
@@ -3,7 +3,7 @@ import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { repeat } from "lit/directives/repeat.js";
4
4
  import { css, nothing, html } from "lit";
5
5
  import { LitElement, createEvent, stringOrBoolean, safeClassMap } from "@arcgis/lumina";
6
- import { useWatchAttributes } from "@arcgis/lumina/controllers";
6
+ import { useWatchAttributes, useDirection } from "@arcgis/lumina/controllers";
7
7
  import { debounce } from "es-toolkit";
8
8
  import { escapeRegExp } from "es-toolkit/compat";
9
9
  import { createRef, ref } from "lit/directives/ref.js";
@@ -50,6 +50,7 @@ class Autocomplete extends LitElement {
50
50
  super();
51
51
  this.guid = guid();
52
52
  this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode"], this.handleGlobalAttributesChanged);
53
+ this.direction = useDirection();
53
54
  this.inputId = IDS.input(this.guid);
54
55
  this.listId = IDS.list(this.guid);
55
56
  this.messages = useT9n();
@@ -123,6 +124,7 @@ class Autocomplete extends LitElement {
123
124
  async reposition(delayed = false) {
124
125
  const { floatingEl, referenceEl, placement, overlayPositioning, flipPlacements } = this;
125
126
  return reposition(this, {
127
+ direction: this.direction,
126
128
  floatingEl,
127
129
  referenceEl,
128
130
  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, nothing, safeClassMap, safeStyleMap } from "@arcgis/lumina";
5
- import { e as getModeName } from "../../chunks/dom.js";
5
+ import { d as getModeName } from "../../chunks/dom.js";
6
6
  import { h as hexToRGB, i as isValidHex } from "../../chunks/utils.js";
7
7
  const CSS = {
8
8
  thumbnail: "thumbnail",
@@ -4,7 +4,7 @@ import { keyed } from "lit/directives/keyed.js";
4
4
  import { ref } from "lit/directives/ref.js";
5
5
  import { css, html, nothing } from "lit";
6
6
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
7
- import { s as slotChangeHasAssignedElement, b as slotChangeGetAssignedElements } from "../../chunks/dom.js";
7
+ import { s as slotChangeHasAssignedElement, a as slotChangeGetAssignedElements } from "../../chunks/dom.js";
8
8
  import { H as Heading } from "../../chunks/Heading.js";
9
9
  import { g as getIconScale } from "../../chunks/component.js";
10
10
  import { t as toggleOpenClose } from "../../chunks/openCloseComponent.js";
@@ -5,7 +5,7 @@ import { css, html } from "lit";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
6
  import { c as createObserver } from "../../chunks/observers.js";
7
7
  import { d as disconnectSortableComponent, c as connectSortableComponent } from "../../chunks/sortableComponent.js";
8
- import { h as getRootNode, b as slotChangeGetAssignedElements } from "../../chunks/dom.js";
8
+ import { e as getRootNode, a as slotChangeGetAssignedElements } from "../../chunks/dom.js";
9
9
  import { g as guid } from "../../chunks/guid.js";
10
10
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
11
11
  import { u as useCancelable } from "../../chunks/useCancelable.js";
@@ -10,7 +10,7 @@ import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../.
10
10
  import { c as createObserver, u as updateRefObserver } from "../../chunks/observers.js";
11
11
  import { g as getIconScale } from "../../chunks/component.js";
12
12
  import { u as useT9n } from "../../chunks/useT9n.js";
13
- import { i as hasVisibleContent } from "../../chunks/dom.js";
13
+ import { h as hasVisibleContent } from "../../chunks/dom.js";
14
14
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
15
15
  import { u as useInteractive } from "../../chunks/useInteractive.js";
16
16
  const CSS = {
@@ -4,7 +4,8 @@ import { repeat } from "lit/directives/repeat.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 { w as whenAnimationDone, b as slotChangeGetAssignedElements, f as focusElementInGroup, g as getElementDir } from "../../chunks/dom.js";
7
+ import { useDirection } from "@arcgis/lumina/controllers";
8
+ import { w as whenAnimationDone, a as slotChangeGetAssignedElements, f as focusElementInGroup } from "../../chunks/dom.js";
8
9
  import { g as guid } from "../../chunks/guid.js";
9
10
  import { c as createObserver } from "../../chunks/observers.js";
10
11
  import { b as breakpoints } from "../../chunks/responsive.js";
@@ -63,6 +64,7 @@ class Carousel extends LitElement {
63
64
  };
64
65
  this.containerRef = createRef();
65
66
  this.containerId = IDS.host(guid());
67
+ this.direction = useDirection();
66
68
  this.itemContainerRef = createRef();
67
69
  this.resizeHandler = ({ contentRect: { width } }) => {
68
70
  this.setMaxItemsToBreakpoint(width);
@@ -77,7 +79,7 @@ class Carousel extends LitElement {
77
79
  if (notSuspended) {
78
80
  if (time <= 0.01) {
79
81
  time = 1;
80
- this.direction = "forward";
82
+ this.itemDirection = "forward";
81
83
  this.nextItem(false);
82
84
  } else {
83
85
  time = time - 0.01;
@@ -90,7 +92,7 @@ class Carousel extends LitElement {
90
92
  this.messages = useT9n();
91
93
  this.focusSetter = useSetFocus()(this);
92
94
  this.interactiveContainer = useInteractive(this);
93
- this.direction = "standby";
95
+ this.itemDirection = "standby";
94
96
  this.hasMultiple = false;
95
97
  this.items = [];
96
98
  this.maxItems = centerItemsByBreakpoint.xxsmall;
@@ -113,7 +115,7 @@ class Carousel extends LitElement {
113
115
  this.calciteCarouselStop = createEvent({ cancelable: false });
114
116
  }
115
117
  static {
116
- this.properties = { direction: [16, {}, { state: true }], hasMultiple: [16, {}, { state: true }], items: [16, {}, { state: true }], maxItems: [16, {}, { state: true }], playing: [16, {}, { state: true }], selectedIndex: [16, {}, { state: true }], slideDurationRemaining: [16, {}, { state: true }], suspendedDueToFocus: [16, {}, { state: true }], suspendedDueToHover: [16, {}, { state: true }], suspendedSlideDurationRemaining: [16, {}, { state: true }], userPreventsSuspend: [16, {}, { state: true }], arrowType: [3, {}, { reflect: true }], autoplay: [3, {}, { reflect: true }], autoplayDuration: [11, {}, { type: Number, reflect: true }], controlOverlay: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], label: 1, messageOverrides: [0, {}, { attribute: false }], paginationDisabled: [5, {}, { type: Boolean }], paused: [5, {}, { type: Boolean }], selectedItem: [0, {}, { attribute: false }] };
118
+ this.properties = { itemDirection: [16, {}, { state: true }], hasMultiple: [16, {}, { state: true }], items: [16, {}, { state: true }], maxItems: [16, {}, { state: true }], playing: [16, {}, { state: true }], selectedIndex: [16, {}, { state: true }], slideDurationRemaining: [16, {}, { state: true }], suspendedDueToFocus: [16, {}, { state: true }], suspendedDueToHover: [16, {}, { state: true }], suspendedSlideDurationRemaining: [16, {}, { state: true }], userPreventsSuspend: [16, {}, { state: true }], arrowType: [3, {}, { reflect: true }], autoplay: [3, {}, { reflect: true }], autoplayDuration: [11, {}, { type: Number, reflect: true }], controlOverlay: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], label: 1, messageOverrides: [0, {}, { attribute: false }], paginationDisabled: [5, {}, { type: Boolean }], paused: [5, {}, { type: Boolean }], selectedItem: [0, {}, { attribute: false }] };
117
119
  }
118
120
  static {
119
121
  this.styles = styles;
@@ -151,8 +153,8 @@ class Carousel extends LitElement {
151
153
  if (changes.has("autoplay") && this.hasUpdated) {
152
154
  this.autoplayWatcher(this.autoplay);
153
155
  }
154
- if (changes.has("direction") && (this.hasUpdated || this.direction !== "standby")) {
155
- this.directionWatcher(this.direction);
156
+ if (changes.has("itemDirection") && (this.hasUpdated || this.itemDirection !== "standby")) {
157
+ this.itemDirectionWatcher(this.itemDirection);
156
158
  }
157
159
  if (changes.has("playing") && (this.hasUpdated || this.playing !== false)) {
158
160
  this.paused = !this.playing;
@@ -171,12 +173,12 @@ class Carousel extends LitElement {
171
173
  this.handlePause(false);
172
174
  }
173
175
  }
174
- async directionWatcher(direction) {
175
- if (direction === "standby" || !this.itemContainerRef.value) {
176
+ async itemDirectionWatcher(itemDirection) {
177
+ if (itemDirection === "standby" || !this.itemContainerRef.value) {
176
178
  return;
177
179
  }
178
- await whenAnimationDone(this.itemContainerRef.value, direction === "forward" ? "item-forward" : "item-backward");
179
- this.direction = "standby";
180
+ await whenAnimationDone(this.itemContainerRef.value, itemDirection === "forward" ? "item-forward" : "item-backward");
181
+ this.itemDirection = "standby";
180
182
  }
181
183
  suspendWatcher() {
182
184
  if (!this.suspendedDueToFocus && !this.suspendedDueToHover) {
@@ -271,15 +273,15 @@ class Carousel extends LitElement {
271
273
  }
272
274
  }
273
275
  handleArrowClick(event) {
274
- const direction = event.target.dataset.direction;
276
+ const direction = event.target.dataset.itemDirection;
275
277
  if (this.playing) {
276
278
  this.handlePause(true);
277
279
  }
278
280
  if (direction === "next") {
279
- this.direction = "forward";
281
+ this.itemDirection = "forward";
280
282
  this.nextItem(true);
281
283
  } else if (direction === "previous") {
282
- this.direction = "backward";
284
+ this.itemDirection = "backward";
283
285
  this.previousItem();
284
286
  }
285
287
  }
@@ -292,7 +294,7 @@ class Carousel extends LitElement {
292
294
  if (this.playing) {
293
295
  this.handlePause(true);
294
296
  }
295
- this.direction = requestedPosition > this.selectedIndex ? "forward" : "backward";
297
+ this.itemDirection = requestedPosition > this.selectedIndex ? "forward" : "backward";
296
298
  this.setSelectedItem(requestedPosition, true);
297
299
  }
298
300
  toggleRotation() {
@@ -361,7 +363,7 @@ class Carousel extends LitElement {
361
363
  if (!this.hasMultiple) {
362
364
  return;
363
365
  }
364
- this.direction = "forward";
366
+ this.itemDirection = "forward";
365
367
  this.nextItem(true);
366
368
  break;
367
369
  case "ArrowLeft":
@@ -369,7 +371,7 @@ class Carousel extends LitElement {
369
371
  if (!this.hasMultiple) {
370
372
  return;
371
373
  }
372
- this.direction = "backward";
374
+ this.itemDirection = "backward";
373
375
  this.previousItem();
374
376
  break;
375
377
  case "Home":
@@ -377,7 +379,7 @@ class Carousel extends LitElement {
377
379
  if (this.selectedIndex === 0) {
378
380
  return;
379
381
  }
380
- this.direction = "backward";
382
+ this.itemDirection = "backward";
381
383
  this.setSelectedItem(0, true);
382
384
  break;
383
385
  case "End":
@@ -385,7 +387,7 @@ class Carousel extends LitElement {
385
387
  if (this.selectedIndex === lastItem) {
386
388
  return;
387
389
  }
388
- this.direction = "forward";
390
+ this.itemDirection = "forward";
389
391
  this.setSelectedItem(lastItem, true);
390
392
  break;
391
393
  }
@@ -462,25 +464,25 @@ class Carousel extends LitElement {
462
464
  };
463
465
  return html`<div aria-live=off class=${safeClassMap(CSS.paginationAriaLive)} role=status>${messages.paginationStatus.replace("{current}", numberStringFormatter.localize(`${selectedIndex + 1}`)).replace("{total}", numberStringFormatter.localize(`${items.length}`))}</div>`;
464
466
  }
465
- renderArrow(direction) {
466
- const isPrev = direction === "previous";
467
- const dir = getElementDir(this.el);
467
+ renderArrow(itemDirection) {
468
+ const isPrev = itemDirection === "previous";
469
+ const dir = this.direction;
468
470
  const scale = this.arrowType === "edge" ? "m" : "s";
469
471
  const css2 = isPrev ? CSS.pagePrevious : CSS.pageNext;
470
472
  const title = isPrev ? this.messages.previous : this.messages.next;
471
473
  const icon = isPrev ? ICONS.chevronLeft : ICONS.chevronRight;
472
- return html`<button aria-controls=${this.containerId ?? nothing} class=${safeClassMap({ [CSS.paginationItem]: true, [css2]: true })} data-direction=${direction ?? nothing} @click=${this.handleArrowClick} title=${title ?? nothing}><calcite-icon .flipRtl=${dir === "rtl"} .icon=${icon} .scale=${scale}></calcite-icon></button>`;
474
+ return html`<button aria-controls=${this.containerId ?? nothing} class=${safeClassMap({ [CSS.paginationItem]: true, [css2]: true })} data-item-direction=${itemDirection ?? nothing} @click=${this.handleArrowClick} title=${title ?? nothing}><calcite-icon .flipRtl=${dir === "rtl"} .icon=${icon} .scale=${scale}></calcite-icon></button>`;
473
475
  }
474
476
  render() {
475
- const { direction } = this;
477
+ const { itemDirection } = this;
476
478
  return this.interactiveContainer({ disabled: this.disabled, children: html`<div .ariaLabel=${this.label} .ariaLive=${this.playing ? "off" : "polite"} .ariaRoleDescription=${this.messages.carousel} class=${safeClassMap({
477
479
  [CSS.container]: true,
478
480
  [CSS.containerOverlaid]: this.controlOverlay,
479
481
  [CSS.containerEdged]: this.arrowType === "edge"
480
482
  })} @focusin=${this.handleFocusIn} @focusout=${this.handleFocusOut} @keydown=${this.containerKeyDownHandler} @mouseenter=${this.handleMouseIn} @mouseleave=${this.handleMouseOut} role=group tabindex=0 ${ref(this.containerRef)}><section class=${safeClassMap({
481
483
  [CSS.itemContainer]: true,
482
- [CSS.itemContainerForward]: direction === "forward",
483
- [CSS.itemContainerBackward]: direction === "backward"
484
+ [CSS.itemContainerForward]: itemDirection === "forward",
485
+ [CSS.itemContainerBackward]: itemDirection === "backward"
484
486
  })} id=${this.containerId ?? nothing} ${ref(this.itemContainerRef)}><slot @slotchange=${this.handleSlotChange}></slot></section>${this.renderPaginationArea()}${this.arrowType === "edge" && this.hasMultiple && this.renderArrow("previous") || ""}${this.arrowType === "edge" && this.hasMultiple && this.renderArrow("next") || ""}</div>` });
485
487
  }
486
488
  }
@@ -3,7 +3,7 @@ import { C as CSS_UTILITY, c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, svg, html } from "lit";
4
4
  import { createRef, ref } from "lit/directives/ref.js";
5
5
  import { LitElement, createEvent, safeClassMap, nothing } from "@arcgis/lumina";
6
- import { g as getElementDir } from "../../chunks/dom.js";
6
+ import { useDirection } from "@arcgis/lumina/controllers";
7
7
  import { c as connectForm, d as disconnectForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
8
8
  import { i as isActivationKey } from "../../chunks/key.js";
9
9
  import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
@@ -20,6 +20,7 @@ class Checkbox extends LitElement {
20
20
  constructor() {
21
21
  super();
22
22
  this.checkedPath = "M5.5 12L2 8.689l.637-.636L5.5 10.727l8.022-7.87.637.637z";
23
+ this.direction = useDirection();
23
24
  this.indeterminatePath = "M13 8v1H3V8z";
24
25
  this.onLabelClick = () => {
25
26
  this.toggle();
@@ -103,7 +104,7 @@ class Checkbox extends LitElement {
103
104
  this.calciteInternalCheckboxFocus.emit(true);
104
105
  }
105
106
  render() {
106
- const rtl = getElementDir(this.el) === "rtl";
107
+ const rtl = this.direction === "rtl";
107
108
  return this.interactiveContainer({ disabled: this.disabled, children: html`<div .ariaChecked=${this.checked} .ariaLabel=${getLabelText(this)} .ariaRequired=${this.required} class=${safeClassMap({
108
109
  [CSS.toggle]: true,
109
110
  [CSS_UTILITY.rtl]: rtl
@@ -3,7 +3,7 @@ import { c as customElement } from "../../chunks/runtime.js";
3
3
  import { css, isServer, html } from "lit";
4
4
  import { createRef, ref } from "lit/directives/ref.js";
5
5
  import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
6
- import { j as focusElement, s as slotChangeHasAssignedElement } from "../../chunks/dom.js";
6
+ import { i as focusElement, s as slotChangeHasAssignedElement } from "../../chunks/dom.js";
7
7
  import { i as isActivationKey } from "../../chunks/key.js";
8
8
  import { g as getIconScale } from "../../chunks/component.js";
9
9
  import { u as useT9n } from "../../chunks/useT9n.js";
@@ -3,7 +3,7 @@ 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 } from "@arcgis/lumina";
6
- import { f as focusElementInGroup, b as slotChangeGetAssignedElements } from "../../chunks/dom.js";
6
+ import { f as focusElementInGroup, a as slotChangeGetAssignedElements } from "../../chunks/dom.js";
7
7
  import { u as useSetFocus } from "../../chunks/useSetFocus.js";
8
8
  import { u as useInteractive } from "../../chunks/useInteractive.js";
9
9
  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:flex}.container{display:flex;inline-size:100%;flex-wrap:wrap;gap:.5rem}::slotted(calcite-chip){flex:none}:host([scale=s]) .container{gap:.25rem}:host([scale=l]) .container{gap:.75rem}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}:host([hidden]){display:none}[hidden]{display:none}`;
@@ -7,7 +7,8 @@ import { throttle } from "es-toolkit";
7
7
  import { css, html, nothing } from "lit";
8
8
  import { LitElement, createEvent, safeClassMap, safeStyleMap } from "@arcgis/lumina";
9
9
  import { createRef, ref } from "lit/directives/ref.js";
10
- import { k as isPrimaryPointerButton, g as getElementDir } from "../../chunks/dom.js";
10
+ import { useDirection } from "@arcgis/lumina/controllers";
11
+ import { j as isPrimaryPointerButton } from "../../chunks/dom.js";
11
12
  import { i as isActivationKey } from "../../chunks/key.js";
12
13
  import { c as clamp, r as remap, a as closeToRangeEdge } from "../../chunks/math.js";
13
14
  import { u as useT9n } from "../../chunks/useT9n.js";
@@ -23,6 +24,7 @@ class ColorPicker extends LitElement {
23
24
  super();
24
25
  this._color = DEFAULT_COLOR;
25
26
  this.colorFieldScopeRef = createRef();
27
+ this.direction = useDirection();
26
28
  this.hueScopeRef = createRef();
27
29
  this.internalColorUpdateContext = null;
28
30
  this.isActiveChannelInputEmpty = false;
@@ -866,7 +868,7 @@ class ColorPicker extends LitElement {
866
868
  const selected = channelMode === activeChannelMode;
867
869
  const isRgb = channelMode === "rgb";
868
870
  const channelAriaLabels = isRgb ? [messages.red, messages.green, messages.blue] : [messages.hue, messages.saturation, messages.value];
869
- const direction = getElementDir(this.el);
871
+ const direction = this.direction;
870
872
  const channelsToRender = alphaChannel ? channels : channels.slice(0, 3);
871
873
  return keyed(channelMode, html`<calcite-tab class=${safeClassMap(CSS.control)} .selected=${selected}><div class=${safeClassMap(CSS.channels)} dir=ltr>${channelsToRender.map((channelValue, index) => {
872
874
  const isAlphaChannel = index === 3;
@@ -4,7 +4,7 @@ import { keyed } from "lit/directives/keyed.js";
4
4
  import Color from "color";
5
5
  import { css, html, nothing, svg } from "lit";
6
6
  import { LitElement, safeClassMap } from "@arcgis/lumina";
7
- import { e as getModeName } from "../../chunks/dom.js";
7
+ import { d as getModeName } from "../../chunks/dom.js";
8
8
  import { b as hexify } from "../../chunks/utils.js";
9
9
  const CSS = {
10
10
  swatch: "swatch",
@@ -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));