urfu-ui-kit-react 2.1.5 → 2.1.6

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 (187) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +1 -1
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +9 -8
  4. package/dist/components/Accordion/Accordion.types.d.ts +2 -0
  5. package/dist/components/Accordion/Accordion.types.d.ts.map +1 -1
  6. package/dist/components/BreadCrumbs/BreadCrumbs.d.ts.map +1 -1
  7. package/dist/components/BreadCrumbs/BreadCrumbs.js +20 -19
  8. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  9. package/dist/components/Calendar/Calendar.js +145 -144
  10. package/dist/components/Calendar/Calendar.types.d.ts +9 -4
  11. package/dist/components/Calendar/Calendar.types.d.ts.map +1 -1
  12. package/dist/components/Card/Card.d.ts.map +1 -1
  13. package/dist/components/Card/Card.js +37 -31
  14. package/dist/components/ColumnSettings/ColumnSettings.d.ts.map +1 -1
  15. package/dist/components/ColumnSettings/ColumnSettings.js +72 -72
  16. package/dist/components/Drawer/Drawer.d.ts +11 -0
  17. package/dist/components/Drawer/Drawer.d.ts.map +1 -0
  18. package/dist/components/Drawer/Drawer.js +87 -0
  19. package/dist/components/Drawer/Drawer.types.d.ts +44 -0
  20. package/dist/components/Drawer/Drawer.types.d.ts.map +1 -0
  21. package/dist/components/ErrorScreen/ErrorScreen.d.ts.map +1 -1
  22. package/dist/components/ErrorScreen/ErrorScreen.js +172 -138
  23. package/dist/components/FormField/FormField.d.ts +1 -1
  24. package/dist/components/FormField/FormField.d.ts.map +1 -1
  25. package/dist/components/FormField/FormField.js +42 -29
  26. package/dist/components/FormField/FormField.types.d.ts +6 -0
  27. package/dist/components/FormField/FormField.types.d.ts.map +1 -1
  28. package/dist/components/InfiniteScroll/InfiniteScroll.d.ts +22 -0
  29. package/dist/components/InfiniteScroll/InfiniteScroll.d.ts.map +1 -0
  30. package/dist/components/InfiniteScroll/InfiniteScroll.js +27 -0
  31. package/dist/components/InputText/InputText.d.ts +39 -2
  32. package/dist/components/InputText/InputText.d.ts.map +1 -1
  33. package/dist/components/InputText/InputText.js +103 -94
  34. package/dist/components/InputText/InputText.types.d.ts +11 -0
  35. package/dist/components/InputText/InputText.types.d.ts.map +1 -1
  36. package/dist/components/InputTime/inputTimeKeyDown.d.ts +17 -2
  37. package/dist/components/InputTime/inputTimeKeyDown.d.ts.map +1 -1
  38. package/dist/components/InputTime/useInputTimeWheel.d.ts +13 -1
  39. package/dist/components/InputTime/useInputTimeWheel.d.ts.map +1 -1
  40. package/dist/components/Menu/Menu.d.ts.map +1 -1
  41. package/dist/components/Menu/Menu.js +54 -49
  42. package/dist/components/Modal/Modal.d.ts.map +1 -1
  43. package/dist/components/Modal/Modal.js +52 -49
  44. package/dist/components/Modal/Modal.types.d.ts +4 -2
  45. package/dist/components/Modal/Modal.types.d.ts.map +1 -1
  46. package/dist/components/Notification/Notification.d.ts.map +1 -1
  47. package/dist/components/Notification/Notification.js +97 -86
  48. package/dist/components/OfflineBanner/OfflineBanner.d.ts.map +1 -1
  49. package/dist/components/OfflineBanner/OfflineBanner.js +40 -32
  50. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  51. package/dist/components/Pagination/Pagination.js +61 -66
  52. package/dist/components/SearchSelect/SearchSelect.d.ts.map +1 -1
  53. package/dist/components/SearchSelect/SearchSelect.js +137 -134
  54. package/dist/components/TabPanels/TabPanels.d.ts +13 -0
  55. package/dist/components/TabPanels/TabPanels.d.ts.map +1 -0
  56. package/dist/components/TabPanels/TabPanels.js +8 -0
  57. package/dist/components/Table/Filter/Filter.d.ts.map +1 -1
  58. package/dist/components/Table/Filter/Filter.js +47 -47
  59. package/dist/components/Table/Filter/Filter.types.d.ts +2 -1
  60. package/dist/components/Table/Filter/Filter.types.d.ts.map +1 -1
  61. package/dist/components/Table/Filter/SelectFilter.d.ts.map +1 -1
  62. package/dist/components/Table/Filter/SelectFilter.js +9 -9
  63. package/dist/components/Table/Table.d.ts +1 -1
  64. package/dist/components/Table/Table.d.ts.map +1 -1
  65. package/dist/components/Table/Table.dataPipeline.d.ts +4 -3
  66. package/dist/components/Table/Table.dataPipeline.d.ts.map +1 -1
  67. package/dist/components/Table/Table.dataPipeline.js +64 -63
  68. package/dist/components/Table/Table.js +299 -299
  69. package/dist/components/Table/Table.rowTypes.d.ts +6 -0
  70. package/dist/components/Table/Table.rowTypes.d.ts.map +1 -0
  71. package/dist/components/Table/Table.types.d.ts +10 -3
  72. package/dist/components/Table/Table.types.d.ts.map +1 -1
  73. package/dist/components/Table/TableHead.d.ts +27 -19
  74. package/dist/components/Table/TableHead.d.ts.map +1 -1
  75. package/dist/components/Table/TableHead.js +1 -1
  76. package/dist/components/Table/TableMobileCard.d.ts +11 -11
  77. package/dist/components/Table/TableMobileCard.d.ts.map +1 -1
  78. package/dist/components/Table/TableMobileCard.js +81 -84
  79. package/dist/components/Table/TableMobileView.d.ts +7 -5
  80. package/dist/components/Table/TableMobileView.d.ts.map +1 -1
  81. package/dist/components/Table/TableRow.d.ts +10 -8
  82. package/dist/components/Table/TableRow.d.ts.map +1 -1
  83. package/dist/components/Table/TableRow.js +116 -112
  84. package/dist/components/Table/useTableColumnPinning.d.ts.map +1 -1
  85. package/dist/components/Table/useTableVirtualization.d.ts +5 -5
  86. package/dist/components/Table/useTableVirtualization.d.ts.map +1 -1
  87. package/dist/components/Tabs/Tabs.d.ts +1 -1
  88. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  89. package/dist/components/Tabs/Tabs.js +109 -104
  90. package/dist/components/Tabs/Tabs.types.d.ts +29 -1
  91. package/dist/components/Tabs/Tabs.types.d.ts.map +1 -1
  92. package/dist/components/Tabs/distributeTabs.d.ts +6 -0
  93. package/dist/components/Tabs/distributeTabs.d.ts.map +1 -1
  94. package/dist/components/Tabs/tabsIndicator.d.ts +7 -3
  95. package/dist/components/Tabs/tabsIndicator.d.ts.map +1 -1
  96. package/dist/components/Tabs/tabsScroll.d.ts +20 -0
  97. package/dist/components/Tabs/tabsScroll.d.ts.map +1 -0
  98. package/dist/components/Tabs/useTabsOverflow.d.ts +3 -1
  99. package/dist/components/Tabs/useTabsOverflow.d.ts.map +1 -1
  100. package/dist/components/Tabs/useTabsOverflow.js +33 -33
  101. package/dist/components/Tabs/useTabsScroll.d.ts +4 -0
  102. package/dist/components/Tabs/useTabsScroll.d.ts.map +1 -0
  103. package/dist/components/Tabs/useTabsScroll.js +17 -0
  104. package/dist/components/Textarea/Textarea.d.ts +22 -2
  105. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  106. package/dist/components/Textarea/Textarea.js +48 -43
  107. package/dist/components/Textarea/Textarea.types.d.ts +1 -0
  108. package/dist/components/Textarea/Textarea.types.d.ts.map +1 -1
  109. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  110. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  111. package/dist/components/Tooltip/Tooltip.js +150 -131
  112. package/dist/components/Tooltip/Tooltip.types.d.ts +7 -2
  113. package/dist/components/Tooltip/Tooltip.types.d.ts.map +1 -1
  114. package/dist/components/TreeView/TreeView.js +95 -95
  115. package/dist/components/TreeView/TreeView.types.d.ts +1 -1
  116. package/dist/components/TreeView/TreeView.types.d.ts.map +1 -1
  117. package/dist/components/VirtualList/VirtualList.d.ts +45 -0
  118. package/dist/components/VirtualList/VirtualList.d.ts.map +1 -0
  119. package/dist/components/VirtualList/VirtualList.js +62 -0
  120. package/dist/dev/index.js +1306 -584
  121. package/dist/dev/types/react/src/dev/index.d.ts +1 -1
  122. package/dist/dev/types/vanilla/src/core/motion.d.ts +41 -0
  123. package/dist/dev/types/vanilla/src/core/requestLog.d.ts +29 -0
  124. package/dist/dev/types/vanilla/src/dev/highlight.d.ts +32 -0
  125. package/dist/dev/types/vanilla/src/dev/intercept.d.ts +4 -1
  126. package/dist/dev/types/vanilla/src/dev/motionModes.d.ts +30 -0
  127. package/dist/dev/types/vanilla/src/dev/panelKit.d.ts +49 -0
  128. package/dist/dev/types/vanilla/src/dev/panelStyles.d.ts +7 -0
  129. package/dist/dev/types/vanilla/src/dev/rules.d.ts +31 -0
  130. package/dist/dev/types/vanilla/src/dev/store.d.ts +7 -4
  131. package/dist/dev/types/vanilla/src/dev/types.d.ts +14 -3
  132. package/dist/dev/types/vanilla/src/dev/viewModes.d.ts +22 -0
  133. package/dist/hooks/useCollapseMotion.d.ts +18 -0
  134. package/dist/hooks/useCollapseMotion.d.ts.map +1 -0
  135. package/dist/hooks/useCollapseMotion.js +9 -0
  136. package/dist/hooks/useDismiss.d.ts +7 -1
  137. package/dist/hooks/useDismiss.d.ts.map +1 -1
  138. package/dist/hooks/useDismiss.js +19 -17
  139. package/dist/hooks/useEnterMotion.d.ts +9 -0
  140. package/dist/hooks/useEnterMotion.d.ts.map +1 -0
  141. package/dist/hooks/useEnterMotion.js +10 -0
  142. package/dist/hooks/useForwardedRef.d.ts +8 -0
  143. package/dist/hooks/useForwardedRef.d.ts.map +1 -0
  144. package/dist/hooks/useForwardedRef.js +8 -0
  145. package/dist/hooks/useInfiniteScroll.d.ts +27 -0
  146. package/dist/hooks/useInfiniteScroll.d.ts.map +1 -0
  147. package/dist/hooks/useInfiniteScroll.js +13 -0
  148. package/dist/hooks/useMountTransition.d.ts +1 -1
  149. package/dist/hooks/useMountTransition.d.ts.map +1 -1
  150. package/dist/hooks/useMountTransition.js +14 -13
  151. package/dist/hooks/useVirtualList.d.ts +34 -0
  152. package/dist/hooks/useVirtualList.d.ts.map +1 -0
  153. package/dist/hooks/useVirtualList.js +21 -0
  154. package/dist/index.d.ts +15 -1
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/shared/collapseMotion.d.ts +32 -0
  157. package/dist/shared/collapseMotion.d.ts.map +1 -0
  158. package/dist/shared/infiniteScroll.d.ts +42 -0
  159. package/dist/shared/infiniteScroll.d.ts.map +1 -0
  160. package/dist/shared/kitCopy.js +1 -1
  161. package/dist/shared/linkClick.d.ts +7 -0
  162. package/dist/shared/linkClick.d.ts.map +1 -0
  163. package/dist/shared/motion.d.ts +42 -0
  164. package/dist/shared/motion.d.ts.map +1 -0
  165. package/dist/shared/popupTransition.d.ts +10 -2
  166. package/dist/shared/popupTransition.d.ts.map +1 -1
  167. package/dist/shared/popupTransition.js +6 -5
  168. package/dist/shared/virtualList.d.ts +103 -0
  169. package/dist/shared/virtualList.d.ts.map +1 -0
  170. package/dist/style-no-fonts.css +1 -1
  171. package/dist/style.css +1 -1
  172. package/dist/style.layer.css +2 -2
  173. package/dist/style.shell.css +5 -5
  174. package/dist/urfu-ui-kit-react.js +53 -45
  175. package/dist/utils/describeError.d.ts +12 -1
  176. package/dist/utils/describeError.d.ts.map +1 -1
  177. package/dist/vanilla/core/collapseMotion.js +58 -0
  178. package/dist/vanilla/core/describeError.js +172 -115
  179. package/dist/vanilla/core/distributeTabs.js +23 -20
  180. package/dist/vanilla/core/infiniteScroll.js +79 -0
  181. package/dist/vanilla/core/linkClick.js +2 -0
  182. package/dist/vanilla/core/motion.js +29 -0
  183. package/dist/vanilla/core/requestLog.js +40 -0
  184. package/dist/vanilla/core/tabsIndicator.js +29 -26
  185. package/dist/vanilla/core/tabsScroll.js +29 -0
  186. package/dist/vanilla/core/virtualList.js +213 -0
  187. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
1
 
2
2
  import { AccordionProperties } from './Accordion.types';
3
- export declare const Accordion: ({ title, id, children, className }: AccordionProperties) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const Accordion: ({ title, id, children, className, defaultOpen, }: AccordionProperties) => import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=Accordion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGvD,eAAO,MAAM,SAAS,GAAI,oCAKvB,mBAAmB,4CAoBrB,CAAA"}
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGvD,eAAO,MAAM,SAAS,GAAI,kDAMvB,mBAAmB,4CAoBrB,CAAA"}
@@ -1,18 +1,19 @@
1
- import { jsxs as r, jsx as o } from "react/jsx-runtime";
1
+ import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
2
  /* empty css */
3
- import { useAutoId$u as t } from "../../hooks/useAutoId.js";
4
- const m = ({
3
+ import { useAutoId$u as r } from "../../hooks/useAutoId.js";
4
+ const p = ({
5
5
  title: i = "",
6
6
  id: a = "",
7
7
  children: d = /* @__PURE__ */ o("div", {}),
8
- className: n = ""
8
+ className: t = "",
9
+ defaultOpen: e = !1
9
10
  }) => {
10
- const c = `u-accordion${t(a, "auto")}`;
11
- return /* @__PURE__ */ r("div", { className: `u-accordion ${n}`, children: [
11
+ const c = `u-accordion${r(a, "auto")}`;
12
+ return /* @__PURE__ */ n("div", { className: `u-accordion ${t}`, children: [
12
13
  /* @__PURE__ */ o("div", { className: "u-accordion-title", children: i }),
13
- /* @__PURE__ */ o("input", { className: "u-accordion-input", type: "checkbox", id: c }),
14
+ /* @__PURE__ */ o("input", { className: "u-accordion-input", type: "checkbox", id: c, defaultChecked: e }),
14
15
  /* @__PURE__ */ o("label", { className: "u-accordion-toggle", htmlFor: c }),
15
16
  /* @__PURE__ */ o("div", { className: "u-accordion-content", children: d })
16
17
  ] });
17
18
  };
18
- export { m as Accordion$u };
19
+ export { p as Accordion$u };
@@ -4,5 +4,7 @@ export type AccordionProperties = Partial<{
4
4
  id: string;
5
5
  children: ReactNode;
6
6
  className: string;
7
+ /** Открыть секцию при первом показе. Дальше её открывает и закрывает пользователь. */
8
+ defaultOpen: boolean;
7
9
  }>;
8
10
  //# sourceMappingURL=Accordion.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.types.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"Accordion.types.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BreadCrumbs.d.ts","sourceRoot":"","sources":["../../../src/components/BreadCrumbs/BreadCrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,0DAA0D,CAAC;AAGlE,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjF,eAAO,MAAM,WAAW,GAAI,mCAIzB,qBAAqB,4CAqCvB,CAAC"}
1
+ {"version":3,"file":"BreadCrumbs.d.ts","sourceRoot":"","sources":["../../../src/components/BreadCrumbs/BreadCrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,0DAA0D,CAAC;AAIlE,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjF,eAAO,MAAM,WAAW,GAAI,mCAIzB,qBAAqB,4CAuCvB,CAAC"}
@@ -1,32 +1,33 @@
1
- import { jsx as s, jsxs as u } from "react/jsx-runtime";
1
+ import { jsx as r, jsxs as m } from "react/jsx-runtime";
2
2
  /* empty css */
3
3
  /* empty css */
4
4
  import { Icon$u as p } from "../Icon/Icon.js";
5
- const h = (e) => !!e.to, v = ({
5
+ import { isPlainLeftClick$u as h } from "../../vanilla/core/linkClick.js";
6
+ const d = (e) => !!e.to, $ = ({
6
7
  items: e = [],
7
- className: m = "",
8
- onNavigate: o
8
+ className: u = "",
9
+ onNavigate: c
9
10
  }) => {
10
- const a = e.filter((r) => r == null ? void 0 : r.label);
11
- return a.length ? /* @__PURE__ */ s("div", { className: `u-breadcrumbs ${m}`.trim(), children: a.map((r, l) => {
12
- const n = h(r) && !!r.to, t = n ? "th clr-blue-main" : "tt clr-gray-60", c = `u-breadcrumbs__item ${n ? `ucp ${t}` : t}`.trim(), i = l < a.length - 1;
13
- return /* @__PURE__ */ u("div", { className: "u-breadcrumbs__entry", children: [
14
- n && r.to ? /* @__PURE__ */ u(
11
+ const l = e.filter((a) => a == null ? void 0 : a.label);
12
+ return l.length ? /* @__PURE__ */ r("nav", { className: `u-breadcrumbs ${u}`.trim(), "aria-label": "Навигационная цепочка", children: l.map((a, s) => {
13
+ const n = d(a) && !!a.to, t = n ? "th clr-blue-main" : "tt clr-gray-60", o = `u-breadcrumbs__item ${n ? `ucp ${t}` : t}`.trim(), b = s < l.length - 1;
14
+ return /* @__PURE__ */ m("div", { className: "u-breadcrumbs__entry", children: [
15
+ n && a.to ? /* @__PURE__ */ m(
15
16
  "a",
16
17
  {
17
- className: c,
18
- href: r.to,
19
- onClick: o ? (b) => {
20
- b.preventDefault(), r.to && o(r.to);
18
+ className: o,
19
+ href: a.to,
20
+ onClick: c ? (i) => {
21
+ h(i) && (i.preventDefault(), a.to && c(a.to));
21
22
  } : void 0,
22
23
  children: [
23
- l === 0 ? /* @__PURE__ */ s(p, { name: "left-arrow", className: "clr-blue-main", size: "16px" }) : null,
24
- r.label
24
+ s === 0 ? /* @__PURE__ */ r(p, { name: "left-arrow", className: "clr-blue-main", size: "16px" }) : null,
25
+ /* @__PURE__ */ r("span", { className: "u-breadcrumbs__label", children: a.label })
25
26
  ]
26
27
  }
27
- ) : /* @__PURE__ */ s("span", { className: c, "aria-current": l === a.length - 1 ? "page" : void 0, children: r.label }),
28
- i ? /* @__PURE__ */ s("span", { className: t, children: "/" }) : null
29
- ] }, `${l}-${String(r.label)}`);
28
+ ) : /* @__PURE__ */ r("span", { className: o, "aria-current": s === l.length - 1 ? "page" : void 0, children: a.label }),
29
+ b ? /* @__PURE__ */ r("span", { className: t, children: "/" }) : null
30
+ ] }, `${s}-${String(a.label)}`);
30
31
  }) }) : null;
31
32
  };
32
- export { v as BreadCrumbs$u };
33
+ export { $ as BreadCrumbs$u };
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8F,MAAM,OAAO,CAAC;AAInH,OAAO,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAwB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AASjF,OAAO,iBAAiB,CAAC;AA+DzB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsZjD,CAAC"}
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8F,MAAM,OAAO,CAAC;AAInH,OAAO,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAwB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AASjF,OAAO,iBAAiB,CAAC;AAgEzB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsZjD,CAAC"}
@@ -1,39 +1,40 @@
1
- import { jsx as o, jsxs as b, Fragment as De } from "react/jsx-runtime";
2
- import { getFieldAccessibility$u as Ie } from "../../shared/fieldAccessibility.js";
3
- import { useRef as Ae, useState as m, useInsertionEffect as Me, useEffect as I, useMemo as Oe, useContext as Ne, createContext as ze } from "react";
4
- import { createPortal as Ee } from "react-dom";
5
- import Pe, { registerLocale$u as $e } from "../../vendor/react-datepicker/dist/es/index.js";
1
+ import { jsx as r, jsxs as h, Fragment as Se } from "react/jsx-runtime";
2
+ import { getFieldAccessibility$u as De } from "../../shared/fieldAccessibility.js";
3
+ import { useRef as Ie, useState as f, useInsertionEffect as Oe, useEffect as O, useMemo as Pe, useContext as Me, createContext as ze } from "react";
4
+ import { createPortal as Ae } from "react-dom";
5
+ import Ne, { registerLocale$u as Ee } from "../../vendor/react-datepicker/dist/es/index.js";
6
6
  /* empty css */
7
- import { MaskedDateInput$u as je } from "./MaskedDateInput.js";
8
- import { Tooltip$u as Le } from "../Tooltip/Tooltip.js";
7
+ import { MaskedDateInput$u as $e } from "./MaskedDateInput.js";
8
+ import { Tooltip$u as je } from "../Tooltip/Tooltip.js";
9
9
  import { ru$u as Fe } from "../../vendor/date-fns/locale/ru.js";
10
10
  /* empty css */
11
- import { useMountTransition$u as Re } from "../../hooks/useMountTransition.js";
12
- import { useAutoId$u as Te } from "../../hooks/useAutoId.js";
11
+ import { useMountTransition$u as Le } from "../../hooks/useMountTransition.js";
12
+ import { POPUP_TRANSITION_MS$u as Te } from "../../shared/popupTransition.js";
13
+ import { useAutoId$u as Re } from "../../hooks/useAutoId.js";
13
14
  import { isCompact$u as _e, sizeClassName$u as qe } from "../../shared/size.js";
14
15
  import { getPortalScopeProps$u as Be } from "../../shared/uiKitDefaults.js";
15
16
  import { CalendarSelect$u as G } from "./CalendarSelect.js";
16
17
  import { resolveValidation$u as We } from "../../vanilla/core/validation.js";
17
- import { getYear$u as A } from "../../vendor/date-fns/getYear.js";
18
+ import { getYear$u as P } from "../../vendor/date-fns/getYear.js";
18
19
  import { getMonth$u as Ge } from "../../vendor/date-fns/getMonth.js";
19
- $e(
20
+ Ee(
20
21
  "ru",
21
22
  Fe
22
23
  );
23
- const H = (i) => {
24
- if (!i) return null;
25
- const l = new Date(i);
24
+ const H = (a) => {
25
+ if (!a) return null;
26
+ const l = new Date(a);
26
27
  return l.setHours(12, 0, 0, 0), l;
27
28
  };
28
- function He(i, l, g = 1) {
29
+ function He(a, l, w = 1) {
29
30
  return {
30
31
  *[Symbol.iterator]() {
31
- for (let s = i; s < l; s += g)
32
+ for (let s = a; s < l; s += w)
32
33
  yield s;
33
34
  }
34
35
  };
35
36
  }
36
- const v = [
37
+ const x = [
37
38
  "Январь",
38
39
  "Февраль",
39
40
  "Март",
@@ -47,27 +48,27 @@ const v = [
47
48
  "Ноябрь",
48
49
  "Декабрь"
49
50
  ], Ve = [
50
- ...He(A(/* @__PURE__ */ new Date()) - 100, A(/* @__PURE__ */ new Date()) + 15, 1)
51
- ], V = ze(null), Ye = ({ children: i }) => {
52
- const l = Ne(V);
53
- return l ? Ee(/* @__PURE__ */ o("div", { children: i }), l) : /* @__PURE__ */ o(De, { children: i });
54
- }, pt = ({
55
- "aria-label": i,
51
+ ...He(P(/* @__PURE__ */ new Date()) - 100, P(/* @__PURE__ */ new Date()) + 15, 1)
52
+ ], V = ze(null), Ye = ({ children: a }) => {
53
+ const l = Me(V);
54
+ return l ? Ae(/* @__PURE__ */ r("div", { children: a }), l) : /* @__PURE__ */ r(Se, { children: a });
55
+ }, mt = ({
56
+ "aria-label": a,
56
57
  "aria-labelledby": l,
57
- "aria-describedby": g,
58
+ "aria-describedby": w,
58
59
  title: s = "",
59
- selected: x,
60
- onChange: M,
60
+ selected: g,
61
+ onChange: d,
61
62
  isFilter: Y,
62
63
  placeholder: J = "Выберите дату",
63
- inline: C,
64
- portalOn: O = !1,
65
- open: N,
64
+ inline: k,
65
+ portalOn: M = !1,
66
+ open: z,
66
67
  greyIcon: K,
67
- isClearable: f,
68
- setOptionState: z,
69
- tableView: E,
70
- size: P,
68
+ isClearable: y,
69
+ setOptionState: A,
70
+ tableView: N,
71
+ size: E,
71
72
  id: Q,
72
73
  required: $ = !1,
73
74
  validationText: X = "Заполните поле",
@@ -75,96 +76,96 @@ const v = [
75
76
  error: U,
76
77
  validationOnWithoutText: ee,
77
78
  absoluteValidationText: te,
78
- lineUp: w = !1,
79
- rowGap: oe = 4,
80
- columnGap: re = 20,
81
- styleInputContainer: ne,
82
- styleTitle: ae,
79
+ lineUp: C = !1,
80
+ rowGap: re = 4,
81
+ columnGap: oe = 20,
82
+ styleInputContainer: ie,
83
+ styleTitle: ne,
83
84
  disabled: j,
84
- wheelEdit: ie = !1,
85
+ wheelEdit: ae = !1,
85
86
  showHint: le = !1,
86
87
  hintText: ce = "Используйте колесо мыши или стрелки ↑↓ для изменения значения",
87
88
  tooltipMaxWidth: se = 300
88
89
  }) => {
89
- const ue = _e(P, E), de = qe(P, E), y = We({ error: U, validationOn: Z, validationOnWithoutText: ee, validationText: X }), u = Te(Q, "u-calendar"), L = `u-calendar-portal-${u}`, k = Ae(null), [pe] = m(
90
+ const ue = _e(E, N), de = qe(E, N), b = We({ error: U, validationOn: Z, validationOnWithoutText: ee, validationText: X }), u = Re(Q, "u-calendar"), F = `u-calendar-portal-${u}`, S = Ie(null), [pe] = f(
90
91
  () => typeof document > "u" ? null : document.createElement("div")
91
- ), n = O && !C ? pe : null, h = Ie(u, s, $, y, {
92
- "aria-label": i,
92
+ ), i = M && !k ? pe : null, v = De(u, s, $, b, {
93
+ "aria-label": a,
93
94
  "aria-labelledby": l,
94
- "aria-describedby": g
95
- }), [p, S] = m(!1), me = 160, {
96
- shouldRender: D,
97
- status: fe,
98
- isAnimated: ye
99
- } = Re({
100
- isOpen: !!(N || p),
101
- duration: me
102
- }), he = ye && fe === "exiting";
103
- Me(() => {
104
- if (!n || !D) return;
105
- n.id = L;
95
+ "aria-describedby": w
96
+ }), [m, D] = f(!1), {
97
+ shouldRender: I,
98
+ status: me,
99
+ isAnimated: fe
100
+ } = Le({
101
+ isOpen: !!(z || m),
102
+ duration: Te
103
+ }), ye = fe && me === "exiting";
104
+ Oe(() => {
105
+ if (!i || !I) return;
106
+ i.id = F;
106
107
  const e = Be()["data-u-kit"];
107
- return e ? n.setAttribute("data-u-kit", e) : n.removeAttribute("data-u-kit"), document.body.appendChild(n), () => n.remove();
108
- }, [n, D, L]);
109
- const [F, d] = m(null), [be, ve] = m(!1), [ge, xe] = m(!1);
110
- I(() => {
108
+ return e ? i.setAttribute("data-u-kit", e) : i.removeAttribute("data-u-kit"), document.body.appendChild(i), () => i.remove();
109
+ }, [i, I, F]);
110
+ const [L, p] = f(null), [be, ve] = f(!1), [he, xe] = f(!1);
111
+ O(() => {
111
112
  const e = () => {
112
113
  xe(window.innerWidth <= 900);
113
114
  };
114
115
  return e(), window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
115
116
  }, []);
116
- const R = Oe(() => H(x), [x]), T = (e, t) => {
117
- const a = (t == null ? void 0 : t.type) === "click" || (t == null ? void 0 : t.type) === "keydown" ? "calendar" : "input";
117
+ const T = Pe(() => H(g), [g]), R = (e, t) => {
118
+ const n = (t == null ? void 0 : t.type) === "click" || (t == null ? void 0 : t.type) === "keydown" ? "calendar" : "input";
118
119
  if (!e) {
119
- M("", { source: a });
120
+ d == null || d("", { source: n });
120
121
  return;
121
122
  }
122
123
  const c = H(e);
123
- M(c, { source: a });
124
+ d == null || d(c, { source: n });
124
125
  };
125
- I(() => {
126
+ O(() => {
126
127
  const e = (t) => {
127
- const a = k.current, c = a == null ? void 0 : a.querySelector(":scope > div > div > input");
128
- p && (c && c.focus(), a && !a.contains(t.target) && !(n != null && n.contains(t.target)) && (S(!1), c && c.blur()));
128
+ const n = S.current, c = n == null ? void 0 : n.querySelector(":scope > div > div > input");
129
+ m && (c && c.focus(), n && !n.contains(t.target) && !(i != null && i.contains(t.target)) && (D(!1), c && c.blur()));
129
130
  };
130
131
  return document.addEventListener("click", e), () => {
131
132
  document.removeEventListener("click", e);
132
133
  };
133
- }, [p, n]), I(() => {
134
+ }, [m, i]), O(() => {
134
135
  var e;
135
- if (f) {
136
- const t = ((e = k.current) == null ? void 0 : e.querySelectorAll(".react-datepicker__close-icon")) ?? [];
137
- for (const a of t)
138
- a.innerHTML = '<i class="u-selectbox-select-icon-cross u-calendar-clear-icon"></i>';
136
+ if (y) {
137
+ const t = ((e = S.current) == null ? void 0 : e.querySelectorAll(".react-datepicker__close-icon")) ?? [];
138
+ for (const n of t)
139
+ n.innerHTML = '<i class="u-selectbox-select-icon-cross u-calendar-clear-icon"></i>';
139
140
  }
140
- }, [x]);
141
- const _ = (e) => typeof e == "number" ? `calc(${e} * var(--u-preset-unit, 1px))` : String(e), Ce = (e) => typeof e == "number" ? `calc(${e} * var(--u-unit, 1px))` : String(e), q = (e) => {
141
+ }, [g]);
142
+ const _ = (e) => typeof e == "number" ? `calc(${e} * var(--u-preset-unit, 1px))` : String(e), we = (e) => typeof e == "number" ? `calc(${e} * var(--u-unit, 1px))` : String(e), q = (e) => {
142
143
  const t = e.target;
143
- t.closest(".react-datepicker") && !t.closest(".react-datepicker__day") || S(!p);
144
- }, B = /* @__PURE__ */ o(
145
- Pe,
144
+ t.closest(".react-datepicker") && !t.closest(".react-datepicker__day") || D(!m);
145
+ }, B = /* @__PURE__ */ r(
146
+ Ne,
146
147
  {
147
- ariaLabelledBy: h["aria-labelledby"],
148
- ariaDescribedBy: h["aria-describedby"],
149
- ariaInvalid: h["aria-invalid"] ? "true" : void 0,
150
- ariaRequired: h["aria-required"] ? "true" : void 0,
151
- open: C ? N || p : D,
152
- inline: C,
153
- popperContainer: n ? Ye : void 0,
148
+ ariaLabelledBy: v["aria-labelledby"],
149
+ ariaDescribedBy: v["aria-describedby"],
150
+ ariaInvalid: v["aria-invalid"] ? "true" : void 0,
151
+ ariaRequired: v["aria-required"] ? "true" : void 0,
152
+ open: k ? z || m : I,
153
+ inline: k,
154
+ popperContainer: i ? Ye : void 0,
154
155
  popperPlacement: "bottom-end",
155
- popperClassName: [he ? "u-calendar-popper--closing" : "", O ? "u-calendar-popper--portal" : ""].filter(Boolean).join(" ") || void 0,
156
- isClearable: f,
156
+ popperClassName: [ye ? "u-calendar-popper--closing" : "", M ? "u-calendar-popper--portal" : ""].filter(Boolean).join(" ") || void 0,
157
+ isClearable: y,
157
158
  ariaLabelClose: "Очистить",
158
159
  disabled: j,
159
160
  renderCustomHeader: ({
160
161
  date: e,
161
162
  changeYear: t,
162
- changeMonth: a,
163
+ changeMonth: n,
163
164
  decreaseMonth: c,
164
- increaseMonth: we,
165
+ increaseMonth: ge,
165
166
  prevMonthButtonDisabled: ke,
166
- nextMonthButtonDisabled: Se
167
- }) => /* @__PURE__ */ b(
167
+ nextMonthButtonDisabled: Ce
168
+ }) => /* @__PURE__ */ h(
168
169
  "div",
169
170
  {
170
171
  style: {
@@ -177,7 +178,7 @@ const v = [
177
178
  alignItems: "center"
178
179
  },
179
180
  children: [
180
- /* @__PURE__ */ o(
181
+ /* @__PURE__ */ r(
181
182
  "button",
182
183
  {
183
184
  style: {
@@ -189,14 +190,14 @@ const v = [
189
190
  padding: 0,
190
191
  cursor: "pointer"
191
192
  },
192
- onClick: (r) => {
193
- r.preventDefault(), r.stopPropagation(), d(null), c();
193
+ onClick: (o) => {
194
+ o.preventDefault(), o.stopPropagation(), p(null), c();
194
195
  },
195
196
  disabled: ke,
196
- children: /* @__PURE__ */ o("i", { className: "u-icon icon-left", style: { fontSize: "calc(20 * var(--u-unit, 1px))" } })
197
+ children: /* @__PURE__ */ r("i", { className: "u-icon icon-left", style: { fontSize: "calc(20 * var(--u-unit, 1px))" } })
197
198
  }
198
199
  ),
199
- /* @__PURE__ */ b(
200
+ /* @__PURE__ */ h(
200
201
  "div",
201
202
  {
202
203
  style: {
@@ -207,39 +208,39 @@ const v = [
207
208
  gap: "calc(8 * var(--u-unit, 1px))"
208
209
  },
209
210
  children: [
210
- /* @__PURE__ */ o(
211
+ /* @__PURE__ */ r(
211
212
  G,
212
213
  {
213
- value: A(e),
214
- options: Ve.map((r) => ({ value: r, label: r })),
215
- onChange: (r) => t(Number(r)),
214
+ value: P(e),
215
+ options: Ve.map((o) => ({ value: o, label: o })),
216
+ onChange: (o) => t(Number(o)),
216
217
  fallbackValue: (/* @__PURE__ */ new Date()).getFullYear(),
217
218
  width: 45,
218
- isOpen: F === "year",
219
- onOpen: () => d("year"),
220
- onClose: () => d(null)
219
+ isOpen: L === "year",
220
+ onOpen: () => p("year"),
221
+ onClose: () => p(null)
221
222
  }
222
223
  ),
223
- /* @__PURE__ */ o(
224
+ /* @__PURE__ */ r(
224
225
  G,
225
226
  {
226
- value: v[Ge(e)],
227
- options: v.map((r) => ({ value: r, label: r })),
228
- onChange: (r) => {
229
- const W = String(r);
230
- a(v.indexOf(W)), z && z(W);
227
+ value: x[Ge(e)],
228
+ options: x.map((o) => ({ value: o, label: o })),
229
+ onChange: (o) => {
230
+ const W = String(o);
231
+ n(x.indexOf(W)), A && A(W);
231
232
  },
232
- fallbackValue: v[(/* @__PURE__ */ new Date()).getMonth()],
233
+ fallbackValue: x[(/* @__PURE__ */ new Date()).getMonth()],
233
234
  width: 85,
234
- isOpen: F === "month",
235
- onOpen: () => d("month"),
236
- onClose: () => d(null)
235
+ isOpen: L === "month",
236
+ onOpen: () => p("month"),
237
+ onClose: () => p(null)
237
238
  }
238
239
  )
239
240
  ]
240
241
  }
241
242
  ),
242
- /* @__PURE__ */ o(
243
+ /* @__PURE__ */ r(
243
244
  "button",
244
245
  {
245
246
  style: {
@@ -250,60 +251,60 @@ const v = [
250
251
  padding: 0,
251
252
  cursor: "pointer"
252
253
  },
253
- onClick: (r) => {
254
- r.preventDefault(), r.stopPropagation(), d(null), we();
254
+ onClick: (o) => {
255
+ o.preventDefault(), o.stopPropagation(), p(null), ge();
255
256
  },
256
- disabled: Se,
257
- children: /* @__PURE__ */ o("i", { className: "u-icon icon-right", style: { fontSize: "calc(20 * var(--u-unit, 1px))" } })
257
+ disabled: Ce,
258
+ children: /* @__PURE__ */ r("i", { className: "u-icon icon-right", style: { fontSize: "calc(20 * var(--u-unit, 1px))" } })
258
259
  }
259
260
  )
260
261
  ]
261
262
  }
262
263
  ),
263
264
  placeholderText: J,
264
- customInput: /* @__PURE__ */ o(
265
- je,
265
+ customInput: /* @__PURE__ */ r(
266
+ $e,
266
267
  {
267
- "aria-label": i,
268
+ "aria-label": a,
268
269
  id: `custom-input-mask-${u}`,
269
- isClearable: f,
270
- wheelEdit: ie,
271
- onWheelDate: (e) => T(e),
272
- onOpenCalendar: () => S(!0),
270
+ isClearable: y,
271
+ wheelEdit: ae,
272
+ onWheelDate: (e) => R(e),
273
+ onOpenCalendar: () => D(!0),
273
274
  onFocusChange: ve
274
275
  }
275
276
  ),
276
- selected: R,
277
- onChange: (e, t) => T(e, t),
277
+ selected: T,
278
+ onChange: (e, t) => R(e, t),
278
279
  strictParsing: !0,
279
280
  locale: "ru",
280
- className: (Y ? "custom-input dpc-filter custom-input-filter" : ue ? "custom-input dpc-table custom-input-table" : `${K ? "dpc-grey" : "dpc"} custom-input`) + (y.hasError ? " u-input-required" : "") + // react-datepicker рисует крестик и у disabled-поля — отступ под него тоже есть, как во Vue.
281
- (f && R ? " dpc--clearable" : ""),
281
+ className: (Y ? "custom-input dpc-filter custom-input-filter" : ue ? "custom-input dpc-table custom-input-table" : `${K ? "dpc-grey" : "dpc"} custom-input`) + (b.hasError ? " u-input-required" : "") + // react-datepicker рисует крестик и у disabled-поля — отступ под него тоже есть, как во Vue.
282
+ (y && T ? " dpc--clearable" : ""),
282
283
  dateFormat: "dd.MM.yyyy"
283
284
  }
284
285
  );
285
- return /* @__PURE__ */ o(V.Provider, { value: n, children: /* @__PURE__ */ b(
286
+ return /* @__PURE__ */ r(V.Provider, { value: i, children: /* @__PURE__ */ h(
286
287
  "div",
287
288
  {
288
- ref: k,
289
+ ref: S,
289
290
  id: `u-datepicker${u}`,
290
291
  className: de || void 0,
291
292
  style: { display: "flex", flexDirection: "column", rowGap: "calc(4 * var(--u-preset-unit, 1px))" },
292
293
  children: [
293
- /* @__PURE__ */ b(
294
+ /* @__PURE__ */ h(
294
295
  "div",
295
296
  {
296
297
  style: Object.assign(
297
298
  {
298
299
  display: "flex",
299
- flexDirection: w ? "row" : "column",
300
- rowGap: w ? null : _(oe),
301
- columnGap: w ? _(re) : null
300
+ flexDirection: C ? "row" : "column",
301
+ rowGap: C ? null : _(re),
302
+ columnGap: C ? _(oe) : null
302
303
  },
303
- ne
304
+ ie
304
305
  ),
305
306
  children: [
306
- s && /* @__PURE__ */ o(
307
+ s && /* @__PURE__ */ r(
307
308
  "div",
308
309
  {
309
310
  id: `${u}-label`,
@@ -313,43 +314,43 @@ const v = [
313
314
  color: "var(--u-field-title-color, #545454)",
314
315
  fontSize: "var(--u-field-label-size-main, calc(14 * var(--u-unit, 1px)))"
315
316
  },
316
- ae
317
+ ne
317
318
  ),
318
319
  children: s
319
320
  }
320
321
  ),
321
- le ? /* @__PURE__ */ o(
322
- Le,
322
+ le ? /* @__PURE__ */ r(
323
+ je,
323
324
  {
324
325
  portalOn: !0,
325
326
  id: `calendar-hint-${u || "default"}`,
326
327
  position: "top",
327
- isActive: be && !j && !ge,
328
+ isActive: be && !j && !he,
328
329
  showWhenActive: !0,
329
330
  tooltipStyle: {
330
- maxWidth: Ce(se),
331
+ maxWidth: we(se),
331
332
  width: "auto",
332
333
  whiteSpace: "normal",
333
334
  overflowWrap: "break-word"
334
335
  },
335
336
  tooltipText: ce,
336
- children: /* @__PURE__ */ o("div", { style: { width: "100%" }, onClick: q, children: B })
337
+ children: /* @__PURE__ */ r("div", { style: { width: "100%" }, onClick: q, children: B })
337
338
  }
338
- ) : /* @__PURE__ */ o("div", { style: { width: "100%" }, onClick: q, children: B })
339
+ ) : /* @__PURE__ */ r("div", { style: { width: "100%" }, onClick: q, children: B })
339
340
  ]
340
341
  }
341
342
  ),
342
- y.showText && /* @__PURE__ */ o(
343
+ b.showText && /* @__PURE__ */ r(
343
344
  "h5",
344
345
  {
345
346
  id: `${u}-error`,
346
347
  className: "h5 clr-red-main",
347
348
  style: te ? { position: "absolute", bottom: "calc(-20 * var(--u-unit, 1px))" } : { position: "relative" },
348
- children: y.text
349
+ children: b.text
349
350
  }
350
351
  )
351
352
  ]
352
353
  }
353
354
  ) });
354
355
  };
355
- export { pt as Calendar$u };
356
+ export { mt as Calendar$u };
@@ -5,9 +5,12 @@ import type { ComponentSize } from '../../shared/size';
5
5
  export type CalendarChangeSource = 'calendar' | 'input';
6
6
  export type CalendarProperties = FieldAccessibilityProperties & Partial<{
7
7
  title: string;
8
- selected: any;
8
+ /** Выбранная дата: Date, строка или число, которые понимает `new Date()`; пусто — без значения. */
9
+ selected: Date | string | number | null;
9
10
  /** `(date, { source })`: из набранного приходит только полная дата дд.мм.гггг; `source` — см. CalendarChangeSource. */
10
- onChange: any;
11
+ onChange(date: Date | '' | null, meta?: {
12
+ source: CalendarChangeSource;
13
+ }): void;
11
14
  isError: boolean;
12
15
  isFilter: boolean;
13
16
  placeholder: string;
@@ -16,8 +19,10 @@ export type CalendarProperties = FieldAccessibilityProperties & Partial<{
16
19
  portalOn: boolean;
17
20
  open: boolean;
18
21
  greyIcon: boolean;
19
- optionState: any;
20
- setOptionState: any;
22
+ /** Не используется; оставлен для совместимости. */
23
+ optionState: unknown;
24
+ /** Вызывается с названием месяца, выбранного в списке месяцев. */
25
+ setOptionState(month: string): void;
21
26
  isClearable: boolean;
22
27
  /**
23
28
  * Размер компонента: `medium` — 48px (по умолчанию), `dense` — 38px для форм