infinity-forge 0.36.0 → 0.36.4

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 (193) hide show
  1. package/dist/sites/components/brands-carousel/styles.d.ts +1 -1
  2. package/dist/sites/components/counter/versions/version-01/box/styles.d.ts +1 -1
  3. package/dist/sites/components/counter/versions/version-01/styles.d.ts +1 -1
  4. package/dist/sites/components/header-link/versions/version-01/styles.d.ts +1 -1
  5. package/dist/sites/components/mvv/versions/version-01/styles.d.ts +1 -1
  6. package/dist/sites/context/configs/scripts/acept-cookies/styles.d.ts +1 -1
  7. package/dist/sites/context/configs/scripts/acept-ratedr/styles.d.ts +1 -1
  8. package/dist/sites/context/configs/scripts/whatsapp-fixed/styles.d.ts +1 -1
  9. package/dist/system/presentation/components/data/avatar/styles.d.ts +1 -1
  10. package/dist/system/presentation/components/data/buttons/sidebar-button/styles.d.ts +2 -2
  11. package/dist/system/presentation/components/data/chat/card-message/styles.d.ts +2 -2
  12. package/dist/system/presentation/components/data/chat/loader/styles.d.ts +2 -2
  13. package/dist/system/presentation/components/data/chat/styles.d.ts +2 -2
  14. package/dist/system/presentation/components/data/detail-card/styles.d.ts +2 -2
  15. package/dist/system/presentation/components/data/highlight-icon/styles.d.ts +2 -2
  16. package/dist/system/presentation/components/data/highlight-text/styles.d.ts +2 -2
  17. package/dist/system/presentation/components/data/input-search/styles.d.ts +2 -2
  18. package/dist/system/presentation/components/data/logo/styles.d.ts +1 -1
  19. package/dist/system/presentation/components/data/overlay/styles.d.ts +2 -2
  20. package/dist/system/presentation/components/data/page-wrapper/styles.d.ts +2 -2
  21. package/dist/system/presentation/components/data/profile-infos/profile/styles.d.ts +2 -2
  22. package/dist/system/presentation/components/data/profile-infos/styles.d.ts +2 -2
  23. package/dist/system/presentation/components/data/select-workspace/styles.d.ts +1 -1
  24. package/dist/system/presentation/components/data/sign-up/styles.d.ts +2 -2
  25. package/dist/system/presentation/components/data/tab/styles.d.ts +2 -2
  26. package/dist/system/presentation/components/layout/header/components/menu-right/messages/content/card/styles.d.ts +2 -2
  27. package/dist/system/presentation/components/layout/header/components/menu-right/messages/content/styles.d.ts +1 -1
  28. package/dist/system/presentation/components/layout/header/components/menu-right/messages/styles.d.ts +1 -1
  29. package/dist/system/presentation/components/layout/header/components/menu-right/notifications/card/styles.d.ts +2 -2
  30. package/dist/system/presentation/components/layout/header/components/menu-right/notifications/styles.d.ts +4 -4
  31. package/dist/system/presentation/components/layout/header/components/menu-right/profile/content/styles.d.ts +1 -1
  32. package/dist/system/presentation/components/layout/header/components/menu-right/profile/styles.d.ts +1 -1
  33. package/dist/system/presentation/components/layout/header/components/menu-right/settings/styles.d.ts +1 -1
  34. package/dist/system/presentation/components/layout/header/components/menu-right/styles.d.ts +2 -2
  35. package/dist/system/presentation/components/layout/header/components/search-modal/search-list/styles.d.ts +1 -1
  36. package/dist/system/presentation/components/layout/header/components/search-modal/styles.d.ts +1 -1
  37. package/dist/system/presentation/components/layout/header/components/search-modal/trigger/styles.d.ts +2 -2
  38. package/dist/system/presentation/components/layout/header/version-01/styles.d.ts +1 -1
  39. package/dist/system/presentation/components/layout/menu/components/menu/styles.d.ts +2 -2
  40. package/dist/system/presentation/components/layout/menu/version-01/styles.d.ts +1 -1
  41. package/dist/system/presentation/components/layout/styles.d.ts +2 -2
  42. package/dist/system/presentation/components/pages/menus/table/icon/style.d.ts +2 -2
  43. package/dist/system/presentation/context/auth/login/styles.d.ts +2 -2
  44. package/dist/system/presentation/hooks/ui/use-table/components/table/actions/styles.d.ts +2 -2
  45. package/dist/system/presentation/hooks/ui/use-table/components/table/create/styles.d.ts +2 -2
  46. package/dist/system/presentation/hooks/ui/use-table/components/table/export/styles.d.ts +2 -2
  47. package/dist/system/presentation/hooks/ui/use-table/components/table/filters/styles.d.ts +2 -2
  48. package/dist/system/presentation/hooks/ui/use-table/components/table/pagination/styles.d.ts +1 -1
  49. package/dist/system/presentation/hooks/ui/use-table/components/table/skeleton-table/styles.d.ts +2 -2
  50. package/dist/system/presentation/hooks/ui/use-table/components/table/styles.d.ts +6 -6
  51. package/dist/system/presentation/hooks/ui/use-table/components/table/thead-item/styles.d.ts +2 -2
  52. package/dist/ui/components/accordion/styles.d.ts +1 -1
  53. package/dist/ui/components/breadcrumb/styles.d.ts +2 -2
  54. package/dist/ui/components/button/styles.d.ts +1 -1
  55. package/dist/ui/components/form/checkbox/styles.d.ts +2 -2
  56. package/dist/ui/components/form/handler/dynamic_form_handler/styles.d.ts +2 -2
  57. package/dist/ui/components/form/handler/styles.d.ts +2 -2
  58. package/dist/ui/components/form/input-control/error/styles.d.ts +2 -2
  59. package/dist/ui/components/form/input-control/label/styles.d.ts +2 -2
  60. package/dist/ui/components/form/input-control/loader-input/styles.d.ts +2 -2
  61. package/dist/ui/components/form/input-control/styles.d.ts +2 -2
  62. package/dist/ui/components/form/input-cpf-cnpj/index.js +13 -13
  63. package/dist/ui/components/form/input-cpf-cnpj/index.js.map +1 -1
  64. package/dist/ui/components/form/input-date/styles.d.ts +2 -2
  65. package/dist/ui/components/form/input-date-picker/date_picket_lib_css.d.ts +2 -2
  66. package/dist/ui/components/form/input-date-picker/styles.d.ts +2 -2
  67. package/dist/ui/components/form/input-date-range/styles.d.ts +2 -2
  68. package/dist/ui/components/form/input-file/file-card/styles.d.ts +2 -2
  69. package/dist/ui/components/form/input-file/styles.d.ts +2 -2
  70. package/dist/ui/components/form/input-mask/index.js +14 -12
  71. package/dist/ui/components/form/input-mask/index.js.map +1 -1
  72. package/dist/ui/components/form/input-mask/lib/core/errors/SyntheticChangeError.d.ts +14 -0
  73. package/dist/ui/components/form/input-mask/lib/core/errors/SyntheticChangeError.js +34 -0
  74. package/dist/ui/components/form/input-mask/lib/core/errors/SyntheticChangeError.js.map +1 -0
  75. package/dist/ui/components/form/input-mask/lib/core/hooks/useConnectedInputRef.d.ts +7 -0
  76. package/dist/ui/components/form/input-mask/lib/core/hooks/useConnectedInputRef.js +21 -0
  77. package/dist/ui/components/form/input-mask/lib/core/hooks/useConnectedInputRef.js.map +1 -0
  78. package/dist/ui/components/form/input-mask/lib/core/hooks/useInput.d.ts +16 -0
  79. package/dist/ui/components/form/input-mask/lib/core/hooks/useInput.js +255 -0
  80. package/dist/ui/components/form/input-mask/lib/core/hooks/useInput.js.map +1 -0
  81. package/dist/ui/components/form/input-mask/lib/core/index.d.ts +5 -0
  82. package/dist/ui/components/form/input-mask/lib/core/index.js +15 -0
  83. package/dist/ui/components/form/input-mask/lib/core/index.js.map +1 -0
  84. package/dist/ui/components/form/input-mask/lib/core/types.d.ts +48 -0
  85. package/dist/{system/presentation/context/system-configs/interfaces.js → ui/components/form/input-mask/lib/core/types.js} +1 -1
  86. package/dist/ui/components/form/input-mask/lib/core/types.js.map +1 -0
  87. package/dist/ui/components/form/input-mask/lib/core/utils/setInputAttributes.d.ts +2 -0
  88. package/dist/ui/components/form/input-mask/lib/core/utils/setInputAttributes.js +15 -0
  89. package/dist/ui/components/form/input-mask/lib/core/utils/setInputAttributes.js.map +1 -0
  90. package/dist/ui/components/form/input-mask/lib/mask/InputMask.d.ts +6 -0
  91. package/dist/ui/components/form/input-mask/lib/mask/InputMask.js +44 -0
  92. package/dist/ui/components/form/input-mask/lib/mask/InputMask.js.map +1 -0
  93. package/dist/ui/components/form/input-mask/lib/mask/index.d.ts +5 -0
  94. package/dist/ui/{contexts/theme → components/form/input-mask/lib/mask}/index.js +9 -2
  95. package/dist/ui/components/form/input-mask/lib/mask/index.js.map +1 -0
  96. package/dist/ui/components/form/input-mask/lib/mask/types.d.ts +61 -0
  97. package/dist/ui/components/form/input-mask/lib/mask/types.js +3 -0
  98. package/dist/ui/components/form/input-mask/lib/mask/types.js.map +1 -0
  99. package/dist/ui/components/form/input-mask/lib/mask/useMask.d.ts +3 -0
  100. package/dist/ui/components/form/input-mask/lib/mask/useMask.js +182 -0
  101. package/dist/ui/components/form/input-mask/lib/mask/useMask.js.map +1 -0
  102. package/dist/ui/components/form/input-mask/lib/mask/utils/filter.d.ts +14 -0
  103. package/dist/ui/components/form/input-mask/lib/mask/utils/filter.js +26 -0
  104. package/dist/ui/components/form/input-mask/lib/mask/utils/filter.js.map +1 -0
  105. package/dist/ui/components/form/input-mask/lib/mask/utils/format.d.ts +14 -0
  106. package/dist/ui/components/form/input-mask/lib/mask/utils/format.js +29 -0
  107. package/dist/ui/components/form/input-mask/lib/mask/utils/format.js.map +1 -0
  108. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToParts.d.ts +17 -0
  109. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToParts.js +30 -0
  110. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToParts.js.map +1 -0
  111. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToReplacementObject.d.ts +2 -0
  112. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToReplacementObject.js +8 -0
  113. package/dist/ui/components/form/input-mask/lib/mask/utils/formatToReplacementObject.js.map +1 -0
  114. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveDetail.d.ts +14 -0
  115. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveDetail.js +25 -0
  116. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveDetail.js.map +1 -0
  117. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveSelection.d.ts +18 -0
  118. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveSelection.js +47 -0
  119. package/dist/ui/components/form/input-mask/lib/mask/utils/resolveSelection.js.map +1 -0
  120. package/dist/ui/components/form/input-mask/lib/mask/utils/unformat.d.ts +16 -0
  121. package/dist/ui/components/form/input-mask/lib/mask/utils/unformat.js +26 -0
  122. package/dist/ui/components/form/input-mask/lib/mask/utils/unformat.js.map +1 -0
  123. package/dist/ui/components/form/input-mask/lib/mask/utils/validate.d.ts +13 -0
  124. package/dist/ui/components/form/input-mask/lib/mask/utils/validate.js +41 -0
  125. package/dist/ui/components/form/input-mask/lib/mask/utils/validate.js.map +1 -0
  126. package/dist/ui/components/form/input-mask/lib/mask/utils.d.ts +63 -0
  127. package/dist/ui/components/form/input-mask/lib/mask/utils.js +114 -0
  128. package/dist/ui/components/form/input-mask/lib/mask/utils.js.map +1 -0
  129. package/dist/ui/components/form/input-mask/lib/number-format/InputNumberFormat.d.ts +6 -0
  130. package/dist/ui/components/form/input-mask/lib/number-format/InputNumberFormat.js +58 -0
  131. package/dist/ui/components/form/input-mask/lib/number-format/InputNumberFormat.js.map +1 -0
  132. package/dist/ui/components/form/input-mask/lib/number-format/index.d.ts +4 -0
  133. package/dist/ui/components/form/input-mask/lib/number-format/index.js +11 -0
  134. package/dist/ui/components/form/input-mask/lib/number-format/index.js.map +1 -0
  135. package/dist/ui/components/form/input-mask/lib/number-format/types.d.ts +26 -0
  136. package/dist/ui/components/form/input-mask/lib/number-format/types.js +3 -0
  137. package/dist/ui/components/form/input-mask/lib/number-format/types.js.map +1 -0
  138. package/dist/ui/components/form/input-mask/lib/number-format/useNumberFormat.d.ts +3 -0
  139. package/dist/ui/components/form/input-mask/lib/number-format/useNumberFormat.js +208 -0
  140. package/dist/ui/components/form/input-mask/lib/number-format/useNumberFormat.js.map +1 -0
  141. package/dist/ui/components/form/input-mask/lib/number-format/utils/localizeValues.d.ts +7 -0
  142. package/dist/ui/components/form/input-mask/lib/number-format/utils/localizeValues.js +32 -0
  143. package/dist/ui/components/form/input-mask/lib/number-format/utils/localizeValues.js.map +1 -0
  144. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.d.ts +20 -0
  145. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.js +123 -0
  146. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.js.map +1 -0
  147. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.d.ts +11 -0
  148. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.js +28 -0
  149. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.js.map +1 -0
  150. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.d.ts +5 -0
  151. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.js +53 -0
  152. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.js.map +1 -0
  153. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveSelection.d.ts +24 -0
  154. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveSelection.js +161 -0
  155. package/dist/ui/components/form/input-mask/lib/number-format/utils/resolveSelection.js.map +1 -0
  156. package/dist/ui/components/form/input-password/styles.d.ts +2 -2
  157. package/dist/ui/components/form/radio/styles.d.ts +2 -2
  158. package/dist/ui/components/form/select/styles.d.ts +2 -2
  159. package/dist/ui/components/loading-screen/styles.d.ts +2 -2
  160. package/dist/ui/components/menu-mobile/components/nav-links/styles.d.ts +1 -1
  161. package/dist/ui/components/menu-mobile/styles.d.ts +1 -1
  162. package/dist/ui/components/menu-mobile/top/styles.d.ts +1 -1
  163. package/dist/ui/components/next-image/styles.d.ts +1 -1
  164. package/dist/ui/components/sidebar/styles.d.ts +2 -2
  165. package/dist/ui/contexts/toast/styles.d.ts +2 -2
  166. package/dist/ui/contexts/toast/toast-item/styles.d.ts +2 -2
  167. package/package.json +86 -86
  168. package/dist/system/presentation/components/layout/menu/components/select-workspace/custom-styles.d.ts +0 -2
  169. package/dist/system/presentation/components/layout/menu/components/select-workspace/custom-styles.js +0 -26
  170. package/dist/system/presentation/components/layout/menu/components/select-workspace/custom-styles.js.map +0 -1
  171. package/dist/system/presentation/components/layout/menu/components/select-workspace/index.d.ts +0 -17
  172. package/dist/system/presentation/components/layout/menu/components/select-workspace/index.js +0 -66
  173. package/dist/system/presentation/components/layout/menu/components/select-workspace/index.js.map +0 -1
  174. package/dist/system/presentation/components/layout/menu/components/select-workspace/styles.d.ts +0 -2
  175. package/dist/system/presentation/components/layout/menu/components/select-workspace/styles.js +0 -14
  176. package/dist/system/presentation/components/layout/menu/components/select-workspace/styles.js.map +0 -1
  177. package/dist/system/presentation/context/system-configs/context.d.ts +0 -7
  178. package/dist/system/presentation/context/system-configs/context.js +0 -32
  179. package/dist/system/presentation/context/system-configs/context.js.map +0 -1
  180. package/dist/system/presentation/context/system-configs/index.d.ts +0 -2
  181. package/dist/system/presentation/context/system-configs/index.js +0 -19
  182. package/dist/system/presentation/context/system-configs/index.js.map +0 -1
  183. package/dist/system/presentation/context/system-configs/interfaces.d.ts +0 -4
  184. package/dist/system/presentation/context/system-configs/interfaces.js.map +0 -1
  185. package/dist/tsconfig.tsbuildinfo +0 -1
  186. package/dist/ui/contexts/theme/context.d.ts +0 -10
  187. package/dist/ui/contexts/theme/context.js +0 -21
  188. package/dist/ui/contexts/theme/context.js.map +0 -1
  189. package/dist/ui/contexts/theme/index.d.ts +0 -2
  190. package/dist/ui/contexts/theme/index.js.map +0 -1
  191. package/dist/ui/contexts/theme/interfaces.d.ts +0 -10
  192. package/dist/ui/contexts/theme/interfaces.js +0 -9
  193. package/dist/ui/contexts/theme/interfaces.js.map +0 -1
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = require("react");
7
+ var core_1 = require("../core/index.js");
8
+ var localizeValues_1 = __importDefault(require("./utils/localizeValues.js"));
9
+ var resolveDetail_1 = __importDefault(require("./utils/resolveDetail.js"));
10
+ var resolveMinimumFractionDigits_1 = __importDefault(require("./utils/resolveMinimumFractionDigits.js"));
11
+ var resolveOptions_1 = __importDefault(require("./utils/resolveOptions.js"));
12
+ var resolveSelection_1 = __importDefault(require("./utils/resolveSelection.js"));
13
+ function useNumberFormat(_a) {
14
+ var _b = _a === void 0 ? {} : _a, locales = _b.locales, format = _b.format, currency = _b.currency, currencyDisplay = _b.currencyDisplay, unit = _b.unit, unitDisplay = _b.unitDisplay, signDisplay = _b.signDisplay, groupDisplay = _b.groupDisplay, minimumIntegerDigits = _b.minimumIntegerDigits, maximumIntegerDigits = _b.maximumIntegerDigits, minimumFractionDigits = _b.minimumFractionDigits, maximumFractionDigits = _b.maximumFractionDigits,
15
+ // minimumSignificantDigits,
16
+ // maximumSignificantDigits,
17
+ onNumberFormat = _b.onNumberFormat;
18
+ var options = {
19
+ format: format,
20
+ currency: currency,
21
+ currencyDisplay: currencyDisplay,
22
+ unit: unit,
23
+ unitDisplay: unitDisplay,
24
+ signDisplay: signDisplay,
25
+ groupDisplay: groupDisplay,
26
+ minimumIntegerDigits: minimumIntegerDigits,
27
+ maximumIntegerDigits: maximumIntegerDigits,
28
+ minimumFractionDigits: minimumFractionDigits,
29
+ maximumFractionDigits: maximumFractionDigits,
30
+ // minimumSignificantDigits,
31
+ // maximumSignificantDigits,
32
+ };
33
+ var cache = (0, react_1.useRef)(null);
34
+ /**
35
+ *
36
+ * Init
37
+ *
38
+ */
39
+ var init = function (_a) {
40
+ var initialValue = _a.initialValue;
41
+ var _b = (0, resolveOptions_1.default)(locales, options), current = _b.current, resolved = _b.resolved;
42
+ var invalidType = current.maximumIntegerDigits !== undefined && typeof current.maximumIntegerDigits !== 'number';
43
+ var invalidRange = typeof current.maximumIntegerDigits === 'number' && current.maximumIntegerDigits < resolved.minimumIntegerDigits;
44
+ if (invalidType || invalidRange) {
45
+ throw new RangeError('maximumIntegerDigits value is out of range.');
46
+ }
47
+ var cachedProps = { locales: locales, options: options };
48
+ cache.current = { value: initialValue, props: cachedProps, fallbackProps: cachedProps };
49
+ return { value: initialValue };
50
+ };
51
+ /**
52
+ *
53
+ * Tracking
54
+ *
55
+ */
56
+ var tracking = function (_a) {
57
+ var inputType = _a.inputType, previousValue = _a.previousValue, addedValue = _a.addedValue, changeStart = _a.changeStart, changeEnd = _a.changeEnd;
58
+ if (cache.current === null) {
59
+ throw new core_1.SyntheticChangeError('The state has not been initialized.');
60
+ }
61
+ // Предыдущее значение всегда должно соответствовать маскированному значению из кэша. Обратная ситуация может
62
+ // возникнуть при контроле значения, если значение не было изменено после ввода. Для предотвращения подобных
63
+ // ситуаций, нам важно синхронизировать предыдущее значение с кэшированным значением, если они различаются
64
+ if (cache.current.value !== previousValue) {
65
+ cache.current.props = cache.current.fallbackProps;
66
+ }
67
+ else {
68
+ cache.current.fallbackProps = cache.current.props;
69
+ }
70
+ var previousLocalizedValues = (0, localizeValues_1.default)(cache.current.props.locales);
71
+ var localizedValues = (0, localizeValues_1.default)(locales);
72
+ var _b = (0, resolveOptions_1.default)(locales, options), current = _b.current, resolved = _b.resolved;
73
+ // Удаляем неразрешённые символы
74
+ var filter = function (value) {
75
+ var p$1 = "\\-\\".concat(localizedValues.minusSign);
76
+ var p$2 = ".,".concat(localizedValues.decimal);
77
+ var p$3 = "\\d".concat(localizedValues.digits);
78
+ var p$4 = "[^".concat(p$1).concat(p$2).concat(p$3, "]|[").concat(p$2, "](?=.*[").concat(p$2, "])");
79
+ var _value = value.replace(RegExp(p$4, 'g'), '');
80
+ if (localizedValues.signBackwards) {
81
+ return _value.replace(RegExp("[".concat(p$1, "](?=.*[").concat(p$1).concat(p$2).concat(p$3, "])"), 'g'), '');
82
+ }
83
+ var firstMinusSignIndex = _value.search(RegExp("[".concat(p$1, "]")));
84
+ var firstDecimalIndex = _value.search(RegExp("[".concat(p$2, "]")));
85
+ var firstDigitIndex = _value.search(RegExp("[".concat(p$3, "]")));
86
+ return _value.replace(RegExp("[".concat(p$1, "]"), 'g'), function (match, offset) {
87
+ var isMoreMinusSignIndex = firstMinusSignIndex !== -1 && offset > firstMinusSignIndex;
88
+ var isMoreDecimalIndex = firstDecimalIndex !== -1 && offset > firstDecimalIndex;
89
+ var isMoreDigitIndex = firstDigitIndex !== -1 && offset > firstDigitIndex;
90
+ return isMoreMinusSignIndex || isMoreDecimalIndex || isMoreDigitIndex ? '' : match;
91
+ });
92
+ };
93
+ addedValue = filter(addedValue);
94
+ if (inputType === 'insert' && !addedValue) {
95
+ throw new core_1.SyntheticChangeError('The added value does not contain allowed characters.');
96
+ }
97
+ var regExp$1 = RegExp("[^\\".concat(previousLocalizedValues.minusSign).concat(previousLocalizedValues.decimal).concat(previousLocalizedValues.digits, "]"), 'g');
98
+ // Нам важно удалить ненужные символы перед преобразованием в число, так
99
+ // как символ группы и символ десятичного разделителя могут пересекаться
100
+ var beforeChangeValue = previousValue.slice(0, changeStart).replace(regExp$1, '');
101
+ var afterChangeValue = previousValue.slice(changeEnd).replace(regExp$1, '');
102
+ var normalizedValue = beforeChangeValue + addedValue + afterChangeValue;
103
+ // Фильтруем значение для преобразование в число
104
+ normalizedValue = filter(normalizedValue)
105
+ // Нормализуем десятичный разделитель
106
+ .replace(RegExp("[,".concat(localizedValues.decimal, "]"), 'g'), '.')
107
+ // Нормализуем знак минуса
108
+ .replace(RegExp(localizedValues.minusSign, 'g'), '-')
109
+ // Нормализуем цифры
110
+ .replace(RegExp("[".concat(localizedValues.digits, "]"), 'g'), function (localeDigit) {
111
+ var digit = localizedValues.digits.indexOf(localeDigit);
112
+ return digit !== -1 ? digit.toString() : localeDigit;
113
+ });
114
+ // В случае ввода знака минуса нам нужно его удалить если
115
+ // оно присутствует, в противном случае добавить, тем самым
116
+ // создав автоматическую вставку при любой позиции каретки
117
+ {
118
+ var isReflectMinusSign = RegExp("^[\\-\\".concat(localizedValues.minusSign, "]$")).test(addedValue) && changeStart === changeEnd;
119
+ var hasPreviousValueMinusSign = previousValue.includes(previousLocalizedValues.minusSign);
120
+ var hasNormalizedValueMinusSign = normalizedValue.includes('-');
121
+ if (isReflectMinusSign && hasPreviousValueMinusSign && hasNormalizedValueMinusSign) {
122
+ normalizedValue = normalizedValue.replace('-', '');
123
+ }
124
+ if (isReflectMinusSign && !hasPreviousValueMinusSign && !hasNormalizedValueMinusSign) {
125
+ normalizedValue = "-".concat(normalizedValue);
126
+ }
127
+ }
128
+ // Для нормализации значения, ставим минус слева.
129
+ // В случае арабской локали он может находиться справа
130
+ if (normalizedValue.endsWith('-')) {
131
+ normalizedValue = "-".concat(normalizedValue.slice(0, -1));
132
+ }
133
+ // Если изменения происходят в области `minimumFractionDigits`, очищаем дробную часть
134
+ // для замены значения, чтобы заменить "0" на вводимое значение,
135
+ // например, при вводе "1", получим "0.00" -> "0.1" -> "0.10" (не "0.100")
136
+ if (/\..*0$/.test(normalizedValue)) {
137
+ // let previousInteger = '';
138
+ var previousFraction = '';
139
+ var previousFractionIndex = -1;
140
+ for (var i = 0, decimal = false; i < previousValue.length; i++) {
141
+ var isDigit = previousLocalizedValues.digits.includes(previousValue[i]);
142
+ var isDecimal = previousValue[i] === previousLocalizedValues.decimal;
143
+ if (!decimal) {
144
+ if (isDecimal)
145
+ decimal = true;
146
+ // if (isDigit) previousInteger += previousValue[i];
147
+ }
148
+ else if (isDigit) {
149
+ previousFraction += previousValue[i];
150
+ if (previousFractionIndex === -1)
151
+ previousFractionIndex = i;
152
+ }
153
+ }
154
+ if (previousFractionIndex !== -1) {
155
+ var previousMinimumFractionDigits = (0, resolveMinimumFractionDigits_1.default)({
156
+ // integer: previousInteger,
157
+ // fraction: previousFraction,
158
+ resolvedOptions: (0, resolveOptions_1.default)(cache.current.props.locales, cache.current.props.options).resolved,
159
+ });
160
+ // Если изменения происходят в области `minimumFractionDigits`
161
+ var isRange = changeStart >= previousFractionIndex &&
162
+ changeEnd < previousFractionIndex + (previousMinimumFractionDigits || 1);
163
+ if (isRange && previousFraction.length <= (previousMinimumFractionDigits || 1)) {
164
+ normalizedValue = normalizedValue.replace(/0+$/g, '');
165
+ }
166
+ }
167
+ }
168
+ var detail = (0, resolveDetail_1.default)(normalizedValue, {
169
+ inputType: inputType,
170
+ locales: locales,
171
+ localizedValues: localizedValues,
172
+ currentOptions: current,
173
+ resolvedOptions: resolved,
174
+ });
175
+ var selection = (0, resolveSelection_1.default)({
176
+ localizedValues: localizedValues,
177
+ previousLocalizedValues: previousLocalizedValues,
178
+ resolvedOptions: resolved,
179
+ inputType: inputType,
180
+ previousValue: previousValue,
181
+ addedValue: addedValue,
182
+ nextValue: detail.value,
183
+ changeStart: changeStart,
184
+ changeEnd: changeEnd,
185
+ });
186
+ cache.current.value = detail.value;
187
+ cache.current.props = { locales: locales, options: options };
188
+ return {
189
+ value: detail.value,
190
+ selectionStart: selection.start,
191
+ selectionEnd: selection.end,
192
+ __detail: detail,
193
+ };
194
+ };
195
+ /**
196
+ *
197
+ * Use input
198
+ *
199
+ */
200
+ return (0, core_1.useInput)({
201
+ init: init,
202
+ tracking: tracking,
203
+ eventType: 'input-number-format',
204
+ eventHandler: onNumberFormat,
205
+ });
206
+ }
207
+ exports.default = useNumberFormat;
208
+ //# sourceMappingURL=useNumberFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNumberFormat.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/form/input-mask/lib/number-format/useNumberFormat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { LocalizedNumberFormatValues } from '../types.js';
2
+ /**
3
+ * Возвращает применяемые значения по заданной локали
4
+ * @param locales
5
+ * @returns
6
+ */
7
+ export default function localizeValues(locales: string | string[] | undefined): LocalizedNumberFormatValues;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Возвращает применяемые значения по заданной локали
5
+ * @param locales
6
+ * @returns
7
+ */
8
+ function localizeValues(locales) {
9
+ var value = Intl.NumberFormat(locales, {
10
+ useGrouping: false,
11
+ signDisplay: 'always',
12
+ minimumIntegerDigits: 10,
13
+ minimumFractionDigits: 1,
14
+ maximumFractionDigits: 1,
15
+ // minimumSignificantDigits: 10,
16
+ // maximumSignificantDigits: 10,
17
+ }).format(-1234567890.1);
18
+ // При, например, арабской локали, минус устанавливается
19
+ // справа от чисел, поэтому нам важно определить положение
20
+ // минуса. Если минус расположен справа, то на первой
21
+ // позиции будет юникод `U+061C` (char code 1564)
22
+ var signBackwards = value.startsWith('‎') || value.startsWith('؜');
23
+ var minusSign = signBackwards ? value[1] : value[0];
24
+ var decimal = value[value.length - 2];
25
+ // Получаем все цифры в заданной локали (возможны варианты
26
+ // с китайской десятичной системой или арабскими цифрами)
27
+ var digits = value.slice(signBackwards ? 2 : 1, -2);
28
+ digits = digits[9] + digits.slice(0, -1);
29
+ return { signBackwards: signBackwards, minusSign: minusSign, decimal: decimal, digits: digits };
30
+ }
31
+ exports.default = localizeValues;
32
+ //# sourceMappingURL=localizeValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localizeValues.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/number-format/utils/localizeValues.ts"],"names":[],"mappings":";;AAEA;;;;GAIG;AACH,SAAwB,cAAc,CAAC,OAAsC;IAC3E,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACvC,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,QAAQ;QACrB,oBAAoB,EAAE,EAAE;QACxB,qBAAqB,EAAE,CAAC;QACxB,qBAAqB,EAAE,CAAC;QACxB,gCAAgC;QAChC,gCAAgC;KACjC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAEzB,wDAAwD;IACxD,0DAA0D;IAC1D,qDAAqD;IACrD,iDAAiD;IACjD,IAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrE,IAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtD,IAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExC,0DAA0D;IAC1D,yDAAyD;IACzD,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzC,OAAO,EAAE,aAAa,eAAA,EAAE,SAAS,WAAA,EAAE,OAAO,SAAA,EAAE,MAAM,QAAA,EAAE,CAAC;AACvD,CAAC;AAzBD,iCAyBC"}
@@ -0,0 +1,20 @@
1
+ import type { LocalizedNumberFormatValues, NumberFormatOptions, ResolvedNumberFormatOptions } from '../types.js';
2
+ import type { InputType } from '../../core/index.js';
3
+ interface Options {
4
+ inputType: InputType;
5
+ locales: string | string[] | undefined;
6
+ localizedValues: LocalizedNumberFormatValues;
7
+ currentOptions: NumberFormatOptions | undefined;
8
+ resolvedOptions: ResolvedNumberFormatOptions;
9
+ }
10
+ /**
11
+ *
12
+ * @param value
13
+ * @param options
14
+ * @returns
15
+ */
16
+ export default function resolveDetail(value: string, { inputType, locales, localizedValues, currentOptions, resolvedOptions }: Options): {
17
+ value: string;
18
+ number: number;
19
+ };
20
+ export {};
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var resolveMinimumFractionDigits_1 = __importDefault(require("./resolveMinimumFractionDigits.js"));
29
+ /**
30
+ *
31
+ * @param value
32
+ * @param options
33
+ * @returns
34
+ */
35
+ function resolveDetail(value, _a) {
36
+ var inputType = _a.inputType, locales = _a.locales, localizedValues = _a.localizedValues, currentOptions = _a.currentOptions, resolvedOptions = _a.resolvedOptions;
37
+ if ((inputType === 'deleteBackward' || inputType === 'deleteForward') &&
38
+ (value === '' || value === '-' || /^-?\.?0*$/.test(value))) {
39
+ return { value: '', number: 0 };
40
+ }
41
+ var isNegative = value.startsWith('-');
42
+ var absValue = isNegative ? value.slice(1) : value;
43
+ // При `fraction` равном `undefined` - разделитель не был введён
44
+ var _b = absValue.split('.'), integer = _b[0], _c = _b[1], fraction = _c === void 0 ? undefined : _c;
45
+ // Определяем настройки для применения в `Intl.NumberFormat`
46
+ var currentMinimumFractionDigits = resolvedOptions.minimumFractionDigits;
47
+ var currentMaximumFractionDigits = resolvedOptions.maximumFractionDigits;
48
+ // let currentMinimumSignificantDigits = resolvedOptions.minimumSignificantDigits;
49
+ // Поскольку состояние ввода хранит последний введенный символ,
50
+ // при форматировании может произойти округление, поэтому нам важно
51
+ // заранее обрезать символ не соответствующий максимальному количеству символов
52
+ // - `replace` - Учитываем `minimumSignificantDigits` и `minimumIntegerDigits`.
53
+ // Так, при `addedValue` "2": "000 001" -> "000 0012" -> "12" -> "000 012"
54
+ integer = integer.replace(/^0+/g, '').slice(0, resolvedOptions.maximumIntegerDigits);
55
+ // if (fraction !== undefined && resolvedOptions.maximumSignificantDigits !== undefined) {
56
+ // currentMaximumFractionDigits = resolvedOptions.maximumSignificantDigits - integer.length;
57
+ // if (/^0*$/.test(integer) && /^0*$/.test(fraction)) {
58
+ // currentMaximumFractionDigits -= 1;
59
+ // } else if (/^0*$/.test(integer) && /^0*[1-9]+/.test(fraction)) {
60
+ // currentMaximumFractionDigits += fraction.match(/^0+/g)?.[0].length ?? 0;
61
+ // }
62
+ // }
63
+ fraction = fraction === null || fraction === void 0 ? void 0 : fraction.slice(0, currentMaximumFractionDigits);
64
+ var number = Number((isNegative ? '-' : '') + (integer || '0') + (fraction ? ".".concat(fraction) : ''));
65
+ // Чтобы иметь возможность прописывать "0" и сохранять его с каждой итерацией,
66
+ // переопределяем `minimumFractionDigits` и `minimumSignificantDigits`
67
+ currentMinimumFractionDigits = (0, resolveMinimumFractionDigits_1.default)({
68
+ // integer,
69
+ // fraction: fraction ?? '',
70
+ resolvedOptions: resolvedOptions,
71
+ });
72
+ // Если `currentMinimumFractionDigits` равен нулю, дробная часть будет округлена
73
+ if (inputType === 'insert' &&
74
+ fraction === '' &&
75
+ currentMinimumFractionDigits === 0 &&
76
+ currentMaximumFractionDigits > 0) {
77
+ currentMinimumFractionDigits = 1;
78
+ // if (currentMinimumSignificantDigits !== undefined) {
79
+ // currentMinimumSignificantDigits = (integer.length || 1) + 1;
80
+ // }
81
+ }
82
+ if (fraction !== undefined && fraction.length > currentMinimumFractionDigits) {
83
+ currentMinimumFractionDigits = fraction.length;
84
+ // `minimumFractionDigits` игнорируется при указанном `minimumSignificantDigits` или
85
+ // `maximumSignificantDigits`, поэтому указываем правило для `minimumSignificantDigits`
86
+ // if (currentMinimumSignificantDigits !== undefined) {
87
+ // if (/^0*$/.test(integer) && /^0*$/.test(fraction)) {
88
+ // currentMinimumSignificantDigits = fraction.length + 1;
89
+ // } else if (/^0*$/.test(integer) && /^0*[1-9]+/.test(fraction)) {
90
+ // currentMinimumSignificantDigits = fraction.replace(/^0+/g, '').length;
91
+ // } else if (/^0*[1-9]+/.test(integer)) {
92
+ // currentMinimumSignificantDigits = integer.length + fraction.length;
93
+ // }
94
+ // }
95
+ }
96
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
97
+ var _d = currentOptions !== null && currentOptions !== void 0 ? currentOptions : {}, format = _d.format, groupDisplay = _d.groupDisplay, maximumIntegerDigits = _d.maximumIntegerDigits, options = __rest(_d, ["format", "groupDisplay", "maximumIntegerDigits"]);
98
+ var nextValue = Intl.NumberFormat(locales, __assign(__assign({}, options), { style: format, useGrouping: groupDisplay, minimumFractionDigits: currentMinimumFractionDigits })).format(number);
99
+ // В значении может встречаться юникод, нам важно заменить
100
+ // такие символы для соответствия стандартному значению
101
+ nextValue = nextValue.replace(/\s/g, ' ');
102
+ var sign = nextValue.includes('+')
103
+ ? '+'
104
+ : nextValue.includes(localizedValues.minusSign)
105
+ ? localizedValues.minusSign
106
+ : undefined;
107
+ // Арабская локаль содержит юникод, что приводит к неожидаемому
108
+ // сдвигу курсора при смещении через клавиатуру, для предотвращения
109
+ // устанавливаем знак в конец числа с удалением нежелательного юникода
110
+ if (sign !== undefined && localizedValues.signBackwards) {
111
+ nextValue = nextValue.replace(RegExp("[\u200E\u061C\\".concat(sign, "]"), 'g'), '');
112
+ var lastDigitIndex = nextValue.search(RegExp("[".concat(localizedValues.digits, "](?!.*[").concat(localizedValues.digits, "])")));
113
+ if (lastDigitIndex !== -1) {
114
+ nextValue = nextValue.slice(0, lastDigitIndex + 1) + sign + nextValue.slice(lastDigitIndex + 1);
115
+ if (!nextValue.startsWith('‏')) {
116
+ nextValue = "\u200F".concat(nextValue);
117
+ }
118
+ }
119
+ }
120
+ return { value: nextValue, number: number };
121
+ }
122
+ exports.default = resolveDetail;
123
+ //# sourceMappingURL=resolveDetail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveDetail.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/number-format/utils/resolveDetail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ResolvedNumberFormatOptions } from '../types.js';
2
+ interface ResolveMinimumFractionDigitsParam {
3
+ resolvedOptions: ResolvedNumberFormatOptions;
4
+ }
5
+ /**
6
+ * Высчитываем фактический `minimumFractionDigits`
7
+ * @param param
8
+ * @returns
9
+ */
10
+ export default function resolveMinimumFractionDigits({ resolvedOptions, }: ResolveMinimumFractionDigitsParam): number;
11
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Высчитываем фактический `minimumFractionDigits`
5
+ * @param param
6
+ * @returns
7
+ */
8
+ function resolveMinimumFractionDigits(_a) {
9
+ var
10
+ // integer,
11
+ // fraction,
12
+ resolvedOptions = _a.resolvedOptions;
13
+ var _b = resolvedOptions.minimumFractionDigits, minimumFractionDigits = _b === void 0 ? 0 : _b;
14
+ // if (resolvedOptions.minimumSignificantDigits !== undefined) {
15
+ // minimumFractionDigits =
16
+ // resolvedOptions.minimumSignificantDigits - integer.replace(/^0+/g, '').length;
17
+ // if (/^0*$/.test(integer)) {
18
+ // if (/^0*$/.test(fraction)) {
19
+ // minimumFractionDigits -= 1;
20
+ // } else if (/^0*[1-9]+/.test(fraction)) {
21
+ // minimumFractionDigits += fraction.match(/^0+/g)?.[0].length ?? 0;
22
+ // }
23
+ // }
24
+ // }
25
+ return minimumFractionDigits < 0 ? 0 : minimumFractionDigits;
26
+ }
27
+ exports.default = resolveMinimumFractionDigits;
28
+ //# sourceMappingURL=resolveMinimumFractionDigits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveMinimumFractionDigits.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/number-format/utils/resolveMinimumFractionDigits.ts"],"names":[],"mappings":";;AAQA;;;;GAIG;AACH,SAAwB,4BAA4B,CAAC,EAIjB;;IAHlC,WAAW;IACX,YAAY;IACZ,eAAe,qBAAA;IAEP,IAAA,KAA8B,eAAe,sBAApB,EAAzB,qBAAqB,mBAAG,CAAC,KAAA,CAAqB;IAEtD,gEAAgE;IAChE,4BAA4B;IAC5B,qFAAqF;IAErF,gCAAgC;IAChC,mCAAmC;IACnC,oCAAoC;IACpC,+CAA+C;IAC/C,0EAA0E;IAC1E,QAAQ;IACR,MAAM;IACN,IAAI;IAEJ,OAAO,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;AAC/D,CAAC;AArBD,+CAqBC"}
@@ -0,0 +1,5 @@
1
+ import type { NumberFormatOptions, ResolvedNumberFormatOptions } from '../types.js';
2
+ export default function resolveOptions(locales: string | string[] | undefined, options?: NumberFormatOptions | undefined): {
3
+ current: NumberFormatOptions;
4
+ resolved: ResolvedNumberFormatOptions;
5
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ function resolveOptions(locales, options) {
26
+ if (options === void 0) { options = {}; }
27
+ var format = options.format, groupDisplay = options.groupDisplay, _a = options.maximumIntegerDigits, maximumIntegerDigits = _a === void 0 ? 21 : _a, current = __rest(options, ["format", "groupDisplay", "maximumIntegerDigits"]);
28
+ var resolved = Intl.NumberFormat(locales, __assign(__assign({}, current), { style: format, useGrouping: groupDisplay })).resolvedOptions();
29
+ resolved.format = resolved.style;
30
+ resolved.groupDisplay = resolved.useGrouping;
31
+ resolved.maximumIntegerDigits = maximumIntegerDigits;
32
+ if (resolved.maximumIntegerDigits < resolved.minimumIntegerDigits) {
33
+ resolved.maximumIntegerDigits = resolved.minimumIntegerDigits;
34
+ }
35
+ // Удаляем из `resolved` неиспользуемые свойства
36
+ var tempResolved = resolved;
37
+ delete tempResolved.style;
38
+ delete tempResolved.currencySign;
39
+ delete tempResolved.useGrouping;
40
+ delete tempResolved.minimumSignificantDigits;
41
+ delete tempResolved.maximumSignificantDigits;
42
+ delete tempResolved.compactDisplay;
43
+ delete tempResolved.notation;
44
+ delete tempResolved.numberingSystem;
45
+ delete tempResolved.localeMatcher;
46
+ delete tempResolved.roundingIncrement;
47
+ delete tempResolved.roundingMode;
48
+ delete tempResolved.roundingPriority;
49
+ delete tempResolved.trailingZeroDisplay;
50
+ return { current: options, resolved: resolved };
51
+ }
52
+ exports.default = resolveOptions;
53
+ //# sourceMappingURL=resolveOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveOptions.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/form/input-mask/lib/number-format/utils/resolveOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoBA,SAAwB,cAAc,CACpC,OAAsC,EACtC,OAA6C;IAA7C,wBAAA,EAAA,YAA6C;IAErC,IAAA,MAAM,GAA0D,OAAO,OAAjE,EAAE,YAAY,GAA4C,OAAO,aAAnD,EAAE,KAA0C,OAAO,qBAAxB,EAAzB,oBAAoB,mBAAG,EAAE,KAAA,EAAK,OAAO,UAAK,OAAO,EAAzE,kDAA+D,CAAF,CAAa;IAEhF,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,wBACrC,OAAO,KACV,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,YAAY,IACzB,CAAC,eAAe,EAA4C,CAAC;IAE/D,QAAQ,CAAC,MAAM,GAAI,QAAwD,CAAC,KAAK,CAAC;IAClF,QAAQ,CAAC,YAAY,GAAI,QAAwD,CAAC,WAAW,CAAC;IAC9F,QAAQ,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IAErD,IAAI,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAClE,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAChE,CAAC;IAED,gDAAgD;IAChD,IAAM,YAAY,GAAG,QAAmC,CAAC;IAEzD,OAAO,YAAY,CAAC,KAAK,CAAC;IAC1B,OAAO,YAAY,CAAC,YAAY,CAAC;IACjC,OAAO,YAAY,CAAC,WAAW,CAAC;IAChC,OAAO,YAAY,CAAC,wBAAwB,CAAC;IAC7C,OAAO,YAAY,CAAC,wBAAwB,CAAC;IAC7C,OAAO,YAAY,CAAC,cAAc,CAAC;IACnC,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC7B,OAAO,YAAY,CAAC,eAAe,CAAC;IACpC,OAAO,YAAY,CAAC,aAAa,CAAC;IAClC,OAAO,YAAY,CAAC,iBAAiB,CAAC;IACtC,OAAO,YAAY,CAAC,YAAY,CAAC;IACjC,OAAO,YAAY,CAAC,gBAAgB,CAAC;IACrC,OAAO,YAAY,CAAC,mBAAmB,CAAC;IAExC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,UAAA,EAAE,CAAC;AACxC,CAAC;AAtCD,iCAsCC"}
@@ -0,0 +1,24 @@
1
+ import type { LocalizedNumberFormatValues, ResolvedNumberFormatOptions } from '../types.js';
2
+ import type { InputType } from '../../core/index.js';
3
+ interface ResolveSelectionParam {
4
+ localizedValues: LocalizedNumberFormatValues;
5
+ previousLocalizedValues: LocalizedNumberFormatValues;
6
+ resolvedOptions: ResolvedNumberFormatOptions;
7
+ inputType: InputType;
8
+ addedValue: string;
9
+ previousValue: string;
10
+ nextValue: string;
11
+ changeStart: number;
12
+ changeEnd: number;
13
+ }
14
+ interface ResolveSelectionReturn {
15
+ start: number;
16
+ end: number;
17
+ }
18
+ /**
19
+ * Определяет позицию каретки для последующей установки
20
+ * @param param
21
+ * @returns
22
+ */
23
+ export default function resolveSelection({ localizedValues, previousLocalizedValues, resolvedOptions, inputType, previousValue, addedValue, nextValue, changeStart, changeEnd, }: ResolveSelectionParam): ResolveSelectionReturn;
24
+ export {};