@12-apps/ui 6.83.0 → 6.85.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 (780) 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/Avatar/Avatar.js +3 -3
  6. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  7. package/dist/_internal/components/data-display/Badge/Badge.js +3 -3
  8. package/dist/_internal/components/data-display/Badge/Badge.styles.js +3 -3
  9. package/dist/_internal/components/data-display/Badge/BadgeContent.js +3 -3
  10. package/dist/_internal/components/data-display/CardKit/CardKebab.js +5 -5
  11. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
  12. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +9 -9
  13. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +5 -5
  14. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +7 -7
  15. package/dist/_internal/components/data-display/Carousel/Carousel.js +11 -11
  16. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +6 -6
  17. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +3 -3
  18. package/dist/_internal/components/data-display/Chart/Chart.js +6 -6
  19. package/dist/_internal/components/data-display/Chart/SpecChart.js +10 -10
  20. package/dist/_internal/components/data-display/Chart/chart-context.js +3 -3
  21. package/dist/_internal/components/data-display/Chart/chart-internals.js +3 -3
  22. package/dist/_internal/components/data-display/Chart/chart-renderers.js +5 -5
  23. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  24. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -3
  25. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +68 -67
  26. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +82 -81
  27. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +5 -5
  28. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +6 -6
  29. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +8 -8
  30. package/dist/_internal/components/data-display/DataViews/base-card.js +3 -3
  31. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
  32. package/dist/_internal/components/data-display/DataViews/base-list-card.js +5 -5
  33. package/dist/_internal/components/data-display/DataViews/data-views-bar-controls.js +3 -3
  34. package/dist/_internal/components/data-display/DataViews/data-views-card-body.js +6 -6
  35. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +19 -19
  36. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +6 -6
  37. package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +9 -5
  38. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +7 -7
  39. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +5 -5
  40. package/dist/_internal/components/data-display/DataViews/data-views-export.js +5 -5
  41. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +32 -31
  42. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +11 -11
  43. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +5 -5
  44. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +64 -63
  45. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +34 -33
  46. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +28 -27
  47. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +31 -30
  48. package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +3 -3
  49. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +5 -5
  50. package/dist/_internal/components/data-display/DataViews/data-views-quick-chip.js +3 -3
  51. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +8 -7
  52. package/dist/_internal/components/data-display/DataViews/data-views-range-reset.js +9 -0
  53. package/dist/_internal/components/data-display/DataViews/data-views-search.js +3 -3
  54. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +5 -5
  55. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +18 -18
  56. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +20 -20
  57. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +17 -17
  58. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +5 -5
  59. package/dist/_internal/components/data-display/DataViews/data-views-writers.js +3 -1
  60. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +8 -8
  61. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +22 -22
  62. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +17 -17
  63. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +2 -2
  64. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +24 -24
  65. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +4 -4
  66. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +5 -5
  67. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +6 -6
  68. package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +2 -2
  69. package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +3 -3
  70. package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +2 -2
  71. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -3
  72. package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +4 -4
  73. package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +2 -2
  74. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +8 -8
  75. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +4 -4
  76. package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +3 -3
  77. package/dist/_internal/components/data-display/MapPreview/MapPreview.hooks.js +2 -2
  78. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +16 -16
  79. package/dist/_internal/components/data-display/MapPreview/MapSearchBar.js +3 -3
  80. package/dist/_internal/components/data-display/MapPreview/MapTiles.js +2 -2
  81. package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +4 -4
  82. package/dist/_internal/components/data-display/MapPreview/useMapPreview.js +3 -3
  83. package/dist/_internal/components/data-display/Progress/Progress.js +2 -2
  84. package/dist/_internal/components/data-display/RegionMap/RegionMap.fixtures.js +51 -0
  85. package/dist/_internal/components/data-display/RegionMap/RegionMap.fixtures.js.map +1 -0
  86. package/dist/_internal/components/data-display/RegionMap/RegionMap.helpers.js +38 -0
  87. package/dist/_internal/components/data-display/RegionMap/RegionMap.helpers.js.map +1 -0
  88. package/dist/_internal/components/data-display/RegionMap/RegionMap.hooks.js +9 -0
  89. package/dist/_internal/components/data-display/RegionMap/RegionMap.hooks.js.map +1 -0
  90. package/dist/_internal/components/data-display/RegionMap/RegionMap.js +37 -0
  91. package/dist/_internal/components/data-display/RegionMap/RegionMap.js.map +1 -0
  92. package/dist/_internal/components/data-display/RegionMap/RegionMap.types.js +1 -0
  93. package/dist/_internal/components/data-display/RegionMap/RegionMap.types.js.map +1 -0
  94. package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js +10 -0
  95. package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js.map +1 -0
  96. package/dist/_internal/components/data-display/RegionMap/RegionMapLegend.js +9 -0
  97. package/dist/_internal/components/data-display/RegionMap/RegionMapLegend.js.map +1 -0
  98. package/dist/_internal/components/data-display/RegionMap/RegionMapList.js +34 -0
  99. package/dist/_internal/components/data-display/RegionMap/RegionMapList.js.map +1 -0
  100. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +3 -3
  101. package/dist/_internal/components/data-display/Sheet/Sheet.js +6 -6
  102. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +3 -3
  103. package/dist/_internal/components/data-display/StatCard/StatCard.js +3 -3
  104. package/dist/_internal/components/data-display/Table/Table.js +2 -2
  105. package/dist/_internal/components/data-display/index.js +103 -86
  106. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +5 -5
  107. package/dist/_internal/components/feedback/Modal/Modal.js +2 -2
  108. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +7 -7
  109. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +10 -10
  110. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +9 -9
  111. package/dist/_internal/components/feedback/index.js +21 -21
  112. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +8 -8
  113. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +6 -6
  114. package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +4 -4
  115. package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +4 -4
  116. package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +3 -3
  117. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +4 -4
  118. package/dist/_internal/components/form/Autocomplete/Autocomplete.parts.js +3 -3
  119. package/dist/_internal/components/form/Button/Button.js +4 -4
  120. package/dist/_internal/components/form/Button/Button.styles.js +3 -3
  121. package/dist/_internal/components/form/Calendar/Calendar.js +5 -5
  122. package/dist/_internal/components/form/Calendar/CalendarSelectorsMonth.js +3 -3
  123. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +8 -8
  124. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +4 -4
  125. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +4 -4
  126. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +5 -5
  127. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +4 -4
  128. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +11 -11
  129. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +3 -3
  130. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +4 -4
  131. package/dist/_internal/components/form/CepField/CepField.js +6 -6
  132. package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
  133. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +3 -3
  134. package/dist/_internal/components/form/Command/Command.js +3 -3
  135. package/dist/_internal/components/form/Command/Command.styles.js +3 -3
  136. package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +3 -3
  137. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +5 -5
  138. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +12 -12
  139. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +4 -4
  140. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +5 -5
  141. package/dist/_internal/components/form/Input/Input.factory.js +4 -4
  142. package/dist/_internal/components/form/Input/Input.js +5 -5
  143. package/dist/_internal/components/form/Input/Input.styles.js +3 -3
  144. package/dist/_internal/components/form/InputOTP/InputOTP.hooks.js +1 -1
  145. package/dist/_internal/components/form/InputOTP/InputOTP.js +5 -5
  146. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +3 -3
  147. package/dist/_internal/components/form/Label/Label.js +3 -3
  148. package/dist/_internal/components/form/Label/Label.styles.js +3 -3
  149. package/dist/_internal/components/form/Menubar/Menubar.item.js +3 -3
  150. package/dist/_internal/components/form/Menubar/Menubar.js +7 -7
  151. package/dist/_internal/components/form/Menubar/Menubar.styles.js +3 -3
  152. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +5 -5
  153. package/dist/_internal/components/form/NumberField/NumberField.js +6 -6
  154. package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
  155. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +5 -5
  156. package/dist/_internal/components/form/PickerSheet/PickerSheet.js +6 -6
  157. package/dist/_internal/components/form/PickerSheet/PickerSheet.parts.js +4 -4
  158. package/dist/_internal/components/form/PickerSheet/PickerSheet.styles.js +3 -3
  159. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +5 -5
  160. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +3 -3
  161. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +4 -4
  162. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
  163. package/dist/_internal/components/form/Select/Select.js +6 -6
  164. package/dist/_internal/components/form/Select/Select.menu.js +4 -4
  165. package/dist/_internal/components/form/Select/Select.searchable.js +4 -4
  166. package/dist/_internal/components/form/Select/Select.styles.js +3 -3
  167. package/dist/_internal/components/form/Textarea/Textarea.js +3 -3
  168. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +4 -4
  169. package/dist/_internal/components/form/Toggle/Toggle.js +4 -4
  170. package/dist/_internal/components/form/Toggle/Toggle.styles.js +3 -3
  171. package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +3 -3
  172. package/dist/_internal/components/form/index.js +60 -60
  173. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +12 -12
  174. package/dist/_internal/components/form/total-form/Fields/CepField.js +7 -7
  175. package/dist/_internal/components/form/total-form/Fields/SelectField.js +7 -7
  176. package/dist/_internal/components/form/total-form/Fields/TextField.js +6 -6
  177. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +4 -4
  178. package/dist/_internal/components/form/total-form/Fields/index.js +31 -31
  179. package/dist/_internal/components/form/total-form/SubmitButton.js +5 -5
  180. package/dist/_internal/components/index.js +235 -218
  181. package/dist/_internal/components/layout/Box/Box.js +6 -6
  182. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +3 -3
  183. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +3 -3
  184. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +4 -4
  185. package/dist/_internal/components/layout/ContentToolbar/MultiSelectTriggers.js +3 -3
  186. package/dist/_internal/components/layout/ContentToolbar/SavedViewsMenu.js +3 -3
  187. package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +3 -3
  188. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +3 -3
  189. package/dist/_internal/components/layout/Screen/Screen.js +7 -7
  190. package/dist/_internal/components/layout/SettingCard/SettingCard.js +11 -11
  191. package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +9 -9
  192. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +10 -10
  193. package/dist/_internal/components/layout/SettingCard/SettingGrid.js +10 -10
  194. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +12 -12
  195. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +11 -11
  196. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +12 -12
  197. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +2 -2
  198. package/dist/_internal/components/layout/Skeleton/Skeleton.js +2 -2
  199. package/dist/_internal/components/layout/Stack/Stack.js +7 -7
  200. package/dist/_internal/components/layout/TableFilter/TableFilter.js +3 -3
  201. package/dist/_internal/components/layout/index.js +34 -34
  202. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +9 -9
  203. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +3 -3
  204. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +2 -2
  205. package/dist/_internal/components/navigation/Pagination/Pagination.js +4 -4
  206. package/dist/_internal/components/navigation/Pagination/PaginationParts.js +3 -3
  207. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +3 -3
  208. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +4 -4
  209. package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +3 -3
  210. package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +3 -3
  211. package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +3 -3
  212. package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +3 -3
  213. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +3 -3
  214. package/dist/_internal/components/navigation/SectionNav/__stories__/fixtures.js +3 -3
  215. package/dist/_internal/components/navigation/Tabs/Tabs.js +2 -2
  216. package/dist/_internal/components/navigation/Tabs/Tabs.styles.js +2 -2
  217. package/dist/_internal/components/navigation/index.js +18 -18
  218. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +3 -3
  219. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +3 -3
  220. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +3 -3
  221. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +3 -3
  222. package/dist/_internal/components/utility/index.js +16 -16
  223. package/dist/_internal/en-US.data-display.js +2 -2
  224. package/dist/_internal/icons/Icon.js +6 -6
  225. package/dist/_internal/provider/UiProvider.js +5 -5
  226. package/dist/_internal/provider/mui-bridge.js +4 -4
  227. package/dist/_internal/provider/use-ui-theme.js +5 -5
  228. package/dist/_internal/pt-BR.data-display.js +2 -2
  229. package/dist/_internal/social-login-button/social-login-button.js +5 -5
  230. package/dist/_internal/tokens/density.js +3 -3
  231. package/dist/_internal/tokens/field-height.js +2 -2
  232. package/dist/_internal/user-avatar/user-avatar.js +8 -8
  233. package/dist/charts.js +20 -20
  234. package/dist/{chunk-3RHU2Y2N.js → chunk-2DDCRHJE.js} +2 -2
  235. package/dist/{chunk-EBEMNKTK.js → chunk-2GDPZ53K.js} +8 -5
  236. package/dist/chunk-2GDPZ53K.js.map +1 -0
  237. package/dist/{chunk-X3EB67O2.js → chunk-2VRJ577J.js} +4 -4
  238. package/dist/{chunk-QSRZOXQI.js → chunk-2WVHZIWP.js} +2 -2
  239. package/dist/{chunk-6OYB3MRF.js → chunk-33AVAYCR.js} +3 -3
  240. package/dist/{chunk-62SXUU5U.js → chunk-3DPPDGOF.js} +5 -5
  241. package/dist/{chunk-7RG37FVT.js → chunk-3IX2TP4I.js} +30 -3
  242. package/dist/chunk-3IX2TP4I.js.map +1 -0
  243. package/dist/chunk-3OL2TSEJ.js +80 -0
  244. package/dist/chunk-3OL2TSEJ.js.map +1 -0
  245. package/dist/{chunk-BTGXHQX3.js → chunk-4JNC5AEF.js} +2 -2
  246. package/dist/{chunk-6MOJK2QT.js → chunk-4SQ2WCZA.js} +2 -2
  247. package/dist/{chunk-QHFAKEZZ.js → chunk-4V37DAMA.js} +3 -3
  248. package/dist/{chunk-RDRXTH47.js → chunk-52RHAAIH.js} +17 -13
  249. package/dist/chunk-52RHAAIH.js.map +1 -0
  250. package/dist/{chunk-E3E4L7MH.js → chunk-56GWNA5V.js} +5 -5
  251. package/dist/{chunk-JK3QB7MO.js → chunk-5CP5Z3YU.js} +2 -2
  252. package/dist/{chunk-2ZMR3TZU.js → chunk-5S5K73I6.js} +3 -3
  253. package/dist/{chunk-RBW5QQXW.js → chunk-5XTPEA3O.js} +2 -2
  254. package/dist/{chunk-WWB43LWU.js → chunk-5ZC7CNU4.js} +2 -2
  255. package/dist/{chunk-V4JMZZGH.js → chunk-6A4PTK5Q.js} +5 -5
  256. package/dist/{chunk-2P5ZBBTL.js → chunk-6GICMRDX.js} +5 -5
  257. package/dist/{chunk-QOTMQLMW.js → chunk-6OISIUZM.js} +3 -3
  258. package/dist/{chunk-34FX3NRZ.js → chunk-6PTP5NID.js} +2 -2
  259. package/dist/{chunk-3XZZSHE5.js → chunk-6VTOGR36.js} +5 -5
  260. package/dist/{chunk-SEUJNFOD.js → chunk-6WHIJPEF.js} +2 -2
  261. package/dist/{chunk-62XVHRTX.js → chunk-72HOUWAW.js} +71 -22
  262. package/dist/chunk-72HOUWAW.js.map +1 -0
  263. package/dist/{chunk-2D4WKET2.js → chunk-75FHDUJW.js} +5 -5
  264. package/dist/{chunk-66QQ7YQN.js → chunk-75I42HHE.js} +2 -2
  265. package/dist/{chunk-AAREDFH6.js → chunk-7TKQIZ3K.js} +2 -2
  266. package/dist/{chunk-WPFVQVQC.js → chunk-7VUXSNVZ.js} +5 -5
  267. package/dist/{chunk-4J62V5OE.js → chunk-7YJYIMWP.js} +2 -2
  268. package/dist/chunk-A63WU4UZ.js +226 -0
  269. package/dist/chunk-A63WU4UZ.js.map +1 -0
  270. package/dist/chunk-ABRUOINB.js +1 -0
  271. package/dist/chunk-ABRUOINB.js.map +1 -0
  272. package/dist/{chunk-UERGWYGY.js → chunk-ABRVOPC2.js} +3 -3
  273. package/dist/{chunk-M74YHHJE.js → chunk-ACBHZG3Z.js} +5 -5
  274. package/dist/chunk-ACFKPE2T.js +1 -0
  275. package/dist/chunk-ACFKPE2T.js.map +1 -0
  276. package/dist/{chunk-XKPV52CG.js → chunk-ARMKSYEQ.js} +3 -3
  277. package/dist/{chunk-MHFXJRLD.js → chunk-AT6UKTH4.js} +2 -2
  278. package/dist/{chunk-RB3R6BJL.js → chunk-AWUFS2ZC.js} +7 -7
  279. package/dist/{chunk-QK3XXPBA.js → chunk-BECKKDYG.js} +2 -2
  280. package/dist/{chunk-64UNVW6D.js → chunk-BP3ZKIPE.js} +4 -4
  281. package/dist/{chunk-ENRB6PIN.js → chunk-BRHRK7BK.js} +2 -2
  282. package/dist/chunk-BRZKOUEL.js +115 -0
  283. package/dist/chunk-BRZKOUEL.js.map +1 -0
  284. package/dist/{chunk-UQ6SAIX7.js → chunk-C74PDNTF.js} +4 -4
  285. package/dist/{chunk-76IHYINM.js → chunk-CARUHKZW.js} +23 -16
  286. package/dist/chunk-CARUHKZW.js.map +1 -0
  287. package/dist/{chunk-3HSLEUVW.js → chunk-CBO46LJH.js} +5 -5
  288. package/dist/{chunk-EMSMJRP3.js → chunk-CESGZRVQ.js} +4 -4
  289. package/dist/{chunk-LODYTVOO.js → chunk-CFDWKQZT.js} +2 -2
  290. package/dist/chunk-COOSJKZL.js +197 -0
  291. package/dist/chunk-COOSJKZL.js.map +1 -0
  292. package/dist/{chunk-TPAMLIN7.js → chunk-CPZGFIFH.js} +2 -2
  293. package/dist/{chunk-D4LMRSY7.js → chunk-CSGBHYW6.js} +2 -2
  294. package/dist/{chunk-JW7MN4DG.js → chunk-D34PZJH3.js} +2 -2
  295. package/dist/{chunk-WT7VZDTI.js → chunk-DDNUPFPE.js} +5 -5
  296. package/dist/{chunk-LZ5PGB7U.js → chunk-DYRZRY2T.js} +5 -5
  297. package/dist/{chunk-73BMQ3VC.js → chunk-ENJOBJPK.js} +2 -2
  298. package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
  299. package/dist/{chunk-U36BXXQ7.js → chunk-EP3DRILI.js} +2 -2
  300. package/dist/{chunk-SYERREN5.js → chunk-FCLON3MO.js} +6 -6
  301. package/dist/{chunk-GLAAX5JJ.js → chunk-FEKWKWGK.js} +5 -4
  302. package/dist/{chunk-GLAAX5JJ.js.map → chunk-FEKWKWGK.js.map} +1 -1
  303. package/dist/{chunk-33MMQHYU.js → chunk-FJ3UZ4RC.js} +2 -2
  304. package/dist/{chunk-LNIK7FJO.js → chunk-FORQEHRQ.js} +2 -2
  305. package/dist/{chunk-N3W6FZOC.js → chunk-FQGPYP2M.js} +4 -4
  306. package/dist/{chunk-MAHY7PK3.js → chunk-FQMLTCXT.js} +4 -4
  307. package/dist/{chunk-BDJIP4HG.js → chunk-FRUDRDJX.js} +4 -4
  308. package/dist/{chunk-MO4FFK62.js → chunk-FXECKKPW.js} +3 -3
  309. package/dist/{chunk-UWVVKUCG.js → chunk-FZEDQNUN.js} +3 -3
  310. package/dist/{chunk-6LMYQJZP.js → chunk-GCBWZ3MX.js} +2 -2
  311. package/dist/{chunk-YASSCBWN.js → chunk-GHP5JLL3.js} +2 -2
  312. package/dist/{chunk-3S352ZSG.js → chunk-GLR5MSU3.js} +2 -2
  313. package/dist/chunk-GMRQPNG3.js +80 -0
  314. package/dist/chunk-GMRQPNG3.js.map +1 -0
  315. package/dist/{chunk-ATJTGQYE.js → chunk-GOQOVKUZ.js} +3 -3
  316. package/dist/{chunk-REMODSVN.js → chunk-HDTFLW42.js} +2 -2
  317. package/dist/{chunk-SFVHZAGE.js → chunk-HG2YLNGJ.js} +2 -2
  318. package/dist/{chunk-AMLHEKSV.js → chunk-HI7JPDD6.js} +5 -5
  319. package/dist/{chunk-OKDAHCYE.js → chunk-HJJR2WGL.js} +2 -2
  320. package/dist/{chunk-J34VGMA5.js → chunk-HNEZWVDR.js} +2 -2
  321. package/dist/{chunk-YJPBNIEM.js → chunk-HUXAIQC5.js} +2 -2
  322. package/dist/{chunk-OUI5IPS6.js → chunk-HWPQKHN2.js} +6 -6
  323. package/dist/{chunk-MNNIOQTQ.js → chunk-I7JUAHUO.js} +3 -3
  324. package/dist/{chunk-LC6ND4ET.js → chunk-IBOFASAZ.js} +2 -2
  325. package/dist/{chunk-TNDTEI6D.js → chunk-IDRVQVDL.js} +2 -2
  326. package/dist/{chunk-GYFKIPR2.js → chunk-IEAPXS57.js} +2 -2
  327. package/dist/{chunk-NQCTANF3.js → chunk-IF5UY3CT.js} +4 -4
  328. package/dist/{chunk-YHKHHSZH.js → chunk-IFX5KP65.js} +4 -4
  329. package/dist/{chunk-XATRYJ4Q.js → chunk-IMCSY2SI.js} +6 -6
  330. package/dist/{chunk-BARTUKJU.js → chunk-IU2WSJ4F.js} +2 -2
  331. package/dist/{chunk-GVSRBFP3.js → chunk-IYDXKLCE.js} +7 -7
  332. package/dist/{chunk-5NT2M2JI.js → chunk-JKIKHWD2.js} +4 -4
  333. package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
  334. package/dist/{chunk-LCGK22QQ.js → chunk-JVTZ7FWR.js} +5 -5
  335. package/dist/{chunk-BO6IMK5P.js → chunk-JZQYVGPV.js} +3 -3
  336. package/dist/{chunk-3W2B7IZG.js → chunk-K6WY2CHG.js} +2 -2
  337. package/dist/{chunk-RWCQ6TEM.js → chunk-KR4TN3OF.js} +2 -2
  338. package/dist/{chunk-SUCVFEPT.js → chunk-KRPDBVUB.js} +5 -5
  339. package/dist/{chunk-LRIPJ2D5.js → chunk-KRYOT3KB.js} +2 -2
  340. package/dist/{chunk-3V3Z4EML.js → chunk-L4FWEI2P.js} +5 -5
  341. package/dist/{chunk-I3OKAQ5L.js → chunk-L7HNQRFS.js} +7 -7
  342. package/dist/{chunk-J7C7FPVO.js → chunk-LABIUXDM.js} +2 -2
  343. package/dist/{chunk-GJOU26UW.js → chunk-LH3YT5NL.js} +8 -8
  344. package/dist/chunk-LH3YT5NL.js.map +1 -0
  345. package/dist/{chunk-GM7BG3SD.js → chunk-LLPPIO3K.js} +3 -3
  346. package/dist/{chunk-RCTHCXS6.js → chunk-LRQT4MQO.js} +2 -2
  347. package/dist/{chunk-LTSVYILY.js → chunk-LXMFHD7M.js} +4 -4
  348. package/dist/{chunk-72OG3AGH.js → chunk-LYB6YYTG.js} +2 -2
  349. package/dist/{chunk-DRJL3JHR.js → chunk-LZJHHMOF.js} +2 -2
  350. package/dist/{chunk-Y4KR4LT2.js → chunk-MIUPTZS6.js} +2 -2
  351. package/dist/{chunk-XXUTD74L.js → chunk-MK6UXAWY.js} +3 -3
  352. package/dist/{chunk-BIUT3K6A.js → chunk-MKNW4FRR.js} +6 -6
  353. package/dist/{chunk-NZDIO5UG.js → chunk-MVNFUIJS.js} +5 -5
  354. package/dist/{chunk-APBIQH4G.js → chunk-N5OEDOJT.js} +7 -7
  355. package/dist/{chunk-UAOE3ZPC.js → chunk-NEYZV6V5.js} +6 -6
  356. package/dist/{chunk-ZXHODKHH.js → chunk-NKHNUTTY.js} +3 -3
  357. package/dist/{chunk-JL4I7OQE.js → chunk-NOF2FF4K.js} +2 -2
  358. package/dist/{chunk-WOSUYOAU.js → chunk-NQYC7V5N.js} +5 -5
  359. package/dist/{chunk-HF2WLLGH.js → chunk-NTRWUDP6.js} +3 -3
  360. package/dist/{chunk-HF2WLLGH.js.map → chunk-NTRWUDP6.js.map} +1 -1
  361. package/dist/{chunk-ZCCKIWZU.js → chunk-NYA26GV2.js} +2 -2
  362. package/dist/{chunk-N3LW5ER5.js → chunk-NZBEE2PR.js} +3 -3
  363. package/dist/{chunk-DYHOBKPU.js → chunk-OA6T2ME3.js} +5 -5
  364. package/dist/{chunk-U5FOJBLG.js → chunk-OOLES6RR.js} +14 -2
  365. package/dist/chunk-OOLES6RR.js.map +1 -0
  366. package/dist/{chunk-4UCXJYOO.js → chunk-OPY2AGAU.js} +6 -6
  367. package/dist/chunk-OPY2AGAU.js.map +1 -0
  368. package/dist/{chunk-4IVEBBF6.js → chunk-OQN2FHEL.js} +5 -4
  369. package/dist/{chunk-4IVEBBF6.js.map → chunk-OQN2FHEL.js.map} +1 -1
  370. package/dist/{chunk-WNIL2KTB.js → chunk-OQW4OERS.js} +3 -3
  371. package/dist/{chunk-JJNY5MZL.js → chunk-OZYUE2BI.js} +2 -2
  372. package/dist/{chunk-Y3TD7HOY.js → chunk-P4Q7JK4L.js} +2 -2
  373. package/dist/{chunk-W676GY42.js → chunk-P772HCHI.js} +4 -4
  374. package/dist/chunk-PBRCKHN3.js +75 -0
  375. package/dist/chunk-PBRCKHN3.js.map +1 -0
  376. package/dist/{chunk-4AJY7HMH.js → chunk-PD7MKJCM.js} +5 -5
  377. package/dist/{chunk-ICKR3QTG.js → chunk-PGHSNG33.js} +4 -4
  378. package/dist/{chunk-ZNJGEDCE.js → chunk-PGYYDSNX.js} +2 -2
  379. package/dist/{chunk-KXTNTDRD.js → chunk-PPEHBI5O.js} +2 -2
  380. package/dist/{chunk-5RPT32EL.js → chunk-PVIQDBUN.js} +2 -2
  381. package/dist/{chunk-N3ZOZWP5.js → chunk-Q3HYEAVQ.js} +2 -2
  382. package/dist/{chunk-HKQQ2NED.js → chunk-Q4GAPZDA.js} +2 -2
  383. package/dist/{chunk-VUBFCHXL.js → chunk-Q7XLTN2D.js} +3 -3
  384. package/dist/{chunk-6ATXOJVQ.js → chunk-QADTI63U.js} +4 -4
  385. package/dist/{chunk-YQIT3ET7.js → chunk-QAH3XILB.js} +3 -3
  386. package/dist/{chunk-YH7G44WL.js → chunk-QLJU7UUI.js} +2 -2
  387. package/dist/{chunk-TVMSXL3R.js → chunk-QO7UJXXO.js} +2 -2
  388. package/dist/{chunk-4OTJ66ID.js → chunk-QZOQVJ5L.js} +18 -7
  389. package/dist/chunk-QZOQVJ5L.js.map +1 -0
  390. package/dist/{chunk-UETHX57J.js → chunk-R6L376KR.js} +21 -7
  391. package/dist/chunk-R6L376KR.js.map +1 -0
  392. package/dist/{chunk-QQHZBJMU.js → chunk-RGVNXES5.js} +4 -4
  393. package/dist/{chunk-MWPD2BXO.js → chunk-RHVJ3L4U.js} +2 -2
  394. package/dist/{chunk-YV4O7KDR.js → chunk-S6HIZQIG.js} +5 -5
  395. package/dist/{chunk-MQVIYTH5.js → chunk-SAKSIN7E.js} +2 -2
  396. package/dist/{chunk-4HBCWKIX.js → chunk-SGFRSRAL.js} +2 -2
  397. package/dist/{chunk-WLLUARTC.js → chunk-T2G4LDU5.js} +2 -2
  398. package/dist/{chunk-37G7M2GJ.js → chunk-T6QVM5Q5.js} +5 -5
  399. package/dist/{chunk-BLNFOP2O.js → chunk-T6YTDEY4.js} +4 -4
  400. package/dist/{chunk-QTLM2YY2.js → chunk-TI4FGQYV.js} +2 -2
  401. package/dist/{chunk-SB2SEGR6.js → chunk-TIM4PXWN.js} +3 -3
  402. package/dist/{chunk-JQSF3CUR.js → chunk-TRYR424I.js} +5 -4
  403. package/dist/{chunk-JQSF3CUR.js.map → chunk-TRYR424I.js.map} +1 -1
  404. package/dist/{chunk-C2I7NQC4.js → chunk-U2ILXZDG.js} +2 -2
  405. package/dist/{chunk-TR7ZA67L.js → chunk-U2QV4TTZ.js} +2 -2
  406. package/dist/{chunk-A5U7HEBI.js → chunk-U3HGQHEO.js} +6 -4
  407. package/dist/chunk-U3HGQHEO.js.map +1 -0
  408. package/dist/{chunk-3YFDGFEK.js → chunk-U4WAAZXJ.js} +2 -2
  409. package/dist/{chunk-UQUN2NGE.js → chunk-UAFSEZ2E.js} +2 -2
  410. package/dist/{chunk-D5Y4PNC5.js → chunk-ULAZDF6D.js} +2 -2
  411. package/dist/{chunk-3OWFUFZL.js → chunk-UMI3GYWI.js} +6 -6
  412. package/dist/{chunk-Q7QQXNL7.js → chunk-UT545JBQ.js} +3 -3
  413. package/dist/{chunk-JXK53XJW.js → chunk-UTUYXH72.js} +5 -5
  414. package/dist/{chunk-E72INDBL.js → chunk-UXOFA3ZP.js} +4 -4
  415. package/dist/{chunk-54OJAOXC.js → chunk-V6KQ5R4T.js} +11 -11
  416. package/dist/{chunk-FLJ3RIRP.js → chunk-VEKTKCSB.js} +5 -5
  417. package/dist/{chunk-UJACXYC2.js → chunk-VHGHF537.js} +3 -3
  418. package/dist/{chunk-OFXCSLGX.js → chunk-VLH3IMJG.js} +2 -2
  419. package/dist/{chunk-AKBL7S7A.js → chunk-VPGDYI63.js} +5 -5
  420. package/dist/{chunk-6DGNMASB.js → chunk-VPH3TENY.js} +2 -2
  421. package/dist/{chunk-45AON4CS.js → chunk-VYQZ5U3N.js} +2 -2
  422. package/dist/{chunk-GXSHLMT4.js → chunk-WDSJ6SVY.js} +2 -2
  423. package/dist/{chunk-JMDT3GQ3.js → chunk-WMAS6DZR.js} +3 -3
  424. package/dist/{chunk-XE7QBHXN.js → chunk-WTOA52EQ.js} +2 -2
  425. package/dist/{chunk-MLGAGZJ3.js → chunk-XMWTVDQN.js} +22 -21
  426. package/dist/chunk-XMWTVDQN.js.map +1 -0
  427. package/dist/{chunk-D22FGMGU.js → chunk-XNMU32XC.js} +2 -2
  428. package/dist/{chunk-PEMXXFXL.js → chunk-XQJPR57I.js} +2 -2
  429. package/dist/{chunk-54F7QIV2.js → chunk-XW44IFYE.js} +5 -5
  430. package/dist/{chunk-I2KAN3YB.js → chunk-Y3LK6ZQG.js} +2 -2
  431. package/dist/{chunk-7AC2UGTU.js → chunk-Y46R26TE.js} +3 -3
  432. package/dist/{chunk-GQ2T44BC.js → chunk-YEKPQAOW.js} +2 -2
  433. package/dist/{chunk-XNLJ2Z7T.js → chunk-YGWLMTPB.js} +5 -3
  434. package/dist/chunk-YGWLMTPB.js.map +1 -0
  435. package/dist/{chunk-ZGAOA7LN.js → chunk-YHPSPFU5.js} +9 -9
  436. package/dist/chunk-YOPMXGHY.js +23 -0
  437. package/dist/chunk-YOPMXGHY.js.map +1 -0
  438. package/dist/{chunk-F6LZHF4O.js → chunk-YTDUIU7X.js} +2 -2
  439. package/dist/{chunk-CO7GH3W7.js → chunk-YWXCLPCX.js} +2 -2
  440. package/dist/{chunk-RIPG3QIN.js → chunk-Z445LLFN.js} +4 -4
  441. package/dist/{chunk-M7HYNXCU.js → chunk-ZAPP32GD.js} +2 -2
  442. package/dist/{chunk-MT74NRLY.js → chunk-ZLVRCQPG.js} +9 -9
  443. package/dist/{chunk-KSJBFT4G.js → chunk-ZVZTQF7E.js} +4 -4
  444. package/dist/data-display/Alert.js +2 -2
  445. package/dist/data-display/AsyncStateContainer.js +4 -4
  446. package/dist/data-display/Avatar.js +3 -3
  447. package/dist/data-display/Badge.js +3 -3
  448. package/dist/data-display/CardKit.js +12 -12
  449. package/dist/data-display/Carousel.js +11 -11
  450. package/dist/data-display/Chart.js +20 -20
  451. package/dist/data-display/DataGrid.js +3 -3
  452. package/dist/data-display/DataViews.js +93 -92
  453. package/dist/data-display/FleetMap.js +24 -24
  454. package/dist/data-display/LazyImage.js +5 -5
  455. package/dist/data-display/Lightbox.js +6 -6
  456. package/dist/data-display/LoadingState.js +3 -3
  457. package/dist/data-display/MapPreview.js +16 -16
  458. package/dist/data-display/Progress.js +2 -2
  459. package/dist/data-display/RegionMap.js +45 -0
  460. package/dist/data-display/RegionMap.js.map +1 -0
  461. package/dist/data-display/Sheet.js +6 -6
  462. package/dist/data-display/StatCard.js +3 -3
  463. package/dist/data-display/Table.js +2 -2
  464. package/dist/en-US.js +6 -6
  465. package/dist/feedback/ConfirmAction.js +5 -5
  466. package/dist/feedback/Modal.js +2 -2
  467. package/dist/feedback/NotificationStatusNotice.js +7 -7
  468. package/dist/feedback/SequenceResolver.js +10 -10
  469. package/dist/form/AddressAutocomplete.js +8 -8
  470. package/dist/form/Autocomplete.js +4 -4
  471. package/dist/form/Button.js +4 -4
  472. package/dist/form/Calendar.js +5 -5
  473. package/dist/form/CategorySelect.js +11 -11
  474. package/dist/form/CepField.js +6 -6
  475. package/dist/form/Checkbox.js +2 -2
  476. package/dist/form/CodeEditor.js +3 -3
  477. package/dist/form/Command.js +3 -3
  478. package/dist/form/CreatableSelect.js +3 -3
  479. package/dist/form/DateRangePicker.js +12 -12
  480. package/dist/form/Input/outlined.js +5 -5
  481. package/dist/form/Input.js +5 -5
  482. package/dist/form/InputOTP.js +5 -5
  483. package/dist/form/Label.js +3 -3
  484. package/dist/form/MenuSelect.js +4 -4
  485. package/dist/form/Menubar.js +7 -7
  486. package/dist/form/NumberField.js +6 -6
  487. package/dist/form/PhoneInput.js +5 -5
  488. package/dist/form/PickerSheet.js +6 -6
  489. package/dist/form/RadioGroup.js +5 -5
  490. package/dist/form/RichTextEditor.js +2 -2
  491. package/dist/form/Select.js +6 -6
  492. package/dist/form/Textarea.js +3 -3
  493. package/dist/form/Toggle.js +4 -4
  494. package/dist/form/ToggleGroup.js +3 -3
  495. package/dist/form/total-form.js +34 -34
  496. package/dist/icons.js +6 -6
  497. package/dist/layout/Box.js +6 -6
  498. package/dist/layout/ContentToolbar.js +12 -12
  499. package/dist/layout/Screen.js +7 -7
  500. package/dist/layout/SettingCard.js +15 -15
  501. package/dist/layout/SettingsLayout.js +2 -2
  502. package/dist/layout/Skeleton.js +2 -2
  503. package/dist/layout/Stack.js +7 -7
  504. package/dist/layout/TableFilter.js +3 -3
  505. package/dist/locales.js +14 -14
  506. package/dist/navigation/AppHeader.js +9 -9
  507. package/dist/navigation/CommandPalette.js +2 -2
  508. package/dist/navigation/Pagination.js +4 -4
  509. package/dist/navigation/SectionNav.js +4 -4
  510. package/dist/navigation/Tabs.js +2 -2
  511. package/dist/provider.js +6 -6
  512. package/dist/pt-BR.js +8 -8
  513. package/dist/social-login-button.js +5 -5
  514. package/dist/tokens.js +4 -4
  515. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +6 -0
  516. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
  517. package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts +32 -5
  518. package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts.map +1 -1
  519. package/dist/types/components/data-display/DataViews/data-views-filter-panel.d.ts +6 -0
  520. package/dist/types/components/data-display/DataViews/data-views-filter-panel.d.ts.map +1 -1
  521. package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts.map +1 -1
  522. package/dist/types/components/data-display/DataViews/data-views-inline-bar.d.ts +3 -1
  523. package/dist/types/components/data-display/DataViews/data-views-inline-bar.d.ts.map +1 -1
  524. package/dist/types/components/data-display/DataViews/data-views-more-filters.d.ts +3 -1
  525. package/dist/types/components/data-display/DataViews/data-views-more-filters.d.ts.map +1 -1
  526. package/dist/types/components/data-display/DataViews/data-views-range-pill.d.ts.map +1 -1
  527. package/dist/types/components/data-display/DataViews/data-views-range-reset.d.ts +16 -0
  528. package/dist/types/components/data-display/DataViews/data-views-range-reset.d.ts.map +1 -0
  529. package/dist/types/components/data-display/DataViews/data-views-writers.d.ts +13 -0
  530. package/dist/types/components/data-display/DataViews/data-views-writers.d.ts.map +1 -1
  531. package/dist/types/components/data-display/DataViews/use-data-views-state.d.ts +4 -0
  532. package/dist/types/components/data-display/DataViews/use-data-views-state.d.ts.map +1 -1
  533. package/dist/types/components/data-display/RegionMap/RegionMap.d.ts +25 -0
  534. package/dist/types/components/data-display/RegionMap/RegionMap.d.ts.map +1 -0
  535. package/dist/types/components/data-display/RegionMap/RegionMap.fixtures.d.ts +27 -0
  536. package/dist/types/components/data-display/RegionMap/RegionMap.fixtures.d.ts.map +1 -0
  537. package/dist/types/components/data-display/RegionMap/RegionMap.helpers.d.ts +110 -0
  538. package/dist/types/components/data-display/RegionMap/RegionMap.helpers.d.ts.map +1 -0
  539. package/dist/types/components/data-display/RegionMap/RegionMap.hooks.d.ts +28 -0
  540. package/dist/types/components/data-display/RegionMap/RegionMap.hooks.d.ts.map +1 -0
  541. package/dist/types/components/data-display/RegionMap/RegionMap.types.d.ts +116 -0
  542. package/dist/types/components/data-display/RegionMap/RegionMap.types.d.ts.map +1 -0
  543. package/dist/types/components/data-display/RegionMap/RegionMapDrawing.d.ts +28 -0
  544. package/dist/types/components/data-display/RegionMap/RegionMapDrawing.d.ts.map +1 -0
  545. package/dist/types/components/data-display/RegionMap/RegionMapLegend.d.ts +12 -0
  546. package/dist/types/components/data-display/RegionMap/RegionMapLegend.d.ts.map +1 -0
  547. package/dist/types/components/data-display/RegionMap/RegionMapList.d.ts +20 -0
  548. package/dist/types/components/data-display/RegionMap/RegionMapList.d.ts.map +1 -0
  549. package/dist/types/components/data-display/RegionMap/index.d.ts +5 -0
  550. package/dist/types/components/data-display/RegionMap/index.d.ts.map +1 -0
  551. package/dist/types/components/data-display/index.d.ts +1 -0
  552. package/dist/types/components/data-display/index.d.ts.map +1 -1
  553. package/dist/types/components/form/CepField/CepField.d.ts +1 -1
  554. package/dist/types/components/form/CepField/CepField.d.ts.map +1 -1
  555. package/dist/types/components/form/CepField/CepField.types.d.ts +8 -0
  556. package/dist/types/components/form/CepField/CepField.types.d.ts.map +1 -1
  557. package/dist/types/components/form/InputOTP/InputOTP.d.ts.map +1 -1
  558. package/dist/types/components/form/InputOTP/InputOTP.hooks.d.ts.map +1 -1
  559. package/dist/types/components/form/total-form/Fields/CepField.d.ts +6 -1
  560. package/dist/types/components/form/total-form/Fields/CepField.d.ts.map +1 -1
  561. package/dist/types/components/form/total-form/Fields/TextField.d.ts +22 -1
  562. package/dist/types/components/form/total-form/Fields/TextField.d.ts.map +1 -1
  563. package/dist/types/components/form/total-form/Fields/index.d.ts +1 -1
  564. package/dist/types/components/form/total-form/Fields/index.d.ts.map +1 -1
  565. package/dist/types/components/form/total-form/index.d.ts +1 -1
  566. package/dist/types/components/form/total-form/index.d.ts.map +1 -1
  567. package/dist/types/en-US.data-display.d.ts.map +1 -1
  568. package/dist/types/pt-BR.data-display.d.ts.map +1 -1
  569. package/dist/user-avatar.js +8 -8
  570. package/dist/utility/WorkflowStep.js +3 -3
  571. package/package.json +5 -1
  572. package/src/components/data-display/DataViews/data-views-copy.ts +6 -0
  573. package/src/components/data-display/DataViews/data-views-day-input.tsx +134 -38
  574. package/src/components/data-display/DataViews/data-views-empty.tsx +1 -1
  575. package/src/components/data-display/DataViews/data-views-filter-panel.tsx +8 -2
  576. package/src/components/data-display/DataViews/data-views-grid-parts.tsx +3 -1
  577. package/src/components/data-display/DataViews/data-views-inline-bar.tsx +7 -0
  578. package/src/components/data-display/DataViews/data-views-more-filters.tsx +4 -1
  579. package/src/components/data-display/DataViews/data-views-range-pill.tsx +11 -3
  580. package/src/components/data-display/DataViews/data-views-range-reset.ts +34 -0
  581. package/src/components/data-display/DataViews/data-views-writers.ts +24 -1
  582. package/src/components/data-display/DataViews/use-data-views-state.ts +6 -1
  583. package/src/components/data-display/RegionMap/RegionMap.fixtures.ts +67 -0
  584. package/src/components/data-display/RegionMap/RegionMap.helpers.ts +338 -0
  585. package/src/components/data-display/RegionMap/RegionMap.hooks.ts +125 -0
  586. package/src/components/data-display/RegionMap/RegionMap.md +144 -0
  587. package/src/components/data-display/RegionMap/RegionMap.tsx +88 -0
  588. package/src/components/data-display/RegionMap/RegionMap.types.ts +117 -0
  589. package/src/components/data-display/RegionMap/RegionMapDrawing.tsx +299 -0
  590. package/src/components/data-display/RegionMap/RegionMapLegend.tsx +81 -0
  591. package/src/components/data-display/RegionMap/RegionMapList.tsx +167 -0
  592. package/src/components/data-display/RegionMap/index.ts +13 -0
  593. package/src/components/data-display/RegionMap/tests.md +22 -0
  594. package/src/components/data-display/RegionMap/track.md +13 -0
  595. package/src/components/data-display/index.ts +1 -0
  596. package/src/components/form/CepField/CepField.md +7 -2
  597. package/src/components/form/CepField/CepField.tsx +13 -2
  598. package/src/components/form/CepField/CepField.types.ts +8 -0
  599. package/src/components/form/InputOTP/InputOTP.hooks.ts +48 -9
  600. package/src/components/form/InputOTP/InputOTP.md +6 -1
  601. package/src/components/form/InputOTP/InputOTP.tsx +40 -1
  602. package/src/components/form/total-form/Fields/CepField.tsx +7 -0
  603. package/src/components/form/total-form/Fields/TextField.tsx +64 -1
  604. package/src/components/form/total-form/Fields/index.ts +1 -1
  605. package/src/components/form/total-form/index.ts +1 -1
  606. package/src/en-US.data-display.ts +1 -0
  607. package/src/pt-BR.data-display.ts +1 -0
  608. package/dist/chunk-4OTJ66ID.js.map +0 -1
  609. package/dist/chunk-4UCXJYOO.js.map +0 -1
  610. package/dist/chunk-62XVHRTX.js.map +0 -1
  611. package/dist/chunk-76IHYINM.js.map +0 -1
  612. package/dist/chunk-7RG37FVT.js.map +0 -1
  613. package/dist/chunk-A5U7HEBI.js.map +0 -1
  614. package/dist/chunk-CDCTLPMD.js +0 -1
  615. package/dist/chunk-EBEMNKTK.js.map +0 -1
  616. package/dist/chunk-GJOU26UW.js.map +0 -1
  617. package/dist/chunk-MLGAGZJ3.js.map +0 -1
  618. package/dist/chunk-RDRXTH47.js.map +0 -1
  619. package/dist/chunk-U5FOJBLG.js.map +0 -1
  620. package/dist/chunk-UETHX57J.js.map +0 -1
  621. package/dist/chunk-XNLJ2Z7T.js.map +0 -1
  622. /package/dist/{chunk-CDCTLPMD.js.map → _internal/components/data-display/DataViews/data-views-range-reset.js.map} +0 -0
  623. /package/dist/{chunk-3RHU2Y2N.js.map → chunk-2DDCRHJE.js.map} +0 -0
  624. /package/dist/{chunk-X3EB67O2.js.map → chunk-2VRJ577J.js.map} +0 -0
  625. /package/dist/{chunk-QSRZOXQI.js.map → chunk-2WVHZIWP.js.map} +0 -0
  626. /package/dist/{chunk-6OYB3MRF.js.map → chunk-33AVAYCR.js.map} +0 -0
  627. /package/dist/{chunk-62SXUU5U.js.map → chunk-3DPPDGOF.js.map} +0 -0
  628. /package/dist/{chunk-BTGXHQX3.js.map → chunk-4JNC5AEF.js.map} +0 -0
  629. /package/dist/{chunk-6MOJK2QT.js.map → chunk-4SQ2WCZA.js.map} +0 -0
  630. /package/dist/{chunk-QHFAKEZZ.js.map → chunk-4V37DAMA.js.map} +0 -0
  631. /package/dist/{chunk-E3E4L7MH.js.map → chunk-56GWNA5V.js.map} +0 -0
  632. /package/dist/{chunk-JK3QB7MO.js.map → chunk-5CP5Z3YU.js.map} +0 -0
  633. /package/dist/{chunk-2ZMR3TZU.js.map → chunk-5S5K73I6.js.map} +0 -0
  634. /package/dist/{chunk-RBW5QQXW.js.map → chunk-5XTPEA3O.js.map} +0 -0
  635. /package/dist/{chunk-WWB43LWU.js.map → chunk-5ZC7CNU4.js.map} +0 -0
  636. /package/dist/{chunk-V4JMZZGH.js.map → chunk-6A4PTK5Q.js.map} +0 -0
  637. /package/dist/{chunk-2P5ZBBTL.js.map → chunk-6GICMRDX.js.map} +0 -0
  638. /package/dist/{chunk-QOTMQLMW.js.map → chunk-6OISIUZM.js.map} +0 -0
  639. /package/dist/{chunk-34FX3NRZ.js.map → chunk-6PTP5NID.js.map} +0 -0
  640. /package/dist/{chunk-3XZZSHE5.js.map → chunk-6VTOGR36.js.map} +0 -0
  641. /package/dist/{chunk-SEUJNFOD.js.map → chunk-6WHIJPEF.js.map} +0 -0
  642. /package/dist/{chunk-2D4WKET2.js.map → chunk-75FHDUJW.js.map} +0 -0
  643. /package/dist/{chunk-66QQ7YQN.js.map → chunk-75I42HHE.js.map} +0 -0
  644. /package/dist/{chunk-AAREDFH6.js.map → chunk-7TKQIZ3K.js.map} +0 -0
  645. /package/dist/{chunk-WPFVQVQC.js.map → chunk-7VUXSNVZ.js.map} +0 -0
  646. /package/dist/{chunk-4J62V5OE.js.map → chunk-7YJYIMWP.js.map} +0 -0
  647. /package/dist/{chunk-UERGWYGY.js.map → chunk-ABRVOPC2.js.map} +0 -0
  648. /package/dist/{chunk-M74YHHJE.js.map → chunk-ACBHZG3Z.js.map} +0 -0
  649. /package/dist/{chunk-XKPV52CG.js.map → chunk-ARMKSYEQ.js.map} +0 -0
  650. /package/dist/{chunk-MHFXJRLD.js.map → chunk-AT6UKTH4.js.map} +0 -0
  651. /package/dist/{chunk-RB3R6BJL.js.map → chunk-AWUFS2ZC.js.map} +0 -0
  652. /package/dist/{chunk-QK3XXPBA.js.map → chunk-BECKKDYG.js.map} +0 -0
  653. /package/dist/{chunk-64UNVW6D.js.map → chunk-BP3ZKIPE.js.map} +0 -0
  654. /package/dist/{chunk-ENRB6PIN.js.map → chunk-BRHRK7BK.js.map} +0 -0
  655. /package/dist/{chunk-UQ6SAIX7.js.map → chunk-C74PDNTF.js.map} +0 -0
  656. /package/dist/{chunk-3HSLEUVW.js.map → chunk-CBO46LJH.js.map} +0 -0
  657. /package/dist/{chunk-EMSMJRP3.js.map → chunk-CESGZRVQ.js.map} +0 -0
  658. /package/dist/{chunk-LODYTVOO.js.map → chunk-CFDWKQZT.js.map} +0 -0
  659. /package/dist/{chunk-TPAMLIN7.js.map → chunk-CPZGFIFH.js.map} +0 -0
  660. /package/dist/{chunk-D4LMRSY7.js.map → chunk-CSGBHYW6.js.map} +0 -0
  661. /package/dist/{chunk-JW7MN4DG.js.map → chunk-D34PZJH3.js.map} +0 -0
  662. /package/dist/{chunk-WT7VZDTI.js.map → chunk-DDNUPFPE.js.map} +0 -0
  663. /package/dist/{chunk-LZ5PGB7U.js.map → chunk-DYRZRY2T.js.map} +0 -0
  664. /package/dist/{chunk-73BMQ3VC.js.map → chunk-ENJOBJPK.js.map} +0 -0
  665. /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
  666. /package/dist/{chunk-U36BXXQ7.js.map → chunk-EP3DRILI.js.map} +0 -0
  667. /package/dist/{chunk-SYERREN5.js.map → chunk-FCLON3MO.js.map} +0 -0
  668. /package/dist/{chunk-33MMQHYU.js.map → chunk-FJ3UZ4RC.js.map} +0 -0
  669. /package/dist/{chunk-LNIK7FJO.js.map → chunk-FORQEHRQ.js.map} +0 -0
  670. /package/dist/{chunk-N3W6FZOC.js.map → chunk-FQGPYP2M.js.map} +0 -0
  671. /package/dist/{chunk-MAHY7PK3.js.map → chunk-FQMLTCXT.js.map} +0 -0
  672. /package/dist/{chunk-BDJIP4HG.js.map → chunk-FRUDRDJX.js.map} +0 -0
  673. /package/dist/{chunk-MO4FFK62.js.map → chunk-FXECKKPW.js.map} +0 -0
  674. /package/dist/{chunk-UWVVKUCG.js.map → chunk-FZEDQNUN.js.map} +0 -0
  675. /package/dist/{chunk-6LMYQJZP.js.map → chunk-GCBWZ3MX.js.map} +0 -0
  676. /package/dist/{chunk-YASSCBWN.js.map → chunk-GHP5JLL3.js.map} +0 -0
  677. /package/dist/{chunk-3S352ZSG.js.map → chunk-GLR5MSU3.js.map} +0 -0
  678. /package/dist/{chunk-ATJTGQYE.js.map → chunk-GOQOVKUZ.js.map} +0 -0
  679. /package/dist/{chunk-REMODSVN.js.map → chunk-HDTFLW42.js.map} +0 -0
  680. /package/dist/{chunk-SFVHZAGE.js.map → chunk-HG2YLNGJ.js.map} +0 -0
  681. /package/dist/{chunk-AMLHEKSV.js.map → chunk-HI7JPDD6.js.map} +0 -0
  682. /package/dist/{chunk-OKDAHCYE.js.map → chunk-HJJR2WGL.js.map} +0 -0
  683. /package/dist/{chunk-J34VGMA5.js.map → chunk-HNEZWVDR.js.map} +0 -0
  684. /package/dist/{chunk-YJPBNIEM.js.map → chunk-HUXAIQC5.js.map} +0 -0
  685. /package/dist/{chunk-OUI5IPS6.js.map → chunk-HWPQKHN2.js.map} +0 -0
  686. /package/dist/{chunk-MNNIOQTQ.js.map → chunk-I7JUAHUO.js.map} +0 -0
  687. /package/dist/{chunk-LC6ND4ET.js.map → chunk-IBOFASAZ.js.map} +0 -0
  688. /package/dist/{chunk-TNDTEI6D.js.map → chunk-IDRVQVDL.js.map} +0 -0
  689. /package/dist/{chunk-GYFKIPR2.js.map → chunk-IEAPXS57.js.map} +0 -0
  690. /package/dist/{chunk-NQCTANF3.js.map → chunk-IF5UY3CT.js.map} +0 -0
  691. /package/dist/{chunk-YHKHHSZH.js.map → chunk-IFX5KP65.js.map} +0 -0
  692. /package/dist/{chunk-XATRYJ4Q.js.map → chunk-IMCSY2SI.js.map} +0 -0
  693. /package/dist/{chunk-BARTUKJU.js.map → chunk-IU2WSJ4F.js.map} +0 -0
  694. /package/dist/{chunk-GVSRBFP3.js.map → chunk-IYDXKLCE.js.map} +0 -0
  695. /package/dist/{chunk-5NT2M2JI.js.map → chunk-JKIKHWD2.js.map} +0 -0
  696. /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
  697. /package/dist/{chunk-LCGK22QQ.js.map → chunk-JVTZ7FWR.js.map} +0 -0
  698. /package/dist/{chunk-BO6IMK5P.js.map → chunk-JZQYVGPV.js.map} +0 -0
  699. /package/dist/{chunk-3W2B7IZG.js.map → chunk-K6WY2CHG.js.map} +0 -0
  700. /package/dist/{chunk-RWCQ6TEM.js.map → chunk-KR4TN3OF.js.map} +0 -0
  701. /package/dist/{chunk-SUCVFEPT.js.map → chunk-KRPDBVUB.js.map} +0 -0
  702. /package/dist/{chunk-LRIPJ2D5.js.map → chunk-KRYOT3KB.js.map} +0 -0
  703. /package/dist/{chunk-3V3Z4EML.js.map → chunk-L4FWEI2P.js.map} +0 -0
  704. /package/dist/{chunk-I3OKAQ5L.js.map → chunk-L7HNQRFS.js.map} +0 -0
  705. /package/dist/{chunk-J7C7FPVO.js.map → chunk-LABIUXDM.js.map} +0 -0
  706. /package/dist/{chunk-GM7BG3SD.js.map → chunk-LLPPIO3K.js.map} +0 -0
  707. /package/dist/{chunk-RCTHCXS6.js.map → chunk-LRQT4MQO.js.map} +0 -0
  708. /package/dist/{chunk-LTSVYILY.js.map → chunk-LXMFHD7M.js.map} +0 -0
  709. /package/dist/{chunk-72OG3AGH.js.map → chunk-LYB6YYTG.js.map} +0 -0
  710. /package/dist/{chunk-DRJL3JHR.js.map → chunk-LZJHHMOF.js.map} +0 -0
  711. /package/dist/{chunk-Y4KR4LT2.js.map → chunk-MIUPTZS6.js.map} +0 -0
  712. /package/dist/{chunk-XXUTD74L.js.map → chunk-MK6UXAWY.js.map} +0 -0
  713. /package/dist/{chunk-BIUT3K6A.js.map → chunk-MKNW4FRR.js.map} +0 -0
  714. /package/dist/{chunk-NZDIO5UG.js.map → chunk-MVNFUIJS.js.map} +0 -0
  715. /package/dist/{chunk-APBIQH4G.js.map → chunk-N5OEDOJT.js.map} +0 -0
  716. /package/dist/{chunk-UAOE3ZPC.js.map → chunk-NEYZV6V5.js.map} +0 -0
  717. /package/dist/{chunk-ZXHODKHH.js.map → chunk-NKHNUTTY.js.map} +0 -0
  718. /package/dist/{chunk-JL4I7OQE.js.map → chunk-NOF2FF4K.js.map} +0 -0
  719. /package/dist/{chunk-WOSUYOAU.js.map → chunk-NQYC7V5N.js.map} +0 -0
  720. /package/dist/{chunk-ZCCKIWZU.js.map → chunk-NYA26GV2.js.map} +0 -0
  721. /package/dist/{chunk-N3LW5ER5.js.map → chunk-NZBEE2PR.js.map} +0 -0
  722. /package/dist/{chunk-DYHOBKPU.js.map → chunk-OA6T2ME3.js.map} +0 -0
  723. /package/dist/{chunk-WNIL2KTB.js.map → chunk-OQW4OERS.js.map} +0 -0
  724. /package/dist/{chunk-JJNY5MZL.js.map → chunk-OZYUE2BI.js.map} +0 -0
  725. /package/dist/{chunk-Y3TD7HOY.js.map → chunk-P4Q7JK4L.js.map} +0 -0
  726. /package/dist/{chunk-W676GY42.js.map → chunk-P772HCHI.js.map} +0 -0
  727. /package/dist/{chunk-4AJY7HMH.js.map → chunk-PD7MKJCM.js.map} +0 -0
  728. /package/dist/{chunk-ICKR3QTG.js.map → chunk-PGHSNG33.js.map} +0 -0
  729. /package/dist/{chunk-ZNJGEDCE.js.map → chunk-PGYYDSNX.js.map} +0 -0
  730. /package/dist/{chunk-KXTNTDRD.js.map → chunk-PPEHBI5O.js.map} +0 -0
  731. /package/dist/{chunk-5RPT32EL.js.map → chunk-PVIQDBUN.js.map} +0 -0
  732. /package/dist/{chunk-N3ZOZWP5.js.map → chunk-Q3HYEAVQ.js.map} +0 -0
  733. /package/dist/{chunk-HKQQ2NED.js.map → chunk-Q4GAPZDA.js.map} +0 -0
  734. /package/dist/{chunk-VUBFCHXL.js.map → chunk-Q7XLTN2D.js.map} +0 -0
  735. /package/dist/{chunk-6ATXOJVQ.js.map → chunk-QADTI63U.js.map} +0 -0
  736. /package/dist/{chunk-YQIT3ET7.js.map → chunk-QAH3XILB.js.map} +0 -0
  737. /package/dist/{chunk-YH7G44WL.js.map → chunk-QLJU7UUI.js.map} +0 -0
  738. /package/dist/{chunk-TVMSXL3R.js.map → chunk-QO7UJXXO.js.map} +0 -0
  739. /package/dist/{chunk-QQHZBJMU.js.map → chunk-RGVNXES5.js.map} +0 -0
  740. /package/dist/{chunk-MWPD2BXO.js.map → chunk-RHVJ3L4U.js.map} +0 -0
  741. /package/dist/{chunk-YV4O7KDR.js.map → chunk-S6HIZQIG.js.map} +0 -0
  742. /package/dist/{chunk-MQVIYTH5.js.map → chunk-SAKSIN7E.js.map} +0 -0
  743. /package/dist/{chunk-4HBCWKIX.js.map → chunk-SGFRSRAL.js.map} +0 -0
  744. /package/dist/{chunk-WLLUARTC.js.map → chunk-T2G4LDU5.js.map} +0 -0
  745. /package/dist/{chunk-37G7M2GJ.js.map → chunk-T6QVM5Q5.js.map} +0 -0
  746. /package/dist/{chunk-BLNFOP2O.js.map → chunk-T6YTDEY4.js.map} +0 -0
  747. /package/dist/{chunk-QTLM2YY2.js.map → chunk-TI4FGQYV.js.map} +0 -0
  748. /package/dist/{chunk-SB2SEGR6.js.map → chunk-TIM4PXWN.js.map} +0 -0
  749. /package/dist/{chunk-C2I7NQC4.js.map → chunk-U2ILXZDG.js.map} +0 -0
  750. /package/dist/{chunk-TR7ZA67L.js.map → chunk-U2QV4TTZ.js.map} +0 -0
  751. /package/dist/{chunk-3YFDGFEK.js.map → chunk-U4WAAZXJ.js.map} +0 -0
  752. /package/dist/{chunk-UQUN2NGE.js.map → chunk-UAFSEZ2E.js.map} +0 -0
  753. /package/dist/{chunk-D5Y4PNC5.js.map → chunk-ULAZDF6D.js.map} +0 -0
  754. /package/dist/{chunk-3OWFUFZL.js.map → chunk-UMI3GYWI.js.map} +0 -0
  755. /package/dist/{chunk-Q7QQXNL7.js.map → chunk-UT545JBQ.js.map} +0 -0
  756. /package/dist/{chunk-JXK53XJW.js.map → chunk-UTUYXH72.js.map} +0 -0
  757. /package/dist/{chunk-E72INDBL.js.map → chunk-UXOFA3ZP.js.map} +0 -0
  758. /package/dist/{chunk-54OJAOXC.js.map → chunk-V6KQ5R4T.js.map} +0 -0
  759. /package/dist/{chunk-FLJ3RIRP.js.map → chunk-VEKTKCSB.js.map} +0 -0
  760. /package/dist/{chunk-UJACXYC2.js.map → chunk-VHGHF537.js.map} +0 -0
  761. /package/dist/{chunk-OFXCSLGX.js.map → chunk-VLH3IMJG.js.map} +0 -0
  762. /package/dist/{chunk-AKBL7S7A.js.map → chunk-VPGDYI63.js.map} +0 -0
  763. /package/dist/{chunk-6DGNMASB.js.map → chunk-VPH3TENY.js.map} +0 -0
  764. /package/dist/{chunk-45AON4CS.js.map → chunk-VYQZ5U3N.js.map} +0 -0
  765. /package/dist/{chunk-GXSHLMT4.js.map → chunk-WDSJ6SVY.js.map} +0 -0
  766. /package/dist/{chunk-JMDT3GQ3.js.map → chunk-WMAS6DZR.js.map} +0 -0
  767. /package/dist/{chunk-XE7QBHXN.js.map → chunk-WTOA52EQ.js.map} +0 -0
  768. /package/dist/{chunk-D22FGMGU.js.map → chunk-XNMU32XC.js.map} +0 -0
  769. /package/dist/{chunk-PEMXXFXL.js.map → chunk-XQJPR57I.js.map} +0 -0
  770. /package/dist/{chunk-54F7QIV2.js.map → chunk-XW44IFYE.js.map} +0 -0
  771. /package/dist/{chunk-I2KAN3YB.js.map → chunk-Y3LK6ZQG.js.map} +0 -0
  772. /package/dist/{chunk-7AC2UGTU.js.map → chunk-Y46R26TE.js.map} +0 -0
  773. /package/dist/{chunk-GQ2T44BC.js.map → chunk-YEKPQAOW.js.map} +0 -0
  774. /package/dist/{chunk-ZGAOA7LN.js.map → chunk-YHPSPFU5.js.map} +0 -0
  775. /package/dist/{chunk-F6LZHF4O.js.map → chunk-YTDUIU7X.js.map} +0 -0
  776. /package/dist/{chunk-CO7GH3W7.js.map → chunk-YWXCLPCX.js.map} +0 -0
  777. /package/dist/{chunk-RIPG3QIN.js.map → chunk-Z445LLFN.js.map} +0 -0
  778. /package/dist/{chunk-M7HYNXCU.js.map → chunk-ZAPP32GD.js.map} +0 -0
  779. /package/dist/{chunk-MT74NRLY.js.map → chunk-ZLVRCQPG.js.map} +0 -0
  780. /package/dist/{chunk-KSJBFT4G.js.map → chunk-ZVZTQF7E.js.map} +0 -0
@@ -1,13 +1,13 @@
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";
7
7
 
8
8
  // src/components/data-display/DataViews/data-views-day-input.tsx
9
9
  import TextField from "@mui/material/TextField/index.js";
10
- import { useEffect, useState } from "react";
10
+ import { useEffect, useId, useState } from "react";
11
11
  import { jsx } from "react/jsx-runtime";
12
12
  var SEGMENT_WIDTH = { year: 4, month: 2, day: 2 };
13
13
  function segmentsOf(mask) {
@@ -62,13 +62,62 @@ function maskDate(raw, mask) {
62
62
  }
63
63
  return out.join(separator);
64
64
  }
65
+ var ISO_DAY = /^\s*(\d{4}-\d{2}-\d{2})\s*$/;
66
+ function readDayText(raw, mask) {
67
+ const iso = ISO_DAY.exec(raw)?.[1];
68
+ const masked = iso ? isoToMasked(iso, mask) : "";
69
+ return masked || maskDate(raw, mask);
70
+ }
71
+ function isImpossibleDay(text, mask) {
72
+ return text.replace(/\D/g, "").length === 8 && maskedToIso(text, mask) === "";
73
+ }
65
74
  function dayInputProps(testId, describedBy) {
75
+ const ids = describedBy.filter(Boolean).join(" ");
66
76
  return {
67
77
  "data-testid": testId,
68
78
  maxLength: 10,
69
79
  inputMode: "numeric",
70
80
  autoComplete: "off",
71
- ...describedBy ? { "aria-describedby": describedBy } : {}
81
+ ...ids ? { "aria-describedby": ids } : {}
82
+ };
83
+ }
84
+ function useDayText(applied, mask, onChange, judgesImpossible) {
85
+ const [text, setText] = useState(() => isoToMasked(applied, mask));
86
+ const impossible = judgesImpossible && isImpossibleDay(text, mask);
87
+ const enter = (next) => {
88
+ setText(next);
89
+ if (next === "") return onChange(void 0);
90
+ const iso = maskedToIso(next, mask);
91
+ if (iso) onChange(iso);
92
+ };
93
+ useEffect(() => {
94
+ setText((current) => {
95
+ const iso = maskedToIso(current, mask);
96
+ const means = (iso !== "" || current === "") && iso === applied;
97
+ return means ? current : isoToMasked(applied, mask);
98
+ });
99
+ }, [applied, mask]);
100
+ return {
101
+ text,
102
+ impossible,
103
+ handleChange: (event) => enter(readDayText(event.target.value, mask)),
104
+ // A pasted ISO day REPLACES the field whatever it held: inserted at the
105
+ // caret into existing digits it would be read as more digits, and the
106
+ // `maxLength` would cut a padded one before `onChange` ever saw it.
107
+ handlePaste: (event) => {
108
+ const pasted = event.clipboardData.getData("text");
109
+ if (!ISO_DAY.test(pasted)) return;
110
+ event.preventDefault();
111
+ enter(readDayText(pasted, mask));
112
+ },
113
+ // Leaving a half-typed date on screen would show a filter the list is not
114
+ // actually using. On blur the field snaps back to what IS applied; a
115
+ // complete date already equals it, so this only ever tidies. An impossible
116
+ // day the field is SAYING is impossible stays, with its message: snapping
117
+ // it back is the silent forgetting FUT-4144 removed.
118
+ handleBlur: () => {
119
+ if (!impossible) setText(isoToMasked(applied, mask));
120
+ }
72
121
  };
73
122
  }
74
123
  function DayBoundInput({
@@ -78,34 +127,32 @@ function DayBoundInput({
78
127
  testId,
79
128
  error = false,
80
129
  describedBy,
81
- mask
130
+ mask,
131
+ invalidMessage
82
132
  }) {
83
- const applied = value ?? "";
84
- const [text, setText] = useState(() => isoToMasked(applied, mask));
85
- useEffect(() => {
86
- setText(
87
- (current) => maskedToIso(current, mask) === applied ? current : isoToMasked(applied, mask)
88
- );
89
- }, [applied, mask]);
133
+ const id = useId();
134
+ const { text, impossible, handleChange, handlePaste, handleBlur } = useDayText(
135
+ value ?? "",
136
+ mask,
137
+ onChange,
138
+ invalidMessage !== void 0
139
+ );
90
140
  return /* @__PURE__ */ jsx(
91
141
  TextField,
92
142
  {
93
143
  size: "small",
94
144
  type: "text",
145
+ id,
95
146
  label,
96
- error,
147
+ error: error || impossible,
148
+ helperText: impossible ? invalidMessage : void 0,
97
149
  placeholder: mask,
98
150
  value: text,
99
- onChange: (event) => {
100
- const next = maskDate(event.target.value, mask);
101
- setText(next);
102
- if (next === "") return onChange(void 0);
103
- const iso = maskedToIso(next, mask);
104
- if (iso) onChange(iso);
105
- },
106
- onBlur: () => setText(isoToMasked(applied, mask)),
151
+ onChange: handleChange,
152
+ onPaste: handlePaste,
153
+ onBlur: handleBlur,
107
154
  InputLabelProps: { shrink: true },
108
- inputProps: dayInputProps(testId, describedBy),
155
+ inputProps: dayInputProps(testId, [impossible ? `${id}-helper-text` : void 0, describedBy]),
109
156
  sx: [{ width: sxRem(165) }, fieldTextFieldStyles]
110
157
  }
111
158
  );
@@ -115,6 +162,8 @@ export {
115
162
  isoToMasked,
116
163
  maskedToIso,
117
164
  maskDate,
165
+ readDayText,
166
+ isImpossibleDay,
118
167
  DayBoundInput
119
168
  };
120
- //# sourceMappingURL=chunk-62XVHRTX.js.map
169
+ //# sourceMappingURL=chunk-72HOUWAW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/data-views-day-input.tsx"],"sourcesContent":["'use client';\n\n/**\n * A day bound as a MASKED `dd/mm/aaaa` text field, replacing `<input type=\"date\">`.\n *\n * The native control is three separate segments wearing one box. Typing a date\n * means filling a segment, being jumped to the next, and starting over — and\n * which segment comes first is the BROWSER's locale, not ours, so the same\n * field reads `dd/mm/aaaa` for one merchant and `mm/dd/yyyy` for the next with\n * nothing in our code saying which. There is no way to type a date as one\n * continuous run of digits, which is how people actually type dates.\n *\n * A mask gives that back: eight digits straight through, separators inserted as\n * you go, backspace walking back through them.\n *\n * Measured, driving both controls in Chromium with the same eight keystrokes\n * (`01072026`, one `keydown` at a time):\n *\n * native → field ends EMPTY, no filter applied, 0 requests\n * masked → field reads `01/07/2026`, filter applied, 1 request\n *\n * The native result is the whole complaint: you type a date and nothing lands.\n *\n * The second half of the fix is WHEN the bound is written. A partially-typed\n * year is itself a valid date — `2026` passes through `0002`, `0020`, `0202` on\n * the way — so committing on every keystroke would send the grid off to fetch\n * years nobody meant. A bound is written only once the text is a WHOLE, real\n * date, which is what keeps the run above at one request rather than four.\n */\nimport TextField from '@mui/material/TextField/index.js';\nimport React, { useEffect, useId, useState } from 'react';\nimport { fieldTextFieldStyles } from '../../../tokens/field-height';\nimport { sxRem } from '../../../tokens/relative';\n\n\n/**\n * THE MASK IS THE ORDER, and both halves of this file read it.\n *\n * The placeholder a host supplies (`copy.filters.dayMask` — `dd/mm/aaaa` for\n * pt-BR, `mm/dd/yyyy` for en-US) is not decoration: it tells the reader which\n * segment comes first. Everything below therefore derives the segment order\n * FROM that same string, so the shape on screen and the shape the parser\n * expects cannot disagree.\n *\n * They did disagree, and the failure was silent in the worst direction. The\n * mask/parse pair was hardcoded day-first (the `Br` in the old names was\n * accurate) while the placeholder followed the copy pack — so under `en-US` the\n * field ASKED for `mm/dd/yyyy`, and a reader who typed exactly that got a day\n * of 12 and a month of 31, which is not a date, which commits nothing. No\n * error, no filter, a full list that reads like an answer. The en-US pack's own\n * comment already said the mask \"is the shape that gets a date entered\n * backwards\"; nothing enforced it.\n */\n\n/** What one segment of a mask is, and how many digits it takes. */\ntype DaySegment = 'year' | 'month' | 'day';\nconst SEGMENT_WIDTH: Readonly<Record<DaySegment, number>> = { year: 4, month: 2, day: 2 };\n\n/**\n * The segments a mask asks for, in its own order.\n *\n * Keyed on each token's FIRST letter so one rule covers every spelling a host\n * might use — `aaaa`/`yyyy` for the year, `mm` for the month, `dd`/`tt` for the\n * day. An unreadable mask falls back to day-first rather than throwing: this\n * runs on every keystroke, and a field that renders is recoverable where one\n * that crashes the grid is not.\n */\nfunction segmentsOf(mask: string): readonly DaySegment[] {\n const tokens = mask.split(/[^A-Za-z]+/).filter(Boolean);\n if (tokens.length !== 3) return ['day', 'month', 'year'];\n const segments = tokens.map((token): DaySegment => {\n const head = token.slice(0, 1).toLowerCase();\n if (head === 'y' || head === 'a') return 'year';\n return head === 'm' ? 'month' : 'day';\n });\n // A mask naming the same segment twice describes no date. Fall back rather\n // than build a parser that can never succeed.\n return new Set(segments).size === 3 ? segments : ['day', 'month', 'year'];\n}\n\n/** The separator the mask uses, defaulting to `/`. */\nconst separatorOf = (mask: string): string => mask.replace(/[A-Za-z]/g, '').slice(0, 1) || '/';\n\n/** `AAAA-MM-DD` (the wire) → the mask's own order (what the reader sees). */\nexport function isoToMasked(iso: string, mask: string): string {\n const parts = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(iso);\n if (!parts) return '';\n const value: Record<DaySegment, string> = {\n year: parts[1] as string,\n month: parts[2] as string,\n day: parts[3] as string,\n };\n return segmentsOf(mask)\n .map((segment) => value[segment])\n .join(separatorOf(mask));\n}\n\n/**\n * The mask's order → `AAAA-MM-DD`, but ONLY for a day that exists.\n *\n * `31/02/2026` parses fine as three numbers and is not a date, and `Date` would\n * silently roll it into March rather than reject it — so the round trip through\n * UTC is the check: if the month or day comes back changed, the input was not a\n * day.\n */\nexport function maskedToIso(text: string, mask: string): string {\n const segments = segmentsOf(mask);\n const digits = text.replace(/\\D/g, '');\n if (digits.length !== 8) return '';\n const value = {} as Record<DaySegment, string>;\n let cursor = 0;\n for (const segment of segments) {\n value[segment] = digits.slice(cursor, cursor + SEGMENT_WIDTH[segment]);\n cursor += SEGMENT_WIDTH[segment];\n }\n const year = Number(value.year);\n const month = Number(value.month);\n const day = Number(value.day);\n if (year < 1000) return '';\n const probe = new Date(Date.UTC(year, month - 1, day));\n if (probe.getUTCMonth() !== month - 1 || probe.getUTCDate() !== day) return '';\n return `${value.year}-${value.month}-${value.day}`;\n}\n\n/**\n * Digits only, capped at the mask's width, with the separators put back as you\n * type.\n *\n * Deriving the whole string from the digits — rather than editing the text in\n * place — is what makes backspace behave. Four digits of `dd/mm/aaaa` render as\n * `06/08`, not `06/08/`, so deleting the first digit of the year removes the\n * trailing separator with it instead of leaving a dead keystroke that changes\n * nothing.\n */\nexport function maskDate(raw: string, mask: string): string {\n const segments = segmentsOf(mask);\n const separator = separatorOf(mask);\n const digits = raw.replace(/\\D/g, '').slice(0, 8);\n const out: string[] = [];\n let cursor = 0;\n for (const segment of segments) {\n if (cursor >= digits.length) break;\n out.push(digits.slice(cursor, cursor + SEGMENT_WIDTH[segment]));\n cursor += SEGMENT_WIDTH[segment];\n }\n return out.join(separator);\n}\n\n/** A wire day on its own, as a paste or an autofill delivers it: `2026-10-01`. */\nconst ISO_DAY = /^\\s*(\\d{4}-\\d{2}-\\d{2})\\s*$/;\n\n/**\n * What the field shows for whatever arrived — typed, pasted, autofilled.\n *\n * A whole ISO day (`AAAA-MM-DD`) is READ AS THAT DAY and written in the mask's\n * order. Through `maskDate` alone it is eight digits taken day-first, so a\n * pasted `2026-10-01` came out as `20/26/1001` (FUT-4144). Anything else is\n * masked exactly as typing always was, so the typed and pasted forms of one day\n * land on the same text.\n */\nexport function readDayText(raw: string, mask: string): string {\n const iso = ISO_DAY.exec(raw)?.[1];\n const masked = iso ? isoToMasked(iso, mask) : '';\n return masked || maskDate(raw, mask);\n}\n\n/**\n * Whether `text` is a WHOLE day that does not exist — `31/02/2026`. A partial\n * entry is not impossible, only unfinished, and is never flagged.\n */\nexport function isImpossibleDay(text: string, mask: string): boolean {\n return text.replace(/\\D/g, '').length === 8 && maskedToIso(text, mask) === '';\n}\n\n/**\n * What has to land on the `<input>` itself rather than on the `TextField`.\n *\n * Anything `TextField` does not recognise is spread onto its root `FormControl`\n * div. `inputMode` went up there once: the attribute sat on a non-editable\n * wrapper, meant nothing, and the phone went on offering the letter keyboard\n * for a field that only takes digits (the `dd/mm/aaaa` hint under a QWERTY\n * layout). Only the `<input>` this reaches decides which keypad opens — and the\n * same is true of `aria-describedby`, which on the wrapper points at a\n * description no screen reader will read out for the field.\n *\n * `numeric` and not `tel`: both raise a keypad, but the phone one is a dialler\n * with `+ * #` on it — keys that cannot occur in a date. A paste carrying\n * separators still lands, because the MASK is what filters the text; the keypad\n * only narrows what a thumb can reach for.\n *\n * Autofill off for the same reason: the browser's saved-value strip covers the\n * keypad to suggest names and addresses, none of which are a date, and none of\n * which the mask would keep.\n */\nfunction dayInputProps(testId: string, describedBy: readonly (string | undefined)[]) {\n const ids = describedBy.filter(Boolean).join(' ');\n return {\n 'data-testid': testId,\n maxLength: 10,\n inputMode: 'numeric' as const,\n autoComplete: 'off',\n ...(ids ? { 'aria-describedby': ids } : {}),\n };\n}\n\n/** Props of {@link DayBoundInput}. */\ninterface DayBoundInputProps {\n label: string;\n /** The applied bound, `AAAA-MM-DD`, or undefined when this end is open. */\n value: string | undefined;\n onChange: (bound: string | undefined) => void;\n testId: string;\n /**\n * Paint the field as rejected. It only ever writes a real day by itself, so\n * this is for a caller judging the PAIR: a window whose end precedes its\n * start is two valid days and one impossible period, and the field it was\n * typed into is the only place to say which half is being complained about.\n */\n error?: boolean;\n /** Id of the element carrying that complaint, so it is read WITH the field. */\n describedBy?: string;\n /**\n * The day mask, which IS the placeholder — so the expected ORDER is on\n * screen before the first keystroke rather than discovered by getting it\n * wrong. `dd/mm/aaaa` is one locale's order and one locale's letters.\n *\n * A PROP rather than a context read: this field has two callers, and only\n * one of them is inside DataViews. `DateRangePicker` mounts it standalone\n * with its own message table, so a context read here throws for every host\n * of that picker — which is exactly what it did.\n */\n mask: string;\n /**\n * Said under the field when its eight digits name no day (`31/02/2026`); the\n * field is then marked invalid and KEEPS the text on blur, so the reader sees\n * what was refused instead of the old value quietly coming back (FUT-4144).\n *\n * Opt-in, because the field ships no words of its own: without it an\n * impossible day is still never written, and blur still snaps back.\n */\n invalidMessage?: string;\n}\n\n/** What {@link useDayText} hands the field: its text, its verdict and its handlers. */\ninterface DayText {\n text: string;\n impossible: boolean;\n handleChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n handlePaste: (event: React.ClipboardEvent<HTMLDivElement>) => void;\n handleBlur: () => void;\n}\n\n/** The typed text of one bound, kept apart from the APPLIED bound it may commit. */\nfunction useDayText(\n applied: string,\n mask: string,\n onChange: (bound: string | undefined) => void,\n judgesImpossible: boolean,\n): DayText {\n const [text, setText] = useState(() => isoToMasked(applied, mask));\n const impossible = judgesImpossible && isImpossibleDay(text, mask);\n\n // Emptying clears the bound. A COMPLETE day applies it. A partial (or an\n // impossible) one does NEITHER — it leaves whatever is applied alone, so\n // typing is never fought and a half-typed year never reaches the backend.\n const enter = (next: string) => {\n setText(next);\n if (next === '') return onChange(undefined);\n const iso = maskedToIso(next, mask);\n if (iso) onChange(iso);\n };\n\n // The bound is the APPLIED filter; `text` is what is being typed. Re-sync only\n // when the applied value moved somewhere the text does not already mean — a\n // \"Limpar\", a saved view, the other pill resetting the pair. Without that\n // guard the field's own write bounces straight back mid-edit and resets the\n // caret, which is the native control's worst habit reproduced by hand.\n //\n // \"Already means\" is a REAL day equal to the bound, or an empty field for an\n // open bound. An impossible day parses to `''` too, so a bare comparison let\n // a \"Limpar\" (applied → `''`) keep `31/02/2026` on screen, red, over a filter\n // that had just been cleared.\n useEffect(() => {\n setText((current) => {\n const iso = maskedToIso(current, mask);\n const means = (iso !== '' || current === '') && iso === applied;\n return means ? current : isoToMasked(applied, mask);\n });\n }, [applied, mask]);\n\n return {\n text,\n impossible,\n handleChange: (event) => enter(readDayText(event.target.value, mask)),\n // A pasted ISO day REPLACES the field whatever it held: inserted at the\n // caret into existing digits it would be read as more digits, and the\n // `maxLength` would cut a padded one before `onChange` ever saw it.\n handlePaste: (event) => {\n const pasted = event.clipboardData.getData('text');\n if (!ISO_DAY.test(pasted)) return;\n event.preventDefault();\n enter(readDayText(pasted, mask));\n },\n // Leaving a half-typed date on screen would show a filter the list is not\n // actually using. On blur the field snaps back to what IS applied; a\n // complete date already equals it, so this only ever tidies. An impossible\n // day the field is SAYING is impossible stays, with its message: snapping\n // it back is the silent forgetting FUT-4144 removed.\n handleBlur: () => {\n if (!impossible) setText(isoToMasked(applied, mask));\n },\n };\n}\n\n/**\n * One end of a day window. The BOUND stays `AAAA-MM-DD` — the form the backend's\n * inclusive day comparison already speaks, and the form the chip label reads —\n * so only the typing surface changes.\n */\nexport function DayBoundInput({\n label,\n value,\n onChange,\n testId,\n error = false,\n describedBy,\n mask,\n invalidMessage,\n}: DayBoundInputProps): React.JSX.Element {\n const id = useId();\n const { text, impossible, handleChange, handlePaste, handleBlur } = useDayText(\n value ?? '',\n mask,\n onChange,\n invalidMessage !== undefined,\n );\n\n return (\n <TextField\n size=\"small\"\n type=\"text\"\n id={id}\n label={label}\n error={error || impossible}\n helperText={impossible ? invalidMessage : undefined}\n placeholder={mask}\n value={text}\n onChange={handleChange}\n onPaste={handlePaste}\n onBlur={handleBlur}\n // The placeholder occupies the space an un-shrunk label would render into.\n InputLabelProps={{ shrink: true }}\n inputProps={dayInputProps(testId, [impossible ? `${id}-helper-text` : undefined, describedBy])}\n sx={[{ width: sxRem(165) }, fieldTextFieldStyles]}\n />\n );\n}\n"],"mappings":"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","names":[]}
@@ -7,13 +7,13 @@ import {
7
7
  import {
8
8
  asFieldSize,
9
9
  fieldHeight
10
- } from "./chunk-QQHZBJMU.js";
11
- import {
12
- fieldEdge
13
- } from "./chunk-7ZADLRLP.js";
10
+ } from "./chunk-RGVNXES5.js";
14
11
  import {
15
12
  fieldRadius
16
13
  } from "./chunk-GDN2LUTZ.js";
14
+ import {
15
+ fieldEdge
16
+ } from "./chunk-7ZADLRLP.js";
17
17
  import {
18
18
  FIELD_BORDER_WIDTH
19
19
  } from "./chunk-O6MJWHU5.js";
@@ -264,4 +264,4 @@ export {
264
264
  segmentContainerSx,
265
265
  segmentButtonSx
266
266
  };
267
- //# sourceMappingURL=chunk-2D4WKET2.js.map
267
+ //# sourceMappingURL=chunk-75FHDUJW.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4XK6JQ4D.js";
4
4
  import {
5
5
  ToggleGroup
6
- } from "./chunk-TR7ZA67L.js";
6
+ } from "./chunk-U2QV4TTZ.js";
7
7
  import {
8
8
  FormControl,
9
9
  FormLabel,
@@ -38,4 +38,4 @@ function ToggleField({ name, options, label }) {
38
38
  export {
39
39
  ToggleField
40
40
  };
41
- //# sourceMappingURL=chunk-66QQ7YQN.js.map
41
+ //# sourceMappingURL=chunk-75I42HHE.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fieldHeight
3
- } from "./chunk-QQHZBJMU.js";
3
+ } from "./chunk-RGVNXES5.js";
4
4
  import {
5
5
  fieldRadiusPx
6
6
  } from "./chunk-GDN2LUTZ.js";
@@ -192,4 +192,4 @@ function SortByDropdown({
192
192
  export {
193
193
  SortByDropdown
194
194
  };
195
- //# sourceMappingURL=chunk-AAREDFH6.js.map
195
+ //# sourceMappingURL=chunk-7TKQIZ3K.js.map
@@ -1,15 +1,15 @@
1
- import {
2
- freshnessOf
3
- } from "./chunk-XPMGFAJ3.js";
4
1
  import {
5
2
  FLEET_DOT,
6
3
  FLEET_ROSTER,
7
4
  FLEET_ROW,
8
5
  FLEET_SKELETON
9
6
  } from "./chunk-BTQZ3EX3.js";
7
+ import {
8
+ freshnessOf
9
+ } from "./chunk-XPMGFAJ3.js";
10
10
  import {
11
11
  Skeleton
12
- } from "./chunk-62SXUU5U.js";
12
+ } from "./chunk-3DPPDGOF.js";
13
13
  import {
14
14
  rem
15
15
  } from "./chunk-YKCAJ2TN.js";
@@ -220,4 +220,4 @@ function FleetRoster({
220
220
  export {
221
221
  FleetRoster
222
222
  };
223
- //# sourceMappingURL=chunk-WPFVQVQC.js.map
223
+ //# sourceMappingURL=chunk-7VUXSNVZ.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-3ZVUNSFF.js";
6
6
  import {
7
7
  AvatarView
8
- } from "./chunk-7XSCEHGA.js";
8
+ } from "./chunk-EOQ6EKTS.js";
9
9
  import {
10
10
  BORDER_WIDTH,
11
11
  GROUP_HOVER,
@@ -178,4 +178,4 @@ export {
178
178
  Avatar,
179
179
  AvatarGroup
180
180
  };
181
- //# sourceMappingURL=chunk-4J62V5OE.js.map
181
+ //# sourceMappingURL=chunk-7YJYIMWP.js.map
@@ -0,0 +1,226 @@
1
+ import {
2
+ labelPosition
3
+ } from "./chunk-COOSJKZL.js";
4
+ import {
5
+ rem,
6
+ remPx
7
+ } from "./chunk-YKCAJ2TN.js";
8
+
9
+ // src/components/data-display/RegionMap/RegionMapDrawing.tsx
10
+ import Box from "@mui/material/Box/index.js";
11
+ import Typography from "@mui/material/Typography/index.js";
12
+ import { alpha } from "@mui/material/styles/index.js";
13
+ import React from "react";
14
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
15
+ function RegionMapDrawing({
16
+ model,
17
+ showCenter,
18
+ highlightedIds,
19
+ maxHeight,
20
+ label,
21
+ tappable,
22
+ testId,
23
+ theme
24
+ }) {
25
+ const hatchId = `${React.useId().replace(/:/g, "")}-hatch`;
26
+ const { view, drawn } = model;
27
+ const wanted = new Set(highlightedIds);
28
+ const highlighted = drawn.filter((d) => wanted.has(d.id));
29
+ const labelled = [...drawn.filter((d) => d.excluded), ...highlighted.filter((d) => !d.excluded)];
30
+ const base = drawn.map((d) => ({ id: d.id, name: d.name, geometry: d.geometry, outside: d.outside === true }));
31
+ return /* @__PURE__ */ jsxs(
32
+ Box,
33
+ {
34
+ sx: {
35
+ position: "relative",
36
+ width: "100%",
37
+ maxWidth: maxHeight,
38
+ maxHeight,
39
+ aspectRatio: "1 / 1",
40
+ border: 1,
41
+ borderColor: "divider",
42
+ borderRadius: 1,
43
+ overflow: "hidden",
44
+ bgcolor: "background.paper"
45
+ },
46
+ "data-testid": `${testId}-canvas`,
47
+ children: [
48
+ /* @__PURE__ */ jsxs(
49
+ "svg",
50
+ {
51
+ viewBox: `${view.minX} ${view.minY} ${view.spanX} ${view.spanY}`,
52
+ role: "img",
53
+ "aria-label": label,
54
+ onPointerDown: model.onPointerDown,
55
+ onClick: model.onClick,
56
+ style: { display: "block", width: "100%", height: "100%", cursor: tappable ? "pointer" : "default" },
57
+ children: [
58
+ /* @__PURE__ */ jsx(Hatch, { id: hatchId, pitch: view.spanX / 70, theme }),
59
+ /* @__PURE__ */ jsx(BaseAreas, { areas: base, testId, theme }),
60
+ /* @__PURE__ */ jsx(ExcludedAreas, { drawn, hatchId, testId, theme }),
61
+ /* @__PURE__ */ jsx(Circles, { radii: model.radii, theme }),
62
+ highlighted.map((d) => /* @__PURE__ */ jsx(
63
+ "path",
64
+ {
65
+ d: d.geometry.path,
66
+ fillRule: "evenodd",
67
+ vectorEffect: "non-scaling-stroke",
68
+ fill: alpha(theme.palette.primary.main, 0.3),
69
+ stroke: theme.palette.primary.main,
70
+ strokeWidth: 2.5,
71
+ pointerEvents: "none",
72
+ "data-testid": `${testId}-highlight-${d.id}`
73
+ },
74
+ `h-${d.id}`
75
+ )),
76
+ showCenter && /* @__PURE__ */ jsx(
77
+ "circle",
78
+ {
79
+ cx: 0,
80
+ cy: 0,
81
+ r: view.spanX / 90,
82
+ fill: theme.palette.primary.main,
83
+ stroke: theme.palette.background.paper,
84
+ strokeWidth: 2,
85
+ vectorEffect: "non-scaling-stroke",
86
+ pointerEvents: "none",
87
+ "data-testid": `${testId}-center`
88
+ }
89
+ )
90
+ ]
91
+ }
92
+ ),
93
+ labelled.map((d) => /* @__PURE__ */ jsx(AreaLabel, { area: d, view, testId, theme }, `l-${d.id}`))
94
+ ]
95
+ }
96
+ );
97
+ }
98
+ function Hatch({ id, pitch, theme }) {
99
+ return /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("pattern", { id, width: pitch, height: pitch, patternUnits: "userSpaceOnUse", patternTransform: "rotate(45)", children: [
100
+ /* @__PURE__ */ jsx("rect", { width: pitch, height: pitch, fill: alpha(theme.palette.text.primary, 0.1) }),
101
+ /* @__PURE__ */ jsx("rect", { width: pitch / 3, height: pitch, fill: theme.palette.text.secondary })
102
+ ] }) });
103
+ }
104
+ function sameBase(a, b) {
105
+ if (a.theme !== b.theme || a.testId !== b.testId || a.areas.length !== b.areas.length) return false;
106
+ return a.areas.every((area, i) => {
107
+ const other = b.areas[i];
108
+ return area.id === other.id && area.geometry === other.geometry && area.outside === other.outside && area.name === other.name;
109
+ });
110
+ }
111
+ var BaseAreas = React.memo(function BaseAreas2({ areas, testId, theme }) {
112
+ const { palette } = theme;
113
+ return /* @__PURE__ */ jsx(Fragment, { children: areas.map((d) => /* @__PURE__ */ jsx(
114
+ "path",
115
+ {
116
+ d: d.geometry.path,
117
+ fillRule: "evenodd",
118
+ vectorEffect: "non-scaling-stroke",
119
+ fill: d.outside ? palette.background.paper : palette.action.hover,
120
+ stroke: palette.divider,
121
+ strokeWidth: 1,
122
+ "data-region-id": d.id,
123
+ "data-testid": `${testId}-area-${d.id}`,
124
+ children: /* @__PURE__ */ jsx("title", { children: d.name })
125
+ },
126
+ d.id
127
+ )) });
128
+ }, sameBase);
129
+ function ExcludedAreas({
130
+ drawn,
131
+ hatchId,
132
+ testId,
133
+ theme
134
+ }) {
135
+ return /* @__PURE__ */ jsx(Fragment, { children: drawn.filter((d) => d.excluded).map((d) => /* @__PURE__ */ jsx(
136
+ "path",
137
+ {
138
+ d: d.geometry.path,
139
+ fillRule: "evenodd",
140
+ vectorEffect: "non-scaling-stroke",
141
+ fill: `url(#${hatchId})`,
142
+ stroke: theme.palette.text.secondary,
143
+ strokeWidth: 1.5,
144
+ pointerEvents: "none",
145
+ "data-testid": `${testId}-excluded-${d.id}`
146
+ },
147
+ `x-${d.id}`
148
+ )) });
149
+ }
150
+ function Circles({ radii, theme }) {
151
+ return /* @__PURE__ */ jsx(Fragment, { children: radii.map((radius) => /* @__PURE__ */ jsx(
152
+ "circle",
153
+ {
154
+ cx: 0,
155
+ cy: 0,
156
+ r: radius,
157
+ fill: "none",
158
+ stroke: theme.palette.info.main,
159
+ strokeWidth: 1.75,
160
+ strokeDasharray: "7 5",
161
+ vectorEffect: "non-scaling-stroke",
162
+ pointerEvents: "none"
163
+ },
164
+ radius
165
+ )) });
166
+ }
167
+ function clampCentre(wanted, half, span, gap) {
168
+ if (span <= 2 * (half + gap)) return span / 2;
169
+ return Math.min(span - half - gap, Math.max(half + gap, wanted));
170
+ }
171
+ function AreaLabel({
172
+ area,
173
+ view,
174
+ testId,
175
+ theme
176
+ }) {
177
+ const at = labelPosition(area.geometry.rings, view);
178
+ const ref = React.useRef(null);
179
+ const gap = remPx(theme, 4);
180
+ React.useEffect(() => {
181
+ const label = ref.current;
182
+ const box = label?.parentElement;
183
+ if (!label || !box || typeof ResizeObserver === "undefined") return void 0;
184
+ const observer = new ResizeObserver(() => {
185
+ const width = box.clientWidth;
186
+ const height = box.clientHeight;
187
+ if (width === 0 || height === 0) return;
188
+ const x = clampCentre(at.fractionX * width, label.offsetWidth / 2, width, gap);
189
+ const y = clampCentre(at.fractionY * height, label.offsetHeight / 2, height, gap);
190
+ label.style.left = `${x / width * 100}%`;
191
+ label.style.top = `${y / height * 100}%`;
192
+ });
193
+ observer.observe(box);
194
+ observer.observe(label);
195
+ return () => observer.disconnect();
196
+ }, [at.fractionX, at.fractionY, gap]);
197
+ const halo = `0 0 ${rem(theme, 3)} ${theme.palette.background.paper}`;
198
+ return /* @__PURE__ */ jsx(
199
+ Typography,
200
+ {
201
+ ref,
202
+ component: "span",
203
+ "aria-hidden": true,
204
+ "data-testid": `${testId}-label-${area.id}`,
205
+ style: { left: `${(at.fractionX * 100).toFixed(2)}%`, top: `${(at.fractionY * 100).toFixed(2)}%` },
206
+ sx: {
207
+ position: "absolute",
208
+ transform: "translate(-50%, -50%)",
209
+ fontSize: rem(theme, 11),
210
+ fontWeight: 700,
211
+ lineHeight: 1.1,
212
+ textAlign: "center",
213
+ maxWidth: "45%",
214
+ color: "text.primary",
215
+ pointerEvents: "none",
216
+ textShadow: `${halo}, ${halo}`
217
+ },
218
+ children: area.name
219
+ }
220
+ );
221
+ }
222
+
223
+ export {
224
+ RegionMapDrawing
225
+ };
226
+ //# sourceMappingURL=chunk-A63WU4UZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/RegionMap/RegionMapDrawing.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { rem, remPx } from '../../../tokens/relative';\n\nimport { labelPosition, type AreaGeometry, type DrawnRegion, type PlaneBox } from './RegionMap.helpers';\nimport type { RegionMapModel } from './RegionMap.hooks';\n\nexport interface RegionMapDrawingProps {\n model: RegionMapModel & { view: PlaneBox };\n showCenter: boolean;\n highlightedIds: readonly string[];\n maxHeight: string | undefined;\n label: string;\n tappable: boolean;\n testId: string;\n theme: Theme;\n}\n\n/**\n * The drawing: one `role=\"img\"`, square, with HTML labels laid over it.\n *\n * Strokes are `non-scaling-stroke` and labels are HTML at theme sizes, so the\n * picture reads the same at 320 px and 1600 px; `maxHeight` caps it on a wide\n * screen. Where it sits in a wider box is the host's call.\n *\n * The base areas are a memoised layer: a toggle changes `excluded`, not the\n * geometry, so only the hatch, highlight and label layers re-render.\n */\nexport function RegionMapDrawing({\n model,\n showCenter,\n highlightedIds,\n maxHeight,\n label,\n tappable,\n testId,\n theme,\n}: RegionMapDrawingProps): React.JSX.Element {\n const hatchId = `${React.useId().replace(/:/g, '')}-hatch`;\n const { view, drawn } = model;\n const wanted = new Set(highlightedIds);\n const highlighted = drawn.filter((d) => wanted.has(d.id));\n const labelled = [...drawn.filter((d) => d.excluded), ...highlighted.filter((d) => !d.excluded)];\n const base = drawn.map((d) => ({ id: d.id, name: d.name, geometry: d.geometry, outside: d.outside === true }));\n return (\n <Box\n sx={{\n position: 'relative',\n width: '100%',\n maxWidth: maxHeight,\n maxHeight,\n aspectRatio: '1 / 1',\n border: 1,\n borderColor: 'divider',\n borderRadius: 1,\n overflow: 'hidden',\n bgcolor: 'background.paper',\n }}\n data-testid={`${testId}-canvas`}\n >\n <svg\n viewBox={`${view.minX} ${view.minY} ${view.spanX} ${view.spanY}`}\n role=\"img\"\n aria-label={label}\n onPointerDown={model.onPointerDown}\n onClick={model.onClick}\n style={{ display: 'block', width: '100%', height: '100%', cursor: tappable ? 'pointer' : 'default' }}\n >\n <Hatch id={hatchId} pitch={view.spanX / 70} theme={theme} />\n <BaseAreas areas={base} testId={testId} theme={theme} />\n <ExcludedAreas drawn={drawn} hatchId={hatchId} testId={testId} theme={theme} />\n <Circles radii={model.radii} theme={theme} />\n {highlighted.map((d) => (\n <path\n key={`h-${d.id}`}\n d={d.geometry.path}\n fillRule=\"evenodd\"\n vectorEffect=\"non-scaling-stroke\"\n fill={alpha(theme.palette.primary.main, 0.3)}\n stroke={theme.palette.primary.main}\n strokeWidth={2.5}\n pointerEvents=\"none\"\n data-testid={`${testId}-highlight-${d.id}`}\n />\n ))}\n {showCenter && (\n <circle\n cx={0}\n cy={0}\n r={view.spanX / 90}\n fill={theme.palette.primary.main}\n stroke={theme.palette.background.paper}\n strokeWidth={2}\n vectorEffect=\"non-scaling-stroke\"\n pointerEvents=\"none\"\n data-testid={`${testId}-center`}\n />\n )}\n </svg>\n {labelled.map((d) => (\n <AreaLabel key={`l-${d.id}`} area={d} view={view} testId={testId} theme={theme} />\n ))}\n </Box>\n );\n}\n\n/** The hatch an excluded area is filled with: lines, not a colour. */\nfunction Hatch({ id, pitch, theme }: { id: string; pitch: number; theme: Theme }): React.JSX.Element {\n return (\n <defs>\n <pattern id={id} width={pitch} height={pitch} patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\">\n <rect width={pitch} height={pitch} fill={alpha(theme.palette.text.primary, 0.1)} />\n <rect width={pitch / 3} height={pitch} fill={theme.palette.text.secondary} />\n </pattern>\n </defs>\n );\n}\n\ninterface BaseArea {\n id: string;\n name: string;\n geometry: AreaGeometry;\n outside: boolean;\n}\n\ninterface BaseAreasProps {\n areas: readonly BaseArea[];\n testId: string;\n theme: Theme;\n}\n\n/** Same areas, same geometry objects, same look: nothing to re-render. */\nfunction sameBase(a: BaseAreasProps, b: BaseAreasProps): boolean {\n if (a.theme !== b.theme || a.testId !== b.testId || a.areas.length !== b.areas.length) return false;\n return a.areas.every((area, i) => {\n const other = b.areas[i]!;\n return (\n area.id === other.id &&\n area.geometry === other.geometry &&\n area.outside === other.outside &&\n area.name === other.name\n );\n });\n}\n\n/** Every area's fill and border — the tap targets. Memoised: see `sameBase`. */\nconst BaseAreas = React.memo(function BaseAreas({ areas, testId, theme }: BaseAreasProps): React.JSX.Element {\n const { palette } = theme;\n return (\n <>\n {areas.map((d) => (\n <path\n key={d.id}\n d={d.geometry.path}\n fillRule=\"evenodd\"\n vectorEffect=\"non-scaling-stroke\"\n fill={d.outside ? palette.background.paper : palette.action.hover}\n stroke={palette.divider}\n strokeWidth={1}\n data-region-id={d.id}\n data-testid={`${testId}-area-${d.id}`}\n >\n <title>{d.name}</title>\n </path>\n ))}\n </>\n );\n}, sameBase);\n\n/** The hatch over every excluded area. */\nfunction ExcludedAreas({\n drawn,\n hatchId,\n testId,\n theme,\n}: {\n drawn: readonly DrawnRegion[];\n hatchId: string;\n testId: string;\n theme: Theme;\n}): React.JSX.Element {\n return (\n <>\n {drawn\n .filter((d) => d.excluded)\n .map((d) => (\n <path\n key={`x-${d.id}`}\n d={d.geometry.path}\n fillRule=\"evenodd\"\n vectorEffect=\"non-scaling-stroke\"\n fill={`url(#${hatchId})`}\n stroke={theme.palette.text.secondary}\n strokeWidth={1.5}\n pointerEvents=\"none\"\n data-testid={`${testId}-excluded-${d.id}`}\n />\n ))}\n </>\n );\n}\n\n/** The dashed circles around the centre. */\nfunction Circles({ radii, theme }: { radii: readonly number[]; theme: Theme }): React.JSX.Element {\n return (\n <>\n {radii.map((radius) => (\n <circle\n key={radius}\n cx={0}\n cy={0}\n r={radius}\n fill=\"none\"\n stroke={theme.palette.info.main}\n strokeWidth={1.75}\n strokeDasharray=\"7 5\"\n vectorEffect=\"non-scaling-stroke\"\n pointerEvents=\"none\"\n />\n ))}\n </>\n );\n}\n\n/** Where a label's centre may go along one axis so the whole label stays in view. */\nfunction clampCentre(wanted: number, half: number, span: number, gap: number): number {\n if (span <= 2 * (half + gap)) return span / 2;\n return Math.min(span - half - gap, Math.max(half + gap, wanted));\n}\n\n/**\n * An area's name over the drawing, at the theme's type size whatever the\n * width — and moved in by its own measured size, so it is never clipped at\n * the drawing's edge.\n */\nfunction AreaLabel({\n area,\n view,\n testId,\n theme,\n}: {\n area: DrawnRegion;\n view: PlaneBox;\n testId: string;\n theme: Theme;\n}): React.JSX.Element {\n const at = labelPosition(area.geometry.rings, view);\n const ref = React.useRef<HTMLSpanElement>(null);\n const gap = remPx(theme, 4);\n // Measured by a ResizeObserver, never in a layout effect: the observer's\n // first call comes after the browser's own layout, so mounting a label on a\n // tap forces no synchronous reflow of the drawing.\n React.useEffect(() => {\n const label = ref.current;\n const box = label?.parentElement;\n if (!label || !box || typeof ResizeObserver === 'undefined') return undefined;\n const observer = new ResizeObserver(() => {\n const width = box.clientWidth;\n const height = box.clientHeight;\n if (width === 0 || height === 0) return;\n const x = clampCentre(at.fractionX * width, label.offsetWidth / 2, width, gap);\n const y = clampCentre(at.fractionY * height, label.offsetHeight / 2, height, gap);\n label.style.left = `${(x / width) * 100}%`;\n label.style.top = `${(y / height) * 100}%`;\n });\n observer.observe(box);\n observer.observe(label);\n return () => observer.disconnect();\n }, [at.fractionX, at.fractionY, gap]);\n const halo = `0 0 ${rem(theme, 3)} ${theme.palette.background.paper}`;\n return (\n <Typography\n ref={ref}\n component=\"span\"\n aria-hidden\n data-testid={`${testId}-label-${area.id}`}\n // Position as an inline style, not `sx`: a per-label class would insert\n // a new CSS rule (and a style recalculation) on every tap.\n style={{ left: `${(at.fractionX * 100).toFixed(2)}%`, top: `${(at.fractionY * 100).toFixed(2)}%` }}\n sx={{\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n fontSize: rem(theme, 11),\n fontWeight: 700,\n lineHeight: 1.1,\n textAlign: 'center',\n maxWidth: '45%',\n color: 'text.primary',\n pointerEvents: 'none',\n textShadow: `${halo}, ${halo}`,\n }}\n >\n {area.name}\n </Typography>\n );\n}\n"],"mappings":"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","names":["BaseAreas"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-ABRUOINB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-4XK6JQ4D.js";
4
4
  import {
5
5
  Button
6
- } from "./chunk-OKDAHCYE.js";
6
+ } from "./chunk-HJJR2WGL.js";
7
7
  import {
8
8
  fieldHeight
9
- } from "./chunk-QQHZBJMU.js";
9
+ } from "./chunk-RGVNXES5.js";
10
10
  import {
11
11
  sxRem
12
12
  } from "./chunk-YKCAJ2TN.js";
@@ -34,4 +34,4 @@ function SubmitButton({
34
34
  export {
35
35
  SubmitButton
36
36
  };
37
- //# sourceMappingURL=chunk-UERGWYGY.js.map
37
+ //# sourceMappingURL=chunk-ABRVOPC2.js.map
@@ -7,13 +7,13 @@ import {
7
7
  import {
8
8
  fieldHeight,
9
9
  fieldTextFieldStyles
10
- } from "./chunk-QQHZBJMU.js";
11
- import {
12
- fieldEdge
13
- } from "./chunk-7ZADLRLP.js";
10
+ } from "./chunk-RGVNXES5.js";
14
11
  import {
15
12
  fieldRadiusPx
16
13
  } from "./chunk-GDN2LUTZ.js";
14
+ import {
15
+ fieldEdge
16
+ } from "./chunk-7ZADLRLP.js";
17
17
  import {
18
18
  rem,
19
19
  sxRem
@@ -154,4 +154,4 @@ export {
154
154
  InlineKeyword,
155
155
  CollapsedSearch
156
156
  };
157
- //# sourceMappingURL=chunk-M74YHHJE.js.map
157
+ //# sourceMappingURL=chunk-ACBHZG3Z.js.map
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-ACFKPE2T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  FleetCanvas
3
- } from "./chunk-GYFKIPR2.js";
3
+ } from "./chunk-IEAPXS57.js";
4
4
  import {
5
5
  FleetRoster
6
- } from "./chunk-WPFVQVQC.js";
6
+ } from "./chunk-7VUXSNVZ.js";
7
7
  import {
8
8
  rem
9
9
  } from "./chunk-YKCAJ2TN.js";
@@ -79,4 +79,4 @@ function FleetBody({
79
79
  export {
80
80
  FleetBody
81
81
  };
82
- //# sourceMappingURL=chunk-XKPV52CG.js.map
82
+ //# sourceMappingURL=chunk-ARMKSYEQ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-6DPAWXZ3.js";
4
4
  import {
5
5
  fieldHeight
6
- } from "./chunk-QQHZBJMU.js";
6
+ } from "./chunk-RGVNXES5.js";
7
7
  import {
8
8
  fieldEdge
9
9
  } from "./chunk-7ZADLRLP.js";
@@ -126,4 +126,4 @@ export {
126
126
  QuickChip,
127
127
  QuickRow
128
128
  };
129
- //# sourceMappingURL=chunk-MHFXJRLD.js.map
129
+ //# sourceMappingURL=chunk-AT6UKTH4.js.map