ics-ui-kit 0.1.13 → 0.1.15
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/counter.js +6 -6
- package/dist/components/counter.js.map +1 -1
- package/dist/components/dialog/Dialog.stories.d.ts +1 -0
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown.js +98 -98
- package/dist/components/dropdown.js.map +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/glass-toolbar/GlassToolbar.stories.d.ts +1 -0
- package/dist/components/glass-toolbar.js +35 -35
- package/dist/components/glass-toolbar.js.map +1 -1
- package/dist/components/search-select.js +1 -1
- package/dist/components/sidebar/Sidebar.stories.d.ts +278 -2
- package/dist/components/sidebar/SidebarContext.d.ts +2 -0
- package/dist/components/sidebar.js +271 -267
- 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 +327 -81
- package/dist/styles.css +327 -81
- 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]}
|