impact-nova 2.5.16 → 2.6.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 (254) hide show
  1. package/README.md +27 -25
  2. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +28 -1
  3. package/dist/components/data/ag-grid-react/cell-renderers/date-display-renderer.d.ts +0 -3
  4. package/dist/components/data/ag-grid-react/cell-renderers/date-display-renderer.js +31 -38
  5. package/dist/components/data/ag-grid-react/cell-renderers/input-display-renderer.d.ts +1 -1
  6. package/dist/components/data/ag-grid-react/chat/chat-capabilities.d.ts +9 -0
  7. package/dist/components/data/ag-grid-react/chat/chat-capabilities.js +22 -0
  8. package/dist/components/data/ag-grid-react/chat/chat-column.d.ts +20 -0
  9. package/dist/components/data/ag-grid-react/chat/chat-column.js +81 -0
  10. package/dist/components/data/ag-grid-react/chat/chat-composer.d.ts +10 -0
  11. package/dist/components/data/ag-grid-react/chat/chat-composer.js +352 -0
  12. package/dist/components/data/ag-grid-react/chat/chat-constants.d.ts +17 -0
  13. package/dist/components/data/ag-grid-react/chat/chat-constants.js +22 -0
  14. package/dist/components/data/ag-grid-react/chat/chat-format.d.ts +41 -0
  15. package/dist/components/data/ag-grid-react/chat/chat-format.js +94 -0
  16. package/dist/components/data/ag-grid-react/chat/chat-host.d.ts +10 -0
  17. package/dist/components/data/ag-grid-react/chat/chat-host.js +651 -0
  18. package/dist/components/data/ag-grid-react/chat/chat-host.types.d.ts +13 -0
  19. package/dist/components/data/ag-grid-react/chat/chat-html.d.ts +2 -0
  20. package/dist/components/data/ag-grid-react/chat/chat-html.js +40 -0
  21. package/dist/components/data/ag-grid-react/chat/chat-identity.d.ts +13 -0
  22. package/dist/components/data/ag-grid-react/chat/chat-identity.js +24 -0
  23. package/dist/components/data/ag-grid-react/chat/chat-menu.d.ts +13 -0
  24. package/dist/components/data/ag-grid-react/chat/chat-menu.js +15 -0
  25. package/dist/components/data/ag-grid-react/chat/chat-notify.d.ts +17 -0
  26. package/dist/components/data/ag-grid-react/chat/chat-notify.js +124 -0
  27. package/dist/components/data/ag-grid-react/chat/chat-persist.d.ts +13 -0
  28. package/dist/components/data/ag-grid-react/chat/chat-persist.js +34 -0
  29. package/dist/components/data/ag-grid-react/chat/chat-priority.d.ts +13 -0
  30. package/dist/components/data/ag-grid-react/chat/chat-priority.js +79 -0
  31. package/dist/components/data/ag-grid-react/chat/chat-summaries.d.ts +2 -0
  32. package/dist/components/data/ag-grid-react/chat/chat-summaries.js +24 -0
  33. package/dist/components/data/ag-grid-react/chat/chat-thread-ui.d.ts +72 -0
  34. package/dist/components/data/ag-grid-react/chat/chat-thread-ui.js +713 -0
  35. package/dist/components/data/ag-grid-react/chat/chat-toggle.d.ts +6 -0
  36. package/dist/components/data/ag-grid-react/chat/chat-toggle.js +25 -0
  37. package/dist/components/data/ag-grid-react/chat/chat-ui-actions.d.ts +13 -0
  38. package/dist/components/data/ag-grid-react/chat/chat-ui-actions.js +26 -0
  39. package/dist/components/data/ag-grid-react/chat/chat-window.d.ts +14 -0
  40. package/dist/components/data/ag-grid-react/chat/chat-window.js +82 -0
  41. package/dist/components/data/ag-grid-react/chat/chat-workspace.d.ts +91 -0
  42. package/dist/components/data/ag-grid-react/chat/chat-workspace.js +555 -0
  43. package/dist/components/data/ag-grid-react/chat/chat.types.d.ts +319 -0
  44. package/dist/components/data/ag-grid-react/chat/index.d.ts +6 -0
  45. package/dist/components/data/ag-grid-react/chat/index.js +24 -0
  46. package/dist/components/data/ag-grid-react/chat.story-data.d.ts +34 -0
  47. package/dist/components/data/ag-grid-react/chat.story-sources.d.ts +4 -0
  48. package/dist/components/data/ag-grid-react/comments/assets/comments-no-results.png.js +4 -0
  49. package/dist/components/data/ag-grid-react/comments/comment-mode-toggle.d.ts +6 -0
  50. package/dist/components/data/ag-grid-react/comments/comment-mode-toggle.js +29 -0
  51. package/dist/components/data/ag-grid-react/comments/comments-actions-menu.d.ts +8 -0
  52. package/dist/components/data/ag-grid-react/comments/comments-actions-menu.js +18 -0
  53. package/dist/components/data/ag-grid-react/comments/comments-ag-grid-presence.d.ts +18 -0
  54. package/dist/components/data/ag-grid-react/comments/comments-ag-grid-presence.js +16 -0
  55. package/dist/components/data/ag-grid-react/comments/comments-capabilities.d.ts +11 -0
  56. package/dist/components/data/ag-grid-react/comments/comments-capabilities.js +26 -0
  57. package/dist/components/data/ag-grid-react/comments/comments-constants.d.ts +12 -0
  58. package/dist/components/data/ag-grid-react/comments/comments-constants.js +21 -0
  59. package/dist/components/data/ag-grid-react/comments/comments-format.d.ts +20 -0
  60. package/dist/components/data/ag-grid-react/comments/comments-format.js +49 -0
  61. package/dist/components/data/ag-grid-react/comments/comments-generation.d.ts +14 -0
  62. package/dist/components/data/ag-grid-react/comments/comments-generation.js +18 -0
  63. package/dist/components/data/ag-grid-react/comments/comments-host.d.ts +10 -0
  64. package/dist/components/data/ag-grid-react/comments/comments-host.js +343 -0
  65. package/dist/components/data/ag-grid-react/comments/comments-host.types.d.ts +18 -0
  66. package/dist/components/data/ag-grid-react/comments/comments-identity.d.ts +7 -0
  67. package/dist/components/data/ag-grid-react/comments/comments-identity.js +20 -0
  68. package/dist/components/data/ag-grid-react/comments/comments-menu.d.ts +29 -0
  69. package/dist/components/data/ag-grid-react/comments/comments-menu.js +35 -0
  70. package/dist/components/data/ag-grid-react/comments/comments-overlay-anchor.d.ts +22 -0
  71. package/dist/components/data/ag-grid-react/comments/comments-overlay-anchor.js +98 -0
  72. package/dist/components/data/ag-grid-react/comments/comments-overlay.d.ts +21 -0
  73. package/dist/components/data/ag-grid-react/comments/comments-overlay.js +406 -0
  74. package/dist/components/data/ag-grid-react/comments/comments-panel.d.ts +9 -0
  75. package/dist/components/data/ag-grid-react/comments/comments-panel.js +272 -0
  76. package/dist/components/data/ag-grid-react/comments/comments-persist.d.ts +11 -0
  77. package/dist/components/data/ag-grid-react/comments/comments-persist.js +19 -0
  78. package/dist/components/data/ag-grid-react/comments/comments-reveal.d.ts +11 -0
  79. package/dist/components/data/ag-grid-react/comments/comments-reveal.js +31 -0
  80. package/dist/components/data/ag-grid-react/comments/comments-ui-actions.d.ts +18 -0
  81. package/dist/components/data/ag-grid-react/comments/comments-ui-actions.js +22 -0
  82. package/dist/components/data/ag-grid-react/comments/comments-window.d.ts +10 -0
  83. package/dist/components/data/ag-grid-react/comments/comments-window.js +62 -0
  84. package/dist/components/data/ag-grid-react/comments/comments.types.d.ts +178 -0
  85. package/dist/components/data/ag-grid-react/comments/index.d.ts +5 -0
  86. package/dist/components/data/ag-grid-react/comments/index.js +15 -0
  87. package/dist/components/data/ag-grid-react/comments-cell-renderers-showcase.d.ts +25 -0
  88. package/dist/components/data/ag-grid-react/comments.story-data.d.ts +37 -0
  89. package/dist/components/data/ag-grid-react/comments.story-sources.d.ts +11 -0
  90. package/dist/components/data/ag-grid-react/grid-cell-address.d.ts +21 -0
  91. package/dist/components/data/ag-grid-react/grid-cell-address.js +21 -0
  92. package/dist/components/data/ag-grid-react/grid-row-reveal.d.ts +34 -0
  93. package/dist/components/data/ag-grid-react/grid-row-reveal.js +33 -0
  94. package/dist/components/data/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.js +75 -65
  95. package/dist/components/data/ag-grid-react/headers/advanced-filter/column-filter-section.d.ts +1 -1
  96. package/dist/components/data/ag-grid-react/headers/advanced-filter/column-filter-section.js +54 -54
  97. package/dist/components/data/ag-grid-react/headers/components/date-filter-picker.d.ts +1 -1
  98. package/dist/components/data/ag-grid-react/headers/header-search-input.js +122 -119
  99. package/dist/components/data/ag-grid-react/headers/utils/date-utils.d.ts +2 -1
  100. package/dist/components/data/ag-grid-react/headers/utils/date-utils.js +25 -20
  101. package/dist/components/data/ag-grid-react/headers/utils/filter-utils.d.ts +1 -1
  102. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  103. package/dist/components/data/ag-grid-react/index.js +481 -254
  104. package/dist/components/data/ag-grid-react/notes/index.d.ts +2 -0
  105. package/dist/components/data/ag-grid-react/notes/index.js +1 -0
  106. package/dist/components/data/ag-grid-react/notes/notes-ag-grid-adapter.d.ts +25 -0
  107. package/dist/components/data/ag-grid-react/notes/notes-ag-grid-adapter.js +32 -0
  108. package/dist/components/data/ag-grid-react/notes/notes-constants.d.ts +2 -0
  109. package/dist/components/data/ag-grid-react/notes/notes-constants.js +4 -0
  110. package/dist/components/data/ag-grid-react/notes/notes.types.d.ts +12 -0
  111. package/dist/components/data/ag-grid-react/notes.story-sources.d.ts +7 -0
  112. package/dist/components/data/ag-grid-react/nova-system-column.d.ts +7 -0
  113. package/dist/components/data/ag-grid-react/nova-system-column.js +18 -0
  114. package/dist/components/data/ag-grid-react/theme.js +6 -2
  115. package/dist/components/data/ag-grid-react/value-formatter.types.d.ts +4 -0
  116. package/dist/components/data/ag-grid-react/value-formatters.d.ts +0 -19
  117. package/dist/components/data/ag-grid-react/value-formatters.js +88 -90
  118. package/dist/components/data/data-table/build-column-tree-from-grid.d.ts +0 -1
  119. package/dist/components/data/data-table/build-column-tree-from-grid.js +49 -53
  120. package/dist/components/data/data-table/data-table-column-apply.d.ts +0 -2
  121. package/dist/components/data/data-table/data-table-column-apply.js +73 -84
  122. package/dist/components/data/data-table/data-table-column-def-pin.js +34 -31
  123. package/dist/components/data/data-table/data-table-column-list.js +64 -94
  124. package/dist/components/data/data-table/data-table-column-tree-cache.d.ts +6 -12
  125. package/dist/components/data/data-table/data-table-column-tree-cache.js +131 -250
  126. package/dist/components/data/data-table/data-table-context.js +5 -5
  127. package/dist/components/data/data-table/data-table-sheet-context.js +1 -1
  128. package/dist/components/data/data-table/data-table-sheet.js +2 -1
  129. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.d.ts +0 -5
  130. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.js +11 -28
  131. package/dist/components/data/data-table/use-data-table-column-list-sync.d.ts +0 -10
  132. package/dist/components/data/data-table/use-data-table-column-list-sync.js +196 -250
  133. package/dist/components/data/nested-list/components/NestedListContent.d.ts +2 -10
  134. package/dist/components/data/nested-list/components/NestedListContent.js +138 -253
  135. package/dist/components/data/nested-list/components/SortableItem.d.ts +1 -2
  136. package/dist/components/data/nested-list/components/SortableItem.js +60 -62
  137. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.d.ts +20 -10
  138. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.js +233 -44
  139. package/dist/components/data/nested-list/nested-list-constants.d.ts +1 -4
  140. package/dist/components/data/nested-list/nested-list-constants.js +4 -10
  141. package/dist/components/data/nested-list/nested-list.js +336 -322
  142. package/dist/components/data/nested-list/nested-list.types.d.ts +0 -17
  143. package/dist/components/data-display/calendar/calendar-config.js +22 -21
  144. package/dist/components/data-display/calendar/calendar-day-button.js +21 -21
  145. package/dist/components/data-display/calendar/calendar-day-picker-view.js +36 -35
  146. package/dist/components/data-display/calendar/calendar-fiscal-labels.d.ts +3 -3
  147. package/dist/components/data-display/calendar/calendar-fiscal-labels.js +50 -62
  148. package/dist/components/data-display/calendar/calendar.js +138 -137
  149. package/dist/components/data-display/calendar/fiscal-period-caption-select.js +23 -22
  150. package/dist/components/data-display/calendar/use-calendar-i18n.d.ts +1 -0
  151. package/dist/components/data-display/calendar/use-calendar-i18n.js +10 -9
  152. package/dist/components/data-display/chart/chart.js +72 -72
  153. package/dist/components/data-display/chart/chart.utils.d.ts +1 -1
  154. package/dist/components/data-display/chart/chart.utils.js +40 -31
  155. package/dist/components/feedback/sheet/sheet.js +1 -1
  156. package/dist/components/feedback/toast/toast.d.ts +1 -1
  157. package/dist/components/feedback/toast/toast.variants.d.ts +1 -1
  158. package/dist/components/flows/filter-panel/filter-panel.d.ts +1 -1
  159. package/dist/components/flows/filter-panel/filter-panel.js +65 -64
  160. package/dist/components/flows/filter-panel/filter-panel.types.d.ts +1 -0
  161. package/dist/components/forms/date-picker/date-picker.js +125 -126
  162. package/dist/components/forms/date-picker/date-range-picker.js +191 -192
  163. package/dist/components/forms/date-picker/multi-date-picker.js +66 -67
  164. package/dist/components/forms/date-picker/multi-week-picker.js +82 -83
  165. package/dist/components/forms/date-picker/use-picker-i18n.d.ts +6 -0
  166. package/dist/components/forms/date-picker/use-picker-i18n.js +11 -0
  167. package/dist/components/forms/date-picker/week-picker.js +146 -147
  168. package/dist/components/forms/date-picker/week-range-picker.js +158 -159
  169. package/dist/components/ui/local-raster-icons/message3d.webp.js +4 -0
  170. package/dist/components/ui/local-raster-icons/rasterIcons.d.ts +1 -0
  171. package/dist/components/ui/local-raster-icons/rasterIcons.js +27 -25
  172. package/dist/form-react/Fields/WeekRangePicker.js +16 -16
  173. package/dist/i18n/defaultMessages.d.ts +144 -0
  174. package/dist/i18n/defaultMessages.js +161 -19
  175. package/dist/i18n/format/collator.d.ts +1 -0
  176. package/dist/i18n/format/collator.js +7 -0
  177. package/dist/i18n/format/date-pattern.d.ts +5 -0
  178. package/dist/i18n/format/date-pattern.js +20 -0
  179. package/dist/i18n/format/format-date.d.ts +9 -0
  180. package/dist/i18n/format/format-date.js +56 -0
  181. package/dist/i18n/format/format-number.d.ts +20 -0
  182. package/dist/i18n/format/format-number.js +68 -0
  183. package/dist/i18n/format/formatter-cache.d.ts +9 -0
  184. package/dist/i18n/format/formatter-cache.js +66 -0
  185. package/dist/i18n/format/index.d.ts +6 -0
  186. package/dist/i18n/format/parse-number.d.ts +6 -0
  187. package/dist/i18n/format/parse-number.js +53 -0
  188. package/dist/i18n/getDateFnsLocale.d.ts +5 -4
  189. package/dist/i18n/getDateFnsLocale.js +46 -16
  190. package/dist/i18n/i18n.types.d.ts +13 -0
  191. package/dist/i18n/impact-nova-i18n-context.d.ts +1 -1
  192. package/dist/i18n/impact-nova-i18n-context.js +33 -25
  193. package/dist/i18n/impact-nova-i18n-defaults.js +8 -6
  194. package/dist/i18n/index.d.ts +4 -1
  195. package/dist/i18n/index.js +41 -16
  196. package/dist/i18n/locale-config.d.ts +28 -0
  197. package/dist/i18n/locale-config.js +32 -0
  198. package/dist/i18n/locales/de.js +142 -0
  199. package/dist/i18n/locales/es.js +142 -0
  200. package/dist/i18n/locales/hi.js +142 -0
  201. package/dist/i18n/locales/kn.js +142 -0
  202. package/dist/i18n/week-start.d.ts +6 -0
  203. package/dist/i18n/week-start.js +30 -0
  204. package/dist/impact-nova-components.css +249 -0
  205. package/dist/impact-nova-tokens.scss +6 -0
  206. package/dist/impact-nova.css +1 -1
  207. package/dist/index.d.ts +1 -1
  208. package/dist/index.js +624 -601
  209. package/dist/llms/index.js +26 -2
  210. package/dist/llms/rules/ag-grid.js +1 -1
  211. package/dist/llms/rules/best-practices.js +1 -1
  212. package/dist/llms/rules/data-table-chat.js +1 -0
  213. package/dist/llms/rules/data-table-comments.js +1 -0
  214. package/dist/llms/rules/data-table-notes.js +1 -0
  215. package/dist/llms/rules/installation.js +1 -1
  216. package/dist/llms/rules/migration.js +1 -1
  217. package/dist/llms/rules/real-world-patterns.js +1 -1
  218. package/dist/llms/rules/requirements.js +1 -1
  219. package/dist/llms/rules/troubleshooting.js +1 -1
  220. package/dist/providers/app-providers.d.ts +3 -1
  221. package/dist/providers/app-providers.js +22 -11
  222. package/package.json +13 -1
  223. package/dist/components/data/data-table/column-picker-authority.d.ts +0 -34
  224. package/dist/components/data/data-table/column-picker-authority.js +0 -116
  225. package/dist/components/data/data-table/column-picker-drop-validation.d.ts +0 -7
  226. package/dist/components/data/data-table/column-picker-drop-validation.js +0 -37
  227. package/dist/components/data/data-table/data-table-column-list-tree-apply.d.ts +0 -10
  228. package/dist/components/data/data-table/data-table-column-list-tree-apply.js +0 -79
  229. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.d.ts +0 -26
  230. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.js +0 -195
  231. package/dist/components/data/data-table/data-table-picker-column-eligibility.d.ts +0 -1
  232. package/dist/components/data/data-table/data-table-picker-column-eligibility.js +0 -7
  233. package/dist/components/data/data-table/reconcile-column-tree-from-grid.d.ts +0 -12
  234. package/dist/components/data/data-table/reconcile-column-tree-from-grid.js +0 -12
  235. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.d.ts +0 -24
  236. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.js +0 -128
  237. package/dist/components/data/nested-list/nested-list-display-utils.d.ts +0 -11
  238. package/dist/components/data/nested-list/nested-list-display-utils.js +0 -74
  239. package/dist/components/data/nested-list/nested-list-drop-engine.d.ts +0 -31
  240. package/dist/components/data/nested-list/nested-list-drop-engine.js +0 -209
  241. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.d.ts +0 -26
  242. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.js +0 -67
  243. package/dist/components/data/nested-list/nested-list-item-tree-mutations.d.ts +0 -4
  244. package/dist/components/data/nested-list/nested-list-item-tree-mutations.js +0 -43
  245. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.d.ts +0 -3
  246. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.js +0 -34
  247. package/dist/components/data/nested-list/nested-list-row-estimates.d.ts +0 -9
  248. package/dist/components/data/nested-list/nested-list-row-estimates.js +0 -14
  249. package/dist/components/data/nested-list/nested-list-scroll-anchor.d.ts +0 -36
  250. package/dist/components/data/nested-list/nested-list-scroll-anchor.js +0 -47
  251. package/dist/components/data/nested-list/nested-list-virtual-drop.d.ts +0 -59
  252. package/dist/components/data/nested-list/nested-list-virtual-drop.js +0 -341
  253. package/dist/lib/hash/fnv1a128.d.ts +0 -16
  254. package/dist/lib/hash/fnv1a128.js +0 -21
@@ -1,10 +1,10 @@
1
1
  import { jsx as c } from "react/jsx-runtime";
2
2
  import { Controller as b } from "react-hook-form";
3
3
  import { WeekRangePicker as x } from "../../components/forms/date-picker/week-range-picker.js";
4
- import { toLocalDate as M } from "../utils/calendar-boundary.js";
4
+ import { toLocalDate as f } from "../utils/calendar-boundary.js";
5
5
  import { resolveWeekSelection as Y } from "../../lib/fiscal-calendar/week-selection.js";
6
6
  import { resolveWeekRangeMinMax as $ } from "../utils/date.utils.js";
7
- const f = (e, a) => Y(e, {
7
+ const S = (e, a) => Y(e, {
8
8
  calendarKind: a.calendarKind,
9
9
  fiscalMode: a.fiscalMode ?? "basic",
10
10
  granularity: a.granularity,
@@ -14,44 +14,44 @@ const f = (e, a) => Y(e, {
14
14
  }), C = ({
15
15
  field: e,
16
16
  validationRules: a,
17
- isDisabled: S,
17
+ isDisabled: p,
18
18
  formHelpers: d
19
19
  }) => {
20
20
  const t = e.fieldType === "week_range" ? e : null;
21
21
  if (!t) return null;
22
- const { minDate: p, maxDate: u, startMonth: D, endMonth: k } = $(t), v = d.form.control;
22
+ const { minDate: u, maxDate: m, startMonth: D, endMonth: k } = $(t), v = d.form.control;
23
23
  return /* @__PURE__ */ c(
24
24
  b,
25
25
  {
26
26
  name: e.id,
27
27
  control: v,
28
28
  rules: a,
29
- render: ({ field: w, fieldState: m }) => {
30
- const h = !!m.error, r = w.value, s = r?.start ? M(r.start) ?? null : null, i = r?.end ? M(r.end) ?? null : null, F = !!(s && i);
29
+ render: ({ field: w, fieldState: h }) => {
30
+ const g = !!h.error, r = w.value, s = r?.start ? f(r.start) ?? null : null, i = r?.end ? f(r.end) ?? null : null, F = !!(s && i);
31
31
  return /* @__PURE__ */ c("div", { children: /* @__PURE__ */ c(
32
32
  x,
33
33
  {
34
34
  label: e.label,
35
35
  value: F && s && i ? {
36
- from: f(s, t),
37
- to: f(i, t)
36
+ from: S(s, t),
37
+ to: S(i, t)
38
38
  } : void 0,
39
39
  onChange: (o) => {
40
- const g = o?.from ? { from: o.from, to: o.to ?? o.from } : void 0, n = g?.from?.startDate, l = g?.to?.endDate, P = n ? `${n.getFullYear()}-${String(n.getMonth() + 1).padStart(2, "0")}-${String(n.getDate()).padStart(2, "0")}` : null, T = l ? `${l.getFullYear()}-${String(l.getMonth() + 1).padStart(2, "0")}-${String(l.getDate()).padStart(2, "0")}` : null;
40
+ const M = o?.from ? { from: o.from, to: o.to ?? o.from } : void 0, n = M?.from?.startDate, l = M?.to?.endDate, P = n ? `${n.getFullYear()}-${String(n.getMonth() + 1).padStart(2, "0")}-${String(n.getDate()).padStart(2, "0")}` : null, T = l ? `${l.getFullYear()}-${String(l.getMonth() + 1).padStart(2, "0")}-${String(l.getDate()).padStart(2, "0")}` : null;
41
41
  d.setValue(e.id, { start: P, end: T });
42
42
  },
43
43
  placeholder: t.placeholder,
44
- startMonth: D,
45
- endMonth: u ?? k,
44
+ startMonth: u ?? D,
45
+ endMonth: m ?? k,
46
46
  required: e.isRequired,
47
- disabled: S,
48
- error: h,
49
- helperText: h ? m.error?.message : e.helpText,
47
+ disabled: p,
48
+ error: g,
49
+ helperText: g ? h.error?.message : e.helpText,
50
50
  calendarKind: t.calendarKind,
51
51
  fiscalMode: t.fiscalMode,
52
52
  weekStartsOn: t.weekStartsOn,
53
- minDate: p,
54
- maxDate: u,
53
+ minDate: u,
54
+ maxDate: m,
55
55
  granularity: t.granularity,
56
56
  fiscalMonthPattern: t.fiscalMonthPattern,
57
57
  fiscalYearStartMonth: t.fiscalYearStartMonth,
@@ -139,6 +139,8 @@ export interface DataTableMessages {
139
139
  numericM: string;
140
140
  numericB: string;
141
141
  numericFullPrecision: string;
142
+ booleanYes: string;
143
+ booleanNo: string;
142
144
  /** Column indicator labels */
143
145
  indicatorSort: string;
144
146
  indicatorSearch: string;
@@ -280,6 +282,146 @@ export interface SidebarMessages {
280
282
  export interface StepperMessages {
281
283
  stepOfTotal: string;
282
284
  }
285
+ export interface CommentsMessages {
286
+ title: string;
287
+ addComment: string;
288
+ openComment: string;
289
+ deleteThread: string;
290
+ save: string;
291
+ cancel: string;
292
+ delete: string;
293
+ edit: string;
294
+ resolve: string;
295
+ unresolve: string;
296
+ composerPlaceholder: string;
297
+ emptyThread: string;
298
+ loading: string;
299
+ saveError: string;
300
+ loadError: string;
301
+ retry: string;
302
+ notInView: string;
303
+ commentMode: string;
304
+ panelTitle: string;
305
+ filterUnresolved: string;
306
+ filterResolved: string;
307
+ searchPlaceholder: string;
308
+ confirmDeleteTitle: string;
309
+ confirmDeleteDescription: string;
310
+ confirmDeleteThreadTitle: string;
311
+ confirmDeleteThreadDescription: string;
312
+ saving: string;
313
+ conflict: string;
314
+ noAccess: string;
315
+ messageActions: string;
316
+ threadActions: string;
317
+ replies: string;
318
+ moreReplies: string;
319
+ viewOlder: string;
320
+ filterComments: string;
321
+ emptyPanelTitle: string;
322
+ emptyPanelDescription: string;
323
+ noResultsTitle: string;
324
+ noResultsDescription: string;
325
+ }
326
+ export interface ChatMessages {
327
+ panelTitle: string;
328
+ columnHeader: string;
329
+ openChat: string;
330
+ cellLabel: string;
331
+ cellLabelUnread: string;
332
+ composerPlaceholder: string;
333
+ send: string;
334
+ saving: string;
335
+ loading: string;
336
+ loadError: string;
337
+ saveError: string;
338
+ retry: string;
339
+ conflict: string;
340
+ locating: string;
341
+ hiddenByFilter: string;
342
+ notInCurrentPage: string;
343
+ rowMissing: string;
344
+ emptyCatalogTitle: string;
345
+ emptyCatalogDescription: string;
346
+ emptyThreadTitle: string;
347
+ emptyThreadDescription: string;
348
+ conversationTitle: string;
349
+ rowIdLabel: string;
350
+ searchPlaceholder: string;
351
+ viewOlder: string;
352
+ backToRows: string;
353
+ addChat: string;
354
+ newChatNamePlaceholder: string;
355
+ createChat: string;
356
+ panelDescription: string;
357
+ pinned: string;
358
+ info: string;
359
+ pinnedMessages: string;
360
+ closePinned: string;
361
+ thread: string;
362
+ closeThread: string;
363
+ reply: string;
364
+ replies: string;
365
+ pin: string;
366
+ unpin: string;
367
+ edited: string;
368
+ deleted: string;
369
+ searchMessages: string;
370
+ today: string;
371
+ yesterday: string;
372
+ createdBy: string;
373
+ noPinned: string;
374
+ threadComposerPlaceholder: string;
375
+ edit: string;
376
+ delete: string;
377
+ messageActions: string;
378
+ cancel: string;
379
+ update: string;
380
+ bold: string;
381
+ italic: string;
382
+ insertLink: string;
383
+ you: string;
384
+ me: string;
385
+ members: string;
386
+ addMember: string;
387
+ addSelected: string;
388
+ memberAdded: string;
389
+ memberRemoved: string;
390
+ removeMember: string;
391
+ expandPinned: string;
392
+ collapsePinned: string;
393
+ expandMembers: string;
394
+ collapseMembers: string;
395
+ noPeople: string;
396
+ searchPeople: string;
397
+ showMoreMembers: string;
398
+ permissionDenied: string;
399
+ notifyTitle: string;
400
+ notifyAll: string;
401
+ notifyMentions: string;
402
+ notifyIncludeBroadcast: string;
403
+ notifyNothing: string;
404
+ muteChat: string;
405
+ muteHintList: string;
406
+ muteHintBadge: string;
407
+ saveChanges: string;
408
+ highPriority: string;
409
+ mediumPriority: string;
410
+ lowPriority: string;
411
+ normalPriority: string;
412
+ setMessagePriority: string;
413
+ conversationActions: string;
414
+ listActions: string;
415
+ selectConversation: string;
416
+ mute: string;
417
+ unmute: string;
418
+ muted: string;
419
+ attachFile: string;
420
+ attachImage: string;
421
+ insertEmoji: string;
422
+ quickAction: string;
423
+ removeAttachment: string;
424
+ }
283
425
  export interface AdvancedFilterMessages {
284
426
  title: string;
285
427
  currentColumn: string;
@@ -350,6 +492,8 @@ export interface ImpactNovaMessages {
350
492
  horizontalScroller: HorizontalScrollerMessages;
351
493
  sidebar: SidebarMessages;
352
494
  stepper: StepperMessages;
495
+ comments: CommentsMessages;
496
+ chat: ChatMessages;
353
497
  }
354
498
  /** Default English messages used when no provider or partial override */
355
499
  export declare const defaultMessages: ImpactNovaMessages;
@@ -64,7 +64,7 @@ const e = {
64
64
  between: "Between",
65
65
  inSet: "In Set",
66
66
  notInSet: "Not In Set"
67
- }, a = {
67
+ }, o = {
68
68
  search: "Search",
69
69
  searchPlaceholder: "Search...",
70
70
  select: "Select...",
@@ -79,14 +79,14 @@ const e = {
79
79
  logicAll: "all",
80
80
  logicAny: "any",
81
81
  operators: l
82
- }, o = {
82
+ }, a = {
83
83
  placeholder: "Select...",
84
84
  searchHere: "Search here...",
85
85
  selectAll: "Select All",
86
86
  unselectAll: "Unselect All",
87
87
  clear: "Clear",
88
88
  selectedCount: "Selected ({{count}})"
89
- }, r = {
89
+ }, n = {
90
90
  searchPlaceholder: "Search...",
91
91
  apply: "Apply",
92
92
  reset: "Reset",
@@ -122,6 +122,8 @@ const e = {
122
122
  numericM: "In M (Millions)",
123
123
  numericB: "In B (Billions)",
124
124
  numericFullPrecision: "Full Precision (Decimal)",
125
+ booleanYes: "Yes",
126
+ booleanNo: "No",
125
127
  indicatorSort: "Sort",
126
128
  indicatorSearch: "Search",
127
129
  indicatorNonSavable: "Non Savable",
@@ -150,7 +152,7 @@ const e = {
150
152
  savedViewsDeleteConfirmTitle: "Delete saved view?",
151
153
  savedViewsDeleteConfirmDescription: 'This will permanently delete "{{viewName}}". You cannot undo this action.',
152
154
  savedViewsDeleteConfirmButton: "Delete"
153
- }, n = {
155
+ }, r = {
154
156
  close: "Close",
155
157
  breadcrumb: "breadcrumb",
156
158
  home: "Home",
@@ -200,7 +202,7 @@ const e = {
200
202
  tabContainsErrors: "This tab contains errors",
201
203
  tabHasWarnings: "This tab has warnings",
202
204
  additionalInfoAvailable: "Additional information available"
203
- }, p = {
205
+ }, m = {
204
206
  title: "Notifications",
205
207
  description: "Notifications",
206
208
  everythingQuiet: "Everything looks quiet for now",
@@ -234,16 +236,154 @@ const e = {
234
236
  highlightCount: "{{count}} highlights",
235
237
  supportFooterMessage: "Need more help?",
236
238
  supportTicketLabel: "Submit a support ticket"
237
- }, m = {
239
+ }, p = {
238
240
  scrollLeft: "Scroll left",
239
241
  scrollRight: "Scroll right"
240
- }, S = {
242
+ }, g = {
241
243
  viewMore: "View More",
242
244
  viewLess: "View Less",
243
245
  logout: "Logout"
244
246
  }, f = {
245
247
  stepOfTotal: "Step {{current}} of {{total}}"
246
- }, g = {
248
+ }, v = {
249
+ title: "Comments",
250
+ addComment: "Add comment",
251
+ openComment: "Open comment",
252
+ deleteThread: "Delete thread",
253
+ save: "Save",
254
+ cancel: "Cancel",
255
+ delete: "Delete",
256
+ edit: "Edit",
257
+ resolve: "Resolve",
258
+ unresolve: "Reopen",
259
+ composerPlaceholder: "Write a comment",
260
+ emptyThread: "No comments yet",
261
+ loading: "Loading comments",
262
+ saveError: "Could not save comment",
263
+ loadError: "Could not load comments",
264
+ retry: "Retry",
265
+ notInView: "Not in current view",
266
+ commentMode: "Comment mode",
267
+ panelTitle: "Comments",
268
+ filterUnresolved: "Open",
269
+ filterResolved: "Resolved",
270
+ searchPlaceholder: "Search",
271
+ confirmDeleteTitle: "Delete message?",
272
+ confirmDeleteDescription: "This message will be removed from the thread.",
273
+ confirmDeleteThreadTitle: "Delete thread?",
274
+ confirmDeleteThreadDescription: "All messages in this thread will be removed.",
275
+ saving: "Saving",
276
+ conflict: "This thread changed. Reload and try again.",
277
+ noAccess: "You do not have access to these comments.",
278
+ messageActions: "Message actions",
279
+ threadActions: "Thread actions",
280
+ replies: "{{count}} Replies",
281
+ moreReplies: "{{count}} more replies",
282
+ viewOlder: "View older comments",
283
+ filterComments: "Filter comments",
284
+ emptyPanelTitle: "No comments to display",
285
+ emptyPanelDescription: "To add a new comment, simply click on any cell in the table and type your comment.",
286
+ noResultsTitle: "No results found",
287
+ noResultsDescription: "We couldn't locate '{{query}}'. Please try searching for something else."
288
+ }, S = {
289
+ panelTitle: "Chats",
290
+ columnHeader: "Chat",
291
+ openChat: "Open chat",
292
+ cellLabel: "Chat for {{title}}",
293
+ cellLabelUnread: "Chat for {{title}}, {{count}} unread",
294
+ composerPlaceholder: "Type message",
295
+ send: "Send",
296
+ saving: "Sending",
297
+ loading: "Loading chat",
298
+ loadError: "Could not load chat",
299
+ saveError: "Could not send message",
300
+ retry: "Retry",
301
+ conflict: "This conversation changed. Reload and try again.",
302
+ locating: "Locating row",
303
+ hiddenByFilter: "Hidden by current filter",
304
+ notInCurrentPage: "Row is not in the current page",
305
+ rowMissing: "Row no longer available",
306
+ emptyCatalogTitle: "No conversations yet",
307
+ emptyCatalogDescription: "Nothing here at the moment! Your chat list is empty for now. Start a conversation and it'll show up here.",
308
+ emptyThreadTitle: "Looks like you have not started any chat",
309
+ emptyThreadDescription: "Start chat from below",
310
+ conversationTitle: "Conversation",
311
+ rowIdLabel: "ID : {{rowId}}",
312
+ searchPlaceholder: "Search",
313
+ viewOlder: "View older messages",
314
+ backToRows: "Back to all chats",
315
+ addChat: "Chat",
316
+ newChatNamePlaceholder: "Chat name",
317
+ createChat: "Create",
318
+ panelDescription: "Row chats for the current table.",
319
+ pinned: "Pinned",
320
+ info: "Info",
321
+ pinnedMessages: "Pinned message",
322
+ closePinned: "Close",
323
+ thread: "Thread",
324
+ closeThread: "Close thread",
325
+ reply: "Reply",
326
+ replies: "{{count}} replies",
327
+ pin: "Pin",
328
+ unpin: "Unpin",
329
+ edited: "Edited",
330
+ deleted: "Message deleted by its author",
331
+ searchMessages: "Search messages",
332
+ today: "Today",
333
+ yesterday: "Yesterday",
334
+ createdBy: "Created by : {{author}} at {{time}}",
335
+ noPinned: "No pinned messages",
336
+ threadComposerPlaceholder: "Reply in thread",
337
+ edit: "Edit",
338
+ delete: "Delete",
339
+ messageActions: "Message actions",
340
+ cancel: "Cancel",
341
+ update: "Update",
342
+ bold: "Bold",
343
+ italic: "Italic",
344
+ insertLink: "Insert link",
345
+ you: "You",
346
+ me: "Me",
347
+ members: "Members",
348
+ addMember: "Add member",
349
+ addSelected: "Add",
350
+ memberAdded: "{{name}} was added",
351
+ memberRemoved: "{{name}} was removed",
352
+ removeMember: "Remove {{name}}",
353
+ expandPinned: "Expand pinned",
354
+ collapsePinned: "Collapse pinned",
355
+ expandMembers: "Expand members",
356
+ collapseMembers: "Collapse members",
357
+ noPeople: "No people to add",
358
+ searchPeople: "Search people",
359
+ showMoreMembers: "Show {{count}} more",
360
+ permissionDenied: "You do not have permission to do that",
361
+ notifyTitle: "Send a notification for",
362
+ notifyAll: "All new messages",
363
+ notifyMentions: "Mentions",
364
+ notifyIncludeBroadcast: "Also include @channel and @here",
365
+ notifyNothing: "Nothing",
366
+ muteChat: "Mute chat",
367
+ muteHintList: "Muted chats appear greyed at the bottom of the list.",
368
+ muteHintBadge: "You still see a badge if you are mentioned.",
369
+ saveChanges: "Save changes",
370
+ highPriority: "High priority",
371
+ mediumPriority: "Medium priority",
372
+ lowPriority: "Low priority",
373
+ normalPriority: "Normal priority",
374
+ setMessagePriority: "Set message priority",
375
+ conversationActions: "Conversation actions",
376
+ listActions: "Chat list actions",
377
+ selectConversation: "Select {{title}}",
378
+ mute: "Mute",
379
+ unmute: "Unmute",
380
+ muted: "Muted",
381
+ attachFile: "Attach file",
382
+ attachImage: "Attach image",
383
+ insertEmoji: "Emoji",
384
+ quickAction: "Quick action",
385
+ removeAttachment: "Remove {{name}}"
386
+ }, y = {
247
387
  title: "Advanced Filter",
248
388
  currentColumn: "Current Column",
249
389
  allFilters: "Active Filters",
@@ -257,7 +397,7 @@ const e = {
257
397
  addRule: "+ Add Rule",
258
398
  deleteColumn: "Delete",
259
399
  noValueNeeded: "No value needed"
260
- }, v = {
400
+ }, C = {
261
401
  activeFilter: "Active filter",
262
402
  search: "Search",
263
403
  selection: "Selection",
@@ -295,22 +435,24 @@ const e = {
295
435
  }, w = {
296
436
  calendar: e,
297
437
  datePicker: t,
298
- filter: a,
299
- select: o,
300
- nestedList: r,
438
+ filter: o,
439
+ select: a,
440
+ nestedList: n,
301
441
  dataTable: i,
302
- aria: n,
442
+ aria: r,
303
443
  prompt: s,
304
444
  fileUpload: c,
305
445
  filterStrip: d,
306
446
  filterPanel: u,
307
- advancedFilter: g,
308
- gridHeader: v,
309
- notificationPanel: p,
447
+ advancedFilter: y,
448
+ gridHeader: C,
449
+ notificationPanel: m,
310
450
  helpCenter: h,
311
- horizontalScroller: m,
312
- sidebar: S,
313
- stepper: f
451
+ horizontalScroller: p,
452
+ sidebar: g,
453
+ stepper: f,
454
+ comments: v,
455
+ chat: S
314
456
  };
315
457
  export {
316
458
  w as defaultMessages
@@ -0,0 +1 @@
1
+ export declare function compareStrings(left: string, right: string, locale: string, options?: Intl.CollatorOptions): number;
@@ -0,0 +1,7 @@
1
+ import { getCollator as m } from "./formatter-cache.js";
2
+ function p(r, o, t, e) {
3
+ return m(t, e).compare(r, o);
4
+ }
5
+ export {
6
+ p as compareStrings
7
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Derive a date-fns token pattern from Intl so typed inputs match the locale
3
+ * (de-DE → dd.MM.yyyy, en-US → MM/dd/yyyy, en-GB → dd/MM/yyyy).
4
+ */
5
+ export declare function getLocalizedDatePattern(locale: string, options?: Intl.DateTimeFormatOptions): string;
@@ -0,0 +1,20 @@
1
+ import { SHORT_DATE_OPTIONS as a } from "./format-date.js";
2
+ import { getDateTimeFormat as c } from "./formatter-cache.js";
3
+ const e = /* @__PURE__ */ new Map(), T = 64, d = {
4
+ year: "yyyy",
5
+ month: "MM",
6
+ day: "dd"
7
+ }, u = new Date(2026, 7, 24);
8
+ function E(r, s = a) {
9
+ const o = `${r}|${JSON.stringify(s)}`, y = e.get(o);
10
+ if (y) return y;
11
+ const n = c(r, s).formatToParts(u).map((t) => t.type === "literal" ? t.value : d[t.type] ?? "").join(""), i = n.includes("yyyy") && n.includes("MM") && n.includes("dd") ? n : "yyyy-MM-dd";
12
+ if (e.set(o, i), e.size > T) {
13
+ const t = e.keys().next().value;
14
+ t != null && e.delete(t);
15
+ }
16
+ return i;
17
+ }
18
+ export {
19
+ E as getLocalizedDatePattern
20
+ };
@@ -0,0 +1,9 @@
1
+ export declare const SHORT_DATE_OPTIONS: Intl.DateTimeFormatOptions;
2
+ export declare const SHORT_TIME_OPTIONS: Intl.DateTimeFormatOptions;
3
+ export declare const SHORT_DATE_TIME_OPTIONS: Intl.DateTimeFormatOptions;
4
+ /** Parse Date / epoch / ISO. Date-only strings use local calendar days to avoid TZ hydration skew. */
5
+ export declare function toValidDate(value: Date | number | string): Date | null;
6
+ export declare function formatDate(value: Date | number | string, locale: string, options?: Intl.DateTimeFormatOptions): string;
7
+ export declare function formatTime(value: Date | number | string, locale: string, options?: Intl.DateTimeFormatOptions): string;
8
+ export declare function formatDateTime(value: Date | number | string, locale: string, options?: Intl.DateTimeFormatOptions): string;
9
+ export declare function formatRelativeTime(value: Date | number | string, locale: string, now?: number): string;
@@ -0,0 +1,56 @@
1
+ import { getRelativeTimeFormat as c, getDateTimeFormat as d } from "./formatter-cache.js";
2
+ const a = {
3
+ day: "2-digit",
4
+ month: "2-digit",
5
+ year: "numeric"
6
+ }, u = {
7
+ hour: "numeric",
8
+ minute: "2-digit"
9
+ }, T = {
10
+ ...a,
11
+ ...u
12
+ }, l = /^\d{4}-\d{2}-\d{2}$/;
13
+ function f(t) {
14
+ if (t instanceof Date)
15
+ return Number.isNaN(t.getTime()) ? null : t;
16
+ if (typeof t == "number") {
17
+ const e = new Date(t);
18
+ return Number.isNaN(e.getTime()) ? null : e;
19
+ }
20
+ if (typeof t != "string" || t.trim() === "") return null;
21
+ const n = t.trim();
22
+ if (l.test(n)) {
23
+ const [e, o, m] = n.split("-").map(Number);
24
+ if (e == null || o == null || m == null) return null;
25
+ const r = new Date(e, o - 1, m);
26
+ return Number.isNaN(r.getTime()) || r.getFullYear() !== e || r.getMonth() !== o - 1 || r.getDate() !== m ? null : r;
27
+ }
28
+ const i = new Date(n);
29
+ return Number.isNaN(i.getTime()) ? null : i;
30
+ }
31
+ function s(t, n, i = a) {
32
+ const e = f(t);
33
+ return e ? d(n, i).format(e) : "";
34
+ }
35
+ function g(t, n, i = u) {
36
+ return s(t, n, i);
37
+ }
38
+ function D(t, n, i = T) {
39
+ return s(t, n, i);
40
+ }
41
+ function h(t, n, i = Date.now()) {
42
+ const e = f(t);
43
+ if (!e) return typeof t == "string" ? t : "";
44
+ const o = e.getTime() - i, m = Math.abs(o) / 1e3, r = c(n, { numeric: "auto" });
45
+ return m < 60 ? r.format(Math.round(o / 1e3), "second") : m < 3600 ? r.format(Math.round(o / 6e4), "minute") : m < 86400 ? r.format(Math.round(o / 36e5), "hour") : m < 86400 * 30 ? r.format(Math.round(o / 864e5), "day") : r.format(Math.round(o / (864e5 * 30)), "month");
46
+ }
47
+ export {
48
+ a as SHORT_DATE_OPTIONS,
49
+ T as SHORT_DATE_TIME_OPTIONS,
50
+ u as SHORT_TIME_OPTIONS,
51
+ s as formatDate,
52
+ D as formatDateTime,
53
+ h as formatRelativeTime,
54
+ g as formatTime,
55
+ f as toValidDate
56
+ };
@@ -0,0 +1,20 @@
1
+ export type CompactMagnitude = "auto" | "thou" | "mil" | "bil";
2
+ export declare function formatNumber(value: number, locale: string, options?: Intl.NumberFormatOptions): string;
3
+ /**
4
+ * Currency is always explicit. `numberLocale` only controls presentation
5
+ * (separators, symbol placement), never the ISO currency code.
6
+ */
7
+ export declare function formatCurrency(value: number, locale: string, currency: string, options?: Omit<Intl.NumberFormatOptions, "style" | "currency">): string;
8
+ export declare function formatPercent(value: number, locale: string, options?: Omit<Intl.NumberFormatOptions, "style">): string;
9
+ /**
10
+ * Auto compact uses Intl compact notation.
11
+ * Forced thou/mil/bil keep magnitude semantics and format the coefficient with `locale`.
12
+ * Never append English K/M/B onto a localized decimal.
13
+ */
14
+ export declare function formatCompactNumber(value: number, locale: string, magnitude?: CompactMagnitude): string;
15
+ export interface NumberSeparators {
16
+ decimal: string;
17
+ group: string;
18
+ minus: string;
19
+ }
20
+ export declare function getNumberSeparators(locale: string): NumberSeparators;
@@ -0,0 +1,68 @@
1
+ import { canonicalizeLocale as s } from "../locale-config.js";
2
+ import { getNumberFormat as i } from "./formatter-cache.js";
3
+ const u = {
4
+ thou: 1e3,
5
+ mil: 1e6,
6
+ bil: 1e9
7
+ }, p = {
8
+ thou: 1e3,
9
+ mil: 1e6,
10
+ bil: 1e9
11
+ };
12
+ function f(o, r, t) {
13
+ return i(r, t).format(o);
14
+ }
15
+ function D(o, r, t, c) {
16
+ return i(r, {
17
+ ...c,
18
+ style: "currency",
19
+ currency: t
20
+ }).format(o);
21
+ }
22
+ function l(o, r, t) {
23
+ return i(r, {
24
+ ...t,
25
+ style: "percent"
26
+ }).format(o);
27
+ }
28
+ function b(o, r) {
29
+ const t = p[r];
30
+ for (const c of ["short", "long"]) {
31
+ const m = i(o, {
32
+ notation: "compact",
33
+ compactDisplay: c
34
+ }).formatToParts(t).filter((n) => n.type === "compact").map((n) => n.value).join("");
35
+ if (m) return m;
36
+ }
37
+ return "";
38
+ }
39
+ function N(o, r, t = "auto") {
40
+ if (!Number.isFinite(o))
41
+ return f(o, r);
42
+ if (t === "auto")
43
+ return i(r, {
44
+ notation: "compact",
45
+ compactDisplay: "short",
46
+ maximumFractionDigits: 1
47
+ }).format(o);
48
+ const c = u[t], e = o < 0 || Object.is(o, -0) ? -1 : 1, m = Math.abs(o) / c * e, n = f(m, r, {
49
+ minimumFractionDigits: 1,
50
+ maximumFractionDigits: 1
51
+ }), a = b(r, t);
52
+ return a ? `${n}${a}` : n;
53
+ }
54
+ function x(o) {
55
+ const r = i(s(o)).formatToParts(-123456789e-2);
56
+ return {
57
+ decimal: r.find((t) => t.type === "decimal")?.value ?? ".",
58
+ group: r.find((t) => t.type === "group")?.value ?? ",",
59
+ minus: r.find((t) => t.type === "minusSign")?.value ?? "-"
60
+ };
61
+ }
62
+ export {
63
+ N as formatCompactNumber,
64
+ D as formatCurrency,
65
+ f as formatNumber,
66
+ l as formatPercent,
67
+ x as getNumberSeparators
68
+ };