@homecode/ui 5.18.6 → 5.18.8
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/esm/src/components/DropZone/DropZone.js +90 -71
- package/dist/esm/src/components/DropZone/DropZone.styl.js +1 -1
- package/dist/esm/src/components/DropZone/dropFiles.js +80 -0
- package/dist/esm/types/src/components/DropZone/DropZone.test.d.ts +1 -0
- package/dist/esm/types/src/components/DropZone/dropFiles.d.ts +31 -0
- package/dist/esm/types/src/components/DropZone/dropFiles.test.d.ts +1 -0
- package/graphify-out/.graphify_labels.json +1 -15
- package/graphify-out/2026-10-09/.graphify_labels.json +223 -0
- package/graphify-out/2026-10-09/GRAPH_REPORT.md +1026 -0
- package/graphify-out/2026-10-09/cost.json +12 -0
- package/graphify-out/2026-10-09/graph.json +79406 -0
- package/graphify-out/2026-10-09/manifest.json +2597 -0
- package/graphify-out/GRAPH_REPORT.md +184 -250
- package/graphify-out/cache/ast/9aa4b14b42bf89b625c9774e2e01ad57875b845b261b897d6bf02748b9b2f760.json +1 -0
- package/graphify-out/cache/ast/a6c3aa051f83e4d4d719c19fa3ef34fb15be07d583b506619c3ddea8bcc274c7.json +1 -0
- package/graphify-out/cache/stat-index.json +1 -1
- package/graphify-out/graph.html +4 -4
- package/graphify-out/graph.json +4665 -4405
- package/graphify-out/manifest.json +43 -18
- package/package.json +1 -1
|
@@ -3,108 +3,127 @@ import { useState, useRef, useCallback, useEffect } from 'react';
|
|
|
3
3
|
import cn from 'classnames';
|
|
4
4
|
import { generateUID } from '../../tools/uid.js';
|
|
5
5
|
import S from './DropZone.styl.js';
|
|
6
|
+
import { matchesAccept, dragCarriesFiles, filesForDrop, DROP_HIDE_GRACE_MS } from './dropFiles.js';
|
|
6
7
|
|
|
7
|
-
function matchesAcceptPart(file, part) {
|
|
8
|
-
const p = part.trim().toLowerCase();
|
|
9
|
-
if (!p)
|
|
10
|
-
return false;
|
|
11
|
-
if (p.startsWith('.')) {
|
|
12
|
-
return file.name.toLowerCase().endsWith(p);
|
|
13
|
-
}
|
|
14
|
-
if (p.includes('/')) {
|
|
15
|
-
const t = file.type.toLowerCase();
|
|
16
|
-
if (p.endsWith('/*')) {
|
|
17
|
-
const prefix = p.slice(0, -1);
|
|
18
|
-
return t.startsWith(prefix);
|
|
19
|
-
}
|
|
20
|
-
return t === p;
|
|
21
|
-
}
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
function matchesAccept(file, accept) {
|
|
25
|
-
const trimmed = accept.trim();
|
|
26
|
-
if (!trimmed)
|
|
27
|
-
return true;
|
|
28
|
-
const parts = trimmed
|
|
29
|
-
.split(',')
|
|
30
|
-
.map(s => s.trim())
|
|
31
|
-
.filter(Boolean);
|
|
32
|
-
if (parts.length === 0)
|
|
33
|
-
return true;
|
|
34
|
-
return parts.some(part => matchesAcceptPart(file, part));
|
|
35
|
-
}
|
|
36
8
|
function DropZone(props) {
|
|
37
9
|
const { accept, label, error, disabled = false, ghost = false, id, className, } = props;
|
|
38
10
|
const [isDragging, setIsDragging] = useState(false);
|
|
39
|
-
const
|
|
11
|
+
const rootRef = useRef(null);
|
|
40
12
|
const fallbackInputIdRef = useRef(generateUID());
|
|
41
13
|
const inputId = id ?? fallbackInputIdRef.current;
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
14
|
+
const propsRef = useRef(props);
|
|
15
|
+
propsRef.current = props;
|
|
16
|
+
const disabledRef = useRef(disabled);
|
|
17
|
+
disabledRef.current = disabled;
|
|
18
|
+
const handleFileInput = useCallback((event) => {
|
|
45
19
|
if (disabled)
|
|
46
20
|
return;
|
|
47
|
-
const
|
|
48
|
-
if (props.multiple === true) {
|
|
49
|
-
if (list.length > 0) {
|
|
50
|
-
props.onFiles(list);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
const file = list[0];
|
|
55
|
-
if (file) {
|
|
56
|
-
props.onFile(file);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}, [accept, disabled, props]);
|
|
60
|
-
const handleFileInput = useCallback((e) => {
|
|
61
|
-
if (disabled)
|
|
62
|
-
return;
|
|
63
|
-
const raw = e.target.files;
|
|
21
|
+
const raw = event.target.files;
|
|
64
22
|
if (!raw?.length)
|
|
65
23
|
return;
|
|
66
|
-
const list = Array.from(raw).filter(
|
|
24
|
+
const list = Array.from(raw).filter(file => matchesAccept(file, accept));
|
|
67
25
|
if (props.multiple === true) {
|
|
68
|
-
if (list.length > 0)
|
|
26
|
+
if (list.length > 0)
|
|
69
27
|
props.onFiles(list);
|
|
70
|
-
}
|
|
71
28
|
}
|
|
72
29
|
else {
|
|
73
30
|
const file = list[0];
|
|
74
|
-
if (file)
|
|
31
|
+
if (file)
|
|
75
32
|
props.onFile(file);
|
|
76
|
-
}
|
|
77
33
|
}
|
|
78
|
-
|
|
34
|
+
event.target.value = '';
|
|
79
35
|
}, [accept, disabled, props]);
|
|
80
36
|
useEffect(() => {
|
|
81
|
-
const dialog =
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
37
|
+
const dialog = rootRef.current?.closest('[role="dialog"]');
|
|
38
|
+
const target = dialog ?? window;
|
|
39
|
+
let hideTimer = 0;
|
|
40
|
+
let snapshotted = null;
|
|
41
|
+
const allowFileDrag = (event) => {
|
|
42
|
+
const transfer = event.dataTransfer;
|
|
43
|
+
if (!transfer || !dragCarriesFiles(transfer.types))
|
|
44
|
+
return;
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
transfer.dropEffect = disabledRef.current ? 'none' : 'copy';
|
|
47
|
+
if (disabledRef.current)
|
|
48
|
+
return;
|
|
49
|
+
window.clearTimeout(hideTimer);
|
|
85
50
|
setIsDragging(true);
|
|
86
51
|
};
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
52
|
+
const scheduleHide = () => {
|
|
53
|
+
window.clearTimeout(hideTimer);
|
|
54
|
+
hideTimer = window.setTimeout(() => {
|
|
90
55
|
setIsDragging(false);
|
|
56
|
+
}, DROP_HIDE_GRACE_MS);
|
|
57
|
+
};
|
|
58
|
+
const onDragLeave = (event) => {
|
|
59
|
+
const related = event.relatedTarget;
|
|
60
|
+
if (related instanceof Node) {
|
|
61
|
+
const host = dialog ?? document;
|
|
62
|
+
if (host.contains(related))
|
|
63
|
+
return;
|
|
91
64
|
}
|
|
65
|
+
scheduleHide();
|
|
66
|
+
};
|
|
67
|
+
const onDropCapture = (event) => {
|
|
68
|
+
// Snapshot before later capture listeners read `items`. WebKit then
|
|
69
|
+
// clears `files`, so the bubble handler would see an empty drop.
|
|
70
|
+
snapshotted = event.dataTransfer
|
|
71
|
+
? Array.from(event.dataTransfer.files)
|
|
72
|
+
: [];
|
|
92
73
|
};
|
|
93
|
-
const
|
|
74
|
+
const deliver = (event) => {
|
|
75
|
+
window.clearTimeout(hideTimer);
|
|
94
76
|
setIsDragging(false);
|
|
77
|
+
const saved = snapshotted;
|
|
78
|
+
snapshotted = null;
|
|
79
|
+
const transfer = event.dataTransfer;
|
|
80
|
+
const claimed = event.defaultPrevented;
|
|
81
|
+
if (transfer && dragCarriesFiles(transfer.types) && !claimed) {
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
}
|
|
84
|
+
if (claimed || disabledRef.current)
|
|
85
|
+
return;
|
|
86
|
+
const current = propsRef.current;
|
|
87
|
+
const dataTransfer = saved && saved.length > 0
|
|
88
|
+
? { types: transfer?.types, files: saved, items: null }
|
|
89
|
+
: transfer;
|
|
90
|
+
const files = filesForDrop({
|
|
91
|
+
defaultPrevented: false,
|
|
92
|
+
disabled: false,
|
|
93
|
+
accept: current.accept,
|
|
94
|
+
multiple: current.multiple === true,
|
|
95
|
+
dataTransfer,
|
|
96
|
+
});
|
|
97
|
+
if (files.length === 0)
|
|
98
|
+
return;
|
|
99
|
+
if (current.multiple === true)
|
|
100
|
+
current.onFiles(files);
|
|
101
|
+
else
|
|
102
|
+
current.onFile(files[0]);
|
|
95
103
|
};
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
104
|
+
target.addEventListener('dragenter', allowFileDrag, true);
|
|
105
|
+
target.addEventListener('dragover', allowFileDrag, true);
|
|
106
|
+
target.addEventListener('dragleave', onDragLeave, true);
|
|
107
|
+
target.addEventListener('drop', onDropCapture, true);
|
|
108
|
+
target.addEventListener('drop', deliver);
|
|
99
109
|
return () => {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
110
|
+
window.clearTimeout(hideTimer);
|
|
111
|
+
target.removeEventListener('dragenter', allowFileDrag, true);
|
|
112
|
+
target.removeEventListener('dragover', allowFileDrag, true);
|
|
113
|
+
target.removeEventListener('dragleave', onDragLeave, true);
|
|
114
|
+
target.removeEventListener('drop', onDropCapture, true);
|
|
115
|
+
target.removeEventListener('drop', deliver);
|
|
103
116
|
};
|
|
104
117
|
}, []);
|
|
118
|
+
const keepFileDrag = (event) => {
|
|
119
|
+
if (!dragCarriesFiles(event.dataTransfer.types))
|
|
120
|
+
return;
|
|
121
|
+
event.preventDefault();
|
|
122
|
+
event.dataTransfer.dropEffect = disabled ? 'none' : 'copy';
|
|
123
|
+
};
|
|
105
124
|
const shouldShowDropArea = !ghost || isDragging;
|
|
106
125
|
const multiple = props.multiple === true;
|
|
107
|
-
return (jsxs("div", { className: cn(S.root, className), children: [shouldShowDropArea && (jsxs("div", {
|
|
126
|
+
return (jsxs("div", { ref: rootRef, className: cn(S.root, className), children: [shouldShowDropArea && (jsxs("div", { className: cn(S.dropArea, isDragging && S.isDragging, disabled && S.disabled), onDragEnter: keepFileDrag, onDragOver: keepFileDrag, children: [jsx("input", { type: "file", accept: accept, multiple: multiple, onChange: handleFileInput, className: S.fileInput, id: inputId, disabled: disabled }), jsx("label", { htmlFor: inputId, className: S.label, style: {
|
|
108
127
|
cursor: disabled ? 'not-allowed' : 'pointer',
|
|
109
128
|
}, children: label })] })), error && jsx("div", { className: S.error, children: error })] }));
|
|
110
129
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var css_248z = ".DropZone_root__gk-Ef{display:flex;flex-direction:column;gap:var(--p-2)}.DropZone_dropArea__u-8Ye{background-color:var(--accent-color-alpha-100);border:2px dashed var(--decent-color-alpha-200);border-radius:var(--p-4);cursor:pointer;padding:var(--p-4);position:relative;text-align:center;transition:all .2s ease}.DropZone_dropArea__u-8Ye label:before{border-radius:var(--p-4);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.DropZone_dropArea__u-8Ye.DropZone_isDragging__S-aQp,.DropZone_dropArea__u-8Ye:hover:not(.DropZone_disabled__qsAf6){border:2px dashed var(--active-color-alpha-500)}.DropZone_dropArea__u-8Ye:hover:not(.DropZone_disabled__qsAf6){background-color:var(--accent-color-alpha-50)}.DropZone_dropArea__u-8Ye.DropZone_isDragging__S-aQp{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--decent-color-alpha-900)!important;display:flex;height:calc(100% - var(--p-2));justify-content:center;left:var(--p-1);position:fixed;top:var(--p-1);width:calc(100% - var(--p-2));z-index:9999}.DropZone_dropArea__u-8Ye.DropZone_disabled__qsAf6{cursor:not-allowed;opacity:.6}.DropZone_fileInput__E8DeE{display:none}.DropZone_label__u7-Pb{cursor:pointer}.DropZone_error__vSiwM{color:var(--danger-color);font-size:.875rem;padding:var(--p-1) var(--p-2)}";
|
|
1
|
+
var css_248z = ".DropZone_root__gk-Ef{display:flex;flex-direction:column;gap:var(--p-2)}.DropZone_dropArea__u-8Ye{background-color:var(--accent-color-alpha-100);border:2px dashed var(--decent-color-alpha-200);border-radius:var(--p-4);cursor:pointer;padding:var(--p-4);position:relative;text-align:center;transition:all .2s ease}.DropZone_dropArea__u-8Ye label:before{border-radius:var(--p-4);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.DropZone_dropArea__u-8Ye.DropZone_isDragging__S-aQp,.DropZone_dropArea__u-8Ye:hover:not(.DropZone_disabled__qsAf6){border:2px dashed var(--active-color-alpha-500)}.DropZone_dropArea__u-8Ye:hover:not(.DropZone_disabled__qsAf6){background-color:var(--accent-color-alpha-50)}.DropZone_dropArea__u-8Ye.DropZone_isDragging__S-aQp{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--decent-color-alpha-900)!important;display:flex;height:calc(100% - var(--p-2));justify-content:center;left:var(--p-1);position:fixed;top:var(--p-1);width:calc(100% - var(--p-2));z-index:9999}.DropZone_dropArea__u-8Ye.DropZone_isDragging__S-aQp label{pointer-events:none}.DropZone_dropArea__u-8Ye.DropZone_disabled__qsAf6{cursor:not-allowed;opacity:.6}.DropZone_fileInput__E8DeE{display:none}.DropZone_label__u7-Pb{cursor:pointer}.DropZone_error__vSiwM{color:var(--danger-color);font-size:.875rem;padding:var(--p-1) var(--p-2)}";
|
|
2
2
|
var S = {"root":"DropZone_root__gk-Ef","dropArea":"DropZone_dropArea__u-8Ye","disabled":"DropZone_disabled__qsAf6","isDragging":"DropZone_isDragging__S-aQp","fileInput":"DropZone_fileInput__E8DeE","label":"DropZone_label__u7-Pb","error":"DropZone_error__vSiwM"};
|
|
3
3
|
if (typeof document !== 'undefined') {
|
|
4
4
|
var __uilibHead = document.head || document.getElementsByTagName('head')[0];
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/** Finder / WKWebView file drags. Structural drag types, not language checks. */
|
|
2
|
+
const FILE_DRAG_TYPES = new Set([
|
|
3
|
+
'Files',
|
|
4
|
+
'files',
|
|
5
|
+
'public.file-url',
|
|
6
|
+
'application/x-moz-file',
|
|
7
|
+
]);
|
|
8
|
+
/**
|
|
9
|
+
* macOS fires `dragleave` with a null `relatedTarget` while the pointer is
|
|
10
|
+
* still inside the window. `dragover` can be a few hundred milliseconds
|
|
11
|
+
* apart, so hide the overlay only after it has stopped.
|
|
12
|
+
*/
|
|
13
|
+
const DROP_HIDE_GRACE_MS = 400;
|
|
14
|
+
function dragCarriesFiles(types) {
|
|
15
|
+
if (!types)
|
|
16
|
+
return false;
|
|
17
|
+
const list = Array.from(types);
|
|
18
|
+
// Some WebKit builds hide types until drop. Don't reject those drags.
|
|
19
|
+
if (list.length === 0)
|
|
20
|
+
return true;
|
|
21
|
+
return list.some(type => FILE_DRAG_TYPES.has(type));
|
|
22
|
+
}
|
|
23
|
+
function matchesAcceptPart(file, part) {
|
|
24
|
+
const token = part.trim().toLowerCase();
|
|
25
|
+
if (!token)
|
|
26
|
+
return false;
|
|
27
|
+
if (token.startsWith('.')) {
|
|
28
|
+
return file.name.toLowerCase().endsWith(token);
|
|
29
|
+
}
|
|
30
|
+
if (token.includes('/')) {
|
|
31
|
+
const mime = file.type.toLowerCase();
|
|
32
|
+
if (token.endsWith('/*'))
|
|
33
|
+
return mime.startsWith(token.slice(0, -1));
|
|
34
|
+
return mime === token;
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
function matchesAccept(file, accept) {
|
|
39
|
+
const trimmed = accept.trim();
|
|
40
|
+
if (!trimmed)
|
|
41
|
+
return true;
|
|
42
|
+
const parts = trimmed
|
|
43
|
+
.split(',')
|
|
44
|
+
.map(part => part.trim())
|
|
45
|
+
.filter(Boolean);
|
|
46
|
+
if (parts.length === 0)
|
|
47
|
+
return true;
|
|
48
|
+
return parts.some(part => matchesAcceptPart(file, part));
|
|
49
|
+
}
|
|
50
|
+
function filesFromItems(items) {
|
|
51
|
+
if (!items)
|
|
52
|
+
return [];
|
|
53
|
+
const files = [];
|
|
54
|
+
for (let i = 0; i < items.length; i += 1) {
|
|
55
|
+
const item = items[i];
|
|
56
|
+
if (item?.kind !== 'file')
|
|
57
|
+
continue;
|
|
58
|
+
const file = item.getAsFile?.() ?? null;
|
|
59
|
+
if (file)
|
|
60
|
+
files.push(file);
|
|
61
|
+
}
|
|
62
|
+
return files;
|
|
63
|
+
}
|
|
64
|
+
function filesForDrop(args) {
|
|
65
|
+
if (args.disabled || args.defaultPrevented || !args.dataTransfer)
|
|
66
|
+
return [];
|
|
67
|
+
const listed = args.dataTransfer.files
|
|
68
|
+
? Array.from(args.dataTransfer.files)
|
|
69
|
+
: [];
|
|
70
|
+
if (!dragCarriesFiles(args.dataTransfer.types) && listed.length === 0) {
|
|
71
|
+
return [];
|
|
72
|
+
}
|
|
73
|
+
const files = listed.length > 0 ? listed : filesFromItems(args.dataTransfer.items);
|
|
74
|
+
const matched = files.filter(file => matchesAccept(file, args.accept));
|
|
75
|
+
if (args.multiple)
|
|
76
|
+
return matched;
|
|
77
|
+
return matched[0] ? [matched[0]] : [];
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export { DROP_HIDE_GRACE_MS, dragCarriesFiles, filesForDrop, matchesAccept };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '@testing-library/jest-dom';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* macOS fires `dragleave` with a null `relatedTarget` while the pointer is
|
|
3
|
+
* still inside the window. `dragover` can be a few hundred milliseconds
|
|
4
|
+
* apart, so hide the overlay only after it has stopped.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DROP_HIDE_GRACE_MS = 400;
|
|
7
|
+
export declare function dragCarriesFiles(types: ArrayLike<string> | null | undefined): boolean;
|
|
8
|
+
type DropItemLike = {
|
|
9
|
+
kind: string;
|
|
10
|
+
getAsFile?: () => File | null;
|
|
11
|
+
};
|
|
12
|
+
export type DropData = {
|
|
13
|
+
types?: ArrayLike<string> | null;
|
|
14
|
+
files?: ArrayLike<File> | null;
|
|
15
|
+
items?: ArrayLike<DropItemLike> | null;
|
|
16
|
+
};
|
|
17
|
+
export declare function matchesAccept(file: File, accept: string): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Prefer `files`. On macOS WebKit that list is often empty while `items`
|
|
20
|
+
* still has the file. Reading `items` when `files` is already set clears
|
|
21
|
+
* the list in WebKit, so items are only a fallback.
|
|
22
|
+
*/
|
|
23
|
+
export declare function filesFromDataTransfer(dataTransfer: DropData): File[];
|
|
24
|
+
export declare function filesForDrop(args: {
|
|
25
|
+
defaultPrevented: boolean;
|
|
26
|
+
disabled: boolean;
|
|
27
|
+
accept: string;
|
|
28
|
+
multiple: boolean;
|
|
29
|
+
dataTransfer: DropData | null;
|
|
30
|
+
}): File[];
|
|
31
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -202,22 +202,8 @@
|
|
|
202
202
|
"200": "Community 200",
|
|
203
203
|
"201": "Community 201",
|
|
204
204
|
"202": "Community 202",
|
|
205
|
-
"203": "Community 203",
|
|
206
|
-
"204": "Community 204",
|
|
207
205
|
"205": "Community 205",
|
|
208
206
|
"206": "Community 206",
|
|
209
|
-
"207": "Community 207",
|
|
210
|
-
"208": "Community 208",
|
|
211
|
-
"209": "Community 209",
|
|
212
|
-
"210": "Community 210",
|
|
213
|
-
"211": "Community 211",
|
|
214
|
-
"212": "Community 212",
|
|
215
|
-
"213": "Community 213",
|
|
216
|
-
"214": "Community 214",
|
|
217
|
-
"215": "Community 215",
|
|
218
207
|
"216": "Community 216",
|
|
219
|
-
"
|
|
220
|
-
"218": "Community 218",
|
|
221
|
-
"219": "Community 219",
|
|
222
|
-
"220": "Community 220"
|
|
208
|
+
"219": "Community 219"
|
|
223
209
|
}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
{
|
|
2
|
+
"0": "Docs Examples Index",
|
|
3
|
+
"1": "PromptComposer",
|
|
4
|
+
"2": "Build Toolchain",
|
|
5
|
+
"3": "Form Examples",
|
|
6
|
+
"4": "Autocomplete Examples",
|
|
7
|
+
"5": "Checkbox Showcase",
|
|
8
|
+
"6": "Theme Config",
|
|
9
|
+
"7": "Type Props Schema",
|
|
10
|
+
"8": "Notifications System",
|
|
11
|
+
"9": "Button Checkbox Core",
|
|
12
|
+
"10": "Optional Value Props",
|
|
13
|
+
"11": "Select Component",
|
|
14
|
+
"12": "Input AssistiveText",
|
|
15
|
+
"13": "Gallery Component",
|
|
16
|
+
"14": "Virtualized Examples",
|
|
17
|
+
"15": "TypeScript Config",
|
|
18
|
+
"16": "Package Dependencies",
|
|
19
|
+
"17": "Card Component",
|
|
20
|
+
"18": "Debounce Paranja",
|
|
21
|
+
"19": "UILIB Docs Assets",
|
|
22
|
+
"20": "Component Type Props",
|
|
23
|
+
"21": "Flex Gallery",
|
|
24
|
+
"22": "DatePicker Examples",
|
|
25
|
+
"23": "Comment Value Props",
|
|
26
|
+
"24": "Docs Index Pages",
|
|
27
|
+
"25": "i18n LangSelector",
|
|
28
|
+
"26": "Package Metadata",
|
|
29
|
+
"27": "Popup Positioning",
|
|
30
|
+
"28": "Popup Component",
|
|
31
|
+
"29": "Docs Code Layout",
|
|
32
|
+
"30": "Draggable Types",
|
|
33
|
+
"31": "Slider Component",
|
|
34
|
+
"32": "Small Component Props",
|
|
35
|
+
"33": "Select Popup Types",
|
|
36
|
+
"34": "Router Core",
|
|
37
|
+
"35": "Calendar Helpers",
|
|
38
|
+
"36": "AssistiveText Menu",
|
|
39
|
+
"37": "Button DatePicker Types",
|
|
40
|
+
"38": "Container Icon",
|
|
41
|
+
"39": "Checkbox Props",
|
|
42
|
+
"40": "NPM Scripts",
|
|
43
|
+
"41": "Calendar DatePicker",
|
|
44
|
+
"42": "DateTime Types",
|
|
45
|
+
"43": "Autocomplete Core",
|
|
46
|
+
"44": "Global Type Kinds",
|
|
47
|
+
"45": "Date Type Fields",
|
|
48
|
+
"46": "Form Types",
|
|
49
|
+
"47": "Docs App Store",
|
|
50
|
+
"48": "Component Types JSON",
|
|
51
|
+
"49": "Option Value Types",
|
|
52
|
+
"50": "Generic Props",
|
|
53
|
+
"51": "Draggable Component",
|
|
54
|
+
"52": "Heading Scroll",
|
|
55
|
+
"53": "Progress Indicators",
|
|
56
|
+
"54": "Table Virtualized",
|
|
57
|
+
"55": "Virtualized Lifecycle",
|
|
58
|
+
"56": "Docs Pages",
|
|
59
|
+
"57": "Code Example Helpers",
|
|
60
|
+
"58": "Media Control Icons",
|
|
61
|
+
"59": "Text Heading",
|
|
62
|
+
"60": "Type Parser Script",
|
|
63
|
+
"61": "ButtonGroup Tabs",
|
|
64
|
+
"62": "DateTime Component",
|
|
65
|
+
"63": "Display Format Props",
|
|
66
|
+
"64": "Calendar Day Props",
|
|
67
|
+
"65": "Dialogue Props",
|
|
68
|
+
"66": "Arrow Chevron Icons",
|
|
69
|
+
"67": "InputFile Upload",
|
|
70
|
+
"68": "InputFile Types",
|
|
71
|
+
"69": "Virtualized List",
|
|
72
|
+
"70": "List Lifecycle",
|
|
73
|
+
"71": "Icon Index Exports",
|
|
74
|
+
"72": "Webpack Paths Config",
|
|
75
|
+
"73": "DatePicker Helpers",
|
|
76
|
+
"74": "Calendar Day",
|
|
77
|
+
"75": "Calendar Pointer Props",
|
|
78
|
+
"76": "Size Enum Props",
|
|
79
|
+
"77": "Code Editor",
|
|
80
|
+
"78": "Communication Icons",
|
|
81
|
+
"79": "Select Constants",
|
|
82
|
+
"80": "TextShimmer",
|
|
83
|
+
"81": "Virtualized Cards",
|
|
84
|
+
"82": "ClassName Props",
|
|
85
|
+
"83": "Ukrainian i18n",
|
|
86
|
+
"84": "Icon RequiredStar Types",
|
|
87
|
+
"85": "Navigation Icons",
|
|
88
|
+
"86": "File Action Icons",
|
|
89
|
+
"87": "Label Helpers",
|
|
90
|
+
"88": "Lazy Types",
|
|
91
|
+
"89": "Select Example Helpers",
|
|
92
|
+
"90": "Menu More Icons",
|
|
93
|
+
"91": "Social Media Icons",
|
|
94
|
+
"92": "Rollup Build Config",
|
|
95
|
+
"93": "Tabs Types",
|
|
96
|
+
"94": "VH Component",
|
|
97
|
+
"95": "Docs Navigation",
|
|
98
|
+
"96": "Footer Alignment",
|
|
99
|
+
"97": "Calendar Day Disabled",
|
|
100
|
+
"98": "Render Day Props",
|
|
101
|
+
"99": "Render Months Label",
|
|
102
|
+
"100": "Render Month Label",
|
|
103
|
+
"101": "Render Weekday Label",
|
|
104
|
+
"102": "Community 102",
|
|
105
|
+
"103": "Community 103",
|
|
106
|
+
"104": "Community 104",
|
|
107
|
+
"105": "Community 105",
|
|
108
|
+
"106": "Icon Name Helpers",
|
|
109
|
+
"107": "Media Placeholder Icons",
|
|
110
|
+
"108": "Utility Icons",
|
|
111
|
+
"109": "Commerce Icons",
|
|
112
|
+
"110": "Data Usage Icons",
|
|
113
|
+
"111": "Peer Dependencies",
|
|
114
|
+
"112": "Table Render",
|
|
115
|
+
"113": "Theme Docs",
|
|
116
|
+
"114": "Number Formatting",
|
|
117
|
+
"115": "Virtualized Index Helpers",
|
|
118
|
+
"116": "Docs Scope",
|
|
119
|
+
"117": "Auto Scroll Props",
|
|
120
|
+
"118": "Content Props",
|
|
121
|
+
"119": "Community 119",
|
|
122
|
+
"120": "Footer Props",
|
|
123
|
+
"121": "Community 121",
|
|
124
|
+
"122": "Community 122",
|
|
125
|
+
"123": "No Scroll Props",
|
|
126
|
+
"124": "Community 124",
|
|
127
|
+
"125": "Community 125",
|
|
128
|
+
"126": "Title Props",
|
|
129
|
+
"127": "Community 127",
|
|
130
|
+
"128": "Community 128",
|
|
131
|
+
"129": "Trigger ClassName",
|
|
132
|
+
"130": "Community 130",
|
|
133
|
+
"131": "Community 131",
|
|
134
|
+
"132": "Community 132",
|
|
135
|
+
"133": "Brand Avatar Icons",
|
|
136
|
+
"134": "Communication Action Icons",
|
|
137
|
+
"135": "Status Action Icons",
|
|
138
|
+
"136": "OAuth Brand Icons",
|
|
139
|
+
"137": "View Fullscreen Icons",
|
|
140
|
+
"138": "Add Remove Icons",
|
|
141
|
+
"139": "Route Navigation Icons",
|
|
142
|
+
"140": "Settings Tool Icons",
|
|
143
|
+
"141": "Input Label Constants",
|
|
144
|
+
"142": "Community 142",
|
|
145
|
+
"143": "More Docs Examples",
|
|
146
|
+
"144": "Docs Scope Pages",
|
|
147
|
+
"145": "Community 145",
|
|
148
|
+
"146": "Brand Logo Assets",
|
|
149
|
+
"147": "Test Utilities",
|
|
150
|
+
"148": "PostCSS Config",
|
|
151
|
+
"149": "Single Doc Page",
|
|
152
|
+
"150": "Gallery Dots",
|
|
153
|
+
"151": "Community 151",
|
|
154
|
+
"152": "Bookmark Icons",
|
|
155
|
+
"153": "Drag Handler Icons",
|
|
156
|
+
"154": "Lock Security Icons",
|
|
157
|
+
"155": "Save Undo Icons",
|
|
158
|
+
"156": "SVG Test Mock",
|
|
159
|
+
"157": "Store Declarations",
|
|
160
|
+
"158": "Global Window Types",
|
|
161
|
+
"159": "Gallery Singleton",
|
|
162
|
+
"160": "Minimize Prop",
|
|
163
|
+
"161": "Forward Icon",
|
|
164
|
+
"162": "Router Context",
|
|
165
|
+
"163": "Router Store",
|
|
166
|
+
"164": "Select Helpers",
|
|
167
|
+
"165": "Theme Styl Types",
|
|
168
|
+
"166": "Test Setup",
|
|
169
|
+
"167": "Community 167",
|
|
170
|
+
"168": "Community 168",
|
|
171
|
+
"169": "Community 169",
|
|
172
|
+
"170": "Community 170",
|
|
173
|
+
"171": "Community 171",
|
|
174
|
+
"172": "Community 172",
|
|
175
|
+
"173": "Community 173",
|
|
176
|
+
"174": "Community 174",
|
|
177
|
+
"175": "Community 175",
|
|
178
|
+
"176": "Community 176",
|
|
179
|
+
"177": "Community 177",
|
|
180
|
+
"178": "Community 178",
|
|
181
|
+
"179": "Community 179",
|
|
182
|
+
"180": "Community 180",
|
|
183
|
+
"181": "Community 181",
|
|
184
|
+
"182": "Community 182",
|
|
185
|
+
"183": "Community 183",
|
|
186
|
+
"184": "Community 184",
|
|
187
|
+
"185": "Community 185",
|
|
188
|
+
"186": "Community 186",
|
|
189
|
+
"187": "Community 187",
|
|
190
|
+
"188": "Community 188",
|
|
191
|
+
"189": "Community 189",
|
|
192
|
+
"190": "Community 190",
|
|
193
|
+
"191": "Community 191",
|
|
194
|
+
"192": "Community 192",
|
|
195
|
+
"193": "Community 193",
|
|
196
|
+
"194": "Community 194",
|
|
197
|
+
"195": "Community 195",
|
|
198
|
+
"196": "Community 196",
|
|
199
|
+
"197": "Community 197",
|
|
200
|
+
"198": "Community 198",
|
|
201
|
+
"199": "Community 199",
|
|
202
|
+
"200": "Community 200",
|
|
203
|
+
"201": "Community 201",
|
|
204
|
+
"202": "Community 202",
|
|
205
|
+
"203": "Community 203",
|
|
206
|
+
"204": "Community 204",
|
|
207
|
+
"205": "Community 205",
|
|
208
|
+
"206": "Community 206",
|
|
209
|
+
"207": "Community 207",
|
|
210
|
+
"208": "Community 208",
|
|
211
|
+
"209": "Community 209",
|
|
212
|
+
"210": "Community 210",
|
|
213
|
+
"211": "Community 211",
|
|
214
|
+
"212": "Community 212",
|
|
215
|
+
"213": "Community 213",
|
|
216
|
+
"214": "Community 214",
|
|
217
|
+
"215": "Community 215",
|
|
218
|
+
"216": "Community 216",
|
|
219
|
+
"217": "Community 217",
|
|
220
|
+
"218": "Community 218",
|
|
221
|
+
"219": "Community 219",
|
|
222
|
+
"220": "Community 220"
|
|
223
|
+
}
|