@12-apps/ui 6.84.0 → 6.86.0

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 (686) hide show
  1. package/NATIVE.md +1 -1
  2. package/components-catalog.md +7 -0
  3. package/dist/_internal/components/data-display/Alert/Alert.js +2 -2
  4. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +4 -4
  5. package/dist/_internal/components/data-display/Badge/Badge.js +3 -3
  6. package/dist/_internal/components/data-display/Badge/Badge.styles.js +3 -3
  7. package/dist/_internal/components/data-display/Badge/BadgeContent.js +3 -3
  8. package/dist/_internal/components/data-display/CardKit/CardKebab.js +5 -5
  9. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
  10. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +9 -9
  11. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +5 -5
  12. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +7 -7
  13. package/dist/_internal/components/data-display/Carousel/Carousel.js +10 -10
  14. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +6 -6
  15. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +3 -3
  16. package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
  17. package/dist/_internal/components/data-display/Chart/SpecChart.js +6 -6
  18. package/dist/_internal/components/data-display/Chart/chart-context.js +3 -3
  19. package/dist/_internal/components/data-display/Chart/chart-internals.js +3 -3
  20. package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
  21. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +1 -1
  22. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +64 -64
  23. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +78 -78
  24. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +5 -5
  25. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +6 -6
  26. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +8 -8
  27. package/dist/_internal/components/data-display/DataViews/base-card.js +3 -3
  28. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
  29. package/dist/_internal/components/data-display/DataViews/base-list-card.js +5 -5
  30. package/dist/_internal/components/data-display/DataViews/data-views-bar-controls.js +3 -3
  31. package/dist/_internal/components/data-display/DataViews/data-views-card-body.js +6 -6
  32. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +19 -19
  33. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +6 -6
  34. package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +3 -3
  35. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +6 -6
  36. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +5 -5
  37. package/dist/_internal/components/data-display/DataViews/data-views-export.js +5 -5
  38. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +31 -31
  39. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +9 -9
  40. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +5 -5
  41. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +61 -61
  42. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +34 -34
  43. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +28 -28
  44. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +31 -31
  45. package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +3 -3
  46. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +5 -5
  47. package/dist/_internal/components/data-display/DataViews/data-views-quick-chip.js +3 -3
  48. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +7 -7
  49. package/dist/_internal/components/data-display/DataViews/data-views-search.js +3 -3
  50. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +5 -5
  51. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +17 -17
  52. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +20 -20
  53. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +16 -16
  54. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +5 -5
  55. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +7 -7
  56. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +22 -22
  57. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +17 -17
  58. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +2 -2
  59. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +24 -24
  60. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +4 -4
  61. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +5 -5
  62. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +6 -6
  63. package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +2 -2
  64. package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +3 -3
  65. package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +2 -2
  66. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -3
  67. package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +4 -4
  68. package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +2 -2
  69. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +8 -8
  70. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +4 -4
  71. package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +3 -3
  72. package/dist/_internal/components/data-display/MapPreview/MapPreview.hooks.js +2 -2
  73. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +16 -16
  74. package/dist/_internal/components/data-display/MapPreview/MapSearchBar.js +3 -3
  75. package/dist/_internal/components/data-display/MapPreview/MapTiles.js +2 -2
  76. package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +4 -4
  77. package/dist/_internal/components/data-display/MapPreview/useMapPreview.js +3 -3
  78. package/dist/_internal/components/data-display/Progress/Progress.js +2 -2
  79. package/dist/_internal/components/data-display/RegionMap/RegionMap.fixtures.js +51 -0
  80. package/dist/_internal/components/data-display/RegionMap/RegionMap.fixtures.js.map +1 -0
  81. package/dist/_internal/components/data-display/RegionMap/RegionMap.helpers.js +38 -0
  82. package/dist/_internal/components/data-display/RegionMap/RegionMap.hooks.js +9 -0
  83. package/dist/_internal/components/data-display/RegionMap/RegionMap.hooks.js.map +1 -0
  84. package/dist/_internal/components/data-display/RegionMap/RegionMap.js +37 -0
  85. package/dist/_internal/components/data-display/RegionMap/RegionMap.js.map +1 -0
  86. package/dist/_internal/components/data-display/RegionMap/RegionMap.types.js +1 -0
  87. package/dist/_internal/components/data-display/RegionMap/RegionMap.types.js.map +1 -0
  88. package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js +10 -0
  89. package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js.map +1 -0
  90. package/dist/_internal/components/data-display/RegionMap/RegionMapLegend.js +9 -0
  91. package/dist/_internal/components/data-display/RegionMap/RegionMapLegend.js.map +1 -0
  92. package/dist/_internal/components/data-display/RegionMap/RegionMapList.js +34 -0
  93. package/dist/_internal/components/data-display/RegionMap/RegionMapList.js.map +1 -0
  94. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +3 -3
  95. package/dist/_internal/components/data-display/Sheet/Sheet.js +6 -6
  96. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +3 -3
  97. package/dist/_internal/components/data-display/StatCard/StatCard.js +3 -3
  98. package/dist/_internal/components/data-display/Table/Table.js +2 -2
  99. package/dist/_internal/components/data-display/index.js +91 -74
  100. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +5 -5
  101. package/dist/_internal/components/feedback/Modal/Modal.js +2 -2
  102. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +7 -7
  103. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +10 -10
  104. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +9 -9
  105. package/dist/_internal/components/feedback/index.js +21 -21
  106. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +8 -8
  107. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +6 -6
  108. package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +4 -4
  109. package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +4 -4
  110. package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +3 -3
  111. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +4 -4
  112. package/dist/_internal/components/form/Autocomplete/Autocomplete.parts.js +3 -3
  113. package/dist/_internal/components/form/Button/Button.js +4 -4
  114. package/dist/_internal/components/form/Button/Button.styles.js +3 -3
  115. package/dist/_internal/components/form/Calendar/Calendar.js +5 -5
  116. package/dist/_internal/components/form/Calendar/CalendarSelectorsMonth.js +3 -3
  117. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +8 -8
  118. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +4 -4
  119. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +4 -4
  120. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +5 -5
  121. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +4 -4
  122. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +11 -11
  123. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +3 -3
  124. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +4 -4
  125. package/dist/_internal/components/form/CepField/CepField.js +6 -6
  126. package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
  127. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +3 -3
  128. package/dist/_internal/components/form/Command/Command.js +3 -3
  129. package/dist/_internal/components/form/Command/Command.styles.js +3 -3
  130. package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +3 -3
  131. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +5 -5
  132. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +12 -12
  133. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +4 -4
  134. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +5 -5
  135. package/dist/_internal/components/form/Input/Input.factory.js +4 -4
  136. package/dist/_internal/components/form/Input/Input.js +5 -5
  137. package/dist/_internal/components/form/Input/Input.styles.js +3 -3
  138. package/dist/_internal/components/form/InputOTP/InputOTP.js +4 -4
  139. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +3 -3
  140. package/dist/_internal/components/form/Label/Label.js +3 -3
  141. package/dist/_internal/components/form/Label/Label.styles.js +3 -3
  142. package/dist/_internal/components/form/Menubar/Menubar.item.js +3 -3
  143. package/dist/_internal/components/form/Menubar/Menubar.js +7 -7
  144. package/dist/_internal/components/form/Menubar/Menubar.styles.js +3 -3
  145. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +5 -5
  146. package/dist/_internal/components/form/NumberField/NumberField.js +6 -6
  147. package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
  148. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +5 -5
  149. package/dist/_internal/components/form/PickerSheet/PickerSheet.js +6 -6
  150. package/dist/_internal/components/form/PickerSheet/PickerSheet.parts.js +4 -4
  151. package/dist/_internal/components/form/PickerSheet/PickerSheet.styles.js +3 -3
  152. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +5 -5
  153. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +3 -3
  154. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +4 -4
  155. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
  156. package/dist/_internal/components/form/Select/Select.js +6 -6
  157. package/dist/_internal/components/form/Select/Select.menu.js +4 -4
  158. package/dist/_internal/components/form/Select/Select.searchable.js +4 -4
  159. package/dist/_internal/components/form/Select/Select.styles.js +3 -3
  160. package/dist/_internal/components/form/Textarea/Textarea.js +3 -3
  161. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +4 -4
  162. package/dist/_internal/components/form/Toggle/Toggle.js +4 -4
  163. package/dist/_internal/components/form/Toggle/Toggle.styles.js +3 -3
  164. package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +3 -3
  165. package/dist/_internal/components/form/index.js +59 -59
  166. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +12 -12
  167. package/dist/_internal/components/form/total-form/Fields/CepField.js +7 -7
  168. package/dist/_internal/components/form/total-form/Fields/SelectField.js +7 -7
  169. package/dist/_internal/components/form/total-form/Fields/TextField.js +6 -6
  170. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +4 -4
  171. package/dist/_internal/components/form/total-form/Fields/index.js +31 -31
  172. package/dist/_internal/components/form/total-form/SubmitButton.js +5 -5
  173. package/dist/_internal/components/index.js +222 -205
  174. package/dist/_internal/components/layout/Box/Box.js +6 -6
  175. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +3 -3
  176. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +3 -3
  177. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +4 -4
  178. package/dist/_internal/components/layout/ContentToolbar/MultiSelectTriggers.js +3 -3
  179. package/dist/_internal/components/layout/ContentToolbar/SavedViewsMenu.js +3 -3
  180. package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +3 -3
  181. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +3 -3
  182. package/dist/_internal/components/layout/Screen/Screen.js +7 -7
  183. package/dist/_internal/components/layout/SettingCard/SettingCard.js +11 -11
  184. package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +9 -9
  185. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +10 -10
  186. package/dist/_internal/components/layout/SettingCard/SettingGrid.js +10 -10
  187. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +12 -12
  188. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +11 -11
  189. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +12 -12
  190. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +2 -2
  191. package/dist/_internal/components/layout/Skeleton/Skeleton.js +2 -2
  192. package/dist/_internal/components/layout/Stack/Stack.js +7 -7
  193. package/dist/_internal/components/layout/TableFilter/TableFilter.js +3 -3
  194. package/dist/_internal/components/layout/index.js +34 -34
  195. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +9 -9
  196. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +3 -3
  197. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +2 -2
  198. package/dist/_internal/components/navigation/Pagination/Pagination.js +4 -4
  199. package/dist/_internal/components/navigation/Pagination/PaginationParts.js +3 -3
  200. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +3 -3
  201. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +4 -4
  202. package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +3 -3
  203. package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +3 -3
  204. package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +3 -3
  205. package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +3 -3
  206. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +3 -3
  207. package/dist/_internal/components/navigation/SectionNav/__stories__/fixtures.js +3 -3
  208. package/dist/_internal/components/navigation/Tabs/Tabs.js +2 -2
  209. package/dist/_internal/components/navigation/Tabs/Tabs.styles.js +2 -2
  210. package/dist/_internal/components/navigation/index.js +18 -18
  211. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +3 -3
  212. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +3 -3
  213. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +3 -3
  214. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +3 -3
  215. package/dist/_internal/components/utility/index.js +16 -16
  216. package/dist/_internal/en-US.data-display.js +2 -2
  217. package/dist/_internal/icons/Icon.js +6 -6
  218. package/dist/_internal/provider/UiProvider.js +5 -5
  219. package/dist/_internal/provider/mui-bridge.js +4 -4
  220. package/dist/_internal/provider/use-ui-theme.js +5 -5
  221. package/dist/_internal/pt-BR.data-display.js +2 -2
  222. package/dist/_internal/social-login-button/social-login-button.js +5 -5
  223. package/dist/_internal/tokens/density.js +3 -3
  224. package/dist/_internal/tokens/field-height.js +2 -2
  225. package/dist/_internal/user-avatar/user-avatar.js +5 -5
  226. package/dist/charts.js +14 -14
  227. package/dist/{chunk-3RHU2Y2N.js → chunk-2DDCRHJE.js} +2 -2
  228. package/dist/{chunk-6ONQTXFM.js → chunk-2GDPZ53K.js} +2 -2
  229. package/dist/{chunk-X3EB67O2.js → chunk-2VRJ577J.js} +4 -4
  230. package/dist/{chunk-QSRZOXQI.js → chunk-2WVHZIWP.js} +2 -2
  231. package/dist/{chunk-6OYB3MRF.js → chunk-33AVAYCR.js} +3 -3
  232. package/dist/{chunk-62SXUU5U.js → chunk-3DPPDGOF.js} +5 -5
  233. package/dist/{chunk-RXKFPXVH.js → chunk-3IX2TP4I.js} +2 -2
  234. package/dist/chunk-3OL2TSEJ.js +80 -0
  235. package/dist/chunk-3OL2TSEJ.js.map +1 -0
  236. package/dist/{chunk-BTGXHQX3.js → chunk-4JNC5AEF.js} +2 -2
  237. package/dist/{chunk-6MOJK2QT.js → chunk-4SQ2WCZA.js} +2 -2
  238. package/dist/{chunk-QHFAKEZZ.js → chunk-4V37DAMA.js} +3 -3
  239. package/dist/{chunk-PWXDMP7G.js → chunk-52RHAAIH.js} +10 -10
  240. package/dist/{chunk-E3E4L7MH.js → chunk-56GWNA5V.js} +5 -5
  241. package/dist/{chunk-I54LHHZS.js → chunk-5CP5Z3YU.js} +2 -2
  242. package/dist/{chunk-L6UTYEUS.js → chunk-5S5K73I6.js} +3 -3
  243. package/dist/{chunk-RBW5QQXW.js → chunk-5XTPEA3O.js} +2 -2
  244. package/dist/{chunk-LOGSJH2Q.js → chunk-5ZC7CNU4.js} +2 -2
  245. package/dist/{chunk-V4JMZZGH.js → chunk-6A4PTK5Q.js} +5 -5
  246. package/dist/{chunk-2P5ZBBTL.js → chunk-6GICMRDX.js} +5 -5
  247. package/dist/{chunk-QOTMQLMW.js → chunk-6OISIUZM.js} +3 -3
  248. package/dist/{chunk-34FX3NRZ.js → chunk-6PTP5NID.js} +2 -2
  249. package/dist/{chunk-3XZZSHE5.js → chunk-6VTOGR36.js} +5 -5
  250. package/dist/{chunk-RLDTV5I2.js → chunk-6WHIJPEF.js} +2 -2
  251. package/dist/{chunk-6LMYQJZP.js → chunk-6YSGP2WS.js} +3 -2
  252. package/dist/{chunk-6LMYQJZP.js.map → chunk-6YSGP2WS.js.map} +1 -1
  253. package/dist/{chunk-D7SOXI2K.js → chunk-72HOUWAW.js} +2 -2
  254. package/dist/{chunk-2D4WKET2.js → chunk-75FHDUJW.js} +5 -5
  255. package/dist/{chunk-AAREDFH6.js → chunk-7TKQIZ3K.js} +2 -2
  256. package/dist/{chunk-WPFVQVQC.js → chunk-7VUXSNVZ.js} +5 -5
  257. package/dist/chunk-A63WU4UZ.js +226 -0
  258. package/dist/chunk-A63WU4UZ.js.map +1 -0
  259. package/dist/chunk-ABRUOINB.js +1 -0
  260. package/dist/chunk-ABRUOINB.js.map +1 -0
  261. package/dist/{chunk-UERGWYGY.js → chunk-ABRVOPC2.js} +3 -3
  262. package/dist/{chunk-M74YHHJE.js → chunk-ACBHZG3Z.js} +5 -5
  263. package/dist/chunk-ACFKPE2T.js +1 -0
  264. package/dist/chunk-ACFKPE2T.js.map +1 -0
  265. package/dist/{chunk-GPTNZ57P.js → chunk-ARMKSYEQ.js} +3 -3
  266. package/dist/{chunk-MHFXJRLD.js → chunk-AT6UKTH4.js} +2 -2
  267. package/dist/{chunk-O4G7QKDU.js → chunk-AWUFS2ZC.js} +7 -7
  268. package/dist/{chunk-66QQ7YQN.js → chunk-AYJGRQT4.js} +3 -2
  269. package/dist/{chunk-66QQ7YQN.js.map → chunk-AYJGRQT4.js.map} +1 -1
  270. package/dist/{chunk-YWJCMGTE.js → chunk-BECKKDYG.js} +2 -2
  271. package/dist/{chunk-64UNVW6D.js → chunk-BP3ZKIPE.js} +4 -4
  272. package/dist/{chunk-ENRB6PIN.js → chunk-BRHRK7BK.js} +2 -2
  273. package/dist/chunk-BRZKOUEL.js +115 -0
  274. package/dist/chunk-BRZKOUEL.js.map +1 -0
  275. package/dist/{chunk-Z47SYKRX.js → chunk-C74PDNTF.js} +3 -3
  276. package/dist/{chunk-KEBYZ2MO.js → chunk-CARUHKZW.js} +11 -11
  277. package/dist/{chunk-3HSLEUVW.js → chunk-CBO46LJH.js} +5 -5
  278. package/dist/{chunk-EMSMJRP3.js → chunk-CESGZRVQ.js} +4 -4
  279. package/dist/{chunk-LODYTVOO.js → chunk-CFDWKQZT.js} +2 -2
  280. package/dist/chunk-COOSJKZL.js +197 -0
  281. package/dist/chunk-COOSJKZL.js.map +1 -0
  282. package/dist/{chunk-TPAMLIN7.js → chunk-CPZGFIFH.js} +2 -2
  283. package/dist/{chunk-UIWVSZ6I.js → chunk-CSGBHYW6.js} +2 -2
  284. package/dist/{chunk-JW7MN4DG.js → chunk-D34PZJH3.js} +2 -2
  285. package/dist/{chunk-WT7VZDTI.js → chunk-DDNUPFPE.js} +5 -5
  286. package/dist/{chunk-LZ5PGB7U.js → chunk-DYRZRY2T.js} +5 -5
  287. package/dist/{chunk-73BMQ3VC.js → chunk-ENJOBJPK.js} +2 -2
  288. package/dist/{chunk-U36BXXQ7.js → chunk-EP3DRILI.js} +2 -2
  289. package/dist/{chunk-W2JYXZC2.js → chunk-FCLON3MO.js} +3 -3
  290. package/dist/{chunk-I5NTADBO.js → chunk-FEKWKWGK.js} +4 -4
  291. package/dist/{chunk-33MMQHYU.js → chunk-FJ3UZ4RC.js} +2 -2
  292. package/dist/{chunk-LNIK7FJO.js → chunk-FORQEHRQ.js} +2 -2
  293. package/dist/{chunk-N3W6FZOC.js → chunk-FQGPYP2M.js} +4 -4
  294. package/dist/{chunk-MAHY7PK3.js → chunk-FQMLTCXT.js} +4 -4
  295. package/dist/{chunk-BDJIP4HG.js → chunk-FRUDRDJX.js} +4 -4
  296. package/dist/{chunk-MO4FFK62.js → chunk-FXECKKPW.js} +3 -3
  297. package/dist/{chunk-UWVVKUCG.js → chunk-FZEDQNUN.js} +3 -3
  298. package/dist/{chunk-YASSCBWN.js → chunk-GHP5JLL3.js} +2 -2
  299. package/dist/{chunk-3S352ZSG.js → chunk-GLR5MSU3.js} +2 -2
  300. package/dist/chunk-GMRQPNG3.js +80 -0
  301. package/dist/chunk-GMRQPNG3.js.map +1 -0
  302. package/dist/{chunk-ATJTGQYE.js → chunk-GOQOVKUZ.js} +3 -3
  303. package/dist/{chunk-REMODSVN.js → chunk-HDTFLW42.js} +2 -2
  304. package/dist/{chunk-SFVHZAGE.js → chunk-HG2YLNGJ.js} +2 -2
  305. package/dist/{chunk-OKDAHCYE.js → chunk-HJJR2WGL.js} +2 -2
  306. package/dist/{chunk-J34VGMA5.js → chunk-HNEZWVDR.js} +2 -2
  307. package/dist/{chunk-MGFTHOPG.js → chunk-HUXAIQC5.js} +2 -2
  308. package/dist/{chunk-OUI5IPS6.js → chunk-HWPQKHN2.js} +6 -6
  309. package/dist/{chunk-PGVGCDPD.js → chunk-I7JUAHUO.js} +3 -3
  310. package/dist/{chunk-LC6ND4ET.js → chunk-IBOFASAZ.js} +2 -2
  311. package/dist/{chunk-TNDTEI6D.js → chunk-IDRVQVDL.js} +2 -2
  312. package/dist/{chunk-4PUCT3RX.js → chunk-IEAPXS57.js} +2 -2
  313. package/dist/{chunk-NQCTANF3.js → chunk-IF5UY3CT.js} +4 -4
  314. package/dist/{chunk-OQ554425.js → chunk-IFX5KP65.js} +4 -4
  315. package/dist/{chunk-VQBY73QH.js → chunk-IMCSY2SI.js} +6 -6
  316. package/dist/{chunk-BARTUKJU.js → chunk-IU2WSJ4F.js} +2 -2
  317. package/dist/{chunk-GVSRBFP3.js → chunk-IYDXKLCE.js} +7 -7
  318. package/dist/{chunk-5NT2M2JI.js → chunk-JKIKHWD2.js} +4 -4
  319. package/dist/{chunk-IKXCAYFH.js → chunk-JVTZ7FWR.js} +2 -2
  320. package/dist/{chunk-DPHSJLMN.js → chunk-JZQYVGPV.js} +2 -2
  321. package/dist/{chunk-3W2B7IZG.js → chunk-K6WY2CHG.js} +2 -2
  322. package/dist/{chunk-RWCQ6TEM.js → chunk-KR4TN3OF.js} +2 -2
  323. package/dist/{chunk-SUCVFEPT.js → chunk-KRPDBVUB.js} +5 -5
  324. package/dist/{chunk-LRIPJ2D5.js → chunk-KRYOT3KB.js} +2 -2
  325. package/dist/{chunk-3V3Z4EML.js → chunk-L4FWEI2P.js} +5 -5
  326. package/dist/{chunk-I3OKAQ5L.js → chunk-L7HNQRFS.js} +7 -7
  327. package/dist/{chunk-J7C7FPVO.js → chunk-LABIUXDM.js} +2 -2
  328. package/dist/{chunk-GM7BG3SD.js → chunk-LLPPIO3K.js} +3 -3
  329. package/dist/{chunk-RCTHCXS6.js → chunk-LRQT4MQO.js} +2 -2
  330. package/dist/{chunk-LTSVYILY.js → chunk-LXMFHD7M.js} +4 -4
  331. package/dist/{chunk-72OG3AGH.js → chunk-LYB6YYTG.js} +2 -2
  332. package/dist/{chunk-DRJL3JHR.js → chunk-LZJHHMOF.js} +2 -2
  333. package/dist/{chunk-Y4KR4LT2.js → chunk-MIUPTZS6.js} +2 -2
  334. package/dist/{chunk-XXUTD74L.js → chunk-MK6UXAWY.js} +3 -3
  335. package/dist/{chunk-BIUT3K6A.js → chunk-MKNW4FRR.js} +6 -6
  336. package/dist/{chunk-NZDIO5UG.js → chunk-MVNFUIJS.js} +5 -5
  337. package/dist/{chunk-APBIQH4G.js → chunk-N5OEDOJT.js} +7 -7
  338. package/dist/{chunk-UAOE3ZPC.js → chunk-NEYZV6V5.js} +6 -6
  339. package/dist/{chunk-ZXHODKHH.js → chunk-NKHNUTTY.js} +3 -3
  340. package/dist/{chunk-JL4I7OQE.js → chunk-NOF2FF4K.js} +2 -2
  341. package/dist/{chunk-WOSUYOAU.js → chunk-NQYC7V5N.js} +5 -5
  342. package/dist/{chunk-2XI4R6UO.js → chunk-NTRWUDP6.js} +2 -2
  343. package/dist/{chunk-ZCCKIWZU.js → chunk-NYA26GV2.js} +2 -2
  344. package/dist/{chunk-N3LW5ER5.js → chunk-NZBEE2PR.js} +3 -3
  345. package/dist/{chunk-RUQNKOSP.js → chunk-OPY2AGAU.js} +4 -4
  346. package/dist/{chunk-FYJDI5BW.js → chunk-OQN2FHEL.js} +3 -3
  347. package/dist/{chunk-WNIL2KTB.js → chunk-OQW4OERS.js} +3 -3
  348. package/dist/{chunk-KG7OTJ26.js → chunk-OZYUE2BI.js} +2 -2
  349. package/dist/{chunk-Y3TD7HOY.js → chunk-P4Q7JK4L.js} +2 -2
  350. package/dist/{chunk-W676GY42.js → chunk-P772HCHI.js} +4 -4
  351. package/dist/chunk-PBRCKHN3.js +75 -0
  352. package/dist/chunk-PBRCKHN3.js.map +1 -0
  353. package/dist/{chunk-4AJY7HMH.js → chunk-PD7MKJCM.js} +5 -5
  354. package/dist/{chunk-ICKR3QTG.js → chunk-PGHSNG33.js} +4 -4
  355. package/dist/{chunk-ZNJGEDCE.js → chunk-PGYYDSNX.js} +2 -2
  356. package/dist/{chunk-KXTNTDRD.js → chunk-PPEHBI5O.js} +2 -2
  357. package/dist/{chunk-5RPT32EL.js → chunk-PVIQDBUN.js} +2 -2
  358. package/dist/{chunk-N3ZOZWP5.js → chunk-Q3HYEAVQ.js} +2 -2
  359. package/dist/{chunk-HKQQ2NED.js → chunk-Q4GAPZDA.js} +2 -2
  360. package/dist/{chunk-VUBFCHXL.js → chunk-Q7XLTN2D.js} +3 -3
  361. package/dist/{chunk-YQIT3ET7.js → chunk-QAH3XILB.js} +3 -3
  362. package/dist/{chunk-YH7G44WL.js → chunk-QLJU7UUI.js} +2 -2
  363. package/dist/{chunk-TVMSXL3R.js → chunk-QO7UJXXO.js} +2 -2
  364. package/dist/{chunk-EXTES7LP.js → chunk-QZOQVJ5L.js} +4 -4
  365. package/dist/{chunk-QQHZBJMU.js → chunk-RGVNXES5.js} +4 -4
  366. package/dist/{chunk-MWPD2BXO.js → chunk-RHVJ3L4U.js} +2 -2
  367. package/dist/{chunk-YV4O7KDR.js → chunk-S6HIZQIG.js} +5 -5
  368. package/dist/{chunk-MQVIYTH5.js → chunk-SAKSIN7E.js} +2 -2
  369. package/dist/{chunk-4HBCWKIX.js → chunk-SGFRSRAL.js} +2 -2
  370. package/dist/{chunk-WLLUARTC.js → chunk-T2G4LDU5.js} +2 -2
  371. package/dist/{chunk-37G7M2GJ.js → chunk-T6QVM5Q5.js} +5 -5
  372. package/dist/{chunk-BLNFOP2O.js → chunk-T6YTDEY4.js} +4 -4
  373. package/dist/{chunk-QTLM2YY2.js → chunk-TI4FGQYV.js} +2 -2
  374. package/dist/{chunk-6HMDUUVJ.js → chunk-TRYR424I.js} +4 -4
  375. package/dist/{chunk-V2UJEICC.js → chunk-TVDHA7BT.js} +8 -8
  376. package/dist/{chunk-74KCGLOU.js → chunk-U2ILXZDG.js} +2 -2
  377. package/dist/{chunk-TR7ZA67L.js → chunk-U2QV4TTZ.js} +2 -2
  378. package/dist/{chunk-GNDIVKWF.js → chunk-U3HGQHEO.js} +3 -3
  379. package/dist/{chunk-3YFDGFEK.js → chunk-U4WAAZXJ.js} +2 -2
  380. package/dist/{chunk-UQUN2NGE.js → chunk-UAFSEZ2E.js} +2 -2
  381. package/dist/{chunk-D5Y4PNC5.js → chunk-ULAZDF6D.js} +2 -2
  382. package/dist/{chunk-3OWFUFZL.js → chunk-UMI3GYWI.js} +6 -6
  383. package/dist/{chunk-Q7QQXNL7.js → chunk-UT545JBQ.js} +3 -3
  384. package/dist/{chunk-JXK53XJW.js → chunk-UTUYXH72.js} +5 -5
  385. package/dist/{chunk-E72INDBL.js → chunk-UXOFA3ZP.js} +4 -4
  386. package/dist/{chunk-PDSZN26U.js → chunk-V6KQ5R4T.js} +11 -11
  387. package/dist/{chunk-FLJ3RIRP.js → chunk-VEKTKCSB.js} +5 -5
  388. package/dist/{chunk-UJACXYC2.js → chunk-VHGHF537.js} +3 -3
  389. package/dist/{chunk-OFXCSLGX.js → chunk-VLH3IMJG.js} +2 -2
  390. package/dist/{chunk-AKBL7S7A.js → chunk-VPGDYI63.js} +5 -5
  391. package/dist/{chunk-6DGNMASB.js → chunk-VPH3TENY.js} +2 -2
  392. package/dist/{chunk-45AON4CS.js → chunk-VYQZ5U3N.js} +2 -2
  393. package/dist/{chunk-GXSHLMT4.js → chunk-WDSJ6SVY.js} +2 -2
  394. package/dist/{chunk-JMDT3GQ3.js → chunk-WMAS6DZR.js} +3 -3
  395. package/dist/{chunk-XE7QBHXN.js → chunk-WTOA52EQ.js} +2 -2
  396. package/dist/{chunk-ILNAPS44.js → chunk-XMWTVDQN.js} +20 -20
  397. package/dist/{chunk-JIAIPOEV.js → chunk-XNMU32XC.js} +2 -2
  398. package/dist/{chunk-PEMXXFXL.js → chunk-XQJPR57I.js} +2 -2
  399. package/dist/{chunk-54F7QIV2.js → chunk-XW44IFYE.js} +5 -5
  400. package/dist/{chunk-I2KAN3YB.js → chunk-Y3LK6ZQG.js} +2 -2
  401. package/dist/{chunk-7AC2UGTU.js → chunk-Y46R26TE.js} +3 -3
  402. package/dist/{chunk-GQ2T44BC.js → chunk-YEKPQAOW.js} +2 -2
  403. package/dist/{chunk-YC2QYRNE.js → chunk-YGWLMTPB.js} +2 -2
  404. package/dist/{chunk-H56CRMCM.js → chunk-YHPSPFU5.js} +9 -9
  405. package/dist/{chunk-F6LZHF4O.js → chunk-YTDUIU7X.js} +2 -2
  406. package/dist/{chunk-CO7GH3W7.js → chunk-YWXCLPCX.js} +2 -2
  407. package/dist/{chunk-RIPG3QIN.js → chunk-Z445LLFN.js} +4 -4
  408. package/dist/{chunk-M7HYNXCU.js → chunk-ZAPP32GD.js} +2 -2
  409. package/dist/{chunk-C2OX3C7L.js → chunk-ZLVRCQPG.js} +7 -7
  410. package/dist/{chunk-SGAHME6W.js → chunk-ZVZTQF7E.js} +4 -4
  411. package/dist/data-display/Alert.js +2 -2
  412. package/dist/data-display/AsyncStateContainer.js +4 -4
  413. package/dist/data-display/Badge.js +3 -3
  414. package/dist/data-display/CardKit.js +10 -10
  415. package/dist/data-display/Carousel.js +10 -10
  416. package/dist/data-display/Chart.js +14 -14
  417. package/dist/data-display/DataGrid.js +1 -1
  418. package/dist/data-display/DataViews.js +88 -88
  419. package/dist/data-display/FleetMap.js +24 -24
  420. package/dist/data-display/LazyImage.js +5 -5
  421. package/dist/data-display/Lightbox.js +6 -6
  422. package/dist/data-display/LoadingState.js +3 -3
  423. package/dist/data-display/MapPreview.js +16 -16
  424. package/dist/data-display/Progress.js +2 -2
  425. package/dist/data-display/RegionMap.js +45 -0
  426. package/dist/data-display/RegionMap.js.map +1 -0
  427. package/dist/data-display/Sheet.js +6 -6
  428. package/dist/data-display/StatCard.js +3 -3
  429. package/dist/data-display/Table.js +2 -2
  430. package/dist/en-US.js +6 -6
  431. package/dist/feedback/ConfirmAction.js +5 -5
  432. package/dist/feedback/Modal.js +2 -2
  433. package/dist/feedback/NotificationStatusNotice.js +7 -7
  434. package/dist/feedback/SequenceResolver.js +10 -10
  435. package/dist/form/AddressAutocomplete.js +8 -8
  436. package/dist/form/Autocomplete.js +4 -4
  437. package/dist/form/Button.js +4 -4
  438. package/dist/form/Calendar.js +5 -5
  439. package/dist/form/CategorySelect.js +11 -11
  440. package/dist/form/CepField.js +6 -6
  441. package/dist/form/Checkbox.js +2 -2
  442. package/dist/form/CodeEditor.js +3 -3
  443. package/dist/form/Command.js +3 -3
  444. package/dist/form/CreatableSelect.js +3 -3
  445. package/dist/form/DateRangePicker.js +12 -12
  446. package/dist/form/Input/outlined.js +5 -5
  447. package/dist/form/Input.js +5 -5
  448. package/dist/form/InputOTP.js +4 -4
  449. package/dist/form/Label.js +3 -3
  450. package/dist/form/MenuSelect.js +4 -4
  451. package/dist/form/Menubar.js +7 -7
  452. package/dist/form/NumberField.js +6 -6
  453. package/dist/form/PhoneInput.js +5 -5
  454. package/dist/form/PickerSheet.js +6 -6
  455. package/dist/form/RadioGroup.js +5 -5
  456. package/dist/form/RichTextEditor.js +2 -2
  457. package/dist/form/Select.js +6 -6
  458. package/dist/form/Textarea.js +3 -3
  459. package/dist/form/Toggle.js +4 -4
  460. package/dist/form/ToggleGroup.js +3 -3
  461. package/dist/form/total-form.js +34 -34
  462. package/dist/icons.js +6 -6
  463. package/dist/layout/Box.js +6 -6
  464. package/dist/layout/ContentToolbar.js +12 -12
  465. package/dist/layout/Screen.js +7 -7
  466. package/dist/layout/SettingCard.js +15 -15
  467. package/dist/layout/SettingsLayout.js +2 -2
  468. package/dist/layout/Skeleton.js +2 -2
  469. package/dist/layout/Stack.js +7 -7
  470. package/dist/layout/TableFilter.js +3 -3
  471. package/dist/locales.js +14 -14
  472. package/dist/navigation/AppHeader.js +9 -9
  473. package/dist/navigation/CommandPalette.js +2 -2
  474. package/dist/navigation/Pagination.js +4 -4
  475. package/dist/navigation/SectionNav.js +4 -4
  476. package/dist/navigation/Tabs.js +2 -2
  477. package/dist/provider.js +6 -6
  478. package/dist/pt-BR.js +8 -8
  479. package/dist/social-login-button.js +5 -5
  480. package/dist/tokens.js +4 -4
  481. package/dist/types/components/data-display/RegionMap/RegionMap.d.ts +25 -0
  482. package/dist/types/components/data-display/RegionMap/RegionMap.d.ts.map +1 -0
  483. package/dist/types/components/data-display/RegionMap/RegionMap.fixtures.d.ts +27 -0
  484. package/dist/types/components/data-display/RegionMap/RegionMap.fixtures.d.ts.map +1 -0
  485. package/dist/types/components/data-display/RegionMap/RegionMap.helpers.d.ts +110 -0
  486. package/dist/types/components/data-display/RegionMap/RegionMap.helpers.d.ts.map +1 -0
  487. package/dist/types/components/data-display/RegionMap/RegionMap.hooks.d.ts +28 -0
  488. package/dist/types/components/data-display/RegionMap/RegionMap.hooks.d.ts.map +1 -0
  489. package/dist/types/components/data-display/RegionMap/RegionMap.types.d.ts +116 -0
  490. package/dist/types/components/data-display/RegionMap/RegionMap.types.d.ts.map +1 -0
  491. package/dist/types/components/data-display/RegionMap/RegionMapDrawing.d.ts +28 -0
  492. package/dist/types/components/data-display/RegionMap/RegionMapDrawing.d.ts.map +1 -0
  493. package/dist/types/components/data-display/RegionMap/RegionMapLegend.d.ts +12 -0
  494. package/dist/types/components/data-display/RegionMap/RegionMapLegend.d.ts.map +1 -0
  495. package/dist/types/components/data-display/RegionMap/RegionMapList.d.ts +20 -0
  496. package/dist/types/components/data-display/RegionMap/RegionMapList.d.ts.map +1 -0
  497. package/dist/types/components/data-display/RegionMap/index.d.ts +5 -0
  498. package/dist/types/components/data-display/RegionMap/index.d.ts.map +1 -0
  499. package/dist/types/components/data-display/index.d.ts +1 -0
  500. package/dist/types/components/data-display/index.d.ts.map +1 -1
  501. package/dist/types/components/form/total-form/Fields/SelectField.d.ts.map +1 -1
  502. package/dist/types/components/form/total-form/Fields/ToggleField.d.ts.map +1 -1
  503. package/dist/user-avatar.js +5 -5
  504. package/dist/utility/WorkflowStep.js +3 -3
  505. package/package.json +5 -1
  506. package/src/components/data-display/RegionMap/RegionMap.fixtures.ts +67 -0
  507. package/src/components/data-display/RegionMap/RegionMap.helpers.ts +338 -0
  508. package/src/components/data-display/RegionMap/RegionMap.hooks.ts +125 -0
  509. package/src/components/data-display/RegionMap/RegionMap.md +144 -0
  510. package/src/components/data-display/RegionMap/RegionMap.tsx +88 -0
  511. package/src/components/data-display/RegionMap/RegionMap.types.ts +117 -0
  512. package/src/components/data-display/RegionMap/RegionMapDrawing.tsx +299 -0
  513. package/src/components/data-display/RegionMap/RegionMapLegend.tsx +81 -0
  514. package/src/components/data-display/RegionMap/RegionMapList.tsx +167 -0
  515. package/src/components/data-display/RegionMap/index.ts +13 -0
  516. package/src/components/data-display/RegionMap/tests.md +22 -0
  517. package/src/components/data-display/RegionMap/track.md +13 -0
  518. package/src/components/data-display/index.ts +1 -0
  519. package/src/components/form/total-form/Fields/SelectField.tsx +4 -0
  520. package/src/components/form/total-form/Fields/ToggleField.tsx +3 -0
  521. package/dist/chunk-CDCTLPMD.js +0 -1
  522. /package/dist/{chunk-CDCTLPMD.js.map → _internal/components/data-display/RegionMap/RegionMap.helpers.js.map} +0 -0
  523. /package/dist/{chunk-3RHU2Y2N.js.map → chunk-2DDCRHJE.js.map} +0 -0
  524. /package/dist/{chunk-6ONQTXFM.js.map → chunk-2GDPZ53K.js.map} +0 -0
  525. /package/dist/{chunk-X3EB67O2.js.map → chunk-2VRJ577J.js.map} +0 -0
  526. /package/dist/{chunk-QSRZOXQI.js.map → chunk-2WVHZIWP.js.map} +0 -0
  527. /package/dist/{chunk-6OYB3MRF.js.map → chunk-33AVAYCR.js.map} +0 -0
  528. /package/dist/{chunk-62SXUU5U.js.map → chunk-3DPPDGOF.js.map} +0 -0
  529. /package/dist/{chunk-RXKFPXVH.js.map → chunk-3IX2TP4I.js.map} +0 -0
  530. /package/dist/{chunk-BTGXHQX3.js.map → chunk-4JNC5AEF.js.map} +0 -0
  531. /package/dist/{chunk-6MOJK2QT.js.map → chunk-4SQ2WCZA.js.map} +0 -0
  532. /package/dist/{chunk-QHFAKEZZ.js.map → chunk-4V37DAMA.js.map} +0 -0
  533. /package/dist/{chunk-PWXDMP7G.js.map → chunk-52RHAAIH.js.map} +0 -0
  534. /package/dist/{chunk-E3E4L7MH.js.map → chunk-56GWNA5V.js.map} +0 -0
  535. /package/dist/{chunk-I54LHHZS.js.map → chunk-5CP5Z3YU.js.map} +0 -0
  536. /package/dist/{chunk-L6UTYEUS.js.map → chunk-5S5K73I6.js.map} +0 -0
  537. /package/dist/{chunk-RBW5QQXW.js.map → chunk-5XTPEA3O.js.map} +0 -0
  538. /package/dist/{chunk-LOGSJH2Q.js.map → chunk-5ZC7CNU4.js.map} +0 -0
  539. /package/dist/{chunk-V4JMZZGH.js.map → chunk-6A4PTK5Q.js.map} +0 -0
  540. /package/dist/{chunk-2P5ZBBTL.js.map → chunk-6GICMRDX.js.map} +0 -0
  541. /package/dist/{chunk-QOTMQLMW.js.map → chunk-6OISIUZM.js.map} +0 -0
  542. /package/dist/{chunk-34FX3NRZ.js.map → chunk-6PTP5NID.js.map} +0 -0
  543. /package/dist/{chunk-3XZZSHE5.js.map → chunk-6VTOGR36.js.map} +0 -0
  544. /package/dist/{chunk-RLDTV5I2.js.map → chunk-6WHIJPEF.js.map} +0 -0
  545. /package/dist/{chunk-D7SOXI2K.js.map → chunk-72HOUWAW.js.map} +0 -0
  546. /package/dist/{chunk-2D4WKET2.js.map → chunk-75FHDUJW.js.map} +0 -0
  547. /package/dist/{chunk-AAREDFH6.js.map → chunk-7TKQIZ3K.js.map} +0 -0
  548. /package/dist/{chunk-WPFVQVQC.js.map → chunk-7VUXSNVZ.js.map} +0 -0
  549. /package/dist/{chunk-UERGWYGY.js.map → chunk-ABRVOPC2.js.map} +0 -0
  550. /package/dist/{chunk-M74YHHJE.js.map → chunk-ACBHZG3Z.js.map} +0 -0
  551. /package/dist/{chunk-GPTNZ57P.js.map → chunk-ARMKSYEQ.js.map} +0 -0
  552. /package/dist/{chunk-MHFXJRLD.js.map → chunk-AT6UKTH4.js.map} +0 -0
  553. /package/dist/{chunk-O4G7QKDU.js.map → chunk-AWUFS2ZC.js.map} +0 -0
  554. /package/dist/{chunk-YWJCMGTE.js.map → chunk-BECKKDYG.js.map} +0 -0
  555. /package/dist/{chunk-64UNVW6D.js.map → chunk-BP3ZKIPE.js.map} +0 -0
  556. /package/dist/{chunk-ENRB6PIN.js.map → chunk-BRHRK7BK.js.map} +0 -0
  557. /package/dist/{chunk-Z47SYKRX.js.map → chunk-C74PDNTF.js.map} +0 -0
  558. /package/dist/{chunk-KEBYZ2MO.js.map → chunk-CARUHKZW.js.map} +0 -0
  559. /package/dist/{chunk-3HSLEUVW.js.map → chunk-CBO46LJH.js.map} +0 -0
  560. /package/dist/{chunk-EMSMJRP3.js.map → chunk-CESGZRVQ.js.map} +0 -0
  561. /package/dist/{chunk-LODYTVOO.js.map → chunk-CFDWKQZT.js.map} +0 -0
  562. /package/dist/{chunk-TPAMLIN7.js.map → chunk-CPZGFIFH.js.map} +0 -0
  563. /package/dist/{chunk-UIWVSZ6I.js.map → chunk-CSGBHYW6.js.map} +0 -0
  564. /package/dist/{chunk-JW7MN4DG.js.map → chunk-D34PZJH3.js.map} +0 -0
  565. /package/dist/{chunk-WT7VZDTI.js.map → chunk-DDNUPFPE.js.map} +0 -0
  566. /package/dist/{chunk-LZ5PGB7U.js.map → chunk-DYRZRY2T.js.map} +0 -0
  567. /package/dist/{chunk-73BMQ3VC.js.map → chunk-ENJOBJPK.js.map} +0 -0
  568. /package/dist/{chunk-U36BXXQ7.js.map → chunk-EP3DRILI.js.map} +0 -0
  569. /package/dist/{chunk-W2JYXZC2.js.map → chunk-FCLON3MO.js.map} +0 -0
  570. /package/dist/{chunk-I5NTADBO.js.map → chunk-FEKWKWGK.js.map} +0 -0
  571. /package/dist/{chunk-33MMQHYU.js.map → chunk-FJ3UZ4RC.js.map} +0 -0
  572. /package/dist/{chunk-LNIK7FJO.js.map → chunk-FORQEHRQ.js.map} +0 -0
  573. /package/dist/{chunk-N3W6FZOC.js.map → chunk-FQGPYP2M.js.map} +0 -0
  574. /package/dist/{chunk-MAHY7PK3.js.map → chunk-FQMLTCXT.js.map} +0 -0
  575. /package/dist/{chunk-BDJIP4HG.js.map → chunk-FRUDRDJX.js.map} +0 -0
  576. /package/dist/{chunk-MO4FFK62.js.map → chunk-FXECKKPW.js.map} +0 -0
  577. /package/dist/{chunk-UWVVKUCG.js.map → chunk-FZEDQNUN.js.map} +0 -0
  578. /package/dist/{chunk-YASSCBWN.js.map → chunk-GHP5JLL3.js.map} +0 -0
  579. /package/dist/{chunk-3S352ZSG.js.map → chunk-GLR5MSU3.js.map} +0 -0
  580. /package/dist/{chunk-ATJTGQYE.js.map → chunk-GOQOVKUZ.js.map} +0 -0
  581. /package/dist/{chunk-REMODSVN.js.map → chunk-HDTFLW42.js.map} +0 -0
  582. /package/dist/{chunk-SFVHZAGE.js.map → chunk-HG2YLNGJ.js.map} +0 -0
  583. /package/dist/{chunk-OKDAHCYE.js.map → chunk-HJJR2WGL.js.map} +0 -0
  584. /package/dist/{chunk-J34VGMA5.js.map → chunk-HNEZWVDR.js.map} +0 -0
  585. /package/dist/{chunk-MGFTHOPG.js.map → chunk-HUXAIQC5.js.map} +0 -0
  586. /package/dist/{chunk-OUI5IPS6.js.map → chunk-HWPQKHN2.js.map} +0 -0
  587. /package/dist/{chunk-PGVGCDPD.js.map → chunk-I7JUAHUO.js.map} +0 -0
  588. /package/dist/{chunk-LC6ND4ET.js.map → chunk-IBOFASAZ.js.map} +0 -0
  589. /package/dist/{chunk-TNDTEI6D.js.map → chunk-IDRVQVDL.js.map} +0 -0
  590. /package/dist/{chunk-4PUCT3RX.js.map → chunk-IEAPXS57.js.map} +0 -0
  591. /package/dist/{chunk-NQCTANF3.js.map → chunk-IF5UY3CT.js.map} +0 -0
  592. /package/dist/{chunk-OQ554425.js.map → chunk-IFX5KP65.js.map} +0 -0
  593. /package/dist/{chunk-VQBY73QH.js.map → chunk-IMCSY2SI.js.map} +0 -0
  594. /package/dist/{chunk-BARTUKJU.js.map → chunk-IU2WSJ4F.js.map} +0 -0
  595. /package/dist/{chunk-GVSRBFP3.js.map → chunk-IYDXKLCE.js.map} +0 -0
  596. /package/dist/{chunk-5NT2M2JI.js.map → chunk-JKIKHWD2.js.map} +0 -0
  597. /package/dist/{chunk-IKXCAYFH.js.map → chunk-JVTZ7FWR.js.map} +0 -0
  598. /package/dist/{chunk-DPHSJLMN.js.map → chunk-JZQYVGPV.js.map} +0 -0
  599. /package/dist/{chunk-3W2B7IZG.js.map → chunk-K6WY2CHG.js.map} +0 -0
  600. /package/dist/{chunk-RWCQ6TEM.js.map → chunk-KR4TN3OF.js.map} +0 -0
  601. /package/dist/{chunk-SUCVFEPT.js.map → chunk-KRPDBVUB.js.map} +0 -0
  602. /package/dist/{chunk-LRIPJ2D5.js.map → chunk-KRYOT3KB.js.map} +0 -0
  603. /package/dist/{chunk-3V3Z4EML.js.map → chunk-L4FWEI2P.js.map} +0 -0
  604. /package/dist/{chunk-I3OKAQ5L.js.map → chunk-L7HNQRFS.js.map} +0 -0
  605. /package/dist/{chunk-J7C7FPVO.js.map → chunk-LABIUXDM.js.map} +0 -0
  606. /package/dist/{chunk-GM7BG3SD.js.map → chunk-LLPPIO3K.js.map} +0 -0
  607. /package/dist/{chunk-RCTHCXS6.js.map → chunk-LRQT4MQO.js.map} +0 -0
  608. /package/dist/{chunk-LTSVYILY.js.map → chunk-LXMFHD7M.js.map} +0 -0
  609. /package/dist/{chunk-72OG3AGH.js.map → chunk-LYB6YYTG.js.map} +0 -0
  610. /package/dist/{chunk-DRJL3JHR.js.map → chunk-LZJHHMOF.js.map} +0 -0
  611. /package/dist/{chunk-Y4KR4LT2.js.map → chunk-MIUPTZS6.js.map} +0 -0
  612. /package/dist/{chunk-XXUTD74L.js.map → chunk-MK6UXAWY.js.map} +0 -0
  613. /package/dist/{chunk-BIUT3K6A.js.map → chunk-MKNW4FRR.js.map} +0 -0
  614. /package/dist/{chunk-NZDIO5UG.js.map → chunk-MVNFUIJS.js.map} +0 -0
  615. /package/dist/{chunk-APBIQH4G.js.map → chunk-N5OEDOJT.js.map} +0 -0
  616. /package/dist/{chunk-UAOE3ZPC.js.map → chunk-NEYZV6V5.js.map} +0 -0
  617. /package/dist/{chunk-ZXHODKHH.js.map → chunk-NKHNUTTY.js.map} +0 -0
  618. /package/dist/{chunk-JL4I7OQE.js.map → chunk-NOF2FF4K.js.map} +0 -0
  619. /package/dist/{chunk-WOSUYOAU.js.map → chunk-NQYC7V5N.js.map} +0 -0
  620. /package/dist/{chunk-2XI4R6UO.js.map → chunk-NTRWUDP6.js.map} +0 -0
  621. /package/dist/{chunk-ZCCKIWZU.js.map → chunk-NYA26GV2.js.map} +0 -0
  622. /package/dist/{chunk-N3LW5ER5.js.map → chunk-NZBEE2PR.js.map} +0 -0
  623. /package/dist/{chunk-RUQNKOSP.js.map → chunk-OPY2AGAU.js.map} +0 -0
  624. /package/dist/{chunk-FYJDI5BW.js.map → chunk-OQN2FHEL.js.map} +0 -0
  625. /package/dist/{chunk-WNIL2KTB.js.map → chunk-OQW4OERS.js.map} +0 -0
  626. /package/dist/{chunk-KG7OTJ26.js.map → chunk-OZYUE2BI.js.map} +0 -0
  627. /package/dist/{chunk-Y3TD7HOY.js.map → chunk-P4Q7JK4L.js.map} +0 -0
  628. /package/dist/{chunk-W676GY42.js.map → chunk-P772HCHI.js.map} +0 -0
  629. /package/dist/{chunk-4AJY7HMH.js.map → chunk-PD7MKJCM.js.map} +0 -0
  630. /package/dist/{chunk-ICKR3QTG.js.map → chunk-PGHSNG33.js.map} +0 -0
  631. /package/dist/{chunk-ZNJGEDCE.js.map → chunk-PGYYDSNX.js.map} +0 -0
  632. /package/dist/{chunk-KXTNTDRD.js.map → chunk-PPEHBI5O.js.map} +0 -0
  633. /package/dist/{chunk-5RPT32EL.js.map → chunk-PVIQDBUN.js.map} +0 -0
  634. /package/dist/{chunk-N3ZOZWP5.js.map → chunk-Q3HYEAVQ.js.map} +0 -0
  635. /package/dist/{chunk-HKQQ2NED.js.map → chunk-Q4GAPZDA.js.map} +0 -0
  636. /package/dist/{chunk-VUBFCHXL.js.map → chunk-Q7XLTN2D.js.map} +0 -0
  637. /package/dist/{chunk-YQIT3ET7.js.map → chunk-QAH3XILB.js.map} +0 -0
  638. /package/dist/{chunk-YH7G44WL.js.map → chunk-QLJU7UUI.js.map} +0 -0
  639. /package/dist/{chunk-TVMSXL3R.js.map → chunk-QO7UJXXO.js.map} +0 -0
  640. /package/dist/{chunk-EXTES7LP.js.map → chunk-QZOQVJ5L.js.map} +0 -0
  641. /package/dist/{chunk-QQHZBJMU.js.map → chunk-RGVNXES5.js.map} +0 -0
  642. /package/dist/{chunk-MWPD2BXO.js.map → chunk-RHVJ3L4U.js.map} +0 -0
  643. /package/dist/{chunk-YV4O7KDR.js.map → chunk-S6HIZQIG.js.map} +0 -0
  644. /package/dist/{chunk-MQVIYTH5.js.map → chunk-SAKSIN7E.js.map} +0 -0
  645. /package/dist/{chunk-4HBCWKIX.js.map → chunk-SGFRSRAL.js.map} +0 -0
  646. /package/dist/{chunk-WLLUARTC.js.map → chunk-T2G4LDU5.js.map} +0 -0
  647. /package/dist/{chunk-37G7M2GJ.js.map → chunk-T6QVM5Q5.js.map} +0 -0
  648. /package/dist/{chunk-BLNFOP2O.js.map → chunk-T6YTDEY4.js.map} +0 -0
  649. /package/dist/{chunk-QTLM2YY2.js.map → chunk-TI4FGQYV.js.map} +0 -0
  650. /package/dist/{chunk-6HMDUUVJ.js.map → chunk-TRYR424I.js.map} +0 -0
  651. /package/dist/{chunk-V2UJEICC.js.map → chunk-TVDHA7BT.js.map} +0 -0
  652. /package/dist/{chunk-74KCGLOU.js.map → chunk-U2ILXZDG.js.map} +0 -0
  653. /package/dist/{chunk-TR7ZA67L.js.map → chunk-U2QV4TTZ.js.map} +0 -0
  654. /package/dist/{chunk-GNDIVKWF.js.map → chunk-U3HGQHEO.js.map} +0 -0
  655. /package/dist/{chunk-3YFDGFEK.js.map → chunk-U4WAAZXJ.js.map} +0 -0
  656. /package/dist/{chunk-UQUN2NGE.js.map → chunk-UAFSEZ2E.js.map} +0 -0
  657. /package/dist/{chunk-D5Y4PNC5.js.map → chunk-ULAZDF6D.js.map} +0 -0
  658. /package/dist/{chunk-3OWFUFZL.js.map → chunk-UMI3GYWI.js.map} +0 -0
  659. /package/dist/{chunk-Q7QQXNL7.js.map → chunk-UT545JBQ.js.map} +0 -0
  660. /package/dist/{chunk-JXK53XJW.js.map → chunk-UTUYXH72.js.map} +0 -0
  661. /package/dist/{chunk-E72INDBL.js.map → chunk-UXOFA3ZP.js.map} +0 -0
  662. /package/dist/{chunk-PDSZN26U.js.map → chunk-V6KQ5R4T.js.map} +0 -0
  663. /package/dist/{chunk-FLJ3RIRP.js.map → chunk-VEKTKCSB.js.map} +0 -0
  664. /package/dist/{chunk-UJACXYC2.js.map → chunk-VHGHF537.js.map} +0 -0
  665. /package/dist/{chunk-OFXCSLGX.js.map → chunk-VLH3IMJG.js.map} +0 -0
  666. /package/dist/{chunk-AKBL7S7A.js.map → chunk-VPGDYI63.js.map} +0 -0
  667. /package/dist/{chunk-6DGNMASB.js.map → chunk-VPH3TENY.js.map} +0 -0
  668. /package/dist/{chunk-45AON4CS.js.map → chunk-VYQZ5U3N.js.map} +0 -0
  669. /package/dist/{chunk-GXSHLMT4.js.map → chunk-WDSJ6SVY.js.map} +0 -0
  670. /package/dist/{chunk-JMDT3GQ3.js.map → chunk-WMAS6DZR.js.map} +0 -0
  671. /package/dist/{chunk-XE7QBHXN.js.map → chunk-WTOA52EQ.js.map} +0 -0
  672. /package/dist/{chunk-ILNAPS44.js.map → chunk-XMWTVDQN.js.map} +0 -0
  673. /package/dist/{chunk-JIAIPOEV.js.map → chunk-XNMU32XC.js.map} +0 -0
  674. /package/dist/{chunk-PEMXXFXL.js.map → chunk-XQJPR57I.js.map} +0 -0
  675. /package/dist/{chunk-54F7QIV2.js.map → chunk-XW44IFYE.js.map} +0 -0
  676. /package/dist/{chunk-I2KAN3YB.js.map → chunk-Y3LK6ZQG.js.map} +0 -0
  677. /package/dist/{chunk-7AC2UGTU.js.map → chunk-Y46R26TE.js.map} +0 -0
  678. /package/dist/{chunk-GQ2T44BC.js.map → chunk-YEKPQAOW.js.map} +0 -0
  679. /package/dist/{chunk-YC2QYRNE.js.map → chunk-YGWLMTPB.js.map} +0 -0
  680. /package/dist/{chunk-H56CRMCM.js.map → chunk-YHPSPFU5.js.map} +0 -0
  681. /package/dist/{chunk-F6LZHF4O.js.map → chunk-YTDUIU7X.js.map} +0 -0
  682. /package/dist/{chunk-CO7GH3W7.js.map → chunk-YWXCLPCX.js.map} +0 -0
  683. /package/dist/{chunk-RIPG3QIN.js.map → chunk-Z445LLFN.js.map} +0 -0
  684. /package/dist/{chunk-M7HYNXCU.js.map → chunk-ZAPP32GD.js.map} +0 -0
  685. /package/dist/{chunk-C2OX3C7L.js.map → chunk-ZLVRCQPG.js.map} +0 -0
  686. /package/dist/{chunk-SGAHME6W.js.map → chunk-ZVZTQF7E.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionMapLegend.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/RegionMap/RegionMapLegend.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,eAAe,EACf,UAAU,EACV,KAAK,EACL,MAAM,GACP,EAAE;IACD,IAAI,EAAE,aAAa,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+CpB"}
@@ -0,0 +1,20 @@
1
+ import type { Theme } from '@mui/material/styles/index.js';
2
+ import React from 'react';
3
+ import type { RegionMapCopy, RegionMapListMode, RegionMapListSort, RegionMapProps, RegionMapRegion } from './RegionMap.types';
4
+ /** The areas with a row: `listed`, defaulting to "not outside". */
5
+ export declare function listedRegions(regions: readonly RegionMapRegion[], sort: RegionMapListSort): RegionMapRegion[];
6
+ /**
7
+ * Every listed area as a toggle button — the keyboard's and the screen
8
+ * reader's map, and the way to an area too small to tap. `collapsed` puts it
9
+ * behind one button that names the count; `shown` lays it out with a heading.
10
+ */
11
+ export declare function RegionMapList({ regions, copy, mode, sort, onToggle, testId, theme, }: {
12
+ regions: readonly RegionMapRegion[];
13
+ copy: RegionMapCopy;
14
+ mode: Exclude<RegionMapListMode, 'none'>;
15
+ sort: RegionMapListSort;
16
+ onToggle: RegionMapProps['onToggle'];
17
+ testId: string;
18
+ theme: Theme;
19
+ }): React.JSX.Element;
20
+ //# sourceMappingURL=RegionMapList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionMapList.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/RegionMap/RegionMapList.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAW,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,mEAAmE;AACnE,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,eAAe,EAAE,EACnC,IAAI,EAAE,iBAAiB,GACtB,eAAe,EAAE,CAGnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,KAAK,GACN,EAAE;IACD,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2CpB"}
@@ -0,0 +1,5 @@
1
+ export { RegionMap } from './RegionMap';
2
+ export { decodePolyline, hitRegion, projectionAt } from './RegionMap.helpers';
3
+ export type { AreaGeometry, PlanePoint, PlaneRegion } from './RegionMap.helpers';
4
+ export type { RegionMapCircle, RegionMapCopy, RegionMapListMode, RegionMapListSort, RegionMapPoint, RegionMapProps, RegionMapRegion, RegionMapRing, } from './RegionMap.types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/RegionMap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9E,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACjF,YAAY,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC"}
@@ -21,6 +21,7 @@ export * from './FleetMap';
21
21
  export * from './MapPreview';
22
22
  export * from './Popover';
23
23
  export * from './Progress';
24
+ export * from './RegionMap';
24
25
  export * from './SectionOnboarding/SectionOnboarding';
25
26
  export * from './Sheet';
26
27
  export * from './StatCard';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,uCAAuC,CAAC;AACtD,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,uCAAuC,CAAC;AACtD,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/total-form/Fields/SelectField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CA2BvG"}
1
+ {"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/total-form/Fields/SelectField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CA+BvG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/total-form/Fields/ToggleField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CA6B1F"}
1
+ {"version":3,"file":"ToggleField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/total-form/Fields/ToggleField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAgC1F"}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  UserAvatar,
3
3
  UserMenu
4
- } from "./chunk-DPHSJLMN.js";
4
+ } from "./chunk-JZQYVGPV.js";
5
5
  import "./chunk-DQ22UKMZ.js";
6
6
  import "./chunk-UDQSIRAP.js";
7
7
  import "./chunk-7YJYIMWP.js";
@@ -16,18 +16,18 @@ import "./chunk-PLB6WWXW.js";
16
16
  import "./chunk-FKUYRQSP.js";
17
17
  import "./chunk-HDBP55R3.js";
18
18
  import "./chunk-BA4RHQ3B.js";
19
- import "./chunk-OKDAHCYE.js";
19
+ import "./chunk-HJJR2WGL.js";
20
20
  import "./chunk-TAMIZE4Q.js";
21
- import "./chunk-KXTNTDRD.js";
21
+ import "./chunk-PPEHBI5O.js";
22
22
  import "./chunk-G2FUZALJ.js";
23
23
  import "./chunk-AJBRO76D.js";
24
24
  import "./chunk-36VXZCJT.js";
25
25
  import "./chunk-XOXXG7Q5.js";
26
26
  import "./chunk-TYJR4GOF.js";
27
- import "./chunk-QQHZBJMU.js";
27
+ import "./chunk-RGVNXES5.js";
28
+ import "./chunk-GDN2LUTZ.js";
28
29
  import "./chunk-7ZADLRLP.js";
29
30
  import "./chunk-3NGE6NE6.js";
30
- import "./chunk-GDN2LUTZ.js";
31
31
  import "./chunk-2FBGDSGC.js";
32
32
  import "./chunk-VBP46YP4.js";
33
33
  import "./chunk-44BD7SFH.js";
@@ -8,17 +8,17 @@ import "../chunk-UBVKMM3V.js";
8
8
  import "../chunk-LL2BWQPM.js";
9
9
  import "../chunk-XOXXG7Q5.js";
10
10
  import "../chunk-B7ZHEOQQ.js";
11
- import "../chunk-ENRB6PIN.js";
11
+ import "../chunk-BRHRK7BK.js";
12
12
  import "../chunk-25MSGLNU.js";
13
13
  import "../chunk-GAXHYRX6.js";
14
14
  import "../chunk-NP6SHLQ3.js";
15
15
  import "../chunk-TZ23DNKY.js";
16
16
  import "../chunk-7ZPUN7TV.js";
17
17
  import "../chunk-PT6TCWIW.js";
18
- import "../chunk-QQHZBJMU.js";
18
+ import "../chunk-RGVNXES5.js";
19
+ import "../chunk-GDN2LUTZ.js";
19
20
  import "../chunk-7ZADLRLP.js";
20
21
  import "../chunk-3NGE6NE6.js";
21
- import "../chunk-GDN2LUTZ.js";
22
22
  import "../chunk-2FBGDSGC.js";
23
23
  import "../chunk-VBP46YP4.js";
24
24
  import "../chunk-44BD7SFH.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12-apps/ui",
3
- "version": "6.84.0",
3
+ "version": "6.86.0",
4
4
  "license": "MIT",
5
5
  "packageManager": "pnpm@10.34.5",
6
6
  "type": "module",
@@ -212,6 +212,10 @@
212
212
  "types": "./dist/types/components/data-display/FleetMap/index.d.ts",
213
213
  "default": "./dist/data-display/FleetMap.js"
214
214
  },
215
+ "./data-display/RegionMap": {
216
+ "types": "./dist/types/components/data-display/RegionMap/index.d.ts",
217
+ "default": "./dist/data-display/RegionMap.js"
218
+ },
215
219
  "./data-display/SectionOnboarding": {
216
220
  "types": "./dist/types/components/data-display/SectionOnboarding/index.d.ts",
217
221
  "default": "./dist/data-display/SectionOnboarding.js"
@@ -0,0 +1,67 @@
1
+ import { decodePolyline } from './RegionMap.helpers';
2
+ import type { RegionMapCopy, RegionMapRegion } from './RegionMap.types';
3
+
4
+ /**
5
+ * The copy and the areas every story and test shares.
6
+ *
7
+ * The areas are REAL: ten of Belo Horizonte's bairros as IBGE outlines them
8
+ * (Malha de Bairros, Censo 2022; public data), coverage-simplified at ~11 m,
9
+ * around a point in Venda Nova. Real shapes are what show the drawing's actual
10
+ * problems — a hole that is another area, a sliver no finger can hit — which a
11
+ * grid of squares never would.
12
+ */
13
+
14
+ /** English, because stories are developer-facing. A consumer passes its own. */
15
+ export const REGION_MAP_COPY: RegionMapCopy = {
16
+ mapLabel: 'Map of the neighbourhoods around the store',
17
+ legendExcluded: 'Not delivered to',
18
+ legendCircle: (metres) => `${(metres / 1000).toLocaleString('en-US')} km radius`,
19
+ legendCenter: 'Store',
20
+ listLabel: 'Neighbourhoods in reach · tap to toggle',
21
+ showList: (count) => `See the ${count} neighbourhoods as a list`,
22
+ hideList: 'Hide the list',
23
+ rowState: { excluded: 'not delivered to', outside: 'outside the radius' },
24
+ };
25
+
26
+ /** The point the circles are drawn from. */
27
+ export const REGION_MAP_CENTER = { latitude: -19.8136, longitude: -43.9619 };
28
+
29
+ /** id, name, encoded outline (rings by `,`, polygons by `;`). */
30
+ const OUTLINES: readonly (readonly [string, string, string])[] = [
31
+ ["3106200190", "Ceu Azul", "rc`xBxookGx@tNJbDtEW@ZsAlKCb@SK_BoBGhDM|D`EAh@^CbEOpGM|KoLpAoDt@iEdBiCr@QhAuBpJkAzIwFqAkG_AcARw@q@Nw@{@GgB_ELq@kCuF}Ag@]c@e@{Aq@w@{HjBu@ZgDpBy@\\yCl@cBTgEMg@NaB`Bk@t@Qx@uOgEOk@cB{As@kBuAc@Iu@VcAb@}@l@k@REtC_BrBeHFqBTwCJg@j@RbCmGfCzBhE`@`@n@dAd@`@}K_A]q@e@qBcA{Ak@`CyJ\\cBXa@r@c@tCq@`Bu@~EcBh@q@v@d@l@u@d@?x@gA|@cBlA{@|@[`AUhAKH`CbESNfCiD`@uAv@i@Ui@f@IUgAbALj@Ql@}@hB|@CrHq@nDyDbBFzW{AdY}A"],
32
+ ["3106200365", "Serra Verde", "ryzwBnahkGw@`DaBbBaBpEyBpCOIgEjArBdJTl@x@hA}B~AmBjAiBzAoDbEkJaEa@E{@\\kBa@cBq@oAUgCI{A`@u@b@_Ch@y@b@uBnBoAf@w@p@kCRaGNy@YaAIeALmAv@]b@yEpEi@^yAXgAYcDO}@[c@eAoAy@IeAm@{BwBmDgAWoAg@wBuAi@}@yAIyAkBQ{@CaAVcAa@u@Lm@OoAu@e@uB@gAK_A[uCaBmAwASeA?qB`@iB?uAQiACcAa@s@Iy@k@wAWoAJa@E_AXqC\\a@Lu@GaDeC~@w@eDYgBZuCWmAY[zACd@ORq@yA@AoAbLYtH?vGNdFHfQVvBFrIFhEJzIXvRvAxHRhHJzC@lMV|a@t@zR\\CpAoCl@uBPmCx@qCxDgBvBk@h@_C|CcAzCy@vAuChA[b@,l}xwBprgkGA`LyBABmDIcFn@e@pAV"],
33
+ ["3106200367", "Venda Nova", "le}wBltikGgAaBcAj@CrAyBtAoHdGsApAKb@_FKgApEy@nB{@zAqAhAmB}CdAaAt@kAd@kBrAmIp@yCPe@vAuBfAqA`A{Af@kAXyBFuAFwEXyAX_AxAcDtCeHx@eCpAuBnAgBnAyAlC}BrAy@lQaJf@]tAaBpIpGpNnKU`Dy@O[UiCiDkAeAqAy@cE{BeCcAiGjB?b@YzGuElAfAdDdBhCJdBa@zBlAdF_BfAe@r@s@rCc@dAoG~H]ZyDtE"],
34
+ ["3106200418", "Santa Monica", "zq`xBhxlkGOp@a@AGr@_@z@w@`AsAjAe@Na@g@m@r@{FzE}@|@e@VyAXS_AqB`@T|@yElADPi@LRz@cB`@?`@sAE{C\\aBJm@RRbDm@FB\\iARGEsBhA{BhAuBhA{Ar@RoCi@UuD{CbAwAv@yCh@oCfGyAjGuAnA]gAeGc@oBc@JcAImEeApA}FaDmAaDs@uGcBeCk@oKmCeCiA}@s@iAoAgAgBa@cAu@wCeAcFy@cD?oAV_D`BpA`D~Cn@\\hORlAIfJiFvKkGj@_@PMpC{AzAs@`DiAhDqAfDkB?}Df@yAzA}B|OjEfB`@~HfCH~@A`BX`FV|GyBXqCp@cCTyAC[b@oBZv@rFRz@|@hCp@x@|AtAz@lAf@vAv@xAd@j@h@lATzAXlENxCF`DLD"],
35
+ ["3106200457", "Vila Jardim Leblon", "xp~wBzdnkGBx@c@@LfEy@AYz@DwFBQzAs@;pn~wBlsnkGBh@x@EXzFa@BFv@m@@Ce@_@B[UEeA|@CGcBSyBR@"],
36
+ ["3106200471", "Conjunto Minascaixa", "ryzwBnahkG`AhAfDhELVpCtDlFbHiFxBcA`@kAz@{BpBy@~AkAtCoDiA\\Up@cAREp@mAuBgAiAADr@eDqA_@t@e@b@Um@sBeJfEkANHxBqC`BqE`BcBv@aD"],
37
+ ["3106200477", "Jardim Leblon", "f|~wBb~mkG^~@N|@hBGNUa@YS_CScDl@S`BKzC]rADr@KX`@l@LJ~AxAI@Tn@AIgA}@FOyBJq@bA_@RUbABhCa@l@]Dp@^Td@GNjAJjCfApTr@|M\\|Ey@FPlET~DeY|A{WzAcBGm@}@Ko@OgCcERIaC{@{QvAX`AvAfDODdAZT^CBd@l@AGw@`@CY{Fy@DCi@SAIqCX{@x@@MgEb@ACy@tBiAzBiArBiAFD,fz~wBrrnkGNbDaAFKqB|@y@,fz~wBrrnkGAM|BGGgAxBMKoAU[eBAG{AbAELd@rAtApBdBBNzFYIuB`AEJrB|@GUmDfAIB~Ab@jHx@E?TzDQJ[x@G\\tGT?D`AM`ALtA]DBt@uDRF`AQ?FfAW?F`A]BN`A}@FIgA[BAaAw@D@bAcDPKuBm@BAoAg@BAcAiCT_DJEeB_@sD_ADEs@hAEI{@x@GUaFaAFAo@{DP"],
38
+ ["3106200479", "Lagoinha Leblon", "`g{wB|zpkG}N_@d@_VDqEJiFZ_TJyEbBt@zElA`@V|AZfA`@T}@iAa@JaAlCHh@Jz@`BrBfB|AbCUbB`@`@fDrEk@b@|AzChBpB}BrE[g@kAEyBbCeCCI`Cj@DcGzFwBGKhFK`C"],
39
+ ["3106200482", "Mantiqueira", "x`ywBh{nkGiEg@mCPaBU]e@}@j@aDg@yAIe@a@SbAgBXqEQo@x@u@CY{@cCMc@y@wAGcBi@qCCWg@q@b@e@Bq@y@t@Bx@mC`AmE?_AYcEg@?a@iAEs@c@uB{@eDeBf@Vo@M_Am@MZw@Kk@s@KwD`AOgC|Bm@gAu@{@cLeAw@v@w@|@b@@a@]_FxBW~AGzARtA^tAsAxAWbBy@~Ag@bEY|@m@BWo@oAt@QfFhIJZk@b@_A\\V|@m@r@eA|@w@S[f@eCFYRoATcCsA]LXz@@r@bAAnAThAUR\\lDmAdAFxAqAFXfAFJfAf@GNg@AwA}@{A^y@l@KJ]Is@d@YSa@tDmBjBBZMbA_A~CS`BsA_B_B^{AlBmAbC|Bb@Xf@kA`Cu@nAe@RXtK~KzFiJH]`BA_A|Bt@~ApFfGtBo@vD{@@Tp@XfA}AJ_@hAv@fBoAvCnEUnMo@jc@k@?qA`@k@^c@lAAjJO~G[vAy@vA]hAqMoB{Ew@oEk@{Do@i@EIhAuJoAUdC,njywBzsnkGx@Mv@F?g@p@F?PlALFu@o@AQ}@?cAW@Dh@mA`@q@fAOs@}@Og@DBf@`@Dh@x@"],
40
+ ["3106200484", "Minascaixa", "r~|wBzahkGqAtBy@dCuCdHyAbDY~@YxAGvEGtAYxBg@jAaAzAgApAwAtBQd@eCeCmBoAyDqCeHoEwEuCoB{AhFyBmFcHqCuDMWgDiEaAiAZc@tCiAx@wAbA{C~B}Cj@i@fBwBpCyDlCy@tBQnCm@BqArB?tEPj@AAx@o@Nm@f@tFjGxBdGnA~AzI~H"],
41
+ ];
42
+
43
+ /** The areas, decoded, none excluded. */
44
+ export const REGION_MAP_AREAS: RegionMapRegion[] = OUTLINES.map(([id, name, outline]) => ({
45
+ id,
46
+ name,
47
+ rings: outline
48
+ .split(';')
49
+ .flatMap((polygon) => polygon.split(','))
50
+ .map((ring) => decodePolyline(ring)),
51
+ }));
52
+
53
+ /**
54
+ * Context outside the circle: three of the areas marked `outside` — drawn
55
+ * faded, left off the list — and one tagged as too small to tap.
56
+ */
57
+ export const REGION_MAP_WITH_CONTEXT: RegionMapRegion[] = REGION_MAP_AREAS.map((area) => ({
58
+ ...area,
59
+ outside: ['Ceu Azul', 'Lagoinha Leblon', 'Mantiqueira'].includes(area.name),
60
+ detail: area.name === 'Vila Jardim Leblon' ? 'tiny' : undefined,
61
+ }));
62
+
63
+ /** The same areas with two of them excluded. */
64
+ export const REGION_MAP_WITH_EXCLUSIONS: RegionMapRegion[] = REGION_MAP_AREAS.map((area) => ({
65
+ ...area,
66
+ excluded: area.name === 'Minascaixa' || area.name === 'Jardim Leblon',
67
+ }));
@@ -0,0 +1,338 @@
1
+ import type { RegionMapPoint, RegionMapRegion, RegionMapRing } from './RegionMap.types';
2
+
3
+ /**
4
+ * The geometry behind `RegionMap`, kept pure so it is tested without a DOM.
5
+ *
6
+ * Coordinates are projected to METRES on a plane around the centre
7
+ * (equirectangular): within the tens of kilometres a map like this spans, its
8
+ * error is far below any outline's own. `y` grows SOUTH, as SVG's does.
9
+ */
10
+
11
+ /** Metres per degree of latitude on the mean sphere. */
12
+ const METRES_PER_DEGREE = 111_195;
13
+
14
+ /** A projected point, metres east (`x`) and south (`y`) of the centre. */
15
+ export interface PlanePoint {
16
+ x: number;
17
+ y: number;
18
+ }
19
+
20
+ /** An SVG viewBox in projected metres. */
21
+ export interface PlaneBox {
22
+ /** West edge, metres east of the centre. */
23
+ minX: number;
24
+ /** North edge, metres south of the centre. */
25
+ minY: number;
26
+ /** East-west extent, metres. */
27
+ spanX: number;
28
+ /** North-south extent, metres. */
29
+ spanY: number;
30
+ }
31
+
32
+ export interface Projection {
33
+ project: (point: RegionMapPoint) => PlanePoint;
34
+ }
35
+
36
+ /** The projection around a centre. */
37
+ export function projectionAt(center: { latitude: number; longitude: number }): Projection {
38
+ const kx = METRES_PER_DEGREE * Math.cos((center.latitude * Math.PI) / 180);
39
+ return {
40
+ project: ([latitude, longitude]) => ({
41
+ x: (longitude - center.longitude) * kx,
42
+ y: -(latitude - center.latitude) * METRES_PER_DEGREE,
43
+ }),
44
+ };
45
+ }
46
+
47
+ /** A ring as an SVG path segment, closed. */
48
+ function ringPath(ring: readonly PlanePoint[]): string {
49
+ if (ring.length === 0) return '';
50
+ const [first, ...rest] = ring;
51
+ return `M${first!.x.toFixed(1)} ${first!.y.toFixed(1)}${rest.map((p) => `L${p.x.toFixed(1)} ${p.y.toFixed(1)}`).join('')}Z`;
52
+ }
53
+
54
+ /** Every ring of an area as one path, to be filled with `fill-rule="evenodd"`. */
55
+ export function regionPath(rings: readonly (readonly PlanePoint[])[]): string {
56
+ return rings.map(ringPath).join('');
57
+ }
58
+
59
+ /** The smallest and largest of some numbers, in one pass (no spread). */
60
+ export function extent(values: Iterable<number>): { min: number; max: number } | null {
61
+ let min = Infinity;
62
+ let max = -Infinity;
63
+ for (const value of values) {
64
+ if (value < min) min = value;
65
+ if (value > max) max = value;
66
+ }
67
+ return min === Infinity ? null : { min, max };
68
+ }
69
+
70
+ /** The box around projected rings. */
71
+ export function planeBounds(rings: readonly (readonly PlanePoint[])[]): PlaneBox | null {
72
+ const points = rings.flat();
73
+ const xs = extent(points.map((p) => p.x));
74
+ const ys = extent(points.map((p) => p.y));
75
+ if (xs === null || ys === null) return null;
76
+ return { minX: xs.min, minY: ys.min, spanX: xs.max - xs.min, spanY: ys.max - ys.min };
77
+ }
78
+
79
+ /**
80
+ * The square the map shows: the largest circle with a margin, else every area,
81
+ * else nothing. Square so the drawing keeps its proportions at every width.
82
+ */
83
+ export function viewBoxFor(
84
+ largestRadius: number | null,
85
+ areaBounds: PlaneBox | null,
86
+ margin = 0.12,
87
+ ): PlaneBox | null {
88
+ if (largestRadius !== null && largestRadius > 0) {
89
+ const half = largestRadius * (1 + margin);
90
+ return { minX: -half, minY: -half, spanX: half * 2, spanY: half * 2 };
91
+ }
92
+ if (areaBounds === null) return null;
93
+ const side = Math.max(areaBounds.spanX, areaBounds.spanY) * (1 + margin) || 1;
94
+ const cx = areaBounds.minX + areaBounds.spanX / 2;
95
+ const cy = areaBounds.minY + areaBounds.spanY / 2;
96
+ return { minX: cx - side / 2, minY: cy - side / 2, spanX: side, spanY: side };
97
+ }
98
+
99
+ /** Do two boxes overlap? Used to skip areas wholly outside the view. */
100
+ export function boxesOverlap(a: PlaneBox, b: PlaneBox): boolean {
101
+ return (
102
+ a.minX <= b.minX + b.spanX &&
103
+ b.minX <= a.minX + a.spanX &&
104
+ a.minY <= b.minY + b.spanY &&
105
+ b.minY <= a.minY + a.spanY
106
+ );
107
+ }
108
+
109
+ /** How many of one ring's edges a ray from the point, eastward, crosses. */
110
+ function ringCrossings(ring: readonly PlanePoint[], point: PlanePoint): number {
111
+ let crossings = 0;
112
+ for (let i = 0, j = ring.length - 1; i < ring.length; j = i++) {
113
+ const a = ring[i]!;
114
+ const b = ring[j]!;
115
+ if (a.y > point.y !== b.y > point.y && point.x < ((b.x - a.x) * (point.y - a.y)) / (b.y - a.y) + a.x) {
116
+ crossings += 1;
117
+ }
118
+ }
119
+ return crossings;
120
+ }
121
+
122
+ /** Is the point inside the rings, by the even-odd rule? */
123
+ export function ringsContain(rings: readonly (readonly PlanePoint[])[], point: PlanePoint): boolean {
124
+ return rings.reduce((sum, ring) => sum + ringCrossings(ring, point), 0) % 2 === 1;
125
+ }
126
+
127
+ /** The point's distance to one ring's nearest edge. */
128
+ function ringDistance(ring: readonly PlanePoint[], point: PlanePoint): number {
129
+ let best = Infinity;
130
+ for (let i = 1; i <= ring.length; i++) {
131
+ const a = ring[i - 1]!;
132
+ const b = ring[i % ring.length]!;
133
+ const dx = b.x - a.x;
134
+ const dy = b.y - a.y;
135
+ const lengthSquared = dx * dx + dy * dy;
136
+ const t =
137
+ lengthSquared === 0
138
+ ? 0
139
+ : Math.max(0, Math.min(1, ((point.x - a.x) * dx + (point.y - a.y) * dy) / lengthSquared));
140
+ best = Math.min(best, Math.hypot(a.x + t * dx - point.x, a.y + t * dy - point.y));
141
+ }
142
+ return best;
143
+ }
144
+
145
+ /** The point's distance to the rings: 0 inside, else to the nearest edge. */
146
+ export function ringsDistance(rings: readonly (readonly PlanePoint[])[], point: PlanePoint): number {
147
+ if (ringsContain(rings, point)) return 0;
148
+ let best = Infinity;
149
+ for (const ring of rings) best = Math.min(best, ringDistance(ring, point));
150
+ return best;
151
+ }
152
+
153
+ /** An area projected once: what drawing it and hit-testing it read. */
154
+ export interface AreaGeometry {
155
+ rings: readonly (readonly PlanePoint[])[];
156
+ /** Null for an area with no points. */
157
+ bounds: PlaneBox | null;
158
+ /** Square metres of the largest ring — orders hits and draw order. */
159
+ area: number;
160
+ /** The SVG path, every ring, for `fill-rule="evenodd"`. */
161
+ path: string;
162
+ }
163
+
164
+ /** A projected area, as the hit test reads it. */
165
+ export interface PlaneRegion {
166
+ id: string;
167
+ geometry: AreaGeometry;
168
+ }
169
+
170
+ /** Is the point within `margin` of the box? */
171
+ function nearBox(box: PlaneBox, point: PlanePoint, margin: number): boolean {
172
+ return (
173
+ point.x >= box.minX - margin &&
174
+ point.x <= box.minX + box.spanX + margin &&
175
+ point.y >= box.minY - margin &&
176
+ point.y <= box.minY + box.spanY + margin
177
+ );
178
+ }
179
+
180
+ /**
181
+ * Which area a tap at this point means: the SMALLEST area within `tolerance`
182
+ * of it, the ones holding it included (distance 0).
183
+ *
184
+ * Smallest, because a fingertip is wider than a sliver: a tap that lands on a
185
+ * big area a few pixels from a 10 m strip almost always meant the strip, and
186
+ * the big one stays easy to hit everywhere else. An area in another's hole is
187
+ * smaller than the one around it, so it wins too. Nothing within the
188
+ * tolerance — empty map — is nothing: a tap there is not a guess. Areas whose
189
+ * box is not near the point are skipped before any ray is cast.
190
+ */
191
+ export function hitRegion(
192
+ regions: readonly PlaneRegion[],
193
+ point: PlanePoint,
194
+ tolerance: number,
195
+ ): string | null {
196
+ let best: { id: string; area: number; distance: number } | null = null;
197
+ for (const { id, geometry } of regions) {
198
+ const distance = reach(geometry, point, tolerance);
199
+ if (distance !== null && beats(geometry.area, distance, best)) {
200
+ best = { id, area: geometry.area, distance };
201
+ }
202
+ }
203
+ return best?.id ?? null;
204
+ }
205
+
206
+ /** The point's distance to the area, or null when it is beyond the tolerance. */
207
+ function reach(geometry: AreaGeometry, point: PlanePoint, tolerance: number): number | null {
208
+ if (geometry.bounds === null || !nearBox(geometry.bounds, point, tolerance)) return null;
209
+ const distance = ringsDistance(geometry.rings, point);
210
+ return distance <= tolerance ? distance : null;
211
+ }
212
+
213
+ /** Smaller wins; between two the same size, the nearer. */
214
+ function beats(area: number, distance: number, best: { area: number; distance: number } | null): boolean {
215
+ if (best === null || area < best.area) return true;
216
+ return area === best.area && distance < best.distance;
217
+ }
218
+
219
+ /** Signed area and centroid of one ring (shoelace). */
220
+ function ringCentroid(ring: readonly PlanePoint[]): { area: number; x: number; y: number } {
221
+ let area = 0;
222
+ let cx = 0;
223
+ let cy = 0;
224
+ for (let i = 0, j = ring.length - 1; i < ring.length; j = i++) {
225
+ const a = ring[j]!;
226
+ const b = ring[i]!;
227
+ const cross = a.x * b.y - b.x * a.y;
228
+ area += cross;
229
+ cx += (a.x + b.x) * cross;
230
+ cy += (a.y + b.y) * cross;
231
+ }
232
+ area /= 2;
233
+ if (area === 0) return { area: 0, x: ring[0]?.x ?? 0, y: ring[0]?.y ?? 0 };
234
+ return { area, x: cx / (6 * area), y: cy / (6 * area) };
235
+ }
236
+
237
+ /**
238
+ * The area's size in square metres, read from its LARGEST ring. Rough on
239
+ * purpose — holes and second parts are ignored — because it only orders
240
+ * things: which of two areas holding a tap is the smaller, and which is drawn
241
+ * first so a small one is never painted over by its neighbour.
242
+ */
243
+ export function planeArea(rings: readonly (readonly PlanePoint[])[]): number {
244
+ let largest = 0;
245
+ for (const ring of rings) largest = Math.max(largest, Math.abs(ringCentroid(ring).area));
246
+ return largest;
247
+ }
248
+
249
+ /**
250
+ * Where an area's label goes: the centroid of its largest ring, pulled back
251
+ * inside the view, as fractions of the view (0..1) — the label is HTML laid
252
+ * over the drawing, so its type stays the theme's size at every width.
253
+ */
254
+ export function labelPosition(
255
+ rings: readonly (readonly PlanePoint[])[],
256
+ view: PlaneBox,
257
+ inset = 0.04,
258
+ ): { fractionX: number; fractionY: number } {
259
+ const largest = rings
260
+ .map(ringCentroid)
261
+ .reduce((a, b) => (Math.abs(b.area) > Math.abs(a.area) ? b : a), { area: 0, x: 0, y: 0 });
262
+ const clamp = (value: number): number => Math.min(1 - inset, Math.max(inset, value));
263
+ return {
264
+ fractionX: clamp((largest.x - view.minX) / view.spanX),
265
+ fractionY: clamp((largest.y - view.minY) / view.spanY),
266
+ };
267
+ }
268
+
269
+ /** Every ring of an area, projected. */
270
+ export function projectRings(rings: readonly RegionMapRing[], projection: Projection): PlanePoint[][] {
271
+ return rings.map((ring) => ring.map(projection.project));
272
+ }
273
+
274
+ /** One area's geometry, projected and pathed. */
275
+ export function areaGeometry(rings: readonly RegionMapRing[], projection: Projection): AreaGeometry {
276
+ const plane = projectRings(rings, projection);
277
+ return { rings: plane, bounds: planeBounds(plane), area: planeArea(plane), path: regionPath(plane) };
278
+ }
279
+
280
+ /**
281
+ * A cache of geometry per `rings` IDENTITY, for one projection. A host that
282
+ * re-creates its region objects on every toggle (`{ ...area, excluded }`)
283
+ * keeps the same `rings` arrays, so a tap re-projects nothing.
284
+ */
285
+ export function geometryCache(projection: Projection): (rings: readonly RegionMapRing[]) => AreaGeometry {
286
+ const cache = new WeakMap<readonly RegionMapRing[], AreaGeometry>();
287
+ return (rings) => {
288
+ let geometry = cache.get(rings);
289
+ if (geometry === undefined) {
290
+ geometry = areaGeometry(rings, projection);
291
+ cache.set(rings, geometry);
292
+ }
293
+ return geometry;
294
+ };
295
+ }
296
+
297
+ /** An area as the drawing reads it. */
298
+ export type DrawnRegion = RegionMapRegion & { geometry: AreaGeometry };
299
+
300
+ /** The areas worth drawing — any part in the view — largest first. */
301
+ export function drawOrder(
302
+ regions: readonly RegionMapRegion[],
303
+ geometryOf: (rings: readonly RegionMapRing[]) => AreaGeometry,
304
+ view: PlaneBox,
305
+ ): DrawnRegion[] {
306
+ return regions
307
+ .map((region) => ({ ...region, geometry: geometryOf(region.rings) }))
308
+ .filter(({ geometry }) => geometry.bounds !== null && boxesOverlap(geometry.bounds, view))
309
+ .sort((a, b) => b.geometry.area - a.geometry.area);
310
+ }
311
+
312
+ /**
313
+ * A Google encoded polyline into `[latitude, longitude]` points, at 1e-5 — the
314
+ * compact form an outline usually travels in. Product-free, so it lives here.
315
+ */
316
+ export function decodePolyline(encoded: string, precision = 1e5): RegionMapPoint[] {
317
+ const points: RegionMapPoint[] = [];
318
+ let index = 0;
319
+ let lat = 0;
320
+ let lng = 0;
321
+ const next = (): number => {
322
+ let shift = 0;
323
+ let result = 0;
324
+ let byte: number;
325
+ do {
326
+ byte = encoded.charCodeAt(index++) - 63;
327
+ result |= (byte & 0x1f) << shift;
328
+ shift += 5;
329
+ } while (byte >= 0x20);
330
+ return result & 1 ? ~(result >> 1) : result >> 1;
331
+ };
332
+ while (index < encoded.length) {
333
+ lat += next();
334
+ lng += next();
335
+ points.push([lat / precision, lng / precision]);
336
+ }
337
+ return points;
338
+ }