@kcascend/liquid-ui 0.0.1
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/README.md +64 -0
- package/dist/components/Accordion/Accordion.d.ts +3 -0
- package/dist/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/components/Accordion/Accordion.js +46 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +3 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.js +34 -0
- package/dist/components/Button/Button.d.ts +3 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/Button.js +7 -0
- package/dist/components/Card/Card.d.ts +3 -0
- package/dist/components/Card/Card.d.ts.map +1 -0
- package/dist/components/Card/Card.js +19 -0
- package/dist/components/Checkbox/Checkbox.d.ts +3 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +17 -0
- package/dist/components/ContainedList/ContainedList.d.ts +3 -0
- package/dist/components/ContainedList/ContainedList.d.ts.map +1 -0
- package/dist/components/ContainedList/ContainedList.js +26 -0
- package/dist/components/DataTable/DataTable.d.ts +3 -0
- package/dist/components/DataTable/DataTable.d.ts.map +1 -0
- package/dist/components/DataTable/DataTable.js +20 -0
- package/dist/components/DescriptionList/DescriptionList.d.ts +3 -0
- package/dist/components/DescriptionList/DescriptionList.d.ts.map +1 -0
- package/dist/components/DescriptionList/DescriptionList.js +14 -0
- package/dist/components/Form/Form.d.ts +5 -0
- package/dist/components/Form/Form.d.ts.map +1 -0
- package/dist/components/Form/Form.js +32 -0
- package/dist/components/GridLayout/GridLayout.d.ts +4 -0
- package/dist/components/GridLayout/GridLayout.d.ts.map +1 -0
- package/dist/components/GridLayout/GridLayout.js +138 -0
- package/dist/components/GridLayout/gridTokens.d.ts +18 -0
- package/dist/components/GridLayout/gridTokens.d.ts.map +1 -0
- package/dist/components/GridLayout/gridTokens.js +91 -0
- package/dist/components/Icon/Icon.d.ts +11 -0
- package/dist/components/Icon/Icon.d.ts.map +1 -0
- package/dist/components/Icon/Icon.js +25 -0
- package/dist/components/Icon/icons.d.ts +21 -0
- package/dist/components/Icon/icons.d.ts.map +1 -0
- package/dist/components/Icon/icons.js +20 -0
- package/dist/components/Icon/index.d.ts +3 -0
- package/dist/components/Icon/index.d.ts.map +1 -0
- package/dist/components/Icon/index.js +1 -0
- package/dist/components/Icons/Icons.d.ts +3 -0
- package/dist/components/Icons/Icons.d.ts.map +1 -0
- package/dist/components/Icons/Icons.js +1 -0
- package/dist/components/Index/Index.d.ts +3 -0
- package/dist/components/Index/Index.d.ts.map +1 -0
- package/dist/components/Index/Index.js +114 -0
- package/dist/components/InlineNotification/InlineNotification.d.ts +3 -0
- package/dist/components/InlineNotification/InlineNotification.d.ts.map +1 -0
- package/dist/components/InlineNotification/InlineNotification.js +47 -0
- package/dist/components/Link/Link.d.ts +3 -0
- package/dist/components/Link/Link.d.ts.map +1 -0
- package/dist/components/Link/Link.js +23 -0
- package/dist/components/Modal/Modal.d.ts +3 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -0
- package/dist/components/Modal/Modal.js +27 -0
- package/dist/components/Pagination/Pagination.d.ts +3 -0
- package/dist/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.js +34 -0
- package/dist/components/Radio/Radio.d.ts +3 -0
- package/dist/components/Radio/Radio.d.ts.map +1 -0
- package/dist/components/Radio/Radio.js +13 -0
- package/dist/components/SearchInput/SearchInput.d.ts +3 -0
- package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
- package/dist/components/SearchInput/SearchInput.js +37 -0
- package/dist/components/SelectInput/SelectInput.d.ts +3 -0
- package/dist/components/SelectInput/SelectInput.d.ts.map +1 -0
- package/dist/components/SelectInput/SelectInput.js +14 -0
- package/dist/components/StructuredList/StructuredList.d.ts +3 -0
- package/dist/components/StructuredList/StructuredList.d.ts.map +1 -0
- package/dist/components/StructuredList/StructuredList.js +17 -0
- package/dist/components/Tabs/Tabs.d.ts +3 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.js +27 -0
- package/dist/components/Tag/Tag.d.ts +3 -0
- package/dist/components/Tag/Tag.d.ts.map +1 -0
- package/dist/components/Tag/Tag.js +8 -0
- package/dist/components/TextArea/TextArea.d.ts +3 -0
- package/dist/components/TextArea/TextArea.d.ts.map +1 -0
- package/dist/components/TextArea/TextArea.js +15 -0
- package/dist/components/TextInput/TextInput.d.ts +3 -0
- package/dist/components/TextInput/TextInput.d.ts.map +1 -0
- package/dist/components/TextInput/TextInput.js +20 -0
- package/dist/components/ToggleInput/ToggleInput.d.ts +3 -0
- package/dist/components/ToggleInput/ToggleInput.d.ts.map +1 -0
- package/dist/components/ToggleInput/ToggleInput.js +10 -0
- package/dist/components/Tooltip/Tooltip.d.ts +3 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.js +13 -0
- package/dist/generated/tokens.d.ts +9836 -0
- package/dist/generated/tokens.d.ts.map +1 -0
- package/dist/generated/tokens.js +9834 -0
- package/dist/governance/accordionGovernance.d.ts +3 -0
- package/dist/governance/accordionGovernance.d.ts.map +1 -0
- package/dist/governance/accordionGovernance.js +9 -0
- package/dist/governance/breadcrumbGovernance.d.ts +3 -0
- package/dist/governance/breadcrumbGovernance.d.ts.map +1 -0
- package/dist/governance/breadcrumbGovernance.js +9 -0
- package/dist/governance/buttonGovernance.d.ts +3 -0
- package/dist/governance/buttonGovernance.d.ts.map +1 -0
- package/dist/governance/buttonGovernance.js +9 -0
- package/dist/governance/cardGovernance.d.ts +3 -0
- package/dist/governance/cardGovernance.d.ts.map +1 -0
- package/dist/governance/cardGovernance.js +9 -0
- package/dist/governance/checkboxGovernance.d.ts +3 -0
- package/dist/governance/checkboxGovernance.d.ts.map +1 -0
- package/dist/governance/checkboxGovernance.js +10 -0
- package/dist/governance/containedListGovernance.d.ts +3 -0
- package/dist/governance/containedListGovernance.d.ts.map +1 -0
- package/dist/governance/containedListGovernance.js +9 -0
- package/dist/governance/dataTableGovernance.d.ts +3 -0
- package/dist/governance/dataTableGovernance.d.ts.map +1 -0
- package/dist/governance/dataTableGovernance.js +10 -0
- package/dist/governance/descriptionListGovernance.d.ts +3 -0
- package/dist/governance/descriptionListGovernance.d.ts.map +1 -0
- package/dist/governance/descriptionListGovernance.js +9 -0
- package/dist/governance/formGovernance.d.ts +3 -0
- package/dist/governance/formGovernance.d.ts.map +1 -0
- package/dist/governance/formGovernance.js +9 -0
- package/dist/governance/gridLayoutGovernance.d.ts +3 -0
- package/dist/governance/gridLayoutGovernance.d.ts.map +1 -0
- package/dist/governance/gridLayoutGovernance.js +9 -0
- package/dist/governance/indexGovernance.d.ts +3 -0
- package/dist/governance/indexGovernance.d.ts.map +1 -0
- package/dist/governance/indexGovernance.js +9 -0
- package/dist/governance/inlineNotificationGovernance.d.ts +3 -0
- package/dist/governance/inlineNotificationGovernance.d.ts.map +1 -0
- package/dist/governance/inlineNotificationGovernance.js +9 -0
- package/dist/governance/linkGovernance.d.ts +3 -0
- package/dist/governance/linkGovernance.d.ts.map +1 -0
- package/dist/governance/linkGovernance.js +9 -0
- package/dist/governance/modalGovernance.d.ts +3 -0
- package/dist/governance/modalGovernance.d.ts.map +1 -0
- package/dist/governance/modalGovernance.js +10 -0
- package/dist/governance/paginationGovernance.d.ts +3 -0
- package/dist/governance/paginationGovernance.d.ts.map +1 -0
- package/dist/governance/paginationGovernance.js +10 -0
- package/dist/governance/radioGovernance.d.ts +3 -0
- package/dist/governance/radioGovernance.d.ts.map +1 -0
- package/dist/governance/radioGovernance.js +10 -0
- package/dist/governance/searchInputGovernance.d.ts +3 -0
- package/dist/governance/searchInputGovernance.d.ts.map +1 -0
- package/dist/governance/searchInputGovernance.js +10 -0
- package/dist/governance/selectInputGovernance.d.ts +3 -0
- package/dist/governance/selectInputGovernance.d.ts.map +1 -0
- package/dist/governance/selectInputGovernance.js +10 -0
- package/dist/governance/structuredListGovernance.d.ts +3 -0
- package/dist/governance/structuredListGovernance.d.ts.map +1 -0
- package/dist/governance/structuredListGovernance.js +9 -0
- package/dist/governance/tabsGovernance.d.ts +3 -0
- package/dist/governance/tabsGovernance.d.ts.map +1 -0
- package/dist/governance/tabsGovernance.js +10 -0
- package/dist/governance/tagGovernance.d.ts +3 -0
- package/dist/governance/tagGovernance.d.ts.map +1 -0
- package/dist/governance/tagGovernance.js +10 -0
- package/dist/governance/textAreaGovernance.d.ts +3 -0
- package/dist/governance/textAreaGovernance.d.ts.map +1 -0
- package/dist/governance/textAreaGovernance.js +10 -0
- package/dist/governance/textInputGovernance.d.ts +3 -0
- package/dist/governance/textInputGovernance.d.ts.map +1 -0
- package/dist/governance/textInputGovernance.js +10 -0
- package/dist/governance/toggleInputGovernance.d.ts +3 -0
- package/dist/governance/toggleInputGovernance.d.ts.map +1 -0
- package/dist/governance/toggleInputGovernance.js +10 -0
- package/dist/governance/tooltipGovernance.d.ts +3 -0
- package/dist/governance/tooltipGovernance.d.ts.map +1 -0
- package/dist/governance/tooltipGovernance.js +10 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/styles.css +4426 -0
- package/dist/tokens/components.css +559 -0
- package/dist/tokens/primitives.css +179 -0
- package/dist/tokens/semantic.css +376 -0
- package/dist/types.d.ts +336 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import { Icon } from '../Icon/Icon';
|
|
4
|
+
function getClassName(className) {
|
|
5
|
+
return ['liquid-select-input', className].filter(Boolean).join(' ');
|
|
6
|
+
}
|
|
7
|
+
export function SelectInput({ children, className, helperText, hideLabel = false, id, label, options, placeholder, size = 'sm', tone = 'default', style, disabled, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalid, ...props }) {
|
|
8
|
+
const reactId = useId();
|
|
9
|
+
const selectId = id ?? reactId;
|
|
10
|
+
const helperId = helperText ? `${selectId}-helper` : undefined;
|
|
11
|
+
const describedBy = [ariaDescribedBy, helperId].filter(Boolean).join(' ') || undefined;
|
|
12
|
+
const resolvedTone = disabled ? 'disabled' : tone;
|
|
13
|
+
return (_jsxs("div", { className: getClassName(className), "data-size": size, "data-tone": resolvedTone, style: style, children: [label ? (_jsx("label", { className: hideLabel ? 'liquid-sr-only' : 'liquid-select-input__label', htmlFor: selectId, children: label })) : null, _jsxs("div", { className: "liquid-select-input__field", children: [_jsxs("select", { ...props, "aria-describedby": describedBy, "aria-invalid": ariaInvalid ?? (tone === 'error' ? true : undefined), className: "liquid-select-input__select", disabled: disabled, id: selectId, children: [placeholder ? (_jsx("option", { value: "", disabled: true, hidden: true, children: placeholder })) : null, options?.map((option) => (_jsx("option", { value: option.value, disabled: option.disabled, children: option.label }, option.value))), children] }), (resolvedTone === 'error' || resolvedTone === 'warning') && (_jsx("span", { "aria-hidden": "true", className: "liquid-select-input__status-icon", "data-tone": resolvedTone, children: resolvedTone === 'error' ? (_jsx(Icon, { name: "error", size: 16 })) : (_jsx(Icon, { name: "warning", size: 16 })) })), _jsx("span", { "aria-hidden": "true", className: "liquid-select-input__chevron", children: _jsx(Icon, { name: "chevron_down", size: 20 }) })] }), helperText ? (_jsx("p", { className: "liquid-select-input__helper", "data-tone": resolvedTone, id: helperId, children: helperText })) : null] }));
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StructuredList.d.ts","sourceRoot":"","sources":["../../../src/components/StructuredList/StructuredList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAiBrB,wBAAgB,cAAc,CAAC,EAC7B,SAA6B,EAC7B,SAAS,EACT,OAAO,EACP,IAAI,EACJ,KAAK,EACL,GAAG,KAAK,EACT,EAAE,mBAAmB,2CAuDrB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
function getClassName(className) {
|
|
3
|
+
return ['liquid-structured-list', className].filter(Boolean).join(' ');
|
|
4
|
+
}
|
|
5
|
+
function getVisibleCells(cells, columnCount) {
|
|
6
|
+
return cells.slice(0, columnCount);
|
|
7
|
+
}
|
|
8
|
+
function getColumnAlignment(column) {
|
|
9
|
+
return column?.align ?? 'left';
|
|
10
|
+
}
|
|
11
|
+
export function StructuredList({ ariaLabel = 'Structured list', className, columns, rows, style, ...props }) {
|
|
12
|
+
return (_jsx("section", { ...props, className: getClassName(className), style: style, children: _jsxs("div", { className: "liquid-structured-list__table", role: "table", "aria-label": ariaLabel, children: [_jsx("div", { className: "liquid-structured-list__header", role: "rowgroup", children: _jsx("div", { className: "liquid-structured-list__row", role: "row", children: columns.map((column) => (_jsx("div", { className: "liquid-structured-list__header-cell", "data-align": getColumnAlignment(column), role: "columnheader", children: column.header }, column.id))) }) }), _jsx("div", { className: "liquid-structured-list__body", role: "rowgroup", children: rows.map((row, rowIndex) => {
|
|
13
|
+
const resolvedId = row.id ?? rowIndex;
|
|
14
|
+
const visibleCells = getVisibleCells(row.cells, columns.length);
|
|
15
|
+
return (_jsx("div", { className: "liquid-structured-list__row", role: "row", children: visibleCells.map((cell, columnIndex) => (_jsx("div", { className: "liquid-structured-list__cell", "data-align": getColumnAlignment(columns[columnIndex]), role: "cell", children: cell }, `${String(resolvedId)}:${columns[columnIndex]?.id ?? columnIndex}`))) }, String(resolvedId)));
|
|
16
|
+
}) })] }) }));
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,aAAa,CAAC;AAUvD,wBAAgB,IAAI,CAAC,EACnB,WAAW,EACX,SAAS,EACT,KAAK,EACL,WAAW,EACX,WAA0B,EAC1B,KAAK,EACL,GAAG,KAAK,EACT,EAAE,SAAS,2CAyDX"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from 'react';
|
|
3
|
+
function getClassName(className) {
|
|
4
|
+
return ['liquid-tabs', className].filter(Boolean).join(' ');
|
|
5
|
+
}
|
|
6
|
+
function getFirstEnabledTab(items) {
|
|
7
|
+
return items.find((item) => !item.disabled)?.id;
|
|
8
|
+
}
|
|
9
|
+
export function Tabs({ activeTabId, className, items, onTabChange, orientation = 'horizontal', style, ...props }) {
|
|
10
|
+
const fallbackActiveId = useMemo(() => getFirstEnabledTab(items), [items]);
|
|
11
|
+
const [internalActiveId, setInternalActiveId] = useState(fallbackActiveId);
|
|
12
|
+
const resolvedActiveId = activeTabId ?? internalActiveId ?? fallbackActiveId;
|
|
13
|
+
const activateTab = (tabId) => {
|
|
14
|
+
if (activeTabId === undefined) {
|
|
15
|
+
setInternalActiveId(tabId);
|
|
16
|
+
}
|
|
17
|
+
onTabChange?.(tabId);
|
|
18
|
+
};
|
|
19
|
+
return (_jsx("div", { ...props, className: getClassName(className), "data-orientation": orientation, style: style, children: _jsx("div", { className: "liquid-tabs__tablist", role: "tablist", "aria-orientation": orientation === 'vertical' ? 'vertical' : 'horizontal', children: items.map((item) => {
|
|
20
|
+
const isSelected = item.id === resolvedActiveId;
|
|
21
|
+
return (_jsxs("button", { "aria-selected": isSelected, className: "liquid-tabs__tab", "data-selected": isSelected || undefined, disabled: item.disabled, onClick: () => {
|
|
22
|
+
if (!item.disabled) {
|
|
23
|
+
activateTab(item.id);
|
|
24
|
+
}
|
|
25
|
+
}, role: "tab", tabIndex: isSelected ? 0 : -1, type: "button", children: [_jsx("span", { className: "liquid-tabs__label", children: item.label }), isSelected ? _jsx("span", { className: "liquid-tabs__indicator" }) : null] }, item.id));
|
|
26
|
+
}) }) }));
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../src/components/Tag/Tag.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,SAAS,EACT,KAAiB,EACjB,KAAmB,EACnB,IAAW,EACX,KAAK,EACL,GAAG,KAAK,EACT,EAAE,QAAQ,2CAcV"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
function getClassName(className) {
|
|
3
|
+
return ['liquid-tag', className].filter(Boolean).join(' ');
|
|
4
|
+
}
|
|
5
|
+
export function Tag({ children, className, color = 'neutral', label = 'Tag label', size = 'md', style, ...props }) {
|
|
6
|
+
const content = children ?? label;
|
|
7
|
+
return (_jsx("span", { ...props, className: getClassName(className), "data-color": color, "data-size": size, style: style, children: _jsx("span", { className: "liquid-tag__label", children: content }) }));
|
|
8
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { TextAreaProps } from '../../types';
|
|
2
|
+
export declare function TextArea({ className, helperText, hideLabel, id, label, size, tone, rows, style, disabled, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalid, ...props }: TextAreaProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=TextArea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../../src/components/TextArea/TextArea.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,UAAU,EACV,SAAiB,EACjB,EAAE,EACF,KAAK,EACL,IAAW,EACX,IAAgB,EAChB,IAAQ,EACR,KAAK,EACL,QAAQ,EACR,kBAAkB,EAAE,eAAe,EACnC,cAAc,EAAE,WAAW,EAC3B,GAAG,KAAK,EACT,EAAE,aAAa,2CAgEf"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import { Icon } from '../Icon/Icon';
|
|
4
|
+
function getClassName(className) {
|
|
5
|
+
return ['liquid-text-area', className].filter(Boolean).join(' ');
|
|
6
|
+
}
|
|
7
|
+
export function TextArea({ className, helperText, hideLabel = false, id, label, size = 'md', tone = 'default', rows = 4, style, disabled, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalid, ...props }) {
|
|
8
|
+
const reactId = useId();
|
|
9
|
+
const textAreaId = id ?? reactId;
|
|
10
|
+
const helperId = helperText ? `${textAreaId}-helper` : undefined;
|
|
11
|
+
const describedBy = [ariaDescribedBy, helperId].filter(Boolean).join(' ') || undefined;
|
|
12
|
+
const resolvedTone = disabled ? 'disabled' : tone;
|
|
13
|
+
const isInvalid = ariaInvalid ?? (resolvedTone === 'error' ? true : undefined);
|
|
14
|
+
return (_jsxs("div", { className: getClassName(className), "data-size": size, "data-tone": resolvedTone, style: style, children: [label && !hideLabel ? (_jsx("label", { className: "liquid-text-area__label", htmlFor: textAreaId, children: label })) : null, _jsxs("div", { className: "liquid-text-area__field", children: [_jsx("textarea", { ...props, "aria-describedby": describedBy, "aria-invalid": isInvalid, className: "liquid-text-area__textarea", disabled: disabled, id: textAreaId, rows: rows }), resolvedTone === 'error' ? (_jsx("span", { "aria-hidden": "true", className: "liquid-text-area__status-icon", "data-tone": "error", children: _jsx(Icon, { name: "error", size: 16 }) })) : resolvedTone === 'warning' ? (_jsx("span", { "aria-hidden": "true", className: "liquid-text-area__status-icon", "data-tone": "warning", children: _jsx(Icon, { name: "warning", size: 16 }) })) : null] }), helperText ? (_jsx("p", { className: "liquid-text-area__helper", "data-tone": resolvedTone, id: helperId, children: helperText })) : null] }));
|
|
15
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { TextInputProps } from '../../types';
|
|
2
|
+
export declare function TextInput({ className, errorText, helperText, hideLabel, id, label, leadingIcon, size, tone, warningText, style, disabled, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalid, ...props }: TextInputProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=TextInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../src/components/TextInput/TextInput.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAiB,EACjB,EAAE,EACF,KAAK,EACL,WAAW,EACX,IAAW,EACX,IAAgB,EAChB,WAAW,EACX,KAAK,EACL,QAAQ,EACR,kBAAkB,EAAE,eAAe,EACnC,cAAc,EAAE,WAAW,EAC3B,GAAG,KAAK,EACT,EAAE,cAAc,2CA2EhB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import { Icon } from '../Icon/Icon';
|
|
4
|
+
function getClassName(className) {
|
|
5
|
+
return ['liquid-text-input', className].filter(Boolean).join(' ');
|
|
6
|
+
}
|
|
7
|
+
export function TextInput({ className, errorText, helperText, hideLabel = false, id, label, leadingIcon, size = 'md', tone = 'default', warningText, style, disabled, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalid, ...props }) {
|
|
8
|
+
const reactId = useId();
|
|
9
|
+
const inputId = id ?? reactId;
|
|
10
|
+
const resolvedTone = disabled ? 'disabled' : tone;
|
|
11
|
+
const helperMessage = resolvedTone === 'error'
|
|
12
|
+
? (errorText ?? helperText)
|
|
13
|
+
: resolvedTone === 'warning'
|
|
14
|
+
? (warningText ?? helperText)
|
|
15
|
+
: helperText;
|
|
16
|
+
const helperId = helperMessage ? `${inputId}-helper` : undefined;
|
|
17
|
+
const describedBy = [ariaDescribedBy, helperId].filter(Boolean).join(' ') || undefined;
|
|
18
|
+
const isInvalid = ariaInvalid ?? (resolvedTone === 'error' ? true : undefined);
|
|
19
|
+
return (_jsxs("div", { className: getClassName(className), "data-size": size, "data-tone": resolvedTone, style: style, children: [label && !hideLabel ? (_jsx("label", { className: "liquid-text-input__label", htmlFor: inputId, children: label })) : null, _jsxs("div", { className: "liquid-text-input__field", children: [leadingIcon ? (_jsx("span", { "aria-hidden": "true", className: "liquid-text-input__leading-icon", children: leadingIcon })) : null, _jsx("input", { ...props, "aria-describedby": describedBy, "aria-invalid": isInvalid, className: "liquid-text-input__input", disabled: disabled, id: inputId }), resolvedTone === 'error' ? (_jsx("span", { "aria-hidden": "true", className: "liquid-text-input__status-icon", "data-tone": "error", children: _jsx(Icon, { name: "error", size: 16 }) })) : resolvedTone === 'warning' ? (_jsx("span", { "aria-hidden": "true", className: "liquid-text-input__status-icon", "data-tone": "warning", children: _jsx(Icon, { name: "warning", size: 16 }) })) : null] }), helperMessage ? (_jsx("p", { className: "liquid-text-input__helper", "data-tone": resolvedTone, id: helperId, children: helperMessage })) : null] }));
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToggleInput.d.ts","sourceRoot":"","sources":["../../../src/components/ToggleInput/ToggleInput.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMpD,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,EAAE,EACF,KAAK,EACL,SAAiB,EACjB,IAAW,EACX,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,gBAAgB,2CAkClB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
function getClassName(className) {
|
|
4
|
+
return ['liquid-toggle-input', className].filter(Boolean).join(' ');
|
|
5
|
+
}
|
|
6
|
+
export function ToggleInput({ className, id, label, hideLabel = false, size = 'md', style, disabled, ...props }) {
|
|
7
|
+
const reactId = useId();
|
|
8
|
+
const inputId = id ?? reactId;
|
|
9
|
+
return (_jsxs("label", { className: getClassName(className), "data-size": size, style: style, "data-disabled": disabled || undefined, children: [_jsx("input", { ...props, className: "liquid-toggle-input__input", disabled: disabled, id: inputId, type: "checkbox" }), _jsx("span", { className: "liquid-toggle-input__track", "aria-hidden": "true", children: _jsx("span", { className: "liquid-toggle-input__thumb" }) }), label ? (_jsx("span", { className: hideLabel ? 'liquid-sr-only' : 'liquid-toggle-input__label-text', children: label })) : null] }));
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqBhD,wBAAgB,OAAO,CAAC,EACtB,SAAoB,EACpB,QAAQ,EACR,SAAS,EACT,OAAwB,EACxB,EAAE,EACF,QAAgB,EAChB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,YAAY,2CA0Bd"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
function getClassName(className) {
|
|
4
|
+
return ['liquid-tooltip', className].filter(Boolean).join(' ');
|
|
5
|
+
}
|
|
6
|
+
function TooltipCaretSvg() {
|
|
7
|
+
return (_jsx("svg", { "aria-hidden": "true", className: "liquid-tooltip__caret-svg", viewBox: "0 0 12 6", width: "12", height: "6", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M0 0H12L6 6L0 0Z", fill: "currentColor" }) }));
|
|
8
|
+
}
|
|
9
|
+
export function Tooltip({ alignment = 'center', children, className, content = 'Tooltip text', id, position = 'top', style, ...props }) {
|
|
10
|
+
const generatedId = useId();
|
|
11
|
+
const tooltipId = id ?? generatedId;
|
|
12
|
+
return (_jsxs("span", { ...props, className: getClassName(className), "data-alignment": alignment, "data-position": position, style: style, children: [_jsx("span", { className: "liquid-tooltip__trigger", "aria-describedby": tooltipId, children: children }), _jsxs("span", { className: "liquid-tooltip__popover", id: tooltipId, role: "tooltip", children: [_jsx("span", { className: "liquid-tooltip__body", children: _jsx("span", { className: "liquid-tooltip__text", children: content }) }), _jsx("span", { className: "liquid-tooltip__caret", "aria-hidden": "true", children: _jsx(TooltipCaretSvg, {}) })] })] }));
|
|
13
|
+
}
|