@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,197 @@
1
+ // src/components/data-display/RegionMap/RegionMap.helpers.ts
2
+ var METRES_PER_DEGREE = 111195;
3
+ function projectionAt(center) {
4
+ const kx = METRES_PER_DEGREE * Math.cos(center.latitude * Math.PI / 180);
5
+ return {
6
+ project: ([latitude, longitude]) => ({
7
+ x: (longitude - center.longitude) * kx,
8
+ y: -(latitude - center.latitude) * METRES_PER_DEGREE
9
+ })
10
+ };
11
+ }
12
+ function ringPath(ring) {
13
+ if (ring.length === 0) return "";
14
+ const [first, ...rest] = ring;
15
+ return `M${first.x.toFixed(1)} ${first.y.toFixed(1)}${rest.map((p) => `L${p.x.toFixed(1)} ${p.y.toFixed(1)}`).join("")}Z`;
16
+ }
17
+ function regionPath(rings) {
18
+ return rings.map(ringPath).join("");
19
+ }
20
+ function extent(values) {
21
+ let min = Infinity;
22
+ let max = -Infinity;
23
+ for (const value of values) {
24
+ if (value < min) min = value;
25
+ if (value > max) max = value;
26
+ }
27
+ return min === Infinity ? null : { min, max };
28
+ }
29
+ function planeBounds(rings) {
30
+ const points = rings.flat();
31
+ const xs = extent(points.map((p) => p.x));
32
+ const ys = extent(points.map((p) => p.y));
33
+ if (xs === null || ys === null) return null;
34
+ return { minX: xs.min, minY: ys.min, spanX: xs.max - xs.min, spanY: ys.max - ys.min };
35
+ }
36
+ function viewBoxFor(largestRadius, areaBounds, margin = 0.12) {
37
+ if (largestRadius !== null && largestRadius > 0) {
38
+ const half = largestRadius * (1 + margin);
39
+ return { minX: -half, minY: -half, spanX: half * 2, spanY: half * 2 };
40
+ }
41
+ if (areaBounds === null) return null;
42
+ const side = Math.max(areaBounds.spanX, areaBounds.spanY) * (1 + margin) || 1;
43
+ const cx = areaBounds.minX + areaBounds.spanX / 2;
44
+ const cy = areaBounds.minY + areaBounds.spanY / 2;
45
+ return { minX: cx - side / 2, minY: cy - side / 2, spanX: side, spanY: side };
46
+ }
47
+ function boxesOverlap(a, b) {
48
+ return a.minX <= b.minX + b.spanX && b.minX <= a.minX + a.spanX && a.minY <= b.minY + b.spanY && b.minY <= a.minY + a.spanY;
49
+ }
50
+ function ringCrossings(ring, point) {
51
+ let crossings = 0;
52
+ for (let i = 0, j = ring.length - 1; i < ring.length; j = i++) {
53
+ const a = ring[i];
54
+ const b = ring[j];
55
+ 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) {
56
+ crossings += 1;
57
+ }
58
+ }
59
+ return crossings;
60
+ }
61
+ function ringsContain(rings, point) {
62
+ return rings.reduce((sum, ring) => sum + ringCrossings(ring, point), 0) % 2 === 1;
63
+ }
64
+ function ringDistance(ring, point) {
65
+ let best = Infinity;
66
+ for (let i = 1; i <= ring.length; i++) {
67
+ const a = ring[i - 1];
68
+ const b = ring[i % ring.length];
69
+ const dx = b.x - a.x;
70
+ const dy = b.y - a.y;
71
+ const lengthSquared = dx * dx + dy * dy;
72
+ const t = lengthSquared === 0 ? 0 : Math.max(0, Math.min(1, ((point.x - a.x) * dx + (point.y - a.y) * dy) / lengthSquared));
73
+ best = Math.min(best, Math.hypot(a.x + t * dx - point.x, a.y + t * dy - point.y));
74
+ }
75
+ return best;
76
+ }
77
+ function ringsDistance(rings, point) {
78
+ if (ringsContain(rings, point)) return 0;
79
+ let best = Infinity;
80
+ for (const ring of rings) best = Math.min(best, ringDistance(ring, point));
81
+ return best;
82
+ }
83
+ function nearBox(box, point, margin) {
84
+ return point.x >= box.minX - margin && point.x <= box.minX + box.spanX + margin && point.y >= box.minY - margin && point.y <= box.minY + box.spanY + margin;
85
+ }
86
+ function hitRegion(regions, point, tolerance) {
87
+ let best = null;
88
+ for (const { id, geometry } of regions) {
89
+ const distance = reach(geometry, point, tolerance);
90
+ if (distance !== null && beats(geometry.area, distance, best)) {
91
+ best = { id, area: geometry.area, distance };
92
+ }
93
+ }
94
+ return best?.id ?? null;
95
+ }
96
+ function reach(geometry, point, tolerance) {
97
+ if (geometry.bounds === null || !nearBox(geometry.bounds, point, tolerance)) return null;
98
+ const distance = ringsDistance(geometry.rings, point);
99
+ return distance <= tolerance ? distance : null;
100
+ }
101
+ function beats(area, distance, best) {
102
+ if (best === null || area < best.area) return true;
103
+ return area === best.area && distance < best.distance;
104
+ }
105
+ function ringCentroid(ring) {
106
+ let area = 0;
107
+ let cx = 0;
108
+ let cy = 0;
109
+ for (let i = 0, j = ring.length - 1; i < ring.length; j = i++) {
110
+ const a = ring[j];
111
+ const b = ring[i];
112
+ const cross = a.x * b.y - b.x * a.y;
113
+ area += cross;
114
+ cx += (a.x + b.x) * cross;
115
+ cy += (a.y + b.y) * cross;
116
+ }
117
+ area /= 2;
118
+ if (area === 0) return { area: 0, x: ring[0]?.x ?? 0, y: ring[0]?.y ?? 0 };
119
+ return { area, x: cx / (6 * area), y: cy / (6 * area) };
120
+ }
121
+ function planeArea(rings) {
122
+ let largest = 0;
123
+ for (const ring of rings) largest = Math.max(largest, Math.abs(ringCentroid(ring).area));
124
+ return largest;
125
+ }
126
+ function labelPosition(rings, view, inset = 0.04) {
127
+ const largest = rings.map(ringCentroid).reduce((a, b) => Math.abs(b.area) > Math.abs(a.area) ? b : a, { area: 0, x: 0, y: 0 });
128
+ const clamp = (value) => Math.min(1 - inset, Math.max(inset, value));
129
+ return {
130
+ fractionX: clamp((largest.x - view.minX) / view.spanX),
131
+ fractionY: clamp((largest.y - view.minY) / view.spanY)
132
+ };
133
+ }
134
+ function projectRings(rings, projection) {
135
+ return rings.map((ring) => ring.map(projection.project));
136
+ }
137
+ function areaGeometry(rings, projection) {
138
+ const plane = projectRings(rings, projection);
139
+ return { rings: plane, bounds: planeBounds(plane), area: planeArea(plane), path: regionPath(plane) };
140
+ }
141
+ function geometryCache(projection) {
142
+ const cache = /* @__PURE__ */ new WeakMap();
143
+ return (rings) => {
144
+ let geometry = cache.get(rings);
145
+ if (geometry === void 0) {
146
+ geometry = areaGeometry(rings, projection);
147
+ cache.set(rings, geometry);
148
+ }
149
+ return geometry;
150
+ };
151
+ }
152
+ function drawOrder(regions, geometryOf, view) {
153
+ return regions.map((region) => ({ ...region, geometry: geometryOf(region.rings) })).filter(({ geometry }) => geometry.bounds !== null && boxesOverlap(geometry.bounds, view)).sort((a, b) => b.geometry.area - a.geometry.area);
154
+ }
155
+ function decodePolyline(encoded, precision = 1e5) {
156
+ const points = [];
157
+ let index = 0;
158
+ let lat = 0;
159
+ let lng = 0;
160
+ const next = () => {
161
+ let shift = 0;
162
+ let result = 0;
163
+ let byte;
164
+ do {
165
+ byte = encoded.charCodeAt(index++) - 63;
166
+ result |= (byte & 31) << shift;
167
+ shift += 5;
168
+ } while (byte >= 32);
169
+ return result & 1 ? ~(result >> 1) : result >> 1;
170
+ };
171
+ while (index < encoded.length) {
172
+ lat += next();
173
+ lng += next();
174
+ points.push([lat / precision, lng / precision]);
175
+ }
176
+ return points;
177
+ }
178
+
179
+ export {
180
+ projectionAt,
181
+ regionPath,
182
+ extent,
183
+ planeBounds,
184
+ viewBoxFor,
185
+ boxesOverlap,
186
+ ringsContain,
187
+ ringsDistance,
188
+ hitRegion,
189
+ planeArea,
190
+ labelPosition,
191
+ projectRings,
192
+ areaGeometry,
193
+ geometryCache,
194
+ drawOrder,
195
+ decodePolyline
196
+ };
197
+ //# sourceMappingURL=chunk-COOSJKZL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/RegionMap/RegionMap.helpers.ts"],"sourcesContent":["import type { RegionMapPoint, RegionMapRegion, RegionMapRing } from './RegionMap.types';\n\n/**\n * The geometry behind `RegionMap`, kept pure so it is tested without a DOM.\n *\n * Coordinates are projected to METRES on a plane around the centre\n * (equirectangular): within the tens of kilometres a map like this spans, its\n * error is far below any outline's own. `y` grows SOUTH, as SVG's does.\n */\n\n/** Metres per degree of latitude on the mean sphere. */\nconst METRES_PER_DEGREE = 111_195;\n\n/** A projected point, metres east (`x`) and south (`y`) of the centre. */\nexport interface PlanePoint {\n x: number;\n y: number;\n}\n\n/** An SVG viewBox in projected metres. */\nexport interface PlaneBox {\n /** West edge, metres east of the centre. */\n minX: number;\n /** North edge, metres south of the centre. */\n minY: number;\n /** East-west extent, metres. */\n spanX: number;\n /** North-south extent, metres. */\n spanY: number;\n}\n\nexport interface Projection {\n project: (point: RegionMapPoint) => PlanePoint;\n}\n\n/** The projection around a centre. */\nexport function projectionAt(center: { latitude: number; longitude: number }): Projection {\n const kx = METRES_PER_DEGREE * Math.cos((center.latitude * Math.PI) / 180);\n return {\n project: ([latitude, longitude]) => ({\n x: (longitude - center.longitude) * kx,\n y: -(latitude - center.latitude) * METRES_PER_DEGREE,\n }),\n };\n}\n\n/** A ring as an SVG path segment, closed. */\nfunction ringPath(ring: readonly PlanePoint[]): string {\n if (ring.length === 0) return '';\n const [first, ...rest] = ring;\n return `M${first!.x.toFixed(1)} ${first!.y.toFixed(1)}${rest.map((p) => `L${p.x.toFixed(1)} ${p.y.toFixed(1)}`).join('')}Z`;\n}\n\n/** Every ring of an area as one path, to be filled with `fill-rule=\"evenodd\"`. */\nexport function regionPath(rings: readonly (readonly PlanePoint[])[]): string {\n return rings.map(ringPath).join('');\n}\n\n/** The smallest and largest of some numbers, in one pass (no spread). */\nexport function extent(values: Iterable<number>): { min: number; max: number } | null {\n let min = Infinity;\n let max = -Infinity;\n for (const value of values) {\n if (value < min) min = value;\n if (value > max) max = value;\n }\n return min === Infinity ? null : { min, max };\n}\n\n/** The box around projected rings. */\nexport function planeBounds(rings: readonly (readonly PlanePoint[])[]): PlaneBox | null {\n const points = rings.flat();\n const xs = extent(points.map((p) => p.x));\n const ys = extent(points.map((p) => p.y));\n if (xs === null || ys === null) return null;\n return { minX: xs.min, minY: ys.min, spanX: xs.max - xs.min, spanY: ys.max - ys.min };\n}\n\n/**\n * The square the map shows: the largest circle with a margin, else every area,\n * else nothing. Square so the drawing keeps its proportions at every width.\n */\nexport function viewBoxFor(\n largestRadius: number | null,\n areaBounds: PlaneBox | null,\n margin = 0.12,\n): PlaneBox | null {\n if (largestRadius !== null && largestRadius > 0) {\n const half = largestRadius * (1 + margin);\n return { minX: -half, minY: -half, spanX: half * 2, spanY: half * 2 };\n }\n if (areaBounds === null) return null;\n const side = Math.max(areaBounds.spanX, areaBounds.spanY) * (1 + margin) || 1;\n const cx = areaBounds.minX + areaBounds.spanX / 2;\n const cy = areaBounds.minY + areaBounds.spanY / 2;\n return { minX: cx - side / 2, minY: cy - side / 2, spanX: side, spanY: side };\n}\n\n/** Do two boxes overlap? Used to skip areas wholly outside the view. */\nexport function boxesOverlap(a: PlaneBox, b: PlaneBox): boolean {\n return (\n a.minX <= b.minX + b.spanX &&\n b.minX <= a.minX + a.spanX &&\n a.minY <= b.minY + b.spanY &&\n b.minY <= a.minY + a.spanY\n );\n}\n\n/** How many of one ring's edges a ray from the point, eastward, crosses. */\nfunction ringCrossings(ring: readonly PlanePoint[], point: PlanePoint): number {\n let crossings = 0;\n for (let i = 0, j = ring.length - 1; i < ring.length; j = i++) {\n const a = ring[i]!;\n const b = ring[j]!;\n 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) {\n crossings += 1;\n }\n }\n return crossings;\n}\n\n/** Is the point inside the rings, by the even-odd rule? */\nexport function ringsContain(rings: readonly (readonly PlanePoint[])[], point: PlanePoint): boolean {\n return rings.reduce((sum, ring) => sum + ringCrossings(ring, point), 0) % 2 === 1;\n}\n\n/** The point's distance to one ring's nearest edge. */\nfunction ringDistance(ring: readonly PlanePoint[], point: PlanePoint): number {\n let best = Infinity;\n for (let i = 1; i <= ring.length; i++) {\n const a = ring[i - 1]!;\n const b = ring[i % ring.length]!;\n const dx = b.x - a.x;\n const dy = b.y - a.y;\n const lengthSquared = dx * dx + dy * dy;\n const t =\n lengthSquared === 0\n ? 0\n : Math.max(0, Math.min(1, ((point.x - a.x) * dx + (point.y - a.y) * dy) / lengthSquared));\n best = Math.min(best, Math.hypot(a.x + t * dx - point.x, a.y + t * dy - point.y));\n }\n return best;\n}\n\n/** The point's distance to the rings: 0 inside, else to the nearest edge. */\nexport function ringsDistance(rings: readonly (readonly PlanePoint[])[], point: PlanePoint): number {\n if (ringsContain(rings, point)) return 0;\n let best = Infinity;\n for (const ring of rings) best = Math.min(best, ringDistance(ring, point));\n return best;\n}\n\n/** An area projected once: what drawing it and hit-testing it read. */\nexport interface AreaGeometry {\n rings: readonly (readonly PlanePoint[])[];\n /** Null for an area with no points. */\n bounds: PlaneBox | null;\n /** Square metres of the largest ring — orders hits and draw order. */\n area: number;\n /** The SVG path, every ring, for `fill-rule=\"evenodd\"`. */\n path: string;\n}\n\n/** A projected area, as the hit test reads it. */\nexport interface PlaneRegion {\n id: string;\n geometry: AreaGeometry;\n}\n\n/** Is the point within `margin` of the box? */\nfunction nearBox(box: PlaneBox, point: PlanePoint, margin: number): boolean {\n return (\n point.x >= box.minX - margin &&\n point.x <= box.minX + box.spanX + margin &&\n point.y >= box.minY - margin &&\n point.y <= box.minY + box.spanY + margin\n );\n}\n\n/**\n * Which area a tap at this point means: the SMALLEST area within `tolerance`\n * of it, the ones holding it included (distance 0).\n *\n * Smallest, because a fingertip is wider than a sliver: a tap that lands on a\n * big area a few pixels from a 10 m strip almost always meant the strip, and\n * the big one stays easy to hit everywhere else. An area in another's hole is\n * smaller than the one around it, so it wins too. Nothing within the\n * tolerance — empty map — is nothing: a tap there is not a guess. Areas whose\n * box is not near the point are skipped before any ray is cast.\n */\nexport function hitRegion(\n regions: readonly PlaneRegion[],\n point: PlanePoint,\n tolerance: number,\n): string | null {\n let best: { id: string; area: number; distance: number } | null = null;\n for (const { id, geometry } of regions) {\n const distance = reach(geometry, point, tolerance);\n if (distance !== null && beats(geometry.area, distance, best)) {\n best = { id, area: geometry.area, distance };\n }\n }\n return best?.id ?? null;\n}\n\n/** The point's distance to the area, or null when it is beyond the tolerance. */\nfunction reach(geometry: AreaGeometry, point: PlanePoint, tolerance: number): number | null {\n if (geometry.bounds === null || !nearBox(geometry.bounds, point, tolerance)) return null;\n const distance = ringsDistance(geometry.rings, point);\n return distance <= tolerance ? distance : null;\n}\n\n/** Smaller wins; between two the same size, the nearer. */\nfunction beats(area: number, distance: number, best: { area: number; distance: number } | null): boolean {\n if (best === null || area < best.area) return true;\n return area === best.area && distance < best.distance;\n}\n\n/** Signed area and centroid of one ring (shoelace). */\nfunction ringCentroid(ring: readonly PlanePoint[]): { area: number; x: number; y: number } {\n let area = 0;\n let cx = 0;\n let cy = 0;\n for (let i = 0, j = ring.length - 1; i < ring.length; j = i++) {\n const a = ring[j]!;\n const b = ring[i]!;\n const cross = a.x * b.y - b.x * a.y;\n area += cross;\n cx += (a.x + b.x) * cross;\n cy += (a.y + b.y) * cross;\n }\n area /= 2;\n if (area === 0) return { area: 0, x: ring[0]?.x ?? 0, y: ring[0]?.y ?? 0 };\n return { area, x: cx / (6 * area), y: cy / (6 * area) };\n}\n\n/**\n * The area's size in square metres, read from its LARGEST ring. Rough on\n * purpose — holes and second parts are ignored — because it only orders\n * things: which of two areas holding a tap is the smaller, and which is drawn\n * first so a small one is never painted over by its neighbour.\n */\nexport function planeArea(rings: readonly (readonly PlanePoint[])[]): number {\n let largest = 0;\n for (const ring of rings) largest = Math.max(largest, Math.abs(ringCentroid(ring).area));\n return largest;\n}\n\n/**\n * Where an area's label goes: the centroid of its largest ring, pulled back\n * inside the view, as fractions of the view (0..1) — the label is HTML laid\n * over the drawing, so its type stays the theme's size at every width.\n */\nexport function labelPosition(\n rings: readonly (readonly PlanePoint[])[],\n view: PlaneBox,\n inset = 0.04,\n): { fractionX: number; fractionY: number } {\n const largest = rings\n .map(ringCentroid)\n .reduce((a, b) => (Math.abs(b.area) > Math.abs(a.area) ? b : a), { area: 0, x: 0, y: 0 });\n const clamp = (value: number): number => Math.min(1 - inset, Math.max(inset, value));\n return {\n fractionX: clamp((largest.x - view.minX) / view.spanX),\n fractionY: clamp((largest.y - view.minY) / view.spanY),\n };\n}\n\n/** Every ring of an area, projected. */\nexport function projectRings(rings: readonly RegionMapRing[], projection: Projection): PlanePoint[][] {\n return rings.map((ring) => ring.map(projection.project));\n}\n\n/** One area's geometry, projected and pathed. */\nexport function areaGeometry(rings: readonly RegionMapRing[], projection: Projection): AreaGeometry {\n const plane = projectRings(rings, projection);\n return { rings: plane, bounds: planeBounds(plane), area: planeArea(plane), path: regionPath(plane) };\n}\n\n/**\n * A cache of geometry per `rings` IDENTITY, for one projection. A host that\n * re-creates its region objects on every toggle (`{ ...area, excluded }`)\n * keeps the same `rings` arrays, so a tap re-projects nothing.\n */\nexport function geometryCache(projection: Projection): (rings: readonly RegionMapRing[]) => AreaGeometry {\n const cache = new WeakMap<readonly RegionMapRing[], AreaGeometry>();\n return (rings) => {\n let geometry = cache.get(rings);\n if (geometry === undefined) {\n geometry = areaGeometry(rings, projection);\n cache.set(rings, geometry);\n }\n return geometry;\n };\n}\n\n/** An area as the drawing reads it. */\nexport type DrawnRegion = RegionMapRegion & { geometry: AreaGeometry };\n\n/** The areas worth drawing — any part in the view — largest first. */\nexport function drawOrder(\n regions: readonly RegionMapRegion[],\n geometryOf: (rings: readonly RegionMapRing[]) => AreaGeometry,\n view: PlaneBox,\n): DrawnRegion[] {\n return regions\n .map((region) => ({ ...region, geometry: geometryOf(region.rings) }))\n .filter(({ geometry }) => geometry.bounds !== null && boxesOverlap(geometry.bounds, view))\n .sort((a, b) => b.geometry.area - a.geometry.area);\n}\n\n/**\n * A Google encoded polyline into `[latitude, longitude]` points, at 1e-5 — the\n * compact form an outline usually travels in. Product-free, so it lives here.\n */\nexport function decodePolyline(encoded: string, precision = 1e5): RegionMapPoint[] {\n const points: RegionMapPoint[] = [];\n let index = 0;\n let lat = 0;\n let lng = 0;\n const next = (): number => {\n let shift = 0;\n let result = 0;\n let byte: number;\n do {\n byte = encoded.charCodeAt(index++) - 63;\n result |= (byte & 0x1f) << shift;\n shift += 5;\n } while (byte >= 0x20);\n return result & 1 ? ~(result >> 1) : result >> 1;\n };\n while (index < encoded.length) {\n lat += next();\n lng += next();\n points.push([lat / precision, lng / precision]);\n }\n return points;\n}\n"],"mappings":"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","names":[]}
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-WEBEOBN5.js";
11
11
  import {
12
12
  Button
13
- } from "./chunk-OKDAHCYE.js";
13
+ } from "./chunk-HJJR2WGL.js";
14
14
  import {
15
15
  Text
16
16
  } from "./chunk-AJBRO76D.js";
@@ -69,4 +69,4 @@ function DeleteViewDialog({
69
69
  export {
70
70
  DeleteViewDialog
71
71
  };
72
- //# sourceMappingURL=chunk-TPAMLIN7.js.map
72
+ //# sourceMappingURL=chunk-CPZGFIFH.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-H2J2MTRE.js";
4
4
  import {
5
5
  EN_US_MAP_PREVIEW_COPY
6
- } from "./chunk-I5NTADBO.js";
6
+ } from "./chunk-FEKWKWGK.js";
7
7
  import {
8
8
  rem
9
9
  } from "./chunk-YKCAJ2TN.js";
@@ -46,4 +46,4 @@ export {
46
46
  resolveMapPreviewProps,
47
47
  glassStyles
48
48
  };
49
- //# sourceMappingURL=chunk-UIWVSZ6I.js.map
49
+ //# sourceMappingURL=chunk-CSGBHYW6.js.map
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-KHG57NAE.js";
18
18
  import {
19
19
  Checkbox
20
- } from "./chunk-FLJ3RIRP.js";
20
+ } from "./chunk-VEKTKCSB.js";
21
21
  import {
22
22
  default as default2
23
23
  } from "./chunk-6DPAWXZ3.js";
@@ -268,4 +268,4 @@ function BaseCard(props) {
268
268
  export {
269
269
  BaseCard
270
270
  };
271
- //# sourceMappingURL=chunk-JW7MN4DG.js.map
271
+ //# sourceMappingURL=chunk-D34PZJH3.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  fieldControlStyles,
3
3
  fieldTextFieldStyles
4
- } from "./chunk-QQHZBJMU.js";
5
- import {
6
- fieldEdge
7
- } from "./chunk-7ZADLRLP.js";
4
+ } from "./chunk-RGVNXES5.js";
8
5
  import {
9
6
  fieldRadius
10
7
  } from "./chunk-GDN2LUTZ.js";
8
+ import {
9
+ fieldEdge
10
+ } from "./chunk-7ZADLRLP.js";
11
11
  import {
12
12
  rem
13
13
  } from "./chunk-YKCAJ2TN.js";
@@ -44,4 +44,4 @@ var AddressTextField = ({ addressVariant, ...props }) => addressVariant === "gla
44
44
  export {
45
45
  AddressTextField
46
46
  };
47
- //# sourceMappingURL=chunk-WT7VZDTI.js.map
47
+ //# sourceMappingURL=chunk-DDNUPFPE.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ useSheetDrag,
3
+ useSheetOpen
4
+ } from "./chunk-LYVTJLCF.js";
1
5
  import {
2
6
  SheetBody
3
7
  } from "./chunk-E5OBAS3U.js";
@@ -7,10 +11,6 @@ import {
7
11
  import {
8
12
  SheetOverlay
9
13
  } from "./chunk-NASLJO2R.js";
10
- import {
11
- useSheetDrag,
12
- useSheetOpen
13
- } from "./chunk-LYVTJLCF.js";
14
14
  import {
15
15
  DEFAULT_DRAG_RESISTANCE,
16
16
  DEFAULT_VELOCITY_THRESHOLD,
@@ -143,4 +143,4 @@ var Sheet = (props) => {
143
143
  export {
144
144
  Sheet
145
145
  };
146
- //# sourceMappingURL=chunk-LZ5PGB7U.js.map
146
+ //# sourceMappingURL=chunk-DYRZRY2T.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-6DPAWXZ3.js";
7
7
  import {
8
8
  Button
9
- } from "./chunk-OKDAHCYE.js";
9
+ } from "./chunk-HJJR2WGL.js";
10
10
  import {
11
11
  Text
12
12
  } from "./chunk-AJBRO76D.js";
@@ -297,4 +297,4 @@ export {
297
297
  ViewHeader,
298
298
  ViewFooter
299
299
  };
300
- //# sourceMappingURL=chunk-73BMQ3VC.js.map
300
+ //# sourceMappingURL=chunk-ENJOBJPK.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4GGH6ZQ7.js";
4
4
  import {
5
5
  Box
6
- } from "./chunk-CO7GH3W7.js";
6
+ } from "./chunk-YWXCLPCX.js";
7
7
 
8
8
  // src/components/layout/Stack/Stack.tsx
9
9
  import * as React from "react";
@@ -16,4 +16,4 @@ Stack.displayName = "Stack";
16
16
  export {
17
17
  Stack
18
18
  };
19
- //# sourceMappingURL=chunk-U36BXXQ7.js.map
19
+ //# sourceMappingURL=chunk-EP3DRILI.js.map
@@ -10,7 +10,7 @@ import {
10
10
  ViewFooter,
11
11
  ViewHeader,
12
12
  ViewsList
13
- } from "./chunk-73BMQ3VC.js";
13
+ } from "./chunk-ENJOBJPK.js";
14
14
  import {
15
15
  useDataViewsCopy
16
16
  } from "./chunk-KHG57NAE.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-6DPAWXZ3.js";
20
20
  import {
21
21
  Button
22
- } from "./chunk-OKDAHCYE.js";
22
+ } from "./chunk-HJJR2WGL.js";
23
23
  import {
24
24
  rem,
25
25
  sxRem
@@ -265,4 +265,4 @@ function DataViewsDisplayPanel({
265
265
  export {
266
266
  DataViewsDisplayPanel
267
267
  };
268
- //# sourceMappingURL=chunk-W2JYXZC2.js.map
268
+ //# sourceMappingURL=chunk-FCLON3MO.js.map
@@ -1,11 +1,11 @@
1
- import {
2
- EN_US_TABLE_FILTER_COPY
3
- } from "./chunk-AA2X5GOT.js";
4
1
  import {
5
2
  EN_US_CATEGORY_SELECT_COPY,
6
3
  EN_US_CONFIRM_ACTION_COPY,
7
4
  EN_US_SAVED_VIEWS_LABELS
8
5
  } from "./chunk-PZS7N74L.js";
6
+ import {
7
+ EN_US_TABLE_FILTER_COPY
8
+ } from "./chunk-AA2X5GOT.js";
9
9
 
10
10
  // src/en-US.data-display.ts
11
11
  var EN_US_LIGHTBOX_COPY = {
@@ -271,4 +271,4 @@ export {
271
271
  EN_US_DATA_STATE_COPY,
272
272
  EN_US_DATA_VIEWS_COPY
273
273
  };
274
- //# sourceMappingURL=chunk-I5NTADBO.js.map
274
+ //# sourceMappingURL=chunk-FEKWKWGK.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fieldTextFieldStyles
3
- } from "./chunk-QQHZBJMU.js";
3
+ } from "./chunk-RGVNXES5.js";
4
4
  import {
5
5
  sxRem
6
6
  } from "./chunk-YKCAJ2TN.js";
@@ -75,4 +75,4 @@ export {
75
75
  formatPtBrNumber,
76
76
  NumberBoundInput
77
77
  };
78
- //# sourceMappingURL=chunk-33MMQHYU.js.map
78
+ //# sourceMappingURL=chunk-FJ3UZ4RC.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-XOXXG7Q5.js";
8
8
  import {
9
9
  fieldTextFieldStyles
10
- } from "./chunk-QQHZBJMU.js";
10
+ } from "./chunk-RGVNXES5.js";
11
11
  import {
12
12
  sxRem
13
13
  } from "./chunk-YKCAJ2TN.js";
@@ -329,4 +329,4 @@ TableFilter.RangeField = TableFilterRangeField;
329
329
  export {
330
330
  TableFilter
331
331
  };
332
- //# sourceMappingURL=chunk-LNIK7FJO.js.map
332
+ //# sourceMappingURL=chunk-FORQEHRQ.js.map
@@ -1,11 +1,11 @@
1
- import {
2
- countries
3
- } from "./chunk-RQY5ONSF.js";
4
1
  import {
5
2
  detectCountryFromNumber,
6
3
  formatPhoneNumber,
7
4
  validatePhoneNumber
8
5
  } from "./chunk-5P6OV64V.js";
6
+ import {
7
+ countries
8
+ } from "./chunk-RQY5ONSF.js";
9
9
 
10
10
  // src/components/form/PhoneInput/PhoneInput.hooks.ts
11
11
  import { useEffect, useRef, useState } from "react";
@@ -105,4 +105,4 @@ var usePhoneHandlers = ({
105
105
  export {
106
106
  usePhoneInput
107
107
  };
108
- //# sourceMappingURL=chunk-N3W6FZOC.js.map
108
+ //# sourceMappingURL=chunk-FQGPYP2M.js.map
@@ -1,10 +1,10 @@
1
- import {
2
- transitionFor
3
- } from "./chunk-N7GE6BGM.js";
4
1
  import {
5
2
  backdropSx,
6
3
  panelSx
7
4
  } from "./chunk-33XGVCAF.js";
5
+ import {
6
+ transitionFor
7
+ } from "./chunk-N7GE6BGM.js";
8
8
  import {
9
9
  withDefaults
10
10
  } from "./chunk-HPK33ACY.js";
@@ -83,4 +83,4 @@ export {
83
83
  Modal,
84
84
  ModalContent
85
85
  };
86
- //# sourceMappingURL=chunk-MAHY7PK3.js.map
86
+ //# sourceMappingURL=chunk-FQMLTCXT.js.map
@@ -5,16 +5,16 @@ import {
5
5
  PickerSheetHead,
6
6
  PickerSheetList,
7
7
  PickerSheetSearch
8
- } from "./chunk-TNDTEI6D.js";
8
+ } from "./chunk-IDRVQVDL.js";
9
9
  import {
10
10
  bodySx,
11
11
  dialogPaperSx,
12
12
  footSx,
13
13
  sheetPaperSx
14
- } from "./chunk-DRJL3JHR.js";
14
+ } from "./chunk-LZJHHMOF.js";
15
15
  import {
16
16
  METRICS
17
- } from "./chunk-AKBL7S7A.js";
17
+ } from "./chunk-VPGDYI63.js";
18
18
  import {
19
19
  stackedOverlayZIndex
20
20
  } from "./chunk-MFU4Y25U.js";
@@ -125,4 +125,4 @@ function PickerSheet(props) {
125
125
  export {
126
126
  PickerSheet
127
127
  };
128
- //# sourceMappingURL=chunk-BDJIP4HG.js.map
128
+ //# sourceMappingURL=chunk-FRUDRDJX.js.map
@@ -6,7 +6,7 @@ import {
6
6
  inputRadiusStyles,
7
7
  outlinedStyles,
8
8
  pulseStyles
9
- } from "./chunk-4AJY7HMH.js";
9
+ } from "./chunk-PD7MKJCM.js";
10
10
  import {
11
11
  INPUT_LOADING,
12
12
  SIZE_MAP,
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-TYJR4GOF.js";
18
18
  import {
19
19
  fieldControlStyles
20
- } from "./chunk-QQHZBJMU.js";
20
+ } from "./chunk-RGVNXES5.js";
21
21
  import {
22
22
  rem
23
23
  } from "./chunk-YKCAJ2TN.js";
@@ -140,4 +140,4 @@ function createInput(TextField) {
140
140
  export {
141
141
  createInput
142
142
  };
143
- //# sourceMappingURL=chunk-MO4FFK62.js.map
143
+ //# sourceMappingURL=chunk-FXECKKPW.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-KHG57NAE.js";
4
4
  import {
5
5
  createConfirmButton
6
- } from "./chunk-PEMXXFXL.js";
6
+ } from "./chunk-XQJPR57I.js";
7
7
  import {
8
8
  Dialog,
9
9
  DialogContent
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-WEBEOBN5.js";
17
17
  import {
18
18
  Button
19
- } from "./chunk-OKDAHCYE.js";
19
+ } from "./chunk-HJJR2WGL.js";
20
20
  import {
21
21
  Text
22
22
  } from "./chunk-AJBRO76D.js";
@@ -128,4 +128,4 @@ function ManageViewsDialog({
128
128
  export {
129
129
  ManageViewsDialog
130
130
  };
131
- //# sourceMappingURL=chunk-UWVVKUCG.js.map
131
+ //# sourceMappingURL=chunk-FZEDQNUN.js.map
@@ -3,7 +3,7 @@ import {
3
3
  triggerClearSx,
4
4
  triggerCountSx,
5
5
  triggerSx
6
- } from "./chunk-AKBL7S7A.js";
6
+ } from "./chunk-VPGDYI63.js";
7
7
  import {
8
8
  CaretGlyph
9
9
  } from "./chunk-DMNZD3Q7.js";
@@ -93,4 +93,4 @@ function CategoryTrigger({
93
93
  export {
94
94
  CategoryTrigger
95
95
  };
96
- //# sourceMappingURL=chunk-YASSCBWN.js.map
96
+ //# sourceMappingURL=chunk-GHP5JLL3.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-6DPAWXZ3.js";
7
7
  import {
8
8
  Button
9
- } from "./chunk-OKDAHCYE.js";
9
+ } from "./chunk-HJJR2WGL.js";
10
10
  import {
11
11
  Text
12
12
  } from "./chunk-AJBRO76D.js";
@@ -85,4 +85,4 @@ function SelectAllStrip({
85
85
  export {
86
86
  SelectAllStrip
87
87
  };
88
- //# sourceMappingURL=chunk-3S352ZSG.js.map
88
+ //# sourceMappingURL=chunk-GLR5MSU3.js.map
@@ -0,0 +1,80 @@
1
+ import {
2
+ drawOrder,
3
+ extent,
4
+ geometryCache,
5
+ hitRegion,
6
+ projectionAt,
7
+ viewBoxFor
8
+ } from "./chunk-COOSJKZL.js";
9
+
10
+ // src/components/data-display/RegionMap/RegionMap.hooks.ts
11
+ import React from "react";
12
+ var TOLERANCE_SHARE = 1 / 45;
13
+ function centreOf(regions) {
14
+ const points = regions.flatMap((r) => r.rings.flat());
15
+ const lats = extent(points.map(([lat]) => lat));
16
+ const lngs = extent(points.map(([, lng]) => lng));
17
+ if (lats === null || lngs === null) return null;
18
+ return { latitude: (lats.min + lats.max) / 2, longitude: (lngs.min + lngs.max) / 2 };
19
+ }
20
+ function svgPoint(event) {
21
+ const svg = event.currentTarget;
22
+ const matrix = typeof svg.getScreenCTM === "function" ? svg.getScreenCTM() : null;
23
+ if (!matrix || typeof DOMPoint === "undefined") return null;
24
+ const point = new DOMPoint(event.clientX, event.clientY).matrixTransform(matrix.inverse());
25
+ return { x: point.x, y: point.y };
26
+ }
27
+ function viewOf(outermostMetres, drawable) {
28
+ if (outermostMetres !== null) return viewBoxFor(outermostMetres, null);
29
+ const boxes = drawable().filter((box) => box !== null);
30
+ const xs = extent(boxes.flatMap((b) => [b.minX, b.minX + b.spanX]));
31
+ const ys = extent(boxes.flatMap((b) => [b.minY, b.minY + b.spanY]));
32
+ if (xs === null || ys === null) return null;
33
+ return viewBoxFor(null, { minX: xs.min, minY: ys.min, spanX: xs.max - xs.min, spanY: ys.max - ys.min });
34
+ }
35
+ function tappedRegion(event, pointer, drawn, view) {
36
+ const targetId = event.target.getAttribute("data-region-id");
37
+ if (pointer === "mouse" && targetId) return targetId;
38
+ const point = svgPoint(event);
39
+ if (point === null) return targetId;
40
+ return hitRegion(
41
+ drawn.map((d) => ({ id: d.id, geometry: d.geometry })),
42
+ point,
43
+ view.spanX * TOLERANCE_SHARE
44
+ );
45
+ }
46
+ function useGeometry(origin) {
47
+ const lat = origin?.latitude ?? null;
48
+ const lng = origin?.longitude ?? null;
49
+ return React.useMemo(
50
+ () => lat === null || lng === null ? null : geometryCache(projectionAt({ latitude: lat, longitude: lng })),
51
+ [lat, lng]
52
+ );
53
+ }
54
+ function useRegionMap({
55
+ regions,
56
+ center,
57
+ circles = [],
58
+ onToggle
59
+ }) {
60
+ const geometryOf = useGeometry(center ?? centreOf(regions));
61
+ const radii = circles.map((c) => c.radiusMetres);
62
+ const outermostMetres = extent(radii)?.max ?? null;
63
+ const view = geometryOf === null ? null : viewOf(outermostMetres, () => regions.map((r) => geometryOf(r.rings).bounds));
64
+ const drawn = geometryOf && view ? drawOrder(regions, geometryOf, view) : [];
65
+ const pointerType = React.useRef("mouse");
66
+ const onPointerDown = (event) => {
67
+ pointerType.current = event.pointerType || "mouse";
68
+ };
69
+ const onClick = (event) => {
70
+ if (!onToggle || view === null) return;
71
+ const hit = tappedRegion(event, pointerType.current, drawn, view);
72
+ if (hit) onToggle(hit);
73
+ };
74
+ return { view, drawn, radii, outermostMetres, onPointerDown, onClick };
75
+ }
76
+
77
+ export {
78
+ useRegionMap
79
+ };
80
+ //# sourceMappingURL=chunk-GMRQPNG3.js.map