aidos-ui 3.0.0

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 (339) hide show
  1. package/.prettierrc +4 -0
  2. package/LICENSE +21 -0
  3. package/README.md +55 -0
  4. package/dist/Badge.d.ts +7 -0
  5. package/dist/Badge.js +22 -0
  6. package/dist/Badge.js.map +1 -0
  7. package/dist/BaseButton.d.ts +13 -0
  8. package/dist/BaseButton.js +22 -0
  9. package/dist/BaseButton.js.map +1 -0
  10. package/dist/BaseInput.d.ts +15 -0
  11. package/dist/BaseInput.js +14 -0
  12. package/dist/BaseInput.js.map +1 -0
  13. package/dist/BaseLink.d.ts +17 -0
  14. package/dist/BaseLink.js +28 -0
  15. package/dist/BaseLink.js.map +1 -0
  16. package/dist/BaseList.d.ts +6 -0
  17. package/dist/BaseList.js +14 -0
  18. package/dist/BaseList.js.map +1 -0
  19. package/dist/BaseListAddOn.d.ts +5 -0
  20. package/dist/BaseListAddOn.js +7 -0
  21. package/dist/BaseListAddOn.js.map +1 -0
  22. package/dist/BaseListItem.d.ts +27 -0
  23. package/dist/BaseListItem.js +26 -0
  24. package/dist/BaseListItem.js.map +1 -0
  25. package/dist/BaseView.d.ts +12 -0
  26. package/dist/BaseView.js +26 -0
  27. package/dist/BaseView.js.map +1 -0
  28. package/dist/Box.d.ts +5 -0
  29. package/dist/Box.js +6 -0
  30. package/dist/Box.js.map +1 -0
  31. package/dist/Button.d.ts +20 -0
  32. package/dist/Button.js +20 -0
  33. package/dist/Button.js.map +1 -0
  34. package/dist/Calendar.d.ts +18 -0
  35. package/dist/Calendar.js +57 -0
  36. package/dist/Calendar.js.map +1 -0
  37. package/dist/Card.d.ts +4 -0
  38. package/dist/Card.js +12 -0
  39. package/dist/Card.js.map +1 -0
  40. package/dist/Checkbox.d.ts +12 -0
  41. package/dist/Checkbox.js +32 -0
  42. package/dist/Checkbox.js.map +1 -0
  43. package/dist/Circle.d.ts +6 -0
  44. package/dist/Circle.js +12 -0
  45. package/dist/Circle.js.map +1 -0
  46. package/dist/Column.d.ts +6 -0
  47. package/dist/Column.js +7 -0
  48. package/dist/Column.js.map +1 -0
  49. package/dist/DarkMode.d.ts +13 -0
  50. package/dist/DarkMode.js +61 -0
  51. package/dist/DarkMode.js.map +1 -0
  52. package/dist/DateInput.d.ts +13 -0
  53. package/dist/DateInput.js +29 -0
  54. package/dist/DateInput.js.map +1 -0
  55. package/dist/DatePicker.d.ts +12 -0
  56. package/dist/DatePicker.js +34 -0
  57. package/dist/DatePicker.js.map +1 -0
  58. package/dist/DatetimeInput.d.ts +13 -0
  59. package/dist/DatetimeInput.js +31 -0
  60. package/dist/DatetimeInput.js.map +1 -0
  61. package/dist/DesignBook.d.ts +2 -0
  62. package/dist/DesignBook.js +55 -0
  63. package/dist/DesignBook.js.map +1 -0
  64. package/dist/Dialog.d.ts +17 -0
  65. package/dist/Dialog.js +86 -0
  66. package/dist/Dialog.js.map +1 -0
  67. package/dist/Dropdown.d.ts +10 -0
  68. package/dist/Dropdown.js +64 -0
  69. package/dist/Dropdown.js.map +1 -0
  70. package/dist/Emitter.d.ts +6 -0
  71. package/dist/Emitter.js +19 -0
  72. package/dist/Emitter.js.map +1 -0
  73. package/dist/FlexLayout.d.ts +11 -0
  74. package/dist/FlexLayout.js +18 -0
  75. package/dist/FlexLayout.js.map +1 -0
  76. package/dist/Icon.d.ts +12 -0
  77. package/dist/Icon.js +69 -0
  78. package/dist/Icon.js.map +1 -0
  79. package/dist/IconButton.d.ts +9 -0
  80. package/dist/IconButton.js +31 -0
  81. package/dist/IconButton.js.map +1 -0
  82. package/dist/IconLink.d.ts +9 -0
  83. package/dist/IconLink.js +31 -0
  84. package/dist/IconLink.js.map +1 -0
  85. package/dist/IconType.d.ts +1 -0
  86. package/dist/IconType.js +2 -0
  87. package/dist/IconType.js.map +1 -0
  88. package/dist/Interactable.d.ts +48 -0
  89. package/dist/Interactable.js +131 -0
  90. package/dist/Interactable.js.map +1 -0
  91. package/dist/Link.d.ts +20 -0
  92. package/dist/Link.js +22 -0
  93. package/dist/Link.js.map +1 -0
  94. package/dist/List.d.ts +11 -0
  95. package/dist/List.js +17 -0
  96. package/dist/List.js.map +1 -0
  97. package/dist/ListButtonItem.d.ts +15 -0
  98. package/dist/ListButtonItem.js +9 -0
  99. package/dist/ListButtonItem.js.map +1 -0
  100. package/dist/ListDivider.d.ts +2 -0
  101. package/dist/ListDivider.js +12 -0
  102. package/dist/ListDivider.js.map +1 -0
  103. package/dist/ListHeaderItem.d.ts +11 -0
  104. package/dist/ListHeaderItem.js +13 -0
  105. package/dist/ListHeaderItem.js.map +1 -0
  106. package/dist/ListItem.d.ts +10 -0
  107. package/dist/ListItem.js +7 -0
  108. package/dist/ListItem.js.map +1 -0
  109. package/dist/ListLinkItem.d.ts +17 -0
  110. package/dist/ListLinkItem.js +9 -0
  111. package/dist/ListLinkItem.js.map +1 -0
  112. package/dist/ListSpacer.d.ts +2 -0
  113. package/dist/ListSpacer.js +13 -0
  114. package/dist/ListSpacer.js.map +1 -0
  115. package/dist/OnVisible.d.ts +5 -0
  116. package/dist/OnVisible.js +28 -0
  117. package/dist/OnVisible.js.map +1 -0
  118. package/dist/Popover.d.ts +21 -0
  119. package/dist/Popover.js +88 -0
  120. package/dist/Popover.js.map +1 -0
  121. package/dist/ProgressBar.d.ts +8 -0
  122. package/dist/ProgressBar.js +42 -0
  123. package/dist/ProgressBar.js.map +1 -0
  124. package/dist/ProgressCircle.d.ts +6 -0
  125. package/dist/ProgressCircle.js +12 -0
  126. package/dist/ProgressCircle.js.map +1 -0
  127. package/dist/Providers.d.ts +9 -0
  128. package/dist/Providers.js +16 -0
  129. package/dist/Providers.js.map +1 -0
  130. package/dist/RangeInput.d.ts +14 -0
  131. package/dist/RangeInput.js +32 -0
  132. package/dist/RangeInput.js.map +1 -0
  133. package/dist/ResultOrError.d.ts +13 -0
  134. package/dist/ResultOrError.js +7 -0
  135. package/dist/ResultOrError.js.map +1 -0
  136. package/dist/RootView.d.ts +5 -0
  137. package/dist/RootView.js +35 -0
  138. package/dist/RootView.js.map +1 -0
  139. package/dist/Router.d.ts +2 -0
  140. package/dist/Router.js +37 -0
  141. package/dist/Router.js.map +1 -0
  142. package/dist/RouterState.d.ts +38 -0
  143. package/dist/RouterState.js +111 -0
  144. package/dist/RouterState.js.map +1 -0
  145. package/dist/Row.d.ts +6 -0
  146. package/dist/Row.js +7 -0
  147. package/dist/Row.js.map +1 -0
  148. package/dist/StackContext.d.ts +8 -0
  149. package/dist/StackContext.js +25 -0
  150. package/dist/StackContext.js.map +1 -0
  151. package/dist/StaticCheckbox.d.ts +17 -0
  152. package/dist/StaticCheckbox.js +48 -0
  153. package/dist/StaticCheckbox.js.map +1 -0
  154. package/dist/Storage.d.ts +12 -0
  155. package/dist/Storage.js +148 -0
  156. package/dist/Storage.js.map +1 -0
  157. package/dist/Stream.d.ts +9 -0
  158. package/dist/Stream.js +36 -0
  159. package/dist/Stream.js.map +1 -0
  160. package/dist/Sublist.d.ts +12 -0
  161. package/dist/Sublist.js +18 -0
  162. package/dist/Sublist.js.map +1 -0
  163. package/dist/SubmitIconInput.d.ts +9 -0
  164. package/dist/SubmitIconInput.js +25 -0
  165. package/dist/SubmitIconInput.js.map +1 -0
  166. package/dist/Tabs.d.ts +20 -0
  167. package/dist/Tabs.js +35 -0
  168. package/dist/Tabs.js.map +1 -0
  169. package/dist/Text.d.ts +25 -0
  170. package/dist/Text.js +50 -0
  171. package/dist/Text.js.map +1 -0
  172. package/dist/TextArea.d.ts +10 -0
  173. package/dist/TextArea.js +22 -0
  174. package/dist/TextArea.js.map +1 -0
  175. package/dist/TextInput.d.ts +14 -0
  176. package/dist/TextInput.js +52 -0
  177. package/dist/TextInput.js.map +1 -0
  178. package/dist/TextInputWithState.d.ts +10 -0
  179. package/dist/TextInputWithState.js +14 -0
  180. package/dist/TextInputWithState.js.map +1 -0
  181. package/dist/TextPairing.d.ts +21 -0
  182. package/dist/TextPairing.js +26 -0
  183. package/dist/TextPairing.js.map +1 -0
  184. package/dist/TimeInput.d.ts +15 -0
  185. package/dist/TimeInput.js +58 -0
  186. package/dist/TimeInput.js.map +1 -0
  187. package/dist/Tooltip.d.ts +11 -0
  188. package/dist/Tooltip.js +72 -0
  189. package/dist/Tooltip.js.map +1 -0
  190. package/dist/aria.d.ts +8 -0
  191. package/dist/aria.js +42 -0
  192. package/dist/aria.js.map +1 -0
  193. package/dist/guid.d.ts +1 -0
  194. package/dist/guid.js +7 -0
  195. package/dist/guid.js.map +1 -0
  196. package/dist/hash.d.ts +1 -0
  197. package/dist/hash.js +20 -0
  198. package/dist/hash.js.map +1 -0
  199. package/dist/index.d.ts +65 -0
  200. package/dist/index.js +66 -0
  201. package/dist/index.js.map +1 -0
  202. package/dist/jss.d.ts +110 -0
  203. package/dist/jss.js +438 -0
  204. package/dist/jss.js.map +1 -0
  205. package/dist/numberToBase.d.ts +1 -0
  206. package/dist/numberToBase.js +44 -0
  207. package/dist/numberToBase.js.map +1 -0
  208. package/dist/stateMachineContextFactory.d.ts +36 -0
  209. package/dist/stateMachineContextFactory.js +48 -0
  210. package/dist/stateMachineContextFactory.js.map +1 -0
  211. package/dist/useCookie.d.ts +9 -0
  212. package/dist/useCookie.js +65 -0
  213. package/dist/useCookie.js.map +1 -0
  214. package/dist/useKeyboard.d.ts +8 -0
  215. package/dist/useKeyboard.js +26 -0
  216. package/dist/useKeyboard.js.map +1 -0
  217. package/dist/useNavigation.d.ts +5 -0
  218. package/dist/useNavigation.js +79 -0
  219. package/dist/useNavigation.js.map +1 -0
  220. package/dist/usePromise.d.ts +1 -0
  221. package/dist/usePromise.js +12 -0
  222. package/dist/usePromise.js.map +1 -0
  223. package/dist/useRefEffect.d.ts +1 -0
  224. package/dist/useRefEffect.js +15 -0
  225. package/dist/useRefEffect.js.map +1 -0
  226. package/next-env.d.ts +5 -0
  227. package/next.config.js +21 -0
  228. package/package.json +40 -0
  229. package/scripts/publish.js +27 -0
  230. package/src/Badge.tsx +36 -0
  231. package/src/BaseButton.tsx +58 -0
  232. package/src/BaseInput.tsx +57 -0
  233. package/src/BaseLink.tsx +77 -0
  234. package/src/BaseList.tsx +29 -0
  235. package/src/BaseListAddOn.tsx +10 -0
  236. package/src/BaseListItem.tsx +117 -0
  237. package/src/BaseView.tsx +57 -0
  238. package/src/Box.tsx +20 -0
  239. package/src/Button.tsx +84 -0
  240. package/src/Calendar.tsx +125 -0
  241. package/src/Card.tsx +17 -0
  242. package/src/Checkbox.tsx +63 -0
  243. package/src/Circle.tsx +24 -0
  244. package/src/Column.tsx +12 -0
  245. package/src/DarkMode.tsx +99 -0
  246. package/src/DateInput.tsx +63 -0
  247. package/src/DatePicker.tsx +67 -0
  248. package/src/DatetimeInput.tsx +71 -0
  249. package/src/DesignBook.tsx +697 -0
  250. package/src/Dialog.tsx +144 -0
  251. package/src/Dropdown.tsx +129 -0
  252. package/src/Emitter.ts +26 -0
  253. package/src/FlexLayout.tsx +53 -0
  254. package/src/Icon.tsx +96 -0
  255. package/src/IconButton.tsx +66 -0
  256. package/src/IconLink.tsx +58 -0
  257. package/src/IconType.ts +787 -0
  258. package/src/Interactable.tsx +159 -0
  259. package/src/Link.tsx +86 -0
  260. package/src/List.tsx +41 -0
  261. package/src/ListButtonItem.tsx +69 -0
  262. package/src/ListDivider.tsx +13 -0
  263. package/src/ListHeaderItem.tsx +45 -0
  264. package/src/ListItem.tsx +27 -0
  265. package/src/ListLinkItem.tsx +76 -0
  266. package/src/ListSpacer.tsx +14 -0
  267. package/src/OnVisible.tsx +42 -0
  268. package/src/Popover.tsx +141 -0
  269. package/src/ProgressBar.tsx +63 -0
  270. package/src/ProgressCircle.tsx +38 -0
  271. package/src/Providers.tsx +33 -0
  272. package/src/RangeInput.tsx +82 -0
  273. package/src/ResultOrError.ts +15 -0
  274. package/src/RootView.tsx +55 -0
  275. package/src/Router.tsx +62 -0
  276. package/src/RouterState.tsx +154 -0
  277. package/src/Row.tsx +12 -0
  278. package/src/StackContext.tsx +52 -0
  279. package/src/StaticCheckbox.tsx +74 -0
  280. package/src/Storage.tsx +200 -0
  281. package/src/Stream.tsx +50 -0
  282. package/src/Sublist.tsx +62 -0
  283. package/src/SubmitIconInput.tsx +45 -0
  284. package/src/Tabs.tsx +103 -0
  285. package/src/Text.tsx +102 -0
  286. package/src/TextArea.tsx +45 -0
  287. package/src/TextInput.tsx +111 -0
  288. package/src/TextInputWithState.tsx +35 -0
  289. package/src/TextPairing.tsx +115 -0
  290. package/src/TimeInput.tsx +109 -0
  291. package/src/Tooltip.tsx +108 -0
  292. package/src/aria.ts +72 -0
  293. package/src/examples/ExampleDialog.tsx +28 -0
  294. package/src/guid.ts +7 -0
  295. package/src/hash.ts +21 -0
  296. package/src/index.ts +65 -0
  297. package/src/jss.tsx +607 -0
  298. package/src/numberToBase.ts +52 -0
  299. package/src/pages/Badge.mdx +30 -0
  300. package/src/pages/Button.mdx +57 -0
  301. package/src/pages/Calendar.mdx +60 -0
  302. package/src/pages/Checkbox.mdx +56 -0
  303. package/src/pages/Dialog.mdx +32 -0
  304. package/src/pages/FlexLayout.mdx +77 -0
  305. package/src/pages/Hashing.mdx +20 -0
  306. package/src/pages/Icon.mdx +63 -0
  307. package/src/pages/IconButton.mdx +144 -0
  308. package/src/pages/Link.mdx +57 -0
  309. package/src/pages/List.mdx +292 -0
  310. package/src/pages/ListHeader.mdx +94 -0
  311. package/src/pages/Popover.mdx +101 -0
  312. package/src/pages/ProgressBar.mdx +20 -0
  313. package/src/pages/ProgressCircle.mdx +35 -0
  314. package/src/pages/RangeInput.mdx +109 -0
  315. package/src/pages/Tabs.mdx +168 -0
  316. package/src/pages/Text.mdx +133 -0
  317. package/src/pages/TextInput.mdx +110 -0
  318. package/src/pages/TextPairing.mdx +155 -0
  319. package/src/pages/TimeInput.mdx +73 -0
  320. package/src/pages/Tooltip.mdx +28 -0
  321. package/src/pages/_app.tsx +561 -0
  322. package/src/pages/_document.tsx +30 -0
  323. package/src/pages/css-in-js.mdx +127 -0
  324. package/src/pages/index.mdx +58 -0
  325. package/src/pages/navigation.mdx +56 -0
  326. package/src/pages/prism.css +3 -0
  327. package/src/pages/useCookie.mdx +15 -0
  328. package/src/pages/useKeyboard.mdx +20 -0
  329. package/src/pages/useNavigation.mdx +30 -0
  330. package/src/pages/usePromise.mdx +15 -0
  331. package/src/pages/useRefEffect.mdx +49 -0
  332. package/src/stateMachineContextFactory.tsx +111 -0
  333. package/src/useCookie.tsx +89 -0
  334. package/src/useKeyboard.tsx +43 -0
  335. package/src/useNavigation.tsx +89 -0
  336. package/src/usePromise.tsx +18 -0
  337. package/src/useRefEffect.tsx +18 -0
  338. package/tsconfig.build.json +23 -0
  339. package/tsconfig.json +23 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../src/Dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { JSStyle } from "./jss";
3
+ export declare function Dropdown<T>({ id, label, options, selection, setSelection, jsStyle, }: {
4
+ id?: string;
5
+ label: string;
6
+ options: Set<T>;
7
+ setSelection: (selection: T) => void;
8
+ selection: T;
9
+ jsStyle?: JSStyle;
10
+ }): JSX.Element;
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { BaseView } from "./BaseView";
4
+ import { guid } from "./guid";
5
+ import { Button } from "./Button";
6
+ import { Column } from "./Column";
7
+ import { useNavigation } from "./useNavigation";
8
+ import { useRefEffect } from "./useRefEffect";
9
+ import { getBackground } from "./jss";
10
+ const jsStyles = {
11
+ root: {
12
+ position: "relative",
13
+ display: "flex",
14
+ justifyContent: "center",
15
+ alignItems: "stretch",
16
+ flexGrow: 1,
17
+ },
18
+ button: {
19
+ flexGrow: 1,
20
+ },
21
+ dropdown: {
22
+ position: "absolute",
23
+ top: "100%",
24
+ left: 0,
25
+ right: 0,
26
+ borderRadius: "var(--border-radius-m)",
27
+ boxShadow: "0px 1px 2px var(--divider)",
28
+ zIndex: 1,
29
+ },
30
+ };
31
+ export function Dropdown({ id = guid(), label, options, selection, setSelection, jsStyle, }) {
32
+ const triggerRef = useRef(null);
33
+ const [expanded, setExpanded] = useState(false);
34
+ const dropdownRef = useNavigation({ autofocus: true });
35
+ const rootRef = useRefEffect((root) => {
36
+ const onKeyDown = (e) => {
37
+ if (e.code === "Escape") {
38
+ setExpanded(false);
39
+ }
40
+ };
41
+ root.addEventListener("keydown", onKeyDown);
42
+ return () => root.removeEventListener("keydown", onKeyDown);
43
+ });
44
+ useEffect(() => {
45
+ if (!expanded) {
46
+ triggerRef.current && triggerRef.current.focus();
47
+ }
48
+ }, [expanded]);
49
+ return (_jsxs(BaseView, { ref: rootRef, jsStyle: [jsStyles.root, jsStyle], children: [_jsx(Button, { "aria-expanded": expanded ? "true" : "false", "aria-controls": id, "aria-haspopup": "true", "aria-label": label, role: "combobox", justify: "space-between", tabIndex: 0, jsStyle: jsStyles.button, label: selection.toString(), color: "positive", icon: "fa-chevron-down", iconPosition: "right", onClick: () => {
50
+ setExpanded((x) => !x);
51
+ }, ref: triggerRef }), expanded && (_jsx(Column, { gap: "medium", jsStyle: [jsStyles.dropdown, getBackground("secondary-background")], id: id, role: "listbox", "aria-label": label, tabIndex: -1, ref: dropdownRef, onBlur: (e) => {
52
+ if (!e.currentTarget.contains(e.relatedTarget)) {
53
+ setExpanded(false);
54
+ }
55
+ }, children: Array.from(options).map((option, index) => {
56
+ const optionId = `${id}-${index}`;
57
+ const selected = option === selection;
58
+ return (_jsx(Button, { justify: selected ? "space-between" : "flex-start", align: "center", bare: true, iconPosition: "right", icon: selected ? "fa-check" : undefined, role: "option", id: optionId, "aria-selected": selected ? "true" : "false", label: option.toString(), color: "positive", onClick: () => {
59
+ setSelection(option);
60
+ setExpanded(false);
61
+ } }, optionId));
62
+ }) }))] }));
63
+ }
64
+ //# sourceMappingURL=Dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../src/Dropdown.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type Callback<Value> = (value: Value) => void;
2
+ export type Subscribe<Value> = (callback: Callback<Value>) => () => void;
3
+ export declare function createEmitter<Value>(): {
4
+ subscribe: Subscribe<Value>;
5
+ emit: (value: Value) => void;
6
+ };
@@ -0,0 +1,19 @@
1
+ export function createEmitter() {
2
+ const subscriptions = new Set();
3
+ const subscribe = (callback) => {
4
+ subscriptions.add(callback);
5
+ return () => {
6
+ subscriptions.delete(callback);
7
+ };
8
+ };
9
+ const emit = (value) => {
10
+ subscriptions.forEach((subscription) => {
11
+ subscription(value);
12
+ });
13
+ };
14
+ return {
15
+ subscribe,
16
+ emit,
17
+ };
18
+ }
19
+ //# sourceMappingURL=Emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../src/Emitter.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,aAAa;IAC3B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEjD,MAAM,SAAS,GAAqB,CAAC,QAAyB,EAAE,EAAE;QAChE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,GAAG,EAAE;YACV,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,EAAE;QAC5B,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACrC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,SAAS;QACT,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { BaseViewProps } from "./BaseView";
3
+ import { Justify, Gap, Align, Padding, FlexDirection } from "./jss";
4
+ export interface FlexLayoutProps extends BaseViewProps {
5
+ justify?: Justify;
6
+ gap?: Gap;
7
+ align?: Align;
8
+ padding?: Padding;
9
+ direction?: FlexDirection;
10
+ }
11
+ export declare const FlexLayout: React.ForwardRefExoticComponent<Pick<FlexLayoutProps, "padding" | "style" | "slot" | "title" | "children" | "hidden" | "color" | "relative" | "justify" | "direction" | "translate" | "gap" | "dangerouslySetInnerHTML" | "grow" | "shrink" | "jsStyle" | "tag" | "className" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "nonce" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "align"> & React.RefAttributes<HTMLElement>>;
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { BaseView } from "./BaseView";
4
+ import { getPadding, getSpacing, } from "./jss";
5
+ export const FlexLayout = React.forwardRef(({ jsStyle, gap = "none", justify = "none", align = "none", padding = "none", direction = "column", ...otherProps }, ref) => {
6
+ return (_jsx(BaseView, { ref: ref, jsStyle: [
7
+ {
8
+ display: "flex",
9
+ flexDirection: direction,
10
+ gap: getSpacing(gap),
11
+ justifyContent: justify,
12
+ alignItems: align,
13
+ },
14
+ getPadding(padding),
15
+ jsStyle,
16
+ ], ...otherProps }));
17
+ });
18
+ //# sourceMappingURL=FlexLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlexLayout.js","sourceRoot":"","sources":["../src/FlexLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AACrD,OAAO,EAML,UAAU,EACV,UAAU,GACX,MAAM,OAAO,CAAC;AAUf,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACxC,CACE,EACE,OAAO,EACP,GAAG,GAAG,MAAM,EACZ,OAAO,GAAG,MAAM,EAChB,KAAK,GAAG,MAAM,EACd,OAAO,GAAG,MAAM,EAChB,SAAS,GAAG,QAAQ,EACpB,GAAG,UAAU,EACG,EAClB,GAA4B,EAC5B,EAAE;IACF,OAAO,CACL,KAAC,QAAQ,IACP,GAAG,EAAE,GAAG,EACR,OAAO,EAAE;YACP;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,SAAS;gBACxB,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;gBACpB,cAAc,EAAE,OAAO;gBACvB,UAAU,EAAE,KAAK;aAClB;YACD,UAAU,CAAC,OAAO,CAAC;YACnB,OAAO;SACR,KACG,UAAU,GACd,CACH,CAAC;AACJ,CAAC,CACF,CAAC"}
package/dist/Icon.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { IconType } from "./IconType";
3
+ import { Size, TextColor } from "./jss";
4
+ export declare function IconProvider({ children }: {
5
+ children: JSX.Element;
6
+ }): JSX.Element;
7
+ export declare function Icon({ icon, size, color, ariaLabel, }: {
8
+ ariaLabel?: string;
9
+ icon: IconType;
10
+ size: Size;
11
+ color: TextColor;
12
+ }): JSX.Element;
package/dist/Icon.js ADDED
@@ -0,0 +1,69 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect } from "react";
3
+ import { BaseView } from "./BaseView";
4
+ import { getTextColor } from "./jss";
5
+ const jsStyles = {
6
+ root: {
7
+ display: "flex",
8
+ justifyContent: "center",
9
+ alignItems: "center",
10
+ " svg": {
11
+ height: "inherit",
12
+ width: "inherit",
13
+ },
14
+ },
15
+ xsmall: {
16
+ height: 8,
17
+ width: 8,
18
+ },
19
+ small: {
20
+ height: 12,
21
+ width: 12,
22
+ },
23
+ medium: {
24
+ height: 18,
25
+ width: 18,
26
+ },
27
+ large: {
28
+ height: 24,
29
+ width: 24,
30
+ },
31
+ xlarge: {
32
+ height: 30,
33
+ width: 30,
34
+ },
35
+ };
36
+ let initialized = false;
37
+ const initializeIcons = () => {
38
+ if (initialized) {
39
+ return;
40
+ }
41
+ const hasIconify = document.getElementById("iconify");
42
+ if (hasIconify) {
43
+ initialized = true;
44
+ return;
45
+ }
46
+ const script = document.createElement("script");
47
+ script.src = "https://code.iconify.design/3/3.1.1/iconify.min.js";
48
+ script.id = "iconify";
49
+ document.head.appendChild(script);
50
+ initialized = true;
51
+ };
52
+ export function IconProvider({ children }) {
53
+ useEffect(() => {
54
+ initializeIcons();
55
+ }, []);
56
+ return children;
57
+ }
58
+ export function Icon({ icon, size, color, ariaLabel, }) {
59
+ return (_jsx(BaseView, { "aria-label": ariaLabel, jsStyle: [
60
+ jsStyles.root,
61
+ size === "xsmall" && jsStyles.xsmall,
62
+ size === "small" && jsStyles.small,
63
+ size === "medium" && jsStyles.medium,
64
+ size === "large" && jsStyles.large,
65
+ size === "xlarge" && jsStyles.xlarge,
66
+ getTextColor(color),
67
+ ], children: _jsx("span", { className: "iconify", "data-icon": icon }) }, icon));
68
+ }
69
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../src/Icon.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAmB,YAAY,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE;YACN,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,SAAS;SACjB;KACF;IACD,MAAM,EAAE;QACN,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;KACT;IACD,KAAK,EAAE;QACL,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV;IACD,MAAM,EAAE;QACN,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV;IACD,KAAK,EAAE;QACL,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV;IACD,MAAM,EAAE;QACN,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV;CACF,CAAC;AAEF,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,IAAI,WAAW,EAAE;QACf,OAAO;KACR;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAEtD,IAAI,UAAU,EAAE;QACd,WAAW,GAAG,IAAI,CAAC;QACnB,OAAO;KACR;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,GAAG,oDAAoD,CAAC;IAClE,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAElC,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAA6B;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,EAAE,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EACnB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,SAAS,GAMV;IACC,OAAO,CACL,KAAC,QAAQ,kBAEK,SAAS,EACrB,OAAO,EAAE;YACP,QAAQ,CAAC,IAAI;YACb,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM;YACpC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK;YAClC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM;YACpC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK;YAClC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM;YACpC,YAAY,CAAC,KAAK,CAAC;SACpB,YAED,eAAM,SAAS,EAAC,SAAS,eAAY,IAAI,GAAS,IAZ7C,IAAI,CAaA,CACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { BaseButtonProps } from "./BaseButton";
3
+ import { IconType } from "./IconType";
4
+ import { Size } from "./jss";
5
+ export interface IconButtonProps extends BaseButtonProps {
6
+ icon: IconType;
7
+ size: Size;
8
+ }
9
+ export declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { BaseButton } from "./BaseButton";
4
+ import { Icon } from "./Icon";
5
+ import { getGlyphColor } from "./Interactable";
6
+ const sizes = {
7
+ xsmall: 20,
8
+ small: 24,
9
+ medium: 32,
10
+ large: 40,
11
+ xlarge: 48,
12
+ };
13
+ export const IconButton = React.forwardRef(({ icon, size, color, bare, disabled, jsStyle, ...buttonProps }, ref) => {
14
+ return (_jsx(BaseButton, { ...buttonProps, bare: bare, jsStyle: [
15
+ {
16
+ display: "flex",
17
+ justifyContent: "center",
18
+ alignItems: "center",
19
+ height: sizes[size],
20
+ width: sizes[size],
21
+ borderRadius: sizes[size] / 2,
22
+ },
23
+ !disabled && {
24
+ ":active": {
25
+ transform: "scale(0.92)",
26
+ },
27
+ },
28
+ jsStyle,
29
+ ], color: color, ref: ref, disabled: disabled, children: _jsx(Icon, { size: size, icon: icon, color: getGlyphColor(color, disabled, bare) }) }));
30
+ });
31
+ //# sourceMappingURL=IconButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;CACX,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACxC,CACE,EACE,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,GAAG,WAAW,EACE,EAClB,GAAkC,EAClC,EAAE;IACF,OAAO,CACL,KAAC,UAAU,OACL,WAAW,EACf,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;YACP;gBACE,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;gBAClB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;aAC9B;YACD,CAAC,QAAQ,IAAI;gBACX,SAAS,EAAE;oBACT,SAAS,EAAE,aAAa;iBACzB;aACF;YACD,OAAO;SACR,EACD,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,YAElB,KAAC,IAAI,IACH,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAC3C,GACS,CACd,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { IconType } from "./IconType";
3
+ import { Size } from "./jss";
4
+ import { BaseLinkProps } from "./BaseLink";
5
+ export interface IconLinkProps extends BaseLinkProps {
6
+ icon: IconType;
7
+ size: Size;
8
+ }
9
+ export declare const IconLink: React.ForwardRefExoticComponent<IconLinkProps & React.RefAttributes<HTMLAnchorElement>>;
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { Icon } from "./Icon";
4
+ import { getGlyphColor } from "./Interactable";
5
+ import { BaseLink } from "./BaseLink";
6
+ const sizes = {
7
+ xsmall: 20,
8
+ small: 24,
9
+ medium: 32,
10
+ large: 40,
11
+ xlarge: 48,
12
+ };
13
+ export const IconLink = React.forwardRef(({ icon, size, color, bare, disabled, ...otherProps }, ref) => {
14
+ return (_jsx(BaseLink, { ...otherProps, bare: bare, jsStyle: [
15
+ {
16
+ display: "flex",
17
+ justifyContent: "center",
18
+ alignItems: "center",
19
+ height: sizes[size],
20
+ width: sizes[size],
21
+ borderRadius: sizes[size] / 2,
22
+ textDecoration: "none",
23
+ },
24
+ !disabled && {
25
+ ":active": {
26
+ transform: "scale(0.92)",
27
+ },
28
+ },
29
+ ], color: color, ref: ref, disabled: disabled, children: _jsx(Icon, { size: size, icon: icon, color: getGlyphColor(color, disabled, bare) }) }));
30
+ });
31
+ //# sourceMappingURL=IconLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconLink.js","sourceRoot":"","sources":["../src/IconLink.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAErD,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;CACX,CAAC;AAOF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CACtC,CACE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAiB,EACnE,GAAkC,EAClC,EAAE;IACF,OAAO,CACL,KAAC,QAAQ,OACH,UAAU,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;YACP;gBACE,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;gBAClB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC7B,cAAc,EAAE,MAAM;aACvB;YACD,CAAC,QAAQ,IAAI;gBACX,SAAS,EAAE;oBACT,SAAS,EAAE,aAAa;iBACzB;aACF;SACF,EACD,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,YAElB,KAAC,IAAI,IACH,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAC3C,GACO,CACZ,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export type IconType = "fa-address-book" | "fa-address-book-o" | "fa-address-card" | "fa-address-card-o" | "fa-adjust" | "fa-adn" | "fa-align-center" | "fa-align-justify" | "fa-align-left" | "fa-align-right" | "fa-amazon" | "fa-ambulance" | "fa-american-sign-language-interpreting" | "fa-anchor" | "fa-android" | "fa-angellist" | "fa-angle-double-down" | "fa-angle-double-left" | "fa-angle-double-right" | "fa-angle-double-up" | "fa-angle-down" | "fa-angle-left" | "fa-angle-right" | "fa-angle-up" | "fa-apple" | "fa-archive" | "fa-area-chart" | "fa-arrow-circle-down" | "fa-arrow-circle-left" | "fa-arrow-circle-o-down" | "fa-arrow-circle-o-left" | "fa-arrow-circle-o-right" | "fa-arrow-circle-o-up" | "fa-arrow-circle-right" | "fa-arrow-circle-up" | "fa-arrow-down" | "fa-arrow-left" | "fa-arrow-right" | "fa-arrow-up" | "fa-arrows" | "fa-arrows-alt" | "fa-arrows-h" | "fa-arrows-v" | "fa-asl-interpretin" | "fa-assistive-listening-systems" | "fa-asterisk" | "fa-at" | "fa-audio-description" | "fa-automobil" | "fa-backward" | "fa-balance-scale" | "fa-ban" | "fa-bandcamp" | "fa-ban" | "fa-bar-chart" | "fa-bar-chart-" | "fa-barcode" | "fa-bars" | "fa-bath" | "fa-bathtu" | "fa-batter" | "fa-battery-" | "fa-battery-" | "fa-battery-" | "fa-battery-" | "fa-battery-" | "fa-battery-empty" | "fa-battery-full" | "fa-battery-half" | "fa-battery-quarter" | "fa-battery-three-quarters" | "fa-bed" | "fa-beer" | "fa-behance" | "fa-behance-square" | "fa-bell" | "fa-bell-o" | "fa-bell-slash" | "fa-bell-slash-o" | "fa-bicycle" | "fa-binoculars" | "fa-birthday-cake" | "fa-bitbucket" | "fa-bitbucket-square" | "fa-bitcoi" | "fa-black-tie" | "fa-blind" | "fa-bluetooth" | "fa-bluetooth-b" | "fa-bold" | "fa-bolt" | "fa-bomb" | "fa-book" | "fa-bookmark" | "fa-bookmark-o" | "fa-braille" | "fa-briefcase" | "fa-btc" | "fa-bug" | "fa-building" | "fa-building-o" | "fa-bullhorn" | "fa-bullseye" | "fa-bus" | "fa-buysellads" | "fa-ca" | "fa-calculator" | "fa-calendar" | "fa-calendar-check-o" | "fa-calendar-minus-o" | "fa-calendar-o" | "fa-calendar-plus-o" | "fa-calendar-times-o" | "fa-camera" | "fa-camera-retro" | "fa-car" | "fa-caret-down" | "fa-caret-left" | "fa-caret-right" | "fa-caret-square-o-down" | "fa-caret-square-o-left" | "fa-caret-square-o-right" | "fa-caret-square-o-up" | "fa-caret-up" | "fa-cart-arrow-down" | "fa-cart-plus" | "fa-cc" | "fa-cc-amex" | "fa-cc-diners-club" | "fa-cc-discover" | "fa-cc-jcb" | "fa-cc-mastercard" | "fa-cc-paypal" | "fa-cc-stripe" | "fa-cc-visa" | "fa-certificate" | "fa-chai" | "fa-chain-broken" | "fa-check" | "fa-check-circle" | "fa-check-circle-o" | "fa-check-square" | "fa-check-square-o" | "fa-chevron-circle-down" | "fa-chevron-circle-left" | "fa-chevron-circle-right" | "fa-chevron-circle-up" | "fa-chevron-down" | "fa-chevron-left" | "fa-solid:chevron-right" | "fa-chevron-right" | "fa-chevron-up" | "fa-child" | "fa-chrome" | "fa-circle" | "fa-circle-o" | "fa-circle-o-notch" | "fa-circle-thin" | "fa-clipboard" | "fa-clock-o" | "fa-clone" | "fa-close" | "fa-cloud" | "fa-cloud-download" | "fa-cloud-upload" | "fa-cn" | "fa-code" | "fa-code-fork" | "fa-codepen" | "fa-codiepie" | "fa-coffee" | "fa-cog" | "fa-cogs" | "fa-columns" | "fa-comment" | "fa-comment-o" | "fa-commenting" | "fa-commenting-o" | "fa-comments" | "fa-comments-o" | "fa-compass" | "fa-compress" | "fa-connectdevelop" | "fa-contao" | "fa-cop" | "fa-copyright" | "fa-creative-commons" | "fa-credit-card" | "fa-credit-card-alt" | "fa-crop" | "fa-crosshairs" | "fa-css3" | "fa-cube" | "fa-cubes" | "fa-cu" | "fa-cutlery" | "fa-dashboar" | "fa-dashcube" | "fa-database" | "fa-deaf" | "fa-deafnes" | "fa-deden" | "fa-delicious" | "fa-desktop" | "fa-deviantart" | "fa-diamond" | "fa-digg" | "fa-dolla" | "fa-dot-circle-o" | "fa-download" | "fa-dribbble" | "fa-drivers-licens" | "fa-drivers-license-" | "fa-dropbox" | "fa-drupal" | "fa-edge" | "fa-edi" | "fa-eercast" | "fa-eject" | "fa-ellipsis-h" | "fa-ellipsis-v" | "fa-empire" | "fa-envelope" | "fa-envelope-o" | "fa-envelope-open" | "fa-envelope-open-o" | "fa-envelope-square" | "fa-envira" | "fa-eraser" | "fa-etsy" | "fa-eur" | "fa-eur" | "fa-exchange" | "fa-exclamation" | "fa-exclamation-circle" | "fa-exclamation-triangle" | "fa-expand" | "fa-expeditedssl" | "fa-external-link" | "fa-external-link-square" | "fa-eye" | "fa-eye-slash" | "fa-eyedropper" | "fa-f" | "fa-facebook" | "fa-facebook-" | "fa-facebook-official" | "fa-facebook-square" | "fa-fast-backward" | "fa-fast-forward" | "fa-fax" | "fa-fee" | "fa-female" | "fa-fighter-jet" | "fa-file" | "fa-file-archive-o" | "fa-file-audio-o" | "fa-file-code-o" | "fa-file-excel-o" | "fa-file-image-o" | "fa-file-movie-" | "fa-file-o" | "fa-file-pdf-o" | "fa-file-photo-" | "fa-file-picture-" | "fa-file-powerpoint-o" | "fa-file-sound-" | "fa-file-text" | "fa-file-text-o" | "fa-file-video-o" | "fa-file-word-o" | "fa-file-zip-" | "fa-files-o" | "fa-film" | "fa-filter" | "fa-fire" | "fa-fire-extinguisher" | "fa-firefox" | "fa-first-order" | "fa-flag" | "fa-flag-checkered" | "fa-flag-o" | "fa-flas" | "fa-flask" | "fa-flickr" | "fa-floppy-o" | "fa-folder" | "fa-folder-o" | "fa-folder-open" | "fa-folder-open-o" | "fa-font" | "fa-font-awesome" | "fa-fonticons" | "fa-fort-awesome" | "fa-forumbee" | "fa-forward" | "fa-foursquare" | "fa-free-code-camp" | "fa-frown-o" | "fa-futbol-o" | "fa-gamepad" | "fa-gavel" | "fa-gbp" | "fa-g" | "fa-gea" | "fa-gear" | "fa-genderless" | "fa-get-pocket" | "fa-gg" | "fa-gg-circle" | "fa-gift" | "fa-git" | "fa-git-square" | "fa-github" | "fa-github-alt" | "fa-github-square" | "fa-gitlab" | "fa-gitti" | "fa-glass" | "fa-glide" | "fa-glide-g" | "fa-globe" | "fa-google" | "fa-google-plus" | "fa-google-plus-circl" | "fa-google-plus-official" | "fa-google-plus-square" | "fa-google-wallet" | "fa-graduation-cap" | "fa-gratipay" | "fa-grav" | "fa-grou" | "fa-h-square" | "fa-hacker-news" | "fa-hand-grab-" | "fa-hand-lizard-o" | "fa-hand-o-down" | "fa-hand-o-left" | "fa-hand-o-right" | "fa-hand-o-up" | "fa-hand-paper-o" | "fa-hand-peace-o" | "fa-hand-pointer-o" | "fa-hand-rock-o" | "fa-hand-scissors-o" | "fa-hand-spock-o" | "fa-hand-stop-" | "fa-handshake-o" | "fa-hard-of-hearin" | "fa-hashtag" | "fa-hdd-o" | "fa-header" | "fa-headphones" | "fa-heart" | "fa-heart-o" | "fa-heartbeat" | "fa-history" | "fa-home" | "fa-hospital-o" | "fa-hote" | "fa-hourglass" | "fa-hourglass-" | "fa-hourglass-" | "fa-hourglass-" | "fa-hourglass-end" | "fa-hourglass-half" | "fa-hourglass-o" | "fa-hourglass-start" | "fa-houzz" | "fa-html5" | "fa-i-cursor" | "fa-id-badge" | "fa-id-card" | "fa-id-card-o" | "fa-ils" | "fa-imag" | "fa-imdb" | "fa-inbox" | "fa-indent" | "fa-industry" | "fa-info" | "fa-info-circle" | "fa-inr" | "fa-instagram" | "fa-institutio" | "fa-internet-explorer" | "fa-interse" | "fa-ioxhost" | "fa-italic" | "fa-joomla" | "fa-jpy" | "fa-jsfiddle" | "fa-key" | "fa-keyboard-o" | "fa-krw" | "fa-language" | "fa-laptop" | "fa-lastfm" | "fa-lastfm-square" | "fa-leaf" | "fa-leanpub" | "fa-lega" | "fa-lemon-o" | "fa-level-down" | "fa-level-up" | "fa-life-bou" | "fa-life-buo" | "fa-life-ring" | "fa-life-save" | "fa-lightbulb-o" | "fa-line-chart" | "fa-link" | "fa-linkedin" | "fa-linkedin-square" | "fa-linode" | "fa-linux" | "fa-list" | "fa-list-alt" | "fa-list-ol" | "fa-list-ul" | "fa-location-arrow" | "fa-lock" | "fa-long-arrow-down" | "fa-long-arrow-left" | "fa-long-arrow-right" | "fa-long-arrow-up" | "fa-low-vision" | "fa-magic" | "fa-magnet" | "fa-mail-forwar" | "fa-mail-repl" | "fa-mail-reply-al" | "fa-male" | "fa-map" | "fa-map-marker" | "fa-map-o" | "fa-map-pin" | "fa-map-signs" | "fa-mars" | "fa-mars-double" | "fa-mars-stroke" | "fa-mars-stroke-h" | "fa-mars-stroke-v" | "fa-maxcdn" | "fa-meanpath" | "fa-medium" | "fa-medkit" | "fa-meetup" | "fa-meh-o" | "fa-mercury" | "fa-microchip" | "fa-microphone" | "fa-microphone-slash" | "fa-minus" | "fa-minus-circle" | "fa-minus-square" | "fa-minus-square-o" | "fa-mixcloud" | "fa-mobile" | "fa-mobile-phon" | "fa-modx" | "fa-money" | "fa-moon-o" | "fa-mortar-boar" | "fa-motorcycle" | "fa-mouse-pointer" | "fa-music" | "fa-navico" | "fa-neuter" | "fa-newspaper-o" | "fa-object-group" | "fa-object-ungroup" | "fa-odnoklassniki" | "fa-odnoklassniki-square" | "fa-opencart" | "fa-openid" | "fa-opera" | "fa-optin-monster" | "fa-outdent" | "fa-pagelines" | "fa-paint-brush" | "fa-paper-plane" | "fa-paper-plane-o" | "fa-paperclip" | "fa-paragraph" | "fa-past" | "fa-pause" | "fa-pause-circle" | "fa-pause-circle-o" | "fa-paw" | "fa-paypal" | "fa-pencil" | "fa-pencil-square" | "fa-pencil-square-o" | "fa-percent" | "fa-phone" | "fa-phone-square" | "fa-phot" | "fa-picture-o" | "fa-pie-chart" | "fa-pied-piper" | "fa-pied-piper-alt" | "fa-pied-piper-pp" | "fa-pinterest" | "fa-pinterest-p" | "fa-pinterest-square" | "fa-plane" | "fa-play" | "fa-play-circle" | "fa-play-circle-o" | "fa-plug" | "fa-plus" | "fa-plus-circle" | "fa-plus-square" | "fa-plus-square-o" | "fa-podcast" | "fa-power-off" | "fa-print" | "fa-product-hunt" | "fa-puzzle-piece" | "fa-qq" | "fa-qrcode" | "fa-question" | "fa-question-circle" | "fa-question-circle-o" | "fa-quora" | "fa-quote-left" | "fa-quote-right" | "fa-r" | "fa-random" | "fa-ravelry" | "fa-rebel" | "fa-recycle" | "fa-reddit" | "fa-reddit-alien" | "fa-reddit-square" | "fa-refresh" | "fa-registered" | "fa-remove" | "fa-renren" | "fa-reorde" | "fa-repeat" | "fa-reply" | "fa-reply-all" | "fa-resistanc" | "fa-retweet" | "fa-rm" | "fa-road" | "fa-rocket" | "fa-rotate-lef" | "fa-rotate-righ" | "fa-roubl" | "fa-rss" | "fa-rss-square" | "fa-rub" | "fa-rubl" | "fa-rupe" | "fa-s1" | "fa-safari" | "fa-sav" | "fa-scissors" | "fa-scribd" | "fa-search" | "fa-search-minus" | "fa-search-plus" | "fa-sellsy" | "fa-sen" | "fa-send-" | "fa-server" | "fa-share" | "fa-share-alt" | "fa-share-alt-square" | "fa-share-square" | "fa-share-square-o" | "fa-sheke" | "fa-sheqe" | "fa-shield" | "fa-ship" | "fa-shirtsinbulk" | "fa-shopping-bag" | "fa-shopping-basket" | "fa-shopping-cart" | "fa-shower" | "fa-sign-in" | "fa-sign-language" | "fa-sign-out" | "fa-signal" | "fa-signin" | "fa-simplybuilt" | "fa-sitemap" | "fa-skyatlas" | "fa-skype" | "fa-slack" | "fa-sliders" | "fa-slideshare" | "fa-smile-o" | "fa-snapchat" | "fa-snapchat-ghost" | "fa-snapchat-square" | "fa-snowflake-o" | "fa-soccer-ball-" | "fa-sort" | "fa-sort-alpha-asc" | "fa-sort-alpha-desc" | "fa-sort-amount-asc" | "fa-sort-amount-desc" | "fa-sort-asc" | "fa-sort-desc" | "fa-sort-dow" | "fa-sort-numeric-asc" | "fa-sort-numeric-desc" | "fa-sort-u" | "fa-soundcloud" | "fa-space-shuttle" | "fa-spinner" | "fa-spoon" | "fa-spotify" | "fa-square" | "fa-square-o" | "fa-stack-exchange" | "fa-stack-overflow" | "fa-star" | "fa-star-half" | "fa-star-half-empt" | "fa-star-half-ful" | "fa-star-half-o" | "fa-star-o" | "fa-steam" | "fa-steam-square" | "fa-step-backward" | "fa-step-forward" | "fa-stethoscope" | "fa-sticky-note" | "fa-sticky-note-o" | "fa-stop" | "fa-stop-circle" | "fa-stop-circle-o" | "fa-street-view" | "fa-strikethrough" | "fa-stumbleupon" | "fa-stumbleupon-circle" | "fa-subscript" | "fa-subway" | "fa-suitcase" | "fa-sun-o" | "fa-superpowers" | "fa-superscript" | "fa-suppor" | "fa-table" | "fa-tablet" | "fa-tachometer" | "fa-tag" | "fa-tags" | "fa-tasks" | "fa-taxi" | "fa-telegram" | "fa-television" | "fa-tencent-weibo" | "fa-terminal" | "fa-text-height" | "fa-text-width" | "fa-th" | "fa-th-large" | "fa-th-list" | "fa-themeisle" | "fa-thermomete" | "fa-thermometer-" | "fa-thermometer-" | "fa-thermometer-" | "fa-thermometer-" | "fa-thermometer-" | "fa-thermometer-empty" | "fa-thermometer-full" | "fa-thermometer-half" | "fa-thermometer-quarter" | "fa-thermometer-three-quarters" | "fa-thumb-tack" | "fa-thumbs-down" | "fa-thumbs-o-down" | "fa-thumbs-o-up" | "fa-thumbs-up" | "fa-ticket" | "fa-times" | "fa-times-circle" | "fa-times-circle-o" | "fa-times-rectangl" | "fa-times-rectangle-" | "fa-tint" | "fa-toggle-dow" | "fa-toggle-lef" | "fa-toggle-off" | "fa-toggle-on" | "fa-toggle-righ" | "fa-toggle-u" | "fa-trademark" | "fa-train" | "fa-transgender" | "fa-transgender-alt" | "fa-trash" | "fa-trash-o" | "fa-tree" | "fa-trello" | "fa-tripadvisor" | "fa-trophy" | "fa-truck" | "fa-try" | "fa-tty" | "fa-tumblr" | "fa-tumblr-square" | "fa-turkish-lir" | "fa-t" | "fa-twitch" | "fa-twitter" | "fa-twitter-square" | "fa-umbrella" | "fa-underline" | "fa-undo" | "fa-universal-access" | "fa-university" | "fa-unlin" | "fa-unlock" | "fa-unlock-alt" | "fa-unsorte" | "fa-upload" | "fa-usb" | "fa-usd" | "fa-user" | "fa-user-circle" | "fa-user-circle-o" | "fa-user-md" | "fa-user-o" | "fa-user-plus" | "fa-user-secret" | "fa-user-times" | "fa-users" | "fa-vcar" | "fa-vcard-" | "fa-venus" | "fa-venus-double" | "fa-venus-mars" | "fa-viacoin" | "fa-viadeo" | "fa-viadeo-square" | "fa-video-camera" | "fa-vimeo" | "fa-vimeo-square" | "fa-vine" | "fa-vk" | "fa-volume-control-phone" | "fa-volume-down" | "fa-volume-off" | "fa-volume-up" | "fa-warnin" | "fa-wecha" | "fa-weibo" | "fa-weixin" | "fa-whatsapp" | "fa-wheelchair" | "fa-wheelchair-alt" | "fa-wifi" | "fa-wikipedia-w" | "fa-window-close" | "fa-window-close-o" | "fa-window-maximize" | "fa-window-minimize" | "fa-window-restore" | "fa-windows" | "fa-wo" | "fa-wordpress" | "fa-wpbeginner" | "fa-wpexplorer" | "fa-wpforms" | "fa-wrench" | "fa-xing" | "fa-xing-square" | "fa-y-combinator" | "fa-y-combinator-squar" | "fa-yahoo" | "fa-y" | "fa-yc-squar" | "fa-yelp" | "fa-ye" | "fa-yoast" | "fa-youtube" | "fa-youtube-play" | "fa-youtube-squar";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IconType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconType.js","sourceRoot":"","sources":["../src/IconType.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import { JSStyle, Padding, TextColor } from "./jss";
2
+ export type InteractableColor = "positive" | "secondary" | "negative";
3
+ export declare function getInteractableJSStyles({ color, bare, disabled, animateInteraction, padding, }: {
4
+ color: InteractableColor;
5
+ bare: boolean;
6
+ disabled: boolean;
7
+ animateInteraction: boolean;
8
+ padding: Padding;
9
+ }): Array<JSStyle>;
10
+ export declare const getGlyphColor: (color: InteractableColor, disabled: boolean | undefined, bare: boolean | undefined) => TextColor;
11
+ export declare const getInteractableListItemJSStyles: ({ bare, selected, }: {
12
+ bare: boolean;
13
+ selected: boolean;
14
+ }) => ({
15
+ overflow: string;
16
+ flexGrow: number;
17
+ borderRadius: string;
18
+ textDecoration: string;
19
+ ":hover": {
20
+ backgroundColor: string;
21
+ };
22
+ ":active:hover": {
23
+ backgroundColor: string;
24
+ };
25
+ "[aria-disabled=true]": {
26
+ backgroundColor: string;
27
+ };
28
+ "[aria-disabled=true]:active:hover": {
29
+ backgroundColor: string;
30
+ };
31
+ backgroundColor?: undefined;
32
+ boxShadow?: undefined;
33
+ } | {
34
+ backgroundColor: string;
35
+ boxShadow: string;
36
+ ":hover": {
37
+ backgroundColor: string;
38
+ };
39
+ ":active:hover": {
40
+ backgroundColor: string;
41
+ };
42
+ overflow?: undefined;
43
+ flexGrow?: undefined;
44
+ borderRadius?: undefined;
45
+ textDecoration?: undefined;
46
+ "[aria-disabled=true]"?: undefined;
47
+ "[aria-disabled=true]:active:hover"?: undefined;
48
+ })[];
@@ -0,0 +1,131 @@
1
+ import { cssVar, getPadding } from "./jss";
2
+ const jsStyles = {
3
+ root: {
4
+ cursor: "pointer",
5
+ display: "inline-flex",
6
+ alignItems: "center",
7
+ transition: "opacity 0.1s ease-in",
8
+ outlineColor: "var(--outline)",
9
+ "[aria-disabled=true]": {
10
+ color: "var(--secondary-text)",
11
+ backgroundColor: "var(--background-button-secondary)",
12
+ },
13
+ ":focus-visible": {
14
+ outlineWidth: "2px",
15
+ outlineStyle: "solid",
16
+ outlineOffset: -2,
17
+ },
18
+ },
19
+ positive: {
20
+ backgroundColor: "var(--background-button-positive)",
21
+ "[aria-disabled=true]": {
22
+ backgroundColor: "var(--background-button-disabled)",
23
+ },
24
+ },
25
+ secondary: {
26
+ backgroundColor: "var(--background-button-secondary)",
27
+ "[aria-disabled=true]": {
28
+ backgroundColor: "var(--background-button-disabled)",
29
+ },
30
+ },
31
+ negative: {
32
+ backgroundColor: "var(--background-button-negative)",
33
+ "[aria-disabled=true]": {
34
+ backgroundColor: "var(--background-button-disabled)",
35
+ },
36
+ },
37
+ disabled: {
38
+ cursor: "default",
39
+ },
40
+ bare: {
41
+ backgroundColor: "inherit",
42
+ outlineColor: "var(--outline)",
43
+ "[aria-disabled=true]": {
44
+ backgroundColor: "inherit",
45
+ },
46
+ "[aria-disabled=true]:hover": {
47
+ backgroundColor: "inherit",
48
+ },
49
+ },
50
+ opacityHover: {
51
+ ":hover": {
52
+ opacity: 0.8,
53
+ },
54
+ "[aria-disabled=true]:hover": {
55
+ opacity: 1,
56
+ },
57
+ },
58
+ colorHover: {},
59
+ };
60
+ export function getInteractableJSStyles({ color, bare, disabled, animateInteraction, padding, }) {
61
+ return [
62
+ jsStyles.root,
63
+ color === "positive" && jsStyles.positive,
64
+ color === "secondary" && jsStyles.secondary,
65
+ color === "negative" && jsStyles.negative,
66
+ bare && jsStyles.bare,
67
+ disabled && jsStyles.disabled,
68
+ !bare && jsStyles.opacityHover,
69
+ animateInteraction &&
70
+ !disabled && {
71
+ position: "relative",
72
+ ":active": {
73
+ opacity: 0.95,
74
+ top: 1,
75
+ },
76
+ "[aria-disabled=true]:active": {
77
+ top: 0,
78
+ opacity: 1,
79
+ },
80
+ },
81
+ getPadding(padding),
82
+ ];
83
+ }
84
+ export const getGlyphColor = (color, disabled, bare) => {
85
+ if (disabled) {
86
+ return "subtle";
87
+ }
88
+ switch (color) {
89
+ case "positive":
90
+ return bare ? "highlight" : "light";
91
+ case "negative":
92
+ return bare ? "negative" : "light";
93
+ case "secondary":
94
+ return bare ? "primary" : "secondary";
95
+ }
96
+ };
97
+ export const getInteractableListItemJSStyles = ({ bare, selected, }) => {
98
+ return [
99
+ {
100
+ overflow: "hidden",
101
+ flexGrow: 1,
102
+ borderRadius: bare ? cssVar("--border-radius-m") : null,
103
+ textDecoration: "none",
104
+ ":hover": {
105
+ backgroundColor: "var(--hovered-background)",
106
+ },
107
+ ":active:hover": {
108
+ backgroundColor: "var(--pressed-background)",
109
+ },
110
+ "[aria-disabled=true]": {
111
+ backgroundColor: "var(--primary-background)",
112
+ },
113
+ "[aria-disabled=true]:active:hover": {
114
+ backgroundColor: "var(--primary-background)",
115
+ },
116
+ },
117
+ selected && {
118
+ backgroundColor: bare
119
+ ? cssVar("--light-highlight")
120
+ : cssVar("--selected-background"),
121
+ boxShadow: bare ? "" : "inset 1px 1px 2px -1px #0000004a",
122
+ ":hover": {
123
+ backgroundColor: "var(--hovered-background)",
124
+ },
125
+ ":active:hover": {
126
+ backgroundColor: "var(--pressed-background)",
127
+ },
128
+ },
129
+ ];
130
+ };
131
+ //# sourceMappingURL=Interactable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Interactable.js","sourceRoot":"","sources":["../src/Interactable.tsx"],"names":[],"mappings":"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"}
package/dist/Link.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ import { BaseLinkProps } from "./BaseLink";
3
+ import { IconType } from "./IconType";
4
+ import { FlexLayoutProps } from "./FlexLayout";
5
+ import { InteractableColor } from "./Interactable";
6
+ import { Size, Align, Gap, Justify } from "./jss";
7
+ export interface LinkProps extends BaseLinkProps {
8
+ label: string;
9
+ color: InteractableColor;
10
+ size?: Size;
11
+ icon?: IconType;
12
+ iconSize?: Size;
13
+ children?: undefined;
14
+ iconPosition?: "left" | "right";
15
+ rowProps?: FlexLayoutProps;
16
+ align?: Align;
17
+ gap?: Gap;
18
+ justify?: Justify;
19
+ }
20
+ export declare const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;