@pathscale/ui 1.1.34 → 1.1.35

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 (249) hide show
  1. package/dist/components/button/Button.css +10 -1
  2. package/dist/components/button/Button.d.ts +2 -0
  3. package/dist/components/button/Button.js +31 -6
  4. package/dist/components/button-group/ButtonGroup.css +117 -0
  5. package/dist/components/button-group/ButtonGroup.d.ts +23 -0
  6. package/dist/components/button-group/ButtonGroup.js +91 -0
  7. package/dist/components/button-group/context.d.ts +8 -0
  8. package/dist/components/button-group/context.js +3 -0
  9. package/dist/components/button-group/index.d.ts +1 -0
  10. package/dist/components/button-group/index.js +6 -0
  11. package/dist/components/card/Card.css +110 -0
  12. package/dist/components/card/Card.d.ts +26 -26
  13. package/dist/components/card/Card.js +131 -70
  14. package/dist/components/card/index.d.ts +1 -1
  15. package/dist/components/card/index.js +6 -1
  16. package/dist/components/checkbox/Checkbox.js +18 -4
  17. package/dist/components/checkbox-group/CheckboxGroup.css +10 -0
  18. package/dist/components/checkbox-group/CheckboxGroup.d.ts +18 -0
  19. package/dist/components/checkbox-group/CheckboxGroup.js +97 -0
  20. package/dist/components/checkbox-group/context.d.ts +11 -0
  21. package/dist/components/checkbox-group/context.js +3 -0
  22. package/dist/components/checkbox-group/index.d.ts +4 -0
  23. package/dist/components/checkbox-group/index.js +4 -0
  24. package/dist/components/chip/Chip.css +11 -9
  25. package/dist/components/chip/Chip.d.ts +2 -2
  26. package/dist/components/chip/Chip.js +38 -30
  27. package/dist/components/close-button/CloseButton.css +81 -0
  28. package/dist/components/close-button/CloseButton.d.ts +14 -0
  29. package/dist/components/close-button/CloseButton.js +76 -0
  30. package/dist/components/close-button/index.d.ts +1 -0
  31. package/dist/components/close-button/index.js +3 -0
  32. package/dist/components/combo-box/ComboBox.css +344 -0
  33. package/dist/components/combo-box/ComboBox.d.ts +86 -0
  34. package/dist/components/combo-box/ComboBox.js +708 -0
  35. package/dist/components/combo-box/index.d.ts +1 -0
  36. package/dist/components/combo-box/index.js +10 -0
  37. package/dist/components/date-field/DateField.css +215 -0
  38. package/dist/components/date-field/DateField.d.ts +64 -0
  39. package/dist/components/date-field/DateField.js +341 -0
  40. package/dist/components/date-field/index.d.ts +1 -0
  41. package/dist/components/date-field/index.js +11 -0
  42. package/dist/components/description/Description.css +10 -0
  43. package/dist/components/description/Description.d.ts +11 -0
  44. package/dist/components/{form/Label.js → description/Description.js} +23 -14
  45. package/dist/components/description/index.d.ts +1 -0
  46. package/dist/components/description/index.js +5 -0
  47. package/dist/components/drawer/Drawer.css +15 -0
  48. package/dist/components/drawer/Drawer.d.ts +2 -0
  49. package/dist/components/drawer/Drawer.js +24 -16
  50. package/dist/components/error-message/ErrorMessage.css +20 -0
  51. package/dist/components/error-message/ErrorMessage.d.ts +11 -0
  52. package/dist/components/error-message/ErrorMessage.js +40 -0
  53. package/dist/components/error-message/index.d.ts +1 -0
  54. package/dist/components/error-message/index.js +5 -0
  55. package/dist/components/field-error/FieldError.css +27 -0
  56. package/dist/components/field-error/FieldError.d.ts +21 -0
  57. package/dist/components/field-error/FieldError.js +69 -0
  58. package/dist/components/field-error/index.d.ts +1 -0
  59. package/dist/components/field-error/index.js +5 -0
  60. package/dist/components/fieldset/Fieldset.css +30 -0
  61. package/dist/components/fieldset/Fieldset.d.ts +22 -9
  62. package/dist/components/fieldset/Fieldset.js +88 -44
  63. package/dist/components/fieldset/index.d.ts +1 -2
  64. package/dist/components/fieldset/index.js +7 -2
  65. package/dist/components/form/Form.css +5 -0
  66. package/dist/components/form/Form.d.ts +10 -16
  67. package/dist/components/form/Form.js +33 -16
  68. package/dist/components/form/index.d.ts +1 -4
  69. package/dist/components/form/index.js +3 -4
  70. package/dist/components/header/Header.css +13 -0
  71. package/dist/components/header/Header.d.ts +9 -0
  72. package/dist/components/{menu/MenuDetails.js → header/Header.js} +17 -20
  73. package/dist/components/header/index.d.ts +1 -0
  74. package/dist/components/header/index.js +5 -0
  75. package/dist/components/immersive-landing/components/FirefoxPWABanner.js +62 -68
  76. package/dist/components/immersive-landing/components/PWAInstallPrompt.js +58 -64
  77. package/dist/components/input/Input.css +3 -2
  78. package/dist/components/input/Input.d.ts +2 -2
  79. package/dist/components/input/Input.js +7 -7
  80. package/dist/components/input-group/InputGroup.css +172 -0
  81. package/dist/components/input-group/InputGroup.d.ts +44 -0
  82. package/dist/components/input-group/InputGroup.js +227 -0
  83. package/dist/components/input-group/index.d.ts +1 -0
  84. package/dist/components/input-group/index.js +9 -0
  85. package/dist/components/input-otp/InputOTP.css +170 -0
  86. package/dist/components/input-otp/InputOTP.d.ts +46 -0
  87. package/dist/components/input-otp/InputOTP.js +385 -0
  88. package/dist/components/input-otp/index.d.ts +1 -0
  89. package/dist/components/input-otp/index.js +11 -0
  90. package/dist/components/label/Label.css +30 -0
  91. package/dist/components/label/Label.d.ts +17 -0
  92. package/dist/components/label/Label.js +64 -0
  93. package/dist/components/label/index.d.ts +1 -0
  94. package/dist/components/label/index.js +5 -0
  95. package/dist/components/list-box/ListBox.css +148 -0
  96. package/dist/components/list-box/ListBox.d.ts +23 -0
  97. package/dist/components/list-box/ListBox.js +224 -0
  98. package/dist/components/list-box/ListBoxItem.d.ts +28 -0
  99. package/dist/components/list-box/ListBoxItem.js +231 -0
  100. package/dist/components/list-box/ListBoxSection.d.ts +11 -0
  101. package/dist/components/list-box/ListBoxSection.js +48 -0
  102. package/dist/components/list-box/context.d.ts +27 -0
  103. package/dist/components/list-box/context.js +3 -0
  104. package/dist/components/list-box/index.d.ts +17 -0
  105. package/dist/components/list-box/index.js +17 -0
  106. package/dist/components/menu/Menu.css +199 -0
  107. package/dist/components/menu/Menu.d.ts +32 -20
  108. package/dist/components/menu/Menu.js +213 -39
  109. package/dist/components/menu/MenuItem.d.ts +35 -5
  110. package/dist/components/menu/MenuItem.js +270 -19
  111. package/dist/components/menu/MenuSection.d.ts +11 -0
  112. package/dist/components/menu/MenuSection.js +48 -0
  113. package/dist/components/menu/context.d.ts +26 -0
  114. package/dist/components/menu/context.js +3 -0
  115. package/dist/components/menu/index.d.ts +4 -3
  116. package/dist/components/menu/index.js +11 -2
  117. package/dist/components/number-field/NumberField.css +198 -0
  118. package/dist/components/number-field/NumberField.d.ts +48 -0
  119. package/dist/components/number-field/NumberField.js +350 -0
  120. package/dist/components/number-field/index.d.ts +1 -0
  121. package/dist/components/number-field/index.js +9 -0
  122. package/dist/components/search-field/SearchField.css +183 -0
  123. package/dist/components/search-field/SearchField.d.ts +53 -0
  124. package/dist/components/search-field/SearchField.js +303 -0
  125. package/dist/components/search-field/index.d.ts +1 -0
  126. package/dist/components/search-field/index.js +9 -0
  127. package/dist/components/select/Select.css +16 -10
  128. package/dist/components/select/Select.d.ts +10 -2
  129. package/dist/components/select/Select.js +119 -33
  130. package/dist/components/separator/Separator.css +35 -0
  131. package/dist/components/separator/Separator.d.ts +12 -0
  132. package/dist/components/separator/Separator.js +57 -0
  133. package/dist/components/separator/index.d.ts +1 -0
  134. package/dist/components/separator/index.js +4 -0
  135. package/dist/components/sidenav/Sidenav.js +2 -2
  136. package/dist/components/surface/Surface.css +37 -0
  137. package/dist/components/surface/Surface.d.ts +12 -0
  138. package/dist/components/surface/Surface.js +41 -0
  139. package/dist/components/surface/index.d.ts +1 -0
  140. package/dist/components/surface/index.js +4 -0
  141. package/dist/components/table/hooks/index.d.ts +1 -9
  142. package/dist/components/table/hooks/index.js +1 -18
  143. package/dist/components/tag/Tag.css +121 -0
  144. package/dist/components/tag/Tag.d.ts +33 -0
  145. package/dist/components/tag/Tag.js +241 -0
  146. package/dist/components/tag/index.d.ts +1 -0
  147. package/dist/components/tag/index.js +6 -0
  148. package/dist/components/tag-group/TagGroup.css +22 -0
  149. package/dist/components/tag-group/TagGroup.d.ts +32 -0
  150. package/dist/components/tag-group/TagGroup.js +177 -0
  151. package/dist/components/tag-group/context.d.ts +15 -0
  152. package/dist/components/tag-group/context.js +3 -0
  153. package/dist/components/tag-group/index.d.ts +2 -0
  154. package/dist/components/tag-group/index.js +6 -0
  155. package/dist/components/text/Text.css +66 -0
  156. package/dist/components/text/Text.d.ts +17 -0
  157. package/dist/components/text/Text.js +46 -0
  158. package/dist/components/text/index.d.ts +1 -0
  159. package/dist/components/text/index.js +5 -0
  160. package/dist/components/text-area/TextArea.css +95 -0
  161. package/dist/components/text-area/TextArea.d.ts +19 -0
  162. package/dist/components/text-area/TextArea.js +64 -0
  163. package/dist/components/text-area/index.d.ts +1 -0
  164. package/dist/components/text-area/index.js +5 -0
  165. package/dist/components/text-field/TextField.css +33 -0
  166. package/dist/components/text-field/TextField.d.ts +34 -0
  167. package/dist/components/text-field/TextField.js +85 -0
  168. package/dist/components/text-field/index.d.ts +1 -0
  169. package/dist/components/text-field/index.js +7 -0
  170. package/dist/components/textarea/Textarea.d.ts +8 -13
  171. package/dist/components/textarea/Textarea.js +14 -45
  172. package/dist/components/textarea/index.d.ts +2 -1
  173. package/dist/components/textarea/index.js +4 -1
  174. package/dist/components/time-field/TimeField.css +215 -0
  175. package/dist/components/time-field/TimeField.d.ts +64 -0
  176. package/dist/components/time-field/TimeField.js +341 -0
  177. package/dist/components/time-field/index.d.ts +1 -0
  178. package/dist/components/time-field/index.js +11 -0
  179. package/dist/components/utils.d.ts +2 -2
  180. package/dist/components/utils.js +3 -17
  181. package/dist/hooks/form/index.d.ts +5 -0
  182. package/dist/hooks/form/index.js +12 -0
  183. package/dist/hooks/form/useField.d.ts +11 -0
  184. package/dist/hooks/form/useField.js +20 -0
  185. package/dist/hooks/form/useFieldError.d.ts +3 -0
  186. package/dist/hooks/form/useFieldError.js +3 -0
  187. package/dist/hooks/form/useFieldMeta.d.ts +20 -0
  188. package/dist/hooks/form/useFieldMeta.js +49 -0
  189. package/dist/hooks/form/useFieldProps.d.ts +10 -0
  190. package/dist/hooks/form/useFieldProps.js +51 -0
  191. package/dist/hooks/form/useForm.d.ts +27 -0
  192. package/dist/hooks/form/useForm.js +54 -0
  193. package/dist/hooks/form/utils.d.ts +4 -0
  194. package/dist/hooks/form/utils.js +30 -0
  195. package/dist/hooks/layout/index.d.ts +1 -0
  196. package/dist/hooks/layout/index.js +3 -0
  197. package/dist/hooks/layout/useDesktop.d.ts +1 -0
  198. package/dist/hooks/layout/useDesktop.js +17 -0
  199. package/dist/hooks/table/index.d.ts +9 -0
  200. package/dist/hooks/table/index.js +18 -0
  201. package/dist/index.d.ts +59 -7
  202. package/dist/index.js +140 -15
  203. package/dist/styles/icons/generated-icons.css +1 -1
  204. package/package.json +1 -1
  205. package/dist/components/card/CardActions.d.ts +0 -4
  206. package/dist/components/card/CardActions.js +0 -15
  207. package/dist/components/card/CardBody.d.ts +0 -4
  208. package/dist/components/card/CardBody.js +0 -15
  209. package/dist/components/card/CardImage.d.ts +0 -3
  210. package/dist/components/card/CardImage.js +0 -10
  211. package/dist/components/card/CardTitle.d.ts +0 -6
  212. package/dist/components/card/CardTitle.js +0 -13
  213. package/dist/components/card/card.css +0 -171
  214. package/dist/components/form/FormBase.d.ts +0 -8
  215. package/dist/components/form/FormBase.js +0 -74
  216. package/dist/components/form/FormDropdown.d.ts +0 -25
  217. package/dist/components/form/FormDropdown.js +0 -139
  218. package/dist/components/form/FormField.d.ts +0 -14
  219. package/dist/components/form/FormField.js +0 -78
  220. package/dist/components/form/Label.d.ts +0 -7
  221. package/dist/components/form/NumberField.d.ts +0 -20
  222. package/dist/components/form/NumberField.js +0 -109
  223. package/dist/components/form/PasswordField.d.ts +0 -16
  224. package/dist/components/form/PasswordField.js +0 -113
  225. package/dist/components/form/ValidatedForm.d.ts +0 -26
  226. package/dist/components/form/ValidatedForm.js +0 -55
  227. package/dist/components/menu/MenuDetails.d.ts +0 -8
  228. package/dist/components/menu/MenuDropdown.d.ts +0 -12
  229. package/dist/components/menu/MenuDropdown.js +0 -48
  230. package/dist/components/menu/MenuTitle.d.ts +0 -8
  231. package/dist/components/menu/MenuTitle.js +0 -22
  232. package/dist/components/menu/menu.css +0 -364
  233. package/dist/components/textarea/textarea.css +0 -191
  234. /package/dist/{components/table/hooks → hooks/table}/helpers.d.ts +0 -0
  235. /package/dist/{components/table/hooks → hooks/table}/helpers.js +0 -0
  236. /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.d.ts +0 -0
  237. /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.js +0 -0
  238. /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.d.ts +0 -0
  239. /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.js +0 -0
  240. /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.d.ts +0 -0
  241. /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.js +0 -0
  242. /package/dist/{components/table/hooks → hooks/table}/useTableModel.d.ts +0 -0
  243. /package/dist/{components/table/hooks → hooks/table}/useTableModel.js +0 -0
  244. /package/dist/{components/table/hooks → hooks/table}/useTablePagination.d.ts +0 -0
  245. /package/dist/{components/table/hooks → hooks/table}/useTablePagination.js +0 -0
  246. /package/dist/{components/table/hooks → hooks/table}/useTableSelection.d.ts +0 -0
  247. /package/dist/{components/table/hooks → hooks/table}/useTableSelection.js +0 -0
  248. /package/dist/{components/table/hooks → hooks/table}/useTableSorting.d.ts +0 -0
  249. /package/dist/{components/table/hooks → hooks/table}/useTableSorting.js +0 -0
@@ -0,0 +1 @@
1
+ export { default, Tag, TagRoot, TagRemoveButton, type TagProps, type TagRootProps, type TagRemoveButtonProps, type TagSize, type TagVariant, } from "./Tag";
@@ -0,0 +1,6 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE__Tag_js_f7333ee7__ from "./Tag.js";
2
+ var __webpack_exports__Tag = __WEBPACK_EXTERNAL_MODULE__Tag_js_f7333ee7__.Tag;
3
+ var __webpack_exports__TagRemoveButton = __WEBPACK_EXTERNAL_MODULE__Tag_js_f7333ee7__.TagRemoveButton;
4
+ var __webpack_exports__TagRoot = __WEBPACK_EXTERNAL_MODULE__Tag_js_f7333ee7__.TagRoot;
5
+ var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE__Tag_js_f7333ee7__["default"];
6
+ export { __webpack_exports__Tag as Tag, __webpack_exports__TagRemoveButton as TagRemoveButton, __webpack_exports__TagRoot as TagRoot, __webpack_exports__default as default };
@@ -0,0 +1,22 @@
1
+ @layer components {
2
+ .tag-group {
3
+ position: relative;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 0.25rem;
7
+ }
8
+
9
+ .tag-group__list {
10
+ position: relative;
11
+ display: flex;
12
+ flex-wrap: wrap;
13
+ gap: 0.375rem;
14
+ }
15
+
16
+ .tag-group [slot="description"],
17
+ .tag-group [data-slot="description"],
18
+ .tag-group [slot="errorMessage"],
19
+ .tag-group [data-slot="error-message"] {
20
+ padding: 0.25rem;
21
+ }
22
+ }
@@ -0,0 +1,32 @@
1
+ import "./TagGroup.css";
2
+ import { type Component, type JSX, type ParentComponent } from "solid-js";
3
+ import type { IComponentBaseProps } from "../types";
4
+ import type { TagSize, TagVariant } from "../tag";
5
+ import { type TagSelectionMode } from "./context";
6
+ export type TagGroupRootProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "children" | "onChange"> & IComponentBaseProps & {
7
+ children?: JSX.Element;
8
+ size?: TagSize;
9
+ variant?: TagVariant;
10
+ selectionMode?: TagSelectionMode;
11
+ selectedKeys?: Iterable<string | number>;
12
+ defaultSelectedKeys?: Iterable<string | number>;
13
+ disabledKeys?: Iterable<string | number>;
14
+ onSelectionChange?: (keys: Set<string>) => void;
15
+ onRemove?: (keys: Set<string>) => void;
16
+ isDisabled?: boolean;
17
+ disabled?: boolean;
18
+ };
19
+ export type TagGroupListProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "children"> & IComponentBaseProps & {
20
+ children?: JSX.Element | ((item: unknown) => JSX.Element);
21
+ items?: readonly unknown[];
22
+ renderEmptyState?: () => JSX.Element;
23
+ };
24
+ declare const TagGroupRoot: ParentComponent<TagGroupRootProps>;
25
+ declare const TagGroupList: Component<TagGroupListProps>;
26
+ declare const TagGroup: ParentComponent<TagGroupRootProps> & {
27
+ Root: ParentComponent<TagGroupRootProps>;
28
+ List: Component<TagGroupListProps>;
29
+ };
30
+ export default TagGroup;
31
+ export { TagGroup, TagGroupRoot, TagGroupList };
32
+ export type { TagGroupRootProps as TagGroupProps };
@@ -0,0 +1,177 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
2
+ import "./TagGroup.css";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__context_js_80e2871f__ from "./context.js";
6
+ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>");
7
+ const normalizeKeys = (keys)=>{
8
+ if (!keys) return new Set();
9
+ return new Set(Array.from(keys, (key)=>String(key)));
10
+ };
11
+ const TagGroupRoot = (props)=>{
12
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
13
+ "children",
14
+ "class",
15
+ "className",
16
+ "dataTheme",
17
+ "style",
18
+ "size",
19
+ "variant",
20
+ "selectionMode",
21
+ "selectedKeys",
22
+ "defaultSelectedKeys",
23
+ "disabledKeys",
24
+ "onSelectionChange",
25
+ "onRemove",
26
+ "isDisabled",
27
+ "disabled",
28
+ "role"
29
+ ]);
30
+ const [internalSelectedKeys, setInternalSelectedKeys] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(normalizeKeys(local.defaultSelectedKeys));
31
+ const selectionMode = ()=>local.selectionMode ?? "none";
32
+ const size = ()=>local.size ?? "md";
33
+ const variant = ()=>local.variant ?? "default";
34
+ const isControlled = ()=>void 0 !== local.selectedKeys;
35
+ const isDisabled = ()=>Boolean(local.isDisabled) || Boolean(local.disabled);
36
+ const selectedKeys = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>isControlled() ? normalizeKeys(local.selectedKeys) : internalSelectedKeys());
37
+ const disabledKeys = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>normalizeKeys(local.disabledKeys));
38
+ const allowsRemoving = ()=>"function" == typeof local.onRemove;
39
+ const updateSelection = (nextKeys)=>{
40
+ if (!isControlled()) setInternalSelectedKeys(nextKeys);
41
+ local.onSelectionChange?.(nextKeys);
42
+ };
43
+ const selectKey = (key, event)=>{
44
+ if (event.defaultPrevented || isDisabled() || disabledKeys().has(key)) return;
45
+ if ("none" === selectionMode()) return;
46
+ const current = selectedKeys();
47
+ let next;
48
+ if ("single" === selectionMode()) {
49
+ if (current.has(key) && 1 === current.size) return;
50
+ next = new Set([
51
+ key
52
+ ]);
53
+ } else {
54
+ next = new Set(current);
55
+ if (next.has(key)) next.delete(key);
56
+ else next.add(key);
57
+ }
58
+ updateSelection(next);
59
+ };
60
+ const removeKey = (key, event)=>{
61
+ if (event.defaultPrevented || isDisabled()) return;
62
+ local.onRemove?.(new Set([
63
+ key
64
+ ]));
65
+ if (selectedKeys().has(key)) {
66
+ const next = new Set(selectedKeys());
67
+ next.delete(key);
68
+ updateSelection(next);
69
+ }
70
+ };
71
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__context_js_80e2871f__.TagGroupContext.Provider, {
72
+ value: {
73
+ size,
74
+ variant,
75
+ selectionMode,
76
+ selectedKeys,
77
+ disabledKeys,
78
+ isDisabled,
79
+ allowsRemoving,
80
+ selectKey,
81
+ removeKey
82
+ },
83
+ get children () {
84
+ var _el$ = _tmpl$();
85
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
86
+ get role () {
87
+ return local.role ?? "group";
88
+ },
89
+ "data-slot": "tag-group",
90
+ get ["data-theme"] () {
91
+ return local.dataTheme;
92
+ },
93
+ get ["data-size"] () {
94
+ return size();
95
+ },
96
+ get ["data-variant"] () {
97
+ return variant();
98
+ },
99
+ get ["data-selection-mode"] () {
100
+ return selectionMode();
101
+ },
102
+ get ["data-disabled"] () {
103
+ return isDisabled() ? "true" : "false";
104
+ },
105
+ get ["aria-disabled"] () {
106
+ return isDisabled() ? "true" : void 0;
107
+ },
108
+ get ["class"] () {
109
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("tag-group", local.class, local.className);
110
+ },
111
+ get style () {
112
+ return local.style;
113
+ }
114
+ }), false, true);
115
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
116
+ return _el$;
117
+ }
118
+ });
119
+ };
120
+ const TagGroupList = (props)=>{
121
+ const group = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(__WEBPACK_EXTERNAL_MODULE__context_js_80e2871f__.TagGroupContext);
122
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
123
+ "children",
124
+ "class",
125
+ "className",
126
+ "dataTheme",
127
+ "style",
128
+ "items",
129
+ "renderEmptyState",
130
+ "role"
131
+ ]);
132
+ const renderChildren = ()=>{
133
+ if (local.items) {
134
+ if (0 === local.items.length) return local.renderEmptyState?.() ?? null;
135
+ if ("function" == typeof local.children) {
136
+ const renderItem = local.children;
137
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.For, {
138
+ get each () {
139
+ return local.items;
140
+ },
141
+ children: (item)=>renderItem(item)
142
+ });
143
+ }
144
+ return local.children ?? null;
145
+ }
146
+ return "function" == typeof local.children ? null : local.children ?? null;
147
+ };
148
+ return (()=>{
149
+ var _el$2 = _tmpl$();
150
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
151
+ get role () {
152
+ return local.role ?? (group?.selectionMode() === "none" ? "list" : "listbox");
153
+ },
154
+ get ["aria-multiselectable"] () {
155
+ return group?.selectionMode() === "multiple" ? "true" : void 0;
156
+ },
157
+ "data-slot": "tag-group-list",
158
+ get ["data-theme"] () {
159
+ return local.dataTheme;
160
+ },
161
+ get ["class"] () {
162
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("tag-group__list", local.class, local.className);
163
+ },
164
+ get style () {
165
+ return local.style;
166
+ }
167
+ }), false, true);
168
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, renderChildren);
169
+ return _el$2;
170
+ })();
171
+ };
172
+ const TagGroup_TagGroup = Object.assign(TagGroupRoot, {
173
+ Root: TagGroupRoot,
174
+ List: TagGroupList
175
+ });
176
+ const TagGroup = TagGroup_TagGroup;
177
+ export { TagGroup_TagGroup as TagGroup, TagGroupList, TagGroupRoot, TagGroup as default };
@@ -0,0 +1,15 @@
1
+ import { type Accessor } from "solid-js";
2
+ import type { TagSize, TagVariant } from "../tag";
3
+ export type TagSelectionMode = "none" | "single" | "multiple";
4
+ export type TagGroupContextValue = {
5
+ size: Accessor<TagSize>;
6
+ variant: Accessor<TagVariant>;
7
+ selectionMode: Accessor<TagSelectionMode>;
8
+ selectedKeys: Accessor<Set<string>>;
9
+ disabledKeys: Accessor<Set<string>>;
10
+ isDisabled: Accessor<boolean>;
11
+ allowsRemoving: Accessor<boolean>;
12
+ selectKey: (key: string, event: Event) => void;
13
+ removeKey: (key: string, event: Event) => void;
14
+ };
15
+ export declare const TagGroupContext: import("solid-js").Context<TagGroupContextValue | undefined>;
@@ -0,0 +1,3 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
2
+ const TagGroupContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
3
+ export { TagGroupContext };
@@ -0,0 +1,2 @@
1
+ export { default, TagGroup, TagGroupRoot, TagGroupList, type TagGroupProps, type TagGroupRootProps, type TagGroupListProps, } from "./TagGroup";
2
+ export type { TagSelectionMode } from "./context";
@@ -0,0 +1,6 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE__TagGroup_js_6bd6ff12__ from "./TagGroup.js";
2
+ var __webpack_exports__TagGroup = __WEBPACK_EXTERNAL_MODULE__TagGroup_js_6bd6ff12__.TagGroup;
3
+ var __webpack_exports__TagGroupList = __WEBPACK_EXTERNAL_MODULE__TagGroup_js_6bd6ff12__.TagGroupList;
4
+ var __webpack_exports__TagGroupRoot = __WEBPACK_EXTERNAL_MODULE__TagGroup_js_6bd6ff12__.TagGroupRoot;
5
+ var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE__TagGroup_js_6bd6ff12__["default"];
6
+ export { __webpack_exports__TagGroup as TagGroup, __webpack_exports__TagGroupList as TagGroupList, __webpack_exports__TagGroupRoot as TagGroupRoot, __webpack_exports__default as default };
@@ -0,0 +1,66 @@
1
+ @layer components {
2
+ .text {
3
+ --text-color-default: var(--color-foreground);
4
+ --text-color-muted: var(
5
+ --color-muted,
6
+ color-mix(in oklab, var(--color-base-content) 55%, transparent)
7
+ );
8
+ --text-color-success: var(--color-success);
9
+ --text-color-warning: var(--color-warning);
10
+ --text-color-danger: var(--color-danger);
11
+ --text-color: var(--text-color-default);
12
+ --text-font-size: 1rem;
13
+ --text-line-height: 1.5rem;
14
+
15
+ color: var(--text-color);
16
+ font-size: var(--text-font-size);
17
+ line-height: var(--text-line-height);
18
+ transition-property: color;
19
+ transition-duration: 200ms;
20
+ }
21
+
22
+ .text[data-size="xs"] {
23
+ --text-font-size: 0.75rem;
24
+ --text-line-height: 1rem;
25
+ }
26
+
27
+ .text[data-size="sm"] {
28
+ --text-font-size: 0.875rem;
29
+ --text-line-height: 1.25rem;
30
+ }
31
+
32
+ .text[data-size="base"] {
33
+ --text-font-size: 1rem;
34
+ --text-line-height: 1.5rem;
35
+ }
36
+
37
+ .text[data-size="lg"] {
38
+ --text-font-size: 1.125rem;
39
+ --text-line-height: 1.75rem;
40
+ }
41
+
42
+ .text[data-size="xl"] {
43
+ --text-font-size: 1.25rem;
44
+ --text-line-height: 1.75rem;
45
+ }
46
+
47
+ .text[data-variant="default"] {
48
+ --text-color: var(--text-color-default);
49
+ }
50
+
51
+ .text[data-variant="muted"] {
52
+ --text-color: var(--text-color-muted);
53
+ }
54
+
55
+ .text[data-variant="success"] {
56
+ --text-color: var(--text-color-success);
57
+ }
58
+
59
+ .text[data-variant="warning"] {
60
+ --text-color: var(--text-color-warning);
61
+ }
62
+
63
+ .text[data-variant="danger"] {
64
+ --text-color: var(--text-color-danger);
65
+ }
66
+ }
@@ -0,0 +1,17 @@
1
+ import "./Text.css";
2
+ import { type Component, type JSX } from "solid-js";
3
+ import type { IComponentBaseProps } from "../types";
4
+ export type TextSize = "xs" | "sm" | "base" | "lg" | "xl";
5
+ export type TextVariant = "default" | "muted" | "success" | "warning" | "danger";
6
+ export type TextRootProps = Omit<JSX.HTMLAttributes<HTMLSpanElement>, "color"> & IComponentBaseProps & {
7
+ size?: TextSize;
8
+ variant?: TextVariant;
9
+ children?: JSX.Element;
10
+ };
11
+ declare const TextRoot: Component<TextRootProps>;
12
+ declare const Text: Component<TextRootProps> & {
13
+ Root: Component<TextRootProps>;
14
+ };
15
+ export default Text;
16
+ export { Text, TextRoot };
17
+ export type { TextRootProps as TextProps };
@@ -0,0 +1,46 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
2
+ import "./Text.css";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
5
+ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span>");
6
+ const TextRoot = (props)=>{
7
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
8
+ "children",
9
+ "class",
10
+ "className",
11
+ "dataTheme",
12
+ "style",
13
+ "size",
14
+ "variant"
15
+ ]);
16
+ const size = ()=>local.size ?? "base";
17
+ const variant = ()=>local.variant ?? "default";
18
+ return (()=>{
19
+ var _el$ = _tmpl$();
20
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
21
+ get ["class"] () {
22
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("text", local.class, local.className);
23
+ },
24
+ "data-slot": "text",
25
+ get ["data-size"] () {
26
+ return size();
27
+ },
28
+ get ["data-variant"] () {
29
+ return variant();
30
+ },
31
+ get ["data-theme"] () {
32
+ return local.dataTheme;
33
+ },
34
+ get style () {
35
+ return local.style;
36
+ }
37
+ }), false, true);
38
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
39
+ return _el$;
40
+ })();
41
+ };
42
+ const Text = Object.assign(TextRoot, {
43
+ Root: TextRoot
44
+ });
45
+ const text_Text = Text;
46
+ export { Text, TextRoot, text_Text as default };
@@ -0,0 +1 @@
1
+ export { default, Text, TextRoot, type TextProps, type TextRootProps, type TextSize, type TextVariant, } from "./Text";
@@ -0,0 +1,5 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE__Text_js_c8b03c82__ from "./Text.js";
2
+ var __webpack_exports__Text = __WEBPACK_EXTERNAL_MODULE__Text_js_c8b03c82__.Text;
3
+ var __webpack_exports__TextRoot = __WEBPACK_EXTERNAL_MODULE__Text_js_c8b03c82__.TextRoot;
4
+ var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE__Text_js_c8b03c82__["default"];
5
+ export { __webpack_exports__Text as Text, __webpack_exports__TextRoot as TextRoot, __webpack_exports__default as default };
@@ -0,0 +1,95 @@
1
+ @layer components {
2
+ .textarea {
3
+ width: fit-content;
4
+ min-height: 2.375rem;
5
+ border-radius: var(--radius-field, 0.75rem);
6
+ border: var(--border-width-field, 1px) solid
7
+ var(--color-field-border, color-mix(in oklab, var(--color-base-content) 16%, transparent));
8
+ background-color: var(--color-field, var(--color-base-100));
9
+ padding-block: 0.5rem;
10
+ padding-inline: 0.75rem;
11
+ font-size: 0.875rem;
12
+ line-height: 1.25rem;
13
+ color: var(--color-field-foreground, var(--color-base-content));
14
+ box-shadow:
15
+ 0 1px 0 color-mix(in oklab, var(--color-base-content) 8%, transparent),
16
+ 0 1px 0 color-mix(in oklab, var(--color-base-100) 60%, transparent) inset;
17
+ outline: none;
18
+ resize: vertical;
19
+ transition:
20
+ background-color 150ms var(--ease-smooth),
21
+ border-color 150ms var(--ease-smooth),
22
+ box-shadow 150ms var(--ease-out);
23
+ }
24
+
25
+ .textarea::placeholder {
26
+ color: var(--color-field-placeholder, color-mix(in oklab, var(--color-base-content) 45%, transparent));
27
+ }
28
+
29
+ @media (prefers-reduced-motion: reduce) {
30
+ .textarea {
31
+ transition: none;
32
+ }
33
+ }
34
+
35
+ @media (hover: hover) {
36
+ .textarea:hover:not(:focus):not(:focus-visible):not([data-disabled="true"]) {
37
+ background-color: var(--color-field-hover, var(--color-base-200));
38
+ border-color: var(--color-field-border-hover, color-mix(in oklab, var(--color-base-content) 22%, transparent));
39
+ }
40
+ }
41
+
42
+ .textarea:focus,
43
+ .textarea[data-focused="true"] {
44
+ border-color: var(--color-field-border-focus, var(--color-accent));
45
+ background-color: var(--color-field-focus, var(--color-base-100));
46
+ box-shadow:
47
+ 0 0 0 3px color-mix(in oklab, var(--color-accent) 22%, transparent),
48
+ 0 1px 0 color-mix(in oklab, var(--color-accent) 24%, transparent);
49
+ }
50
+
51
+ .textarea[data-invalid="true"] {
52
+ border-color: var(--color-field-border-invalid, var(--color-danger));
53
+ background-color: var(--color-field-focus, var(--color-base-100));
54
+ box-shadow:
55
+ 0 0 0 3px color-mix(in oklab, var(--color-danger) 20%, transparent),
56
+ 0 1px 0 color-mix(in oklab, var(--color-danger) 20%, transparent);
57
+ }
58
+
59
+ .textarea[data-disabled="true"],
60
+ .textarea[aria-disabled="true"] {
61
+ cursor: not-allowed;
62
+ border-color: color-mix(in oklab, var(--color-base-content) 12%, transparent);
63
+ background-color: var(--color-base-200);
64
+ color: color-mix(in oklab, var(--color-base-content) 45%, transparent);
65
+ box-shadow: none;
66
+ opacity: var(--disabled-opacity, 0.6);
67
+ }
68
+
69
+ .textarea--primary {
70
+ }
71
+
72
+ .textarea--secondary {
73
+ box-shadow: none;
74
+ background-color: var(--textarea-bg, var(--color-default, var(--color-base-200)));
75
+ }
76
+
77
+ @media (hover: hover) {
78
+ .textarea--secondary:hover:not(:focus):not(:focus-visible):not([data-disabled="true"]) {
79
+ background-color: var(--textarea-bg-hover, var(--color-default-hover, var(--color-base-300)));
80
+ }
81
+ }
82
+
83
+ .textarea--secondary:focus,
84
+ .textarea--secondary[data-focused="true"] {
85
+ background-color: var(--textarea-bg-focus, var(--color-default, var(--color-base-200)));
86
+ }
87
+
88
+ .textarea--secondary[data-invalid="true"] {
89
+ background-color: var(--textarea-bg-focus, var(--color-default, var(--color-base-200)));
90
+ }
91
+
92
+ .textarea--full-width {
93
+ width: 100%;
94
+ }
95
+ }
@@ -0,0 +1,19 @@
1
+ import "./TextArea.css";
2
+ import { type Component, type JSX } from "solid-js";
3
+ import { type TextFieldVariant } from "../text-field";
4
+ import type { IComponentBaseProps } from "../types";
5
+ export type TextAreaVariant = TextFieldVariant;
6
+ export type TextAreaRootProps = Omit<JSX.TextareaHTMLAttributes<HTMLTextAreaElement>, "children"> & IComponentBaseProps & {
7
+ variant?: TextAreaVariant;
8
+ fullWidth?: boolean;
9
+ isInvalid?: boolean;
10
+ isDisabled?: boolean;
11
+ disabled?: boolean;
12
+ };
13
+ declare const TextAreaRoot: Component<TextAreaRootProps>;
14
+ declare const TextArea: Component<TextAreaRootProps> & {
15
+ Root: Component<TextAreaRootProps>;
16
+ };
17
+ export default TextArea;
18
+ export { TextArea, TextAreaRoot };
19
+ export type { TextAreaRootProps as TextAreaProps };
@@ -0,0 +1,64 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
2
+ import "./TextArea.css";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__text_field_index_js_54530d22__ from "../text-field/index.js";
6
+ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<textarea>");
7
+ const VARIANT_CLASS_MAP = {
8
+ primary: "textarea--primary",
9
+ secondary: "textarea--secondary"
10
+ };
11
+ const TextAreaRoot = (props)=>{
12
+ const textFieldContext = (0, __WEBPACK_EXTERNAL_MODULE__text_field_index_js_54530d22__.useTextFieldContext)();
13
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
14
+ "class",
15
+ "className",
16
+ "dataTheme",
17
+ "style",
18
+ "variant",
19
+ "fullWidth",
20
+ "isInvalid",
21
+ "isDisabled",
22
+ "disabled"
23
+ ]);
24
+ const variant = ()=>local.variant ?? textFieldContext?.variant() ?? "primary";
25
+ const fullWidth = ()=>Boolean(local.fullWidth) || Boolean(textFieldContext?.fullWidth());
26
+ const isInvalid = ()=>Boolean(local.isInvalid);
27
+ const isDisabled = ()=>Boolean(local.isDisabled) || Boolean(local.disabled);
28
+ return (()=>{
29
+ var _el$ = _tmpl$();
30
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
31
+ get ["class"] () {
32
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("textarea", VARIANT_CLASS_MAP[variant()], fullWidth() && "textarea--full-width", local.class, local.className);
33
+ },
34
+ "data-slot": "textarea",
35
+ get ["data-invalid"] () {
36
+ return isInvalid() ? "true" : void 0;
37
+ },
38
+ get ["data-disabled"] () {
39
+ return isDisabled() ? "true" : void 0;
40
+ },
41
+ get ["aria-invalid"] () {
42
+ return isInvalid() ? "true" : void 0;
43
+ },
44
+ get ["aria-disabled"] () {
45
+ return isDisabled() ? "true" : void 0;
46
+ },
47
+ get ["data-theme"] () {
48
+ return local.dataTheme;
49
+ },
50
+ get style () {
51
+ return local.style;
52
+ },
53
+ get disabled () {
54
+ return isDisabled();
55
+ }
56
+ }), false, false);
57
+ return _el$;
58
+ })();
59
+ };
60
+ const TextArea_TextArea = Object.assign(TextAreaRoot, {
61
+ Root: TextAreaRoot
62
+ });
63
+ const TextArea = TextArea_TextArea;
64
+ export { TextArea_TextArea as TextArea, TextAreaRoot, TextArea as default };
@@ -0,0 +1 @@
1
+ export { default, TextArea, TextAreaRoot, type TextAreaProps, type TextAreaRootProps, type TextAreaVariant, } from "./TextArea";
@@ -0,0 +1,5 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE__TextArea_js_245f5324__ from "./TextArea.js";
2
+ var __webpack_exports__TextArea = __WEBPACK_EXTERNAL_MODULE__TextArea_js_245f5324__.TextArea;
3
+ var __webpack_exports__TextAreaRoot = __WEBPACK_EXTERNAL_MODULE__TextArea_js_245f5324__.TextAreaRoot;
4
+ var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE__TextArea_js_245f5324__["default"];
5
+ export { __webpack_exports__TextArea as TextArea, __webpack_exports__TextAreaRoot as TextAreaRoot, __webpack_exports__default as default };
@@ -0,0 +1,33 @@
1
+ @layer components {
2
+ .text-field {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 0.25rem;
6
+ }
7
+
8
+ .text-field[data-invalid="true"] [data-slot="description"],
9
+ .text-field[aria-invalid="true"] [data-slot="description"] {
10
+ display: none;
11
+ }
12
+
13
+ .text-field [data-slot="description"] {
14
+ padding-inline: 0.25rem;
15
+ }
16
+
17
+ .text-field--full-width {
18
+ width: 100%;
19
+ }
20
+
21
+ .text-field--full-width [data-slot="input"],
22
+ .text-field--full-width [data-slot="textarea"],
23
+ .text-field--full-width [data-slot="input-group"],
24
+ .text-field--full-width [data-slot="date-input-group"] {
25
+ width: 100%;
26
+ }
27
+
28
+ .text-field--primary {
29
+ }
30
+
31
+ .text-field--secondary {
32
+ }
33
+ }