impact-nova 2.6.2 → 3.0.0-alpha.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 (259) hide show
  1. package/dist/components/data/ag-grid-react/ag-grid-cell-components.d.ts +9 -0
  2. package/dist/components/data/ag-grid-react/ag-grid-list.d.ts +16 -0
  3. package/dist/components/data/ag-grid-react/ag-grid-list.js +23 -0
  4. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +21 -9
  5. package/dist/components/data/ag-grid-react/cell-renderers/editors/list-select-cell-editor.d.ts +14 -0
  6. package/dist/components/data/ag-grid-react/cell-renderers/editors/list-select-cell-editor.js +70 -0
  7. package/dist/components/data/ag-grid-react/cell-renderers/editors/select-cell-editor.d.ts +10 -5
  8. package/dist/components/data/ag-grid-react/cell-renderers/editors/select-cell-editor.js +73 -41
  9. package/dist/components/data/ag-grid-react/cell-renderers/index.d.ts +7 -0
  10. package/dist/components/data/ag-grid-react/cell-renderers/index.js +42 -36
  11. package/dist/components/data/ag-grid-react/cell-renderers/list-select-display-renderer.d.ts +19 -0
  12. package/dist/components/data/ag-grid-react/cell-renderers/list-select-display-renderer.js +89 -0
  13. package/dist/components/data/ag-grid-react/cell-renderers/select-ai-insight-affordance.d.ts +28 -0
  14. package/dist/components/data/ag-grid-react/cell-renderers/select-ai-insight-affordance.js +96 -0
  15. package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.d.ts +30 -10
  16. package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.js +72 -24
  17. package/dist/components/data/ag-grid-react/cell-renderers/style-description-display-renderer.d.ts +42 -0
  18. package/dist/components/data/ag-grid-react/cell-renderers/style-description-display-renderer.js +86 -0
  19. package/dist/components/data/ag-grid-react/headers/components/date-filter-picker.d.ts +2 -12
  20. package/dist/components/data/ag-grid-react/headers/header-search-input.js +200 -207
  21. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  22. package/dist/components/data/ag-grid-react/index.js +263 -244
  23. package/dist/components/data/data-table/data-table.js +85 -82
  24. package/dist/components/data/data-table/data-table.types.d.ts +5 -0
  25. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +2 -3
  26. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +2 -3
  27. package/dist/components/data/expandable-list-item/sku-next-page-coordinator.d.ts +14 -0
  28. package/dist/components/data/expandable-list-item/sku-strip-lookahead.d.ts +26 -0
  29. package/dist/components/data/expandable-list-item/useServerSkuInfinitePages.d.ts +10 -0
  30. package/dist/components/data/expandable-list-item/useSkuStripVirtualizer.d.ts +30 -0
  31. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.catalog.d.ts +81 -0
  32. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.item-grid.d.ts +1 -0
  33. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.product-card.d.ts +7 -0
  34. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.sku-picker.d.ts +2 -0
  35. package/dist/components/data-display/chart/chart-heatmap-demos.d.ts +3 -0
  36. package/dist/components/data-display/chart/chart-heatmap-play.d.ts +9 -0
  37. package/dist/components/data-display/chart/chart.category-cluster-heatmap.stories-data.d.ts +22 -0
  38. package/dist/components/data-display/chart/chart.diverging-heatmap.stories-data.d.ts +43 -0
  39. package/dist/components/data-display/chart/chart.js +100 -93
  40. package/dist/components/data-display/chart/chart.types.d.ts +10 -0
  41. package/dist/components/data-display/chart/chart.utils.d.ts +14 -2
  42. package/dist/components/data-display/chart/chart.utils.js +132 -35
  43. package/dist/components/data-display/chart/index.js +15 -13
  44. package/dist/components/data-display/chart/resolve-highcharts-options.js +19 -14
  45. package/dist/components/data-display/globe-map/globe-map.d.ts +8 -0
  46. package/dist/components/data-display/globe-map/globe-map.js +161 -0
  47. package/dist/components/data-display/globe-map/globe-map.stories-data.d.ts +12 -0
  48. package/dist/components/data-display/globe-map/globe-map.types.d.ts +83 -0
  49. package/dist/components/data-display/globe-map/globe-map.utils.d.ts +115 -0
  50. package/dist/components/data-display/globe-map/globe-map.utils.js +259 -0
  51. package/dist/components/data-display/globe-map/globe-map.variants.d.ts +19 -0
  52. package/dist/components/data-display/globe-map/globe-map.variants.js +80 -0
  53. package/dist/components/data-display/globe-map/index.d.ts +2 -0
  54. package/dist/components/data-display/globe-map/index.js +10 -0
  55. package/dist/components/data-display/globe-map/internals/globe-countries-110m.json.d.ts +4 -0
  56. package/dist/components/data-display/globe-map/internals/globe-countries-110m.json.js +7 -0
  57. package/dist/components/data-display/globe-map/internals/globe-map-context.d.ts +25 -0
  58. package/dist/components/data-display/globe-map/internals/globe-map-context.js +19 -0
  59. package/dist/components/data-display/globe-map/internals/globe-map-legend.d.ts +2 -0
  60. package/dist/components/data-display/globe-map/internals/globe-map-legend.js +51 -0
  61. package/dist/components/data-display/globe-map/internals/globe-map-point-card-carousel.d.ts +6 -0
  62. package/dist/components/data-display/globe-map/internals/globe-map-point-card-carousel.js +119 -0
  63. package/dist/components/data-display/globe-map/internals/globe-map-point-card.d.ts +2 -0
  64. package/dist/components/data-display/globe-map/internals/globe-map-point-card.js +106 -0
  65. package/dist/components/data-display/globe-map/internals/globe-map-scene.d.ts +17 -0
  66. package/dist/components/data-display/globe-map/internals/globe-map-scene.js +218 -0
  67. package/dist/components/data-display/globe-map/internals/globe-map-tooltip.d.ts +2 -0
  68. package/dist/components/data-display/globe-map/internals/globe-map-tooltip.js +33 -0
  69. package/dist/components/data-display/globe-map/internals/use-globe-map-scene.d.ts +45 -0
  70. package/dist/components/data-display/globe-map/internals/use-globe-map-scene.js +270 -0
  71. package/dist/components/data-display/hex-tilemap/hex-tilemap.d.ts +9 -0
  72. package/dist/components/data-display/hex-tilemap/hex-tilemap.js +94 -0
  73. package/dist/components/data-display/hex-tilemap/hex-tilemap.stories-data.d.ts +7 -0
  74. package/dist/components/data-display/hex-tilemap/hex-tilemap.types.d.ts +43 -0
  75. package/dist/components/data-display/hex-tilemap/hex-tilemap.variants.d.ts +11 -0
  76. package/dist/components/data-display/hex-tilemap/hex-tilemap.variants.js +47 -0
  77. package/dist/components/data-display/hex-tilemap/index.d.ts +2 -0
  78. package/dist/components/data-display/hex-tilemap/index.js +12 -0
  79. package/dist/components/data-display/hex-tilemap/internals/hex-camera.d.ts +40 -0
  80. package/dist/components/data-display/hex-tilemap/internals/hex-camera.js +103 -0
  81. package/dist/components/data-display/hex-tilemap/internals/hex-country-lattices.d.ts +9 -0
  82. package/dist/components/data-display/hex-tilemap/internals/hex-country-lattices.js +1387 -0
  83. package/dist/components/data-display/hex-tilemap/internals/hex-geometry.d.ts +21 -0
  84. package/dist/components/data-display/hex-tilemap/internals/hex-geometry.js +82 -0
  85. package/dist/components/data-display/hex-tilemap/internals/hex-lattice.d.ts +18 -0
  86. package/dist/components/data-display/hex-tilemap/internals/hex-lattice.js +47 -0
  87. package/dist/components/data-display/hex-tilemap/internals/hex-layout.d.ts +10 -0
  88. package/dist/components/data-display/hex-tilemap/internals/hex-layout.js +35 -0
  89. package/dist/components/data-display/hex-tilemap/internals/hex-new-zealand-grid.d.ts +31 -0
  90. package/dist/components/data-display/hex-tilemap/internals/hex-new-zealand-grid.js +138 -0
  91. package/dist/components/data-display/hex-tilemap/internals/hex-regions.d.ts +6 -0
  92. package/dist/components/data-display/hex-tilemap/internals/hex-regions.js +18 -0
  93. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-context.d.ts +24 -0
  94. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-context.js +19 -0
  95. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-legend.d.ts +2 -0
  96. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-legend.js +51 -0
  97. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-tooltip.d.ts +2 -0
  98. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-tooltip.js +36 -0
  99. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-viewport.d.ts +3 -0
  100. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-viewport.js +147 -0
  101. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-zoom.d.ts +13 -0
  102. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-zoom.js +99 -0
  103. package/dist/components/data-display/hex-tilemap/internals/hex-world-grid.d.ts +8 -0
  104. package/dist/components/data-display/hex-tilemap/internals/use-hex-camera.d.ts +27 -0
  105. package/dist/components/data-display/hex-tilemap/internals/use-hex-camera.js +137 -0
  106. package/dist/components/data-display/notch-card/index.d.ts +2 -0
  107. package/dist/components/data-display/notch-card/index.js +6 -0
  108. package/dist/components/data-display/notch-card/notch-card.d.ts +7 -0
  109. package/dist/components/data-display/notch-card/notch-card.js +151 -0
  110. package/dist/components/data-display/notch-card/notch-card.path.d.ts +19 -0
  111. package/dist/components/data-display/notch-card/notch-card.path.js +118 -0
  112. package/dist/components/data-display/notch-card/notch-card.types.d.ts +15 -0
  113. package/dist/components/data-display/notch-card/notch-card.variants.d.ts +15 -0
  114. package/dist/components/data-display/notch-card/notch-card.variants.js +86 -0
  115. package/dist/components/feedback/hover-card/hover-card.d.ts +3 -1
  116. package/dist/components/feedback/hover-card/hover-card.js +28 -24
  117. package/dist/components/feedback/tooltip/overflow-tooltip.d.ts +1 -1
  118. package/dist/components/feedback/tooltip/overflow-tooltip.js +63 -57
  119. package/dist/components/feedback/tooltip/overflow-tooltip.types.d.ts +4 -0
  120. package/dist/components/feedback/tooltip/tab-tooltip-render.js +2 -3
  121. package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
  122. package/dist/components/flows/filter-panel/filter-panel.js +4 -4
  123. package/dist/components/flows/filter-strip/index.d.ts +1 -0
  124. package/dist/components/flows/filter-strip/index.js +4 -2
  125. package/dist/components/flows/guidance/renderers/guidance-tour-overlay.js +48 -46
  126. package/dist/components/flows/iris-chat/index.d.ts +10 -0
  127. package/dist/components/flows/iris-chat/index.js +55 -0
  128. package/dist/components/flows/iris-chat/iris-chat-artifact.d.ts +4 -0
  129. package/dist/components/flows/iris-chat/iris-chat-artifact.js +125 -0
  130. package/dist/components/flows/iris-chat/iris-chat-composer.d.ts +3 -0
  131. package/dist/components/flows/iris-chat/iris-chat-composer.js +297 -0
  132. package/dist/components/flows/iris-chat/iris-chat-context.d.ts +14 -0
  133. package/dist/components/flows/iris-chat/iris-chat-context.js +23 -0
  134. package/dist/components/flows/iris-chat/iris-chat-icons.d.ts +18 -0
  135. package/dist/components/flows/iris-chat/iris-chat-icons.js +176 -0
  136. package/dist/components/flows/iris-chat/iris-chat-markdown.d.ts +3 -0
  137. package/dist/components/flows/iris-chat/iris-chat-markdown.js +62 -0
  138. package/dist/components/flows/iris-chat/iris-chat-menu.d.ts +15 -0
  139. package/dist/components/flows/iris-chat/iris-chat-menu.js +259 -0
  140. package/dist/components/flows/iris-chat/iris-chat-prompt.d.ts +3 -0
  141. package/dist/components/flows/iris-chat/iris-chat-prompt.js +46 -0
  142. package/dist/components/flows/iris-chat/iris-chat-thinking.d.ts +12 -0
  143. package/dist/components/flows/iris-chat/iris-chat-thinking.js +202 -0
  144. package/dist/components/flows/iris-chat/iris-chat-thread.d.ts +37 -0
  145. package/dist/components/flows/iris-chat/iris-chat-thread.js +493 -0
  146. package/dist/components/flows/iris-chat/iris-chat.d.ts +43 -0
  147. package/dist/components/flows/iris-chat/iris-chat.js +336 -0
  148. package/dist/components/flows/iris-chat/iris-chat.types.d.ts +208 -0
  149. package/dist/components/flows/iris-chat/iris-chat.variants.d.ts +14 -0
  150. package/dist/components/flows/iris-chat/iris-chat.variants.js +78 -0
  151. package/dist/components/flows/iris-chat/read-iris-greeting-period.d.ts +4 -0
  152. package/dist/components/flows/iris-chat/read-iris-greeting-period.js +16 -0
  153. package/dist/components/flows/wizard/index.d.ts +2 -2
  154. package/dist/components/flows/wizard/index.js +17 -13
  155. package/dist/components/flows/wizard/wizard-context.d.ts +6 -1
  156. package/dist/components/flows/wizard/wizard-context.js +15 -7
  157. package/dist/components/flows/wizard/wizard.d.ts +22 -4
  158. package/dist/components/flows/wizard/wizard.js +278 -174
  159. package/dist/components/flows/wizard/wizard.types.d.ts +40 -0
  160. package/dist/components/forms/choice-card/assets/featured-backdrop-baked.webp.js +4 -0
  161. package/dist/components/forms/choice-card/assets/featured-noise.webp.js +4 -0
  162. package/dist/components/forms/choice-card/choice-card-featured-arcs.d.ts +4 -0
  163. package/dist/components/forms/choice-card/choice-card-featured-arcs.js +42 -0
  164. package/dist/components/forms/choice-card/choice-card-featured-backdrop.d.ts +4 -0
  165. package/dist/components/forms/choice-card/choice-card-featured-backdrop.js +45 -0
  166. package/dist/components/forms/choice-card/choice-card-indicator.variants.d.ts +8 -0
  167. package/dist/components/forms/choice-card/choice-card-indicator.variants.js +5 -0
  168. package/dist/components/forms/choice-card/choice-card-percent.d.ts +11 -0
  169. package/dist/components/forms/choice-card/choice-card-percent.js +80 -0
  170. package/dist/components/forms/choice-card/choice-card.d.ts +40 -3
  171. package/dist/components/forms/choice-card/choice-card.js +651 -170
  172. package/dist/components/forms/choice-card/choice-card.types.d.ts +40 -0
  173. package/dist/components/forms/choice-card/choice-card.variants.d.ts +7 -0
  174. package/dist/components/forms/choice-card/choice-card.variants.js +100 -0
  175. package/dist/components/forms/choice-card/index.d.ts +2 -1
  176. package/dist/components/forms/choice-card/index.js +27 -10
  177. package/dist/components/forms/select/components/SelectTriggerValue.js +2 -3
  178. package/dist/components/forms/select/components/Submenu.js +2 -3
  179. package/dist/components/layout/header/header.d.ts +3 -2
  180. package/dist/components/layout/header/header.js +67 -47
  181. package/dist/components/layout/header/header.types.d.ts +1 -0
  182. package/dist/components/primitives/iris/iris-agent-cursor.d.ts +3 -0
  183. package/dist/components/primitives/iris/iris-agent-cursor.js +89 -0
  184. package/dist/components/primitives/iris/iris-alan-gradient-icon.d.ts +5 -0
  185. package/dist/components/primitives/iris/iris-alan-gradient-icon.js +69 -0
  186. package/dist/components/primitives/iris/iris-control-context.d.ts +15 -0
  187. package/dist/components/primitives/iris/iris-control-context.js +44 -0
  188. package/dist/components/primitives/iris/iris-control-region.d.ts +10 -0
  189. package/dist/components/primitives/iris/iris-control-region.js +102 -0
  190. package/dist/components/primitives/iris/iris-control.types.d.ts +24 -0
  191. package/dist/components/primitives/iris/iris-control.variants.d.ts +4 -0
  192. package/dist/components/primitives/iris/iris-control.variants.js +20 -0
  193. package/dist/components/primitives/iris/iris.d.ts +24 -0
  194. package/dist/components/primitives/iris/iris.js +232 -0
  195. package/dist/components/primitives/iris/iris.types.d.ts +35 -0
  196. package/dist/components/primitives/iris/iris.variants.d.ts +30 -0
  197. package/dist/components/primitives/iris/iris.variants.js +120 -0
  198. package/dist/components/primitives/stepper/internals/pipeline-current-mark.d.ts +6 -0
  199. package/dist/components/primitives/stepper/internals/pipeline-current-mark.js +35 -0
  200. package/dist/components/primitives/stepper/internals/rail-status-dot.d.ts +13 -0
  201. package/dist/components/primitives/stepper/internals/rail-status-dot.js +70 -0
  202. package/dist/components/primitives/stepper/internals/step-hit-target.d.ts +15 -0
  203. package/dist/components/primitives/stepper/internals/step-hit-target.js +51 -0
  204. package/dist/components/primitives/stepper/internals/step-model.d.ts +3 -0
  205. package/dist/components/primitives/stepper/internals/step-model.js +10 -0
  206. package/dist/components/primitives/stepper/internals/stepper-compact.d.ts +5 -0
  207. package/dist/components/primitives/stepper/internals/stepper-compact.js +68 -0
  208. package/dist/components/primitives/stepper/internals/stepper-pipeline.d.ts +7 -0
  209. package/dist/components/primitives/stepper/internals/stepper-pipeline.js +87 -0
  210. package/dist/components/primitives/stepper/internals/stepper-rail.d.ts +5 -0
  211. package/dist/components/primitives/stepper/internals/stepper-rail.js +105 -0
  212. package/dist/components/primitives/stepper/internals/stepper-summary.d.ts +5 -0
  213. package/dist/components/primitives/stepper/internals/stepper-summary.js +103 -0
  214. package/dist/components/primitives/stepper/internals/stepper-track.d.ts +8 -0
  215. package/dist/components/primitives/stepper/internals/stepper-track.js +170 -0
  216. package/dist/components/primitives/stepper/stepper.d.ts +1 -0
  217. package/dist/components/primitives/stepper/stepper.js +134 -52
  218. package/dist/components/primitives/stepper/stepper.types.d.ts +17 -0
  219. package/dist/components/primitives/stepper/stepper.variants.d.ts +26 -0
  220. package/dist/components/primitives/stepper/stepper.variants.js +165 -5
  221. package/dist/components/primitives/tabs/tabs.d.ts +4 -1
  222. package/dist/components/primitives/tabs/tabs.js +131 -59
  223. package/dist/components/primitives/tabs/tabs.types.d.ts +5 -1
  224. package/dist/form-react/Fields/DateRangeField.js +20 -19
  225. package/dist/form-react/Fields/WeekRangePicker.js +36 -36
  226. package/dist/i18n/defaultMessages.d.ts +100 -0
  227. package/dist/i18n/defaultMessages.js +118 -21
  228. package/dist/i18n/index.d.ts +1 -1
  229. package/dist/i18n/locales/de.js +99 -2
  230. package/dist/i18n/locales/es.js +99 -2
  231. package/dist/i18n/locales/hi.js +99 -2
  232. package/dist/i18n/locales/kn.js +99 -2
  233. package/dist/impact-nova-components.css +972 -2
  234. package/dist/impact-nova-tokens.scss +109 -1
  235. package/dist/impact-nova.css +1 -1
  236. package/dist/index.d.ts +1 -1
  237. package/dist/index.js +585 -551
  238. package/dist/lib/virtualized/directional-range-extractor.d.ts +26 -0
  239. package/dist/lib/virtualized/directional-range-extractor.js +39 -0
  240. package/dist/lib/virtualized/index.d.ts +3 -0
  241. package/dist/lib/virtualized/index.js +35 -27
  242. package/dist/lib/virtualized/scroll-seek.d.ts +61 -0
  243. package/dist/lib/virtualized/scroll-seek.js +61 -0
  244. package/dist/lib/virtualized/usePaintedRangeVirtualizer.d.ts +19 -0
  245. package/dist/lib/virtualized/usePaintedRangeVirtualizer.js +30 -0
  246. package/dist/lib/virtualized/useResponsiveColumnCount.d.ts +35 -0
  247. package/dist/lib/virtualized/useResponsiveColumnCount.js +51 -0
  248. package/dist/lib/virtualized/useScrollSeekPaintedRange.d.ts +13 -0
  249. package/dist/lib/virtualized/useScrollSeekPaintedRange.js +45 -0
  250. package/dist/lib/virtualized/useVirtualizedList.d.ts +7 -0
  251. package/dist/lib/virtualized/useVirtualizedList.js +89 -87
  252. package/dist/lib/virtualized/useVirtualizedRows.d.ts +9 -2
  253. package/dist/lib/virtualized/useVirtualizedRows.js +15 -13
  254. package/dist/lib/virtualized/virtualized.types.d.ts +2 -0
  255. package/dist/llms/rules/installation.js +1 -1
  256. package/dist/llms/rules/requirements.js +1 -1
  257. package/dist/tailwind.config.js +3 -1
  258. package/dist/theme/tailwind-colors.js +2 -1
  259. package/package.json +39 -4
@@ -0,0 +1,21 @@
1
+ import { HexGridTile } from './hex-world-grid';
2
+ export declare const HEX_CELL_WIDTH = 12;
3
+ export declare const HEX_CELL_HEIGHT = 10.72;
4
+ export declare const HEX_COLUMN_STEP = 11.5;
5
+ export declare const HEX_ROW_STEP = 13.28;
6
+ export declare const HEX_ODD_COLUMN_OFFSET = 6.64;
7
+ export interface HexPixelPoint {
8
+ pixelX: number;
9
+ pixelY: number;
10
+ }
11
+ export declare function hexTileToPixel(column: number, row: number): HexPixelPoint;
12
+ export interface HexMapExtents {
13
+ originColumn: number;
14
+ originRow: number;
15
+ width: number;
16
+ height: number;
17
+ }
18
+ export declare function extentsFromTiles(tiles: readonly HexGridTile[]): HexMapExtents;
19
+ export declare function buildLandPath(tiles: readonly HexGridTile[], originColumn: number, originRow: number): string;
20
+ export declare function tileKey(tile: HexGridTile): string;
21
+ export declare function hexNeighbors(column: number, row: number): HexGridTile[];
@@ -0,0 +1,82 @@
1
+ const r = 12, _ = 10.72, s = 11.5, H = 13.28, C = 6.64, E = [
2
+ { command: "M", coordinates: [9.56148, 9.69087] },
3
+ { command: "C", coordinates: [9.20834, 10.3244, 8.53986, 10.7171, 7.81452, 10.7171] },
4
+ { command: "H", coordinates: [3.94774] },
5
+ { command: "C", coordinates: [3.23129, 10.7171, 2.56957, 10.3339, 2.21301, 9.71249] },
6
+ { command: "L", coordinates: [0.265298, 6.3179] },
7
+ { command: "C", coordinates: [-0.090937, 5.69704, -0.0882008, 4.93312, 0.272474, 4.31482] },
8
+ { command: "L", coordinates: [2.21064, 0.992257] },
9
+ { command: "C", coordinates: [2.56906, 0.377822, 3.22686, 0, 3.93819, 0] },
10
+ { command: "H", coordinates: [7.824] },
11
+ { command: "C", coordinates: [8.54428, 0, 9.20893, 0.387309, 9.56404, 1.01397] },
12
+ { command: "L", coordinates: [11.4467, 4.33636] },
13
+ { command: "C", coordinates: [11.7909, 4.94364, 11.7935, 5.6864, 11.4536, 6.2961] },
14
+ { command: "L", coordinates: [9.56148, 9.69087] },
15
+ { command: "Z", coordinates: [] }
16
+ ];
17
+ function d(o, n) {
18
+ return {
19
+ pixelX: o * 11.5,
20
+ pixelY: n * 13.28 + (o % 2 === 1 ? 6.64 : 0)
21
+ };
22
+ }
23
+ function m(o, n) {
24
+ return E.map((t) => {
25
+ if (t.command === "Z") return "Z";
26
+ if (t.command === "H")
27
+ return `H${(t.coordinates[0] ?? 0) + o}`;
28
+ const i = [];
29
+ for (let c = 0; c < t.coordinates.length; c += 2) {
30
+ const e = (t.coordinates[c] ?? 0) + o, a = (t.coordinates[c + 1] ?? 0) + n;
31
+ i.push(`${e} ${a}`);
32
+ }
33
+ return `${t.command}${i.join(" ")}`;
34
+ }).join("");
35
+ }
36
+ function T(o) {
37
+ if (o.length === 0)
38
+ return { originColumn: 0, originRow: 0, width: 12, height: 10.72 };
39
+ let n = Number.POSITIVE_INFINITY, t = Number.NEGATIVE_INFINITY, i = Number.POSITIVE_INFINITY, c = Number.NEGATIVE_INFINITY;
40
+ for (const e of o)
41
+ e.x < n && (n = e.x), e.x > t && (t = e.x), e.y < i && (i = e.y), e.y > c && (c = e.y);
42
+ return {
43
+ originColumn: n,
44
+ originRow: i,
45
+ width: (t - n + 1) * 11.5 + 12 + 11.5,
46
+ height: (c - i + 1) * 13.28 + 10.72 + 6.64 + 13.28
47
+ };
48
+ }
49
+ function x(o, n, t) {
50
+ const i = [];
51
+ for (const c of o) {
52
+ const { pixelX: e, pixelY: a } = d(c.x - n, c.y - t);
53
+ i.push(m(e, a));
54
+ }
55
+ return i.join("");
56
+ }
57
+ function L(o) {
58
+ return `${o.x}:${o.y}`;
59
+ }
60
+ function I(o, n) {
61
+ const i = o % 2 !== 0 ? 1 : -1;
62
+ return [
63
+ { x: o - 1, y: n },
64
+ { x: o + 1, y: n },
65
+ { x: o, y: n - 1 },
66
+ { x: o, y: n + 1 },
67
+ { x: o - 1, y: n + i },
68
+ { x: o + 1, y: n + i }
69
+ ];
70
+ }
71
+ export {
72
+ _ as HEX_CELL_HEIGHT,
73
+ r as HEX_CELL_WIDTH,
74
+ s as HEX_COLUMN_STEP,
75
+ C as HEX_ODD_COLUMN_OFFSET,
76
+ H as HEX_ROW_STEP,
77
+ x as buildLandPath,
78
+ T as extentsFromTiles,
79
+ I as hexNeighbors,
80
+ d as hexTileToPixel,
81
+ L as tileKey
82
+ };
@@ -0,0 +1,18 @@
1
+ import { HexGridTile } from './hex-world-grid';
2
+ export interface HexRegionLattice {
3
+ columns: number;
4
+ rows: number;
5
+ minLongitude: number;
6
+ maxLongitude: number;
7
+ minLatitude: number;
8
+ maxLatitude: number;
9
+ land: readonly HexGridTile[];
10
+ }
11
+ export declare function expandHexRuns(runs: readonly number[]): HexGridTile[];
12
+ export declare function latticeLandKeys(lattice: HexRegionLattice): ReadonlySet<string>;
13
+ export declare function isWithinLattice(latitude: number, longitude: number, lattice: HexRegionLattice): boolean;
14
+ export declare function projectOntoLattice(latitude: number, longitude: number, lattice: HexRegionLattice): HexGridTile;
15
+ export declare function snapToLatticeLand(tile: HexGridTile, landKeys: ReadonlySet<string>, fallback: HexGridTile): {
16
+ tile: HexGridTile;
17
+ hops: number;
18
+ };
@@ -0,0 +1,47 @@
1
+ import { tileKey as h, hexNeighbors as c } from "./hex-geometry.js";
2
+ function x(o) {
3
+ const t = [];
4
+ for (let n = 0; n + 2 < o.length; n += 3) {
5
+ const r = o[n] ?? 0, s = o[n + 1] ?? 0, u = o[n + 2] ?? s;
6
+ for (let e = s; e <= u; e += 1)
7
+ t.push({ x: r, y: e });
8
+ }
9
+ return t;
10
+ }
11
+ function p(o) {
12
+ return new Set(o.land.map(h));
13
+ }
14
+ function L(o, t, n) {
15
+ return o >= n.minLatitude && o <= n.maxLatitude && t >= n.minLongitude && t <= n.maxLongitude;
16
+ }
17
+ function f(o, t, n) {
18
+ const r = Math.max(1, n.columns - 1), s = Math.max(1, n.rows - 1), u = (t - n.minLongitude) / (n.maxLongitude - n.minLongitude) * r, e = (n.maxLatitude - o) / (n.maxLatitude - n.minLatitude) * s;
19
+ return {
20
+ x: Math.min(n.columns - 1, Math.max(0, Math.round(u))),
21
+ y: Math.min(n.rows - 1, Math.max(0, Math.round(e)))
22
+ };
23
+ }
24
+ function w(o, t, n) {
25
+ const r = h(o);
26
+ if (t.has(r)) return { tile: o, hops: 0 };
27
+ const s = [{ tile: o, hops: 0 }], u = /* @__PURE__ */ new Set([r]);
28
+ for (; s.length > 0; ) {
29
+ const e = s.shift();
30
+ for (const i of c(e.tile.x, e.tile.y)) {
31
+ const a = h(i);
32
+ if (u.has(a)) continue;
33
+ u.add(a);
34
+ const m = e.hops + 1;
35
+ if (t.has(a)) return { tile: i, hops: m };
36
+ s.push({ tile: i, hops: m });
37
+ }
38
+ }
39
+ return { tile: n, hops: Number.POSITIVE_INFINITY };
40
+ }
41
+ export {
42
+ x as expandHexRuns,
43
+ L as isWithinLattice,
44
+ p as latticeLandKeys,
45
+ f as projectOntoLattice,
46
+ w as snapToLatticeLand
47
+ };
@@ -0,0 +1,10 @@
1
+ import { HexTilemapPoint, HexTilemapRegion } from '../hex-tilemap.types';
2
+ import { HexGridTile } from './hex-world-grid';
3
+ export interface PlacedHexPoint extends HexTilemapPoint {
4
+ tile: HexGridTile;
5
+ }
6
+ export interface HexTilemapLayout {
7
+ land: readonly HexGridTile[];
8
+ points: PlacedHexPoint[];
9
+ }
10
+ export declare function layoutHexTilemap(region: HexTilemapRegion, points: readonly HexTilemapPoint[]): HexTilemapLayout;
@@ -0,0 +1,35 @@
1
+ import { tileKey as r, hexNeighbors as f } from "./hex-geometry.js";
2
+ import { latticeLandKeys as p, isWithinLattice as h, projectOntoLattice as m, snapToLatticeLand as y } from "./hex-lattice.js";
3
+ import { latticeForRegion as g } from "./hex-regions.js";
4
+ function L(c, n, u) {
5
+ const o = [c], e = /* @__PURE__ */ new Set();
6
+ for (; o.length > 0; ) {
7
+ const i = o.shift(), s = r(i);
8
+ if (!e.has(s)) {
9
+ if (e.add(s), u.has(s) && !n.has(s))
10
+ return i;
11
+ for (const t of f(i.x, i.y))
12
+ e.has(r(t)) || o.push(t);
13
+ }
14
+ }
15
+ return null;
16
+ }
17
+ function x(c, n) {
18
+ const u = /* @__PURE__ */ new Set(), o = [], e = p(n), i = n.land[0] ?? { x: 0, y: 0 }, s = [...c].sort(
19
+ (t, l) => l.latitude - t.latitude || t.longitude - l.longitude
20
+ );
21
+ for (const t of s) {
22
+ if (!h(t.latitude, t.longitude, n)) continue;
23
+ const l = m(t.latitude, t.longitude, n), d = y(l, e, i);
24
+ if (!Number.isFinite(d.hops)) continue;
25
+ const a = L(d.tile, u, e);
26
+ a !== null && (u.add(r(a)), o.push({ ...t, tile: a }));
27
+ }
28
+ return { land: n.land, points: o };
29
+ }
30
+ function K(c, n) {
31
+ return x(n, g(c));
32
+ }
33
+ export {
34
+ K as layoutHexTilemap
35
+ };
@@ -0,0 +1,31 @@
1
+ import { HexGridTile } from './hex-world-grid';
2
+ /**
3
+ * New Zealand hex land mask.
4
+ *
5
+ * Source: Natural Earth 1:50m Cultural Vectors, country polygons, via the `world-atlas@2`
6
+ * package (`countries-50m.json`, ISO 3166-1 numeric id 554). The MultiPolygon (North Island,
7
+ * South Island, and small inshore islands) is rasterised onto a fixed equirectangular hex
8
+ * lattice with `d3.geoContains`. Ocean cells are omitted. This is not a hand-drawn silhouette.
9
+ *
10
+ * The same `lon/lat → (x, y)` mapping is used to project stores, so a store can only resolve
11
+ * to a cell that exists on this mask (after snapping to the nearest land cell).
12
+ */
13
+ export declare const NZ_HEX_COLS = 24;
14
+ export declare const NZ_HEX_ROWS = 32;
15
+ export declare const NZ_LON_MIN = 166.2;
16
+ export declare const NZ_LON_MAX = 178.9;
17
+ export declare const NZ_LAT_MIN = -47.3;
18
+ export declare const NZ_LAT_MAX = -34.1;
19
+ export declare const NZ_HEX_LAND: readonly HexGridTile[];
20
+ export declare const NZ_HEX_LAND_KEYS: ReadonlySet<string>;
21
+ export declare function isWithinNzHexExtent(lat: number, lon: number): boolean;
22
+ /** Same equirectangular mapping used to rasterise the Natural Earth polygons. */
23
+ export declare function projectOntoNzHexGrid(lat: number, lon: number): HexGridTile;
24
+ /**
25
+ * Walk from a projected cell to the nearest mask cell. Returns the hop count so callers can
26
+ * log stores that were not on land at the raw projection.
27
+ */
28
+ export declare function snapToNzLand(tile: HexGridTile): {
29
+ tile: HexGridTile;
30
+ hops: number;
31
+ };
@@ -0,0 +1,138 @@
1
+ const _ = 24, N = 32, t = 166.2, c = 178.9, n = -47.3, o = -34.1, y = Object.freeze([
2
+ { x: 12, y: 1 },
3
+ { x: 13, y: 2 },
4
+ { x: 13, y: 3 },
5
+ { x: 14, y: 3 },
6
+ { x: 14, y: 4 },
7
+ { x: 15, y: 5 },
8
+ { x: 15, y: 6 },
9
+ { x: 17, y: 6 },
10
+ { x: 16, y: 7 },
11
+ { x: 17, y: 7 },
12
+ { x: 16, y: 8 },
13
+ { x: 17, y: 8 },
14
+ { x: 16, y: 9 },
15
+ { x: 17, y: 9 },
16
+ { x: 18, y: 9 },
17
+ { x: 19, y: 9 },
18
+ { x: 21, y: 9 },
19
+ { x: 22, y: 9 },
20
+ { x: 16, y: 10 },
21
+ { x: 17, y: 10 },
22
+ { x: 18, y: 10 },
23
+ { x: 19, y: 10 },
24
+ { x: 20, y: 10 },
25
+ { x: 21, y: 10 },
26
+ { x: 16, y: 11 },
27
+ { x: 17, y: 11 },
28
+ { x: 18, y: 11 },
29
+ { x: 19, y: 11 },
30
+ { x: 20, y: 11 },
31
+ { x: 21, y: 11 },
32
+ { x: 14, y: 12 },
33
+ { x: 15, y: 12 },
34
+ { x: 16, y: 12 },
35
+ { x: 17, y: 12 },
36
+ { x: 18, y: 12 },
37
+ { x: 19, y: 12 },
38
+ { x: 15, y: 13 },
39
+ { x: 16, y: 13 },
40
+ { x: 17, y: 13 },
41
+ { x: 18, y: 13 },
42
+ { x: 19, y: 13 },
43
+ { x: 17, y: 14 },
44
+ { x: 18, y: 14 },
45
+ { x: 19, y: 14 },
46
+ { x: 17, y: 15 },
47
+ { x: 18, y: 15 },
48
+ { x: 11, y: 16 },
49
+ { x: 12, y: 16 },
50
+ { x: 16, y: 16 },
51
+ { x: 17, y: 16 },
52
+ { x: 18, y: 16 },
53
+ { x: 11, y: 17 },
54
+ { x: 12, y: 17 },
55
+ { x: 13, y: 17 },
56
+ { x: 14, y: 17 },
57
+ { x: 16, y: 17 },
58
+ { x: 17, y: 17 },
59
+ { x: 10, y: 18 },
60
+ { x: 11, y: 18 },
61
+ { x: 12, y: 18 },
62
+ { x: 13, y: 18 },
63
+ { x: 14, y: 18 },
64
+ { x: 10, y: 19 },
65
+ { x: 11, y: 19 },
66
+ { x: 12, y: 19 },
67
+ { x: 13, y: 19 },
68
+ { x: 9, y: 20 },
69
+ { x: 10, y: 20 },
70
+ { x: 11, y: 20 },
71
+ { x: 12, y: 20 },
72
+ { x: 13, y: 20 },
73
+ { x: 8, y: 21 },
74
+ { x: 9, y: 21 },
75
+ { x: 10, y: 21 },
76
+ { x: 11, y: 21 },
77
+ { x: 12, y: 21 },
78
+ { x: 7, y: 22 },
79
+ { x: 8, y: 22 },
80
+ { x: 9, y: 22 },
81
+ { x: 10, y: 22 },
82
+ { x: 11, y: 22 },
83
+ { x: 6, y: 23 },
84
+ { x: 7, y: 23 },
85
+ { x: 8, y: 23 },
86
+ { x: 9, y: 23 },
87
+ { x: 10, y: 23 },
88
+ { x: 4, y: 24 },
89
+ { x: 5, y: 24 },
90
+ { x: 6, y: 24 },
91
+ { x: 7, y: 24 },
92
+ { x: 8, y: 24 },
93
+ { x: 9, y: 24 },
94
+ { x: 3, y: 25 },
95
+ { x: 4, y: 25 },
96
+ { x: 5, y: 25 },
97
+ { x: 6, y: 25 },
98
+ { x: 7, y: 25 },
99
+ { x: 8, y: 25 },
100
+ { x: 9, y: 25 },
101
+ { x: 2, y: 26 },
102
+ { x: 3, y: 26 },
103
+ { x: 4, y: 26 },
104
+ { x: 5, y: 26 },
105
+ { x: 6, y: 26 },
106
+ { x: 7, y: 26 },
107
+ { x: 8, y: 26 },
108
+ { x: 2, y: 27 },
109
+ { x: 3, y: 27 },
110
+ { x: 4, y: 27 },
111
+ { x: 5, y: 27 },
112
+ { x: 6, y: 27 },
113
+ { x: 7, y: 27 },
114
+ { x: 8, y: 27 },
115
+ { x: 1, y: 28 },
116
+ { x: 2, y: 28 },
117
+ { x: 3, y: 28 },
118
+ { x: 4, y: 28 },
119
+ { x: 5, y: 28 },
120
+ { x: 6, y: 28 },
121
+ { x: 7, y: 28 },
122
+ { x: 4, y: 29 },
123
+ { x: 5, y: 29 },
124
+ { x: 6, y: 29 },
125
+ { x: 3, y: 30 }
126
+ ]);
127
+ new Set(
128
+ y.map((x) => `${x.x}:${x.y}`)
129
+ );
130
+ export {
131
+ _ as NZ_HEX_COLS,
132
+ y as NZ_HEX_LAND,
133
+ N as NZ_HEX_ROWS,
134
+ o as NZ_LAT_MAX,
135
+ n as NZ_LAT_MIN,
136
+ c as NZ_LON_MAX,
137
+ t as NZ_LON_MIN
138
+ };
@@ -0,0 +1,6 @@
1
+ import { HexTilemapRegion } from '../hex-tilemap.types';
2
+ import { HexRegionLattice } from './hex-lattice';
3
+ import { HexGridTile } from './hex-world-grid';
4
+ export declare const NEW_ZEALAND_HEX_LATTICE: HexRegionLattice;
5
+ export declare function latticeForRegion(region: HexTilemapRegion): HexRegionLattice;
6
+ export declare function landTilesForRegion(region: HexTilemapRegion): readonly HexGridTile[];
@@ -0,0 +1,18 @@
1
+ import { UNITED_STATES_HEX_LATTICE as t, UNITED_STATES_AND_EUROPE_HEX_LATTICE as E, WORLD_HEX_LATTICE as e } from "./hex-country-lattices.js";
2
+ import { NZ_HEX_LAND as n, NZ_LAT_MAX as N, NZ_LAT_MIN as L, NZ_LON_MAX as T, NZ_LON_MIN as i, NZ_HEX_ROWS as r, NZ_HEX_COLS as A } from "./hex-new-zealand-grid.js";
3
+ const u = {
4
+ columns: A,
5
+ rows: r,
6
+ minLongitude: i,
7
+ maxLongitude: T,
8
+ minLatitude: L,
9
+ maxLatitude: N,
10
+ land: n
11
+ };
12
+ function d(_) {
13
+ return _ === "new-zealand" ? u : _ === "united-states" ? t : _ === "united-states-and-europe" ? E : e;
14
+ }
15
+ export {
16
+ u as NEW_ZEALAND_HEX_LATTICE,
17
+ d as latticeForRegion
18
+ };
@@ -0,0 +1,24 @@
1
+ import { HexTilemapHoverPoint, HexTilemapPoint, HexTilemapRegion, HexTilemapSeries } from '../hex-tilemap.types';
2
+ import { HexTilemapLayout } from './hex-layout';
3
+ import * as React from "react";
4
+ export interface HexTilemapContextValue {
5
+ region: HexTilemapRegion;
6
+ points: HexTilemapPoint[];
7
+ series: HexTilemapSeries[];
8
+ layout: HexTilemapLayout;
9
+ visiblePoints: HexTilemapLayout["points"];
10
+ metricLabel: string;
11
+ formatValue: (value: number) => string;
12
+ zoom: number;
13
+ setZoom: (zoom: number) => void;
14
+ hiddenSeriesIds: string[];
15
+ toggleSeries: (seriesId: string) => void;
16
+ hoverPoint: HexTilemapHoverPoint | null;
17
+ setHoverPoint: (point: HexTilemapHoverPoint | null) => void;
18
+ mapLabel: string;
19
+ }
20
+ export declare function HexTilemapProvider({ value, children, }: {
21
+ value: HexTilemapContextValue;
22
+ children: React.ReactNode;
23
+ }): import("react/jsx-runtime").JSX.Element;
24
+ export declare function useHexTilemapContext(): HexTilemapContextValue;
@@ -0,0 +1,19 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import * as t from "react";
3
+ const o = t.createContext(null);
4
+ function x({
5
+ value: e,
6
+ children: n
7
+ }) {
8
+ return /* @__PURE__ */ r(o.Provider, { value: e, children: n });
9
+ }
10
+ function m() {
11
+ const e = t.useContext(o);
12
+ if (!e)
13
+ throw new Error("HexTilemap components must be used within HexTilemap");
14
+ return e;
15
+ }
16
+ export {
17
+ x as HexTilemapProvider,
18
+ m as useHexTilemapContext
19
+ };
@@ -0,0 +1,2 @@
1
+ import { HexTilemapLegendProps } from '../hex-tilemap.types';
2
+ export declare const HexTilemapLegend: import('react').ForwardRefExoticComponent<HexTilemapLegendProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,51 @@
1
+ import { jsx as l, jsxs as p } from "react/jsx-runtime";
2
+ import { createComponent as m } from "../../../../lib/primitives/create-component.js";
3
+ import { cn as c } from "../../../../lib/utils.js";
4
+ import { useImpactNovaI18n as h } from "../../../../i18n/use-impact-nova-i18n.js";
5
+ import { hexTilemapLegendItemVariants as x, hexTilemapLegendVariants as u } from "../hex-tilemap.variants.js";
6
+ import { useHexTilemapContext as b } from "./hex-tilemap-context.js";
7
+ const N = m(
8
+ "HexTilemapLegend",
9
+ ({ className: n, ...o }, i) => {
10
+ const { t: a } = h(), { series: s, hiddenSeriesIds: d, toggleSeries: t } = b();
11
+ return /* @__PURE__ */ l(
12
+ "div",
13
+ {
14
+ ref: i,
15
+ "data-component": "hex-tilemap-legend",
16
+ role: "group",
17
+ "aria-label": a("hexTilemap.legend"),
18
+ className: c(u(), n),
19
+ ...o,
20
+ children: s.map((e) => {
21
+ const r = d.includes(e.id);
22
+ return /* @__PURE__ */ p(
23
+ "button",
24
+ {
25
+ type: "button",
26
+ "aria-pressed": !r,
27
+ "aria-label": r ? a("hexTilemap.showSeries", { label: e.label }) : a("hexTilemap.hideSeries", { label: e.label }),
28
+ className: x({ hidden: r }),
29
+ onClick: () => t(e.id),
30
+ children: [
31
+ /* @__PURE__ */ l(
32
+ "span",
33
+ {
34
+ className: "size-2 shrink-0 rounded-sm",
35
+ style: { backgroundColor: e.color },
36
+ "aria-hidden": !0
37
+ }
38
+ ),
39
+ /* @__PURE__ */ l("span", { children: e.label })
40
+ ]
41
+ },
42
+ e.id
43
+ );
44
+ })
45
+ }
46
+ );
47
+ }
48
+ );
49
+ export {
50
+ N as HexTilemapLegend
51
+ };
@@ -0,0 +1,2 @@
1
+ import type * as React from "react";
2
+ export declare const HexTilemapTooltip: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,36 @@
1
+ import { jsxs as e, jsx as m } from "react/jsx-runtime";
2
+ import { createComponent as p } from "../../../../lib/primitives/create-component.js";
3
+ import { cn as c } from "../../../../lib/utils.js";
4
+ import { hexTilemapTooltipVariants as x } from "../hex-tilemap.variants.js";
5
+ import { useHexTilemapContext as f } from "./hex-tilemap-context.js";
6
+ const T = 12, d = 72, P = p("HexTilemapTooltip", ({ className: o, ...l }, n) => {
7
+ const { hoverPoint: t, metricLabel: a, formatValue: i } = f();
8
+ if (!t) return null;
9
+ const r = t.clientY < d, s = Math.max(T, t.clientX);
10
+ return /* @__PURE__ */ e(
11
+ "div",
12
+ {
13
+ ref: n,
14
+ "data-component": "hex-tilemap-tooltip",
15
+ role: "tooltip",
16
+ className: c(x(), o),
17
+ style: {
18
+ left: s,
19
+ top: t.clientY,
20
+ transform: r ? "translate(-50%, 12px)" : "translate(-50%, calc(-100% - 8px))"
21
+ },
22
+ ...l,
23
+ children: [
24
+ /* @__PURE__ */ m("span", { className: "text-xs font-semibold leading-4 text-content", children: t.label }),
25
+ /* @__PURE__ */ e("span", { className: "text-xs font-semibold leading-4 text-content", children: [
26
+ a,
27
+ " - ",
28
+ i(t.value)
29
+ ] })
30
+ ]
31
+ }
32
+ );
33
+ });
34
+ export {
35
+ P as HexTilemapTooltip
36
+ };
@@ -0,0 +1,3 @@
1
+ import { HexTilemapViewportProps } from '../hex-tilemap.types';
2
+ import * as React from "react";
3
+ export declare const HexTilemapViewport: React.ForwardRefExoticComponent<HexTilemapViewportProps & React.RefAttributes<HTMLDivElement>>;