ics-ui-kit 0.1.13 → 0.1.14
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.
- package/dist/{AlertIcon-5B6AgZpe.js → AlertIcon-BphnEYvV.js} +3 -3
- package/dist/AlertIcon-BphnEYvV.js.map +1 -0
- package/dist/Field-CP_-li9L.js +90 -0
- package/dist/Field-CP_-li9L.js.map +1 -0
- package/dist/{FormFooterTemplate-ClTxqrIB.js → FormFooterTemplate-Cfn5Nmge.js} +2 -2
- package/dist/{FormFooterTemplate-ClTxqrIB.js.map → FormFooterTemplate-Cfn5Nmge.js.map} +1 -1
- package/dist/{FormStack-B3UBh9oF.js → FormStack-Cc_ELdWL.js} +2 -2
- package/dist/{FormStack-B3UBh9oF.js.map → FormStack-Cc_ELdWL.js.map} +1 -1
- package/dist/{SearchSelectTag-DFCX9zT1.js → SearchSelectTag-CA7Ie3Nx.js} +2 -2
- package/dist/{SearchSelectTag-DFCX9zT1.js.map → SearchSelectTag-CA7Ie3Nx.js.map} +1 -1
- package/dist/TableFillHandle-C_yvCTSl.js +65 -0
- package/dist/TableFillHandle-C_yvCTSl.js.map +1 -0
- package/dist/TextOverflowTooltip-B1I5qwAT.js.map +1 -1
- package/dist/blocks/auth/otp-form.js +1 -1
- package/dist/components/alert/Alert.d.ts +4 -0
- package/dist/components/alert/Alert.stories.d.ts +1 -0
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/alert.js +18 -18
- package/dist/components/alert.js.map +1 -1
- package/dist/components/card.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/field/Field.d.ts +4 -0
- package/dist/components/field/Field.stories.d.ts +1 -0
- package/dist/components/field.js +1 -1
- package/dist/components/file-upload.js +1 -1
- package/dist/components/form.js +3 -3
- package/dist/components/search-select.js +1 -1
- package/dist/components/sidebar.js +204 -210
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/system-state.js +1 -1
- package/dist/components/table/Table.d.ts +109 -5
- package/dist/components/table/Table.stories.d.ts +285 -9
- package/dist/components/table/column-reorder/index.d.ts +1 -0
- package/dist/components/table/column-reorder/useColumnReorder.d.ts +82 -0
- package/dist/components/table/column-reorder.d.ts +2 -0
- package/dist/components/table/column-reorder.js +6 -0
- package/dist/components/table/column-reorder.js.map +1 -0
- package/dist/components/table/column-resize/columnAutoFit.d.ts +21 -0
- package/dist/components/table/column-resize/columnResizeSession.d.ts +9 -0
- package/dist/components/table/column-resize/index.d.ts +3 -0
- package/dist/components/table/column-resize/useColumnResize.d.ts +52 -0
- package/dist/components/table/column-resize.d.ts +2 -0
- package/dist/components/table/column-resize.js +7 -0
- package/dist/components/table/column-resize.js.map +1 -0
- package/dist/components/table/editable/TableFillHandle.d.ts +23 -0
- package/dist/components/table/editable/cellRange.d.ts +83 -0
- package/dist/components/table/editable/editableCell.d.ts +90 -0
- package/dist/components/table/editable/index.d.ts +3 -0
- package/dist/components/table/editable.d.ts +2 -0
- package/dist/components/table/editable.js +12 -0
- package/dist/components/table/editable.js.map +1 -0
- package/dist/components/table/index.d.ts +8 -1
- package/dist/components/table/opaqueCell.d.ts +47 -0
- package/dist/components/table/rowTint.d.ts +60 -0
- package/dist/components/table/sticky/index.d.ts +1 -0
- package/dist/components/table/sticky/stickyCell.d.ts +105 -0
- package/dist/components/table/sticky.d.ts +2 -0
- package/dist/components/table/sticky.js +22 -0
- package/dist/components/table/sticky.js.map +1 -0
- package/dist/components/table/tableStoryData.d.ts +84 -0
- package/dist/components/table/tableStoryParts.d.ts +72 -0
- package/dist/components/table/tree/TableTree.d.ts +106 -0
- package/dist/components/table/tree/index.d.ts +3 -0
- package/dist/components/table/tree/treeGeometry.d.ts +86 -0
- package/dist/components/table/tree/treeModel.d.ts +87 -0
- package/dist/components/table/tree.d.ts +2 -0
- package/dist/components/table/tree.js +19 -0
- package/dist/components/table/tree.js.map +1 -0
- package/dist/components/table.js +52 -79
- package/dist/components/table.js.map +1 -1
- package/dist/components/tag-input.js +1 -1
- package/dist/components/toolbar.js +1 -2
- package/dist/components/toolbar.js.map +1 -1
- package/dist/hooks.js +1 -1
- package/dist/lib/utils/dom.d.ts +72 -0
- package/dist/opaqueCell-SGaiyL54.js +31 -0
- package/dist/opaqueCell-SGaiyL54.js.map +1 -0
- package/dist/plus-BpxYPnAG.js +15 -0
- package/dist/plus-BpxYPnAG.js.map +1 -0
- package/dist/styles-scoped.css +315 -72
- package/dist/styles.css +315 -72
- package/dist/theme.css +2 -0
- package/dist/treeModel-BlPWVj4W.js +319 -0
- package/dist/treeModel-BlPWVj4W.js.map +1 -0
- package/dist/useBreakpoints-DHvp74UL.js +31 -0
- package/dist/useBreakpoints-DHvp74UL.js.map +1 -0
- package/dist/useColumnReorder-BxVZQ_Y5.js +119 -0
- package/dist/useColumnReorder-BxVZQ_Y5.js.map +1 -0
- package/dist/useColumnResize-wjfEyBBg.js +130 -0
- package/dist/useColumnResize-wjfEyBBg.js.map +1 -0
- package/dist/vendors/date-fns/index.d.ts +7 -14
- package/dist/vendors/date-fns/locale/en-US/index.d.ts +4 -0
- package/dist/vendors/date-fns/locale/ru/index.d.ts +4 -0
- package/dist/vendors/react-day-picker/index.d.ts +8 -17
- package/dist/vendors/react-hook-form/index.d.ts +8 -15
- package/dist/vendors/tanstack/react-table/index.d.ts +12 -0
- package/dist/vendors/zod/index.d.ts +8 -9
- package/package.json +3 -2
- package/tailwind.preset.js +6 -2
- package/dist/AlertIcon-5B6AgZpe.js.map +0 -1
- package/dist/Field-COD9VbUX.js +0 -86
- package/dist/Field-COD9VbUX.js.map +0 -1
- package/dist/components/data-table/DataTable.stories.d.ts +0 -8
- package/dist/useBreakpoints-D8wKOvil.js +0 -103
- package/dist/useBreakpoints-D8wKOvil.js.map +0 -1
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import * as f from "react";
|
|
2
|
-
function v(e, s) {
|
|
3
|
-
if (s === e) return !1;
|
|
4
|
-
const t = Object.values(s), n = Object.values(e);
|
|
5
|
-
if (t.length !== n.length || t.some((d, r) => d !== n[r])) return !0;
|
|
6
|
-
const i = Object.keys(e);
|
|
7
|
-
return Object.keys(s).some((d, r) => d !== i[r]);
|
|
8
|
-
}
|
|
9
|
-
function w(e, s) {
|
|
10
|
-
return e.matches[s] = !1, e.mediaQueries[s] = {}, e;
|
|
11
|
-
}
|
|
12
|
-
function b(e) {
|
|
13
|
-
const s = Object.keys(e);
|
|
14
|
-
return typeof window > "u" ? s.reduce(w, {
|
|
15
|
-
mediaQueries: {},
|
|
16
|
-
matches: {}
|
|
17
|
-
}) : s.reduce((t, n) => {
|
|
18
|
-
const i = window.matchMedia(e[n]);
|
|
19
|
-
return t.mediaQueries[n] = i, t.matches[n] = i.matches, t;
|
|
20
|
-
}, {
|
|
21
|
-
mediaQueries: {},
|
|
22
|
-
matches: {}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
function x(e, s) {
|
|
26
|
-
function t(n, i) {
|
|
27
|
-
return n[i] = e.mediaQueries[i].matches, n;
|
|
28
|
-
}
|
|
29
|
-
switch (s.type) {
|
|
30
|
-
case "updateMatches":
|
|
31
|
-
return {
|
|
32
|
-
matches: Object.keys(e.mediaQueries).reduce(t, {}),
|
|
33
|
-
mediaQueries: e.mediaQueries
|
|
34
|
-
};
|
|
35
|
-
case "setQueries":
|
|
36
|
-
return b(s.queries);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
function j(e) {
|
|
40
|
-
const s = f.useRef(e), [t, n] = f.useReducer(x, e, b);
|
|
41
|
-
f.useEffect(() => {
|
|
42
|
-
v(e, s.current) && (n({
|
|
43
|
-
type: "setQueries",
|
|
44
|
-
queries: e
|
|
45
|
-
}), s.current = e);
|
|
46
|
-
}, [e]);
|
|
47
|
-
function i() {
|
|
48
|
-
return n({
|
|
49
|
-
type: "updateMatches"
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
function d(c) {
|
|
53
|
-
const u = i;
|
|
54
|
-
return typeof c.addListener < "u" ? c.addListener(u) : c.addEventListener("change", u), u;
|
|
55
|
-
}
|
|
56
|
-
f.useEffect(() => {
|
|
57
|
-
const c = Object.values(t.mediaQueries), u = c.map(d);
|
|
58
|
-
function Q(l, p) {
|
|
59
|
-
typeof l.addListener < "u" ? l.removeListener(u[p]) : l.removeEventListener("change", u[p]);
|
|
60
|
-
}
|
|
61
|
-
return () => {
|
|
62
|
-
c.forEach(Q);
|
|
63
|
-
};
|
|
64
|
-
}, [t.mediaQueries]);
|
|
65
|
-
const {
|
|
66
|
-
matches: r
|
|
67
|
-
} = t, m = f.useMemo(() => Object.values(r), [r]);
|
|
68
|
-
return {
|
|
69
|
-
matches: r,
|
|
70
|
-
matchesAny: m.some(Boolean),
|
|
71
|
-
matchesAll: m.length > 0 && m.every(Boolean)
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
function o(e) {
|
|
75
|
-
return j(O(e)).matchesAll;
|
|
76
|
-
}
|
|
77
|
-
const h = {};
|
|
78
|
-
function O(e) {
|
|
79
|
-
return h[e] === void 0 && (h[e] = {
|
|
80
|
-
default: e
|
|
81
|
-
}), h[e];
|
|
82
|
-
}
|
|
83
|
-
const a = {
|
|
84
|
-
sm: "640px",
|
|
85
|
-
md: "768px",
|
|
86
|
-
lg: "1024px",
|
|
87
|
-
xl: "1280px",
|
|
88
|
-
"2xl": "1536px"
|
|
89
|
-
}, L = () => o(`(min-width: ${a.sm})`), k = () => o(`(min-width: ${a.md})`), g = () => o(`(min-width: ${a.lg})`), y = () => o(`(min-width: ${a.xl})`), A = () => o(`(min-width: ${a["2xl"]})`), I = () => !g(), $ = (e) => o(`(min-width: ${a[e]})`), E = () => {
|
|
90
|
-
const e = A(), s = y(), t = g(), n = k(), i = L();
|
|
91
|
-
return e ? "2xl" : s ? "xl" : t ? "lg" : n ? "md" : i ? "sm" : null;
|
|
92
|
-
};
|
|
93
|
-
export {
|
|
94
|
-
k as a,
|
|
95
|
-
g as b,
|
|
96
|
-
y as c,
|
|
97
|
-
A as d,
|
|
98
|
-
I as e,
|
|
99
|
-
$ as f,
|
|
100
|
-
E as g,
|
|
101
|
-
L as u
|
|
102
|
-
};
|
|
103
|
-
//# sourceMappingURL=useBreakpoints-D8wKOvil.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBreakpoints-D8wKOvil.js","sources":["../node_modules/.pnpm/@react-hook+media-query@1.1.1_react@18.3.1/node_modules/@react-hook/media-query/dist/module/index.js","../src/hooks/useBreakpoints.ts"],"sourcesContent":["import * as React from 'react';\n\nfunction queriesDidChange(prevQueries, nextQueries) {\n if (nextQueries === prevQueries) return false;\n const nextQueriesArr = Object.values(nextQueries);\n const prevQueriesArr = Object.values(prevQueries);\n if (nextQueriesArr.length !== prevQueriesArr.length) return true;\n if (nextQueriesArr.some((q, i) => q !== prevQueriesArr[i])) return true;\n const prevKeys = Object.keys(prevQueries);\n return Object.keys(nextQueries).some((n, i) => n !== prevKeys[i]);\n}\n\nfunction _ref(curr, key) {\n curr.matches[key] = false;\n curr.mediaQueries[key] = {};\n return curr;\n}\n\nfunction init(queries) {\n const queryKeys = Object.keys(queries);\n /* istanbul ignore next */\n\n if (typeof window === 'undefined') return queryKeys.reduce(_ref, {\n mediaQueries: {},\n matches: {}\n });\n return queryKeys.reduce((state, name) => {\n const mql = window.matchMedia(queries[name]);\n state.mediaQueries[name] = mql;\n state.matches[name] = mql.matches;\n return state;\n }, {\n mediaQueries: {},\n matches: {}\n });\n}\n\nfunction reducer(state, action) {\n function _ref2(prev, key) {\n prev[key] = state.mediaQueries[key].matches;\n return prev;\n }\n\n switch (action.type) {\n case 'updateMatches':\n return {\n matches: Object.keys(state.mediaQueries).reduce(_ref2, {}),\n mediaQueries: state.mediaQueries\n };\n\n case 'setQueries':\n return init(action.queries);\n }\n}\n/**\n * A hook that returns a [`MediaQueryMatches`](#mediaquerymatches) object which will\n * tell you if specific media queries matched, all media queries matched, or\n * any media queries matched. Matches in this hook will always return `false` when\n * rendering on the server.\n *\n * @param queryMap The media queries you want to match against e.g. `{screen: \"screen\", width: \"(min-width: 12em)\"}`\n */\n\n\nexport function useMediaQueries(queryMap) {\n const prevQueries = React.useRef(queryMap);\n const [state, dispatch] = React.useReducer(reducer, queryMap, init);\n React.useEffect(() => {\n if (queriesDidChange(queryMap, prevQueries.current)) {\n dispatch({\n type: 'setQueries',\n queries: queryMap\n });\n prevQueries.current = queryMap;\n }\n }, [queryMap]);\n\n function _ref3() {\n return dispatch({\n type: 'updateMatches'\n });\n }\n\n function _ref4(mq) {\n const callback = _ref3;\n if (typeof mq.addListener !== 'undefined') mq.addListener(callback);else mq.addEventListener('change', callback);\n return callback;\n }\n\n React.useEffect(() => {\n const queries = Object.values(state.mediaQueries);\n const callbacks = queries.map(_ref4);\n\n function _ref5(mq, i) {\n if (typeof mq.addListener !== 'undefined') mq.removeListener(callbacks[i]);else mq.removeEventListener('change', callbacks[i]);\n }\n\n return () => {\n queries.forEach(_ref5);\n };\n }, [state.mediaQueries]);\n const {\n matches\n } = state;\n const matchValues = React.useMemo(() => Object.values(matches), [matches]);\n return {\n matches,\n matchesAny: matchValues.some(Boolean),\n matchesAll: matchValues.length > 0 && matchValues.every(Boolean)\n };\n}\n/**\n * A hook that returns `true` if the media query matched and `false` if not. This\n * hook will always return `false` when rendering on the server.\n *\n * @param query The media query you want to match against e.g. `\"only screen and (min-width: 12em)\"`\n */\n\nexport function useMediaQuery(query) {\n return useMediaQueries(getObj(query)).matchesAll;\n}\nconst cache = {};\n\nfunction getObj(query) {\n if (cache[query] === void 0) cache[query] = {\n default: query\n };\n return cache[query];\n}","import { useMediaQuery } from \"@react-hook/media-query\";\n\n// Брейкпоинты Tailwind CSS\nconst breakpoints = {\n\tsm: \"640px\",\n\tmd: \"768px\",\n\tlg: \"1024px\",\n\txl: \"1280px\",\n\t\"2xl\": \"1536px\"\n} as const;\n\ntype Breakpoint = keyof typeof breakpoints;\n\n/** min-width: 640px */\nexport const useIsSm = () => useMediaQuery(`(min-width: ${breakpoints.sm})`);\n/** min-width: 768px */\nexport const useIsMd = () => useMediaQuery(`(min-width: ${breakpoints.md})`);\n/** min-width: 1024px */\nexport const useIsLg = () => useMediaQuery(`(min-width: ${breakpoints.lg})`);\n/** min-width: 1280px */\nexport const useIsXl = () => useMediaQuery(`(min-width: ${breakpoints.xl})`);\n/** min-width: 1536px */\nexport const useIs2Xl = () => useMediaQuery(`(min-width: ${breakpoints[\"2xl\"]})`);\n\n/** max-width: 1024px */\nexport const useIsMobile = () => !useIsLg();\n\nexport const useBreakpoint = (breakpoint: Breakpoint) => {\n\treturn useMediaQuery(`(min-width: ${breakpoints[breakpoint]})`);\n};\n\nexport const useActiveBreakpoint = (): Breakpoint | null => {\n\tconst is2Xl = useIs2Xl();\n\tconst isXl = useIsXl();\n\tconst isLg = useIsLg();\n\tconst isMd = useIsMd();\n\tconst isSm = useIsSm();\n\n\tif (is2Xl) return \"2xl\";\n\tif (isXl) return \"xl\";\n\tif (isLg) return \"lg\";\n\tif (isMd) return \"md\";\n\tif (isSm) return \"sm\";\n\treturn null;\n};\n"],"names":["queriesDidChange","prevQueries","nextQueries","nextQueriesArr","prevQueriesArr","q","i","prevKeys","n","_ref","curr","key","init","queries","queryKeys","state","name","mql","reducer","action","_ref2","prev","useMediaQueries","queryMap","React","dispatch","_ref3","_ref4","mq","callback","callbacks","_ref5","matches","matchValues","useMediaQuery","query","getObj","cache","breakpoints","useIsSm","useIsMd","useIsLg","useIsXl","useIs2Xl","useIsMobile","useBreakpoint","breakpoint","useActiveBreakpoint","is2Xl","isXl","isLg","isMd","isSm"],"mappings":"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","x_google_ignoreList":[0]}
|