@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.
Files changed (180) hide show
  1. package/README.md +64 -0
  2. package/dist/components/Accordion/Accordion.d.ts +3 -0
  3. package/dist/components/Accordion/Accordion.d.ts.map +1 -0
  4. package/dist/components/Accordion/Accordion.js +46 -0
  5. package/dist/components/Breadcrumb/Breadcrumb.d.ts +3 -0
  6. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  7. package/dist/components/Breadcrumb/Breadcrumb.js +34 -0
  8. package/dist/components/Button/Button.d.ts +3 -0
  9. package/dist/components/Button/Button.d.ts.map +1 -0
  10. package/dist/components/Button/Button.js +7 -0
  11. package/dist/components/Card/Card.d.ts +3 -0
  12. package/dist/components/Card/Card.d.ts.map +1 -0
  13. package/dist/components/Card/Card.js +19 -0
  14. package/dist/components/Checkbox/Checkbox.d.ts +3 -0
  15. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  16. package/dist/components/Checkbox/Checkbox.js +17 -0
  17. package/dist/components/ContainedList/ContainedList.d.ts +3 -0
  18. package/dist/components/ContainedList/ContainedList.d.ts.map +1 -0
  19. package/dist/components/ContainedList/ContainedList.js +26 -0
  20. package/dist/components/DataTable/DataTable.d.ts +3 -0
  21. package/dist/components/DataTable/DataTable.d.ts.map +1 -0
  22. package/dist/components/DataTable/DataTable.js +20 -0
  23. package/dist/components/DescriptionList/DescriptionList.d.ts +3 -0
  24. package/dist/components/DescriptionList/DescriptionList.d.ts.map +1 -0
  25. package/dist/components/DescriptionList/DescriptionList.js +14 -0
  26. package/dist/components/Form/Form.d.ts +5 -0
  27. package/dist/components/Form/Form.d.ts.map +1 -0
  28. package/dist/components/Form/Form.js +32 -0
  29. package/dist/components/GridLayout/GridLayout.d.ts +4 -0
  30. package/dist/components/GridLayout/GridLayout.d.ts.map +1 -0
  31. package/dist/components/GridLayout/GridLayout.js +138 -0
  32. package/dist/components/GridLayout/gridTokens.d.ts +18 -0
  33. package/dist/components/GridLayout/gridTokens.d.ts.map +1 -0
  34. package/dist/components/GridLayout/gridTokens.js +91 -0
  35. package/dist/components/Icon/Icon.d.ts +11 -0
  36. package/dist/components/Icon/Icon.d.ts.map +1 -0
  37. package/dist/components/Icon/Icon.js +25 -0
  38. package/dist/components/Icon/icons.d.ts +21 -0
  39. package/dist/components/Icon/icons.d.ts.map +1 -0
  40. package/dist/components/Icon/icons.js +20 -0
  41. package/dist/components/Icon/index.d.ts +3 -0
  42. package/dist/components/Icon/index.d.ts.map +1 -0
  43. package/dist/components/Icon/index.js +1 -0
  44. package/dist/components/Icons/Icons.d.ts +3 -0
  45. package/dist/components/Icons/Icons.d.ts.map +1 -0
  46. package/dist/components/Icons/Icons.js +1 -0
  47. package/dist/components/Index/Index.d.ts +3 -0
  48. package/dist/components/Index/Index.d.ts.map +1 -0
  49. package/dist/components/Index/Index.js +114 -0
  50. package/dist/components/InlineNotification/InlineNotification.d.ts +3 -0
  51. package/dist/components/InlineNotification/InlineNotification.d.ts.map +1 -0
  52. package/dist/components/InlineNotification/InlineNotification.js +47 -0
  53. package/dist/components/Link/Link.d.ts +3 -0
  54. package/dist/components/Link/Link.d.ts.map +1 -0
  55. package/dist/components/Link/Link.js +23 -0
  56. package/dist/components/Modal/Modal.d.ts +3 -0
  57. package/dist/components/Modal/Modal.d.ts.map +1 -0
  58. package/dist/components/Modal/Modal.js +27 -0
  59. package/dist/components/Pagination/Pagination.d.ts +3 -0
  60. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  61. package/dist/components/Pagination/Pagination.js +34 -0
  62. package/dist/components/Radio/Radio.d.ts +3 -0
  63. package/dist/components/Radio/Radio.d.ts.map +1 -0
  64. package/dist/components/Radio/Radio.js +13 -0
  65. package/dist/components/SearchInput/SearchInput.d.ts +3 -0
  66. package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
  67. package/dist/components/SearchInput/SearchInput.js +37 -0
  68. package/dist/components/SelectInput/SelectInput.d.ts +3 -0
  69. package/dist/components/SelectInput/SelectInput.d.ts.map +1 -0
  70. package/dist/components/SelectInput/SelectInput.js +14 -0
  71. package/dist/components/StructuredList/StructuredList.d.ts +3 -0
  72. package/dist/components/StructuredList/StructuredList.d.ts.map +1 -0
  73. package/dist/components/StructuredList/StructuredList.js +17 -0
  74. package/dist/components/Tabs/Tabs.d.ts +3 -0
  75. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  76. package/dist/components/Tabs/Tabs.js +27 -0
  77. package/dist/components/Tag/Tag.d.ts +3 -0
  78. package/dist/components/Tag/Tag.d.ts.map +1 -0
  79. package/dist/components/Tag/Tag.js +8 -0
  80. package/dist/components/TextArea/TextArea.d.ts +3 -0
  81. package/dist/components/TextArea/TextArea.d.ts.map +1 -0
  82. package/dist/components/TextArea/TextArea.js +15 -0
  83. package/dist/components/TextInput/TextInput.d.ts +3 -0
  84. package/dist/components/TextInput/TextInput.d.ts.map +1 -0
  85. package/dist/components/TextInput/TextInput.js +20 -0
  86. package/dist/components/ToggleInput/ToggleInput.d.ts +3 -0
  87. package/dist/components/ToggleInput/ToggleInput.d.ts.map +1 -0
  88. package/dist/components/ToggleInput/ToggleInput.js +10 -0
  89. package/dist/components/Tooltip/Tooltip.d.ts +3 -0
  90. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  91. package/dist/components/Tooltip/Tooltip.js +13 -0
  92. package/dist/generated/tokens.d.ts +9836 -0
  93. package/dist/generated/tokens.d.ts.map +1 -0
  94. package/dist/generated/tokens.js +9834 -0
  95. package/dist/governance/accordionGovernance.d.ts +3 -0
  96. package/dist/governance/accordionGovernance.d.ts.map +1 -0
  97. package/dist/governance/accordionGovernance.js +9 -0
  98. package/dist/governance/breadcrumbGovernance.d.ts +3 -0
  99. package/dist/governance/breadcrumbGovernance.d.ts.map +1 -0
  100. package/dist/governance/breadcrumbGovernance.js +9 -0
  101. package/dist/governance/buttonGovernance.d.ts +3 -0
  102. package/dist/governance/buttonGovernance.d.ts.map +1 -0
  103. package/dist/governance/buttonGovernance.js +9 -0
  104. package/dist/governance/cardGovernance.d.ts +3 -0
  105. package/dist/governance/cardGovernance.d.ts.map +1 -0
  106. package/dist/governance/cardGovernance.js +9 -0
  107. package/dist/governance/checkboxGovernance.d.ts +3 -0
  108. package/dist/governance/checkboxGovernance.d.ts.map +1 -0
  109. package/dist/governance/checkboxGovernance.js +10 -0
  110. package/dist/governance/containedListGovernance.d.ts +3 -0
  111. package/dist/governance/containedListGovernance.d.ts.map +1 -0
  112. package/dist/governance/containedListGovernance.js +9 -0
  113. package/dist/governance/dataTableGovernance.d.ts +3 -0
  114. package/dist/governance/dataTableGovernance.d.ts.map +1 -0
  115. package/dist/governance/dataTableGovernance.js +10 -0
  116. package/dist/governance/descriptionListGovernance.d.ts +3 -0
  117. package/dist/governance/descriptionListGovernance.d.ts.map +1 -0
  118. package/dist/governance/descriptionListGovernance.js +9 -0
  119. package/dist/governance/formGovernance.d.ts +3 -0
  120. package/dist/governance/formGovernance.d.ts.map +1 -0
  121. package/dist/governance/formGovernance.js +9 -0
  122. package/dist/governance/gridLayoutGovernance.d.ts +3 -0
  123. package/dist/governance/gridLayoutGovernance.d.ts.map +1 -0
  124. package/dist/governance/gridLayoutGovernance.js +9 -0
  125. package/dist/governance/indexGovernance.d.ts +3 -0
  126. package/dist/governance/indexGovernance.d.ts.map +1 -0
  127. package/dist/governance/indexGovernance.js +9 -0
  128. package/dist/governance/inlineNotificationGovernance.d.ts +3 -0
  129. package/dist/governance/inlineNotificationGovernance.d.ts.map +1 -0
  130. package/dist/governance/inlineNotificationGovernance.js +9 -0
  131. package/dist/governance/linkGovernance.d.ts +3 -0
  132. package/dist/governance/linkGovernance.d.ts.map +1 -0
  133. package/dist/governance/linkGovernance.js +9 -0
  134. package/dist/governance/modalGovernance.d.ts +3 -0
  135. package/dist/governance/modalGovernance.d.ts.map +1 -0
  136. package/dist/governance/modalGovernance.js +10 -0
  137. package/dist/governance/paginationGovernance.d.ts +3 -0
  138. package/dist/governance/paginationGovernance.d.ts.map +1 -0
  139. package/dist/governance/paginationGovernance.js +10 -0
  140. package/dist/governance/radioGovernance.d.ts +3 -0
  141. package/dist/governance/radioGovernance.d.ts.map +1 -0
  142. package/dist/governance/radioGovernance.js +10 -0
  143. package/dist/governance/searchInputGovernance.d.ts +3 -0
  144. package/dist/governance/searchInputGovernance.d.ts.map +1 -0
  145. package/dist/governance/searchInputGovernance.js +10 -0
  146. package/dist/governance/selectInputGovernance.d.ts +3 -0
  147. package/dist/governance/selectInputGovernance.d.ts.map +1 -0
  148. package/dist/governance/selectInputGovernance.js +10 -0
  149. package/dist/governance/structuredListGovernance.d.ts +3 -0
  150. package/dist/governance/structuredListGovernance.d.ts.map +1 -0
  151. package/dist/governance/structuredListGovernance.js +9 -0
  152. package/dist/governance/tabsGovernance.d.ts +3 -0
  153. package/dist/governance/tabsGovernance.d.ts.map +1 -0
  154. package/dist/governance/tabsGovernance.js +10 -0
  155. package/dist/governance/tagGovernance.d.ts +3 -0
  156. package/dist/governance/tagGovernance.d.ts.map +1 -0
  157. package/dist/governance/tagGovernance.js +10 -0
  158. package/dist/governance/textAreaGovernance.d.ts +3 -0
  159. package/dist/governance/textAreaGovernance.d.ts.map +1 -0
  160. package/dist/governance/textAreaGovernance.js +10 -0
  161. package/dist/governance/textInputGovernance.d.ts +3 -0
  162. package/dist/governance/textInputGovernance.d.ts.map +1 -0
  163. package/dist/governance/textInputGovernance.js +10 -0
  164. package/dist/governance/toggleInputGovernance.d.ts +3 -0
  165. package/dist/governance/toggleInputGovernance.d.ts.map +1 -0
  166. package/dist/governance/toggleInputGovernance.js +10 -0
  167. package/dist/governance/tooltipGovernance.d.ts +3 -0
  168. package/dist/governance/tooltipGovernance.d.ts.map +1 -0
  169. package/dist/governance/tooltipGovernance.js +10 -0
  170. package/dist/index.d.ts +56 -0
  171. package/dist/index.d.ts.map +1 -0
  172. package/dist/index.js +52 -0
  173. package/dist/styles.css +4426 -0
  174. package/dist/tokens/components.css +559 -0
  175. package/dist/tokens/primitives.css +179 -0
  176. package/dist/tokens/semantic.css +376 -0
  177. package/dist/types.d.ts +336 -0
  178. package/dist/types.d.ts.map +1 -0
  179. package/dist/types.js +1 -0
  180. 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,3 @@
1
+ import type { StructuredListProps } from '../../types';
2
+ export declare function StructuredList({ ariaLabel, className, columns, rows, style, ...props }: StructuredListProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=StructuredList.d.ts.map
@@ -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,3 @@
1
+ import type { TabsProps } from '../../types';
2
+ export declare function Tabs({ activeTabId, className, items, onTabChange, orientation, style, ...props }: TabsProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=Tabs.d.ts.map
@@ -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,3 @@
1
+ import type { TagProps } from '../../types';
2
+ export declare function Tag({ children, className, color, label, size, style, ...props }: TagProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=Tag.d.ts.map
@@ -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,3 @@
1
+ import type { ToggleInputProps } from '../../types';
2
+ export declare function ToggleInput({ className, id, label, hideLabel, size, style, disabled, ...props }: ToggleInputProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=ToggleInput.d.ts.map
@@ -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,3 @@
1
+ import type { TooltipProps } from '../../types';
2
+ export declare function Tooltip({ alignment, children, className, content, id, position, style, ...props }: TooltipProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=Tooltip.d.ts.map
@@ -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
+ }