@node-core/ui-components 0.0.1 → 1.0.1-0293ad9e47f432e69852af2ee62cb819309db1cf
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/Common/AlertBox/index.js +5 -0
- package/Common/AlertBox/index.module.css +2 -0
- package/Common/AvatarGroup/Avatar/index.js +11 -0
- package/Common/AvatarGroup/Avatar/index.module.css +2 -0
- package/Common/AvatarGroup/Overlay/index.js +6 -0
- package/Common/AvatarGroup/Overlay/index.module.css +2 -0
- package/Common/AvatarGroup/index.js +21 -0
- package/Common/AvatarGroup/index.module.css +2 -0
- package/Common/Badge/index.js +5 -0
- package/Common/Badge/index.module.css +2 -0
- package/Common/BadgeGroup/index.js +6 -0
- package/Common/BadgeGroup/index.module.css +2 -0
- package/Common/Banner/index.js +4 -0
- package/Common/Banner/index.module.css +2 -0
- package/Common/BaseActiveLink/index.js +14 -0
- package/Common/BaseButton/index.js +10 -0
- package/Common/BaseButton/index.module.css +2 -0
- package/Common/BaseCodeBox/index.js +50 -0
- package/Common/BaseCodeBox/index.module.css +2 -0
- package/Common/BaseCrossLink/index.js +12 -0
- package/Common/BaseCrossLink/index.module.css +2 -0
- package/Common/BaseLinkTabs/index.js +5 -0
- package/Common/BaseLinkTabs/index.module.css +2 -0
- package/Common/BasePagination/Ellipsis/index.js +4 -0
- package/Common/BasePagination/Ellipsis/index.module.css +2 -0
- package/Common/BasePagination/PaginationListItem/index.js +6 -0
- package/Common/BasePagination/PaginationListItem/index.module.css +2 -0
- package/Common/BasePagination/PrevNextArrow.js +7 -0
- package/Common/BasePagination/index.js +10 -0
- package/Common/BasePagination/index.module.css +2 -0
- package/Common/BasePagination/useGetPageElements.js +77 -0
- package/Common/Blockquote/index.js +4 -0
- package/Common/Blockquote/index.module.css +2 -0
- package/Common/Breadcrumbs/BreadcrumbHomeLink/index.js +9 -0
- package/Common/Breadcrumbs/BreadcrumbHomeLink/index.module.css +2 -0
- package/Common/Breadcrumbs/BreadcrumbItem/index.js +6 -0
- package/Common/Breadcrumbs/BreadcrumbItem/index.module.css +2 -0
- package/Common/Breadcrumbs/BreadcrumbLink/index.js +5 -0
- package/Common/Breadcrumbs/BreadcrumbLink/index.module.css +2 -0
- package/Common/Breadcrumbs/BreadcrumbRoot/index.js +4 -0
- package/Common/Breadcrumbs/BreadcrumbRoot/index.module.css +2 -0
- package/Common/Breadcrumbs/BreadcrumbTruncatedItem/index.js +4 -0
- package/Common/Breadcrumbs/index.js +22 -0
- package/Common/ChangeHistory/index.js +9 -0
- package/Common/ChangeHistory/index.module.css +2 -0
- package/Common/CodeTabs/index.js +5 -0
- package/Common/CodeTabs/index.module.css +2 -0
- package/Common/DataTag/index.js +18 -0
- package/Common/DataTag/index.module.css +2 -0
- package/Common/GlowingBackdrop/index.js +5 -0
- package/Common/GlowingBackdrop/index.module.css +2 -0
- package/Common/LanguageDropDown/index.js +11 -0
- package/Common/LanguageDropDown/index.module.css +2 -0
- package/Common/Modal/index.js +10 -0
- package/Common/Modal/index.module.css +2 -0
- package/Common/NodejsLogo/index.js +7 -0
- package/Common/NodejsLogo/index.module.css +2 -0
- package/Common/Notification/index.js +6 -0
- package/Common/Notification/index.module.css +2 -0
- package/Common/Preview/index.js +7 -0
- package/Common/Preview/index.module.css +2 -0
- package/Common/Select/NoScriptSelect/index.js +10 -0
- package/Common/Select/StatelessSelect/index.js +31 -0
- package/Common/Select/index.js +46 -0
- package/Common/Select/index.module.css +2 -0
- package/Common/Separator/index.js +7 -0
- package/Common/Separator/index.module.css +2 -0
- package/Common/Skeleton/index.js +18 -0
- package/Common/Skeleton/index.module.css +2 -0
- package/Common/Tabs/index.js +6 -0
- package/Common/Tabs/index.module.css +2 -0
- package/Common/ThemeToggle/index.js +7 -0
- package/Common/ThemeToggle/index.module.css +2 -0
- package/Common/Tooltip/index.js +8 -0
- package/Common/Tooltip/index.module.css +2 -0
- package/Containers/Article/index.js +4 -0
- package/Containers/Article/index.module.css +2 -0
- package/Containers/Footer/index.js +21 -0
- package/Containers/Footer/index.module.css +2 -0
- package/Containers/MetaBar/index.js +12 -0
- package/Containers/MetaBar/index.module.css +2 -0
- package/Containers/NavBar/NavItem/index.js +7 -0
- package/Containers/NavBar/NavItem/index.module.css +2 -0
- package/Containers/NavBar/index.js +18 -0
- package/Containers/NavBar/index.module.css +2 -0
- package/Containers/Sidebar/ProgressionIcon/index.js +3 -0
- package/Containers/Sidebar/SidebarGroup/index.js +9 -0
- package/Containers/Sidebar/SidebarGroup/index.module.css +2 -0
- package/Containers/Sidebar/SidebarItem/index.js +11 -0
- package/Containers/Sidebar/SidebarItem/index.module.css +2 -0
- package/Containers/Sidebar/index.js +15 -0
- package/Containers/Sidebar/index.module.css +2 -0
- package/Icons/HexagonGrid.js +3 -0
- package/Icons/InstallationMethod/Choco.js +3 -0
- package/Icons/InstallationMethod/Devbox.js +3 -0
- package/Icons/InstallationMethod/Docker.js +3 -0
- package/Icons/InstallationMethod/FNM.js +3 -0
- package/Icons/InstallationMethod/Homebrew.js +3 -0
- package/Icons/InstallationMethod/N.js +5 -0
- package/Icons/InstallationMethod/NVM.js +3 -0
- package/Icons/InstallationMethod/Volta.js +3 -0
- package/Icons/InstallationMethod/index.js +9 -0
- package/Icons/Logos/JsWhite.js +3 -0
- package/Icons/Logos/Nodejs.js +12 -0
- package/Icons/Logos/index.js +3 -0
- package/Icons/OperatingSystem/AIX.js +3 -0
- package/Icons/OperatingSystem/Apple.js +3 -0
- package/Icons/OperatingSystem/Linux.js +3 -0
- package/Icons/OperatingSystem/Microsoft.js +3 -0
- package/Icons/OperatingSystem/index.js +5 -0
- package/Icons/PackageManager/Npm.js +3 -0
- package/Icons/PackageManager/Pnpm.js +3 -0
- package/Icons/PackageManager/Yarn.js +3 -0
- package/Icons/PackageManager/index.js +4 -0
- package/Icons/Social/Bluesky.js +3 -0
- package/Icons/Social/Discord.js +3 -0
- package/Icons/Social/GitHub.js +3 -0
- package/Icons/Social/LinkedIn.js +3 -0
- package/Icons/Social/Mastodon.js +3 -0
- package/Icons/Social/Slack.js +3 -0
- package/Icons/Social/X.js +3 -0
- package/Icons/Social/index.js +8 -0
- package/LICENSE +21 -0
- package/MDX/CodeTabs.js +29 -0
- package/Providers/NotificationProvider/index.js +16 -0
- package/Providers/NotificationProvider/index.module.css +2 -0
- package/package.json +44 -5
- package/stylelint/one-utility-class-per-line.mjs +48 -0
- package/stylelint/utils.mjs +47 -0
- package/styles/index.css +2 -0
- package/types.js +1 -0
- package/util/array.js +2 -0
- package/README.md +0 -1
package/MDX/CodeTabs.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import CodeTabs from '#ui/Common/CodeTabs';
|
|
5
|
+
const NAME_OVERRIDES = {
|
|
6
|
+
mjs: 'ESM',
|
|
7
|
+
};
|
|
8
|
+
const MDXCodeTabs = ({ languages: rawLanguages, displayNames: rawDisplayNames, children: codes, defaultTab = '0', ...props }) => {
|
|
9
|
+
const { tabs, languages } = useMemo(() => {
|
|
10
|
+
const occurrences = {};
|
|
11
|
+
const languages = rawLanguages.split('|');
|
|
12
|
+
const displayNames = rawDisplayNames?.split('|') ?? [];
|
|
13
|
+
const tabs = languages.map((language, index) => {
|
|
14
|
+
const base = displayNames[index]?.trim() ||
|
|
15
|
+
NAME_OVERRIDES[language] ||
|
|
16
|
+
language.toUpperCase();
|
|
17
|
+
const count = occurrences[base] ?? 0;
|
|
18
|
+
occurrences[base] = count + 1;
|
|
19
|
+
const label = count > 0 ? `${base} (${count + 1})` : base;
|
|
20
|
+
return {
|
|
21
|
+
key: `${language}-${index}`,
|
|
22
|
+
label: label,
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
return { tabs, languages };
|
|
26
|
+
}, [rawLanguages, rawDisplayNames]);
|
|
27
|
+
return (_jsx(CodeTabs, { tabs: tabs, defaultValue: tabs[Number(defaultTab)].key, ...props, children: languages.map((_, index) => (_jsx(TabsPrimitive.Content, { value: tabs[index].key, children: codes[index] }, tabs[index].key))) }));
|
|
28
|
+
};
|
|
29
|
+
export default MDXCodeTabs;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as Toast from '@radix-ui/react-toast';
|
|
3
|
+
import { createContext, useContext, useEffect, useState } from 'react';
|
|
4
|
+
import Notification from '#ui/Common/Notification';
|
|
5
|
+
import styles from './index.module.css';
|
|
6
|
+
const NotificationContext = createContext(null);
|
|
7
|
+
export const NotificationDispatch = createContext(() => { });
|
|
8
|
+
export const useNotification = () => useContext(NotificationDispatch);
|
|
9
|
+
export const NotificationProvider = ({ children }) => {
|
|
10
|
+
const [notification, dispatch] = useState(null);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
const timeout = setTimeout(() => dispatch(null), notification?.duration);
|
|
13
|
+
return () => clearTimeout(timeout);
|
|
14
|
+
}, [notification]);
|
|
15
|
+
return (_jsx(NotificationContext.Provider, { value: notification, children: _jsx(NotificationDispatch.Provider, { value: dispatch, children: _jsxs(Toast.Provider, { children: [children, notification && (_jsx(Notification, { duration: notification.duration, children: notification.message })), _jsx(Toast.Viewport, { className: styles.viewport })] }) }) }));
|
|
16
|
+
};
|
package/package.json
CHANGED
|
@@ -1,8 +1,47 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@node-core/ui-components",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"@heroicons/react": "^2.2.0",
|
|
6
|
+
"@radix-ui/react-avatar": "^1.1.10",
|
|
7
|
+
"@radix-ui/react-dialog": "^1.1.14",
|
|
8
|
+
"@radix-ui/react-dropdown-menu": "~2.1.15",
|
|
9
|
+
"@radix-ui/react-label": "~2.1.7",
|
|
10
|
+
"@radix-ui/react-select": "~2.2.5",
|
|
11
|
+
"@radix-ui/react-separator": "~1.1.7",
|
|
12
|
+
"@radix-ui/react-tabs": "~1.1.12",
|
|
13
|
+
"@radix-ui/react-toast": "~1.2.14",
|
|
14
|
+
"@radix-ui/react-tooltip": "~1.2.7",
|
|
15
|
+
"@tailwindcss/postcss": "~4.1.11",
|
|
16
|
+
"@vcarl/remark-headings": "~0.1.0",
|
|
17
|
+
"classnames": "~2.5.1",
|
|
18
|
+
"postcss-calc": "^10.1.1",
|
|
19
|
+
"tailwindcss": "~4.0.17"
|
|
20
|
+
},
|
|
21
|
+
"imports": {
|
|
22
|
+
"#ui/*": [
|
|
23
|
+
"./*"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=20"
|
|
28
|
+
},
|
|
29
|
+
"version": "1.0.1-0293ad9e47f432e69852af2ee62cb819309db1cf",
|
|
30
|
+
"scripts": {
|
|
31
|
+
"compile:ts": "tsc",
|
|
32
|
+
"compile:css": "postcss --dir dist --base src \"src/**/*.module.css\" src/styles/index.css",
|
|
33
|
+
"compile": "node --run compile:ts && node --run compile:css",
|
|
34
|
+
"lint": "node --run lint:js && node --run lint:css",
|
|
35
|
+
"lint:css": "stylelint \"**/*.css\" --allow-empty-input --cache --cache-strategy=content --cache-location=.stylelintcache",
|
|
36
|
+
"lint:css:fix": "node --run lint:css -- --fix",
|
|
37
|
+
"lint:fix": "node --run lint:js:fix && node --run lint:css:fix",
|
|
38
|
+
"lint:js": "eslint \"**/*.{js,mjs,ts,tsx}\"",
|
|
39
|
+
"lint:js:fix": "node --run lint:js -- --fix",
|
|
40
|
+
"lint:types": "tsc --noEmit",
|
|
41
|
+
"storybook": "cross-env NODE_NO_WARNINGS=1 storybook dev -p 6006 --quiet",
|
|
42
|
+
"storybook:build": "cross-env NODE_NO_WARNINGS=1 storybook build --quiet --webpack-stats-json",
|
|
43
|
+
"test": "node --run test:unit",
|
|
44
|
+
"test:unit": "cross-env NODE_NO_WARNINGS=1 node --experimental-test-coverage --test-coverage-exclude=**/*.test.* --enable-source-maps --import=global-jsdom/register --import=tsx --import=../../tests/setup.mjs --test **/*.test.*",
|
|
45
|
+
"test:unit:watch": "node --run test:unit -- --watch"
|
|
7
46
|
}
|
|
8
|
-
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import stylelint from 'stylelint';
|
|
2
|
+
import { indentClassNames } from './utils.mjs';
|
|
3
|
+
const { createPlugin, utils: { report, ruleMessages }, } = stylelint;
|
|
4
|
+
const name = 'nodejs/one-utility-class-per-line';
|
|
5
|
+
const messages = ruleMessages(name, {
|
|
6
|
+
className: classNames => `Each line should contain only one Tailwind utility class; "${classNames}"`,
|
|
7
|
+
spacing: classNames => `Each utility class used with @apply should be indented by 2 spaces on a new line; ${classNames}`,
|
|
8
|
+
});
|
|
9
|
+
const meta = {
|
|
10
|
+
url: 'https://github.com/nodejs/nodejs.org/blob/main/COLLABORATOR_GUIDE.md#styling-a-component',
|
|
11
|
+
fixable: true,
|
|
12
|
+
};
|
|
13
|
+
/** @type {import('stylelint').Rule} */
|
|
14
|
+
const rule = () => (root, result) => {
|
|
15
|
+
root.walkAtRules('apply', rule => {
|
|
16
|
+
if (!rule.params.includes(' ')) {
|
|
17
|
+
// If there are no spaces in the params, we don't need to check anything
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
// Since we use 2 spaces for indentation, each line in the apply rule
|
|
21
|
+
// should be indented with two extra whitespaces.
|
|
22
|
+
const classes = rule.params.split(`${rule.raws.before} `);
|
|
23
|
+
const classNames = classes.join('');
|
|
24
|
+
// Check if the params contain any spaces
|
|
25
|
+
if (classNames.includes(' ')) {
|
|
26
|
+
if (classNames.includes('\n')) {
|
|
27
|
+
return report({
|
|
28
|
+
ruleName: name,
|
|
29
|
+
result: result,
|
|
30
|
+
message: messages.spacing(JSON.stringify(rule.params)),
|
|
31
|
+
node: rule,
|
|
32
|
+
fix: indentClassNames(rule),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return report({
|
|
36
|
+
ruleName: name,
|
|
37
|
+
result: result,
|
|
38
|
+
message: messages.className(rule.params),
|
|
39
|
+
node: rule,
|
|
40
|
+
fix: indentClassNames(rule),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
rule.ruleName = name;
|
|
46
|
+
rule.messages = messages;
|
|
47
|
+
rule.meta = meta;
|
|
48
|
+
export default createPlugin(name, rule);
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adjusts the class names in the rule by cleaning and adding proper indentation.
|
|
3
|
+
*
|
|
4
|
+
* @param {Object} rule - The rule object containing the class names to be processed.
|
|
5
|
+
* @param {string} rule.params - The class names as a string to be formatted.
|
|
6
|
+
* @param {Object} rule.raws - The raw data of the rule.
|
|
7
|
+
* @param {string} rule.raws.before - The raw string before to the @apply rule.
|
|
8
|
+
* @returns {Object|null} The modified rule with properly formatted class names, or null if the rule is invalid.
|
|
9
|
+
*/
|
|
10
|
+
export const indentClassNames = rule => {
|
|
11
|
+
// Ensure that the rule contains necessary properties
|
|
12
|
+
if (!rule || !rule.params || !rule.raws || !rule.raws.before) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
const indent = ' '.repeat(rule.raws.before.length + 1);
|
|
16
|
+
// Clean and split the class names
|
|
17
|
+
const cleanedClasses = cleanClassNames(rule.params);
|
|
18
|
+
// Apply the indentation and join the class names back together
|
|
19
|
+
rule.params = applyIndentation(cleanedClasses, indent);
|
|
20
|
+
return rule;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Cleans the input string by removing unnecessary whitespace and newlines.
|
|
24
|
+
*
|
|
25
|
+
* @param {string} params - The class names string to be cleaned.
|
|
26
|
+
* @returns {string} The cleaned class names string.
|
|
27
|
+
*/
|
|
28
|
+
export const cleanClassNames = params => {
|
|
29
|
+
return params
|
|
30
|
+
.replace(/[\n\r]+/g, '') // Remove new lines
|
|
31
|
+
.replace(/\s+/g, ' ') // Replace multiple spaces with a single space
|
|
32
|
+
.trim(); // Trim leading/trailing spaces
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Applies the correct indentation to each class name in the string.
|
|
36
|
+
*
|
|
37
|
+
* @param {string} classes - The cleaned class names as a string.
|
|
38
|
+
* @param {string} indent - The string used for indentation.
|
|
39
|
+
* @returns {string} The class names string with applied indentation.
|
|
40
|
+
*/
|
|
41
|
+
export const applyIndentation = (classes, indent) => {
|
|
42
|
+
return classes
|
|
43
|
+
.split(' ') // Split into an array of class names
|
|
44
|
+
.map(className => indent + className) // Add indentation to each class
|
|
45
|
+
.join('\n') // Join with new lines
|
|
46
|
+
.trim(); // Remove extra space at the end
|
|
47
|
+
};
|
package/styles/index.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-leading:initial;--tw-tracking:initial;--tw-border-style:solid;--tw-border-spacing-x:0;--tw-border-spacing-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-green-100:#edf2eb;--color-green-200:#c5e5b4;--color-green-300:#99cc7d;--color-green-400:#84ba64;--color-green-600:#417e38;--color-green-700:#2c682c;--color-green-800:#2c682c;--color-green-900:#1a3f1d;--color-gray-200:oklch(92.8% .006 264.531);--color-neutral-100:#f6f7f9;--color-neutral-200:#e9edf0;--color-neutral-300:#d9e1e4;--color-neutral-400:#cbd4d9;--color-neutral-600:#929fa5;--color-neutral-700:#6e7b83;--color-neutral-800:#556066;--color-neutral-900:#2c3437;--color-neutral-950:#0d121c;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:1.33333;--text-sm:.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--text-lg:1.125rem;--text-lg--line-height:1.55556;--text-xl:1.25rem;--text-xl--line-height:1.4;--text-2xl:1.5rem;--text-2xl--line-height:1.33333;--text-3xl:1.875rem;--text-3xl--line-height:1.2;--text-4xl:2.25rem;--text-4xl--line-height:1.11111;--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-xs:.125rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-danger-100:#fbf1f0;--color-danger-200:#fad3d4;--color-danger-300:#fab6b7;--color-danger-400:#fa8e8e;--color-danger-600:#de1a1b;--color-danger-700:#b80c0c;--color-danger-800:#900e0e;--color-danger-900:#661514;--color-warning-100:#fdf3e7;--color-warning-200:#fad9b0;--color-warning-300:#f5bc75;--color-warning-400:#e99c40;--color-warning-600:#ae5f00;--color-warning-700:#8b4d04;--color-warning-800:#683d08;--color-warning-900:#4d2f0b;--color-info-100:#e9f4fa;--color-info-200:#bce6fc;--color-info-300:#8ed4f8;--color-info-400:#52baed;--color-info-600:#0c7bb3;--color-info-700:#066291;--color-info-800:#074d71;--color-info-900:#0a3953;--color-accent1-100:#f7f1fb;--color-accent1-200:#ead9fb;--color-accent1-300:#dbbdf9;--color-accent1-400:#c79bf2;--color-accent1-600:#9756d6;--color-accent1-700:#7d3cbe;--color-accent1-800:#642b9e;--color-accent1-900:#361b52;--color-accent2-100:#fbf0f4;--color-accent2-200:#fbd4e6;--color-accent2-300:#fbb4d2;--color-accent2-400:#f68bb7;--color-accent2-600:#d6246e;--color-accent2-700:#b01356;--color-accent2-800:#8b1245;--color-accent2-900:#411526;--color-pulse-100:#0000330f;--color-pulse-200:#00002d17;--color-pulse-300:#ddeaf814;--color-pulse-400:#d3edf81d;--color-shadow:#101828;--font-open-sans:var(--font-open-sans);--font-ibm-plex-mono:var(--font-ibm-plex-mono);--font-weight-regular:400}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentColor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--header-height:calc(var(--spacing,.25rem)*16)}*,:after,:before,::backdrop{border-color:var(--color-gray-200,currentColor)}::file-selector-button{border-color:var(--color-gray-200,currentColor)}:is(button,[role=button]):not(:disabled){cursor:pointer}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.relative{position:relative}.right-0{right:calc(var(--spacing)*0)}.container{width:100%}@media (min-width:670px){.container{max-width:670px}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-1\.5{margin-inline:calc(var(--spacing)*1.5)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-32{width:calc(var(--spacing)*32);height:calc(var(--spacing)*32)}.h-4{height:calc(var(--spacing)*4)}.h-20{height:calc(var(--spacing)*20)}.h-72{height:calc(var(--spacing)*72)}.h-full{height:100%}.w-4{width:calc(var(--spacing)*4)}.w-20{width:calc(var(--spacing)*20)}.w-72{width:calc(var(--spacing)*72)}.w-200{width:calc(var(--spacing)*200)}.w-\[150px\]{width:150px}.w-\[305px\]{width:305px}.w-\[600px\]{width:600px}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.bg-accent1-100{background-color:var(--color-accent1-100)}.bg-accent1-200{background-color:var(--color-accent1-200)}.bg-accent1-300{background-color:var(--color-accent1-300)}.bg-accent1-400{background-color:var(--color-accent1-400)}.bg-accent1-600{background-color:var(--color-accent1-600)}.bg-accent1-700{background-color:var(--color-accent1-700)}.bg-accent1-800{background-color:var(--color-accent1-800)}.bg-accent1-900{background-color:var(--color-accent1-900)}.bg-accent2-100{background-color:var(--color-accent2-100)}.bg-accent2-200{background-color:var(--color-accent2-200)}.bg-accent2-300{background-color:var(--color-accent2-300)}.bg-accent2-400{background-color:var(--color-accent2-400)}.bg-accent2-600{background-color:var(--color-accent2-600)}.bg-accent2-700{background-color:var(--color-accent2-700)}.bg-accent2-800{background-color:var(--color-accent2-800)}.bg-accent2-900{background-color:var(--color-accent2-900)}.bg-danger-100{background-color:var(--color-danger-100)}.bg-danger-200{background-color:var(--color-danger-200)}.bg-danger-300{background-color:var(--color-danger-300)}.bg-danger-400{background-color:var(--color-danger-400)}.bg-danger-600{background-color:var(--color-danger-600)}.bg-danger-700{background-color:var(--color-danger-700)}.bg-danger-800{background-color:var(--color-danger-800)}.bg-danger-900{background-color:var(--color-danger-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-200{background-color:var(--color-green-200)}.bg-green-300{background-color:var(--color-green-300)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-600{background-color:var(--color-green-600)}.bg-green-700{background-color:var(--color-green-700)}.bg-green-800{background-color:var(--color-green-800)}.bg-green-900{background-color:var(--color-green-900)}.bg-info-100{background-color:var(--color-info-100)}.bg-info-200{background-color:var(--color-info-200)}.bg-info-300{background-color:var(--color-info-300)}.bg-info-400{background-color:var(--color-info-400)}.bg-info-600{background-color:var(--color-info-600)}.bg-info-700{background-color:var(--color-info-700)}.bg-info-800{background-color:var(--color-info-800)}.bg-info-900{background-color:var(--color-info-900)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-neutral-300{background-color:var(--color-neutral-300)}.bg-neutral-400{background-color:var(--color-neutral-400)}.bg-neutral-600{background-color:var(--color-neutral-600)}.bg-neutral-700{background-color:var(--color-neutral-700)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-warning-100{background-color:var(--color-warning-100)}.bg-warning-200{background-color:var(--color-warning-200)}.bg-warning-300{background-color:var(--color-warning-300)}.bg-warning-400{background-color:var(--color-warning-400)}.bg-warning-600{background-color:var(--color-warning-600)}.bg-warning-700{background-color:var(--color-warning-700)}.bg-warning-800{background-color:var(--color-warning-800)}.bg-warning-900{background-color:var(--color-warning-900)}.fill-\[\#333333\]{fill:#333}.fill-neutral-700{fill:var(--color-neutral-700)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-regular{--tw-font-weight:var(--font-weight-regular);font-weight:var(--font-weight-regular)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.opacity-70{opacity:.7}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}.peer-checked\:flex:is(:where(.peer):checked~*){display:flex}@media (prefers-reduced-motion:no-preference){.motion-safe\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.dark\:block:where([data-theme=dark],[data-theme=dark] *){display:block}.dark\:hidden:where([data-theme=dark],[data-theme=dark] *){display:none}.dark\:fill-neutral-100:where([data-theme=dark],[data-theme=dark] *){fill:var(--color-neutral-100)}.dark\:fill-white:where([data-theme=dark],[data-theme=dark] *){fill:var(--color-white)}*{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}html,body{height:100%}body{background-color:var(--color-white);font-family:var(--font-open-sans);color:var(--color-neutral-950)}@media (prefers-reduced-motion:no-preference){body{scroll-behavior:smooth}}body:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-950);color:var(--color-white)}main{gap:calc(var(--spacing)*6);flex-direction:column;width:100%;display:flex}main hr{border-top-style:var(--tw-border-style);border-top-width:1px;border-top-color:var(--color-neutral-200);background-color:var(--color-white);width:100%}main hr:where([data-theme=dark],[data-theme=dark] *){border-top-color:var(--color-neutral-900);background-color:var(--color-neutral-950)}main h1{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}main h2{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}main h3{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}main h4{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}main h5,main h6{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}main h1,main h2,main h3,main h4,main h5,main h6{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}:is(main h1,main h2,main h3,main h4,main h5,main h6):where([data-theme=dark],[data-theme=dark] *){color:var(--color-white)}:is(main h1,main h2,main h3,main h4,main h5,main h6)[id] a{color:var(--color-neutral-900)}:is(main h1,main h2,main h3,main h4,main h5,main h6)[id] a:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white)}main strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}main code{border-radius:var(--radius-xs);background-color:var(--color-neutral-100);padding-inline:calc(var(--spacing)*1);font-family:var(--font-ibm-plex-mono);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}main code:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-900);color:var(--color-white)}main p{color:var(--color-neutral-900)}main p:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white)}main a:not(h1>a):not(h2>a):not(h3>a):not(h4>a):not(h5>a):not(h6>a),main .anchor{color:var(--color-green-600)}@media not all and (min-width:670px){main a:not(h1>a):not(h2>a):not(h3>a):not(h4>a):not(h5>a):not(h6>a),main .anchor{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}}:is(main a:not(h1>a):not(h2>a):not(h3>a):not(h4>a):not(h5>a):not(h6>a),main .anchor):where([data-theme=dark],[data-theme=dark] *){color:var(--color-green-400)}:is(main a:not(h1>a):not(h2>a):not(h3>a):not(h4>a):not(h5>a):not(h6>a),main .anchor):hover{color:var(--color-green-900)}:is(main a:not(h1>a):not(h2>a):not(h3>a):not(h4>a):not(h5>a):not(h6>a),main .anchor):hover:where([data-theme=dark],[data-theme=dark] *){color:var(--color-green-200)}@media not all and (min-width:670px){:is(main a:not(h1>a):not(h2>a):not(h3>a):not(h4>a):not(h5>a):not(h6>a),main .anchor)[role=button]{--tw-font-weight:var(--font-weight-regular);font-weight:var(--font-weight-regular)}:is(main a:not(h1>a):not(h2>a):not(h3>a):not(h4>a):not(h5>a):not(h6>a),main .anchor):has(code){-webkit-text-decoration-color:var(--color-neutral-800);-webkit-text-decoration-color:var(--color-neutral-800);text-decoration-color:var(--color-neutral-800)}:is(main a:not(h1>a):not(h2>a):not(h3>a):not(h4>a):not(h5>a):not(h6>a),main .anchor):has(code):where([data-theme=dark],[data-theme=dark] *){-webkit-text-decoration-color:var(--color-neutral-200);-webkit-text-decoration-color:var(--color-neutral-200);text-decoration-color:var(--color-neutral-200)}}:is(main a:not(h1>a):not(h2>a):not(h3>a):not(h4>a):not(h5>a):not(h6>a),main .anchor):has(code) code{color:inherit}main ul{padding-right:calc(var(--spacing)*5);padding-left:calc(var(--spacing)*9);--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--color-neutral-900);list-style-type:disc}main ul:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white)}main ul li div:has(>pre){margin-block:calc(var(--spacing)*1)!important}main ol{padding-inline:calc(var(--spacing)*5);--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--color-neutral-900);list-style-type:decimal}main ol:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white)}main ol li div:has(>pre){margin-block:calc(var(--spacing)*1)!important}main table{margin-bottom:calc(var(--spacing)*1);border-collapse:separate;--tw-border-spacing-x:calc(var(--spacing)*0);--tw-border-spacing-y:calc(var(--spacing)*0);width:100%;border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y);border-radius:var(--radius-xs);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-neutral-200);text-align:left;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}main table:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-neutral-800)}main table th,main table td{border-style:var(--tw-border-style);border-width:1px;border-top-style:var(--tw-border-style);border-top-width:0;border-right-style:var(--tw-border-style);border-right-width:0;border-color:var(--color-neutral-200);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);color:var(--color-neutral-900)}@media not all and (min-width:670px){main table th,main table td{border-left-style:var(--tw-border-style);border-left-width:0;display:block}}:is(main table th,main table td):where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-neutral-800);color:var(--color-white)}:is(main table th,main table td)>a{padding-right:calc(var(--spacing)*2)}main table th{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media (min-width:40rem){main table tr:last-child>td{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@media not all and (min-width:670px){main table tr:last-child>td:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@media (min-width:40rem){main table td:first-child,main table th:first-child{border-left-style:var(--tw-border-style);border-left-width:0}}}h1.special{background-image:linear-gradient(180deg,var(--color-neutral-900)0%,#2c3437cc 100%)}@supports (color:color-mix(in lab, red, red)){h1.special{background-image:linear-gradient(180deg,var(--color-neutral-900)0%,color-mix(in oklab,var(--color-neutral-900)80%,transparent)100%)}}h1.special{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-leading:3rem;--tw-tracking:-0.045rem;letter-spacing:-.045rem;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;line-height:3rem}@media (min-width:48rem){h1.special{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height));--tw-leading:4rem;--tw-tracking:-0.06rem;letter-spacing:-.06rem;line-height:4rem}}h1.special:where([data-theme=dark],[data-theme=dark] *){background-image:linear-gradient(180deg,var(--color-white)0%,#fffc 100%)}@supports (color:color-mix(in lab, red, red)){h1.special:where([data-theme=dark],[data-theme=dark] *){background-image:linear-gradient(180deg,var(--color-white)0%,color-mix(in oklab,var(--color-white)80%,transparent)100%)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}
|
package/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/util/array.js
ADDED
package/README.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
nodejs.org
|